# HG changeset patch # User John W. Eaton # Date 1307730942 14400 # Node ID b67c2d580a25dcd315a70b9101928a06d6f66ec9 # Parent 10f6727fbaa8aacded33f52c24eb2d2891586772 maint: clean up top-level directory * build-aux/bootstrap: Rename from bootstrap. * build-aux/bootstrap.conf: Rename from bootstrap.conf. * build-aux/changelog.tmpl: Rename from changelog.tmpl. * build-aux/bootstrap.conf: Update for new file locations. * build-aux/common.mk: Rename from common.mk. * build-aux/diff-template: Rename from diff-template. * build-aux/mk-opts.pl: Rename from mk-opts.pl. * build-aux/mkinstalldirs: Rename from mkinstalldirs. * build-aux/move-if-change: Rename from move-if-change. * etc/CHECKLIST: Rename from CHECKLIST. * etc/HACKING: Rename from HACKING. * etc/NEWS.1: Rename from NEWS.1. * etc/NEWS.2: Rename from NEWS.2. * etc/NEWS.3: Rename from NEWS.3. * etc/OLD-ChangeLogs/ChangeLog: Rename from OLD-ChangeLogs/ChangeLog. * etc/OLD-ChangeLogs/ChangeLog.1: Rename from OLD-ChangeLogs/ChangeLog.1. * etc/OLD-ChangeLogs/doc-ChangeLog: Rename from OLD-ChangeLogs/doc-ChangeLog. * etc/OLD-ChangeLogs/libcruft-ChangeLog: Rename from OLD-ChangeLogs/libcruft-ChangeLog. * etc/OLD-ChangeLogs/liboctave-ChangeLog: Rename from OLD-ChangeLogs/liboctave-ChangeLog. * etc/OLD-ChangeLogs/scripts-ChangeLog: Rename from OLD-ChangeLogs/scripts-ChangeLog. * etc/OLD-ChangeLogs/src-ChangeLog: Rename from OLD-ChangeLogs/src-ChangeLog. * etc/OLD-ChangeLogs/test-ChangeLog: Rename from OLD-ChangeLogs/test-ChangeLog. * etc/PROJECTS: Rename from PROJECTS. * etc/README.Cygwin: Rename from README.Cygwin. * etc/README.Linux: Rename from README.Linux. * etc/README.MacOS: Rename from README.MacOS. * etc/README.MinGW: Rename from README.MinGW. * etc/README.Windows: Rename from README.Windows. * etc/README.devel: Rename from README.devel. * etc/README.ftp: Rename from README.ftp. * etc/README.gnuplot: Rename from README.gnuplot. * etc/README.kpathsea: Rename from README.kpathsea. * etc/README.mirrors: Rename from README.mirrors. * etc/README.snapshots: Rename from README.snapshots. * etc/gdbinit: Rename from gdbinit. * m4/acinclude.m4: Rename from acinclude.m4. * src/mkoctfile.cc.in: Rename from mkoctfile.cc.in. * src/mkoctfile.in: Rename from mkoctfile.in. * src/octave-config.cc.in: Rename from octave-config.cc.in. * src/octave-config.in: Rename from octave-config.in. * config.guess, config.sub, missing, octave-sh: Delete. * Makefile.am: Include build-aux/common.mk instead of common.mk. * examples/Makefile.am, libcruft/Makefile.am, liboctave/Makefile.am, liboctave/config-ops.sh, scripts/Makefile.am, src/DLD-FUNCTIONS/config-module.sh, test/Makefile.am, autogen.sh, doc/Makefile.am, doc/faq/Makefile.am, doc/icons/Makefile.am, doc/interpreter/Makefile.am, doc/interpreter/config-images.sh, doc/liboctave/Makefile.am, doc/refcard/Makefile.am, build-aux/common.mk, src/Makefile.am: Update for new file locations. * Makefile.am: Don't build mkoctfile or octave-config here. * README: Update INSTALL info. * build-aux/mkinstalldirs: Update to new version. * src/Makefile.am (mkoctfile, octave-config): New targets. diff -r 10f6727fbaa8 -r b67c2d580a25 CHECKLIST --- a/CHECKLIST Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -Things to do before making a release: - - * Ask testers for the type(s) of machines they are using. - - * Update the version number in src/version.h. - - * Update the version number in doc/refcard/refcard.tex. - - * Add a `Version M.N.P released.' line to the ChangeLog. - - * Update the NEWS file. - - * Check the README file. - - * Run autoconf, autoheader, and configure before making tar files. - - * Update the NEWS and README.octave files in the anonymous ftp - directory. diff -r 10f6727fbaa8 -r b67c2d580a25 HACKING --- a/HACKING Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,215 +0,0 @@ --*- outline -*- - -This file attempts to describe the rules to use when hacking Octave. -DO NOT put this file into the distribution. - -* Working from the repository - -These notes are intended to help people working on sources checked-out from -the savannah source code repository. -These requirements do not apply when building from a distribution -tarball. - -** Requirements - -We've opted to keep only the highest-level sources in the repository. -This eases our maintenance burden, (fewer merges, etc.), but imposes -more requirements on anyone wishing to build from the just-checked-out -sources. For example, you have to use the latest stable versions of -the maintainer tools we depend upon, including: - - - Autoconf - - Automake - - Bison - - Flex - - Git - - Gnulib - - GNU Make - - Gzip - - Libtool - - Mercurial - - Perl - - Rsync - - Tar - -Only building the initial full source tree will be a bit painful. -Later, after synchronizing from the repository, a plain `make' should -be sufficient. - -** First checkout - -Obviously, if you are reading these notes, you did manage to check out -this package from the repository. For the record, you will find all the -relevant information on downloading sources at: - - http://www.gnu.org/software/octave/download.html - -After checking out Octave, you will need to run the autogen.sh script: - - $ ./autogen.sh - -This script will examine the source tree and generate some Makefile -fragments and then runs the bootstrap script. The bootstrap script comes -from gnulib, but is kept in the Octave source archive. It should be -updated from the gnulib sources as necssary. The bootstrap script takes -care of checking out a copy of gnulib, running the autotools, and -generating the configure script. - -If you have a copy of gnulib in some directory apart from the Octave -source tree, then pass the name of the directory containing gnulib-tool -to the bootstrap script using the option: - - --gnulib-srcdir=DIRNAME - -If you have downloaded gnulib directly, DIRNAME will be the directory where -gnulib was unpacked. If you have installed gnulib using a package -manager, DIRNAME is likely to be /usr/bin or /usr/local/bin(where the -gnulib-tool script resides). - -By using an external gnulib directory, you can share a single gnulib source -tree among several projects. Regardless of the location of the gnulib -sources, the bootstrap script will try to update them if it appears -that they are checked out using git. Otherwise, it is your -responsibility to keep the gnulib sources up to date. They change -frequently, so the best way to stay current is probably to use git to -do the job. - -Additional options besides --gnulib-srcdir can be passed to autogen.sh and -they will be forwarded without modification to the bootstrap script. - -Once the autogen.sh and bootstrap scripts complete successfully, you may -run - - $ ./configure - $ make - $ make check - -At this point, there should be no difference between your local copy, -and the master copy: - - $ hg diff - -should output no difference. - -** Coding style - -The most important advice is to follow any conventions you detect in the -file being edited. In addition, Octave maintainers have written a lot -on the subject. See "Appendix C: Tips and Standards" and -"Appendix D: Contributing Guidelines" in the PDF documentation. - -* Bugs and patches - -See the file BUGS in this directory for more guidance on reporting bugs -and preparing patches. - -* Code layout - -An overview of the directory layout of Octave's source files: - - doc -- Texinfo documentation for Octave - - examples -- some example files - - libcruft -- various numerical libraries (mostly Fortran) - amos * bessel functions - blas-xtra * wrappers for blas functions used in Octave - daspk * large scale differential algebraic equation solver - dasrt * differential algebraic equation solver with root finding - dassl * differential-algebraic system solver - fftpack * subroutines for fast fourier transforms - lapack-xtra * wrappers for lapack functions used in Octave - misc * miscellaneous utilities - odepack * odinary differential equation solver - ordered-qz * code for ordering eigenvalues for QZ factorization - quadpack * subroutines for numerical integration - ranlib * random number generators - slatec-err * slatec error handling library - slatec-fn * various special function subroutines - - liboctave -- the C++ interfaces to the numerical libraries and - various OS facilities - - scripts -- functions written in the Octave language - audio * play and record sound files (system dependent) - deprecated * older deprecated functions - elfun * elementary mathematical functions - @ftp * ftp object class - general * utility functions - geometry * geometry algorithms - image * image processing - help * help subsystem functions - io * input/output functions - linear-algebra * linear algebra stuff - miscellaneous * stuff that doesn't fit anywhere else - optimization * zero finders and minimizers - path * functions for path manipulation - pkg * the package manager - plot * plotting functions - polynomial * polynomial manipulation - set * set manipulation - signal * signal processing - sparse * sparse matrix support - specfun * special mathematical functions - special-matrix * functions for generating special types of matrices - startup * initialization functions - statistics * statistical functions, distributions, and tests - strings * character string manipulation - testfun * unit testing - time * time and date functions - - src -- the interpreter itself - - test -- tests for the interpreter - test_*.m * fixed tests for the interpreter - fntests.m * script to run function tests embedded in C++ and .m files - - ----- -John W. Eaton -jwe@octave.org - - -Last updated: Sat Jan 22 22:00:25 PST 2011 - -################################################################################ - -Copyright (C) 2009,2011 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 -. - - -This file was adapted for Octave from the HACKING file that is part of -GNU Bison, which contained the following Copyright notice: - - Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 - Free Software Foundation, Inc. - - This file is part of GNU Bison. - - This program 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. - - This program 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 this program. If not, see . diff -r 10f6727fbaa8 -r b67c2d580a25 Makefile.am --- a/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include common.mk +include build-aux/common.mk ## Avoid making multiple subdirs in parallel which can lead ## to a confusing error message stream @@ -36,39 +36,33 @@ INSTALL \ INSTALL.OCTAVE \ NEWS \ - NEWS.1 \ - NEWS.2 \ - NEWS.3 \ - OLD-ChangeLogs/ChangeLog \ - OLD-ChangeLogs/ChangeLog.1 \ - OLD-ChangeLogs/doc-ChangeLog \ - OLD-ChangeLogs/libcruft-ChangeLog \ - OLD-ChangeLogs/liboctave-ChangeLog \ - OLD-ChangeLogs/scripts-ChangeLog \ - OLD-ChangeLogs/src-ChangeLog \ - OLD-ChangeLogs/test-ChangeLog \ - PROJECTS \ README \ - README.Cygwin \ - README.gnuplot \ - README.Linux \ - README.MacOS \ - README.MinGW \ - README.Windows \ - README.kpathsea \ autogen.sh \ - bootstrap \ - bootstrap.conf \ - gdbinit \ - missing \ - mk-opts.pl \ - mkinstalldirs \ - mkoctfile.cc.in \ - mkoctfile.in \ - move-if-change \ - octave-config.cc.in \ - octave-config.in \ - octave-sh \ + build-aux/bootstrap \ + build-aux/bootstrap.conf \ + build-aux/mk-opts.pl \ + build-aux/mkinstalldirs \ + build-aux/move-if-change \ + etc/NEWS.1 \ + etc/NEWS.2 \ + etc/NEWS.3 \ + etc/OLD-ChangeLogs/ChangeLog \ + etc/OLD-ChangeLogs/ChangeLog.1 \ + etc/OLD-ChangeLogs/doc-ChangeLog \ + etc/OLD-ChangeLogs/libcruft-ChangeLog \ + etc/OLD-ChangeLogs/liboctave-ChangeLog \ + etc/OLD-ChangeLogs/scripts-ChangeLog \ + etc/OLD-ChangeLogs/src-ChangeLog \ + etc/OLD-ChangeLogs/test-ChangeLog \ + etc/PROJECTS \ + etc/README.Cygwin \ + etc/README.Linux \ + etc/README.MacOS \ + etc/README.MinGW \ + etc/README.Windows \ + etc/README.gnuplot \ + etc/README.kpathsea \ + etc/gdbinit \ run-octave.in include m4/module.mk @@ -82,30 +76,7 @@ echo "Documentation disabled. Cannot package distribution!" ; exit 1; endif -if AMCOND_BUILD_COMPILED_AUX_PROGRAMS -bin_PROGRAMS = \ - mkoctfile \ - octave-config - -mkoctfile_SOURCES = -nodist_mkoctfile_SOURCES = mkoctfile.cc - -octave_config_SOURCES = -nodist_octave_config_SOURCES = octave-config.cc - -BUILT_SOURCES = \ - mkoctfile.cc \ - octave-config.cc \ - run-octave - -else -bin_SCRIPTS = \ - mkoctfile \ - octave-config - -BUILT_SOURCES = \ - run-octave -endif +BUILT_SOURCES = run-octave noinst_SCRIPTS = run-octave @@ -134,27 +105,11 @@ check: all $(MAKE) -C test check -if AMCOND_BUILD_COMPILED_AUX_PROGRAMS -octave-config.cc: octave-config.cc.in Makefile - @$(do_subst_default_vals) - -mkoctfile.cc: mkoctfile.cc.in Makefile - @$(do_subst_config_vals) -else -octave-config: octave-config.in Makefile - @$(do_subst_default_vals) - chmod a+rx $@ - -mkoctfile: mkoctfile.in Makefile - @$(do_subst_config_vals) - chmod a+rx $@ -endif - run-octave: run-octave.in Makefile @$(do_subst_script_vals) chmod a+rx "$@" -.gdbinit: gdbinit +.gdbinit: etc/gdbinit if [ -f .gdbinit ]; then \ echo "refusing to overwrite .gdbinit with newer version from $<" 1>&2; \ else \ @@ -166,7 +121,7 @@ .PHONY: AUTHORS BUGS INSTALL.OCTAVE ChangeLog: - (cd $(srcdir); hg log --style=changelog.tmpl --prune=b0e60ad4ae26 --only-branch=`hg branch`; echo ""; echo "See the files in the directory OLD-ChangeLogs for changes before 2011-04-19") > $@.t + (cd $(srcdir); hg log --style=changelog.tmpl --prune=b0e60ad4ae26 --only-branch=`hg branch`; echo ""; echo "See the files in the directory etc/OLD-ChangeLogs for changes before 2011-04-19") > $@.t mv $@.t $@ .PHONY: ChangeLog diff -r 10f6727fbaa8 -r b67c2d580a25 NEWS.1 --- a/NEWS.1 Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1602 +0,0 @@ -Summary of changes for version 1.1.1: ------------------------------------- - - * New built-in variables, default_return_value and - define_all_return_values. - - If define_all_return_values is set to "false", Octave does not do - anything special for return values that are left undefined, and - you will get an error message if you try to use them. For - example, if the function - - function [x, y] = f () - y = 1; - endfunction - - is called as - - octave:13> [a, b] = f () - - Octave will print an error message for the attempt to assign an - undefined value to `a'. - - This is incompatible with Matlab, which will define the return - variable `x' to be the empty matrix. To get the Matlab-like - behavior, you can set the variable define_all_return_values to - "true" (the default is "false") and default_return_value to `[]' - (the default). Then, any return values that remain undefined when - the function returns will be initialized to `[]'. - - If the function is called without explicitly asking for an output, - it will succeed. This behavior is compatible and unchanged from - previous versions of Octave. - - * New built-in variable suppress_verbose_help_message. If set to - "true", Octave will not add additional help information to the end - of the output from the help command and usage messages for - built-in commands. The default value is "false". - - * New built-in variable PS4 is used as the prefix of echoed input - (enabled with the --echo-input (-x) option). - - * The function size() now accepts an optional second argument. - - * Output from `save - ...' now goes through the pager. - - * The break statement may also be used to exit a function, for - compatibility with Matlab. - - * The directory tree for installing Octave is now closer to - conforming with the current GNU standards. - - * More bug fixes. - -Summary of changes for version 1.1.0: ------------------------------------- - - * Octave now requires g++ 2.6.3 or later. This change is necessary - to make template instantiations cleaner, and to avoid having to - have special cases in the code for earlier versions of gcc. - - * A new data structure type has been added. The implementation uses - an associative array with indices limited to strings, but the - syntax is more like C-style structures. here are some examples of - using it. - - Elements of structures can be of any type, including structures: - - octave:1> x.a = 1; - octave:2> x.b = [1, 2; 3, 4]; - octave:3> x.c = "string"; - octave:4> x - x = - - - - octave:5> x.a - x.a = 1 - octave:6> x.b - x.b = - - 1 2 - 3 4 - - octave:7> x.c - x.c = string - octave:8> x.b.d = 3 - x.b.d = 3 - octave:9> x.b - x.b = - - - - octave:10> x.b.d - x.b.d = 3 - - Functions can return structures: - - octave:1> a = rand (3) + rand (3) * I; - octave:2> function y = f (x) - > y.re = real (x); - > y.im = imag (x); - > endfunction - octave:3> f (a) - ans = - - - - octave:4> ans.im - ans.im = - - 0.093411 0.229690 0.627585 - 0.415128 0.221706 0.850341 - 0.894990 0.343265 0.384018 - - octave:5> ans.re - ans.re = - - 0.56234 0.14797 0.26416 - 0.72120 0.62691 0.20910 - 0.89211 0.25175 0.21081 - - Return lists can include structure elements: - - octave:1> [x.u, x.s, x.v] = svd ([1, 2; 3, 4]) - x.u = - - -0.40455 -0.91451 - -0.91451 0.40455 - - x.s = - - 5.46499 0.00000 - 0.00000 0.36597 - - x.v = - - -0.57605 0.81742 - -0.81742 -0.57605 - - octave:8> x - x = - - - - This feature should be considered experimental, but it seems to - work OK. Suggestions for ways to improve it are welcome. - - * Octave now supports a limited form of exception handling modeled - after the unwind-protect form of Lisp: - - unwind_protect - BODY - unwind_protect_cleanup - CLEANUP - end_unwind_protect - - Where BODY and CLEANUP are both optional and may contain any - Octave expressions or commands. The statements in CLEANUP are - guaranteed to be executed regardless of how control exits BODY. - - This is useful to protect temporary changes to global variables - from possible errors. For example, the following code will always - restore the original value of the built-in variable - do_fortran_indexing even if an error occurs while performing the - indexing operation. - - save_do_fortran_indexing = do_fortran_indexing; - unwind_protect - do_fortran_indexing = "true"; - elt = a (idx) - unwind_protect_cleanup - do_fortran_indexing = save_do_fortran_indexing; - end_unwind_protect - - Without unwind_protect, the value of do_fortran_indexing would not - be restored if an error occurs while performing the indexing - operation because evaluation would stop at the point of the error - and the statement to restore the value would not be executed. - - * Recursive directory searching has been implemented using Karl - Berry's kpathsea library. Directories below path elements that - end in // are searched recursively for .m files. - - * Octave now waits for additional input when a pair of parentheses - is `open' instead of giving an error. This allows one to write - statements like this - - if (big_long_variable_name == other_long_variable_name - || not_so_short_variable_name > 4 - && y > x) - some (code, here); - - without having to clutter up the if statement with continuation - characters. - - * Continuation lines are now allowed in string constants and are - handled correctly inside matrix constants. - - * Both `...{whitespace}\n' and `\{whitespace}\n' can be used to - introduce continuation lines, where {whitespace} may include - spaces, tabs and comments. - - * The script directory has been split up by topic. - - * Dynamic linking mostly works with dld. The following limitations - are known problems: - - -- Clearing dynamically linked functions doesn't work. - - -- Dynamic linking only works with dld, which has not been ported - to very many systems yet. - - -- Configuring with --enable-lite-kernel seems to mostly work to - make nonessential built-in functions dynamically loaded, but - there also seem to be some problems. For example, fsolve seems - to always return info == 3. This is difficult to debug since - GDB doesn't appear to allow breakpoints to be set inside - dynamically loaded functions. - - -- Octave uses a lot of memory if the dynamically linked functions - are compiled with -g. This appears to be a limitation with - dld, and can be avoided by not using -g to compile functions - that will be linked dynamically. - - * fft2 and ifft2 are now built-in functions. - - * The `&&' and `||' logical operators are now evaluated in a - short-circuit fashion and work differently than the element by - element operators `&' and `|'. See the Octave manual for more - details. - - * Expressions like 1./m are now parsed as 1 ./ m, not 1. / m. - - * The replot command now takes the same arguments as gplot or - gsplot (except ranges, which cannot be respecified with replot - (yet)) so you can add additional lines to existing plots. - - * The hold command has been implemented. - - * New function `clearplot' clears the plot window. The name `clg' - is aliased to `clearplot' for compatibility with Matlab. - - * The commands `gplot clear' and `gsplot clear' are equivalent to - `clearplot'. (Previously, `gplot clear' would evaluate `clear' as - an ordinary expression and clear all the visible variables.) - - * The Matlab-style plotting commands have been improved. They now - accept line-style arguments, multiple x-y pairs, and other plot - option flags. For example, - - plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+") - - results in a plot with - - y plotted with points of type 2 ("+") and color 1 (red). - y2 plotted with lines. - y3 plotted with lines of color 4. - y4 plotted with points which are "+"s. - - the help message for `plot' and `plot_opt' provide full - descriptions of the options. - - * NaN is now dropped from plot data, and Inf is converted to a - very large value before calling gnuplot. - - * Improved load and save commands: - - -- The save and load commands can now read and write a new binary - file format. Conversion to and from IEEE big and little endian - formats is handled automatically. Conversion for other formats - has not yet been implemented. - - -- The load command can now read Matlab .mat files, though it is - not yet able to read sparse matrices or handle conversion for - all data formats. - - -- The save command can write Matlab .mat files. - - -- The load command automatically determines the save format - (binary, ascii, or Matlab binary). - - -- The default format for the save command is taken from the - built-in variable `default_save_format'. - - -- The save and load commands now both accept a list of globbing - patterns so you can easily load a list of variables from a - file. - - -- The load command now accepts the option -list, for listing the - variable names without actually loading the data. With - -verbose, it prints a long listing. - - -- The load command now accepts the option -float-binary, for - saving floating point data in binary files in single precision. - - * who and whos now accept a list of globbing patterns so you can - limit the lists of variables and functions to those that match a - given set of patterns. - - * New functions for manipulating polynomials - - compan -- companion matrix corresponding to polynomial coefficients - conv -- convolve two vectors - deconv -- deconvolve two vectors - roots -- find the roots of a polynomial - poly -- characteristic polynomial of a matrix - polyderiv -- differentiate a polynomial - polyinteg -- integrate a polynomial - polyreduce -- reduce a polynomial to minimum number of terms - polyval -- evaluate a polynomial at a point - polyvalm -- evaluate a polynomial in the matrix sense - residue -- partial fraction expansion corresponding to the ratio - of two polynomials - - * New functions for manipulating sets - - create_set -- create a set of unique values - complement -- find the complement of two sets - intersection -- find the intersection of two sets - union -- find the union of two sets - - * New elementary functions: - - acot acoth acsc acsch - asec asech cot coth - csc csch log2 sec - sech - - * New special functions: - - beta -- beta function - betai -- incomplete beta function - gammai -- incomplete gamma function - - * New image processing functions: - - colormap -- set and return current colormap - gray -- set a gray colormap - gray2ind -- image format conversion - image -- display an image - imagesc -- scale and display an image - imshow -- display images - ind2gray -- image format conversion - ind2rgb -- image format conversion - loadimage -- load an image from a file - ntsc2rgb -- image format conversion - ocean -- set a color colormap - rgb2ind -- image format conversion - rgb2ntsc -- image format conversion - saveimage -- save an image to a file - - * New time and date functions: - - tic -- set wall-clock timer - toc -- get elapsed wall-clock time, since timer last set - etime -- another way to get elapsed wall-clock time - cputime -- get CPU time used since Octave started - is_leap_year -- is the given year a leap year? - - * Other new functions: - - bug_report -- submit a bug report to the bug-octave mailing list - - toascii -- convert a string to a matrix of ASCII character codes - - octave_tmp_file -- generate a unique temporary file name - - undo_string_escapes -- replace special characters in a string by - their backslash forms - - is_struct -- determine whether something is a structure data type - - feof -- check EOF condition for a specified file - ferror -- check error state for a specified file - fread -- read binary data from a file - fwrite -- write binary data to a file - - file_in_path -- check to see if named file exists in given path - - kbhit -- get a single character from the terminal - - axis -- change plot ranges - hist -- plot histograms - - diary -- save commands and output to a file - - type -- show the definition of a function - which -- print the type of an identifier or the location of a - function file - - isieee -- Returns 1 if host uses IEEE floating point - realmax -- Returns largest floating point number - realmin -- Returns smallest floating point number - - gcd -- greatest common divisor - lcm -- least common multiple - - null -- orthonormal basis of the null space of a matrix - orth -- orthonormal basis of the range space of a matrix - - fft2 -- two-dimensional fast fourier transform - ifft2 -- two-dimensional inverse fast fourier transform - filter -- digital filter - fftfilt -- filter using fft - fftconv -- convolve to vectors using fft - sinc -- returns sin(pi*x)/(pi*x) - freqz -- compute the frequency response of a filter - - * The meaning of nargin (== args.length ()) in built-in functions - has been changed to match the meaning of nargin in user-defined - functions. - - * Variable return lists. Octave now has a real mechanism for - handling functions that return an unspecified number of values, - so it is no longer necessary to place an upper bound on the number - of outputs that a function can produce. - - Here is an example of a function that uses the new syntax to - produce n values: - - function [...] = foo (n) - for i = 1:n - vr_val (i * x); - endfor - endfunction - - * New keyword, all_va_args, that allows the entire list of va_args - to be passed to another function. For example, given the functions - - function f (...) - while (nargin--) - disp (va_arg ()) - endwhile - endfunction - function g (...) - f ("begin", all_va_args, "end") - endfunction - - the statement - - g (1, 2, 3) - - prints - - begin - 1 - 2 - 3 - end - - all_va_args may be used more than once, but can only be used - within functions that take a variable number of arguments. - - * If given a second argument, svd now returns an economy-sized - decomposition, eliminating the unnecessary rows or columns of U or - V. - - * The max and min functions correctly handle complex matrices in - which some columns contain real values only. - - * The find function now handles 2 and 3 output arguments. - - * The qr function now allows computation of QR with pivoting. - - * hilb() is much faster for large matrices. - - * computer() is now a built-in function. - - * pinv() is now a built-in function. - - * The output from the history command now goes through the pager. - - * If a function is called without assigning the result, nargout is - now correctly set to 0. - - * It is now possible to write functions that only set some return - values. For example, calling the function - - function [x, y, z] = f () x = 1; z = 2; endfunction - - as - - [a, b, c] = f () - - produces: - - a = 1 - - b = [](0x0) - - c = 2 - - * The shell_cmd function has been renamed to system (the name - shell_cmd remains for compatibility). It now returns [output, status]. - - * New built-in variable `OCTAVE_VERSION'. Also a new function, - version, for compatibility with Matlab. - - * New built-in variable `automatic_replot'. If it is "true", Octave - will automatically send a replot command to gnuplot each time the - plot changes. Since this is fairly inefficient, the default value - is "false". - - * New built-in variable `whitespace_in_literal_matrix' allows some - control over how Octave decides to convert spaces to commas in - matrix expressions like `[m (1)]'. - - If the value of `whitespace_in_literal_matrix' is "ignore", Octave - will never insert a comma or a semicolon in a literal matrix list. - For example, the expression `[1 2]' will result in an error - instead of being treated the same as `[1, 2]', and the expression - - [ 1, 2, - 3, 4 ] - - will result in the vector [1 2 3 4] instead of a matrix. - - If the value of `whitespace_in_literal_matrix' is "traditional", - Octave will convert spaces to a comma between identifiers and `('. - For example, given the matrix - - m = [3 2] - - the expression - - [m (1)] - - will be parsed as - - [m, (1)] - - and will result in - - [3 2 1] - - and the expression - - [ 1, 2, - 3, 4 ] - - will result in a matrix because the newline character is converted - to a semicolon (row separator) even though there is a comma at the - end of the first line (trailing commas or semicolons are ignored). - This is apparently how Matlab behaves. - - Any other value for `whitespace_in_literal_matrix' results in - behavior that is the same as traditional, except that Octave does - not convert spaces to a comma between identifiers and `('. - For example, the expression - - [m (1)] - - will produce 3. This is the way Octave has always behaved. - - * Line numbers in error messages for functions defined in files and - for script files now correspond to the file line number, not the - number of lines after the function keyword appeared. - - * Octave now extracts help from script files. The comments must - come before any other statements in the file. - - * In function files, the first block of comments in the file will - now be interpreted as the help text if it doesn't look like the - Octave copyright notice. Otherwise, Octave extracts the first set - of comments after the function keyword. - - * The function clock is more accurate on systems that have the - gettimeofday() function. - - * The standard output stream is now automatically flushed before - reading from stdin with any of the *scanf() functions. - - * Expanded reference card. - - * The Octave distribution now includes a frequently asked questions - file, with answers. Better answers and more questions (with - answers!) are welcome. - - * New option --verbose. If Octave is invoked with --verbose and not - --silent, a message is printed if an octaverc file is read while - Octave is starting. - - * An improved configure script generated by Autoconf 2.0. - - * Lots of bug fixes. - -Summary of changes for version 1.0: ----------------------------------- - - * C-style I/O functions now handle files referenced by name or by - number more consistently. - -Summary of changes for version 0.83: ------------------------------------ - - * Loading global symbols should work now. - - * Clearing the screen doesn't reprint the prompt unnecessarily. - - * The operations OP for OP == +, -, - *, or ./ no longer crash Octave. - - * More portability and configuration fixes. - -Summary of changes for version 0.82: ------------------------------------ - - * Octave now comes with a reference card. - - * The manual has been improved, but more work remains to be done. - - * The atanh function now works for complex arguments. - - * The asin, acos, acosh, and atanh functions now work properly when - given real-valued arguments that produce complex results. - - * SEEK_SET, SEEK_CUR, and SEEK_END are now constants. - - * The `using' qualifier now works with gplot and gsplot when the - data to plot is coming directly from a file. - - * The strcmp function now works correctly for empty strings. - - * Eliminated bogus parse error for M-files that don't end with `end' - or `endfunction'. - - * For empty matrices with one nonzero dimension, the +, -, .*, and - ./ operators now correctly preserve the dimension. - - * Octave no longer crashes if you type ^D at the beginning of a line - in the middle of defining a loop or if statement. - - * On AIX systems, Back off on indexing DiagArray via Proxy class to - avoid gcc (or possibly AIX assembler?) bug. - - * Various other bug and portability fixes. - -Summary of changes for version 0.81: ------------------------------------ - - * Octave no longer dumps core if you try to define a function in - your .octaverc file. - - * Fixed bug in Array class that resulted in bogus off-diagonal - elements when computing eigenvalue and singular value - decompositions. - - * Fixed bug that prevented lsode from working on the SPARCstation, - at least with some versions of Sun's f77. This bug was introduced - in 0.80, when I changed LSODE to allow the user to abort the - integration from within the RHS function. - - * Fixed bug that prevented global attribute of variables from being - saved with save(), and another that prevented load() from working - at all. - -Summary of changes for version 0.80: ------------------------------------ - - * I have started working on a manual for the C++ classes. At this - point, it is little more than a list of function names. If you - would like to volunteer to help work on this, please contact - maintainers@octave.org. - - * The patterns accepted by the save and clear commands now work like - file name globbing patterns instead of regular expressions. I - apologize for any inconvenience this change may cause, but file - name globbing seems like a more reasonable style of pattern - matching for this purpose. - - * It is now possible to specify tolerances and other optional inputs - for dassl, fsolve, lsode, npsol, qpsol, and quad. For each of - these functions, there is a corresponding function X_options, - which takes a keyword and value arguments. If invoked without any - arguments, the X_options functions print a list of possible - keywords and current values. For example, - - npsol_options () - - prints a list of possible options with values, and - - npsol_options ("major print level", 10) - - sets the major print level to 10. - - The keyword match is not case sensitive, and the keywords may be - abbreviated to the shortest unique match. For example, - - npsol_options ("ma p", 10) - - is equivalent to the statement shown above. - - * The new built-in variable save_precision can be used to set the - number of digits preserved by the ASCII save command. - - * Assignment of [] now works in most cases to allow you to delete - rows or columns of matrices and vectors. For example, given a - 4x5 matrix A, the assignment - - A (3, :) = [] - - deletes the third row of A, and the assignment - - A (:, 1:2:5) = [] - - deletes the first, third, and fifth columns. - - * Variable argument lists. Octave now has a real mechanism for - handling functions that take an unspecified number of arguments, - so it is no longer necessary to place an upper bound on the number - of optional arguments that a function can accept. - - Here is an example of a function that uses the new syntax to print - a header followed by an unspecified number of values: - - function foo (heading, ...) - disp (heading); - va_start (); - while (--nargin) - disp (va_arg ()); - endwhile - endfunction - - Note that the argument list must contain at least one named - argument (this restriction may eventually be removed), and the - ellipsis must appear as the last element of the argument list. - - Calling va_start() positions an internal pointer to the first - unnamed argument and allows you to cycle through the arguments - more than once. It is not necessary to call va_start() if you - do not plan to cycle through the arguments more than once. - - * Recursive functions should work now. - - * The environment variable OCTAVE_PATH is now handled in the same - way as TeX handles TEXINPUTS. If the path starts with `:', the - standard path is prepended to the value obtained from the - environment. If it ends with `:' the standard path is appended to - the value obtained from the environment. - - * New functions, from Kurt Hornik (hornik@neuro.tuwien.ac.at) and - the Department of Probability Theory and Statistics TU Wien, - Austria: - - corrcoef -- corrcoef (X, Y) is the correlation between the i-th - variable in X and the j-th variable in Y - corrcoef (X) is corrcoef (X, X) - cov -- cov (X, Y) is the covariance between the i-th - variable in X and the j-th variable in Y - cov (X) is cov (X, X) - gls -- generalized least squares estimation - kurtosis -- kurtosis(x) = N^(-1) std(x)^(-4) SUM_i (x(i)-mean(x))^4 - 3 - If x is a matrix, return the row vector containing - the kurtosis of each column - mahalanobis -- returns Mahalanobis' D-square distance between the - multivariate samples X and Y, which must have the - same number of components (columns), but may have - a different number of observations (rows) - ols -- ordinary least squares estimation - pinv -- returns the pseudoinverse of X; singular values - less than tol are ignored - skewness -- skewness (x) = N^(-1) std(x)^(-3) SUM_i (x(i)-mean(x))^3 - if x is a matrix, return the row vector containing - the skewness of each column - - * Errors in user-supplied functions called from dassl, fsolve, - lsode, npsol, and quad are handled more gracefully. - - * Programming errors in the use of the C++ classes within Octave - should no longer cause Octave to abort. Instead, Octave's error - handler function is called and execution continues as best as is - possible. This should result in eventually returning control to - the top-level Octave prompt. (It would be nice to have a real - exception handling mechanism...) - - * A number of memory leaks have been eliminated. Thanks to - Fong Kin Fui for reporting them. - - * The C++ matrix classes are now derived from a generic - template-based array class. - - * The readline function operate-and-get-next (from bash) is now - available and bound to C-O by default. - - * Octave now uses the version of readline currently distributed with - bash-1.13. On some systems, interactive invocations of Octave - will now blink the cursor to show matching parens. - - * By default, include files are now installed in - $prefix/include/octave instead of $prefix/include. - - * Octave now uses a config.h file instead of putting all defines on - the compiler command line. - -Summary of changes for version 0.79: ------------------------------------ - - * New control systems functions: - - dgram -- Returns the discrete controllability and observability gramian. - dlqr -- Discrete linear quadratic regulator design. - dlqe -- Discrete linear quadratic estimator (Kalman Filter) design. - c2d -- Convert continuous system description to discrete time - description assuming zero-order hold and given sample time. - - * The max (min) functions can now return the index of the max (min) - value as a second return value. - -Summary of changes for version 0.78: ------------------------------------ - - * Octave's handling of global variables has been completely - rewritten. To access global variables inside a function, you must - now declare them to be global within the function body. Likewise, - if you do not declare a variable as global at the command line, - you will not have access to it within a function, even if it is - declared global there. For example, given the function - - function f () - global x = 1; - y = 2; - endfunction - - the global variable `x' is not visible at the top level until the - command - - octave:13> global x - - has been evaluated, and the variable `y' remains local to the - function f() even if it is declared global at the top level. - - Clearing a global variable at the top level will remove its global - scope and leave it undefined. For example, - - octave:1> function f () # Define a function that accesses - > global x; # the global variable `x'. - > x - > endfunction - octave:2> global x = 1 # Give the variable `x' a value. - octave:3> f () # Evaluating the function accesses the - x = 1 # global `x'. - octave:4> clear x # Remove `x' from global scope, clear value. - octave:5> x = 2 # Define new local `x' at the top level - x = 2 - octave:6> f # The global `x' is no longer defined. - error: `x' undefined near line 1 column 25 - error: evaluating expression near line 1, column 25 - error: called from `f' - octave:7> x # But the local one is. - x = 2 - - * The new function, `is_global (string)' returns 1 if the variable - named by string is globally visible. Otherwise, returns 0. - - * The implementation of `who' has changed. It now accepts the - following options: - - -b -builtins -- display info for built-in variables and functions - -f -functions -- display info for currently compiled functions - -v -variables -- display info for user variables - -l -long -- display long info - - The long output looks like this: - - octave:5> who -l - - *** currently compiled functions: - - prot type rows cols name - ==== ==== ==== ==== ==== - wd user function - - f - - *** local user variables: - - prot type rows cols name - ==== ==== ==== ==== ==== - wd real scalar 1 1 y - - *** globally visible user variables: - - prot type rows cols name - ==== ==== ==== ==== ==== - wd complex matrix 13 13 x - - where the first character of the `protection' field is `w' if the - symbol can be redefined, and `-' if it has read-only access. The - second character may be `d' if the symbol can be deleted, or `-' - if the symbol cannot be cleared. - - * The new built-in variable ignore_function_time_stamp can be used - to prevent Octave from calling stat() each time it looks up - functions defined in M-files. If set to "system", Octave will not - automatically recompile M-files in subdirectories of - $OCTAVE_HOME/lib/VERSION if they have changed since they were last - compiled, but will recompile other M-files in the LOADPATH if they - change. If set to "all", Octave will not recompile any M-files - unless their definitions are removed with clear. For any other - value of ignore_function_time_stamp, Octave will always check to - see if functions defined in M-files need to recompiled. The - default value of ignore_function_time_stamp is "system". - - * The new built-in variable EDITOR can be used to specify the editor - for the edit_history command. It is set to the value of the - environment variable EDITOR, or `vi' if EDITOR is not set, or is - empty. - - * There is a new built-in variable, INFO_FILE, which is used as the - location of the info file. Its initial value is - $OCTAVE_HOME/info/octave.info, so `help -i' should now work - provided that OCTAVE_HOME is set correctly, even if Octave is - installed in a directory different from that specified at compile - time. - - * There is a new command line option, --info-file FILE, that may be - used to set Octave's idea of the location of the info file. It - will override any value of OCTAVE_INFO_FILE found in the - environment, but not any INFO_FILE="filename" commands found in - the system or user startup files. - - * Octave's Info reader will now recognize gzipped files that have - names ending in `.gz'. - - * The save command now accepts regular expressions as arguments. - Note that these patterns are regular expressions, and do not work - like filename globbing. For example, given the variables `a', - `aa', and `a1', the command `save a*' saves `a' and `aa' but not - `a1'. To match all variables beginning with `a', you must use an - expression like `a.*' (match all sequences beginning with `a' - followed by zero or more characters). - - * Line and column information is included in more error messages. - -Summary of changes for version 0.77: ------------------------------------ - - * Improved help. The command `help -i topic' now uses the GNU Info - browser to display help for the given topic directly from the - Texinfo documentation. - - * New function: chol -- Cholesky factorization. - -Summary of changes for version 0.76: ------------------------------------ - - * Better run-time error messages. Many now include line and column - information indicating where the error occurred. Octave will also - print a traceback for errors occurring inside functions. If you - find error messages that could use improvement, or errors that - Octave fails to catch, please send a bug report to - bug@octave.org. - - * If gplot (or gsplot) is given a string to plot, and the string - does not name a file, Octave will pass the string along to gnuplot - directly. This allows commands like - - gplot "sin (x)" w l, data w p - - to work (assuming that data is a variable containing a matrix of - values). - - * Long options (--help, --version, etc.) are supported. - -Summary of changes for version 0.75: ------------------------------------ - - * The documentation is much more complete, but still could use a lot - of work. - - * The history function now prints line numbers by default. The - command `history -q' will omit them. - - * The clear function now accepts regular expressions. - - * If gplot (or gsplot) is given a string to plot, and the string - names a file, Octave attempts to plot the contents of the file. - - * New functions: - - history: - - run_history -- run commands from the history list. - edit_history -- edit commands from the history list with your - favorite editor. - - linear algebra: - - balance -- Balancing for algebraic and generalized - eigenvalue problems. - givens -- Givens rotation. - is_square -- Check to see if a matrix is square. - qzhess -- QZ decomposition of the matrix pencil (a - lambda b). - qzval -- Generalized eigenvalues for real matrices. - syl -- Sylvester equation solver. - - control systems: - - is_symmetric -- Check to see if a matrix is symmetric. - abcddim -- Check dimensions of linear dynamic system [A,B,C,D]. - is_controllable -- Check to see if [A,B,C,D] is controllable. - is_observable -- Check to see if [A,B,C,D] is observable. - are -- Solve algebraic Ricatti equation. - dare -- Solve discrete-time algebraic Ricatti equation. - lqe -- Kalman filter design for continuous linear system. - lqr -- Linear Quadratic Regulator design. - lyap -- Solve Lyapunov equation. - dlyap -- Solve discrete Lyapunov equation. - tzero -- Compute the transmission zeros of [A,B,C,D]. - -Summary of changes for version 0.74: ------------------------------------ - - * Formal parameters to functions are now always considered to be - local variables, so things like - - global x = 0 - global y = 0 - function y = f (x) x = 1; y = x; end - f (x) - - result in the function returning 1, with the global values of x - and y unchanged. - - * Multiple assignment expressions are now allowed to take indices, - so things like - - octave:13> [a([1,2],[3,4]), b([5,6],[7,8])] = lu ([1,2;3,4]) - - will work correctly. - -Summary of changes for version 0.73: ------------------------------------ - - * Saving and loading global variables works correctly now. - - * The save command no longer saves built-in variables. - - * Global variables are more reliable. - - * Matrices may now have one or both dimensions zero, so that - operations on empty matrices are now handled more consistently. - - By default, dimensions of the empty matrix are now printed along - with the empty matrix symbol, `[]'. For example: - - octave:13> zeros (3, 0) - ans = - - [](3x0) - - The new variable `print_empty_dimensions' controls this behavior. - - See also Carl de Boor, An Empty Exercise, SIGNUM, Volume 25, - pages 2--6, 1990, or C. N. Nett and W. M. Haddad, A - System-Theoretic Appropriate Realization of the Empty Matrix - Concept, IEEE Transactions on Automatic Control, Volume 38, - Number 5, May 1993. - - * The right and left division operators `/' and `\' will now find a - minimum norm solution if the system is not square, or if the - coefficient matrix is singular. - - * New functions: - - hess -- Hessenberg decomposition - schur -- Ordered Schur factorization - perror -- print error messages corresponding to error codes - returned from the functions fsolve, npsol, and qpsol - (with others to possibly be added later). - - * Octave now prints a warning if it finds anything other than - whitespace or comments after the final `end' or `endfunction' - statement. - - * The bodies of functions, and the for, while, and if commands are - now allowed to be empty. - - * Support for Gill and Murray's QPSOL has been added. Like NPSOL, - QPSOL is not freely redistributable either, so you must obtain - your own copy to be able to use this feature. More information - about where to find QPSOL and NPSOL are in the file README.NLP. - -Summary of changes for version 0.72: ------------------------------------ - - * For numeric output, columns are now lined up on the decimal point. - (This requires libg++-2.3.1 or later to work correctly). - - * If octave is running interactively and the output intended for the - screen is longer than one page and a pager is available, it is - sent to the pager through a pipe. You may specify the program to - use as the pager by setting the variable PAGER. PAGER may also - specify a command pipeline. - - * Spaces are not always significant inside square brackets now, so - commands like - - [ linspace (1, 2) ] - - will work. However, some possible sources of confusion remain - because Octave tries (possibly too hard) to determine exactly what - operation is intended from the context surrounding an operator. - For example: - - -- In the command - - [ 1 - 1 ] - - the `-' is treated as a binary operator and the result is the - scalar 0, but in the command - - [ 1 -1 ] - - the `-' is treated as a unary operator and the result is the - vector [ 1 -1 ]. - - -- In the command - - a = 1; [ 1 a' ] - - the single quote character `'' is treated as a transpose operator - and the result is the vector [ 1 1 ], but in the command - - a = 1; [ 1 a ' ] - - an error message indicating an unterminated string constant is - printed. - - * Assignments are just expressions now, so they are valid anywhere - other expressions are. This means that things like - - if (a = n < m) ... endif - - are valid. This is parsed as: compare `n < m', assign the result - to the variable `a', and use it as the test expression in the if - statement. - - To help avoid errors where `=' has been used but `==' was - intended, Octave issues a warning suggesting parenthesis around - assignments used as truth values. You can suppress this warning - by adding parenthesis, or by setting the value of the new built-in - variable `warn_assign_as_truth_value' to 'false' (the default - value is 'true'). - - This is also true for multiple assignments, so expressions like - - [a, b, c] = [u, s, v] = expression - - are now possible. If the expression is a function, nargout is set - to the number of arguments for the right-most assignment. The - other assignments need not contain the same number of elements. - Extra left hand side variables in an assignment become undefined. - - * The default line style for plots is now `lines' instead of - `points'. To change it, use the `set data style STYLE' command. - - * New file handling and I/O functions: - - fopen -- open a file for reading or writing - fclose -- close a file - fflush -- flush output to a file - fgets -- read characters from a file - frewind -- set file position to the beginning of a file - fseek -- set file position - ftell -- tell file position - freport -- print a report for all open files - fscanf -- read from a file - sscanf -- read from a string - scanf -- read from the standard input - - * New built-in variables for file and I/O functions: - - stdin -- file number corresponding to the standard input stream. - stdout -- file number corresponding to the standard output stream. - stderr -- file number corresponding to the standard error stream. - - The following may be used as the final (optional) argument for - fseek: - - SEEK_SET -- set position relative to the beginning of the file. - SEEK_CUR -- set position relative to the current position. - SEEK_END -- set position relative to the end of the file. - - * New function: setstr -- convert vectors or scalars to strings - (doesn't work for matrices yet). - - * If possible, computer now prints the system type instead of - always printing `Hi Dave, I'm a HAL-9000'. - - * Octave now properly saves and restores its internal state - correctly in more places. Interrupting Octave while it is - executing a script file no longer causes it to exit. - - * Octave now does tilde expansion on each element of the LOADPATH. - - * A number of memory leaks have been plugged. - - * Dependencies for C++ source files are now generated automatically - by g++. - - * There is a new command line option, -p PATH, that may be used to - set Octave's loadpath from the command line. It will override any - value of OCTAVE_PATH found in the environment, but not any - LOADPATH="path" commands found in the system or user startup files. - - * It is now possible to override Octave's default idea of the - location of the system-wide startup file (usually stored in - $(prefix)/lib/octave/octaverc) using the environment variable - OCTAVE_HOME. If OCTAVE_HOME has a value, Octave will look for - octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave. - - This allows people who are using binary distributions (as is - common with systems like Linux) to install the real octave binary - in any directory (using a name like octave.bin) and then install - a simple script like this - - #!/bin/sh - OCTAVE_HOME=/foo/bar/baz - export OCTAVE_HOME - exec octave.bin - - to be invoked as octave. - - -Summary of changes for version 0.71: ------------------------------------ - - * Much improved plotting facility. With this release, Octave does - not require a specially modified version of gnuplot, so gnuplot - sources are no longer distributed with Octave. For a more - detailed description of the new plotting features, see the file - PLOTTING. - - * New plotting commands: - - plot -- 2D plots - semilogx -- 2D semilog plot with logscale on the x axis - semilogy -- 2D semilog plot with logscale on the y axis - loglog -- 2D log-log plot - mesh -- 3D mesh plot - meshdom -- create matrices for 3D plotting from two vectors - contour -- contour plots of 3D data - bar -- create bar graphs - stairs -- create stairstep plots - polar -- 2D plots from theta-R data - grid -- turn plot grid lines on or off - xlabel, ylabel -- place labels on the x and y axes of 2D plots - sombrero -- demonstrate 3D plotting - gplot -- 2D plot command with gnuplot-like syntax - gsplot -- 3D plot command with gnuplot-like syntax - set -- set plot options with gnuplot syntax - show -- show plot options with gnuplot syntax - closeplot -- close stream to gnuplot process - purge_tmp_files -- delete temporary files created by plot command - - * Other new commands: - - ls, dir -- print a directory listing - shell_cmd -- execute shell commands - keyboard -- get input from keyboard, useful for debugging - menu -- display a menu of options and ask for input - fft -- fast fourier transform - ifft -- inverse fast fourier transform - - * Strings may be enclosed in either single or double quote - characters. Double quote characters are not special within single - quote strings, and single quotes are not special within double - quote strings. - - * Command name completion now works for M-file names too. - - * Better help and usage messages for many functions. - - * Help is now available for functions defined in M-files. The first - block of comments is taken as the text of the help message. - - * Numerous changes in preparation to support dynamic loading of - object files with dld. - - * Bug fixes to make solving DAEs with dassl actually work. - - * The command `save file' now saves all variables in the named file. - - * If do_fortran_indexing is 'true', indexing a scalar with - [1,1,1,...] (n times) replicates its value n times. The - orientation of the resulting vector depends on the value of - prefer_column_vectors. - - * Things like [[1,2][3,4]] no longer cause core dumps, and invalid - input like [1,2;3,4,[5,6]] now produces a diagnostic message. - - * The cd, save, and load commands now do tilde expansion. - - * It's now possible to clear global variables and functions by name. - - * Use of clear inside functions is now a parse error. - -Summary of changes for version 0.70: ------------------------------------ - - * Better parse error diagnostics. For interactive input, you get - messages like - - octave:1> a = 3 + * 4; - - parse error: - - a = 3 + * 4; - ^ - - and for script files, the message includes the file name and input - line number: - - octave:1> foo - - parse error near line 4 of file foo.m: - - a = 3 + * 4; - ^ - - * New built-in variable PS2 which is used as the secondary prompt. - The default value is '> '. - - * New file, octave-mode.el, for editing Octave code with GNU Emacs. - This is a modified version of Matthew R. Wette's matlab-mode.el. - - * Better support for missing math functions. - - * User preferences are now cached in a global struct so we don't - have to do a symbol table lookup each time we need to know what - they are. This should mean slightly improved performance for - evaluating expressions. - -Summary of changes for version 0.69: ------------------------------------ - - * Multiple assignments are now possible, so statements like - - a = b = c = 3; - a = b = c = [1,2;3,4]; - - or - - c = (a = (b = 2) * 3 + 4) * 5 - - are legal, as are things that have even more bizarre effects, like - - a(4:6,4:6) = b(2:3,2:3) = [1,2;3,4]; - - (try it). - - * Improved parsing of strings (but they still don't work as matrix - elements). - - * An M-file may now either define a function or be a list of - commands to execute. - - * Better detection and conditional compilation of IEEE functions - isinf, finite, and isnan. - - * Replacements for acosh, asinh, atanh, and gamma from the BSD math - library for those systems that don't have them. - -Summary of changes for version 0.68: ------------------------------------ - - * New functions: - - eval -- evaluate a string as a sequence of Octave commands. - input -- print a prompt and get user input. - -Summary of changes for version 0.67: ------------------------------------ - - * New functions: - - find -- return the indices of nonzero elements. - - * Zero-one style indexing now works. For example, - - a = [1,2,3,4]; - b = a([1,0,0,1]) - - sets b to the first and fourth elements of a. - - Zero-one style indexing also works for indexing the left hand side - of an assignment. For example, - - a = rand (1,2;3,4); - a([0,1],:) = [-1,-2] - - sets the second row of a to [-1 -2] - - The behavior for the ambiguous case - - a = [1,2,3,4]; - b = a([1,1,1,1]); - - is controlled by the new global variable `prefer_zero_one_indexing'. - If this variable is equal to 'true', b will be set to [1 2 3 4]. - If it is false, b will be set to [1 1 1 1]. The default value is - 'false'. - - * Using the new global variable `propagate_empty_matrices', it is - possible to have unary and binary operations on empty matrices - return an empty matrix. The default value of this variable is - 'warn', so that empty matrices are propagated but you get a - warning. Some functions, like eig and svd have also been changed - to handle this. - - * Empty matrices can be used in conditionals, but they always - evaluate to `false'. With propagate_empty_matrices = 'true', both - of the following expressions print 0: - - if [], 1, else 0, end - if ~[], 1, else 0, end - - * Octave no longer converts input like `3.2 i' or `3 I' to complex - constants directly because that causes problems inside square - brackets, where spaces are important. This abbreviated notation - *does* work if there isn't a space between the number and the i, - I, j, or J. - -Summary of changes for version 0.66: ------------------------------------ - - * Logical unary not operator (~ or !) now works for complex. - - * Left division works. - - * Right and left element by element division should work correctly - now. - - * Numbers like .3e+2 are no longer errors. - - * Indexing a matrix with a complex value doesn't cause a core dump. - - * The min and max functions should work correctly for two arguments. - - * Improved (I hope!) configuration checks. - - * Octave is now installed as octave-M.N, where M and N are version - numbers, and octave is a link to that file. This makes it - possible to have more than one version of the interpreter installed. - -Summary of changes for version 0.63: ------------------------------------ - - * The reshape function works again. - - * Octave now converts input like `3.2i' or `3 I' or `2.3e5 j' to be - complex constants directly, rather than requiring an expression - like `3.3 * i' to be evaluated. - -Summary of changes for version 0.61: ------------------------------------ - - * Octave has been successfully compiled using gcc 2.3.3 and libg++ 2.3. - on a 486 system running Linux. - - * The win_texas_lotto function is now called texas_lotto (it's a - script file, and win_texas_lotto.m is too long for some Linux and - System V systems). - -Summary of changes for version 0.57: ------------------------------------- - - * The C-like formatted print functions printf, fprintf, and sprintf - finally work. - -Summary of changes for version 0.56: ------------------------------------- - - * By default, octave prints a short disclaimer when it starts. - (You can suppress it by invoking octave with -q). - - * You can keep octave from reading your ~/.octaverc and .octaverc - files by invoking it with -f. - - * When returning two values, eig now returns [v, d] instead of - [lambda, v], where d is a diagonal matrix made from lambda. - - * The win_texas_lotto function now produces a sorted list. - - * New functions: - - expm -- matrix exponential. - logm -- matrix logarithm. - -Summary of changes for version 0.55: ------------------------------------- - - * The following (C-style) backslash escape sequences work in quoted - strings (useful(?) with printf()): - - \a bell \r carriage return - \b backspace \t horizontal tab - \f formfeed \v vertical tab - \n newline \\ backslash - - * Use of `...' at the end of a line will allow a statement to - continue over more than one line. - - * The names `inf' and `nan' are now aliases for `Inf' and `NaN', - respectively. - - * New functions: - - casesen -- print a warning if the luser tries to turn off case - sensitivity. - median -- find median value. - norm -- compute the norm of a matrix. - sort -- sort columns. - - * New variable, `silent_functions'. If silent_functions == 'true', - the results of expressions are not printed even if they are not - followed by a semicolon. The disp() and printf() functions still - result in output. The default value for this variable is 'false'. - - * New variable `return_last_value_computed'. If it is 'true', - functions defined in script files return the last value computed - if a return value has not been explicitly declared. The default - value for this variable is 'false'. - -Summary of changes for version 0.52: ------------------------------------- - - * Name completion works for function and variable names currently in - the symbol tables. Coming soon: completion for names of functions - defined in script files but not yet compiled. - - * The initial value of do_fortran_indexing is now false, and the - initial value of prefer_column_vectors is now true. Swap the - values of these variables if you want behavior that is more like - Matlab. - - * All script files check the number of input arguments before doing - much real work. - - * The identifiers `i' and `j' are now also names for sqrt(-1). - These symbols may be used for other purposes, but their original - definition will reappear if they are cleared. - - * The symbol tables are now implemented with hash tables for faster - searching. - - * A small amount of help is now available for most built-in - operators, keywords and functions. Coming soon: help for script - files. - - * Without any arguments, the help command now lists all known - built-in operators, keywords and functions. - - * Generic parse errors are now signalled by `Eh, what's up doc?', - which is closer to what Bugs actually says. - - * The who command now only prints variable names by default. - Use the -fcn (or -fcns, or -functions) switch to print the names of - built-in or currently compiled functions. - -Summary of changes for version 0.51: ------------------------------------- - - * Major overhaul of array indexing. - - * The colloc function actually works now. - -Summary of changes for version 0.50: ------------------------------------- - - * The lsode and dassl functions now return the states only, - instead of the time and the states, so you must keep track of - the corresponding times (this is easy though, because you have - to specify a vector of desired output times anyway). - - * Solution of NLPs with NPSOL now works on the SPARC. - - * New keywords `endif', `endfor', `endfunction', `endif', and - `endwhile', which allow for better diagnostics. The `end' keyword - is still recognized. All script files have been changed to use - these new keywords in place of `end'. - - * It is now possible to uninstall Octave by doing a `make uninstall' - in the top level directory. - - * The Makefiles are much closer to conforming with GNU coding standards. - - * New functions: - - win_texas_lotto -- produce six unique random numbers between 1 and 50. - quad -- numerical integration. - lu -- LU factorization - qr -- QR factorization - dassl -- Solution of DAEs using DASSL. - - * New files: - - THANKS -- A list of people and organizations who have supported - the development of Octave. - - NEWS -- This file, listing recent changes. - - * Help is now available at the gnuplot prompt. diff -r 10f6727fbaa8 -r b67c2d580a25 NEWS.2 --- a/NEWS.2 Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1036 +0,0 @@ -Summary of changes for version 2.1.x: ------------------------------------- - - * Given a matrix, X, and a boolean index, idx, of the same shape as - X, X(idx) and X(idx) = RHS now work no matter what the value of - do_fortran_indexing is. - - * If you are using GNU Emacs 19.34 or earlier, you will need to add - the following code to your ~/.emacs file in order to use Emacs - Octave mode: - - ;; Set up the custom library. - ;; taken from http://www.dina.kvl.dk/~abraham/custom/ - (eval-and-compile - (condition-case () - (require 'custom) - (error nil)) - (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) - nil ;; We've got what we needed - ;; We have the old custom-library, hack around it! - (defmacro defgroup (&rest args) - nil) - (defmacro defcustom (var value doc &rest args) - (` (defvar (, var) (, value) (, doc)))))) - - * When `format +' is in effect, Octave uses the following symbols to - provide more information about the values in a matrix: - - + postive real - - negative real - i pure imaginary - c complex - blank zero - - * The ++ and -- operators now work for indexed matrices, and the - following operators now work: - - +=, -=, *=, /=, \=, <<=, >>=, .*=, ./=, .\=, &=, |= - - These operators are currently implemented using a relatively - inefficient brute-force method but hey, they work. - - * The built-in variable argv is now a list of strings instead of a - string vector. - - * The value of LOADPATH set by the environment variable - OCTAVE_PATH, the -p or --path command line options, or on the - command line is no longer modified to include the default path. - Instead it is left as specified. Its default value is now ":", - which tells Octave to search the default path, and the new - built-in variable DEFAULT_LOADPATH contains the default list of - directories to search. - - * The function file_in_path no longer does any special processing of - its PATH argument. To search LOADPATH for files, it is now - generally better to use the new function file_in_loadpath. - - * If fread is given a skip parameter, the skip is performed after - the read instead of before (for compatibility with Matlab). - - * The new built-in variable `crash_dumps_octave_core' controls - whether Octave writes user variables to the file `octave-core' - when it crashes or is killed by a signal. The default value is 1 - (0 if you use --traditional). - - * If LOADPATH contains a doubled colon, the default path is inserted - in its place. This is similar to the substitution that also takes - place for leading or trailing colons in the LOADPATH. - - * Loops of the form `for i = STRING ... endfor' are now allowed. - - * It is now possible to set the iteration limit for lsode using - lsode_options ("step limit", N). - - * New functions: - - is_complex -- tell whether a variable is complex - rehash -- re-initialize the cache of directories in LOADPATH - graw -- send a string to the gnuplot subprocess - - * New functions from Kurt Hornik's Octave-ci package: - - In finance (new directory): - - fv -- future value of an investment - fvl -- future value of an initial lump sum investment - irr -- internal rate of return of an investment - nper -- number of payments needed for amortizing a loan - npv -- net present value of a series of payments - pmt -- amount of periodic payment needed to amortize a loan - pv -- present value of an investment - pvl -- present value of an investment that pays off at the end - rate -- rate of return of an investment - vol -- volatility of financial time series data - - In linear-algebra: - - dmult -- rescale the rows of a matrix - - In signal: - - arch_fit -- fit an ARCH regression model - arch_rnd -- simulate an ARCH process - arch_test -- test for conditional heteroscedascity - arma_rnd -- simulate an ARMA process - autocor -- compute autocorrelations - autocov -- compute autocovariances - autoreg_matrix -- design matrix for autoregressions - bartlett -- coefficients of the Bartlett (triangular) window - blackman -- coefficients of the Blackman window - diffpara -- estimate the fractional differencing parameter - durbinlevinson -- perform one step of the Durbin-Levinson algorithm - fractdiff -- compute fractional differences - hamming -- coefficients of the Hamming window - hanning -- coefficients of the Hanning window - hurst -- estimate the Hurst parameter - periodogram -- compute the periodogram - rectangle_lw -- rectangular lag window - rectangle_sw -- rectangular spectral window - sinetone -- compute a sine tone - sinewave -- compute a sine wave - spectral_adf -- spectral density estimation - spectral_xdf -- spectral density estimation - spencer -- apply Spencer's 15-point MA filter - stft -- short-term Fourier transform - synthesis -- recover a signal from its short-term Fourier transform - triangle_lw -- triangular lag window - triangle_sw -- triangular spectral window - yulewalker -- fit AR model by Yule-Walker method - - In statistics/base (new directory): - - center -- center by subtracting means - cloglog -- complementary log-log function - cor -- compute correlations - cov -- compute covariances - cut -- cut data into intervals - iqr -- interquartile range - kendall -- kendall's rank correlation tau - logit -- logit transformation - mean -- compute arithmetic, geometric, and harmonic mean - meansq -- compute mean square - moment -- compute moments - ppplot -- perform a PP-plot (probability plot) - probit -- probit transformation - qqplot -- perform a QQ-plot (quantile plot) - range -- compute range - ranks -- compute ranks - run_count -- count upward runs - spearman -- spearman's rank correlation rho - statistics -- compute basic statistics - studentize -- subtract mean and divide by standard deviation - table -- cross tabulation - values -- extract unique elements - var -- compute variance - - In statistics/distributions (new directory): - - beta_cdf -- CDF of the Beta distribution - beta_inv -- Quantile function of the Beta distribution - beta_pdf -- PDF of the Beta distribution - beta_rnd -- Random deviates from the Beta distribution - - binomial_cdf -- CDF of the binomial distribution - binomial_inv -- Quantile function of the binomial distribution - binomial_pdf -- PDF of the binomial distribution - binomial_rnd -- Random deviates from the binomial distribution - - cauchy_cdf -- CDF of the Cauchy distribution - cauchy_inv -- Quantile function of the Cauchy distribution - cauchy_pdf -- PDF of the Cauchy distribution - cauchy_rnd -- Random deviates from the Cauchy distribution - - chisquare_cdf -- CDF of the chi-square distribution - chisquare_inv -- Quantile function of the chi-square distribution - chisquare_pdf -- PDF of the chi-square distribution - chisquare_rnd -- Random deviates from the chi-square distribution - - discrete_cdf -- CDF of a discrete distribution - discrete_inv -- Quantile function of a discrete distribution - discrete_pdf -- PDF of a discrete distribution - discrete_rnd -- Random deviates from a discrete distribution - - empirical_cdf -- CDF of the empirical distribution - empirical_inv -- Quantile function of the empirical distribution - empirical_pdf -- PDF of the empirical distribution - empirical_rnd -- Bootstrap samples from the empirical distribution - - exponential_cdf -- CDF of the exponential distribution - exponential_inv -- Quantile function of the exponential distribution - exponential_pdf -- PDF of the exponential distribution - exponential_rnd -- Random deviates from the exponential distribution - - f_cdf -- CDF of the F distribution - f_inv -- Quantile function of the F distribution - f_pdf -- PDF of the F distribution - f_rnd -- Random deviates from the F distribution - - gamma_cdf -- CDF of the Gamma distribution - gamma_inv -- Quantile function of the Gamma distribution - gamma_pdf -- PDF of the Gamma distribution - gamma_rnd -- Random deviates from the Gamma distribution - - geometric_cdf -- CDF of the geometric distribution - geometric_inv -- Quantile function of the geometric distribution - geometric_pdf -- PDF of the geometric distribution - geometric_rnd -- Random deviates from the geometric distribution - - hypergeometric_cdf -- CDF of the hypergeometric distribution - hypergeometric_inv -- Random deviates from hypergeometric distribution - hypergeometric_pdf -- PDF of the hypergeometric distribution - hypergeometric_rnd -- Random deviates from hypergeometric distribution - - kolmogorov_smirnov_cdf -- CDF of the Kolmogorov-Smirnov distribution - - laplace_cdf -- CDF of the Laplace distribution - laplace_inv -- Quantile function of the Laplace distribution - laplace_pdf -- PDF of the Laplace distribution - laplace_rnd -- Random deviates from the Laplace distribution - - logistic_cdf -- CDF of the logistic distribution - logistic_inv -- Quantile function of the logistic distribution - logistic_pdf -- PDF of the logistic distribution - logistic_rnd -- Random deviates from the logistic distribution - - lognormal_cdf -- CDF of the log normal distribution - lognormal_inv -- Quantile function of the log normal distribution - lognormal_pdf -- PDF of the log normal distribution - lognormal_rnd -- Random deviates from the log normal distribution - - normal_cdf -- CDF of the normal distribution - normal_inv -- Quantile function of the normal distribution - normal_pdf -- PDF of the normal distribution - normal_rnd -- Random deviates from the normal distribution - - pascal_cdf -- CDF of the Pascal (negative binomial) distribution - pascal_inv -- Quantile function of the Pascal distribution - pascal_pdf -- PDF of the Pascal (negative binomial) distribution - pascal_rnd -- Random deviates from the Pascal distribution - - poisson_cdf -- CDF of the Poisson distribution - poisson_inv -- Quantile function of the Poisson distribution - poisson_pdf -- PDF of the Poisson distribution - poisson_rnd -- Random deviates from the Poisson distribution - - stdnormal_cdf -- CDF of the standard normal distribution - stdnormal_inv -- Quantile function of standard normal distribution - stdnormal_pdf -- PDF of the standard normal distribution - stdnormal_rnd -- Random deviates from standard normal distribution - - t_cdf -- CDF of the t distribution - t_inv -- Quantile function of the t distribution - t_pdf -- PDF of the t distribution - t_rnd -- Random deviates from the t distribution - - uniform_cdf -- CDF of the uniform distribution - uniform_inv -- Quantile function of the uniform distribution - uniform_pdf -- PDF of the uniform distribution - uniform_rnd -- Random deviates from the uniform distribution - - weibull_cdf -- CDF of the Weibull distribution - weibull_inv -- Quantile function of the Weibull distribution - weibull_pdf -- PDF of the Weibull distribution - weibull_rnd -- Random deviates from the Weibull distribution - - wiener_rnd -- Simulate a Wiener process - - In statistics/models (new directory): - - logistic_regression -- ordinal logistic regression - logistic_regression_derivatives -- derivates of log-likelihood - in logistic regression - logistic_regression_likelihood -- likelihood in logistic regression - - In statistics/tests (new directory): - - anova -- one-way analysis of variance - bartlett_test -- bartlett test for homogeneity of variances - chisquare_test_homogeneity -- chi-square test for homogeneity - chisquare_test_independence -- chi-square test for independence - cor_test -- test for zero correlation - f_test_regression -- test linear hypotheses in linear - regression model - hotelling_test -- test for mean of a multivariate normal - hotelling_test_2 -- compare means of two multivariate normals - kolmogorov_smirnov_test -- one-sample Kolmogorov-Smirnov test - kolmogorov_smirnov_test_2 -- two-sample Kolmogorov-Smirnov test - kruskal_wallis_test -- kruskal-Wallis test - manova -- one-way multivariate analysis of variance - mcnemar_test -- mcnemar's test for symmetry - prop_test_2 -- compare two proportions - run_test -- run test for independence - sign_test -- sign test - t_test -- student's one-sample t test - t_test_2 -- student's two-sample t test - t_test_regression -- test one linear hypothesis in linear - regression model - u_test -- mann-Whitney U-test - var_test -- f test to compare two variances - welch_test -- welch two-sample t test - wilcoxon_test -- wilcoxon signed-rank test - z_test -- test for mean of a normal sample with - known variance - z_test_2 -- compare means of two normal samples with - known variances - - * The save command now accepts the option -append to save the - variables at the end of the file, leaving the existing contents. - - * New command-line option --no-history (also available using the - single character option -H) inhibits saving command history. - - * The mkoctfile script now accepts -DDEF options and passes them on - to the C and C++ compilers. - - * Running `make check' should work now before you run `make install', - even if you build a copy of Octave that depends on shared versions - of the Octave libraries. - - * For matrices, x(:) now works and returns a column vector no matter - what the value of do_fortran_indexing is. - - * New keywords __FILE__ and __LINE__ expand to the name of the file - that is being read and the current input line number, respectively. - - * Octave's expression parser is more general and consistent. It is - now possible to access structure elements and index arbitrary - values. For example, expressions like - - my_home_dir = getpwuid (getuid ()) . dir; - - and - - svd (x) (1:5) - - now work. - - * New built-in variable `print_rhs_assign_val' controls what is - printed when an assignment expression is evaluated. If it is - zero, the value of the variable on the left hand side (after the - assignment) is printed. If it is nonzero, the value of the right - hand side (i.e., the result of the expression) is printed. The - default value of is zero, so the behavior is the same as in - previous versions of Octave. - - * tmpnam now takes two optional arguments, DIR, and PREFIX. For - example, tmpnam ("/foo", "bar-") returns a file name like - "/foo/bar-10773baa". If DIR is omitted or empty, the value of the - environment variable TMPDIR, or /tmp is used. If PREFIX is - omitted, "oct-" is used. - - * The built-in variable `PWD' has been removed. If you need to get - the value of the current working directory, use the pwd() function - instead. - - * New operators. Octave's parser now recognizes the following - operators: << >> += -= *= /= .+= .-= .*= ./= &= |= <<= >>=. So - far, there are only a few operations defined that actually use - them (this should change before 2.1 is released). - - * New built-in data types: - - logical: - - A true value is represented by 1, and false value by 0. - Comparison operations like <, <=, ==, >, >=, and != now return - logical values. Indexing operations that use zero-one style - indexing must now use logical values. You can use the new - function logical() to convert a numeric value to a logical - value. This avoids the need for the built-in variable - `prefer_zero_one_indexing', so it has been removed. Logical - values are automatically converted to numeric values where - appropriate. - - file: - - A file object represents an open Octave stream object. The - fopen function now returns a file object instead of an integer. - File objects can be converted to integers automatically, and the - other functions that work with file ids still work with - integers, so this change should be backward compatible. - - The binary left-shift operator `<<' has been defined to work as - in C++ for file objects and built-in types. For example, - - my_stream = fopen ("foo", "w"); - my_stream << "x = " << pi << " marks the spot\n"; - - writes `x = 3.1416 marks the spot' in the file foo. - - The built-in variables stdin, stdout, and stderr are now also - file objects instead of integers. - - list: - - A list is an array of Octave objects. It can be indexed using - the normal indexing operator. For example, - - x = list ([1,2;3,4], 1, "foo"); - stdout << x(2) << "\n" - 1 - stdout << x; - ( - [1] = - - 1 2 - 3 4 - - [2] = 1 - [3] = foo - ) - - There is currently no special syntax for creating lists; you - must use the list function. - - * Commas in global statements are no longer special. They are now - treated as command separators. This removes a conflict in the - grammar and is consistent with the way Matlab behaves. The - variable `warn_comma_in_global_decl' has been eliminated. - - * It is now possible to declare static variables that retain their - values across function calls. For example, - - function ncall = f () static n = 0; ncall = ++n; endfunction - - defines a function that returns the number of times that it has - been called. - - * Within user-defined functions, the new automatic variable `argn' - contains the names of the arguments that were passed to the - function. For example, - - function f (...) - for i = 1:nargin - stdout << "argn(" << i << ") = `" << deblank (argn(i,:)) \ - << "' and its value is " << va_arg () << "\n"; - endfor - endfunction - f (1+2, "foo", sin (pi/2)) - - prints - - argn(1) = `1 + 2' and its value is 3 - argn(2) = `"foo"' and its value is foo - argn(3) = `sin (pi)' and its value is 1 - - on the standard output stream. If nargin is zero, argn is not defined. - * Functions like quad, fsolve, and lsode can take either a function - name or a simple function body as a string. For example, - - quad ("sqrt (x)", 0, 1) - - is equivalent to - - function y = f (x) y = sqrt (x); endfunction - quad ("f", 0, 1) - - * If the argument to eig() is symmetric, Octave uses the specialized - Lapack subroutine for symmetric matrices for a significant - increase in performance. - - * If the argument to lsode that names the user-supplied function is - a 2-element string array, the second element is taken as the name - of the Jacobian function. The named function should have the - following form: - - JAC = f (X, T) - - where JAC is the Jacobian matrix of partial derivatives of the - right-hand-side functions that define the set of differential - equations with respect to the state vector X. - - * Global variables are now initialized to the empty matrix, for - compatibility with Matlab. - - * Explicit initialization of global variables only happens once. - For example, after the following statements are evaluated, g still - has the value 1. - - global g = 1 - global g = 2 - - This is useful for initializing global variables that are used to - maintain state information that is shared among several functions. - - * Structure elements completion on the command line actually works - now. - - * The new built-in variable `fixed_point_format' controls whether - Octave uses a scaled fixed-point format for displaying matrices. - The default value is 0 unless you use --traditional. - - * The function sumsq now computes sum (x .* conj (x)) for complex values. - - * The new built-in variable max_recursion_depth allows you to - prevent Octave from attempting infinite recursion. The default - value is 256. - - * Octave now uses kpathsea 3.2. - - * New configure option, --enable-readline. - - * New configure option, --enable-static. - -Summary of changes for version 2.0.7: ------------------------------------- - - This is a bug-fixing release. There are no new user-visible features. - -Summary of changes for version 2.0.6: ------------------------------------- - - This is primarily a bug-fixing release. There are only a few new - user-visible features. - - * The new built-in variable default_eval_print_flag controls whether - Octave prints the results of commands executed by eval() that do - not end with semicolons. The default is 1. - - * The new built-in constant OCTAVE_HOME specifies the top-level - directory where Octave is installed. - - * Octave no longer includes functions to work with NPSOL or QPSOL, - because they are not free software. - - * The new built-in variable called kluge_procbuf_delay specifies the - number of microseconds to delay in the parent process after - forking. By default on gnu-win32 systems, it's set to 500000 (1/2 - second). On other systems, the default value is 0. Delaying for - a short time in the parent after forking seems to avoid problems - in which communicating with subprocesses via pipes would sometimes - cause Octave to hang. I doubt that the delay is really the right - solution. If anyone has a better idea, I'd love to hear it. - -Summary of changes for version 2.0.5: ------------------------------------- - - * A `switch' statement is now available. See the Statements chapter - in the manual for details. - - * Commands like ls, save, and cd may now also be used as formal - parameters for functions. - - * More tests. - -Summary of changes for version 2.0.4: ------------------------------------- - - * It is now possible to use commands like ls, save, and cd as simple - variable names. They still cannot be used as formal parameters - for functions, or as the names of structure variables. Failed - assignments leave them undefined (you can recover the original - function definition using clear). - - * Is is now possible to invoke commands like ls, save, and cd as - normal functions (for example, load ("foo", "x", "y", "z")). - -Summary of changes for version 2.0.3: ------------------------------------- - - * The manual has been completely revised and now corresponds much - more closely to the features of the current version. - - * The return value for assignment expressions is now the RHS since - that is more consistent with the way other programming languages - work. However, Octave still prints the entire LHS value so that - - x = zeros (1, 2); - x(2) = 1 - - still prints - - x = - - 0 1 - - but an assignment like - - z = x(2) = 1 - - sets z to 1 (not [ 0, 1 ] as in previous versions of Octave). - - * It is now much easier to make binary distributions. See the - Binary Distributions section of the manual for more details. - -Summary of changes for version 2.0.2: ------------------------------------- - - * Octave now stops executing commands from a script file if an error - is encountered. - - * The return, and break commands now cause Octave to quit executing - commands from script files. When used in invalid contexts, the - break, continue, and return commands are now simply ignored - instead of producing parse errors. - - * size ("") is now [0, 0]. - - * New functions: - - sleep -- pause execution for a specified number of seconds - usleep -- pause execution for a specified number of microseconds - -Summary of changes for version 2.0: ----------------------------------- - - * The set and show commands for setting and displaying gnuplot - parameters have been replaced by gset and gshow. This change will - probably break lots of things, but it is necessary to allow for - compatibility with the Matlab graphics and GUI commands in a - future version of Octave. (For now, the old set and show commands - do work, but they print an annoying warning message to try to get - people to switch to using gset.) - - * Octave has been mostly ported to Windows NT and Windows 95 using - the beta 17 release of the Cygnus GNU-WIN32 tools. Not everything - works, but it is usable. See the file README.WINDOWS for more - information. - - * Dynamic linking works on more systems using dlopen() and friends - (most modern Unix systems) or shl_load() and friends (HP/UX - systems). A simple example is provided in examples/hello.cc. - For this feature to work, you must configure Octave with - --enable-shared. You may also need to have a shared-library - version of libg++ and libstdc++. - - * New data types can be added to Octave by writing a C++ class. On - systems that support dynamic linking, new data types can be added - to an already running Octave binary. A simple example appears in - the file examples/make_int.cc. Other examples are the standard - Octave data types defined in the files src/ov*.{h,cc} and - src/op-*.cc. - - * The configure option --enable-bounds-check turns on bounds - checking on element references for Octave's internal array and - matrix classes. It's enabled by default. To disable this - feature, configure Octave with --disable-bounds-check. - - * The C-style I/O functions (fopen, fprintf, etc.) have been - rewritten to be more compatible with Matlab. The fputs function - has also been added. Usage of the *printf functions that was - allowed in previous versions of Octave should still work. - However, there is no way to make the new versions of the *scanf - functions compatible with Matlab *and* previous versions of - Octave. An optional argument to the *scanf functions is now - available to make them behave in a way that is compatible with - previous versions of Octave. - - * Octave can now read files that contain columns of numbers only, - with no header information. The name of the loaded variable is - constructed from the file name. Each line in the file must have - the same number of elements. - - * The interface to the pager has changed. The new built-in variable - `page_output_immediately' controls when Octave sends output to the - pager. If it is nonzero, Octave sends output to the pager as soon - as it is available. Otherwise, Octave buffers its output and - waits until just before the prompt is printed to flush it to the - pager. - - * Expressions of the form - - A(i,j) = x - - where X is a scalar and the indices i and j define a matrix of - elements now work as you would expect rather than giving an error. - I am told that this is how Matlab 5.0 will behave when it is - released. - - * Indexing of character strings now works. - - * The echo command has been implemented. - - * The document command is now a regular function. - - * New method for handling errors: - - try - BODY - catch - CLEANUP - end_try_catch - - Where BODY and CLEANUP are both optional and may contain any - Octave expressions or commands. The statements in CLEANUP are - only executed if an error occurs in BODY. - - No warnings or error messages are printed while BODY is - executing. If an error does occur during the execution of BODY, - CLEANUP can access the text of the message that would have been - printed in the builtin constant __error_text__. This is the same - as eval (TRY, CATCH) (which may now also use __error_text__) but - it is more efficient since the commands do not need to be parsed - each time the TRY and CATCH statements are evaluated. - - * Octave no longer parses the help command by grabbing everything - after the keyword `help' until a newline character is read. To - get help for `;' or `,', now, you need to use the command - `help semicolon' or `help comma'. - - * Octave's parser now does some simple constant folding. This means - that expressions like 3*i are now evaluated only once, when a - function is compiled, and the right hand side of expressions like - a = [1,2;3,4] are treated as true matrix constants rather than - lists of elements which must be evaluated each time they are - needed. - - * Built-in variables that can take values of "true" and "false" can - now also be set to any nonzero scalar value to indicate "true", - and 0 to indicate "false". - - * New built-in variables `history_file', `history_size', and - `saving_history'. - - * New built-in variable `string_fill_char' specifies the character - to fill with when creating arrays of strings. - - * If the new built-in variable `gnuplot_has_frames' is nonzero, - Octave assumes that your copy of gnuplot includes support for - multiple plot windows when using X11. - - If the new built-in variable `gnuplot_has_multiplot' is nonzero, - Octave assumes that your copy of gnuplot has the multiplot support - that is included in recent 3.6beta releases. - - The initial values of these variables are determined by configure, - but can be changed in your startup script or at the command line - in case configure got it wrong, or if you upgrade your gnuplot - installation. - - * The new plot function `figure' allows multiple plot windows when - using newer versions of gnuplot with X11. - - * Octave now notices when the plotter has exited unexpectedly. - - * New built-in variable `warn_missing_semicolon'. If nonzero, Octave - will warn when statements in function definitions don't end in - semicolons. The default value is 0. - - * Octave now attempts to continue after floating point exceptions - or out-of-memory errors. - - * If Octave crashes, it now attempts to save all user-defined - variables in a file named `octave-core' in the current directory - before exiting. - - * It is now possible to get the values of individual option settings - for the dassl, fsolve, lsode, npsol, qpsol, and quad functions - using commands like - - dassl_reltol = dassl_options ("relative tolerance"); - - * The svd() function no longer computes the left and right singular - matrices unnecessarily. This can significantly improve - performance for large matrices if you are just looking for the - singular values. - - * The filter() function is now a built-in function. - - * New function randn() returns a pseudo-random number from a normal - distribution. The rand() and randn() functions have separate - seeds and generators. - - * Octave's command-line arguments are now available in the built-in - variable `argv'. The program name is also available in the - variables `program_invocation_name' and `program_name'. If - executing a script from the command line (e.g., octave foo.m) or - using the `#! /bin/octave' hack, the program name is set to the - name of the script. - - * New built-in variable `completion_append_char' used as the - character to append to successful command-line completion - attempts. The default is " " (a single space). - - * Octave now uses a modified copy of the readline library from - version 1.14.5 of GNU bash. - - * In prompt strings, `\H' expands to the whole host name. - - * New built-in variable `beep_on_error'. If nonzero, Octave will try - to ring your terminal's bell before printing an error message. - The default value is 0. - - * For functions defined from files, the type command now prints the - text of the file. You can still get the text reconstructed from - the parse tree by using the new option -t (-transformed). - - * New command-line argument --traditional sets the following - preference variables for compatibility with Matlab: - - PS1 = ">> " - PS2 = "" - beep_on_error = 1 - default_save_format = "mat-binary" - define_all_return_values = 1 - do_fortran_indexing = 1 - empty_list_elements_ok = 1 - implicit_str_to_num_ok = 1 - ok_to_lose_imaginary_part = 1 - page_screen_output = 0 - prefer_column_vectors = 0 - prefer_zero_one_indexing = 1 - print_empty_dimensions = 0 - treat_neg_dim_as_zero = 1 - warn_function_name_clash = 0 - whitespace_in_literal_matrix = "traditional" - - * New functions: - - readdir -- returns names of files in directory as array of strings - mkdir -- create a directory - rmdir -- remove a directory - rename -- rename a file - unlink -- delete a file - umask -- set permission mask for file creation - stat -- get information about a file - lstat -- get information about a symbolic link - glob -- perform filename globbing - fnmatch -- match strings with filename globbing patterns - more -- turn the pager on or off - gammaln -- alias for lgamma - - * New audio functions from Andreas Weingessel - . - - lin2mu -- linear to mu-law encoding - loadaudio -- load an audio file to a vector - mu2lin -- mu-law to linear encoding - playaudio -- play an audio file - record -- record sound and store in vector - saveaudio -- save a vector as an audio file - setaudio -- executes mixer shell command - - * New plotting functions from Vinayak Dutt. Ones dealing with - multiple plots on one page require features from gnuplot 3.6beta - (or later). - - bottom_title -- put title at the bottom of the plot - mplot -- multiplot version of plot - multiplot -- switch multiple-plot mode on or off - oneplot -- return to one plot per page - plot_border -- put a border around plots - subplot -- position multiple plots on a single page - subwindow -- set subwindow position for next plot - top_title -- put title at the top of the plot - zlabel -- put a label on the z-axis - - * New string functions - - bin2dec -- convert a string of ones and zeros to an integer - blanks -- create a string of blanks - deblank -- delete trailing blanks - dec2bin -- convert an integer to a string of ones and zeros - dec2hex -- convert an integer to a hexadecimal string - findstr -- locate occurrences of one string in another - hex2dec -- convert a hexadecimal string to an integer - index -- return position of first occurrence a string in another - rindex -- return position of last occurrence a string in another - split -- divide one string into pieces separated by another - str2mat -- create a string matrix from a list of strings - strrep -- replace substrings in a string - substr -- extract a substring - - The following functions return a matrix of ones and zeros. - Elements that are nonzero indicate that the condition was true for - the corresponding character in the string array. - - isalnum -- letter or a digit - isalpha -- letter - isascii -- ascii - iscntrl -- control character - isdigit -- digit - isgraph -- printable (but not space character) - islower -- lower case - isprint -- printable (including space character) - ispunct -- punctuation - isspace -- whitespace - isupper -- upper case - isxdigit -- hexadecimal digit - - These functions return new strings. - - tolower -- convert to lower case - toupper -- convert to upper case - - * New function, fgetl. Both fgetl and fgets accept an optional - second argument that specifies a maximum number of characters to - read, and the function fgets is now compatible with Matlab. - - * Printing in hexadecimal format now works (format hex). It is also - possible to print the internal bit representation of a value - (format bit). Note that these formats are only implemented for - numeric values. - - * Additional structure features: - - -- Name completion now works for structures. - - -- Values and names of structure elements are now printed by - default. The new built-in variable `struct_levels_to_print' - controls the depth of nested structures to print. The default - value is 2. - - -- New functions: - - struct_contains (S, NAME) -- returns 1 if S is a structure with - element NAME; otherwise returns 0. - - struct_elements (S) -- returns the names of all elements - of structure S in an array of strings. - - * New io/subprocess functions: - - fputs -- write a string to a file with no formatting - popen2 -- start a subprocess with 2-way communication - mkfifo -- create a FIFO special file - popen -- open a pipe to a subprocess - pclose -- close a pipe from a subprocess - waitpid -- check the status of or wait for subprocesses - - * New time functions: - - asctime -- format time structure according to local format - ctime -- equivalent to `asctime (localtime (TMSTRUCT))' - gmtime -- return time structure corresponding to UTC - localtime -- return time structure corresponding to local time zone - strftime -- print given time structure using specified format - time -- return current time - - The `clock' and `date' functions are now implemented in M-files - using these basic functions. - - * Access to additional Unix system calls: - - dup2 -- duplicate a file descriptor - exec -- replace current process with a new process - fcntl -- control open file descriptors - fork -- create a copy of the current process - getpgrp -- return the process group id of the current process - getpid -- return the process id of the current process - getppid -- return the process id of the parent process - getuid -- return the real user id of the current process - getgid -- return the real group id of the current process - geteuid -- return the effective user id of the current process - getegid -- return the effective group id of the current process - pipe -- create an interprocess channel - - * Other new functions: - - commutation_matrix -- compute special matrix form - duplication_matrix -- compute special matrix form - common_size.m -- bring arguments to a common size - completion_matches -- perform command completion on string - tilde_expand -- perform tilde expansion on string - - meshgrid -- compatible with Matlab's meshgrid function - tmpnam -- replaces octave_tmp_file_name - atexit -- register functions to be called when Octave exits - putenv -- define an environment variable - bincoeff -- compute binomial coefficients - nextpow2 -- compute the next power of 2 greater than a number - detrend -- remove a best fit polynomial from data - erfinv -- inverse error function - shift -- perform a circular shift on the elements of a matrix - pow2 -- compute 2 .^ x - log2 -- compute base 2 logarithms - diff -- compute differences of matrix elements - vech -- stack columns of a matrix below the diagonal - vec -- stack columns of a matrix to form a vector - xor -- compute exclusive or - - * Functions for getting info from the password database on Unix systems: - - getpwent -- read entry from password-file stream, opening if necessary - getpwuid -- search for password entry with matching user ID - getpwnam -- search for password entry with matching username - setpwent -- rewind the password-file stream - endpwent -- close the password-file stream - - * Functions for getting info from the group database on Unix systems: - - getgrent -- read entry from group-file stream, opening if necessary - getgrgid -- search for group entry with matching group ID - getgrnam -- search for group entry with matching group name - setgrent -- rewind the group-file stream - endgrent -- close the group-file stream - - * The New function octave_config_info returns a structure containing - information about how Octave was configured and compiled. - - * New function getrusage returns a structure containing system - resource usage statistics. The `cputime' function is now defined - in an M-file using getrusage. - - * The info reader is now a separate binary that runs as a - subprocess. You still need the info reader distributed with - Octave though, because there are some new command-line arguments - that are not yet available in the public release of Info. - - * There is a new built-in variable, INFO_PROGRAM, which is used as - the name of the info program to run. Its initial value is - $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can - be overridden by the environment variable OCTAVE_INFO_PROGRAM, or - the command line argument --info-program NAME, or by setting the - value of INFO_PROGRAM in a startup script. - - * There is a new built-in variable, EXEC_PATH, which is used as - the list of directories to search when executing subprograms. Its - initial value is taken from the environment variable - OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be - overridden by the command line argument --exec-path PATH, or - by setting the value of EXEC_PATH in a startup script. If the - EXEC_PATH begins (ends) with a colon, the directories - $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are - prepended (appended) to EXEC_PATH (if you don't specify a value - for EXEC_PATH explicitly, these special directories are prepended - to your PATH). - - * If it is present, Octave will now use an `ls-R' database file to - speed up recursive path searching. Octave looks for a file called - ls-R in the directory specified by the environment variable - OCTAVE_DB_DIR. If that is not set but the environment variable - OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave. - Otherwise, Octave looks in the directory $datadir/octave (normally - /usr/local/lib/octave). - - * New examples directory. - - * There is a new script, mkoctfile, that can be used to create .oct - files suitable for dynamic linking. - - * Many more bug fixes. - - * ChangeLogs are now kept in each subdirectory. - -See NEWS.1 for old news. diff -r 10f6727fbaa8 -r b67c2d580a25 NEWS.3 --- a/NEWS.3 Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +0,0 @@ -Summary of important user-visible changes for version 3.0: ---------------------------------------------------------- - - ** Compatibility with Matlab graphics is much better now. We now - have some graphics features that work like Matlab's Handle - Graphics (tm): - - + You can make a subplot and then use the print function to - generate a file with the plot. - - + RGB line colors are supported if you use gnuplot 4.2. Octave - can still use gnuplot 4.0, but there is no way to set arbitrary - line colors with it when using the Matlab-style plot functions. - There never was any way to do this reliably with older versions - of gnuplot (whether run from Octave or not) since it only - provided a limited set to choose from, and they were terminal - dependent, so choosing color 1 with the X11 terminal would be - different from color 1 with the PostScript terminal. Valid RGB - colors for gnuplot 4.0 are the eight possible combinations of 0 - and 1 for the R, G and B values. Invalid values are all mapped - to the same color. - - This also affects patch objects used in the bar, countour, meshc - and surfc functions, where the bars and contours will be - monochrome. A workaround for this is to type "colormap gmap40" - that loads a colormap that in many cases will be adequate for - simple bar and contour plots. - - + You can control the width of lines using (for example): - - line (x, y, "linewidth", 4, "color", [1, 0, 0.5]); - - (this also shows the color feature). - - + With gnuplot 4.2, image data is plotted with gnuplot and may be - combined with other 2-d plot data. - - + Lines for contour plots are generated with an Octave function, so - contour plots are now 2-d plots instead of special 3-d plots, and - this allows you to plot additional 2-d data on top of a contour - plot. - - + With the gnuplot "extended" terminals the TeX interpreter is - emulated. However, this means that the TeX interpreter is only - supported on the postscript terminals with gnuplot 4.0. Under - gnuplot 4.2 the terminals aqua, dumb, png, jpeg, gif, pm, windows, - wxt, svg and x11 are supported as well. - - + The following plot commands are now considered obsolete and will - be removed from a future version of Octave: - - __gnuplot_set__ - __gnuplot_show__ - __gnuplot_plot__ - __gnuplot_splot__ - __gnuplot_replot__ - - Additionally, these functions no longer have any effect on plots - created with the Matlab-style plot commands (plot, line, mesh, - semilogx, etc.). - - + Plot property values are not extensively checked. Specifying - invalid property values may produce unpredictable results. - - + Octave now sends data over the same pipe that is used to send - commands to gnuplot. While this avoids the problem of - cluttering /tmp with data files, it is no longer possible to use - the mouse to zoom in on plots. This is a limitation of gnuplot, - which is unable to zoom when the data it plots is not stored in - a file. Some work has been done to fix this problem in newer - versions of gnuplot (> 4.2.2). See for example, this thread - - http://www.nabble.com/zooming-of-inline-data-tf4357017.html#a12416496 - - on the gnuplot development list. - - - ** The way Octave handles search paths has changed. Instead of - setting the built-in variable LOADPATH, you must use addpath, - rmpath, or path to manipulate the function search path. These - functions will maintain "." at the head of the path, for - compatibility with Matlab. - - Leading, trailing or doubled colons are no longer special. - Now, all elements of the search path are explicitly included in - the path when Octave starts. To display the path, use the path - function. - - Path elements that end in // are no longer searched recursively. - Instead, you may use addpath and the genpath function to add an - entire directory tree to the path. For example, - - addpath (genpath ("~/octave")); - - will add ~/octave and all directories below it to the head of the - path. - - - ** Previous versions of Octave had a number of built-in variables to - control warnings (for example, warn_divide_by_zero). These - variables have been replaced by warning identifiers that are used - with the warning function to control the state of warnings. - - For example, instead of writing - - warn_divide_by_zero = false; - - to disable divide-by-zero warnings, you should write - - warning ("off", "Octave:divide-by-zero"); - - You may use the same technique in your own code to control - warnings. For example, you can use - - warning ("My-package:phase-of-the-moon", - "the phase of the moon could cause trouble today"); - - to allow users to control this warning using the - "My-package:phase-of-the-moon" warning identifier. - - You may also enable or disable all warnings, or turn them into - errors: - - warning ("on", "all"); - warning ("off", "all"); - warning ("error", "Octave:divide-by-zero"); - warning ("error", "all"); - - You can query the state of current warnings using - - warning ("query", ID) - warning ("query") - - (only those warning IDs which have been explicitly set are - returned). - - A partial list and description of warning identifiers is available - using - - help warning_ids - - - ** All built-in variables have been converted to functions. This - change simplifies the interpreter and allows a consistent - interface to internal variables for user-defined packages and the - core functions distributed with Octave. In most cases, code that - simply accesses internal variables does not need to change. Code - that sets internal variables will change. For example, instead of - writing - - PS1 = ">> "; - - you will need to write - - PS1 (">> "); - - If you need write code that will run in both old and new versions - of Octave, you can use something like - - if (exist ("OCTAVE_VERSION") == 5) - ## New: - PS1 (">> "); - else - ## Old: - PS1 = ">> "; - endif - - - ** For compatibility with Matlab, the output order of Octave's - "system" function has changed from - - [output, status] = system (cmd); - - to - - [status, output] = system (cmd); - - - ** For compatibility with Matlab, the output of Octave's fsolve - function has been changed from - - [x, info, msg] = fsolve (...); - - to - - [x, fval, info] = fsolve (...); - - - ** For compatibility with Matlab, normcdf, norminv, normpdf, and - normrnd have been modified to compute distributions using the - standard deviation instead of the variance. - - - ** For compatibility with Matlab, gamcdf, gaminv, gampdf, gamrnd, - expcdf, expinv, exppdf and exprnd have been modified to compute - the distributions using the standard scale factor rather than - one over the scale factor. - - -See NEWS.2 for old news. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/ChangeLog --- a/OLD-ChangeLogs/ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6999 +0,0 @@ -2011-04-14 Rik - - * NEWS: Add colstyle to list of new functions for 3.4 - -2011-04-04 Rik - - * NEWS: Add perror, strerror to list of functions deprecated in 3.4 - -2011-03-31 Rik - - * NEWS: Add cquad to list of functions deprecated in 3.4 - -2011-03-24 Jarno Rajahalme - - * configure.ac: Try again with "-ff2c" if fortran compiler is - found incompatible. On OSX, try again with - libcruft/misc/blaswrap.c, if "-ff2c" also fails. - -2011-03-17 Iain Murray - - * bootstrap.conf (gnulib_modules): Include nproc in the list. - -2011-03-08 Rik - - * mk-opts.pl: Recode using more modern Perl syntax. - Use my, not local, for lexically-scoped variables. - Use ALL_CAPITALS for global variable names. - Change code to remove any warnings from Perl lint (-w). - Inline small subroutines for better readability. - Use here documents and qq operator to avoid excessive backlashing of ". - Add more informative usage() information. - -2011-03-03 Rik - - * NEWS: Deprecate is_duplicate_entry. - -2011-03-01 Ben Abbott - - * README.MacOS: Add Fink packages needed to support print output. - -2011-02-28 Rik - - * NEWS: Mention new functions isrow, iscolumn. - -2011-02-23 Jordi Gutiérrez Hermoso - - * .hgignore: Cleanup and more files to be ignore that get added - to the source during build time. - -2011-02-22 Rik - - * Makefile.am: New explicit 'make check' target. - -2011-02-21 John W. Eaton - - * NEWS: Note that PCRE is now required to build Octave. - * configure.ac: Improve check for PCRE, which is now required. - Don't check for -lregex. - -2011-02-19 Rik - - * README.MacOS: Keep line length below 80, use 2 spaces to start - sentences. - -2011-02-16 Richard Campbell - - * README.MacOS: Updated Readme.MacOS section 2.2.1 with results of test - compilation on vanilla machine. - -2011-02-15 Benjamin Lindner - - * configure.ac: Use AC_COMPILE_IFELSE to check for OpenGL - support in FLTK. - -2011-02-09 John W. Eaton - - * NEWS: Update. - -2011-02-09 Ben Abbott - - * README.MacOS: Spelling corrections. - -2011-02-08 Ben Abbott - - * README.MacOS: Fix FFTW CCFLAGS. - -2011-02-08 Rik - - * NEWS: Use indentation of 2 spaces rather than 3 in code examples. - -2011-02-08 Ben Abbott - - * README.MacOS: Add detail. - -2011-02-08 John W. Eaton - - * NEWS: Add note about subfunctions. - -2011-02-06 John W. Eaton - - * PROJECTS, README.devel: Use maintainers@octave.org instead of - octave-maintainers@octave.org. - -2011-02-05 Rik - - * PROJECTS: Point to maintained list on Octave Wiki. - -2011-02-05 Rik - - * mkoctfile.in, octave-config.in: Update usage strings. - -2011-02-04 Rik - - * configure.ac: Add new doc/icons/Makefile to list of Makefiles to build - * examples/Makefile.am: Move building of .desktop files and distribution - of icons to doc/icons directory. - -2011-01-30 Rik - - * NEWS: Deprecate glpkmex function. - -2011-01-30 John W. Eaton - - * acinclude.m4 (OCTAVE_PROG_GHOSTSCRIPT): Update warning message. - -2011-01-30 John W. Eaton - - * configure.ac: Remove code to print warning for missing ARPACK. - * README.MacOS: Remove arpack from list of prerequisite software. - -2011-01-29 Rik - - * NEWS: Deprecate saveimage function. - -2011-01-28 Ben Abbott - - * README.MacOS: Spelling corrections. - * README.MacOS: Additional modifications for building Octave manually. - * README.MacOS: Modify instructions for building Octave manually. - -2011-01-28 John W. Eaton - - * configure.ac: Don't check for ARPACK. - * common.mk (ARPACK_CPPFLAGS, ARPACK_LDFLAGS, ARPACK_LIBS): - Delete variables. - (do_subst_config_vals): Don't substitute them. - -2011-01-27 Ben Abbott - - * README.MacOS: Modify instructions for MacPorts to "deactivate" - rather than "uninstall" octave. - -2011-01-26 John W. Eaton - - * mk-opts.pl, mkoctfile.cc.in, mkoctfile.in: Untabify. - - * mkf77def.in, mk-opts.pl, mkoctfile.cc.in, structdemo.cc, - unwinddemo.cc, fortdemo.cc, paramdemo.cc, - celldemo.cc,stringdemo.cc, hello.cc, embedded.cc, helloworld.cc: - Strip trailing whitespace. - -2011-01-26 Ben Abbott - - * README.MacOS: Modify organization, and update for MacPorts. - -2011-01-26 John W. Eaton - - * bootstrap: Update from gnulib sources. - -2011-01-26 John W. Eaton - - * configure.ac (INSTALL_SCRIPT): Update commend about UGLY_DEFS. - -2011-01-26 John W. Eaton - - * acinclude.m4 (OPENGL_LIBS): Don't add -L/usr/X11R6/LIB to - LDFLAGS in test. Bug #32160. - -2011-01-25 Rik - - * Makefile.am: Directly run makefile rules in doc/interpreter directory - for AUTHORS, BUGS, INSTALL.OCTAVE files. - -2011-01-25 John W. Eaton - - * autogen.sh (AUTOMAKE): Add --foreign to the automake command. - Check for required GNU files here instead of having automake do it. - Export AUTOMAKE so our options are actually used. - -2011-01-25 John W. Eaton - - * Makefile.am (EXTRA_DIST): Remove ROADMAP from the list. - -2011-01-24 Rik - - * AUTHORS: Remove. File now auto-generated from contributors.texi. - * Makefile.am: Add rule for AUTHORS file. - -2011-01-24 John W. Eaton - - * NEWS: Note change in audio/mu2lin. - -2011-01-22 Tatsuro MATSUOKA - - * README.MinGW: Small corrections to documentation. - -2011-01-22 Rik - - * README.devel: Update for 3.4 release. - -2011-01-22 Rik - - * HACKING: Revise and incorporate all of file ROADMAP. - * ROADMAP: Deleted. - -2011-01-22 Rik - - * README.Windows: Reference README.MinGW - * README.MinGW: Replace placeholder with actual instructions - -2011-01-22 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.5.0+. - (OCTAVE_API_VERSION_NUMBER): Now 44. - (OCTAVE_RELEASE_DATE): Now 2011-01-22. - (OCTAVE_COPYRIGHT): Update year. - -2011-01-20 Rik - - * README.Cygwin, README.MacOS, README.Windows, README.ftp: Update - documentation files for 3.4 release. - - * README.MinGW: Create placeholder for new README file. - -2011-01-20 John W. Eaton - - * bootstrap: Update from gnulib sources. - -2011-01-20 John W. Eaton - - * configure.ac, NEWS: Update for backend -> graphics_toolkit change. - -2011-01-17 Rik - - * NEWS: Add quadcc to list of new functions added. - -2011-01-17 John W. Eaton - - * mkoctfile.cc.in (main): Add + missing from previous change. - -2011-01-15 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.54. - (OCTAVE_API_VERSION_NUMBER): Now 42. - (OCTAVE_RELEASE_DATE): Now 2010-11-19. - -2011-01-15 John W. Eaton - - * NEWS: Add krylovb to deprecated function list. - -2011-01-14 Rik - - * NEWS: Add replot to deprecated function list. - -2011-01-14 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include filemode in the list. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2011-01-14 John W. Eaton - - * bootstrap (gnulib_path): Set default gnulib path with ${x:=y}, - not ${x=y}. - -2011-01-14 John W. Eaton - - * bootstrap, bootstrap.conf: Update from gnulib sources. - -2011-01-13 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include mkstemp in the list. - -2011-01-13 John W. Eaton - - * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): - Eliminate some code duplication. - -2011-01-13 John W. Eaton - - * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): Check for - -Wcast-qual and -Wcast-align and add them to WARN_CFLAGS and - WARN_CXXFLAGS. - -2011-01-13 John W. Eaton - - * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): Check for - -Wpointer-arith, -Wmissing-prototypes, -Wstrict-prototypes, and - -Wwrite-strings and add them to WARN_CFLAGS. Check for - -Wpointer-arith and add them to WARN_CXXFLAGS. - -2011-01-12 John W. Eaton - - * mk-opts.pl: Generate initialization lists and in-line code for - copying. - -2011-01-11 Rik - - * ROADMAP: Update guide to Octave directory structure. - -2011-01-11 Rik - - * README.mirrors: Update ftp links. - -2011-01-06 Rik - - * README: Update links and disk space requirements. - -2011-01-06 Jordi Gutiérrez Hermoso - - * run-octave.in: Add a -gud option so that gdb can be called from - Emacs's GUD mode and similar. - -2011-01-06 John W. Eaton - - * mkoctfile.in, mkoctfile.cc.in: Substitute and use LAPACK_LIBS. - Bug #32009. - -2011-01-04 Rik - - * README.MacOS: Update CFLAGS recommendation to use -O2. - -2011-01-04 Rik - - * README.gnuplot: Update recommendation to version 4.4. - -2011-01-04 Marco Atzeri - - * README.Cygmin: Update build instructions before 3.4 release. - -2010-12-31 Kai Habel - - * NEWS: Add curl and divergence to new functions list. - -2010-12-20 Ben Abbott - - * README.MacOS, Makefile.am: Update build insructions for MacOS and - distribute file in tarball. - -2010-12-20 Rik - - * README.Cray, SENDING-PATCHES, Makefile.am: Remove obsolete files. - -2010-12-18 Rik - - * NEWS: Deprecate sphcat and spvcat functions. - -2010-12-17 Rik - - * README.MacOS: New file documenting build instructions for Mac OSX. - -2010-12-09 Kai Habel - - * NEWS: Add pie3 to new functions list. - -2010-12-09 Marco Atzeri - - * configure.ac: Don't add -lwsock32 to LIBS on cygwin systems. - -2010-11-21 Kai Habel - - * NEWS: Add uigetdir, uigetfile, uiputfile. - -2010-11-19 John W. Eaton - - * Makefile.am (bin_SCRIPTS): Remove run-octave from the list. - -2010-10-19 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.54+. - -2010-10-19 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.54. - (OCTAVE_API_VERSION_NUMBER): Now 42. - (OCTAVE_RELEASE_DATE): Now 2010-11-19. - -2010-11-15 Kai Habel - - * NEWS: Add saveas. Fix uimenu. - -2010-11-14 Michael Goffioul - - * mkoctfile.cc.in: replace %OCTAVE_CONF_F77_INTEGER8_FLAG% with - %OCTAVE_CONF_F77_INTEGER_8_FLAG%. - -2010-11-10 John W. Eaton - - * configure.ac: Don't check for nan.h. - -2010-11-10 John W. Eaton - - * configure.ac (AH_BOTTOM): Eliminate special case for __DECCXX: - -2010-11-10 John W. Eaton - - * configure.ac: Eliminate special cases for nextstep. - -2010-11-10 John W. Eaton - - * configure.ac: Eliminate special checks for SCO systems. - -2010-11-10 John W. Eaton - - * NEWS: Update deprecated function list with dispatch. - -2010-11-09 Rik - - * configure.ac: Fix typo where variable name was missing '$' - -2010-11-09 Rik - - * configure.ac: Properly m4 quote AS_HELP_STRING. - -2010-11-09 Rik - - * configure.ac: Remove redundant warning message when '--without-opengl' - option used. - -2010-11-09 John W. Eaton - - * configure.ac: Don't check for trunc, copysign, or _copysign. - -2010-11-08 John W. Eaton - - * configure.ac (--without-opengl): New configure option. - -2010-11-03 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include copysign in the list. - -2010-10-28 Rik - - * NEWS: Update deprecated function list with autocov and autocor. - -2010-10-25 Kai Habel - - * NEWS: Add uimenu. - -2010-10-24 Rik - - * NEWS: Update deprecated function list for version 3.4. - -2010-10-22 John W. Eaton - - * Makefile.am (EXTRA_DIST): Include bootstrap and bootstrap.conf - in the list. - -2010-10-19 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.53+. - -2010-10-19 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.53. - (OCTAVE_API_VERSION_NUMBER): Now 41. - (OCTAVE_RELEASE_DATE): Now 2010-10-19. - -2010-09-29 John W. Eaton - - * examples/make_int.cc (Fmake_int): Don't pass arg to mlock. - -2010-09-29 John W. Eaton - - * examples/structdemo.cc (Fstructdemo): Use octave_scalar_map - instead of Octave_map. - -2010-09-29 John W. Eaton - - * configure.ac: Style fixes. - -2010-09-29 John P. Swensen - - * configure.ac: Allow selection of GraphicsMagick or ImageMagick - at configure time using "--with-magick=" option. - -2010-09-24 Jaroslav Hajek - - * m4/ax_blas.m4: Update. - -2010-09-23 John W. Eaton - - * octave-bug.in, octave-bug.cc.in: Delete - * Makefile.am (EXTRA_DIST): Remove them from the list. - (bin_PROGRAMS): Remove octave-bug from the list. - (octave_bug_SOURCES, nodist_octave_bug_SOURCES): Delete variables. - (BUILT_SOURCES): Remove octave-bug.cc from the list. - (bin_SCRIPTS): Remove octave-bug from the list. - (octave-bug.cc, octave-bug): Delete rules. - -2010-09-20 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include mktime in the list. - -2010-09-18 John W. Eaton - - * Makefile.am (BUILT_SOURCES): Include run-octave in the list. - -2010-09-16 John W. Eaton - - * configure.ac (SCRIPTS_EXE_SUFFIX) Delete variable and all uses. - (BUILD_COMPILED_AUX_PROGRAMS): New variable. - (AMCOND_BUILD_COMPILED_AUX_PROGRAMS): New Automake conditional. - * Makefile.am (SCRIPTS_EXE_SUFFIX, BUILT_SHELL_FILES): Delete - variables and all uses. - (bin_SCRIPTS, bin_PROGRAMS, mkoctfile_SOURCES, - nodist_mkoctfile_SOURCES, octave_config_SOURCES, - nodist_octave_config_SOURCES, octave_bug_SOURCES, - nodist_octave_bug_SOURCES, BUILT_SOURCES): Define conditionally - based on AMCOND_BUILD_COMPILED_AUX_PROGRAMS. - (noinst_SCRIPTS): New variable. - (CLEANFILES): Include $(bin_PROGRAMS) $(bin_SCRIPTS) - $(BUILT_SOURCES) in the list. - (all-local): Also depend on $(bin_PROGRAMS) and $(noinst_SCRIPTS). - (octave-bug.cc, octave-config.cc, mkoctfile.cc, octave-bug) - (octave-config, mkoctfile): Make rules conditional on - AMCOND_BUILD_COMPILED_AUX_PROGRAMS. - (make-version-links, remove-version-links): Define different - rules conditional on AMCOND_BUILD_COMPILED_AUX_PROGRAMS. - -2010-09-13 Jaroslav Hajek - - * NEWS: Update. - -2010-09-10 Jaroslav Hajek - - * m4/ax_blas_f77_func.m4: Update. - -2010-09-07 Ben Abbott - - * acinclude.m4, configure.ac, m4/module.mk: Update acx_*.m4 - macros to the newer ax_*.m4 versions. - * ax_blas.m4, ax_lapack.m4, ax_blas_f77_func.m4, - ax_pthread.m4: Add files. - * acx_blas.m4, acx_lapack.m4, acx_blas_f77_func.m4, - acx_pthread.m4: Remove files. - -2010-09-01 Jaroslav Hajek - - * NEWS: Update. - -2010-08-21 Rik - - * NEWS: Add randi to list of new functions - -2010-08-09 John Swensen - - * mkoctfile.in: Add ability to pass -pthread through to linker. - -2010-08-13 Jaroslav Hajek - - * NEWS: Update. - -2010-08-09 Rik - - * examples/Makefile.am: Don't echo 'echo' command when building - octave.desktop. - -2010-08-09 Jaroslav Hajek - - * NEWS: Update. - -2010-08-05 Rik - - * configure.ac: Change warning messages about freetype and fontconfig - to reflect their requirement for native graphics. Bug #30594. - -2010-08-05 Rik - - * Makefile.am: Remove distribution of emacs directory - - * emacs/info-emacs-info, emacs/info-emacs-octave-help, emacs/module.mk, - emacs/NEWS, emacs/octave-hlp.el, emacs/octave-inf.el, - emacs/octave-mod.el, emacs/octave-tags, emacs/octave-tags.1, - emacs/README, emacs/TODO: Remove from further hg checkouts. - -2010-08-05 Rik - - * ChangeLog: Correct date in version upgrade 3.3.52+ comment. - -2010-08-01 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.52+. - -2010-08-01 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.52. - (OCTAVE_API_VERSION_NUMBER): Now 40. - (OCTAVE_RELEASE_DATE): Now 2010-08-01. - -2010-07-30 Rik - - * Makefile.am: add .gdbinit to the DISTCLEANFILES list - -2010-07-29 Jaroslav Hajek - - * NEWS: Include list of new functions. - -2010-07-08 Rik - - * NEWS: Update with addition of engineering format. - -2010-07-08 Jaroslav Hajek - - * NEWS: Update. - -2010-06-23 Jaroslav Hajek - - * mkoctfile.in: F77_INTEGER_8_FLAG -> OCTAVE_CONF_F77_INTEGER_8_FLAG. - -2010-06-23 Jaroslav Hajek - - * configure.ac: Temporarily include F77_INTEGER_8_FLAG in FFLAGS for - BLAS checking. - * mkoctfile.in: Include F77_INTEGER_8_FLAG in ALL_FFLAGS. - * mkoctfile.cc.in: Ditto. - -2010-05-18 Jaroslav Hajek - - * NEWS: Update. - -2010-05-11 Rik - - * configure.ac: Capitalize ARPACK in messages. - -2010-05-04 John W. Eaton - - * ROADMAP: Delete entry for villad. - -2010-04-26 Rik - - * configure.ac: fix bug with shell HERE document introduced in - previous change. - -2010-04-26 Shai Ayal - - * configure.ac: make all graphics related tests inter-dependent - -2010-04-20 Jaroslav Hajek - - * NEWS: Update. - -2010-04-16 David Bateman - - * PROJECTS: Update for new sparse functionality. - -2010-04-14 Shai Ayal - - * NEWS: Update. - -2010-04-08 Marco Atzeri - - * Makefile.am (make-version-links, remove-version-links): - Use SCRIPTS_EXE_SUFFIX for scripts, not EXEEXT. - -2010-04-07 John W. Eaton - - * README.ftp, README.devel: - Update from Judd Storrs . - -2010-03-27 David Bateman - - * acinclude.m4 (OCTAVE_CHECK_OPENMP): Macro to check for OpenMP support - * configure.ac: Use it here. Disable OpenMP support by default - -2010-03-25 John W. Eaton - - * bootstrap.conf (gnulib_modules): Sort the list. - -2010-03-25 Jaroslav Hajek - - * bootstrap.conf: Include roundf, trunc, truncf. - -2010-03-24 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.51+. - -2010-03-24 John W. Eaton - - * configure.ac (AC_INIT): Version is now 3.3.51. - (OCTAVE_API_VERSION_NUMBER): Now 39. - (OCTAVE_RELEASE_DATE): Now 2010-03-24. - -2010-03-24 John W. Eaton - - * NEWS: Style fixes. - -2010-03-23 Jaroslav Hajek - - * NEWS: Update. - -2010-03-15 John W. Eaton - - * configure.ac (AH_BOTTOM): Define GNULIB_NAMESPACE. - -2010-03-09 Jaroslav Hajek - - * NEWS: Update. - -2010-03-01 John W. Eaton - - * acinclude.m4 (OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS, - OCTAVE_CXX_COMPLEX_SETTERS): New macros. - * configure.ac: Use them. - -2010-02-25 John W. Eaton - - * gdbinit: New file. - * Makefile.am (EXTRA_DIST): Add it to the list. - (all-local): Depend on .gdbinit. - (.gdbinit): New rule. - -2010-02-22 John W. Eaton - - * boostrap: Update from gnulib/build-aux/bootstrap. - -2010-02-21 Michael Goffioul - - * configure.ac: Define NOMINMAX under MSVC. - - * configure.ac: Add pcre_config --cflags to XTRA_CXXFLAGS instead of - CPPFLAGS. - -2010-02-17 John W. Eaton - - * configure.ac: Add $COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS, - and $AMD_LIBS to LIBS when checking for cholmod library. - -2010-02-17 John W. Eaton - - * acinclude.m4 (OCTAVE_CHECK_FORTRAN_INTEGER_SIZE): Save and - restore FFLAGS. Temporarily add F77_INTEGER_8_FLAG to FFLAGS. - * common.mk (F77_INTEGER_8_FLAG): New variable. - (do_subst_config_vals): Substitute it. - * configeure.ac: Don't add -fdefault-integer-8 to FFLAGS. - Substitute F77_INTEGER_8_FLAG. Improve --enable-64 warning. - -2010-02-15 Jaroslav Hajek - - * NEWS: Update. - -2010-02-10 Jaroslav Hajek - - * NEWS: Update. - -2010-02-08 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include progname in the list. - -2010-02-08 Jaroslav Hajek - - * NEWS: Update. - -2010-02-04 John W. Eaton - - * configure.ac: Don't check for gethostname. - * bootstrap.conf (gnulib_modules): Include gethostname in the list. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for fcntl.h or fcntl. - * bootstrap.conf (gnulib_modules): Include fcntl in the list. - -2010-02-03 John W. Eaton - - * acinclude.m4 (OCTAVE_HAVE_C99_VSNPRINTF): Delete. - * configure.ac: Don't call OCTAVE_HAVE_C99_VSNPRINTF. - Don't check for snprintf, vfprintf, vsprintf, vsnprintf, or _snprintf. - * bootstrap.conf (gnulib_modules): Include vsprintf in the list. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for strerror. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for raise or strdup. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for poll or usleep. - * bootstrap.conf (gnulib_modules): Include nanosleep and sleep - in the list. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for sigaction, sigpending, - sigprocmask, or sigsuspend. - -2010-02-03 John W. Eaton - - * configure.ac: Don't check for getcwd. - * bootstrap.conf (gnulib_modules): Include getcwd in the list. - -2010-02-02 John W. Eaton - - * configure.ac: Assume signal.h provides sigset_t and sig_atomic_t. - -2010-02-02 John W. Eaton - - * configure.ac: Don't call OCTAVE_SIGNAL_CHECK, - OCTAVE_REINSTALL_SIGHANDLERS, AC_C_CONST, AC_HEADER_STDC, or - AC_STRUCT_TM, AC_TYPE_SIGNAL. - Don't define RETSIGTYPE_IS_VOID. - * acinclude.m4 (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): - Don't call AC_TYPE_SIGNAL. Assume sighandler return type is void. - (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): Delete macros. - * bootstrap.conf (gnulib_modules): Include sigaction, signal, - and sigprocmask in the list. - -2010-02-02 John W. Eaton - - * configure.ac: Don't check for stdint.h. - (AH_BOTTOM): Unconditionally include stdint.h. - Delete fallback integer type definitions. - * bootstrap.conf (gnulib_modules): Include stdint in the list. - -2010-02-02 John W. Eaton - - * configure.ac: Don't check for atexit or on_exit. - -2010-02-02 John W. Eaton - - * configure.ac: Don't check for bcopy, bzero, or memmove. - -2010-02-02 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include sys_time, sys_times, - and time in the list. - * configure.ac: Don't check for sys/time.h, sys/times.h, - sys/stat.h, sys/utimes, or utimes.h. - Don't call AC_HEADER_TIME. - -2010-02-02 John W. Eaton - - * acinclue.m4 (OCTAVE_STRPTIME_BROKEN): Delete. - * configure.ac: Don't call it. - -2010-02-01 John W. Eaton - - * acinclude.m4 (OCTAVE_PROG_MAKEINFO): Delete macro. - * configure.ac: Don't call it. Don't issue warning about - makeinfo in summary. - -2010-01-31 Jaroslav Hajek - - * NEWS: Update. - -2010-01-27 Jaroslav Hajek - - * NEWS: Update. - -2010-01-21 John W. Eaton - - * configure.ac: Don't check for standard C headers (by now, I - think we can safely assume they exist). Don't check for - varargs.h. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include sys_stat in the list. - * configure.ac: Don't check for sys/types.h or unistd.h. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include unistd in the list. - Keep list sorted. - -2010-01-21 John W. Eaton - - * configure.ac: Delete checks for rename, link, readlink, rmdir, - strcasecmp, stricmp, strncasecmp, strnicmp, strptime, symlink, - and unlink. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include pathmax and readlink - in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include symlink in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include link in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include unlink in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include strptime in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include rename in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include rmdir in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include c-strcase in the list. - -2010-01-21 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include getopt-gnu in the list. - -2010-01-17 Michael Goffioul - - * bootstrap.conf: Add round module. - * configure.ac: Allow to use MSVC with *mingw* build host. Check for - opendir in -ldirent. Add -ladvapi32 to LIBS. - -2010-01-15 John W. Eaton - - * NEWS: Edit. - -2010-01-15 Jaroslav Hajek - - * NEWS: Update. - -2010-01-14 Jaroslav Hajek - - * NEWS: Update. - -2010-01-13 John W. Eaton - - * configure.ac: Handle --enable-docs. Print warning in summary - if building documentation is disabled. - * Makefile.am (SUBDIRS): Use @DOCDIR@ instead of doc. - (dist-hook): New target, conditional on AMCOND_BUILD_DOCS. - -2010-01-09 John W. Eaton - - * configure.ac: Don't check for nlink_t. - (AH_BOTTOM): Don't define nlink_t here. - -2010-01-07 John W. Eaton - - * configure.ac: Don't check for times. - * bootstrap.conf (gnulib_modules): Include times in the list. - -2010-01-07 John W. Eaton - - * configure.ac: Don't check for gettimeofday, or whether - gettimeofday accepts one or two arguments. - * bootstrap.conf (gnulib_modules): Include gettimeofday in the list. - -2010-01-05 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include mkfifo in the list. - -2010-01-05 John W. Eaton - - * bootstrap.conf (gnulib_modules): Remove nonexistent fstat module. - -2009-12-22 Rik - - * WWW/: remove web directory no longer used - -2010-01-04 Jaroslav Hajek - - * NEWS: Update. - -2009-12-27 John W. Eaton - - * configure.ac: Use libtool cache variables to simplify checks - for dynamic linking api. - -2009-12-26 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include fstat, lstat, and - stat in the list. - * configure.ac: Don't check for fstat, lstat, or stat. - -2009-12-25 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include mkdir in the list. - * configure.ac: Don't check for mkdir. - Don't call OCTAVE_MKDIR_TAKES_ONE_ARG. - * acinclude.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): Delete. - -2009-12-25 John W. Eaton - - * bootstrap.conf (gnulib_modules): Include crypto/md5 in the list. - -2009-12-22 Rik - - * configure.ac: Remove second redundant test for nlink_t - -2009-12-21 Rik - - * dlfcn directory: Remove dlfcn directory with leftover code from 1996 - -2009-12-20 Rik - - * acinclude.m4: use M4 quoting for arguments to autoconf macros - -2009-12-20 Rik - - * configure.ac, acinclude.m4: Better warnings when gnuplot is not - installed but native graphics are available - -2009-12-19 Rik - - * emacs/module.mk, examples/Makefile.am, info-emacs-info, - info-emacs-octave-help: Distribute emacs specific files from emacs - directory rather than examples directory - -2009-12-19 Rik - - * m4/module.mk, Makefile.am: Redo previous patch with distribution - triggered by m4/module.mk. - -2009-12-19 Rik - - * Makefile.am: Distribute m4/gnulib-cache.m4 per recommendation - -2009-12-19 Rik - - * Makefile.am, examples/Makefile.am, common.mk, configure.ac: Eliminate - TOPDIR variable in favor of built-in automake variables of top_builddir - and top_srcdir. - -2009-12-19 Rik - - * Makefile.am: Use M4 quoting for arguments to autoconf macros containing - variables - -2009-12-19 Jaroslav Hajek - - * data.cc (Fsize_equal): Allow calling with zero arguments. - variables - -2009-12-15 John W. Eaton - - * README.MSVC: Delete section about obtaining glob library. - * bootstrap.conf (gnulib_modules): Add fnmatch and glob to the list. - * common.mk (LIBGLOB): Delete variable. - (do_subst_config_vals): Don't substitute it. - * octave-bug.in, octave-bug.cc.in: Eliminate LIBGLOB variable. - * configure.ac: Don't check for glob.h or the glob and fnmatch - functions. Eliminate LIBGLOB variable. - -2009-12-11 Rik - - * HACKING: Elaborate which DIRNAME to use for --gnulib-srcdir option. - -2009-12-11 John W. Eaton - - * configure.ac: Add $PTHREAD_LIBS to $LIBS and $PTHREAD_CFLAGS - to $CFLAGS for subsequent tests. - -2009-12-11 Rik - - * Makefile.am: remove install-extras target and use automake syntax to - distribute NEWS file. - * examples/Makefile.am: remove install-images target and use automake - syntax to distribute image data. - -2009-12-11 John W. Eaton - - * .dir-locals.el: Correctly set indent-tabs-mode for ChangeLogs, - and Makefiles. - - * common.mk (cp_update_rule): New macro. - -2009-12-10 John W. Eaton - - * mkoctfile.in, mkoctfile.cc.in: If output file is specified and - it does not end in output_ext, append output_ext. - -2009-12-10 John W. Eaton - - * mkoctfile.in, mkoctfile.cc.in: When compiling files in - subdirectories, place object files in current directory by - default. - -2009-12-10 John W. Eaton - - * mkoctfile.cc.in: Accept long options with single -. - -2009-12-10 John W. Eaton - - * mkoctfile.in: Accept long options with single -. - -2009-12-09 John W. Eaton - - * HACKING: Clarify gnulib checkout and use. - -2009-12-09 John W. Eaton - - * configure.ac: Remove URL argument from AC_INIT. - Use AC_CONFIG_AUX_DIR. Move AM_INIT_AUTOMAKE after other - AC_CONFIG setup macros. Use gl_EARLY and gl_INIT for gnulib. - Add libgnu/Makefile to the list of AC_CONFIG_FILES. Eliminate - special case check for for strftime. - * bootstrap: New file, from gnulib. - * bootstrap.conf: New file, from gnulib. Override bootstrap - defaults for checkout_only_file, gnulib_tool_option_extras, - gnulib_name, and source_base. - (gnulib_modules): Add strftime to the list. - * autogen.sh: Simply generate makefile fragments and call - bootstrap to do the rest of the initial setup. - * Makefile.am (SUBDIRS): Add libgnu to the list. - * libgnu/Makefile.am: New directory and file. - * INSTALL: Remove our copy so version from gnulib will be - distributed. - * HACKING: New file. - -2009-12-08 Rik - - * Makefile.am: add BUGS and OCTAVE.INSTALL to DISTCLEANFILES - -2009-12-08 John W. Eaton - - * configure.ac: Update gnuplot status message. - * acinclude.m4 (OCTAVE_PROG_GNUPLOT): Likewise. - -2009-12-07 John W. Eaton - - * examples/make_int.cc: Delete Emacs local variables. - - * .dir-locals.el: New file. - -2009-12-07 John W. Eaton - - * examples/firstmexdemo.c, examples/fortdemo.cc, - examples/funcdemo.cc, examples/hello.cc, examples/make_int.cc, - examples/mycell.c, examples/myfeval.c, examples/myfunc.c, - examples/mypow2.c, examples/mysparse.c, examples/mystring.c, - examples/mystruct.c, examples/paramdemo.cc, - examples/stringdemo.cc, examples/structdemo.cc, - examples/unwinddemo.cc, examples/embedded.cc: Untabify. - -2009-12-04 John W. Eaton - - * configure.ac (OCTAVE_API_VERSION_NUMBER): New variable. - (OCTAVE_API_VERSION): Define using OCTAVE_API_VERSION_NUMBER. - * common.mk (OCTAVE_API_VERSION_NUMBER): New variable. - -2009-12-04 John W. Eaton - - * configure.ac: Check $have_x = yes, not just $have_x. - From Carmine Paolino . - -2009-12-04 John W. Eaton - - * configure.ac: Require auotconf 2.62. - -2009-12-03 John W. Eaton - - * common.mk (OCTAVE_VERSION, OCTAVE_API_VERSION) - (OCTAVE_RELEASE_DATE, OCTAVE_COPYRIGHT, OCTAVE_IDX_TYPE): - New substituted variables. - (version): Define from $(OCTAVE_VERSION). - (api_version): Define from $(OCTAVE_API_VERSION). - (do_subst_texinfo_vals): Delete macro. - - * configure.ac (AC_CONFIG_HEADER): Quote arg. - (AC_CONFIG_FILES): Remove mxarray.h and version.h from the list. - - * examples/Makefile.am (CLEANFILES): New variable. - -2009-11-30 Kacper Kowalik - - * acinclude.m4 (OCTAVE_HDF5_HAS_ENFORCED_16_API): New macro that - tests whether the HDF5 library has an enforced v1.6 API and detects - v1.8 APIs. - * configure.m4: Adapt test for HDF5 libraries to support v1.8 - HDF5 libraries. - -2009-11-29 Jaroslav Hajek - - * NEWS: Update. - -2009-11-27 David Bateman - - * configure.ac (HAVE_H5GGET_NUM_OBJS) Remove define. - -2009-11-27 David Bateman - - * NEWS: Document ftp objects. - * configure.ac: Document that curl libraries impact ftp objects. - -2009-11-26 Jaroslav Hajek - - * NEWS: Update. - -2009-11-25 Tatsuro MATSUOKA - - * acinclude.m4 (OCTAVE_PROG_GNUPLOT): Don't check for pgnuplot or - pipe-gnuplot on Windows systems. Set default to gnuplot for all - systems. - (OCTAVE_PROG_GHOSTSCRIPT): Check for gswin32c first on Windows - systems, then gs. - -2009-11-25 Rik - - * Makefile.am examples/Makefile.am liboctave/Makefile.am - scripts/Makefile.am src/Makefile.am test/Makefile.am: - Remove unnecessary .PHONY targets for common targets which - Automake supplies already. Examples are local-all, install-local-data - -2009-11-21 John W. Eaton - - * configure.ac (AC_MSG_NOTICE): Report graphics (fltk) CFLAGS. - Report fontconfig CFLAGS and LIBS. - Report freetype2 CFLAGS and LIBS. - -2009-11-21 John W. Eaton - - * common.mk: Substitute FT2_CFLAGS. - * configure.ac: Remove spurious lines in check for freetype. Add - $FT2_CFLAGS to $XTRA_CXXFLAGS. - -2009-11-18 Jaroslav Hajek - - * NEWS: Update. - -2009-11-18 Jaroslav Hajek - - * NEWS: Update. - -2009-11-16 John W. Eaton - - * common.mk (AM_CXXFLAGS): Don't include DLL_CXXDEFS in the list. - (CONFIGURE_CFLAGS): New variable. - (AM_CFLAGS): Define similar to AM_CXXFLAGS. - -2009-11-12 John W. Eaton - - * configure.ac (AC_CONFIG_FILES): Also generate libcruft/mkf77def. - -2009-11-11 John W. Eaton - - * acinclude.m4 (OCTAVE_IEEE754_DATA_FORMAT): Fail if IEEE 754 - format is not detected. - -2009-11-11 Shai Ayal - - * configure.ac: Remove tests for ftgl. - -2009-11-11 Benjamin Lindner - - * configure.ac: Remove -mwindows from FLTK_LDFLAGS. - -2009-11-11 John W. Eaton - - * configure.ac: Fail if LT_INIT it is not defined. - -2009-11-10 John W. Eaton - - * NEWS: Update. - - * configure.ac: Exit with error if BLAS or LAPACK libraries are - not found or if the BLAS library is found to be incompatible with - the Fortran compiler. Eliminate warn_blas_f77_incompatible - variable. - -2009-11-10 John W. Eaton - - * configure.ac: Set octincludedir to - $(includedir)/octave-$(version)/octave, not - $(includedir)/octave-$(version). - * mkoctfile.in: Set DEFAULT_INCFLAGS to -I$octincludedir/.. and - -I$octincludedir instead of -I$octincludedir and - -I$octincludedir/octave. - - * configure.ac: Pass args to AC_INIT. Invoke AM_INIT_AUTOMAKE and - AC_PROG_LIBTOOL. Don't call AC_PROG_RANLIB. Set version info here. - Call AC_CONFIG_MACRO_DIR. Give same warning for gcc 1.x and 2.x. - Use AM_CONDITIONALS for FFTW, BLAS, and LAPACK. Don't set - variables with calls to ACX_BLAS_WITH_F77_FUNC or ACX_LAPACK. - Don't substitute BLAS_DIR or LAPACK_DIR. Use LT_INIT. Eliminate - --enable-shared and --enable-static options (now provided by - LT_INIT). Set SHARED_LIBS and STATIC_LIBS variables based on - LT_INIT variables. Handle dlopen libraries with info from - LT_INIT. Substitute NO_UNDEFINED_FLAG (only set on Windows - sytems). Include $LAPACK_LIBS in $LIBS when checking for qrupdate - and cholmod. Handle --enable-dl consistently with other --enable - options. Don't copy $srcdir/Makefile in AH_BOTTOM commands. - Substitute LEX_OUTPUT_ROOT. Use AM_CONDITONAL for - ENABLE_DYNAMIC_LINKING. Reindent configure summary. - (AC_CONFIG_FILES): Don't list Makefiles in libcruft - subdirectories. Generate Makefile and src/version.h. Don't - generate Makeconf, octMakefile, m4/Makefile, emacs/Makefile, - examples/@polynomial/Makefile, or examples/@FIRfilter/Makefile. - - * run-octave.in Call libtool to execute src/octave. - (ldpreloadsep, liboctinterp, liboctave, libcruft): Delete variables. - (INFOFILE): Find it in $top_srcdir, not $builddir. - - * acinclude.m4: Rename from aclocal.m4. - (OCTAVE_PROG_FLEX): Don't include -t in LFLAGS. - - * autogen.sh: Exit immediately on error. Use libtoolize, aclocal, - and automake. Only run autoconf and autoheader in top-level and - scripts directories. - Run liboctave/config-ops.sh, doc/interpreter/config-images.sh, and - src/DLD-FUNCTIONS/config-module.sh, to generate source lists for - subdirectories. - - * AUTHORS, Makefile.am, common.mk, m4/module.mk, emacs/module.mk, - examples/@FIRfilter/module.mk, examples/@polynomial/module.mk, - examples/Makefile.am: New files. - * Makeconf.in, Makefile, octMakefile.in, m4/Makefile.in, - emacs/Makefile.in, install-sh, examples/Makefile.in, - examples/@FIRfilter/Makefile.in, examples/@polynomial/Makefile.in: - Delete. - -2009-11-09 David Grundberg - - * configure.ac: Use AMD_CPPFLAGS while checking for UMFPACK. - -2009-10-29 Thomas Treichl - - * configure.in: Add support for dlopen on Mac systems. - -2009-10-20 Jaroslav Hajek - - * NEWS: Update. - -2009-10-13 Jaroslav Hajek - - * NEWS: Update. - -2009-10-08 Jaroslav Hajek - - * configure.ac: Define HAVE_QRUPDATE_LUU if qrupdate supports LU updates. - -2009-10-08 Jaroslav Hajek - - * configure.ac: Use the LANG argument to OCTAVE_CHECK_LIBRARY to avoid - ugly names. - -2009-09-23 Jaroslav Hajek - - * NEWS: Update. - -2009-09-18 John W. Eaton - - * aclocal.m4: Consistently quote first arg to AC_DEFUN. - -2009-09-17 John W. Eaton - - * configure.ac: Also AC_DEFINE OCTAAVE_IDX_TYPE. - (AH_BOTTOM): Include contents of libcruft/misc/oct-dlldefs.h and - liboctave/oct-types.h here. Use C-style comments. - (AC_CONFIG_FILES): Remove liboctave/oct-types.h from the list. - -2009-09-15 John W. Eaton - - * configure.ac: Rename from configure.in. - (AC_CONFIG_FILES): Add m4/Makefile to the list. - * acx_blas.m4, acx_lapack.m4, acx_blas_f77_func.m4, - acx_pthread.m4: Move to m4 subdirectory. - * m4/Makefile.in: New file. - * octMakefile.in (M4_FILES): Adjust for new m4 subdirectory. - Rename all instances of configure.in to configure.ac. - (CONF_DISTSUBDIRS, DISTSUBDIRS): Add m4 to the lists. - - * configure.in: Substitute ac_config_headers. - * octMakefile.in (CONFIG_FILES): Include @ac_config_headers@ in - the list. From Thorsten Meyer . - -2009-09-04 John W. Eaton - - * Makeconf.in (SPARSE_CPPFLAGS, SPARSE_LDFLAGS, FFTW_CPPFLAGS, - FFTW_LDFLAGS): Don't sort lists. - -2009-09-02 Marco Atzeri - - * Makeconf.in: Order SPARSE_LIBS so linking succeeds on Cygwin. - -2009-09-04 Marco Atzeri - - * README.Cygwin: Update version info. - -2009-09-04 John W. Eaton - - * configure.in (ldpreloadsep): New variable. Set to ':' for Cygwin. - * Makeconf.in (do-subst-script-vals): Substitute it. - * run-octave.in: Use it to seprate elements in the LD_PRELOAD variable. - -2009-09-03 John W. Eaton - - * configure.in (AH_BOTTOM): If HAVE_Z is defined, define HAVE_ZLIB. - -2009-09-03 Jaroslav Hajek - - * NEWS: Update. - -2009-09-02 Jaroslav Hajek - - * configure.in (FLOAT_TRUNCATE): New config macro. - -2009-09-02 Jaroslav Hajek - - * acx_blas_f77_func.m4 (ACX_BLAS_F77_FUNC): Check for correct INTEGER - size. - -2009-09-01 John W. Eaton - - * aclocal.m4 (OCTAVE_REQUIRE_64_BIT_FORTRAN_INTEGERS): New macro. - * configure.in: Use it, if building with --enable-64. - Move checks for Fortran compiler ahead of checks for libraries. - -2009-09-01 Jaroslav Hajek - - * NEWS: Update. - -2009-08-30 Jaroslav Hajek - - * NEWS: Update. - -2009-08-27 John W. Eaton - - * configure.in: Properly save and restore CPPFLAGS and LIBS when - checking for GraphicsMagick++. Don't temporarily change LDFLAGS. - -2009-08-27 Jaroslav Hajek - - * aclocal.m4 (m4_ifblank, m4_ifnblank): State FSF copyright and markup - as FIXME. - -2009-08-26 John W. Eaton - - * configure.in: Restore LIBS after checking for ARPACK. - -2009-08-26 John W. Eaton - - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for UMFPACK. - * octave-bug.in, octave-bug.cc.in: Substitute UMFPACK_CPPFLAGS and - UMFPACK_LDFLAGS. - * Makeconf.in (UMFPACK_CPPFLAGS, UMFPACK_LDFLAGS): New variables. - (do-subst-config-vals): Substitute them. - -2009-08-26 John W. Eaton - - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for qrupdate. - * octave-bug.in, octave-bug.cc.in: Substitute QRUPDATE_CPPFLAGS and - QRUPDATE_LDFLAGS. - * Makeconf.in (QRUPDATE_CPPFLAGS, QRUPDATE_LDFLAGS): New variables. - (do-subst-config-vals): Substitute them. - -2009-08-26 John W. Eaton - - * octave-bug.in: Correct substitutions. - -2009-08-26 John W. Eaton - - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Allow empty list of header files. - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for arpack. - * octave-bug.in, octave-bug.cc.in: Substitute ARPACK_CPPFLAGS and - ARPACK_LDFLAGS. - * Makeconf.in (ARPACK_CPPFLAGS, ARPACK_LDFLAGS): New variables. - (do-subst-config-vals): Substitute them. - -2009-08-26 Benjamin Lindner - - * mkoctfile.cc.in: Fix typo. - * octave-bug.cc.in: Correct substututions. - -2009-08-25 David Grundberg - - * configure.in: Run PKG_PROG_PKG_CONFIG earlier. Use pkg-config - instead of GraphicsMagick++-config. Determine only -I, -L and -l - flags and put them in MAGICK_CPPFLAGS, MAGICK_LDFLAGS and - MAGICK_LIBS respectively. Substitute these variables. - Remove variables MAGICK_CONFIG and MAGICK_INCFLAGS. - Test linking against GraphicsMagick++. - * Makeconf.in: Don't run $(MAGICK_CONFIG) here. Use substituted - valued from MAGICK_CPPFLAGS, MAGICK_LDFLAGS and MAGICK_LIBS. - Remove variables MAGICK_CONFIG and MAGICK_INCFLAGS. - -2009-08-24 Jaroslav Hajek - - * acx_blas_f77_func.m4: Fix typo. - -2009-08-19 Jaroslav Hajek - - * NEWS: Update. - -2009-08-18 John W. Eaton - - * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): If test fails, set - octave_hdf5_ok to no instead of setting HAVE_HDF5 to false. - * configure.in: Check octave_hdf5_ok instead of HAVE_HDF5. - Set TEXINFO_HDF5 if HDF5 library is found. - -2009-08-18 John W. Eaton - - * Makeconf.in (ALL_CPPFLAGS): Add HDF5_CPPFLAGS to the list. - * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): - Set HAVE_HDF5 to false, not WITH_HDF5. - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for HDF5 - library. Print HDF5_CPPFLAGS and HDF5_LDFLAGS in the summary. - * octave-bug.in, octave-bug.cc.in, Makeconf.in: Substitute - HDF5_CPPFLAGS and HDF5_LDFLAGS. - -2009-08-18 John W. Eaton - - * acx_blas_f77_func.m4 (ACX_BLAS_F77_FUNC): Save and restore LIBS. - -2009-08-18 John W. Eaton - - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Use variables named - octave_check_library_save_XXX instead of save_XXX. - * configure.in: Add Z_LDFLAGS and Z_LIBS to LIBS, and Z_CPPFLAGS - to CPPFLAGS in checks for curl and glpk libraries. - -2009-08-18 David Grundberg - - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Clear QHULL_LIBS etc on - errors. Interpret --without-qhull etc correctly. - -2009-08-17 John W. Eaton - - * mkoctfile.in, mkoctfile.cc.in (FFTW3_LDFLAGS, FFTW3_LIBS, - FFTW3F_LDFLAGS, FFTW3F_LIBS): Substitute instead of FFTW_LIBS. - (FFTW_LIBS): Define from FFTW3_LDFLAGS, FFTW3_LIBS, - FFTW3F_LDFLAGS, and FFTW3F_LIBS variables. - - * octave-bug.cc.in, octave-bug.in (Z_CPPFLAGS, Z_LDFLAGS): - Substitute and display them. - (Z_LIBS): Rename from ZLIB_LIBS. - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for ZLIB. - Print Z_CPPFLAGS and Z_LDFLAGS in the summary. - * Makeconf.in (Z_CPPFLAGS, Z_LDFLAGS): New variables. - (Z_LIBS): Rename from ZLIB_LIBS. - (do-subst-config-vals): Substitute them. - - (ALL_CPPFLAGS): New variable. - (%.o : %.c, %.o : %.cc, pic/%.o : %.c, pic/%.o : %.cc): - Use $(ALL_CPPFLAGS) instead of $(CPPFLAGS) in command. - -2009-08-17 John W. Eaton - - * octave-bug.in, octave-bug.cc.in: Include AMD_CPPFLAGS, - AMD_LDFLAGS, AMD_LIBS, ARPACK_LIBS, BLAS_LIBS, CAMD_CPPFLAGS, - CAMD_LDFLAGS, CAMD_LIBS, CARBON_LIBS, CCOLAMD_CPPFLAGS, - CCOLAMD_LDFLAGS, CCOLAMD_LIBS, CHOLMOD_CPPFLAGS, CHOLMOD_LDFLAGS, - CHOLMOD_LIBS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, COLAMD_LIBS, - CURL_CPPFLAGS, CURL_LDFLAGS, CURL_LIBS, CXSPARSE_CPPFLAGS, - CXSPARSE_LDFLAGS, CXSPARSE_LIBS, DL_LIBS, FFTW3_CPPFLAGS, - FFTW3_LDFLAGS, FFTW3_LIBS, FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, - FFTW3F_LIBS, GRAPHICS_LIBS, GLPK_CPPFLAGS, GLPK_LDFLAGS, - GLPK_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, PTHREAD_LIBS, - QHULL_CPPFLAGS, QHULL_LDFLAGS, QHULL_LIBS, QRUPDATE_LIBS, - READLINE_LIBS, REGEX_LIBS, TERM_LIBS, UMFPACK_LIBS, X11_INCFLAGS, - X11_LIBS, and ZLIB_LIBS in the summary of varibles. - - * configure.in: Include LEXLIB and LIBGLOB in the summary. - -2009-08-17 Michael Goffioul - - * aclocal.m4 (OCTAVE_HDF5_DLL): Include HDF5_LIBS in LIBS before - attempting link. - -2009-08-15 Jaroslav Hajek - - * aclocal.m4: Define the autoconf 2.64+ m4sugar macros `m4_ifblank' - and `m4_ifnblank' if on earlier autoconfs. - -2009-08-13 John W. Eaton - - * Makeconf.in (GLPK_CPPFLAGS, GLPK_LDFLAGS, - AMD_CPPFLAGS, AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, - CCOLAMD_CPPFLAGS, CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, - CHOLMOD_LDFLAGS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, - CXSPARSE_CPPFLAGS, CXSPARSE_LDFLAGS): New variables. - (do-subst-config-vals): Substitute Them. - (SPARSE_CPPFLAGS, SPARSE_LDFLAGS, SPARSE_LIBS, FFTW_CPPFLAGS, - FFTW_LDFLAGS, FFTW_LIBS): New variables. - - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for GLPK, AMD, - CAMD, CCOLAMD, CHOLMOD, COLAMD, CXSPARSE, FFTW3, and FFTW3F - libraries. Print GLPK_CPPFLAGS, GLPK_LDFLAGS, AMD_CPPFLAGS, - AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, CCOLAMD_CPPFLAGS, - CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, CHOLMOD_LDFLAGS, - COLAMD_CPPFLAGS, COLAMD_LDFLAGS, CXSPARSE_CPPFLAGS, - CXSPARSE_LDFLAGS, FFTW3_CPPFLAGS, FFTW3_LDFLAGS, FFTW3_LIBS, - FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, and FFTW3F_LIBS in the summary. - (AH_BOTTOM): Define HAVE_FFTW if HAVE_FFTW3 and HAVE_FFTW3F are - both defined. - - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): New optional arguments for - language and doc string. - -2009-08-13 Jaroslav Hajek - - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Prepend to LIBS rather than - replacing. - -2009-08-13 John W. Eaton - - * Makeconf.in (QHULL_CPPFLAGS, QHULL_LDFLAGS, CURL_CPPFLAGS, - CURL_LDFLAGS): New variables. - (do-subst-config-vals): Substitute QHULL_CPPFLAGS, QHULL_LDFLAGS, - CURL_CPPFLAGS, and CURL_LDFLAGS - * configure.in: Use OCTAVE_CHECK_LIBRARY to check for qhull and - curl libraries. Print QHULL_CPPFLAGS, QHULL_LDFLAGS, - CURL_CPPFLAGS, and CURL_LDFLAGS in the summary. Print glpk - library warning at time of check. Use AC_MSG_WARN, not - AC_MSG_RESULT, to print fftw warning. - * aclocal.m4 (OCTAVE_CHECK_LIBRARY): New macro. - (AC_CHECK_QHULL_VERSION, AC_CHECK_QHULL_OK): - Implement with modern autoconf macros. - -2009-08-11 John W. Eaton - - * configure.in: Define and substitute TERM_LIBS instead of - TERMLIBS. Don't add TERM_LIBS to LIBS. Define DL_LIBS instead of - adding them to LIBS. Display TERM_LIBS and DL_LIBS in summary - reporrt. - * aclocal.m4 (OCTAVE_ENABLE_READLINE): Define and substitute - READLINE_LIBS instead of LIBREADLINE. Don't add readline library - to LIBS. Display READLINE_LIBS in summary report. Temporarily - add TERM_LIBS to LIBS when checking for readline library. - * Makeconf.in, mkoctfile.cc.in, mkoctfile.in: - Use READLINE_LIBS instead of LIBREADLINE and TERM_LIBS instead of - TERMLIBS. Substitute DL_LIBS. - (do-subst-config-vals): Substitute TERM_LIBS and DL_LIBS. - -2009-08-11 John W. Eaton - - * configure.in: Generate separate variables for HDF5_LIBS and - ZLIB_LIBS. Don't add them to LIBS. Add separate entries for them - in the summary report. - * Makeconf.in (HDF5_LIBS, ZLIB_LIBS): New variables. - (do-subst-config-vals): Substitute AMD_LIBS, ARPACK_LIBS, - CAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, COLAMD_LIBS, CXSPARSE_LIBS, - FT2_LIBS, GRAPHICS_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, - PTHREAD_LIBS, QHULL_LIBS, QRUPDATE_LIBS, REGEX_LIBS, UMFPACK_LIBS, - ZLIB_LIBS. - -2009-08-05 John W. Eaton - - * acx_pthread.m4: New file. - * configure.in: Include it and invoke ACX_PTHREAD macro. Print - ptrhead flags and libraries in summary output. - * Makeconf.in (PTHREAD_CFLAGS, PTHREAD_LIBS): Substitute values. - (ALL_CFLAGS, ALL_CXXFLAGS): Include $(PTHREAD_CFLAGS). - -2009-08-03 Jaroslav Hajek - - * NEWS: Update. - -2009-07-27 Jaroslav Hajek - - * NEWS: Update. - -2009-07-22 Jaroslav Hajek - - * NEWS: Update. - -2009-07-16 John W. Eaton - - * Makeconf.in (MAGICK_LIBS): Don't pass --ldflags to $(MAGICK_CONFIG). - -2009-07-09 John W. Eaton - - * configure.in: Don't use system strftime on MinGW systems. - -2009-06-29 Jaroslav Hajek - - * NEWS: Correct info. - * NEWS: Update. - -2009-06-26 Michael Goffioul - - * aclocal.m4: Add pkg.m4 macros. - * configure.in (HAVE_FREETYPE): New defined variable. - * configure.in: Add configure tests for Fontconfig detection. - -2009-06-23 Robert T. Short - - * run-octave.in: Exclude @-files from path. Remove CVS exclusions. - -2009-06-19 Jaroslav Hajek - - * NEWS: Update. - -2009-06-15 Jaroslav Hajek - - * NEWS: Update. - -2009-06-02 Jaroslav Hajek - - * examples/@polynomial/subsref.m: Handle ':' correctly. - * examples/@polynomial/subsasgn.m: Ditto. - -2009-06-11 Jaroslav Hajek - - * example/@polynomial/numel.m: New method. - * example/@polynomial/Makefile.in: Include it. - -2009-05-22 Benjamin Lindner - - * mkoctfile.cc.in: mask MSVC specific linker flags for mex output - -2009-06-02 Robert T. Short - - * examples/@polynomial: Fix end method for zero based indexing. - -2009-06-02 Jaroslav Hajek - - * examples/@polynomial/subsref.m: Allow chained subscripts, - fix behavior according to docs. - * examples/@polynomial/subsasgn.m: Allow chained subscripts, - fix behavior according to docs. - -2009-06-02 Robert T. Short - - * examples/@polynomial: Remove tabs from all functions so - documentation looks right. Fix a bunch of methods - that didn't work. Add a method referred to in the docs - that didn't exist. - -2009-05-26 John W. Eaton - - * src/dirfns.cc (Fpathsep): Allow path separator to be set. - -2009-03-17 Thomas Weber - - * configure.in: fix typo with regards to termios.h - -2009-05-25 Jaroslav Hajek - - * examples/@FIRfilter/Makefile.in: New file. - * examples/Makefile.in: Include it. - * configure.in: Ditto. - -2009-05-24 Benjamin Lindner - - * configure.in: (SCRIPTS_EXE_SUFFIX) Define to ".exe" for - mingw32 compilation (similar to msvc) - -2009-05-24 Robert T. Short - - * examples/@FIRfilter: added FIRfilter class example. - -2009-05-22 Marco Atzeri - - * src/sysdep.cc: Removed CYGWIN_init - -2009-05-21 Marco Atzeri - * configure.in: Correct my mistake in cygwin SHLBINPRE SHLBIN - -2008-05-21 Michael Goffioul - - * aclocal.m4 (AC_CHECK_QHULL_OK): Do not use -lm under - Windows systems. - * configure.in: Add -luser32 to LIBS under Windows. - - * configure.in (SCRIPTS_EXE_SUFFIX): New substituted - variable. Define to ".exe" for MSVC compilation. - * octMakefile.in (SCRIPTS_EXE_SUFFIX): New variable. - (DISTFILES): Add mkoctfile.cc.in, octave-config.cc.in and - octave-bug.cc.in. - (SHELL_SCRIPTS): Use SCRIPTS_EXE_SUFFIX. - (mkoctfile.cc, mkoctfile$(EXEEXT)): New build rules. - (octave-config.cc, octave-config$(EXEEXT)): Likewise. - (octave-bug.cc, octave-bug$(EXEEXT)): Likewise. - (install, install-strip, uninstall): Use SCRIPTS_EXE_SUFFIX. - (maintainer-clean, distclean): Remove mkoctfile.[cc|o|exe], - octave-config.[cc|o|exe] and octave-bug.[cc|o|exe]. - (clean): Remove mkoctfile$(EXEEXT), octave-config$(EXEEXT), - octave-bug$(EXEEXT) and the corresponding object files. - -2009-05-07 Rik - - * README.mirrors: Remove invalid mirror sites which no longer exist. - -2009-05-07 John W. Eaton - - * configure.in, mkoctfile.in, mkoctfile.cc.in, octave-bug.in, - octave-bug.cc.in: Eliminate last remnants of f2c goop. - -2009-05-07 Marco Atzeri - - * configure.in, Makeconf.in: (SHLPRE): Rename from SHLLIBPRE. - -2009-05-05 Jaroslav Hajek - - * configure.in: Include the whole 3.x g++ series as problematic. - * Makefile: Don't mention that g++-3.x might work. - -2009-05-04 John W. Eaton - - * configure.in: Put -lftgl ahead of $FT2_LIBS, and $FT2_LIBS ahead - of $OPENGL_LIBS. - -2009-05-04 Peter O'Gorman - - * aclocal.m4 (OCTAVE_HAVE_C99_VSNPRINTF): New macro. - * configure.in: Use it. - - * configure.in (rs6000-ibm-aix* | powerpc-ibm-aix*): Set - library_path_var to LIBPATH. - (hppa*-hp-hpux*): Set library_path_var to SHLIB_PATH. - (ia64*-hp-hpux*): New case for shared library variables. - - * configure.in: Provide decls for exp2, round, and tgamma if they - are missing. - -2009-04-11 David Bateman - - * NEWS: Add new graphics functions. - -2009-04-05 John W. Eaton - - * configure.in: Use AC_USE_SYSTEM_EXTENSIONS instead of - AC_GNU_SOURCE, AC_AIX, AC_MINIX, and AC_ISC_POSIX. - Require Autoconf 2.60. - - * configure.in: Add -Wformat to extra warning flags. Add - -Wconversion to strict warning flags. - -2009-04-02 John W. Eaton - - * Makeconf.in (do-script-install): Use $(INSTALL_DATA) instead of - mv to install PKG_ADD file. - -2009-04-02 Marco Atzeri - - * Makeconf.in (do-subst-script-vals): Use SHLLIBPRE instead of - LIBPRE for names for shared libraries. - -2009-03-28 Marco Atzeri - - * configure.in: For cygwin, set LIBPRE=lib and clear CPICFLAG, - CXXPICFLAG, and FPICFLAG. - -2009-03-27 Jaroslav Hajek - - * aclocal.m4 (OCTAVE_CMATH_FUNC): Add missing AC_LANG_POP. - * configure.in: Enclose string in quotes. - -2009-03-23 Jaroslav Hajek - - * NEWS: More updates. - -2009-03-20 Jaroslav Hajek - - * aclocal.m4 (OCTAVE_CMATH_FUNC): New macro. - * configure.in: Use it. - -2009-03-09 John W. Eaton - - * run-octave.in: Use doc-cache instead of DOC for doc cache file. - * configure.in: Likewise. - - * configure.in (--enable-extra-warning-flags): New option to - control extra compiler warning flags. - (--enable-strict-warning-flags): Rename from --enable-picky-flags. - (GXX_STRICT_FLAGS): Remove -Wenum-clash from the list. - -2009-03-08 S�ren Hauberg - - * NEWS: Mention 'histc'. - -2009-03-07 John W. Eaton - - * config.guess, config.sub: Update from FSF sources. - -2009-02-25 John W. Eaton - - * configure.in (doc_cache_file): New default variable - * Makeconf.in (@doc_cache_file, do-subst-default-vals): Substitute it. - -2009-02-24 John W. Eaton - - * run-octave.in (DOCFILE): New variable. Pass --doc-cache-file - option to Octave. - - * configure.in: Copy Makefile to build directory if not building - in srcdir. - -2009-02-24 Thorsten Meyer - - * configure.in: AC_SUBST ac_config_files. - * Makeconf.in (config_opts): Define CONFIG_SUBDIRS variable. - * Makefile: Add make target for configuration files. - * octMakefile.in: Add make targets for configuration files, - config.status and configure. - - * Makefile.in: Rename to Makefile. - * configure.in: Remove Makefile from list of autogenerated - configuration files. - * octMakefile.in: Remove references to Makefile.in, add Makefile - to list of CONF_DISTFILES. - * octMakefile.in (maintainer-clean distclean): Don't delete Makefile. - -2009-02-17 Benjamin Lindner - - * configure.in: Check for mkstemps on MinGW platform - (HAVE_MKSTEMPS): Define if mkstsmps is avilable in libiberty. - -2009-02-17 Jaroslav Hajek - - * NEWS: Mention cummin and cummax - -2009-02-17 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GPERF): Don't run gperf. - - * Makeconf.in (do-subst-config-vals): Substitute CARBON_LIBS, - X11_INCFLAGS, and X11_LIBS. - -2009-02-17 Thomas Treichl - - * Makeconf.in: Substitute CARBON_LIBS. - * configure.in: Use CARBON_LIBS instead of LIBS for framework Carbon. - - * configure.in: Fix test for X11 if "--without-x" is given. - -2009-02-16 Jaroslav Hajek - - * NEWS: Yet more updates. - -2009-02-16 John W. Eaton - - * NEWS: Mention command-style parsing changes. More updates. - -2009-02-13 John W. Eaton - - * NEWS: Update for release. - -2009-02-11 Thomas Treichl - - * aclocal.m4 (OCTAVE_GLUTESSCALLBACK_THREEDOTS): New macro. - (OCTAVE_OPENGL): Use it in OpenGL check. - -2009-02-11 Ben Abbott - - * configure.in: Include FTGLTextureFont.h when FTGL_UPPER_CASE is - not defined. - -2009-02-11 John W. Eaton - - * configure.in (octetcdir): New default value. - * Makeconf.in (octetcdir): New variable. - (do-subst-default-vals): Substitute octetcdir. - * octMakefile.in (install, uninstall): Use $(octetcdir) for NEWS. - (DIRS_TO_MAKE): Add $(octetcdir) to the list. - -2009-02-10 Rafael Laboissiere - - * examples/Makefile.in: Run some clean targets on sub-directory - @polynomial. - -2009-02-09 John W. Eaton - - * examples/Makefile.in (dist): Create subdirs of examples, not scripts. - - * examples/@polynomial/Makefile.in (do-mkpkgadd): - Provide special definition for this directory. - - * examples/Makefile.in (EXAMPLE_SOURCES): Delete unused variable. - (SUBDIRS, DISTSUBDIRS): Don't reset to empty. - -2009-02-08 John W. Eaton - - * install-octave.in: Delete. - * configure.in: Delete AC_CONFIG_COMMANDS macro that was used to - make install-octave executable. - -2009-02-07 John W. Eaton - - * octMakefile.in (all): Display $(prefix) in summary message. - -2009-02-05 John W. Eaton - - * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): New macro. - * configure.in: Use it in HDF5 check. - -2009-02-04 Benjamin Lindner - - * configure.in: Use separate cases for *-*-mingw* and *-*-cygwin* - to set variables related to creating shared libraries. - -2009-02-03 Jaroslav Hajek - - * aclocal.m4 (AC_CHECK_QHULL_OK): New macro, based on suggestion by - Petr Mikulik . - * configure.in: Call it. - -2009-02-01 Thorsten Meyer - - * autogen.sh: Remove printing of cvs motd. - -2009-01-30 Marco Atzeri - - * configure.in (SHLLIBPRE, SHLBINPRE): Fix definitions for Cygwin. - (SHLEXT, SHLLIB, SHLBIN, SONAME_FLAGS): Fix definitions for Cygwin - and MinGW. - -2009-01-30 Benjamin Lindner - - * configure.in: Add -lgdi32 to LIBS on *-*-msdosmsvc* and - *-*-mingw* systems. - -2009-01-29 Thomas Treichl - - * aclocal.m4 (OCTAVE_HAVE_FRAMEWORK): Add support for - --with-framework- and replace "$ac_safe" by "$1". - * configure.in: Change "have_carbon" with - "have_framework_carbon". - -2009-01-28 John W. Eaton - - * configure.in: Check to see that pcre library has pcre_compile - function. - - * configure.in (SHLLIBPRE, SHLBINPRE): New variables. AC_SUBST them. - (*-*-cygwin*): Set LIBPRE and SHLBINPRE to cyg and SHLLIBPRE to lib. - Use SHLLIBPRE and SHLLIB in definition of SONAME_FLAGS. - (*-*-msdosmsvc): Make SHLBINPRE and SHLLIBPRE empty. - Adjust definition of SONAME_FLAGS for SHLLIBPRE. - - * Makeconf.in (SHLLIBPRE, SHLBINPRE): Substitute new variables here. - From Marco Atzeri . - -2009-01-27 Benjamin Lindner - - * configure.in: Add of -lregex to REGEX_LIBS. - -2009-01-26 Thomas Treichl - - * aclocal.m4 (OCTAVE_HAVE_FRAMEWORK): New macro. - * configure.in: Use it. - -2009-01-22 John W. Eaton - - * configure.in (AH_BOTTOM): Define OCTAVE_USE_OS_X_API if - __APPLE__ and __MACH__ are defined. - -2009-01-22 Jaroslav Hajek - - * configure.in: Fix qrupdate warning message. - -2009-01-21 John W. Eaton - - * Makeconf.in: Substitute X11_INCFLAGS and X11_LIBS. - * configure.in: Use AC_PATH_X to check for X11 header files and - libraries. - - * THANKS, Announce: Remove obsolete files. - * octMakefile.in (DISTFILES): Remove THANKS from the list. - -2009-01-20 John W. Eaton - - * configure.in: Check for fstat. - -2008-12-23 David Bateman - - * configure.in: Add configuration test for ARPACK. - * Makeconf.in (ARPACK_LIBS): Add variable with location of ARPACK - library. - * NEWS: Document that eigs and svds were moved to Octaave. - -2008-10-29 Jaroslav Hajek - - * configure.in: Remove the OCTAVE_LOCAL_BUFFER stuff (moved to - liboctave). - -2008-12-04 Jaroslav Hajek - - * NEWS: Document more new features. - -2008-12-03 John W. Eaton - - * config.guess, config.sub: Update from FSF sources. - -2008-11-18 John W. Eaton - - * mkoctfile.cc.in, octave-bug.cc.in: Style fixes. - -2008-11-13 Ben Abbott - - * src/graphics.h.in: Add props screensize & screenpixelsperinch. - -2008-11-08 Thorsten Meyer - - * Makeconf.in: export PERL variable for use in scripts/mkdoc - -2008-10-30 David Bateman - - * NEWS: Minor update to document improved indexing code. - -2008-10-23 Jason Riedy - - * configure.in: Take care to use FT2_CFLAGS when checking - for FTGL headers. - -2008-10-22 David Bateman - - * examples/@polynomial: Move examples/polynomial here. - * examples/@polynomial/Makefile.in: Update for new location. - * examples/Makefile.in: Ditto. - * configure.in: Change locate of examples/@polynomial makefile - in AC_CONFIG_FILES. - -2008-10-16 David Bateman - - * NEWS: Minor update. - -2008-10-15 David Bateman - - * examples/polynomial/display.m, examples/polynomial/double.m, - examples/polynomial/end.m, examples/polynomial/get.m, - examples/polynomial/mtimes.m, examples/polynomial/plot.m, - examples/polynomial/polynomial.m, - examples/polynomial/polynomial_superiorto.m, - examples/polynomial/polyval.m, examples/polynomial/set.m, - examples/polynomial/subsasgn.m, examples/polynomial/subsref.m: - New example files for a sample OOP class. - * examples/polynomial/Makefile.in: Add a makefile for this new - directory - * examples/Makefile.in: Reference the new subdirectory here. - * configure.in: Add the new makefile to AC_CONFIG_FILES. - -2008-10-01 Jaroslav Hajek - - * configure.in: Check for sizeof (long double) and randl. - -2008-09-30 Jaroslav Hajek - - * aclocal.m4 (OCTAVE_FAST_INT_OPS): New macro. - * configure.in: Call OCTAVE_FAST_INT_OPS - -2008-09-08 John W. Eaton - - * mkoctfile.cc.in, octave-bug.cc.in, octave-config.cc.in: Style fixes. - -2008-09-08 Michael Goffioul - - * mkoctfile.cc.in, octave-bug.cc.in, octave-config.cc.in: New files. - -2008-08-28 David Bateman - - * NEWS: Update for some of the graphics changes - -2008-08-11 Jaroslav Hajek - - * acx_blas_f77_func.m4, acx_lapack.m4: Update macros from - . - -2008-08-07 John W. Eaton - - * aclocal.m4 (OCTAVE_STRING_NPOS): Delete. - * configure.in (OCTAVE_STRING_NPOS): Delete use. - -2008-08-04 John W. Eaton - - * Makeconf.in (do-subst-script-vals): Also substitute SED. - * run-octave.in: Use sed to append : to path elements - instead of using the find expression "-exec echo '{}':". - Substitute SED here. - - * aclocal.m4: Fail if no usable version of sed is found. - - * Makefile.in (header-msg): Mention GNU Make requirement. - Update GCC version info. - -2008-07-31 John W. Eaton - - * octMakefile.in (DISTFILES): Add "missing" to the list. - -2008-07-30 John W. Eaton - - * aclocal.m4 (CXX_ABI, OCTAVE_CXX_PREPENDS_UNDERSCORE, - OCTAVE_PROG_NM): Delete macros. - * configure.in: Delete uses. - -2008-07-29 Tatsuro MATSUOKA - - * aclocal.m4 (OCTAVE_OPENGL): Handle MinGW the same as MSVC. - -2008-07-29 David Bateman - - * NEWS.3: Copy from NEWS. - * NEWS: Initial update in preparation for a 3.2 release. - -2008-07-21 John W. Eaton - - * configure.in: If FTGL.h is found, then also include - FTGLTextureFont.h in test code. - -2008-07-21 Michael Goffioul - - * configure.in: Remove GRAPHICS_OPENGL variable. - -2008-07-21 John W. Eaton - - * aclocal.m4 (OCTAVE_OPENGL): Fix shell syntax problems. - Handle HAVE_GL_GL_H and HAVE_OPENGL_GL_H in link test. - - * configure.in: Don't define and substitute FLTK_BACKEND_SRC or - GL_RENDER_SRC. - (HAVE_FLTK): AC_DEFINE if FLTK is available. - (HAVE_OPENGL): AC_DEFINE if OpenGL is available. - -2008-07-21 Jaroslav Hajek - - * configure.in: Extend FTGL test to test for both ftgl.h and FTGL.h. - Use HAVE_FTGL_UPPERCASE to indicate the latter (version <= 2.1.2). - -2008-07-19 Rafael Laboissiere - - * octMakefile.in (CONF_DISTFILES): Include acx_blas_f77_func.m4 in - the list. - -2008-07-18 Carlo de Falco - - * aclocal.m4: Search for gl.h and glu.h in OpenGL/ as well as in GL/. - -2008-07-18 John W. Eaton - - * configure.in: Fix FTGL test to handle either FTGL/ftgl.h or ftgl.h. - (warn_freetype, warn_ftgl, warn_fltk_config, warn_fltk_opengl): - New variables. Use these instead of overloading warn_graphics. - -2008-07-17 David Bateman - - * configure.in (HAVE_MAGICK): New define for presence of - GraphicsMagick. - -2008-07-16 Michael Goffioul - - * configure.in: Add check for pthread.h. - -2008-07-14 John W. Eaton - - * Makeconf.in (MAGICK_CONFIG): Substitute here. - (MAGICK_INCFLAGS, MAGICK_LIBS): Define using GraphicsMagick++ - config script. - (do-subst-config-vals): Include MAGICK_LIBS and MAGICK_INCFLAGS in - list of substitutions. - * configure.in: Check for GraphicsMagick++ config script. - -2008-07-10 John W. Eaton - - * octMakefile.in (DIRS_TO_MAKE): Delete $(localfcnfilepath) and - $(localoctfilepath) from the list. Include $(datadir) - $(localfcnfiledir) $(localapifcnfiledir) $(localverfcnfiledir) - $(localoctfiledir) $(localapioctfiledir) $(localveroctfiledir) - $(imagedir) and $(localapiarchlibdir) in the list. - - * configure.in: Look for FTGL/ftgl.h instead of FTGL/FTGL.h. Also - look for ftgl.h. - -2008-07-10 Michael Goffioul - - * configure.in: new substituted variables GL_RENDER_SRC and - FLTK_BACKEND_SRC. - -2008-06-20 Michael Goffioul - - * Makeconf.in: Add GRAPHICS_CFLAGS substitution. - * configure.in: Add checks for hypotf and _hypotf. - -2008-06-12 Jaroslav Hajek - - * configure.in: Move LIBS and CXXFLAGS restoration into - the proper block. - -2008-06-05 John W. Eaton - - * configure.in: Add FT2_CFLAGS to XTRA_CXXFLAGS, not CXXFLAGS. - Don't add FT2_LIBS to LIBS. - Don't generate src/graphics/Makefile, src/graphics/Makerules, - src/graphics/opengl/Makefile, or src/graphics/fltk_backend/Makefile. - - * Makeconf.in (FT2_LIBS, GRAPHICS_LIBS): Substitute here. - -2008-06-04 Shai Ayal - - * configure.in: Use AC_TRY_LINK in FTGL test. - Include FT_CFLAGS in CXXFLAGS. - - * aclocal.m4 (OCTAVE_OPENGL): Note FIXME for apple. - - * configure.in: Check for FTGL library. - - * configure.in: Remove check for Fl/glu.h header. - - * aclocal.m4 (AC_CHECK_FT2): New macro to check for freetype2. - - * configure.in: Check for FLTK and corresponding compiler flags. - -2008-06-04 Michael Goffioul - - * configure.in: Double-quote warn_graphics variable. - - * aclocal.m4 (OCTAVE_OPENGL): New function to detect OpenGL - headers and libraries. - * configure.in (OCTAVE_OPENGL): Use it. - (OCTGRAPHICS_DLL_DEFS): New define to build - graphics-related DLL. - (AC_CONFIG_FILES): Generate additional files for graphics - related libraries. - * Makeconf.in (OPENGL_LIBS): New variable. - - * .hgignore: Also ignore build-.*, configure, and autom4te.cache. - -2008-05-22 Jaroslav Hajek - - * mk-opts.pl (emit_print_function, emit_set_function, - emit_show_function): Support float type. - -2008-05-20 David Bateman - - * configure.in (AC_CHECK_FUNCS): Add expm1, lgammaf, lgammaf_r, - log1pf and tgammaf. Also check for libfftw3f. - -2008-04-09 Rafael Laboissiere - - * example/octave.desktop.in: Drop the Encoding key, which is - deprecated by the FreeDesktop standard. - -2008-04-04 John W. Eaton - - * Makeconf.in (do-check-m-sources): New macro. - -2008-04-03 Tatsuro MATSUOKA - - * README.Cygwin: Update. - -2008-04-02 Jaroslav Hajek - - * acx_blas_f77_func.m4: New file. - * configure.in: Call ACX_BLAS_WITH_F77_FUNC instead of ACX_BLAS. - Supply a warning for incompatible Fortran/BLAS configuration. - -2008-03-25 Jaroslav Hajek - - * configure.in: Check for expm1 and log1p functions. - -2008-03-25 John W. Eaton - - * configure.in: Check for trunc. - -2008-03-21 David Bateman - - * configure.in (HAVE_AMD): Complete test for presence of amd. - -2008-03-18 David Bateman - - * configure.in (AC_CHECK_FUNCS): Also check lgamma_r. - -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. - -2008-02-14 John W. Eaton - - * examples/fortdemo.cc: Don't check f77_exception_encountered. - -2008-02-06 John W. Eaton - - * examples/Makefile.in (octave.desktop): - Use mv instead of move-if-change. - -2008-02-05 John W. Eaton - - * dlfcn/Makefile.in: Unconditionally include $(MAKEDEPS). - Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. - -2008-01-12 John W. Eaton - - * aclocal.m4: Call AC_SUBST instead of AC_DEFINE_UNQOTED for - GNUPLOT_BINARY. - * aclocal.m4, configure.in: Use GNUPLOT instead of GNUPLOT_BINARY - as variable name. - * Makeconf.in (GNUPLOT): Substitute. - (do-subst-config-vals): Substitute GNUPLOT. - -2007-12-21 John W. Eaton - - Version 3.0.0 released. - -2007-12-13 John W. Eaton - - * octMakefile.in (octave-bug, octave-config, mkoctfile): - Also depend on $(top_srcdir)/src/version.h. - -2007-12-10 John W. Eaton - - * acx_blas.m4: Use -lsunperf, not -xlic_lib=sunperf. - From Jim Langston . - -2007-12-06 John W. Eaton - - * configure.in (*-*-darwin*): Only set CPICFLAG, CXXPICFLAG, and - FPICFLAG to "" on powerpc systems. - -2007-12-04 John W. Eaton - - * octave-bug.in (LIBDLFCN): Delete variable and all uses. - * Makeconf.in (LIBDLFCN, DLFCN_INCFLAGS): Likewise. - * configure.in (DLFCN_DIR, LIBDLFCN, DLFCN_INCFLAGS): Likewise. - Don't generate dlfcn/Makefile. - * octMakefile.in (DISTSUBDIRS): Delete dlfcn from the list. - (SUBDIRS): Don't substitute DLFCN_DIR here. - -2007-12-03 Moritz Borgmann - - * Makeconf.in, aclocal.m4, configure.in: Check for find program, - preferably gfind (on non-GNU systems). Need a sane find for - run-octave script. - * run-octave.in: Use FIND and AWK as determined by configure. - -2007-12-03 John W. Eaton - - * configure.in: If available, include in test for - sigset_t and sig_atomic_t. - -2007-11-30 Moritz Borgmann - - * configure.in: Also check for sunmath.h. - -2007-11-26 David Bateman - - * PROJECTS: condest now implemented. - - * NEWS: Document the TeX interpreter mode and its limitations with - gnuplot 4.0. - - * NEWS: Document the use of "colormap gmap40" to workaround some - gnuplot 4.0 colormap issues. - -2007-11-14 John W. Eaton - - * configure.in: Don't create Makefrag.bsd. - -2007-11-14 Joseph P. Skudlarek - - * configure.in: Rework pcre.h tests to work with autoconf 2.59, - and avoid explicit pcre/pcre.h check by using pcre-config. - -2007-11-13 Joseph P. Skudlarek - - * octave-bug.in: Try mailx, then Mail, then /usr/ucb/mail, then - /bin/mail. - -2007-11-13 John W. Eaton - - * configure.in: Only define HAVE_PCRE_H if has the - definitions we need. Likewise for . - -2007-11-10 John W. Eaton - - * configure.in: Delete AC_SUBST_FILE(f77_rules_frag). - -2007-11-07 John W. Eaton - - * configure.in: Also check for pcre/pcre.h. - -2007-11-01 John W. Eaton - - * configure.in: Delete BLAS library calling convention - compatibility check. - -2007-10-31 John W. Eaton - - * README.binary-dist: Delete. - - * README.MachTen: Delete. - * octMakefile.in (DISTFILES): Remove it from the list. - -2007-10-30 David Bateman - - * examples/addtwomatrices.cc, examples/celldemo.cc, - examples/firstmexdemo.c, examples/fortdemo.cc, examples/fortsub.f, - examples/funcdemo.cc, examples/globaldemo.cc, - examples/helloworld.cc, examples/mycell.c, examples/myfeval.c, - examples/myfunc.c, examples/mypow2.c, examples/mysparse.c, - examples/mystring.c, examples/mystruct.c, examples/paramdemo.cc, - examples/stringdemo.cc, examples/structdemo.cc, - examples/unwinddemo.cc: Doc fixes for small book format. - -2007-10-26 Michael Goffioul - - * Makeconf.in: Remove UNSETCOMSPEC trick. - -2007-10-25 John W. Eaton - - * configure.in (AH_BOTTOM): Define OCTAVE_EMPTY_CPP_ARG here. - -2007-10-24 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): No need to delete - Makefrag.f77 and Makerules.f77. - * Makeconf.in: Include rules for making .o files from .f files - instead of substituting @f77_rules_frag@. - * configure.in): Delete handling of --with-f2c and --with-f77 - options. No need to call OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS. - Delete all special cases for f2c. - * aclocal.m4 (OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS): Delete macro. - - * FLEX.patch: Delete obsolete file. - * octMakefile.in (DISTFILES): Remove it from the list. - - * acx_blas.m4: Use "-Wl,-framework -Wl,vecLib" instead of - just "-framework vecLib" in test for Mac OS X test. - - * configure.in, aclocal.m4: Avoid AC_TRY_EVAL. - - * aclocal.m4 (OCTAVE_STRPTIME_BROKEN): New macro. - * configure.in: Use it. - -2007-10-23 John W. Eaton - - * configure.in: When checking for -lf2c, set F2CLIBS instad of - FLIBS, then set FLIBS to $F2CLIBS just before printing the summary. - Check for BLAS library calling convention compatibility. - -2007-10-17 John W. Eaton - - * configure.in: Delete checks for METIS. - -2007-10-12 John W. Eaton - - * mk-opts.pl (parse_input): Allow comment lines beginning with #. - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - - * COPYING: Update to GPLv3. - - * run-octave.in: List args explicitly in exec command. - -2007-10-11 John W. Eaton - - * config.guess, config.sub: Update from FSF sources. - -2007-10-10 Kim Hansen - - * run-octave.in: Use $args. Eliminate "if [ -n "$args" ]" conditional. - -2007-10-09 John W. Eaton - - * gdbinit.in: Delete. - * octMakefile.in (DISTFILES): Remove it from the list. - (.gdbinit): Delete rule. - (maintainer-clean, distclean): No need to delete .gdbinit. - -2007-10-09 Kim Hansen - - * run-octave.in: Use gdb with --args, not .gdbinit. - -2007-10-08 John W. Eaton - - * emacs/octave-hlp.el, emacs/octave-inf.el, emacs/octave-mod.el: - Sync with GNU Emacs versions. - * emacs/octave-mod.el: Delete last two args from calls to - define-abbrev. - -2007-10-06 John W. Eaton - - * configure.in: Check for lgamma and tgamma. - -2007-10-04 John W. Eaton - - * configure.in (UGLY_DEFS): Delete special case for darwin. - -2007-10-03 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_SED): Also check for \(X\|Y\) style - regular expression alternation. - -2007-10-01 John W. Eaton - - * aclocal.m4 (OCTAVE_CHECK_STRPTIME): Delete. - * configure.in: Don't use OCTAVE_CHECK_STRPTIME, simply check for - strptime. - -2007-09-18 Thomas Treichl - - * aclocal.m4 (OCTAVE_CHECK_STRPTIME): New macro. - * configure.in: Use it. - -2007-09-06 John W. Eaton - - * configure.in: Avoid broken strptime function on Cygwin systems. - -2007-09-01 David Bateman - - * configure.in: AC_SUBST and check the variable TEXINFO_QHULL. - * Makeconf.in: Use it. - -2007-08-24 David Bateman - - * configure.in: Extra Qhull bits. - -2007-08-24 Kim Hansen - - * run-octave.in: Use `command` instead of $(command) to accomodate - brain-dead shells. - -2007-08-24 David Bateman - - * configure.in: Probe for the use of Qhull. - * aclocal.m4 (AC_CHECK_QHULL_VERSION): Macro to check whether - Qhull needs a version number. - * Makeconf.in: Add QHULL_LIBS. - -2007-08-23 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_SED): Don't clobber value from environment. - From: Christian Cornelssen . - -2007-08-23 Thomas Weber - - * aclocal.m4 (OCTAVE_PROG_GNUPLOT): Drop check for multiple plot - windows. - -2007-08-10 S�ren Hauberg - - * ROADMAP: Update for current sources. - -2007-07-26 John W. Eaton - - * configure.in: Also look for glpk/glpk.h. - -2007-07-25 David Bateman - - * octMakefile.in, dlfcn/Makefile.in, emacs/Makefile.in, - examples/Makefile.in, test/Makefile.in: Adjust DISTFILES to allow - out of tree "make dist" to work. - -2007-07-24 Michael Goffioul - - * configure.in (*-*-msdosmsvc): Only add -g to DL_LDFLAGS and - SH_LDFLAGS if either CFLAGS or CXXFLAGS contains -g. - -2007-07-24 Rafael Laboissiere - - * Makeconf.in (RUNTEST): Delete variable substitution. - (do-subst-config-vals): Don't substitute %OCTAVE_CONF_RUNTEST%. - -2007-07-20 Thomas Treichl - - * mkoctfile.in: Fix typo. - -2007-06-25 John W. Eaton - - * mk-opts.pl (emit_print_function): Make generated function print - to ostream (passed as arg) instead of local buffer. Don't call - print_usage in generated function. - (emit_options_function): Fix call to print_${class_name} in - generated to pass octave_stdout as arg. - -2007-06-18 John W. Eaton - - * emacs/octave-inf.el (inferior-octave-prompt): Match "octave.bin" - and "octave.exe" in addition to "octave". - -2007-06-15 John W. Eaton - - * run-octave.in: Use simple string concatenation instead of - sprintf in AWK program. - -2007-06-13 Michael Goffioul - - * configure.in: Set NO_OCT_FILE_STRIP=true for msdosmsvc. - - * aclocal.m4 (OCTAVE_HDF5_DLL): Include return statements in - function body used for test. - - * configure.in: Check for CXSparse with C++. - - * Makeconf.in (do-subst-config-vals): Also substitute ${libdir} as - OCTAVE_CONF_LIBDIR. - * mkoctfile.in: Set DEFAULT_LIBDIR and substitute OCTAVE_HOME. - Define LIBDIR. Use LIBDIR to set DEFAULT_LFLAGS. - -2007-06-12 Benjamin Lindner - - * configure.in: For mingw, add -lws2_32 -lkernel32 to LIBS and set - _USE_MATH_DEFINES same as for msvc. - -2007-06-06 Michael Goffioul - - * configure.in: Check for utime.h and sys/utime.h headers. - Check for utime, _chmod, _utime, and _utime32 functions. - -2007-06-03 David Bateman - - * configure.in (AC_CONFIG_FILES): Add src/mxarray.h - * examples/mycell.c, examples/mypow2.c, examples/mysparse.c, - examples/mystring.c, examples/mystruct.c: Use mwSize and mwIndex, - rather than int for indexing to conform to new mex API. - -2007-06-01 John W. Eaton - - * configure.in (*-*-darwin*): Fix quoting and construction of - MKOCTFILE_DL_LDFLAGS. - * mkoctfile.in (DEFAULT_BINDIR, EXEEXT): New substitutions. - * Makeconf.in (MKOCTFILE_DL_LDFLAGS): Delete. - (do-subst-config-vals): Do configure substitution of - MKOCTFILE_DL_LDFLAGS directly here instead of using intermediate - variable. Quote this sed substitution with ' instead of ". - -2007-05-29 Steven Mestdagh - - * configure.in: Delete spurious "break" in fftw3 check. - Use separate case for SH_LD and SH_LDFLAGS on openbsd. - -2007-05-22 John W. Eaton - - * Makeconf.in (do-script-uninstall): Also remove directory. - -2007-05-22 Thomas Weber - - * NEWS.2, README.MSVC, WWW/NEWS-2.html: Fix typos. - -2007-05-16 David Bateman - - * PROJECTS: Update. - -2007-04-27 John W. Eaton - - * examples/Makefile.in (SOURCES): Add all example files to the list. - - * octave-config.in: Don't set PREFIX to OCTAVE_HOME if OCTAVE_HOME - is empty. - -2007-04-27 David Bateman - - * examples/mycell.c, examples/mypow2.c, examples/mystring.c, - examples/myprop.c: New example mex files. - -2007-04-26 Alex Zvoleff - - * configure.in: Don't report ARPACK libraries in summary. - -2007-04-25 David Bateman - - * Makeconf.in (do-subst-texinfo-vals): Also substitute abs_top_srcdir. - - * examples/myfunc.c, exampples/paramdemo.cc: New files - * examples/mystruct.c, examples/mysparse.c, fortdemo.cc: Fix a few - formatting issues when included in texinfo files. - -2007-04-25 John W. Eaton - - * Makeconf.in (do-subst-texinfo-vals): Also substitute top_srcdir. - - * examples/addtwomatrices.cc, examples/celldemo.cc, - examples/fortdemo.cc, examples/funcdemo.cc, - examples/globaldemo.cc, examples/helloworld.cc, - examples/stringdemo.cc, examples/structdemo.cc, - examples/unwinddemo.cc, examples/fortsub.f, - examples/firstmexdemo.c: New files. - * examples/Makefile.in (SOURCES): Add them to the list. - -2007-04-20 John W. Eaton - - * configure.in: Don't check for ARPACK. - -2007-03-29 Rafael Laboissiere - - * emacs/octave-mod.el: Drop LOADPATH, INFO_FILE, and - INFO_PROGRAM from octave-variables. - - * examples/info-emacs-octave-help, examples/info-emacs-info: - Use gnuclient, not gnudoit. - -2007-03-27 John W. Eaton - - * octMakefile.in (dist, conf-dist): Use ln, not $(LN_S). - * emacs/Makefile.in (dist): Likewise. - * examples/Makefile.in (dist): Likewise. - * dlfcn/Makefile.in (conf-dist): Likewise. - - * config.guess, config.sub: Update from FSF sources. - -2007-03-23 John W. Eaton - - * examples/make_int.cc (octave_integer::clone): Return type is - pointer to octave_base_value, not octave_value. - (Fdoit): Rep is reference to octave_base_value, not octave_value. - -2007-03-21 Paul Kienzle - - * octMakefile.in (all): Print message after successful build. - -2007-03-05 John W. Eaton - - * configure.in (GLPK_PRE_4_14): Rename from GLPK_PRE_4_15. - -2007-02-27 John W. Eaton - - * Makeconf.in (do-script-uninstall): Remove PKG_ADD. - * examples/Makefile.in (uninstall): Don't remove files listed in - $(SCRIPTS) from $(srcdir). - Remove www.octave.org-octave.desktop, not octave.desktop. - - * run-octave.in (run-octave.in): Use --no-initial-path. - Rename to qargs to args. Use $args not "$args" when invoking Octave. - Try harder to get quoting right when passing args to Octave. - -2007-02-26 John W. Eaton - - * octMakefile.in (DISTDIRS): Eliminate variable. - -2007-02-26 Michael Goffioul - - * octMakefile.in, dlfcn/Makefile.in, emacs/Makefile.in: - Use $(LN_S) instead of ln or ln -s. - - * octMakefile.in (dist): Use -9 instead of --best with gzip/bzip2. - -2007-02-21 John W. Eaton - - * configure.in: Also warn about missing functionality for - --without-glpk or --without-curl options. Print curl library - warning in summary. - -2007-02-20 Rafael Laboissiere - - * configure.in: Check for versions of GLPK prior to 4.15 and set - the GLPK_PRE_4_15 macro accordingly. - -2007-02-16 John W. Eaton - - * mkoctfile.in: Use OCTAVE_PREFIX, not OCTAVE_CONF_PREFIX, in sed - substitutions. - * octave-conf.in: Define DATAROOTDIR, not DATADIR, from - OCTAVE_DATAROOTDIR. - From Michael Goffioul . - -2007-02-15 John W. Eaton - - * octave-config.in (DATAROOTDIR): Include in list of vars. - Substitute OCTAVE_HOME. - - * Makeconf.in (MKOCTFILE_INCFLAGS, MKOCTFILE_LFLAGS): Delete vars. - (do-subst-config-vals): Don't substitute them. - Also substitute OCTAVE_CONF_INCLUDEDIR, OCTAVE_CONF_OCTINCLUDEDIR, - OCTAVE_CONF_OCTLIBDIR, and OCTAVE_CONF_PREFIX here. - * mkoctfile.in (OCTAVE_CONF_OCTINCLUDEDIR, OCTAVE_CONF_INCLUDEDIR, - OCTAVE_CONF_OCTLIBDIR): Substitute values and perform OCTAVE_HOME - substitution here. - (DEFAULT_INCFLAGS, DEFAULT_LFLAGS): New variables. Use them to - set default values for INCFLAGS and LFLAGS. - -2007-02-09 John W. Eaton - - * mkoctfile.in: Handle .a files. - -2007-02-08 John W. Eaton - - * octMakefile.in (all): Depend on dist-info-files. - (dist): Delete dist-info-files dependency. - - * configure.in: Rewrite if !( X ) ... fi as if X; true; else ... fi. - Also check for _glp_lpx_simplex. - -2007-02-07 John W. Eaton - - * Makeconf.in (do-script-install): Use $(FCN_FILES) for list of - files instead of $(FCN_FILES_NO_DIR). Use basename to get - filename with no directory part. - -2007-02-07 Michael Goffioul - - * aclocal.m4 (OCTAVE_HDF5_DLL): New macro. - * configure.in: Use it. - -2007-02-05 John W. Eaton - - * configure.in: Check for realpath function. - - * demo.m: Delete obsolete file. - -2007-01-29 Michael Goffioul - - * configure.in (*-*-msdosmsvc): Set NO_OCT_FILE_STRIP to true. - -2007-01-24 John W. Eaton - - * octMakefile.in (install): Install NEWS file. - (uninstall): Remove it. - -2007-01-08 David Bateman - - * configure.in: Replace sparsesuite with suitesparse to match - upstream name. - -2006-12-06 Michael Goffioul - - * acx_blas.m4, acx_lapack.m4: Handle f2c calling convention. - -2006-12-05 John W. Eaton - - * configure.in: Don't check for strptime on *-apple-darwin* systems. - -2006-11-28 John W. Eaton - - * mkoctfile.in: Construct default output file from basename of - input file name. - -2006-11-28 David Bateman - - * configure.in: Check for sparse header files in the sparsesuite - sub-directory. In the cholmod tests, include the camd libraries, as - this might be a dependency for cholmod. - -2006-11-15 John W. Eaton - - * run-octave.in: Don't forget LD_PRELOAD if there are args. - -2006-11-14 John W. Eaton - - * configure.in: If warning message is printed, print additional - final note about missing libraries. - -2006-11-13 John W. Eaton - - * run-octave.in: Substitute liboctinterp, liboctave, and libcruft. - Use them to set LD_PRELOAD. - * Makeconf.in (do-subst-script-vals): Also substitute - liboctinterp, liboctave, and libcruft. - -2006-11-13 Rafael Laboissiere - - * mkoctfile.in: Add -Wl,... options to ldflags, not pass_on_flags. - -2006-11-11 John W. Eaton - - * examples/Makefile.in (octave.desktop): - Use $(simple-move-if-change-rule) here. - - * Makeconf.in (simple-move-if-change-rule, - (builddir-move-if-change-rule): New macros. - -2006-11-11 S�ren Hauberg - - * examples/Makefile.in (uninstall): Add missing semicolon. - -2006-11-09 John W. Eaton - - * examples/Makefile.in (uninstall): New target. - -2006-11-09 Michael Goffioul - - * configure.in (OCTAVE_LOCAL_BUFFER): Don't access first element - if size is 0. - -2006-11-06 Michael Goffioul - - * configure.in (CRUFT_DLL_DEFS, OCTAVE_DLL_DEFS, OCTINTERP_DLL_DEFS): - Also rename in AC_SUBST calls. - * Makeconf.in (ALL_CFLAGS): Use DLL_CDEFS instead of XTRA_CDEFS. - (ALL_CXXFLAGS): Use DLL_CDEFS instead of XTRA_CXXDEFS. - -2006-11-03 John W. Eaton - - * configure.in (CRUFT_DLL_DEFS): Rename from XTRA_CRUFT_DEFS. - (OCTAVE_DLL_DEFS): Rename from XTRA_OCTAVE_DEFS. - (OCTINTERP_DLL_DEFS): Rename from XTRA_OCTINTERP_DEFS. - (XTRA_CRUFT_LINK_FLAGS): Rename from XTRA_CRUFT_LINK_DEPS. - -2006-11-02 John W. Eaton - - * README.Cygwin: Rename from README.Windows. - * README.MSVC: New file. - * README.Windows: Point to the README.Cygwin and README.MSVC files. - -2006-11-01 John W. Eaton - - * configure.in: Check for PCRE macros we use. Warn if regex - library is not found. Print hdf5, zlib, umfpack, colamd, ccolamd, - cholmod, and cxsparse warnings when we detect the problems. - - * run-octave.in: Handle quoted args properly in exec call? - -2006-10-29 John W. Eaton - - * run-octave.in: Handle spaces in directory names. - -2006-10-28 Michael Goffioul - - * configure.in (AH_BOTTOM): If using MSVC, define __WIN32__ before - other #ifdefs that use it. - -2006-10-27 John W. Eaton - - * configure.in (AH_BOTTOM): Move DLL defs to - libcruft/misc/oct-dlldefs.h and include it here. - - * aclocal.m4 (OCTAVE_PROG_TEXI2PDF): Require OCTAVE_PROG_TEXI2DVI. - If texi2pdf is not found but texi2dvi is available, set TEXI2PDF - to "$TEXI2DVI --pdf". - (OCTAVE_PROG_GHOSTSCRIPT): Also check for gswin32 on Windows systems. - - * Makeconf.in (UNSETCOMSPEC): Define if COMSPEC is defined. - From Michael Goffioul . - -2006-10-26 John W. Eaton - - * configure.in (OCTAVE_EXPORT, OCTAVE_IMPORT): New macros - (CRUFT_API, OCTAVE_API, OCTINTERP_API): Define using OCTAVE_EXPORT - and OCTAVE_IMPORT. - -2006-10-26 Michael Goffioul - - * configure.in (*-*-msdosmsvc): Set library_path_var. - Check for _WIN32_WINNT >= 0x0403. Define _USE_MATH_DEFINES if it - is needed. - (XTRA_CRUFT_LINK_DEPS): New variable. Substitute it. - - * aclocal.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): Perform check with C++ - compiler. - -2006-10-26 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_PAGER): Also check for more.com for - *-*-mingw* and *-*-msdosmsvc systems. - - * configure.in (F77_TOLOWER, F77_APPEND_UNDERSCORE, - F77_APPEND_EXTRA_UNDERSCORE): New variables. Substitute them. - * Makeconf.in (F77_TOLOWER, F77_APPEND_UNDERSCORE, - F77_APPEND_EXTRA_UNDERSCORE): Substitute here. - (do-subst-f77-mangling): New macro. - - * emacs/octave-inf.el (inferior-octave-has-built-in-variables): - New defvar. - (inferior-octave-resync-dirs): Check to see whether Octave has - built-in variables and set inferior-octave-has-built-in-variables. - Check inferior-octave-has-built-in-variables to decide whether to - send commands that set built-in variables or call functions to - change Octave's behavior. - Send "disp (pwd ())" to Octave instead of just "pwd". - (inferior-octave-startup): Send "more off" to Octave instead of - "page_screen_output = 0". - -2006-10-25 John W. Eaton - - * configure.in (RETSIGTYPE_IS_VOID): Define if - "$ac_cv_type_signal" = "void". - - * configure.in (*-*-msdosmsvc): Don't check for strftime. - - * configure.in (INCLUDE_DEPS): Set and substitute. - (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): Rearrange way these are set. - - * Makeconf.in (INCLUDE_DEPS): Substitute here, and use to set default - value for omit_deps. - -2006-10-25 Michael Goffioul - - * Makeconf.in (ALL_CFLAGS): Include $(XTRA_CDEFS) in the list. - (ALL_CXXFLAGS): Include $(XTRA_CXXDEFS) in the list. - - * configure.in (XTRA_CRUFT_DEFS, XTRA_OCTAVE_DEFS, - XTRA_OCTINTERP_DEFS): Define and substitute. - (AH_BOTTOM) [_MSC_VER]: include definitions for CRUFT_API, - OCTAVE_API, and OCTINTERP_API. - - * configure.in (*-*-msdosmsvc): Add "-EHs -MD" to CXXFLAGS. - Add "-MD" to CFLAGS. Add "-MD" to CONFLIB_ARG when checking for - libf2c. - - * configure.in (*-*-msdosmsvc): Generate replacement unistd.h. - * octMakefile.in (maintainer-clean, distclean): Also remove unistd.h. - - * configure.in (*-*-msdosmsvc): Default sepchar is ';'. - Define default LIBS (link against kernel32 and ws2_32). - Force having LoadLibrary API. - - * configure.in (AH_BOTTOM) [_MSC_VER]: Define __WIN32__. - -2006-10-25 John W. Eaton - - * mkoctfile.in (OCTAVE_VERSION): No need to quote replacement here. - -2006-10-24 John W. Eaton - - * run-octave.in: Only modify .gdbinit if -g option is given. - Use $(/bin/pwd) instead of $(pwd). - -2006-10-23 John W. Eaton - - * emacs/Makefile.in (SOURCES, DISTFILES, install, install-strip, - uninstall): Handle otags name change. - * emacs/octave-tags, emacs/octave-tags.1: Rename from otags. - -2006-10-17 John W. Eaton - - * configure.in: Check for _isnan, _finite, and _copysign. - -2006-10-17 Michael Goffioul - - * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE, OCTAVE_CXX_ABI): Use - $ac_objext instead of assuming .o. - (OCTAVE_PROG_GNUPLOT): Handle *-*-msdos the same as *-*-cygwin* - and *-*-mingw32*. - -2006-10-17 John W. Eaton - - * configure.in: Check for curl_easy_escap instead of - curl_global_init. - -2006-10-13 Michael Goffioul - - * configure.in [_MSC_VER]: Disable some warnings. - (*-*-msdos): New case for shared libraries. - (LIBPRE): New variable. - * Makeconf.in: Substitute it. - -2006-10-12 John W. Eaton - - * configure.in (AH_BOTTOM): Don't unconditionally #define - OCTAVE_HAVE_POSIX_FILESYSTEM followed by a conditional #undef - OCTAVE_HAVE_POSIX_FILESYSTEM since autoconf is commenting out the - #undef. - -2006-10-09 John W. Eaton - - * Makeconf.in (CURL_LIBS, do-subst-config-vals): - Substitute CURL_LIBS. - - * configure.in: Check for libcurl. - -2006-10-04 John W. Eaton - - * Makeconf.in (library_path_var): Substitute value from configure. - (do-subst-script-vals): Add library_path_var to the list. - * run-octave.in: Substitute value here. - -2006-10-03 John W. Eaton - - * configure.in: Warn if PCRE library is not found. - - * configure.in: Include CAMD_LIBS, AMD_LIBS, and REGEX_LIBS in the - summary. - -2006-10-03 David Bateman - - * configure.in: Check for libcamd. - * Makeconf.in (CAMD_LIBS): New variable. - -2006-09-27 John W. Eaton - - * mkoctfile.in [--mex]: Include -I. in incflags. - From S�ren Hauberg . - -2006-09-26 John W. Eaton - - * configure.in (AC_CONFIG_FILES): - Remove doc/interpreter/images/Makefile from the list. - -2006-09-16 John W. Eaton - - * octave-bug.in: Delete LIBPLPLOT variables. - -2006-09-15 John W. Eaton - - * configure.in: Check for locale.h and setlocale. - -2006-09-13 Christopher Hulbert - - * run-octave.in (LD_LIBRARY_PATH): Also append LD_LIBRARY_PATH - from environment. - -2006-08-25 Alexander Barth - - * mkoctfile.in: Accept .f90 and .F90 as Fortran files. - Pass $incflags and $defs to Fortran compiler. - -2006-08-18 John W. Eaton - - * Makeconf.in (do-subst-texinfo-vals): Don't substitute - %CANONICAL_HOST_TYPE%. - -2006-08-17 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GHOSTSCRIPT, OCTAVE_PROG_MAKEINFO, - OCTAVE_PROG_TEXI2DVI, OCTAVE_PROG_TEXI2PDF): New macros. - * configure.in: Use them. Maybe print warnings in summary. - -2006-07-27 John W. Eaton - - * Makeconf.in (localapiarchlibdir): Substitute it here. - (do-subst-default-vals): Include it in the sed command here. - * configure.in (localapiarchlibdir): New variable. - * octave-config.in: Don't quote %VAR% values. - (LOCALAPIARCHLIBDIR): New variable. - -2006-07-27 Thomas Weber - - * octave-config.in (OCTAVE_FCNFILEPATH, OCTAVE_IMAGEPATH, - OCTAVE_LOCALFCNFILEPATH, OCTAVE_LOCALOCTFILEPATH): Delete variables. - -2006-07-26 John W. Eaton - - * mkoctfile.in (Options): Accept -g. - - * configure.in: Check for exp2 and log2. - -2006-07-25 David Bateman - - * mysparse.c: New file. - -2006-06-27 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): Remove - $(SHELL_SCRIPTS) instead of naming files individually. - Also remove .gdbinit. - -2006-06-21 John W. Eaton - - * examples/myfeval.c, examples/myfevalf.f, examples/myhello.c, - examples/myset.c, examples/mystruct.c: New files. - - * mkoctfile.in: New option, --mex. - -2006-06-13 John W. Eaton - - * configure.in (--enable-64): Include "(EXPERIMENTAL)" in help text. - Also set warn_64_bit if no suitable type for octave_idx_type is found. - If --enable-64 is specified, print warning in summary message. - -2006-06-12 John W. Eaton - - * aclocal.m4 (OCTAVE_CXX_BROKEN_REINTERPRET_CAST): New macro. - * configure.in: Use it. - * AH_BOTTOM: Conditionally define FCN_PTR_CAST here. - -2006-06-08 John W. Eaton - - * Makeconf.in (do-subst-default-vals): Also substitute - OCTAVE_DATAROOTDIR. - -2006-06-06 John W. Eaton - - * Makeconf.in (datarootdir): New variable. - - * acx_lapack.m4 (acx_lapack_ok): - Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK - - * aclocal.m4: Use AC_RUN_IFELSE+AC_LANG_SOURCE instead of AC_TRY_RUN. - - * acx_blas.m4, acx_lapack.m4, configure.in, aclocal.m4: - Use AS_HELP_STRING instead of AC_HELP_STRING. - - * configure.in: Outside of other macros, use AC_MSG_NOTICE instad - of AC_MSG_RESULT. Check for sys_siglist using method from - autoconf manual. - - * configure.in, Makeconf.in: octMakefile.in: Delete plplot cruft. - - * configure.in, aclocal.m4: - Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK - Use AC_COMPILE_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_COMPILE. - Use AS_HELP_STRING consistently with AC_ARG_WITH and AC_ARG_ENABLE. - -2006-05-23 John W. Eaton - - * configure.in: Check for inttypes.h and stdint.h. - -2006-05-19 John W. Eaton - - * mk-opts.pl (emit_print_function, emit_options_function): - Generate print_usage calls with no args. - -2006-05-11 John W. Eaton - - * configure.in (localfcnfilepath, localoctfilepath, fcnfilepath, - imagepath): Delete variables. - * Makeconf.in (localfcnfilepath, localoctfilepath, fcnfilepath, - imagepath): Likewise. - (do-subst-default-vals): Don't substitute them. - - * run-octave.in: Pass --image-path to octave. - Use find to recursively add directories to loadpath. - Fixup set args command in .gdbinit here. - -2006-05-09 John W. Eaton - - * octMakefile.in (abs_top_srcdir): Substitute value here. - -2006-05-05 David Bateman - - * Makeconf.in (do-subst-scripts-vals): Also replace - abs_top_srcdir. - * run-octave.in: Define top_srcdir as an absolute path. - -2006-05-04 John W. Eaton - - * octMakefile.in (SHELL_SCRIPTS): Include run-octave in the list. - -2006-05-02 John W. Eaton - - * NEWS: New contents for 3.0. - * NEWS.2: Move contents of NEWS here. - -2006-04-29 John W. Eaton - - * run-octave.in: Execute $builddir/src/octave, not src/octave. - -2006-04-26 Thomas Weber - - * configure.in: Fix apiversion vs. api_version typo. - -2006-04-25 John W. Eaton - - * Makefile.in (TARGETS): Include run-octave and .gdbinit in the list. - * Makeconf.in (subst-script-vals): New macro. - * octMakefile.in (run-octave, .gdbinit): New rules. - (DISTFILES): Include run-octave.in and gdbinit.in in the list. - -2006-04-17 John W. Eaton - - * mk-opts.pl (emit_print_function): Emit code that uses - std::ostringstream directly. - -2006-04-13 John W. Eaton - - * configure.in (CONST_CAST, DYNAMIC_CAST, REINTERPRET_CAST, - STATIC_CAST): Delete. - -2006-04-12 John W. Eaton - - * configure.in: If using g++, also add -Wold-style-cast to CXXFLAGS. - -2006-03-28 John W. Eaton - - * configure.in: Don't check for MPI libraries. - -2006-03-27 John W. Eaton - - * configure.in: Downcase ac_cv_header_mach_o_dyld_h. - From Martin Costabel . - -2006-03-22 John W. Eaton - - * Makeconf.in: (TEXINFO_COLAMD, TEXINFO_CHOLMOD, TEXINFO_UMFPACK): - Substitute here. - (do-subst-texinfo-vals): New macro definition. - - * configure.in: Don't substitute OCTAVE_VERSION, OCTAVE_HOSTTYPE, - or OCTAVE_HOME. - (AC_CONFIG_FILES): Remove doc/conf.texi from the list. - -2006-03-21 John W. Eaton - - * configure.in: Only print warnings for missing functionality in - summary message. - -2006-03-14 John W. Eaton - - * mk-opts.pl (emit_print_function): Buffer extra message here and - pass to print_usage. - -2006-03-09 John W. Eaton - - * Makeconf.in (do-subst-default-vals): Also substitute OCTAVE_RELEASE. - -2006-03-08 David Bateman - - * configure.in: Update the test for CXSPARSE for new upstream release. - (OCTAVE_VERSION, OCTAVE_HOSTTYPE, OCTAVE_HOME,TEXINFO_UMFPACK, - TEXINFO_COLAMD, TEXINFO_CHOLMOD): New variables for texinfo - documentation. - (AC_CONFIG_FILES): Add doc/interpreter/images/Makefile and - doc/conf.texi. - -2006-03-02 Kurt Hornik - - * emacs/octave-mod.el (octave-indent-for-comment): Make the code - match the comments. - -2006-03-02 John W. Eaton - - * octMakefile.in (ALL_SUBDIRS): Delete. - (SUBDIRS): Include src here. - (SHELL_SCRIPTS): New variable. - (all): Depend on $(SHELL_SCRIPTS) and $(SUBDIRS) with libcruft and - liboctave filtered out. - (src): Depend on liboctave. - (liboctave): Depend on libcruft. - -2006-02-09 David Bateman - - * configure.in: Fix for probe of colamd, cccolamd and metis. New test - for the presence of cxsparse. - Makeconf.in: Include CXSPARSE_LIBS. - -2006-01-19 John W. Eaton - - * configure.in: Use $WITH_PCRE instead of $HAVE_PCRE in shell test. - -2006-01-14 John W. Eaton - - * configure.in: Check for mach-o/dyld.h, not Mach-O/dyld.h. - From Martin Costabel . - -2006-01-13 John W. Eaton - - * Makeconf.in (do-mkpkgadd): New macro. - -2005-12-14 David Bateman - - * Makeconf.in: Remove OCTAVE_PROG_RUNTEST. - * alocal.m4: Remove OCTAVE_PROG_RUNTEST. - - * Makeconf.in: New tests of regex and pcre. - -2005-12-13 John W. Eaton - - * examples/Makefile.in (install install-strip): Fix typo. - From William Poetra Yoga Hadisoeseno . - -2005-12-05 Kurt Hornik - - * emacs/octave-inf.el (inferior-octave-startup): - Force a non-empty string for secondary prompt PS2. - -2005-12-02 John W. Eaton - - * emacs/octave-mod.el (octave-electric-space): Don't indent - comments or strings if octave-auto-indent is nil. - -2005-11-30 John W. Eaton - - * examples/Makefile.in (install install-strip): Install images and - desktop file. - -2005-11-29 Rafael Laboissiere - - * emacs/octave-mod.el: Ensure that key bindings for - octave-mark-defun and backward-kill-word work in both XEmacs and - GNU Emacs. - -2005-11-28 John W. Eaton - - * configure.in: Check for uname. - -2005-11-21 John W. Eaton - - * examples/Makefile.in (DISTFILES): Don't include octave.desktop here. - (distclean): Remove octave.desktop here. - (maintainer-clean): Not here. - -2005-11-01 John W. Eaton - - * examples/Makefile.in (distclean, maintainer-clean): - Also remove octave.desktop. - From Quentin Spencer . - -2005-11-01 Quentin Spencer - - * octMakefile.in (CONF_DISTFILES): Delete acx_include_dirs.m4 from - the list. - -2005-10-28 John W. Eaton - - * configure.in (AC_ARG_WITH(cholmod, ...)): Fix typo. - From Quentin Spencer and - Andy Adler . - -2005-10-26 John W. Eaton - - * configure.in, aclocal.m4: Don't quote "yes". - - * configure.in: Print warning messages for umfpack, colamd, - ccolamd, and cholmod as we are searching. Avoid multiple - definitions of message strings. - - * aclocal.m4 (OCTAVE_UMFPACK_SEPERATE_SPLIT): - Use new method of finding umfpack.h. - * configure.in: Use AC_CHECK_HEADERS instead of - ACX_CHECK_HEADER_IN_DIRS. - (AC_CONFIG_FILES): Delete liboctave/oct-sparse.h from the list. - - * acx_include_dirs.m4: Delete. - -2005-10-26 Arno J. Klaassen - - * configure.in [*-*-freebsd*] (SH_LDFLAGS): Properly quote. - (RLD_FLAG): Set. - -2005-10-23 David Bateman - - * configure.in (OCTAVE_UMFPACK_SEPERATE_SPLIT): Check for metis - separately. - * PROJECTS: Remove completed sparse matrix tasks. - -2005-10-17 Paul Kienzle - - * octave.test/system/system.exp: rmdir no longer prints a - message if the directory does not exist. - - * octave.test/system/mk-rm-dir-1.m: mkdir/rmdir return 1 - on success and 0 on failure. - -2005-10-17 John W. Eaton - - * configure.in (F77_FFLOAT_STORE_FLAG): - Check for -ffloat-store option for Fortran compiler and set - F77_FLOAT_STORE_FLAG if it works. - * Makeconf.in: Substitute it here. - (do-subst-config-vals): Substitute OCTAVE_CONF_F77_FLOAT_STORE_FLAG. - -2005-10-14 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_PYTHON): New macro. - * configure.in: Use it. - * Makeconf.in (PYTHON): Substitute it. - -2005-10-05 David Bateman - - mkoctfile.in: allow -idirafter argument. - -2005-09-23 John W. Eaton - - * examples/Makefile.in (install install-strip): - Conditionally install octave.desktop. - (IMAGE_FILES, IMAGE_FILES_NO_DIR): New macros. - (DISTFILES): Include IMAGE_FILES in list. - (install install-strip): Install image file. - - * aclocal.m4 (OCTAVE_PROG_DESKTOP_FILE_INSTALL): New macro - * configure.in: Use it. - * Makeconf.in: Substitute DESKTOP_FILE_INSTALL. - - * octave.desktop.in: New file. From S�ren Hauberg . - * examples/Makefile.in (SOURCES): Add it to the list. - (octave.desktop): New target. - (all): Depend on octave.desktop. - -2005-09-22 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_PERL): New macro. - * configure.in: Use it. - * Makeconf.in (PERL): Substitute it. - - * config.guess, config.sub: Update from FSF sources. - -2005-09-19 David Bateman - - * octMakefile.in (LN_S): Change to DESTDIR before LN_S to avoid - lack of symlinks under mingw. - -2005-09-15 John W. Eaton - - * oct-sparse.h.in: Move to liboctave. - * octMakefile.in (CONF_DISTFILES): Delete it from the list. - (maintainer-clean, distclean, install, install-strip, uninstall): - Omit rules for oct-sparse.h. - * configure.in: Substitute liboctave/oct-sparse.h, not oct-sparse.h. - -2005-09-15 David Bateman - - * acx_include_dirs.m4 (AC_CHECK_HEADER_IN_DIRS): Define new macro. - * oct-sparse.h.in: New AC_CONFIG_FILE. - * configure.in: (AC_CHECK_HEADER_IN_DIRS): Use macro. - (AMD_LIBS, COLAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS): Probe for - these sparse library in addition to UMFPACK. - (UMFPACK_INCLUDE, AMD_INCLUDE, COLAMD_INCLUDE, CCOLAMD_INCLUDE): - AC_SUBST into oct-sparse.h. - (LIBGLOB): Probe for external glob/fnmatch, define LIBGLOB. - (sepchar): Define path seperation character in system dependent - manner. Use it with OCTAVE_SET_DEFAULT. - (SEPCHAR, SEPCHAR_STR): Dpend on sepchar. - (DL_LDFLAGS): Define for cygwin and mingw. - (-lwsock32): Add to LIBS. - (loadlibrary_api): Set for mingw/cygwin and autoconf test appears - broken. - * Makeconf.in: Don't use ";" as sed seperation to avoid confusion - with sepchar. - (LIBGLOB, AMD_LIBS, COLAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, - sepchar): Substitute. - * octMakefile.in: (CONF_DISTFILES): Add acx_include_dirs.m4 and - oct-sparse.h.in - (oct-sparse.h): Include in install and clean directives - -2005-08-31 Pascal A. Dupuis - - * emacs/octave-inf.el (inferior-octave-startup): Call - inferior-octave-resync-dirs here. - -2005-07-14 John W. Eaton - - * configure.in (SH_LDFLAGS): Add -Wl,--enable-auto-image-base for - Cygwin and MinGW. - -2005-06-14 John W. Eaton - - * configure.in (AH_BOTTOM): Also define GCC_ATTR_DEPRECATED. - -2005-06-02 John W. Eaton - - * Makeconf.in (do-subst-default-vals): Substitute - ${localstartupfiledir}, not ${localstartupfile} (which is undefined). - -2005-05-16 David Bateman - - * configure.in: Change UMFPACK_LONG_IDX to IDX_TYPE_LONG. - -2005-05-04 John W. Eaton - - * configure.in (AC_CHECK_LIB($zlib_lib, ...)): Check for - gzclearerr instead of deflate. - -2005-05-02 John W. Eaton - - * configure.in (AC_ARG_WITH(umfpack)): List -lumfpack ahead of -lamd. - From Dmitri A. Sergatskov . - -2005-04-29 David Bateman - - * configure.in: Add UMFPACK_LONG_IDX - -2005-04-21 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Remove install-octave from the list. - (AH_BOTTOM): Define SIZEOF_OCTAVE_IDX_TYPE. - -2005-04-14 John W. Eaton - - * mkoctfile.in: Only perform link step if we have some object files. - If only -v or --version is supplied, print version info and exit. - -2005-04-08 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): - Remove install-octave from the list of files to remove. - (install-octave.in): Delete file. - (DISTFILES): Remove it from the list. - - * Initial merge of 64-bit changes from Clinton Chee: - - 2005-04-07 John W. Eaton - - * configure.in (--enable-64): Make default disabled. - - 2005-04-06 John W. Eaton - - * mk-opts.pl (emit_show_function, emit_set_functions, - emit_print_function): Also accept "octave_idx_type" and - "Array". - - 2005-04-01 John W. Eaton - - * Makeconf.in (USE_64_BIT_IDX_T): Substitute value. - (do-subst-config-vals): Add to list of substitutions. - - * configure.in (AC_CONFIG_FILES): Perform substitutions on - liboctave/oct-types.h too. - Handle --enable-64. - -2005-04-06 David Bateman - - * configure.in: Split the HDF5 and zlib detection code, so that zlib - can be used for compressed load/save in the absence of HDF5. - - * Makeconf.in: Define UMFPACK_LIBS. - - * Configure.in: Slightly alter the UMFPACK detection code so that it - correctly detects cblas bindings or not. - -2005-03-22 John W. Eaton - - * Makeconf.in (GLPK_LIBS): Substitute value. - (do-subst-config-vals): Add to list of substitutions. - - * configure.in: Check for glpk. - - * emacs/octave-mod.el (octave-abbrev-table): Omit fifth and sixth - arguments from define-abbrev for compatibility with some older - versions of Emacs. - -2005-03-21 John W. Eaton - - * octave-bug.in: Try harder to find default pager (use code - similar to that used for finding default editor). - -2005-03-17 Shan G. Smith - - * configure.in: Move check for -lumfpack to after check for blas. - -2005-03-17 John W. Eaton - - * configure.in: If first check for -lumfpack fails try again with - -lcblas as an additional library. - - * configure.in: Change defaults to enable shared libraries and - dynamic linking and disable static libraries. - -2005-03-15 John W. Eaton - - * octMakefile.in (DISTFILES): Remove texi2dvi from the list. - - * emacs/octave-inf.el, emacs/octave-mod.el, emacs/octave-hlp.el: - Import changes from Emacs. - -2005-03-14 Rafael Laboissiere - - * emacs/octave-mod.el (octave-end-keywords): Omit "end" from the list. - (octave-reserved-words): Include "end" here. - (octve-block-match-alist): Don't include "end" here. - -2005-03-14 John W. Eaton - - * configure.in: Check for umfpack/umfpack.h instead of just umfpack.h. - -2004-06-22 David Bateman - - * configure.in: Check for UMFPACK library and header files. - -2005-03-14 John W. Eaton - - * configure.in: Also print a warning if HDF5 library is not found. - -2005-03-10 John W. Eaton - - * mkoctfile.in: Accept -R DIR. - -2005-03-09 John W. Eaton - - * examples/Makefile.in (bin-dist): Delete target. - (BINDISTFILES): Delete variable. - * emacs/Makefile.in: Likewise. - - * octMakefile.in (VERSION, ARCH, binary-dist): Delete targets. - (XBINDISTFILES, BINDISTFILES, BINDISTSUBDIRS): Delete variables. - -2005-03-04 John W. Eaton - - * configure.in (GXX_PICKY_FLAGS): Don't include - -Wmissing-prototypes or -Wstrict-prototypes. - -2005-03-02 John W. Eaton - - * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG, OCTAVE_F77_FLAG): - Use AC_LINK_IFELSE instead of AC_TRY_LINK. - - * configure.in (OCTAVE_LOCAL_BUFFER): Use < T > instead of . - From Clinton Chee . - -2005-03-01 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Remove libcruft/odessa/Makefile - from the list. - -2005-03-01 Todd Neal - - * examples/make_int.cc: DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA now - takes three arguments. - - * octMakefile.in (SUBDIRS, CLEANSUBDIRS): - Remove @GLOB_DIR@ from the list. - -2005-02-28 John W. Eaton - - * octMakefile.in (DISTDIRS): Remove glob from the list. - (dist): No need to clean up in glob subdirectory. - * glob: Delete directory. - * Makeconf.in (GLOB_INCFLAGS, LIBGLOB): Delete. - (do-subst-config-vals): Don't substitute them. - (INCFLAGS): Remove $(GLOB_INCFLAGS) from the list. - * configure.in: Don't test for glob or fnmatch. - -2005-02-22 Shan G. Smith - - * mkoctfile.in: If not linking, then use output file name - specified with -o. - -2005-02-21 John W. Eaton - - * texi2dvi: Delete our private version. - - * Makeconf.in (MAKEINFO): Define. - (TEXI2DVI): Define as texi2dvi, not $(top_srcdir)/texi2dvi. - -2005-02-09 John W. Eaton - - * configure.in: Check for canonicalize_file_name and resolvepath. - -2005-02-02 John W. Eaton - - * config.guess, config.sub: Update from FSF sources. - -2005-01-18 John W. Eaton - - * octave-bug.in: Try harder to find default editor (stolen from - bashbug). - -2004-12-17 John W. Eaton - - * configure.in: Use AC_GNU_SOURCE. - -2004-12-17 Orion Poplawski - - * configure.in: Also check for signbit decl. - -2004-12-03 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GPERF): Check with -L C++, not -L ANSI_C. - * Makefile.in (header-msg): Change recommended gperf version to - 3.0.1 or more recent. - -2004-11-12 John W. Eaton - - * Back off on -ffloat-store until we decide whether it is really - necessary. - -2004-11-11 John W. Eaton - - * (OCTAVE_PROG_GNUPLOT): Don't set GNUPLOT_BINARY before calling - AC_CHECK_PROGS(GNUPLOT_BINARY, ...). - - * configure.in: Use it to see if the C, C++, and Fortran compilers - accept -ffloat-store. - * aclocal.m4 (OCTAVE_F77_FLAG): New macro. - -2004-09-08 John W. Eaton - - * configure.in (GXX_PICKY_FLAGS): Remove -fno-nonnull-objects. - (GCC_PICKY_FLAGS): Remove -Wnested-externs -Wid-clash-31. - From Quentin Spencer . - - * configure.in (GCC_PICKY_FLAGS): Remove -Winline. - -2004-09-07 John W. Eaton - - * configure.in: Check for round. - -2004-06-22 David Bateman - - * configure.in: Use -Wl,-Bsymbolic for MKOCTFILE_DL_LDFLAGS on - GNU/Linux systems but not for SH_LDFLAGS. - -2004-04-22 John W. Eaton - - * configure.in: Add -Wl,-Bsymbolic to SH_LDFLAGS for GNU/Linux - systems. From Fredrik Lingvall . - - * mkoctfile.in: Allow -Wx,option style options to be passed to the - compiler. From Al Niessner . - -2004-04-06 John W. Eaton - - * configure.in: Delete code for --with-ieee754. - Use OCTAVE_IEEE754_DATA_FORMAT. - - * aclocal.m4 (OCTAVE_IEEE754_DATA_FORMAT): New macro, based on - configure.in code for HAVE_IEEE754_COMPLIANCE. - -2004-04-06 David Bateman - - * configure.in : add the option --with-ieee754 and use it to define - HAVE_IEEE754_COMPLIANCE - -2004-04-02 David Bateman - - * configure.in: Warn about g++ 2.9x versions. - -2004-04-01 John W. Eaton - - * octMakefile.in (dist): Also make bz2 file and compute md5 - checksums of both gz and bz2 files. - -2004-03-04 John W. Eaton - - * configure.in: No longer accept --with-g77 (it is still possible - to use --with-f77=g77). - -2004-03-03 John W. Eaton - - * configure.in: Check for -mieee instead of -mieee-with-inexact. - -2004-02-20 Per Persson - - * mkoctfile.in (LINK_DEPS): Include $LDFLAGS in the list. - -2004-02-18 Per Persson - - * configure.in (*-*-darwin*): Define SONAME_FLAGS. - -2004-02-16 David Bateman - - * configure.in: Test for the presence of FFTW 3.x and use it in - preference to FFTW 2.x. Define HAVE_FFTW3 - -2004-02-16 John W. Eaton - - * mkoctfile.in (LINK_DEPS): Include $LIBS and $RLD_FLAG. - Use $OCTAVE_LIBS instead of listing libs individually. - -2004-02-14 John W. Eaton - - * mkoctfile.in: Delete INCLUDE_LINK_DEPS. Fix help text. - Always define LINK_DEPS. - (LINK_DEPS): Also include FLIBS in the list. - - * Makeconf.in (INCLUDE_LINK_DEPS): Don't substitute. - (do-subst-config-vals): Delete INCLUDE_LINK_DEPS. - * configure.in (INCLUDE_LINK_DEPS): Delete. - - * mkoctfile (SH_LD, SH_LDFLAGS): Delete. - (DL_LD, DL_LDFLAGS): New variables. Use them instead of SH_LD and - SH_LDFLAGS for creating .oct files. - Fix help text. - - * configure.in (MKOCTFILE_SH_LDFLAGS): Delete. - (MKOCTFILE_DL_LDFLAGS): New variable, default to DL_LDFLAGS. - - * Makeconf.in (do-subst-config-vals): Add DL_LD, DL_LDFLAGS, and - MKOCTFILE_DL_LDFLAGS to the list of substitutions. - Delete MKOCTFILE_SH_LDFLAGS. - -2004-02-14 Per Persson - - * configure.in (DL_LD, DL_LDFLAGS): New variables, default to - SH_LD and SH_LDFLAGS, respectively. - Define independently for SH_LD and SH_LDFLAGS for *-*-darwin* targets. - * Makeconf.in (DL_LD, DL_LDFLAGS): Substitute them here. - -2004-02-13 John W. Eaton - - * Makefile.in (header-msg): Required bison version now 1.31 or later. - -2004-01-29 John W. Eaton - - * emacs/octave-mod.el: If line-end-position is not defined, - provide it as an alias for point-at-eol. - -2004-01-24 John W. Eaton - - * emacs/octave-mod.el: If line-beginning-position is not defined, - provide it as an alias for point-at-bol. - -2004-01-23 John W. Eaton - - * configure.in (AH_BOTTOM): - Define OCTAVE_LOCAL_BUFFER using vector instead of auto_ptr. - Suggested by Paul Thomas - -2004-01-22 John W. Eaton - - * octMakefile.in (maintainer-clean, distclean): - Remove Makefile and autom4te.cache. - -2004-01-14 David Bateman - - * configure.in: Test for the presence of the function - H5Gget_num_objs in HDF5 library, and define HAVE_H5GGET_NUM_OBJS. - -2004-01-06 Per Persson - - * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Recognize - *-*-darwin*, not *-*-darwin6*. - -2003-12-20 John W. Eaton - - * INSTALL: Update to newer version from autoconf. - -2003-11-26 Cyril Humbert - - * octave-config.in (--m-site-dir): Echo $LOCALVERFCNFILEDIR, not - $OCTAVE_LOCALVERFCNFILEDIR. - (--oct-site-dir): Echo $LOCALVEROCTFILEDIR, not - $OCTAVE_LOCALVEROCTFILEDIR. - -2003-11-20 John W. Eaton - - * configure.in: Also maybe add -W to WARN_CFLAGS and WARN_CXXFLAGS. - -2003-11-15 John W. Eaton - - * Makeconf.in (SHLLIB_VER): Fix typo. - - * Makeconf.in (WARN_CFLAGS, WARN_CXXFLAGS): Substitute them. - (ALL_CFLAGS, BUG_CFLAGS): Add $(WARN_CFLAGS). - (ALL_CXXFLAGS, BUG_CXXFLAGS): Add $(WARN_CXXFLAGS). - (UGLY_ALL_CXXFLAGS): Delete. - - * configure.in: Add -Wall and -Wshadow to WARN_CFLAGS and - WARN_CXXFLAGS instead of CFLAGS and CXXFLAGS. - -2003-11-12 John W. Eaton - - * configure.in: If we need alloca, then also include it in LIBGLOB. - -2003-11-10 John W. Eaton - - * configure.in: Preserve CFLAGS and CXXFLAGS before doing anything. - Maybe add -Wshadow to CFLAGS and CXXFLAGS. - -2003-10-24 Stefan Monnier - - * emacs/octave-mod.el (octave-comment-start): Simplify. - (octave-point): Remove. - (octave-in-comment-p, octave-in-string-p) - (octave-not-in-string-or-comment-p, calculate-octave-indent) - (octave-blink-matching-block-open, octave-auto-fill): - Use line-(beginning|end)-position instead. - -2003-10-29 John W. Eaton - - * emacs/octave-inf.el (inferior-octave-prompt): Don't bother - matching "octave.bin". - -2003-10-29 Lute Kamstra - - * emacs/octave-inf.el (inferior-octave-prompt): Recognize - version number in prompt. - -2003-10-24 John W. Eaton - - * emacs/octave-mod.el (octave-mode-syntax-table): Allow % to be a - comment character. - -2003-10-23 John W. Eaton - - * Makeconf.in (AWK): Substitute and export it. - * configure.in: Also check for AWK. - -2003-10-07 John W. Eaton - - * configure.in (AC_PREREQ): Require 2.57. - -2003-09-19 John W. Eaton - - * configure.in (AH_BOTTOM): Don't define HEAVYWEIGHT_INDEXING here. - -2003-07-30 John W. Eaton - - * emacs/octave-mod.el (octave-variables): Delete - propagate_empty_matrices from the list. - - * ck-oct-fcns.m: Delete. - -2003-07-25 John W. Eaton - - * configure.in: Warn if --enable-dl but not --enable-shared. - -2003-07-15 John W. Eaton - - * emacs/octave-mod.el (octave-variables): Delete - default_return_value and define_all_return_values from the list. - Add warn_undefined_return_values to the list. - -2003-07-11 John W. Eaton - - * emacs/octave-mod.el (octave-variables): - Add warn_empty_list_elements and warn_resize_on_range_error to the - list. - Delete empty_list_elements_ok and resize_on_range_error from the - list. - -2003-07-10 John W. Eaton - - * emacs/octave-mod.el (octave-variables): Add warn_neg_dim_as_zero - to the list. - Delete treat_neg_dim_as_zero from the list. - -2003-07-09 John W. Eaton - - * emacs/octave-mod.el (octave-variables): Include - DEFAULT_EXEC_PATH, DEFAULT_LOAD_PATH, crash_dumps_octave_core, - sighup_dumps_octave_core, sigterm_dumps_octave_core, - warn_imag_to_real, warn_num_to_str, warn_str_to_num, and - warn_fortran_indexing in the list. - Delete ok_to_lose_imaginary_part, implicit_num_to_str_ok, - implicit_str_to_num_ok, prefer_column_vectors, - prefer_zero_one_indexing, and do_fortran_indexing from the list. - -2003-07-08 John W. Eaton - - * Makeconf.in (do-subst-default-vals): Substitute OCTAVE_API_VERSION. - * octave-config.in: Handle new variable OCTAVE_API_VERSION. - - * octMakefile.in (DIRS_TO_MAKE): Delete undefined vars - $(localfcnfilepathdirs) and $(localoctfilepathdirs) from the list. - - * octave-config.in: Handle new variables OCTAVE_LOCALAPIFCNFILEDIR - and OCTAVE_LOCALAPIOCTFILEDIR - - * configure.in (localapifcnfiledir): New variable. - (localfcnfilepath): Add it to the list. - (localapioctfiledir): New variable. - (localoctfilepath): Add it to the list. - * Makeconf.in (do-subst-default-vals): Substitute new varibles. - - * Makeconf.in (getapiversion, apiversion): New macros. - - * octMakefile.in (DIRS_TO_MAKE): Include $(localverarchlibdir) in - the list. - -2003-07-07 John W. Eaton - - * Makeconf.in: Set and substitute values for startupfiledir and - localstartupfiledir. - - * octave-config.in: Allow other configuration defaults to be - accessed using --variable VAR option. - -2003-07-02 John W. Eaton - - * octMakefile.in (distclean): remove install-octave here. - -2003-06-27 John W. Eaton - - * configure.in: If user doesn't specify --enable-rpath, then - default is to enable it. - -2003-06-04 John W. Eaton - - * aclocal.m4 (GNUPLOT_HAS_FRAMES): Eliminate variable. - - * emacs/octave-mod.el (octave-variables): Eliminate - gnuplot_has_multiplot. - -2003-05-21 John W. Eaton - - * configure.in: In check for f_open in libf2c, only use - -L. -lconflib if we have created libconflib.a. - -2003-05-16 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GPERF): Provide struct decl so -t option - succeeds with gperf 3.0. - - * Makeconf.in (NO_OCT_FILE_STRIP): Use -C arg for make. - - * octMakefile.in (DIRS_TO_MAKE): Use $(shell ...) instead of `...`. - -2003-05-14 John W. Eaton - - * Makeconf.in, octMakefile.in, emacs/Makefile.in, - examples/Makefile.in: Handle DESTDIR. - -2003-05-13 John W. Eaton - - * Makeconf.in (sbindir): New variable substitution. - -2003-04-30 John W. Eaton - - * configure.in: Don't define WITH_KPATHSEARCH. - -2003-04-24 John W. Eaton - - * configure.in: Look for wsock32 library on MinGW systems. - -2003-04-22 John W. Eaton - - * configure.in (OCTAVE_LOCAL_BUFFER): Always allocate temporary - buffer using new. - -2003-04-18 John W. Eaton - - * Makefile.in octMakefile.in: Delete kpathsea targets. - - * kpathsea: Delete all files and directory. - - * configure.in: Don't run configure in kpathsea subdirectory. - - * README.kpathsea: New file. - * octMakefile.in (DISTFILES): Include it in the list. - - * Makeconf.in (do-subst-config-vals): Don't substitute it. - - * configure.in: Also check for basename. - Don't substitute LIBKPATHSEA. - -2003-04-17 John W. Eaton - - * configure.in (AH_BOTTOM): Don't assume that __WIN32__ will be - defined when __CYGWIN__ is defined. - -2003-03-17 John W. Eaton - - * configure.in: Only complain for g++ earlier than 2.95. - Try harder to get version number only. - -2003-03-05 Paul Kienzle - - * aclocal.m4 (OCTAVE_DYNAMIC_AUTO_ARRAYS): New macro. - * configure.in: Use it. - (AH_BOTTOM): Check HAVE_DYNAMIC_AUTO_ARRAYS instead of __GNUG__. - -2003-03-03 John W. Eaton - - * configure.in: Undo previous change. - * Makeconf.in: Likewise. - -2003-03-01 John W. Eaton - - * configure.in (KPATHSEA_INCFLAGS): New variable. - * Makeconf.in (KPATHSEA_INCFLAGS): Substitute it. - (do-subst-config-vals): Add it to the list. - (INCFLAGS): Add $(KPATHSEA_INCFLAGS). - -2003-02-23 Paul Kienzle - - * aclocal.m4 (OCTAVE_PLACEMENT_DELETE): New macro. - * configure.in: Use it. - (AH_BOTTOM): Don't define HAVE_PLACEMENT_DELETE here. - -2003-02-21 John W. Eaton - - * configure.in: Allow RLD_FLAG to be set using --enable-rpath arg. - - * configure.in: Fix default RLD_FLAG value for *-sgi-*. From - Paul Kienzle . - - * configure.in: Check for long long int and unsigned long long int. - - * configure.in (AH_BOTTOM): Define HAVE_PLACEMENT_DELETE for gcc - 3.2 and later. - - * configure.in: Check for copysign and signbit. - -2003-02-18 John W. Eaton - - * emacs/Makefile.in (DISTFILES): Add otags.1 to the list. - -2003-02-18 Dirk Eddelbuettel - - * emacs/otags.1: New file. - -2003-02-18 David Bateman - - * configure.in: Eliminate linpack - -2003-02-15 John W. Eaton - - * configure.in: Check for mkstemp too. - -2003-02-13 Arno Klaassen - - * configure.in: Fix SH_LD and SH_LDFLAGS for -*-*-freebsd*. - -2003-02-13 John W. Eaton - - * configure.in: Use '$(CXX)', '$(AR)', not "$CXX" and "$AR" when - setting variables for building shared libraries. - -2003-02-13 Paul Kienzle - - * examples/make_int.cc: Support for ISO standard compilers. - -2003-01-22 Richard Stallman - - * emacs/octave-mod.el (octave-mode-map): Avoid binding keys that - are reserved for users. - -2003-01-22 John W. Eaton - - * Makeconf.in: Fix typo in previous change. - -2003-01-21 John W. Eaton - - * Makeconf.in (MKOCTFILE_INCFLAGS): Skip -I$(includedir) if - $(includedir) is /usr/include. - -2003-01-16 Mumit Khan - - * Makeconf.in (SED): Export to subshells. - -2003-01-11 John W. Eaton - - * configure.in: Don't bother with compiler flags for - explicit/no-implicit template instantiation. - -2003-01-11 Paul Kienzle - - * configure.in, Makeconf.in: Allow setting of BUILD_LDFLAGS. - -2003-01-11 John W. Eaton - - * autogen.sh: Use --force for autoconf and autoheader. - -2003-01-04 John W. Eaton - - * octMakefile.in (CONF_DISTFILES): Include acx_blas.m4 and - acx_lapack.m4. - - * configure.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, - BUILD_CXXFLAGS): Kluge for Sun C/C++. - -2003-01-03 John W. Eaton - - * configure.in: Default value of BUILD_CXX is $CXX, not g++. - (AH_BOTTOM): Define __USE_STD_IOSTREAM if using Compaq C++ compiler. - For compiler/linker options, use -Wl,OPT instead of -Xlinker OPT. - Check for -ieee option for the C and C++ compilers on alpha systems. - -2003-01-02 John W. Eaton - - * configure.in: Fail on all gcc 1.x and 2.x versions. - -2002-12-30 John W. Eaton - - * configure.in (OCTAVE_LOCAL_BUFFER): New macro. - -2002-12-18 John W. Eaton - - * mkoctfile.in: Include $LIBOCTINTERP in the stand alone link command. - Define LIBOCTAVE, LIBOCTINTERP, LIBCRUFT, LIBREADLINE using -lLIB. - -2002-12-17 John W. Eaton - - * Makeconf.in (do-script-install, do-script-uninstall): - New macros, used in Makefiles in scripts subdirectory. - (do-script-install): Use new scripts/mkpkgadd script to construct - PKG_ADD files. - -2002-12-03 Nix - - * configure.in: Use AC_CHECK_DECL in conjunction with - AC_DECL_SYS_SIGLIST to ensure signal.h is searched. - -2002-12-03 John W. Eaton - - * configure.in: Dont't set SONAME_FLAGS for alpha alpha*-dec-osf* - systems. - -2002-11-29 Paul Kienzle - - * mkoctfile.in: Include "$incflags $def" in commands to generate - dependecies. - -2002-11-21 John W. Eaton - - * configure.in (do-subst-config-vals): Substitute OCTAVE_BINDIR. - - * configure.in (MKOCTFILE_SH_LDFLAGS): New variable. - * Makeconf.in (do-subst-config-vals): Substitute - OCTAVE_CONF version of this variable. - - * mkoctfile.in: Set SH_LDFLAGS from MKOCTFILE_SH_LDFLAGS, not - SH_LDFLAGS. - (VERSION): Substitute value of OCTAVE_CONF_VERSION. - - * configure.in (NO_OCT_FILE_STRIP): New variable. - * Makeconf.in (do-subst-config-vals): Substitute it. - * mkoctfile.in (no_oct_file_strip_on_this_platform): New variable. - -2002-11-20 John W. Eaton - - * configure.in (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): - Delete use. - - * aclocal.m4 (OCTAVE_LANG_PROG_NO_CONFDEFS): Delete. - (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Delete. - -2002-11-19 John W. Eaton - - * configure.in: Check for dlopen last, to avoid broken - compatibility libraries. - Default value for SHLLIB is '$(SHLEXT)', not $SHLEXT. - -2002-11-15 John W. Eaton - - * configure.in (USE_EXCEPTIONS_FOR_INTERRUPTS): No need to define. - -2002-11-14 John W. Eaton - - * configure.in: Check for sigsetjmp and siglongjmp. - (AH_BOTTOM): If both are found, define OCTAVE_HAVE_SIG_JUMP. - Also check for sig_atomic_t, typedef it if not available. - -2002-11-10 Per Persson - - * configure.in: Detect dyld API for dynamic linking on OS X. - -2002-11-09 Per Persson - - * configure.in: Use $(TOPDIR)/src/octave, not $(bindir)/octave for - -bundle-loader argument. - - * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Force result for OS X. - -2002-11-07 John W. Eaton - - * configure.in: Set FPICFLAG, Also set CXXPICFLAG, CPICFLAG, - FPICFLAG, and INCLUDE_LINK_DEPS for OS X. - - * acx_blas.m4 (LIBS): Also check for Apple vecLib framework. - -2002-11-06 John W. Eaton - - * configure.in (AH_BOTTOM): Define USE_EXCEPTIONS_FOR_INTERRUPTS. - -2002-11-04 Joseph P. Skudlarek - - * emacs/otags: handle declarations without arguments and/or return - values. - -2002-10-31 John W. Eaton - - * configure.in (SHLEXT_VER, SHLLIB_VER, SHLBIN_VER): Use - $(version), not $(VERSION). - -2002-10-28 John W. Eaton - - * Makeconf.in (HAVE_DLOPEN_API, HAVE_SHL_LOAD_API, - HAVE_LOADLIBRARY_API): Delete. - (do-subst-config-vals): Don't substitute them here. - -2002-10-25 John W. Eaton - - * configure.in (ENABLE_DYNAMIC_LINKING): Rename from - WITH_DYNAMIC_LINKING. - * Makeconf.in: Likewise. - * examples/hello.cc: Likewise. Improve comments. - - * configure.in: Revive --enable-dl to set default value for - WITH_DYNAMIC_LINKING. - - * configure.in: Also set SHLEXT_VER, SHLLIB_VER, SHLBIN_VER. - * Makeconf.in: Substitute them here. - Also substitute SHLLINKEXT. - -2002-10-25 Per Persson - - * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Fix - first test to properly fail on OS X. Fix typo in final test to - set result. - -2002-10-23 John W. Eaton - - * mk-opts.pl (emit_opt_class_header): Make set_options another - name for copy. - -2002-10-17 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Don't substitute - OCTAVE_CONF_OCTAVE_LITE. - (OCTAVE_LITE): Delete. - - * Makeconf.in: Use HAVE_DLOPEN_API, HAVE_LOADLIBRARY_API, and - HAVE_SHL_LOAD_API instead of WITH_DL and WITH_SHL. - - * configure.in: Rewrite the way we handle dynamic linking. - If dynamic linking is used always do what was previously only - enabled by --enable-lite-kernel. - -2002-10-17 Paul Kienzle - - * configure.in: Define WITH_DYNAMIC_LINKING based on --enable-shared. - Add -lwsock32 to LIBS for MinGW. - -2002-10-16 John W. Eaton - - * aclocal.m4 (OCTAVE_LANG_PROG_NO_CONFDEFS): New macro. - (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Use it along with - AC_LINK_IFELSE instead of AC_TRY_LINK. - Require both programs to compile for success. - -2002-10-16 Paul Kienzle - - * aclocal.m4: Both Cygwin and MinGW don't prepend underscores. - * configure.in: MinGW builds shared libraries the same as Cygwin. - MinGW must link to winsock explicitly. - * install-octave.in: MinGW and Cygwin both need OCTAVE_HOME. - -2002-10-15 Paul Kienzle - - * configure.in (library_path_var): New variable. - -2002-10-14 John W. Eaton - - * configure.in (SH_LDFLAGS): Additional options for Cygwin: - -Wl,--export-all-symbols -Wl,--enable-auto-import. - - * Makeconf.in (TERMLIBS): Substitute here. - - * configure.in: Define OCTAVE_USE_WINDOWS_API if - defined (__WIN32__) && ! defined (__CYGWIN__), not if - defined (__WIN32__) || ! defined (__CYGWIN__). - Also call AC_SUBST for TERMLIBS. - -2002-10-14 Paul Kienzle - - * configure.in: Use correct SHLEXT and PICFLAG for Cygwin. - * configure.in: Cygwin must link against -loctave.dll, etc. - - * configure.in: Define INCLUDE_LINK_DEPS because Cygwin needs DLLs - to be linked against their dependencies. - * Makeconf.in: Ditto. - - * configure.in: Define SHLLIB and SHLBIN because Cygwin doesn't - link against shared libs but instead against -lxxx.dll. LIB and - BIN are the link and load forms respectively of the library. - * Makeconf.in: Ditto, and define the corresponding XXX_VER. - - * configure.in: Remove LIBOCT_READLINE and LIBOCT_PATHSEARCH - because they are merged into LIBOCTAVE to avoid circular - dependencies. - * Makeconf.in: Ditto. - * mkoctfile.in: Ditto. - - * aclocal.m4 (OCTAVE_ENABLE_READLINE): Define LIBREADLINE because - Cygwin requires liboctave to be linked against -lreadline so - including it in LIBS isn't sufficient. - * mkoctfile.in: Substitute and use LIBREADLINE here. - - * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Force no for cygwin. - -2002-10-11 John W. Eaton - - * configure.in (AH_BOTTOM): Maybe define OCTAVE_USE_WINDOWS_API - and OCTAVE_HAVE_WINDOWS_FILESYSTEM. - -2002-10-09 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GNUPLOT): AC_DEFINE GNUPLOT_BINARY - Default value on Windows systems is pgnuplot. - If not cross compiling and no gnuplot program is found, set - default to gnuplot. Set defaults for multiplot and frames. Check - for pgnpuplot, pipe-gnuplot, and gnuplot on Windows systems. - - * configure.in (BUILD_EXEEXT): New variable. - * Makeconf.in (BUILD_EXEEXT): Substitute it here. - - * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): - Add second test for OS X. - -2002-10-08 John W. Eaton - - * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): New macro. - * configure.in: Use it. - - * configure.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, BUILD_CXXFLAGS): - Set default values if cross compiling. - - * aclocal.m4 (OCTAVE_PROG_NM): Do the right thing for cross compiling. - (OCTAVE_CXX_PREPENDS_UNDERSCORE): Require OCTAVE_PROG_NM. - (OCTAVE_CXX_ABI): Likewise. - - * Makeconf.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, BUILD_CXXFLAGS): - New variables for cross compiling. - -2002-10-07 Paul Kienzle - - * configure.in: Check for raise. - -2002-10-02 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_SED): New macro, adapted from autoconf - patches mailing list archive, written by Robert Boehne - . - * configure.in: Use it. - * Makeconf.in: Substitute SED, use $(SED), not sed. - (do-subst-conffig-vals): Substitute it here too. - * mkoctfile.in: And here. Use $SED, not sed. - * octave-bug.in: Likewise. - * install-octave.in: Likewise. - -2002-09-30 John W. Eaton - - * configure.in: Don't define mkdir here. - -2002-09-25 Mumit Khan - - * aclocal.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): New macro to determine if - host mkdir accepts only one arg instead of the usual two. - * configure.in: Use. Check for direct.h. - (mkdir): Define. - -2002-09-26 Paul Kienzle - - * configure.in: Check for conio.h. - Check for _kbhit. - -2002-09-26 John W. Eaton - - * configure.in (AH_BOTTOM): Don't define - USE_PRAGMA_INTERFACE_IMPLEMENTATION. - -2002-09-26 Paul Kienzle - - * configure.in: Fix syntax errors in !HAVE_XXX_T. - Don't require terminal control for build. - -2002-09-23 John W. Eaton - - * configure.in: Fix typedefs used in AH_BOTTOM. - -2002-09-19 John W. Eaton - - * configure.in (AH_BOTTOM): If using g++, define - USE_PRAGMA_INTERFACE_IMPLEMENTATION. - -2002-08-17 John W. Eaton - - * configure.in: Check for sstream. - -2002-08-16 John W. Eaton - - * Makeconf.in (%.d : %.cc): Add $*.df to LHS of dependency list. - -2002-08-15 Paul Kienzle - - * mk-opts.pl: Add support for INCLUDE = "...". - -2002-08-15 John W. Eaton - - * mk-opts.pl: Handle Array too. - -2002-08-10 John W. Eaton - - * mk-opts.pl (emit_options_function): Emit newline at EOF. - -2002-08-01 John W. Eaton - - * Makeconf.in: Use $@-t instead of $@.tmp or $@.t. - -2002-07-19 John W. Eaton - - * mk-opts.pl: New file. - * Makefile.in (DISTFILES): Add it to the list. - -2002-07-12 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Add libcruft/dasrt/Makefile to - the list. - -2002-07-10 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Add libcruft/odessa/Makefile to - the list. - -2002-05-24 John W. Eaton - - * configure.in: Maybe add -fno-coalesce-templates to XTRA_CXXFLAGS - on darwin systems. - (SH_LDFLAGS): Set this on darwin systems. - (UGLY_DEFS): Cope with broken sed or shell quoting on darwin systems. - -2002-05-16 John W. Eaton - - * aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): Omit cwctype. - -2002-05-01 John W. Eaton - - * configure.in (AC_AIX): Move before AC_MINIX and AC_ISC_POSIX. - (AH_BOTTOM): Move contents of acconfig.h here. - * acconfig.h: Delete. - * octMakefile.in (CONF_DISTFILES): Delete acconfig.h from the list. - -2002-04-27 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Add libcruft/daspk/Makefile to - the list. - -2002-04-24 Kurt Hornik - - * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): Also handle flags - that contain : and =. - -2002-04-12 John W. Eaton - - * config.guess, config.sub: Update from FSF sources. - -2002-04-11 John W. Eaton - - * configure.in: Declare F2C and F2CFLAGS with AC_ARG_VAR. - Delete AC_SUBST calls for F77, FFLAGS, FLIBS, F2C, F2CFLAGS (no - need to do this explicitly now). - -2002-04-04 John W. Eaton - - * Makeconf.in: Set and substitute EXEEXT, not EXE. - - * configure.in (EXE): Delete check and substitution. - * install-octave.in: Use EXEEXT instead of EXE. - - * configure.in: Use AC_CHECK_MEMBERS, not OCTAVE_STRUCT_GR_PASSWD. - Use AC_CHECK_TYPES, not AC_CHECK_TYPE or OCTAVE_CHECK_TYPE. - * aclocal.m4 (OCTAVE_STRUCT_GR_PASSWD, OCTAVE_CHECK_TYPE): Delete. - * acconfig.h (dev_t, ino_t, nlink_t, sigset_t): Typedef if not found. - -2002-04-03 John W. Eaton - - * aclocal.m4: Replace AC_LANG_SAVE, AC_LANG_C, AC_LANG_CPLUSPLUS, - and AC_LANG_RESTORE with AC_LANG_PUSH and AC_LANG_POP. - Use AS_MESSAGE_LOG_FD instead of AC_FD_CC. - * configure.in: Delete second arg in AC_CHECK_SIZEOF calls. - -2002-04-03 Steven G. Johnson - - * configure.in: Correct usage of AC_ARG_WITH for --with-fftw. - - * configure.in: Update for autoconf 2.5x. - Minor syntax changes to new recommended syntaxes and macros. - Apply changes from autoupdate plus eliminate some warning - messages, deprecated uses of changequote, etc. - Use autoheader templates to generate config.h.in. - Replace most of Octave's Fortran support macros with those in the - new autoconf. - Eliminate most uses of internal (undocumented) autoconf cache vars. - Replace BLAS/LAPACK detection new macros ACX_BLAS/ACX_LAPACK from - the autoconf macro repository. - * acx_blas.m4, acx_lapack.m4: New files. - * acconfig.h: Delete lines that can be automatically generated - from new info in configure.in and aclocal.m4. - If it is not already defined, define F77_FUNC for use with f2c. - * aclocal.m4 (OCTAVE_PROG_G77, OCTAVE_FLIBS, OCTAVE_F77_MAIN_FLAG, - OCTAVE_F77_UPPERCASE_NAMES, OCTAVE_F77_APPEND_UNDERSCORE, - OCTAVE_F2C_F77_COMPAT): Delete definitions. - Use autoheader templates to generate config.h.in. - * Makeconf.in, mkoctfile.in (FORTRAN_MAIN_FLAG): Delete all uses. - -2001-11-09 John W. Eaton - - * octave-bug.in (BLAS_LIBS, FFTW_LIBS, LD_CXX): Substitute and - print values. - * mkoctfile.in: Accept --compile as an alias for -c. - New option, --link-stand-alone. - New option, --no-pathsearch. - New option, --no-readline. - Substitute RLD_FLAG, FLIBS, LIBKPATHSEA, LIBOCTINTERP, - LIBOCTAVE, LIBOCT_READLINE, LIBOCT_PATHSEARCH, LIBCRUFT, - BLAS_LIBS, FFTW_LIBS, and LIBS. - * Makeconf.in (MKOCTFILE_LFLAGS): New variable. - (do-subst-config-vals): Substitute FFTW_LIBS, LD_CXX, - LIBOCT_PATHSEARCH, LIBOCT_READLINE, MKOCTFILE_LFLAGS. - -2001-11-06 John W. Eaton - - * Makefile.in (LIBOCT_READLINE, LIBOCT_PATHSEARCH): New variables. - * Makeconf.in: Substitute them here. - -2001-11-02 John W. Eaton - - * octMakefile.in (dist): Omit long-gone info subdir. - Fix find command for removing Makefile in kpathsea and glob subdirs. - -2001-08-10 John W. Eaton - - * mkoctfile.in: Substitute F2C and F2CFLAGS. Make it possible to - use f2c and a C compile to compiling Fortran source files. Print - warnings and error message on stderr, not stdout. Issue warnings - if it is not possible to comiple Fortran, C, or C++ files. - - * configure.in (%.c : %.f): Don't use cat in F2C rule. - -2001-07-27 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Substitute DEPEND_FLAGS and - DEPEND_EXTRA_SED_PATTERN. - * mkoctfile.in: Handle --depend. - -2001-07-25 Rafael Laboissiere - - * octave-config.in: New file. - * Makeconf.in (do-subst-default-vals): Substitute OCTAVE_VERSION. - * Makefile.in (TARGETS): Add octave-config to list. - * octMakefile.in (DISTFILES): Add octave-config.in to list. - (BINDISTFILES): Add octave-config to list. - (all): Add octave-config dependency. - (octave-config): New rule. - (install): Install octave-config. - (uninstall): Delete octave-config from bindir. - (maintainer-clean): Delete octave-config. - (binary-dist): Add octave-config dependency. - -2001-06-29 Mumit Khan - - * aclocal.m4 (OCTAVE_CXX_ABI): Use "sun_v5" instead of "sun". - - * aclocal.m4 (OCTAVE_CXX_ABI): New macro. - (OCTAVE_CXX_PREPENDS_UNDERSCORE): Add missing return value. - * configure.in: Use. - * acconfig.h (CXX_ABI): New macro. - -2001-05-23 John W. Eaton - - * configure.in: Quote the call to AC_CHECK_FUNC inside the - AC_CHECK_LIB macro when checking for lapack. For autoconf 2.50 - - * aclocal.m4: Changes for autoconf 2.50: - Convert dnl comments inside AC_DEFUN to ###. - (OCTAVE_FLIBS): Use [] quoting instead of changequote. - -2001-05-02 John W. Eaton - - * octMakefile.in: Remove remaining references to readline. - (CONF_DISTFILES): Add autogen.sh to the list. - -2001-05-02 Mumit Khan - - * configure.in: Support for --with-fftw. - (FFT_DIR, FFTW_LIBS): New substitutions. - * Makeconf.in (FFTW_LIBS): New variable. - * acconfig.h (HAVE_FFTW): New macro. - -2001-04-26 John W. Eaton - - * aclocal.m4 (OCTAVE_ENABLE_READLINE): Require readline unless - --disable-readline is specified. - - * configure.in: Don't define TERMLIBS. Do add terminal lib(s) to LIBS. - * octave-bug.in: Delete references to TERMLIBS. - * Makeconf.in: Likewise. - - * Makeconf.in (LIBREADLINE): Delete substitution. - (do-subst-config-vals): Likewise. - * octMakefile.in (SUBDIRS): Delete @READLINE_DIR@ from the list. - * configure.in (AC_CONFIG_SUBDIRS): Delete $READLINE_DIR from the list. - - * configure.in (VOID_SIGHANDLER): Don't check or substitute here. - -2001-04-25 John W. Eaton - - * octMakefile.in (install, install-strip): Don't use mk-includedir-link - - * Makeconf.in (mk-includedir-link, mk-libdir-link): Delete definitions. - -2001-04-24 John W. Eaton - - * Makeconf.in (mk-libdir-link): Undo previous change - -2001-04-23 John W. Eaton - - * configure.in: Only check for libz if checking for HDF5 libraries. - Allow user to specify HDF5 library name on command line, same as - for BLAS libraries. Include BLAS and HDF5 libs in summary output. - -2001-04-19 John W. Eaton - - * octMakefile.in (CONF_DISTFILES): Remove config.h.bot from the list. - -2001-04-19 David Livings - - * Makeconf.in (mk-libdir-link): Omit check for $(octlibdir)/octave - existing as a directory. - -2001-02-28 Albert Chin-A-Young - - * configure.in: Check for getpwnam in libsun only after checking - default libraries first. Check for gethostname in libsocket only - after checking default libraries first. - -2001-02-22 John W. Eaton - - * configure.in: Allow for using f2c when setting functions to look - for in the BLAS and Lapack libraries. - From Kurt Hornik . - -2001-02-10 Mumit Khan - - * test/octave.test/string/dec2hex-1.m: Don't assume hex format - produces lower case letters. - -2001-02-07 John W. Eaton - - * acconfig.h: Merge contents of config.h.bot. - * config.h.bot: Delete. - - * autogen.sh: Allow running of autoconf or autoheader to be skipped. - -2001-02-06 John W. Eaton - - * readline: Update to new version (4.2-beta1). - -2001-02-05 Mumit Khan - - * configure.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): New variables. - * Makeconf.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Likewise. - - * configure.in (XTRA_CXXFLAGS): Use -fno-implicit templates for - pre-gcc3 compilers. Remove -fno-rtti and -fno-exceptions. - (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): New macros. - (BLAS_LIBS): Fix test for sunperf library on Sun Solaris. - (CPICFLAG, CXXPICFLAG, FPICFLAG, SH_LDFLAGS, RLD_FLAG): Add Sun - compiler support. - * Makefile.in (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): New - variables. - (%.d : %.cc): Use. - (%.d : %.c): Likewise. - * acconfig.h (CXX_ISO_COMPLIANT_LIBRARY): Add #undef. - -2001-01-31 Mumit Khan - - * Makeconf.in (%.d : %.cc): Strip the directory portion of the - target. - (%.d : %.c): Likewise. - - * aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): New macro. - * configure.in: Use it. - -2001-01-29 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Substitute - OCTAVE_CONF_CANONICAL_HOST_TYPE here too. - * octave-bug.in: Substitute OCTAVE_CONF_CANONICAL_HOST_TYPE, not - OCTAVE_CANONICAL_HOST_TYPE. - -2000-12-09 John W. Eaton - - * aclocal.m4: Give gperf a keyword, to avoid complaints from newer - versions. - -2000-11-27 Marcus.Brinkmann - - * configure.in: Handle *-*-gnu* the same as *-*-linux* for shared - library creation. - -2000-11-03 Andy Adler - - * mkoctfile.in: Handle -c to mean compile only. - -2000-11-01 John W. Eaton - - * mkoctfile.in: Handle --print. - -2000-10-31 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GPERF): Check that gperf supports flags - we use. - - * missing: New file, modified from the missing script provided by - automake (never create files, just exit with failure status). - * aclocal.m4 (OCTAVE_PROG_BISON, OCTAVE_PROG_FLEX, OCTAVE_PROG_GPERF): - Use $(top_srcdir)/missing as replacement script. - - * aclocal.m4 (OCTAVE_PROG_FLEX, OCTAVE_PROG_BISON): New macros. - * configure.in: Use them. - -2000-10-27 John W. Eaton - - * autogen.sh: Don't run configure. - - * configure.in (SPECIAL_MATH_LIB): Delete code related to this var. - * Makeconf.in: Ditto. - (BLAS_LIBS, LIBS): Substitute here. - (do-subst-config-vals): Put BLAS_LIBS in oct-conf.h. - -2000-07-20 Joao Cardoso - - * configure.in: (LD_CXX): Define and substitute. - For sco3.2v5 systems, set SONAME_FLAGS and RLD_FLAG. - * Makeconf.in (LD_CXX): Allow substitution. - -2000-07-18 John W. Eaton - - * octMakefile.in (DISTSUBDIRS): Define in terms of $(ALL_SUBDIRS). - -2000-07-17 Joao Cardoso - - * configure.in (LIBGLOB): Set to be the two object files in the - glob directory instead of libglob.a. - -2000-07-05 Steven G. Johnson - - * Use BLAS_LIBS to save the names of BLAS libraries instead of - adding them to LIBS, then substitute BLAS_LIBS. - -2000-06-30 Steven G. Johnson - - * configure.in: Support for --with-fastblas (ATLAS). - -2000-06-29 John W. Eaton - - * configure.in: Check for long long data type. - -2000-06-29 Steven G. Johnson - - * acconfig.h (HAVE_HDF5): Add undef. - * configure.in: Handle --with-hdf5. - -2000-06-26 John W. Eaton - - * octave-bug.in: Substitute correct values for config_opts, - MACHINE, and CXXFLAGS. - -2000-06-07 John W. Eaton - - * Makeconf.in (GPERF): Allow substitution. - -2000-06-05 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_GPERF): New macro. - * configure.in: Use it. Print warning at end if gperf is missing. - -2000-04-20 John W. Eaton - - * mkoctfile.in: Try moving output file first. But comment these - lines and let people who have trouble enable them. - -2000-04-19 John W. Eaton - - * mkoctfile.in: Remove output file before linking. - - * octMakefile.in (DIRS_TO_MAKE): Create $(octincludedir)/octave. - (install install-strip): Install config.h in $(octincludedir)/octave, - not $(octincludedir). - -2000-03-31 John W. Eaton - - * octMakefile.in (DIRS_TO_MAKE): Double up on $ in awk command to - get them past Make. - -2000-03-25 John W. Eaton - - * octMakefile.in (SUBDIRS): Omit src. - (ALL_SUBDIRS): New variable. Include src here. - (all): Depend on src instead of $(SUBDIRS). - (src): New target. Depend on $(SUBDIRS). - - * Makefile.in (.NOTPARALLEL): New target, for GNU Make 3.79. - * octMakefile.in (.NOTPARALLEL): Likewise. - -2000-03-22 John W. Eaton - - * configure.in: Check for vsnprintf. - -2000-03-21 John W. Eaton - - * Makefile.in (liboctave.$(SHLEXT)): Delete target before rebuilding. - -2000-03-21 Ben Sapp : - - * Makeconf.in (%.o : %.c): Pass -o to compile command. - (%.o : %.cc): Ditto. - * configure.in (%.o : %.f): Ditto. - -2000-03-08 Stephen Eglen - - * emacs/octave-mod.el (octave-font-lock-keywords): To font-lock - the builtin operators, use `font-lock-builtin-face' for Emacs - and `font-lock-preprocessor-face' for XEmacs. - -2000-03-08 John W. Eaton - - * configure.in: For building shared libaries, handle - i386-pc-solaris2* the same as sparc-sun-solaris2*. - -2000-02-29 Ben Sapp - - * examples/make_int.cc (make_int): Handle new operator names. - -2000-02-23 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): Don't delete Makefile. - (dist): Delete stamp-auto. - -2000-02-11 John W. Eaton - - * configure.in (octincludedir): Delete trailing /octave here. - * Makeconf.in (mk-includedir-link): Append it here. - (MKOCTFILE_INCFLAGS): Use both -I$(octincludedir) and - -I$(octincludedir)/octave. - - * configure.in (localveroctfiledir, localverarchlibdir, - localverfcnfiledir): New variables. - (localfcnfilepath): Prepend localverfcnfiledir. - (localoctfilepath): Prepend localveroctfiledir. - * Makeconf.in: Substitute them here. - - * Makeconf.in (do-subst-default-vals): Substitute - OCTAVE_LOCALVERARCHLIBDIR, OCTAVE_LOCALVERFCNFILEDIR, - OCTAVE_LOCALVEROCTFILEDIR. - -2000-02-08 John W. Eaton - - * config.guess: Update to latest from subversions.gnu.org. - * config.sub: Likewise. Recognize sv1-cray as a basic_machine. - - * Makeconf.in (MKOCTFILE_INCFLAGS): New macro. - (do-subst-conf-vals): Substitute it. - * mkoctfile.in: Set INCFLAGS from OCTAVE_CONF_MKOCTFILE_INCFLAGS. - - * mkoctfile.in: Fix names in substititions. - * octave-bug.in: Likewise. - -2000-02-07 John W. Eaton - - * Makeconf.in (do-subst-default-vals, do-subst-config-vals): - Substitute more complete set of values. - -2000-02-01 John W. Eaton - - * aclocal.m4 (octave_cv_string_npos): Add std:: qualifier. - -2000-01-27 John W. Eaton - - * emacs/octave-mod.el (octave-begin-keywords): Add "do". - (octave-end-keywords): Add "until". - (octave-abbrev-table): Add "u" as abbrev for "until ()" - (octave-block-match-alist): Add do-until. - -2000-01-25 John W. Eaton - - * configure.in: Don't look for the sunmath library. - Don't check for infinity or quiet_nan. - - * emacs/octave-mod.el (octave-mode-syntax-table): - Undo previous change, but add a comment explaining why. - - * install-octave.in: Exit on any error instead of continuing. - Install Octave binary last. - -2000-01-24 John W. Eaton - - * emacs/octave-mod.el (octave-mode-syntax-table): - Make `%' a comment start character too. - -2000-01-20 John W. Eaton - - * configure.in: Check for strptime and localtime_r. - -1999-11-15 John W. Eaton - - * configure.in (XTRA_CXXFLAGS, XTRA_CFLAGS): Use -mminimal-toc on - AIX systems. - -1999-10-26 John W. Eaton - - * emacs/README: New file. - * emacs/Makefile.in (DISTFILES, BINDISTFILES): Add it to the lists. - - * emacs/Makefile.in: Don't distribute .elc files. - -1999-10-21 John W. Eaton - - * configure.in: Check for select and poll. Also check for poll.h - and sys/poll.h. - -1999-10-19 Geoff Jacobsen - - * autogen.sh: New file. - -1999-10-19 John W. Eaton - - * octMakefile.in: Use `$(MAKE) -C dir' instead of `cd dir; $(MAKE)'. - -Mon Sep 20 11:02:29 1999 John W. Eaton - - * emacs/octave-inf.el, emacs/octave-mod.el: Update to match FSF - sources plus code that will make it work if Emacs doesn't have the - customize code. - -Tue Sep 14 07:57:06 1999 Kurt Hornik - - * emacs/octave-inf.el (inferior-octave-startup): Always pass "-i" - and "--no-line-editing" to Octave subprocess. - (inferior-octave-startup-args): Default to nil. - -Mon Sep 6 10:50:10 1999 John W. Eaton - - * emacs/octave-inf.el (inferior-octave-startup-args): - Add --no-line-editing to the list. - -Fri Jul 9 09:15:24 1999 John W. Eaton - - * configure.in: Try to handle IEEE FP flags for g77 on Alphas. - -Thu Jul 8 19:56:37 1999 Stephen Eglen - - * emacs/octave-inf.el (inferior-octave-directory-tracker): - Change regexp so that it doesn't match commands beginning with `cd'. - -Wed Jun 23 13:20:11 1999 Mumit Khan - - * configure.in (HAVE_TERMIOS_H): Avoid autoheader lossage. - -Sun Jun 20 23:05:18 1999 John W. Eaton - - * configure.in: Check for sys/ioctl.h. - -Mon May 10 09:06:47 1999 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_G77): Also match "FSF-g77", for egcs. - -Thu Apr 8 19:20:09 1999 John W. Eaton - - * examples/hello.cc (Fhello): octave_value::print now requires a - stream arg. - -Wed Feb 3 01:02:37 1999 John W. Eaton - - * configure.in: Use AC_OUTPUT_COMMANDS to chmod install-octave so - that the command will also executed in config.status. - -Thu Jan 28 21:05:32 1999 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Do substitution on - CANONICAL_HOST_TYPE, not TARGET_HOST_TYPE. - (do-subst-default-vals): Likewise. - -Wed Jan 20 12:56:02 1999 John W. Eaton - - * configure.in: Don't put -O in FFLAGS for powerpc-apple-machten*. - -Wed Dec 9 14:02:45 1998 John W. Eaton - - * Makeconf.in (RDYNAMIC_FLAG): Substitute RDYNAMIC_FLAG here. - * configure.in: Check for G++ compiler flag -rdynamic if setting - up to support dynamic linking, and substitute RDYNAMIC_FLAG if - -rdynamic is accepted. - * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): Clarify usage comment. - -Mon Dec 7 19:49:26 1998 John W. Eaton - - * configure.in: Check for -lm just after compiler tests. - Remove -lm from other macro calls. Don't check for -lm on NeXT - systems. Eric Norum says /lib/libsys_s.a - has all the routines that are traditionally in libc.a and libm.a - on *NIX systems. NeXT also supplies a libm.a, but it seems to be - horribly buggy. - -Sat Dec 5 10:48:40 1998 John W. Eaton - - * mkoctfile.in: Correctly handle -?. - -Fri Dec 4 18:05:51 1998 Kurt Hornik - - * emacs/octave-mod.el (octave-abbrev-start): Use the correct name - of the abbrev table, and provide support for XEmacs. - (octave-xemacs-p): New variable. - -Tue Nov 24 23:31:50 1998 John W. Eaton - - * configure.in: Check for strftime too. - Avoid checking for termios.h on NeXT systems. - -Thu Nov 19 16:07:57 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): New macro. - * configure.in: Use it. - * acconfig.h: Add #undef for it. - -Thu Nov 12 10:42:25 1998 John W. Eaton - - * emacs/otags: New script from Mario Storti - . - * emacs/Makefile.in: Add it to the list of files to distribute and - install. - -Wed Nov 11 17:26:26 1998 John W. Eaton - - * configure.in (AC_OUTPUT): Add libcruft/amos/Makefile. - Delete libcruft/specfun/Makefile. - -Mon Nov 9 08:53:03 1998 John W. Eaton - - * Makeconf.in (LIBGLOB): Add a place for substitution to occur. - (GLOB_INCFLAGS): Define as @GLOB_INCFLAGS@, not @DLFCN_INCFLAGS@. - (do-subst-config-vals): Don't forget LIBGLOB. - * octave-bug.in (LIBGLOB): Substitute here too, and add it to the - list of configuration items to print. - -Mon Nov 2 20:33:16 1998 John W. Eaton - - * configure.in: Define __NO_MATH_INLINES. - * acconfig.h: Add #undef for it. - - * configure.in (AC_OUTPUT): Escape newlinew in macro call with \. - - * install-octave.in (SHLEXT): Substitute. - (SHLEXT_VER): Define. - Use them for installing shared libraries. - Use subshells to avoid having to cd back to $distdir. - (distdir): Delete variable. - -Fri Oct 2 14:23:59 1998 Kurt Hornik - - * octave-inf.el (inferior-octave-prompt): Also match prompts of - the form `octave.bin:1>' which come from using precopiled binary - versions. - -Thu Sep 24 13:51:03 1998 John W. Eaton - - * configure.in (AC_OUTPUT): Add libcruft/ordered-qz to the list. - Delete libcruft/balgen and libcruft/eispack from the list. - -Mon Aug 31 12:07:02 1998 John W. Eaton - - * config.sub: Accept armv4 everywhere arm is allowed. - -Tue Aug 18 17:02:25 1998 John W. Eaton - - * mkoctfile.in: Allow -DDEF on command line. - -Thu Jun 18 20:24:40 1998 Roman Hodek - - * configure.in (RLD_FLAG): Set correctly for Linux on all - architectures. From - -Thu May 28 10:17:45 1998 John W. Eaton - - * configure.in: When checking for glob stuff, make sure that the - systsem header file has all the definitions that we need. If not, - set up to use our replacement library. - -Mon May 18 11:33:45 1998 John W. Eaton - - * mkoctfile.in: Fix typos in case statement. - -Fri May 15 00:34:54 1998 John W. Eaton - - * configure.in: Make sure install-octave is executable. - - * install-octave.in (oct_files): Don't cd to src. - (have_find): Delete variable (assume all systems have find). - -Thu May 14 10:29:30 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_SET_DEFAULT): Allow values to come from the - environment. - - * Makefile.in (binary-dist): Don't set LDFLAGS to -static. - Run configure with --enable-shared and --enable-lite-kernel. - - * octMakefile.in (DISTFILES): Include README.MachTen in the list. - (XBINDISTFILES): Include README.MachTen in the list. - Delete README.NLP from the list - * README.MachTen: New file. - - * configure.in: Add -mno-fp-in-toc on ibm-aix4 systems. - From Philippe.Defert@cern.ch . - -Tue May 5 14:43:36 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_PROG_G77): Compile trivial program instead of - just running ${f77-f77} -v on nothing. - Convert all uses of $F77 to ${F77-f77}. - -Mon May 4 12:08:36 1998 John W. Eaton - - * emacs/octave-mod.el (octave-mode): Make comment-multi-line local - and set to nil. - -Tue Apr 28 14:28:14 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Really do skip -lkernel32. - -Thu Apr 23 23:26:19 1998 John W. Eaton - - * kpathsea: Update to version 3.2. - -Mon Apr 20 21:58:39 1998 John W. Eaton - - * configure.in (dlfcn.h): Add check. - -Sat Apr 18 20:15:37 1998 John W. Eaton - - * configure.in (USE_GNU_INFO): Delete everything related to this. - * acconfig.h (USE_GNU_INFO): Delete undef. - -Tue Apr 14 15:33:20 1998 John W. Eaton - - * install-octave.in: Improve error messages if version number or - host architecture can't be found. - - * install-octave.in: Don't install info reader. - -Fri Mar 27 02:54:59 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Use a Fortran subroutine - instead of a function. - -Tue Mar 10 17:28:20 1998 John W. Eaton - - * configure.in (RLD_FLAG): Use $(octlibdir), not $(libdir). - -Mon Mar 2 00:02:26 1998 John W. Eaton - - * install-octave.in: Explicitly set permissions on ls-R files. - - * configure.in: Don't disable GNU Info on cygwin32 systems. - - * install-octave.in: New file. - * configure.in: Create install-octave. - * octMakefile.in (distclean, maintainer-clean): Delete install-octave. - (DISTFILES): Distribute install-octave.in, not install-octave. - -Sun Mar 1 23:15:04 1998 John W. Eaton - - * configure.in: Fix typo in test for glob and fnmatch headers. - -Fri Feb 27 15:43:14 1998 John W. Eaton - - * configure.in: Fix support for dlopen on SCO systems. - -Mon Feb 23 13:06:11 1998 John W. Eaton - - * configure.in (ieee_fp_flag): Use -mieee-with-inexact on Alphas. - Use octave_cv_f77_is_g77, not just f77_is_g77. - -Fri Feb 20 00:38:31 1998 John W. Eaton - - * configure.in, Makeconf.in: Try to set things up to use the - system glob and fnmatch headers and functions if they exist. - Better handling of include and lib flags. - -Thu Feb 19 01:21:19 1998 John W. Eaton - - * configure.in: Don't check for gamma or lgamma - * acconfig.h: Delete undef for HAVE_GAMMA and HAVE_LGAMMA. - -Wed Feb 18 15:05:54 1998 John W. Eaton - - * configure.in: Don't check for vfork. - -Wed Feb 11 19:41:22 1998 John W. Eaton - - * Makeconf.in (mk-libdir-link): Don't create link if a directory - named $(libdir)/octave already exists. - -Mon Feb 9 14:47:42 1998 John W. Eaton - - * octMakefile.in (INSTALL_SUBDIRS): Delete @INFO_DIR@. - -Thu Feb 5 03:04:09 1998 John W. Eaton - - * configure.in: Check for vfork. - - * config.h.bot (X_CAST): New macro. - -Wed Feb 4 01:42:50 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): If ld_run_path is not absolute, kill it. - -Tue Feb 3 00:24:01 1998 John W. Eaton - - * Makeconf.in (do-subst-vals): Substitute $(libexecdir) too. - -Mon Feb 2 22:42:27 1998 John W. Eaton - - * configure.in: Define octlibdir. - * Makeconf.in: Substitute value. - (do-subst-config-vals): Set LIBDIR to $(octlibdir). - (do-subst-default-vals): Substitute OCTLIBDIR too. - -Sat Jan 31 19:29:56 1998 John W. Eaton - - * acconfig.h: Add #undefs for HAVE_GAMMA and HAVE_LGAMMA to avoid - bug in autoconf, but #if 0 them out to avoid warning messages - about redefining them. - -Mon Jan 26 13:26:09 1998 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Substitute XTRA_CFLAGS and - XTRA_CXXFLAGS. - * mkoctfile.in: Substitute XTRA_CFLAGS and XTRA_CXXFLAGS, not - GCC_IEEE_FP_FLAG, HOST_CXXFLAGS, and NO_IMPLICIT_TEMPLATES. - (ALL_CFLAGS): Use XTRA_CFLAGS, not GCC_IEEE_FP_FLAG here. - (ALL_CXXFLAGS): Use XTRA_CXXFLAGS, not GCC_IEEE_FP_FLAG, - HOST_CXXFLAGS, and NO_IMPLICIT_TEMPLATES here. - -Sun Jan 25 01:59:47 1998 John W. Eaton - - * configure.in: (GXX_PICKY_FLAGS): Add -Weffc++. - Use OCTAVE_CC_FLAG and OCTAVE_CXX_FLAG to add -Wall and for adding - picky flags in AC_ARG_ENABLE(picky-flags ...) macro. - - * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Require OCTAVE_PROG_G77. - Handle cross compiling with g77. - (OCTAVE_REINSTALL_SIGHANDLERS): Provide defaults for cross compiling. - - * aclocal.m4 (OCTAVE_PROG_AR, OCTAVE_PROG_G77, OCTAVE_PROG_PAGER, - OCTAVE_PROG_GNUPLOT, OCTAVE_PROG_RUNTEST, OCTAVE_F77_MAIN_FLAG): - New macros. - * configure.in: Use them in place of in-line code. - -Sat Jan 24 00:33:14 1998 John W. Eaton - - * aclocal.m4 (OCTAVE_HOST_TYPE): Don't set target_host_type. - * configure.in: Use canonical_host_type in place of target_host_type. - -Fri Jan 23 02:47:57 1998 John W. Eaton - - * configure.in: Also check for -fno-rtti. - -Thu Jan 15 23:12:27 1998 John W. Eaton - - * config.guess, config.sub: Update to new version from the FSF. - * configure.in: Match alpha*-... instead of just alpha-... to cope - with new strings like alphaev56-dec-osf4.0b returned from - config.guess. - - * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): New macros. - * configure.in: Use them to find out if the C and C++ compilers - support -mieee-fp, -mieee, -fno-implicit-templates, and - -fno-exceptions instead of relying on version information. Add - found flags to XTRA_CFLAGS and XTRA_CXXFLAGS instead of using - GCC_IEEE_FP_FLAG and NO_IMPLICIT_TEMPLATES. - Delete unused variable HOST_CXXFLAGS. - * Makeconf.in: Use XTRA_CFLAGS and XTRA_CXXFLAGS instead of - GCC_IEEE_FP_FLAG and NO_IMPLICIT_TEMPLATES. - Delete unused variable HOST_CXXFLAGS. - -Thu Dec 11 09:43:56 1997 John W. Eaton - - * config.h.bot: Define CONST_CAST and STATIC_CAST too. - - * configure.in (SH_LD): Set default to $CXX, not $CC. - -Mon Dec 1 00:49:56 1997 John W. Eaton - - * configure.in (AC_OUTPUT): Add libcruft/slatec-err/Makefile. - -Sun Nov 30 18:19:45 1997 John W. Eaton - - * configure.in: Check for gamma and lgamma too. - -Fri Nov 28 23:21:17 1997 John W. Eaton - - * configure.in (AC_OUTPUT): Include libcruft/specfun/Makefile. - -Fri Nov 28 13:32:26 1997 Kurt Hornik - - * octave-inf.el (inferior-octave-directory-tracker): Anchor - regexp match to beginning of command string. - -Wed Nov 26 00:38:31 1997 John W. Eaton - - * configure.in (SPECIAL_MATH_LIB): If libdxml exists on DU - systems, define SPECIAL_MATH_LIB. - * Makeconf.in (SPECIAL_MATH_LIB): Substitute it. - -Wed Nov 19 01:54:11 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL): Don't forget - to call AC_LANG_RESTORE. - - * configure.in (CXX_VERSION): Require 2.7.2 or later. - -Wed Nov 19 01:38:58 1997 Mumit Khan - - * aclocal.m4 (OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL): New macro - check for new friend template declaration syntax (guiding - declarations in DWP). - * configure.in: Use it. - * config.h.in: Add undef for CXX_NEW_FRIEND_TEMPLATE_DECL. - - * configure.in (CC_VERSION, CXX_VERISON): Check for egcs snapshots. - -Mon Oct 20 01:31:45 1997 John W. Eaton - - * configure.in: Reprint important warning messages at the end of - the run. - -Fri Oct 17 04:43:27 1997 John W. Eaton - - * Include the following change from RMS for octave-mode.el: - - 1997-04-22 Richard Stallman - - * octave-mod.el (inferior-octave-output-list): Declare here - to avoid compiler warnings. - (inferior-octave-output-string): Likewise. - (inferior-octave-receive-in-progress): Likewise. - -Tue Oct 14 10:48:28 1997 Kurt Hornik - - * emacs/octave-mod.el (octave-block-match-alist): Move - `otherwise' to right after `case' to have octave-close-block() - correctly close a `switch' block by `endswitch'. - -Thu Oct 2 01:37:15 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Ignore -lc and -lgcc. - From "Ram'on Garc'ia Fern'andez" - - * mkoctfile.in: Handle -IDIR option. - -Thu Sep 25 11:47:45 1997 John W. Eaton - - * mkoctfile.in: Really add link options to link command. - Also handle -LDIR options. - -Fri Sep 19 09:35:59 1997 Kurt Hornik - - * octave-inf.el (inferior-octave-startup-args): Set to '("-i") to - force interactive behavior. - -Wed Sep 10 15:31:03 1997 Kurt Hornik - - * emacs/octave-mod.el (octave-auto-indent): New variable. - (octave-electric-semi, octave-electric-space): Use it. - - * emacs/octave-mod.el (octave-maybe-insert-continuation-string): New - function. - (octave-auto-fill): No longer calls do-auto-fill. Should now - avoid breaking lines after comment starts or before code line - continuation expressions. - (octave-fill-paragraph): Move forward a line if octave-auto-fill - gave up. - - * emacs/octave-mod.el (octave-before-magic-comment-p): New function. - (octave-comment-indent): Handle magic comments correctly. - (calculate-octave-indent): Handle magic comments correctly. - - * emacs/octave-inf.el (inferior-octave-prompt): Include the `debug' - prompt issued by the Octave `keyboard' command. - - * emacs/octave-mod.el (octave-abbrev-table): Added abbrevs for switch, - case, otherwise, and endswitch. - (octave-begin-keywords): Added switch. - (octave-else-keywords): Added case and otherwise. - (octave-end-keywords): Added endswitch. - (octave-block-match-alist): Added an entry for switch syntax. - (calculate-octave-indent): Added support for switch syntax. - (octave-block-end-offset): New function. - (octave-comment-indent): Fix a typo. - - * emacs/octave-hlp.el: Provide octave-hlp. - - * emacs/octave-inf.el: Provide octave-inf. - -Sun Sep 7 23:16:33 1997 John W. Eaton - - * configure.in Don't use OCTAVE_SET_DEFAULT to set values for - bindir, datadir, exec_prefix, includedir, infodir, libdir, - libexecdir, mandir. - Don't use AC_PREFIX_DEFAULT, since we don't want to override the - default setting anyway. - -Tue Aug 26 13:30:36 1997 John W. Eaton - - * octave-bug.in: CC bug report to user if $USER or $LOGNAME is set. - -Mon Aug 25 11:06:54 1997 John W. Eaton - - * octave-bug.in: Avoid clobbering existing dead bug report files - by numbering them. - -Wed Aug 13 20:34:14 1997 John W. Eaton - - * emacs/octave-mod.el (octave-before-magic-comment-p): New function. - (calculate-octave-indent, octave-comment-indent): Use it. - -Sun Aug 3 15:33:18 1997 John W. Eaton - - * info: Delete subdirectory. - * Makefile.in (TARGETS, help): Delete info. - * octMakefile.in (DISTSUBDIRS, BINDISTSUBDIRS): Delete info - (binary-dist): Don't strip info/info. - * install-octave: Don't install info. - * configure.in: Don't run configure in info subdirectory. - -Fri Jul 25 14:05:15 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Avoid adding -lcrt0.o to FLIBS. - -Thu Jul 17 13:31:08 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Only accept an ld_run_path that is - absolute. - -Wed Jul 9 19:27:38 1997 John W. Eaton - - * configure.in: Also check for getwd. - -Tue Jul 8 17:47:11 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Avoid grabbing an argument starting - with a - as an option for another argument. - -Wed Jul 2 21:34:15 1997 John W. Eaton - - * emacs/octave-mod.el (octave-auto-indent): New variable. - (octave-electric-semi, octave-electric-space): Use it. - -Thu Jun 26 22:16:59 1997 John W. Eaton - - * configure.in: Only set GCC_IEEE_FP_FLAG to -mieee-fp on Intel - systems if it seems to work. - -Mon Jun 23 09:16:56 1997 John W. Eaton - - * configure.in (BOUNDS_CHECKING): Fix comment, allow bounds - checking to be enabled. - -Fri Jun 20 14:26:17 1997 John W. Eaton - - * configure.in: Define SH_LD, SH_LDFLAGS, and RLD_FLAG for - sparc-sun-sunos4*. - - * mkoctfile.in: Handle --strip. - -Sun Jun 15 16:24:03 1997 John W. Eaton - - * octMakefile.in (DISTSUBDIRS): Delete readline. - (BINDISTSUBDIRS): Delete readline and kpathsea. - (DISTDIRS): Add readline. - -Wed Jun 11 16:28:36 1997 John W. Eaton - - * mkoctfile.in: Allow more options, support for C and Fortran - source, existing object files, etc. Based on patch from Guido - Dietz . - -Fri Jun 6 15:20:42 1997 John W. Eaton - - * mkoctfile.in: Use eval to invoke compilation and linking - commands. - - * octMakefile.in (dist, binary-dist): Don't worry about npsol or qpsol. - * configure.in: Don't create libcruft/fsqp/Makefile, - libcruft/npsol/Makefile, or libcruft/qpsol/Makefile. - - * octMakefile.in (DISTFILES): Don't distribute MAKEINFO.PATCH. - - * octMakefile.in (DISTFILES): Don't distribute README.NLP. - * configure.in: Delete checks for FSQP, NPSOL, and QPSOL. - * acconfig.h: Delete undefs for FSQP, NPSOL, and QPSOL. - - * readline: Update to new version (2.1). - -Thu Jun 5 01:38:04 1997 John W. Eaton - - * configure.in (SONAME_FLAGS): Define for some systems. - * Makeconf.in: Substitute value here. - - * Makeconf.in (STATIC_LIBS): New variable. - * configure.in: Handle --enable-static. - - * Makeconf.in (LIBEXT, SHLEXT_VER): New macros. - (octlibdir, mk-libdir-link): Delete. - -Wed Jun 4 00:07:29 1997 John W. Eaton - - * Makeconf.in (mk-includedir-link, mk-libdir-link): Make them work. - - * configure.in (OCTAVE_PROGRAM_INVOCATION_NAME): Delete check. - * aclocal.m4 (OCTAVE_PROGRAM_INVOCATION_NAME): Delete macro. - -Mon Jun 2 13:56:26 1997 John W. Eaton - - * configure.in: Move checks for RANLIB, AR, and ARFLAGS before - checks for libf2c. - -Fri May 30 14:59:59 1997 John W. Eaton - - * configure.in: Fix typo in check for $with_f77. - -Thu May 22 16:48:34 1997 John W. Eaton - - * configure.in (AC_OUTPUT): Remove duplicate entry for emacs/Makefile. - - * octMakefile.in (INSTALL_SUBDIRS): New macro. - (install): Use it. - - * kpathsea: Update to new version (3.0). - - * readline: Update to new version (2.1-beta2). - -Wed May 21 16:33:33 1997 John W. Eaton - - * octMakefile.in (install, install-strip): Append version - information to octave-bug and mkoctfile. - (install, install-strip): Remove octave-bug and mkoctfile first. - Ensure link is made in include directory. - - * configure.in (octlibdir): New variable. - * Makeconf.in: Substitute it here. - (do-subst-config-vals): Add -I${octincludedir} to INCFLAGS. - Add -L${octlibdir} to LIBFLAGS. - - * Makeconf.in (mk-includedir-link, mk-libdir-link): New macros. - -Mon May 5 00:58:00 1997 John W. Eaton - - * configure.in: Make --enable-readline work again. - * Makeconf.in: Ditto. - -Tue Apr 8 12:38:18 1997 John W. Eaton - - * mkoctfile.in: Do substitute SH_LD and SH_LDFLAGS. Don't - substitute or use LIBFLAGS, RLD_FLAG, OCTAVE_LIBS, FLIBS, LEXLIB, - TERMLIBS, LIBS, LDFLAGS, LIBPLPLOT, or LIBDLFCN. Use $SH_LD and - $SH_LDFLAGS, not $CXX -shared. - - * Makeconf.in (do-subst-config-vals): Also substitute SH_LD and - SH_LDFLAGS. - -Fri Mar 28 16:53:08 1997 John W. Eaton - - * configure.in: Don't add -fpe1 to FFLAGS on Alpha OSF/1 systems - unless we are also using a version of gcc that appears to support - IEEE floating point. - - * aclocal.m4 (OCTAVE_FLIBS): Require OCTAVE_HOST_TYPE. - Skip -lkernel32 on cygwin32 systems. - -Wed Mar 26 17:04:11 1997 John W. Eaton - - * COPYING: Update to latest version that includes correct address - for the FSF. - -Tue Mar 25 21:46:49 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_CXXLIBS): Delete macro definition. - * configure.in, mkoctfile.in, Makeconf.in, octave-bug.in: - Delete use of OCTAVE_CXXIBS. - -Thu Mar 13 11:44:46 1997 John W. Eaton - - * configure.in: Move extra checks for Fortran compiler above - checks for dynamic linking and shared library stuff. - Handle --with-f77. Check for Fortran compiler compatibility, even - if using g77. Handle --enable-picky-flags. - - * configure.in: Don't set special PIC options on SGI systems, - since PIC is apparently the default. - - * aclocal.m4 (OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS, - OCTAVE_HOST_TYPE, OCTAVE_SET_DEFAULT): New macros. - * configure.in: Use them. - - * octMakefile.in (distclean): Don't remove configure, config.h.in, - BUGS, or INSTALL.OCTAVE. - -Wed Mar 12 16:56:56 1997 John W. Eaton - - * Makefile.in (install-strip): Don't try to set INSTALL_PROGRAM here. - - * emacs/Makefile.in (install-strip): New target. - * dlfcn/Makefile.in: Ditto. - * examples/Makefile.in: Ditto. - -Sun Mar 9 03:44:33 1997 John W. Eaton - - * config.h.bot (STATIC_CAST): Delete definition. - -Thu Mar 6 03:26:41 1997 Kurt Hornik - - * emacs/octave-hlp.el: Provide octave-hlp. - * emacs/octave-inf.el: Provide octave-inf. - - * examples/info-emacs-octave-help: Require octave-hlp instead of - loading it. - -Tue Mar 4 12:19:24 1997 Kurt Hornik - - * emacs/octave-mod.el: Properly indent switch statement. - -Mon Mar 3 15:44:42 1997 John W. Eaton - - * dlfcn/Makefile.in (DISTFILES): Add ftp-site. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * configure.in: Improve checks for gettimeofday. - - * Version 2.0.5 released. - -Sat Mar 1 01:34:08 1997 John W. Eaton - - * octMakefile.in (dist): Also delete CVS junk - - * config.h.bot: Unconditionally define WITH_KPATHSEARCH. - -Fri Feb 28 01:56:52 1997 John W. Eaton - - * emacs/octave-mod.el (octave-end-keywords): Add endswitch. - (octave-end-keywords): Add otherwise and case. - (octave-else-keywords): Add switch. - (octave-abbrev-table): Add abbrevs for all of them. - - * configure.in (f77_rules_frag): Set default value to /dev/null - and redfine as needed. - (bsd_gcc_kluge_targets_frag): Likewise. - -Wed Feb 26 12:17:05 1997 John W. Eaton - - * octMakefile.in (maintainer-clean): Delete some more stuff. - -Fri Feb 21 20:38:25 1997 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Remove extra -L from - RLD_FLAG substitution. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - - * configure.in (SH_LDFLAGS): Add -fPIC for HP-UX. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * configure.in (SH_LDFLAGS): Fix typo in last change. - (RLD_FLAG): Don't forget to put -shared in SH_LDFLAGS for alpha - systems. - - * Version 2.0.3 released. - -Tue Feb 18 00:33:36 1997 John W. Eaton - - * octMakefile.in (binary-dist): Strip src/octave and info/info. - - * examples/oregonator.m, examples/oregonator.cc: New files. - * examples/Makefile.in (SOURCES): Add them to the list. - -Fri Feb 14 14:07:08 1997 John W. Eaton - - * install-octave: Don't fail if LIBRARIES file is missing. - Don't try to install .oct files if there aren't any. - - * octMakefile.in (bin-dist-type): Delete target. - (binary-dist): Don't depend on bin-dist-type. - Don't delete config.status or config.h here. - (BINDISTFILES): Include config.status and config.h here. - (dist): Don't delete Makefile here. - (binary-dist): Avoid empty chmod command. - - * Makefile.in (config-check): New target. - (all): Depend on config-check. - (static-binary-distribution, dynamic-binary-distribution): Delete. - (binary-distribution): If in source directory, run configure and - make with appropriate args. - - * octMakefile.in (maintainer-clean, distclean): Don't delete Makefile. - (CONF_DISTFILES): Distribute Makefile too. - -Thu Feb 13 16:25:09 1997 John W. Eaton - - * configure.in (SH_LD, SH_LDFLAGS): New variables. - * Makeconf.in: Substitute them. - - * configure.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Delete. - - * Makeconf.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Delete. - - * octave-bug.in: Reinstate RLD_FLAG. - * mkoctfile.in: Likewise. - * Makeconf.in: Likewise. - - * configure.in: Reinstate RLD_FLAG, but make it optional. - -Tue Feb 4 14:10:35 1997 John W. Eaton - - * octMakefile.in (binary-dist): Use find and xargs instead of - requiring chmod to support X. - -Mon Feb 3 23:51:08 1997 John W. Eaton - - * examples/info-emacs-octave-help: Update from Kurt Hornik. - -Fri Jan 31 20:41:15 1997 John W. Eaton - - * dlfcn/Makefile.in (all): Make libdlfcn.a, not dlfcn.a. - -Wed Jan 29 00:18:55 1997 John W. Eaton - - * Makeconf.in: Use -M instead of -MM to generate dependencies. - Don't strip $(srcdir) from output. - - * examples/Makefile.in (install): Install info-emacs-info and - info-emacs-octave-help in $(archlibdir). - - * configure.in (INSTALL_SCRIPT): Substitute this in Makefiles. - * octMakefile.in (INSTALL_SCRIPT): New macro. - (install): Use it. - * Makefile.in (install-strip): New target. - -Tue Jan 28 09:48:32 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Don't look for values-X*.o. This is - apparently added automatically now by gcc. Don't put space - between -L and directory name. - - * Makefile.in (help): New target. - (header-msg): extract from all. - (all, help): Depend on header-msg. - - * aclocal.m4 (ld_run_path): Fix typo in last fix. - -Mon Jan 27 00:10:10 1997 John W. Eaton - - * Version 2.0.2 released. - - * configure.in: Add check for usleep(). - (bsd_gcc_kluge_targets_frag): New fragment. - - * Makefile.in: Delete `internal' targets. - (static-binary-dist, dynamic-binary-dist): Special cases. - - * octMakefile.in (static-binary-dist, dynamic-binary-dist): - New targets. - (binary-dist, bin-dist): Delete. - -Sun Jan 26 19:39:51 1997 John W. Eaton - - * emacs/Makefile.in: New file. - * configure.in: create emacs/Makefile. - * octMakefile.in: Move/add emacs dir to the appropriate lists. - -Sat Jan 25 22:27:14 1997 John W. Eaton - - * aclocal.m4 (OCTAVE_CHECK_TYPE): New macro, stolen from bash. - * configure.in: Use it. - * acconfig.h: Add #undef for sigset_t. - - * configure.in (RLD_FLAG): Delete. - * mkoctfile.in (RLD_FLAG): Delete. - * octave-bug.in (RLD_FLAG): Delete. - * Makeconf.in (RLD_FLAG): Delete. - - * Makefile.in (bin-dist): New target. - - * install-octave: Rename from doinstall.sh. Update for 2.x. - -Wed Jan 22 11:14:07 1997 John W. Eaton - - * aclocal.m4 (ld_run_path): Anchor search at beginning of line to - avoid GNU sed bug on HP-UX systems. Use just one sed command. - - * emacs/octave-hlp.el, emacs/octave-inf.el, emacs/octave-mod.el: - New files from Kurt Hornik. - * emacs/octave.el: Delete. - -Mon Jan 20 11:16:21 1997 John W. Eaton - - * mkoctfile.in (ALL_CXXFLAGS): Delete reference to -lg++. - - * configure.in (RLD_FLAG): For sparc-sun-sunos4*, remove space - between -L and $(libdir). - (FPICFLAG): If using g77, set it to -fPIC. - -Sun Jan 19 15:57:20 1997 John W. Eaton - - * Makeconf.in, configure.in: Delete FUGLY. - -Wed Jan 8 23:12:02 1997 John W. Eaton - - * configure.in (DEFAULT_PAGER): On cygwin32 systems, also look for - more.com. - -Tue Jan 7 00:16:35 1997 John W. Eaton - - * Version 2.0.1 released. - -Thu Dec 19 16:18:59 1996 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Only add -Xlinker args if compiler is - gcc. - -Sat Dec 14 09:46:50 1996 John W. Eaton - - * README.Linux: New file. - * octMakefile.in: Distribute it. - -Fri Dec 13 22:37:49 1996 John W. Eaton - - * configure.in (TERMLIBS): Look for termcap and terminfo after - ncurses and curses. - -Thu Dec 12 02:27:08 1996 John W. Eaton - - * Makeconf.in (ALL_LDFLAGS): Add CPICFLAG here since gcc needs it - on some systems. - - * configure.in (FPICFLAGS): Set to -fPIC if using g77 on HP/UX. - - * Makefile.in, octMakefile.in: Delete all doc-dist, local-dist, - and split-dist targets. Likewise for all other Makefiles in the - subdirectories. - - * README.Windows: Renamed from README.WINDOWS. - -Tue Dec 10 01:33:52 1996 John W. Eaton - - * Version 2.0 released. - - * octMakefile.in (binary-dist): Print message instead of making a - binary distribution. - -Mon Dec 9 11:28:27 1996 John W. Eaton - - * README.WINDOWS: New file. - * octMakefile.in: Distribute it. - - * configure.in: Substitute EXE. On cygwin32 systems, set it to .exe. - * Makeconf.in (EXE): Add definition. - - * configure.in: On cygwin32 systems, set default to disable GNU info. - - * aclocal.m4 (OCTAVE_STRING_NPOS): New macro. - * configure.in: Call it. - - * acconfig.h: Add undef for NPOS. - * config.h.bot: Remove kluge for deciding whether to define NPOS. - -Thu Dec 5 11:05:02 1996 John W. Eaton - - * config.sub: Update to current version from FSF. - - * Makeconf.in (ALL_LDFLAGS): Add $(FORTRAN_MAIN_FLAG). - * configure.in (FORTRAN_MAIN_FLAG): Substitute it. - - * octave-bug.in: Prompt for abort, edit, list, or send. - Get subject from message in case it has been edited. - - * configure.in: When looking for libf2c, provide definitions for - MAIN_ and MAIN__. - -Tue Dec 3 11:35:35 1996 John W. Eaton - - * config.guess: Delete second copy of script in file. - -Sun Nov 24 21:40:25 1996 John W. Eaton - - * configure.in: Set GCC_IEEE_FP_FLAG to -mieee-fp on all x86 - systems, not just those running Linux. - -Fri Nov 22 15:10:34 1996 John W. Eaton - - * emacs/octave.el: Update from Kurt Hornik to with fixes for - fill-paragraph. - -Wed Nov 20 00:33:03 1996 John W. Eaton - - * Version 1.93. - - * aclocal.m4 (OCTAVE_STRUCT_GR_PASSWD): New macro. - * configure.in: Use it. - * acconfig.h (HAVE_GR_PASSWD): Add undef. - -Tue Nov 19 23:10:01 1996 John W. Eaton - - * Makeconf.in (INCFLAGS): Add libcruft/misc directory. - -Thu Nov 14 00:07:31 1996 John W. Eaton - - * emacs/octave.el (octave-text-functions): Change set and show to - gset and gshow. - - * Makeconf.in (TEXI2DVI): Define to be our own private version. - - * texi2dvi: New file. - * octMakefile.in (DISTFILES): Add it to the list. - - * configure.in: Don't substitute values in src/mk-oct-links.in. - - * emacs/octave.el: Update to version 0.8.6, from Kurt Hornik. - - * configure.in (RLD_FLAG): Surround case pattern in changequote. - - * Version 1.92. - -Wed Nov 13 11:04:26 1996 John W. Eaton - - * configure.in: Don't set or substitute LIBINFO. - (infofile): Set and substitute a default value. - - * Makeconf.in (do-subst-default-values): Substitute it here. - - * configure.in: If running on an SCO system, define SCO, and force - HAVE_ISINF and HAVE_ISNAN to be defined. - Also check for ieeefp.h and nan.h. - * acconfig.h (HAVE_ISINF, HAVE_ISNAN, SCO): Add undefs. - -Tue Nov 12 21:50:49 1996 John W. Eaton - - * MAKEINFO.PATCH: Update to use patch relative to texinfo-3.9. - - * INFO.PATCH: New file. - * octMakefile.in (DISTFILES): Add it. - - * info: Update to current release from texinfo-3.9. - -Mon Nov 11 23:56:58 1996 John W. Eaton - - * config.h.bot: Only check value of __GNUC__ and __GNUC_MINOR__ if - __GNUC__ is defined. - -Fri Nov 8 11:15:07 1996 John W. Eaton - - * Makeconf.in (version): Look in $(TOPDIR)/src then - $(srcdir)/$(TOPDIR)/src for version.h. - - * configure.in (TERMLIBS): Print warning message if no term - library is found. - (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): Delete. - * Makeconf.in (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): - Delete. - (do-subst-default-vals): Delete CXXLIB_LIST, CXXLIB_PATH, - FLIB_LIST, and FLIB_PATH from the list. - -Thu Nov 7 12:43:36 1996 John W. Eaton - - * octMakefile.in (bin-dist-tar): Delete references to octtopnm. - - * configure.in (RLD_FLAG): Define if x86-linux. - - * Version 1.91. - -Wed Nov 6 16:26:39 1996 John W. Eaton - - * configure.in: Add checks for group stuff. - -Tue Nov 5 12:32:30 1996 John W. Eaton - - * configure.in: Add checks for geteuid, getuid. - - * configure.in: Comment out code to handle --enable-readline since - it doesn't work yet. - - * aclocal.m4 (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): - New checks stolen from bash 2.0 config. - * configure.in: Use them. - - * acconfig.h: Add #undefs for HAVE_BSD_SIGNALS, HAVE_POSIX_SIGNALS, - HAVE_USG_SIGHOLD, and MUST_REINSTALL_SIGHANDLERS. - -Mon Nov 4 11:31:22 1996 John W. Eaton - - * configure.in: Check for gethostname in libsocket. Apparently - needed for some SCO systems. - - * emacs/octave.el: Update to version 0.8.5 from Kurt Hornik. - -Fri Nov 1 01:33:40 1996 John W. Eaton - - * octMakefile.in (octave-bug, mkoctfile): After substituting - values, chmod a+rx. - -Thu Oct 31 13:50:06 1996 John W. Eaton - - * octMakefile.in (DISTFILES): Add NEWS.[0-9]. - * NEWS.1: Old news. - * NEWS: Just keep news since last major release. - -Wed Oct 30 01:04:13 1996 John W. Eaton - - * Version 1.90. - - * configure.in: Default is now no internal bounds checking. - - * Makefile.in (all): Fix message to say 2.7.2, not 2.7.0. - - * config.h.bot (GCC_ATTR_NORETURN): Rename from NORETURN. - (GCC_ATTR_UNUSED): Rename from GCC_ATTRIBUTE_UNUSED. - (NPOS): Define if using gcc 2.8.x or later. - - * octMakefile.in (DIRS_TO_MAKE): Add localarchlibdir to list. - - * configure.in (localarchlibdir): New variable. - * Makeconf.in (localarchlibdir): Substitute it. - (do-subst-default-vals): Likewise. - -Sun Oct 27 14:03:36 1996 John W. Eaton - - * Makeconf.in (do-subst-config-vals): Split into two sed commands - to try to avoid fixed limits in some seds and/or systems. - -Fri Oct 25 01:13:45 1996 John W. Eaton - - * config.h.bot: Add definition for GCC_ATTRIBUTE_UNUSED. - - * configure.in: Define RUSAGE_TIMES_ONLY if cygwin32. - * acconfig.h: Add undef. - -Thu Oct 24 21:17:53 1996 John W. Eaton - - * config.guess: Update to version that understands what to do for - cygwin32 systems. - -Fri Oct 18 12:23:57 1996 John W. Eaton - - * configure.in: Don't comment out substitutions for plplot stuff. - -Wed Oct 16 12:01:37 1996 John W. Eaton - - * examples/Makefile.in (install): New target. - -Tue Oct 15 14:40:51 1996 John W. Eaton - - * configure.in: Comment out plplot stuff. - In commands to get gxx_version and gcc_version, use simpler sed - command to avoid confusing brain-dead vendor-supplied seds. - -Mon Oct 14 11:09:12 1996 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): Remove mkoctfile too. - (kpathsea.info): New target. - (dist-info-files): New target. - (links-for-dist, links-for-bin-dist, local-dist-tar): - Depend on dist-info-files instead of individual files. - -Sat Oct 12 00:17:06 1996 John W. Eaton - - * examples/Makefile.in (clean, mostlyclean): New targets. - - * octMakefile.in (CLEANSUBDIRS): New macro. - Use it for clean targets. - - * config.h.bot (STATIC_CAST, DYNAMIC_CAST, REINTERPRET_CAST): - New macros. - -Wed Sep 25 12:24:20 1996 John W. Eaton - - * configure.in: Don't look in /usr/ucb/include to find getrusage - on Solaris systems since that just seems to cause trouble. - * Makeconf.in (UCB_INCFLAGS): Delete. - -Fri Aug 30 09:07:23 1996 John W. Eaton - - * configure.in (TERMLIBS): Add check for ncurses. - -Tue Aug 20 21:40:26 1996 John W. Eaton - - * configure.in: Always set FPICFLAG, CPICFLAG, CXXPICFLAG, SHLEXT, - RLD_FLAG, DLFCN_DIR, even if SHARED_LIBS is false. - -Thu Aug 15 14:39:07 1996 John W. Eaton - - * configure.in (gxx_version, gcc_version): Strip out cygnus- from - the version number. - -Tue Jul 30 12:55:43 1996 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Also check for -bI:FILE arg to ld, - for AIX systems. - -Thu Jul 25 03:09:29 1996 John W. Eaton - - * configure.in: On AIX systems, add "-ll -lld" to LIBDLFCN. - -Fri Jul 19 13:02:05 1996 John W. Eaton - - * configure.in: If using g77 on alpha, don't add -fpe1 to FFLAGS. - -Mon Jul 15 14:26:48 1996 John W. Eaton - - * config.sub: Update to new version from FSF (gcc sources). - -Thu Jun 13 16:38:51 1996 John W. Eaton - - * configure.in: Look for g77 before other fortran compilers. - -Thu Jun 6 00:05:47 1996 John W. Eaton - - * configure.in: Add check for multiple plot windows in gnuplot. - * acconfig.h: Add #undef for GNUPLOT_HAS_FRAMES. - -Wed May 22 15:05:40 1996 John W. Eaton - - * configure.in (UCB_INCFLAGS): Another kluge to try to find - getrusage on Solaris systems. - * Makeconf.in Substitute it. - - * configure.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Define. - * Makeconf.in: Substitute. - -Wed May 22 02:42:32 1996 Kurt Hornik - - * emacs/octave.el (octave-indent-new-line): Protect - octave-indent-line with save-excursion. - (octave-calc-indent-this-line): Attempt to handle end tokens that - are not on separate lines. - (octave-electric-semi): Make `;' self-insert if inside comment. - (octave-previous-line): Don't try to go back past the beginning of - the buffer. - -Tue May 21 23:11:46 1996 John W. Eaton - - * configure.in (F77): Also check for f90. - -Mon May 20 12:22:54 1996 John W. Eaton - - * emacs/octave.el (octave-indent-new-line): Make it do what the - docstring says it does. - - * octave-bug.in: Fix previous change so it also matches things - like 1.90, not just 1.1.90. - -Fri May 17 09:58:49 1996 Kurt Hornik - - * emacs/octave.el (octave-electric-semi): Also call octave-indent-line - to indent the current line after inserting a semicolon. - -Fri May 17 02:53:49 1996 John W. Eaton - - * octMakefile.in (DIRS_TO_MAKE): Add octincludedir. - (all): Add mkoctfile. - - * configure.in: Don't set values for exec_prefix, bindir, datadir, - libdir, libexecdir, includedir, mandir, or infodir, so that they - can be set from the configure command line. - - * configure.in, Makeconf.in: Handle mandir, man1dir and man1ext. - Change topincludedir to includedir. Use octincludedir as the - subdirectory of includedir where we really install include files. - - * octave-bug.in (BUGADDR): Also set to octave-maintainers if this - looks like a pretest version number. - - * Makeconf.in (do-subst-config-vals): Use $< instead of - referencing $(srcdir) directly. - (do-subst-default-vals): Likewise. - - * octMakefile.in (octave-bug): Depend on octave-bug.in - (mkoctfile): Likewise, depend on mkoctfile.in. - -Thu May 16 11:49:46 1996 John W. Eaton - - * octMakefile.in (DISTFILES): Add mkoctfile.in. - (install): Install mkoctfile too. - - * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Fix typo in last change - -Mon May 13 04:02:29 1996 John W. Eaton - - * configure.in (UGLY_DEFS): Quote " with more \'s. - - * Makeconf.in (do-subst-config-vals): Quote substitutions here. - * octave-bug.in, mkoctfile: Not here. - - * octMakefile.in (octave-bug, mkoctfile): Depend on Makeconf, - octMakefile. - - * Makeconf.in (do-subst-default-vals): New definition, from - src/Makefile.in. - - * Makeconf.in (do-subst-config-vals): Define here. - * octMakefile.in: Not here. - - * octave-bug.in: Handle more configuration stuff. - - * configure.in (config_opts): Set from ac_configure_args and subst. - * Makeconf.in: Handle config_opts. - * octMakefile.in (do-subst-config-vals): Substitute them. - -Sun May 12 03:37:55 1996 John W. Eaton - - * Makeconf.in (TERMLIBS): Substitute here. - - * configure.in (topincludedir): New variable. - * Makeconf.in (libexecdir): Substitute it. - - * octMakefile.in (do-subst-config-vals): Define new command. - (octave-bug): Use it. - (mkoctfile): New target. - - * Makefile.in (TARGETS): Add mkoctfile. - - * examples: New subdirectory. - * octMakefile.in: Add it to the appropriate lists. - * configure.in: Create examples/Makefile. - - * octMakefile.in (DIRS_TO_MAKE): Add $(libdir) here. - (install): Use INSTALL_PROGRAM to install octave-bug script. - Also install config.h. - - * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Provide a definition for - MAIN__ on Linux systems. - -Tue Apr 30 05:44:29 1996 John W. Eaton - - * configure.in: Handle --enable-bounds-check. - * acconfig.h: Add undef for BOUNDS_CHECKING - -Mon Apr 29 01:42:38 1996 John W. Eaton - - * configure.in (AC_FUNC_SETVBUF_REVERSED): Delete. Octave doesn't - need this check (it was for info, which has its own configure now). - -Sun Apr 28 05:41:26 1996 John W. Eaton - - * configure.in (DEFAULT_PAGER): Don't append -e to less here. - -Sat Apr 27 22:23:51 1996 John W. Eaton - - * configure.in: Check for pid_t and sys/types.h. - -Tue Apr 23 17:44:18 1996 John W. Eaton - - * configure.in: Check for fcntl.h, not sys/fcntl.h. - Add checks for various system calls. - -Sun Apr 7 16:42:54 1996 John W. Eaton - - * configure.in: Check for strdup. - - * Makefile.in (TARGETS): Add dlfcn. - * octMakefile.in (DISTSUBDIRS): Add dlfcn. - (SUBDIRS): Add @DLFCN_DIR@. - * configure.in: On AIX systems: set DLFCN_DIR=dlfcn when doing - shared libraries, bypass checks for dlopen, etc., set and - substitute LIBDLFCN and DLFCN_INCFLAGS. Create dlfcn/Makefile. - -Sat Apr 6 21:45:40 1996 John W. Eaton - - * Makeconf.in (%.d : %.cc, %.d : %.c): Add dependency for pic/%.o. - -Fri Mar 29 13:38:40 1996 John W. Eaton - - * octMakefile.in (maintainer-clean distclean): Delete mk-oct-links. - -Wed Mar 27 09:05:01 1996 John W. Eaton - - * aclocal.m4 (OCTAVE_FLIBS): Fix typo in message. - -Tue Mar 26 02:41:16 1996 John W. Eaton - - * configure.in (UGLY_DEFS): Undo previous change. - When checking for various libraries, don't check for main(), but - instead look for functions that are actually supposed to be in - those libraries. - Require autoconf 2.9. - If using solaris2, don't add /usr/ucblib/libucb.a to LIBS until - near the very end, then check for for getrusage and times just - after that. - - * Makeconf.in (UGLY_DEFS): Ditto. - - * octave-bug.in: Don't send empty bug reports. - -Sat Mar 23 04:55:46 1996 John W. Eaton - - * octMakefile.in (DISTDIRS): Omit plplot for now. - * Makefile.in (TARGETS): Likewise. - -Fri Mar 22 06:15:44 1996 John W. Eaton - - * configure.in: Add checks for sys/times.h and times(). - (GCC_IEEE_FP_FLAG): Define this if using gcc 2.8.x or later on - Alpha/OSF systems. - -Wed Mar 20 02:04:08 1996 John W. Eaton - - * octMakefile.in (octave.info): cd to doc/interpreter, not doc. - -Sun Mar 3 10:01:13 1996 John W. Eaton - - * config.h.bot: Define HEAVYWEIGHT_INDEXING here. - - * Makefile.in (TARGETS): Remove dld. - * octMakefile.in (DISTSUBDIRS): Ditto. - * configure.in: Don't create dld/Makefile. - Do create doc/fac/Makefile, doc/interpreter/Makefile, - doc/liboctave/Makefile, and doc/refcard/Makefile. - -Thu Feb 29 08:55:25 1996 John W. Eaton - - * Makeconf.in (%.o : %.c): Use pattern rule instead of suffix rule. - (%.o : %.cc): Likewise. - (pic/%.o : %.c, pic/%.o : %.cc): Use separate rules instead of - expecting one rule to generate two output files. - * configure.in (f77_rules_frag): Use separate rules here too. - -Mon Feb 26 03:34:12 1996 John W. Eaton - - * configure.in: If --disable-dl or --disable-shl, don't check for - dynamic linking functions. - (includedir): Append version. - -Wed Feb 14 12:20:57 1996 John W. Eaton - - * octMakefile.in (snapshot-version): Don't quote version number. - - * aclocal.m4 (OCTAVE_FLIBS): Avoid setting FLIBS=" ". - -Sat Feb 10 12:59:22 1996 John W. Eaton - - * glob/Makefile.in (install): New target. - -Fri Feb 9 14:00:53 1996 John W. Eaton - - * configure.in: Fix help text for --enable-shared option. - -Thu Feb 8 10:17:55 1996 John W. Eaton - - * octMakefile.in (CONF_DISTFILES): New variable. - (DISTFILES): Use it instead of listing things twice. - (CONF_DISTSUBDIRS): New variable. - (conf-dist): New target. - - * Makefile.in (TARGETS): Add conf-dist. - - * configure.in (CXX_VERSION, CC_VERSION): Substitute them. - * octMakefile.in (octave-bug): Substitute them here too. - * octave-bug.in: Put them in the configuration message. - -Sat Feb 3 08:53:56 1996 John W. Eaton - - * configure.in: RLD_FLAG should be empty by default, but give it a - value for alpha-dec-osf* systems. - -Fri Feb 2 23:03:40 1996 John W. Eaton - - * Makeconf.in: Actually do add substitutions for FPICFLAG, - CPICFLAG, and CXXPICFLAG. - -Thu Feb 1 14:58:16 1996 John W. Eaton - - * configure.in (%.c : %.f): Fix typo. - -Wed Jan 24 14:47:58 1996 John W. Eaton - - * configure.in: Also configure in glob subdirectory. - Make pattern rule say how to make .o from .f, not .f from .o. Duh. - - * octMakefile.in: Add glob stuff to the appropriate lists. - * Makeconf.in: Likewise. - - * aclocal.m4: Add test for program_invocation_name. - * configure.in: Use it here. - - * acconfig.h: Add #undef here. - -Mon Jan 22 17:32:00 1996 John W. Eaton - - * configure.in: Add checks for mode_t, off_t, size_t, uid_t, - dev_t, ino_t, and nlink_t typedefs. - * acconfig.h: Add undefs for dev_t, ino_t, and nlink_t. - -Sat Jan 20 21:05:49 1996 John W. Eaton - - * configure.in: For Fortran rules, use pattern rules instead of - suffix rules. - -Fri Jan 19 12:38:23 1996 John W. Eaton - - * configure.in: When checking for libf2c.a, add -lm and an extra lib. - -Wed Jan 10 16:36:43 1996 John W. Eaton - - * configure.i: Add missing colon in .o.f pattern for f2c rules. - -Mon Jan 8 23:18:39 1996 John W. Eaton - - * configure.in (AC_PROG_LN_S): New check. - * Makeconf.in (LN_S): Substitute it. - - * configure.in (libexecdir): New variable. - (archlibdir, octfiledir, localoctfiledir): Use it instead of libdir. - (datadir): Default to $(prefix)/share instead of $(prefix)/lib. - - * Makeconf.in (libexecdir): Substitute it. - - * configure.in (localoctfiledir): Use $(libdir), not $(datadir). - -Sun Jan 7 18:40:00 1996 John W. Eaton - - * aclocal.m4 (OCTAVE_SMART_PUTENV): New macro, extracted from - the kpathsearch library. - * configure.in: Call it. - -Fri Dec 29 22:07:52 1995 John W. Eaton - - * Makeconf.in (subdir-for-command): New definition for - SUBDIR_FOR_COMMAND using GNU Make `foreach' instead of shell `for' - command. - * libcruft/Makefile.in, scripts/Makefile.in, octMakefile.in: - Invoke new definition with `@'. - -Wed Dec 27 14:27:48 1995 John W. Eaton - - * octMakefile.in (SUBDIRS): Delete DLD_DIR. - (distclean): Delete Makerules.f77. - - * Makeconf.in (WITH_DLD): Delete variable. - - * configure.in: Delete support for dynamic linking with dld. - - * configure.in, Makeconf.in: Use consistent names for WITH_DL, - WITH_SHL, OCTAVE_LITE, and SHARED_LIBS - - * config.h.bot: Undo previous change. - * acconfig.h: Add #undef for WITH_DYNAMIC_LINKING. - * Makeconf.in: Substitute it here too. - * configure.in: Set it here. - -Tue Dec 26 00:12:14 1995 John W. Eaton - - * configure.in (AC_CONFIG_SUBDIRS): Delete libcruft. - (AC_OUTPUT): List libcruft files here. - - * configure.in, Makeconf.in: Handle Fortran compilation rules - using an included fragment in Makeconf. - -Mon Dec 25 22:14:21 1995 John W. Eaton - - * configure.in (CPICFLAG, CXXPICFLAG, FPICFLAG): New variables. - * Makeconf.in: Substitute them. - - * configure.in: Handle --enable-shared option. - Handle Fortran source files differently. - * Makeconf.in (SHARED_LIBS): Substitute shared_libs. - (SHLEXT, RLD_FLAG, fortran_rules_flag): Substitute these too. - (.c.o, .cc.o): Handle creating position independent code for - shared libraries. - -Sun Dec 24 00:29:12 1995 John W. Eaton - - * config.h.bot: Maybe define WITH_DYNAMIC_LINKING. - - * Makeconf.in (WITH_DL, WITH_SHL): Substitute values. - * acconfig.h: Add undefs for WITH_DL and WITH_SHL. - * configure.in: Handle --enable-dl and --enable-shl. - Check for -ldl and dlopen, dlsym, dlclose, and dlerror. - Check for -ldld and shl_load, shl_findsym. - (have_fortran_compiler): Quit if no suitable Fortran compiler is - found. - -Fri Nov 3 03:33:42 1995 John Eaton - - * emacs/octave-mode.el: Rename from octave.el. - -Wed Oct 11 19:22:12 1995 John Eaton - - * configure.in (GNUPLOT_BINARY): When checking for multiplot, - issue a `set term unknown' command first. - -Wed Oct 4 01:42:35 1995 John Eaton - - * config.guess: Add entry for PowerPC Macs running Machten. - - * octMakefile.in (dist-z): Remove old .gz file before creating new one. - -Mon Oct 2 19:17:22 1995 John Eaton - - * configure.in: Check to see if it looks like gnuplot supports - multiplot. - * acconfig.h: Add undef for GNUPLOT_HAS_MULTIPLOT. - - * acconfig.h: #undefs for HAVE_FINITE, HAVE_ISNAN, HAVE_ISINF, - HAVE_TERMIOS_H, HAVE_TERMIO_H, and HAVE_SGTTY_H removed. This - file should only have things that autoheader can't figure out. - -Sun Oct 1 17:08:37 1995 John Eaton - - * octMakefile.in (clean-tar): Also omit directories called OLD and - files beginning with =. - -Fri Sep 29 01:04:31 1995 John Eaton - - * ROADMAP: New file. - * (DISTFILES): Include it. - - * emacs: New subdirectory for Emacs-related stuff. - * octMakefile.in (DISTDIRS, BINDISTSUBDIRS): Include emacs. - (DISTFILES, BINDISTFILES): Don't include octave-mode.el. - -Tue Sep 26 03:56:39 1995 John Eaton - - * configure.in: Don't add -Wno-unused to CFLAGS or CXXFLAGS. - * config.h.bot: Remove definition of UNUSED. - - * config.sub: Replace with current version from FSF. - * config.guess: Likewise. - -Thu Sep 21 20:29:00 1995 John Eaton - - * configure.in (AR, ARFLAGS): Set defaults for these, but also - allow them to come from the environment. - * Makeconf.in (AR, ARFLAGS): New variables to substitute. - -Wed Sep 20 00:51:24 1995 John Eaton - - * octMakefile.in (maintainer-clean): Also remove Makeconf, - config.cache, config.h, and config.log. - -Tue Sep 19 17:20:32 1995 John Eaton - - * sighandlers.h [HAVE_SIGACTION && HAVE_SIGPROCMASK && - HAVE_SIGPENDING && HAVE_SIGSUSPEND]: #define HAVE_POSIX_SIGNALS. - - * configure.in: Check for sigaction(), sigprocmask(), - sigpending(), and sigsuspend() functions. - Don't do anything special about checking for termios.h, termio.h, - and sgtty.h. - -Mon Sep 18 22:39:33 1995 John Eaton - - * config.h.bot [__GNUC__]: Define NORETURN. - -Fri Sep 15 05:12:29 1995 John Eaton - - * configure.in (AC_C_BIGENDIAN): Remove test. - -Thu Sep 14 02:07:51 1995 John Eaton - - * configure.in (LIBPLPLOT): Disable plplot by default for now. - Check for mkdir, rmdir, rename, and umask. - - * All Makefile.in files: Convert from realclean to - maintainer-clean, for GNU coding standards. - - * configure.in: Call AC_FUNC_CLOSEDIR_VOID. - -Wed Sep 13 03:25:37 1995 John Eaton - - * configure.in: Do check for IEEE functions on the Alpha. - -Mon Sep 11 19:08:47 1995 John Eaton - - * configure.in: Call AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_BLOCKS, - and AC_STRUCT_ST_RDEV. - -Tue Sep 5 02:02:35 1995 John Eaton - - * configure.in: Check for sys/param.h and sys/stat.h - Use AC_HEADER_TIME, not AC_TIME_WITH_SYS_TIME. - Use AC_HEADER_SYS_WAIT. - -Thu Aug 24 15:35:44 1995 John Eaton - - * configure.in: Don't set or call AC_SUBST for CXXFLAGS or CFLAGS, - and don't call AC_SUBST for LDFLAGS -- autoconf takes care of this. - If adding -Wall, add -Wno-unused too. - -Tue Aug 22 01:37:02 1995 John Eaton - - * Makefile.in (all): Update message. - - * config.h.bot: New file. - * octMakefile.in (DISTFILES): Add it to the list. - - * acconfig.h (USE_PLPLOT): Add #undef. - -Mon Aug 21 19:33:33 1995 John Eaton - - * Makefile.in (NO_DEP_TARGETS): New variable, for targets that can - be made without updating dependency files. - -Sun Jun 25 18:27:49 1995 John Eaton - - * configure.in (FFLAGS): Add -fpe1 on alpha-dec-osf1 systems. - -Thu May 4 22:26:34 1995 John Eaton - - * configure.in: export CC, CXX, and F77 before calling - AC_CONFIG_SUBDIRS. - -Mon May 1 14:17:07 1995 John Eaton - - * configure.in: Handle --with-plplot. - (AC_CONFIG_SUBDIRS): Add plplot directory if --with-plplot. - * plplot: New subdirectory. - * Makefile.in (plplot): New target. - * octMakefile.in (SUBDIRS): Add @PLPLOT_DIR@. - (DISTDIRS): Add plplot. - - * acconfig.h: Add #undef for GETTIMEOFDAY_NO_TZ. - - * configure.in: Improve check for gettimeofday. - -Mon May 1 12:50:03 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) - - * acconfig.h (OCTAVE_LITE): Fix comment. - -Tue Apr 11 20:31:52 1995 John Eaton - - * configure.in (INFO_DIR, READLINE_DIR): New variables. - If $USE_GNU_INFO, AC_DEFINE it, don't AC_SUBST it. - Likewise, for USE_READLINE. - - * octMakefile.in (SUBDIRS): Substitute INFO_DIR and READLINE_DIR. - - * aclocal.m4 (OCTAVE_F77_UPPERCASE_NAMES): New macro. - (OCTAVE_F77_APPEND_UNDERSCORES): Require it. - * configure.in: Use it. - (info_subdir): If $USE_GNU_INFO, then run configure in info - subdirectory too. - Don't check for sys/ttold.h or sys/ptem.h. - -Mon Apr 10 00:17:57 1995 John Eaton - - * configure.in (UGLY_DEFS): Delete commands to create this. - * Makeconf.in (UGLY_DEFS): Delete substitution. - * Makeconf.in (UGLY_ALL_CFLAGS): Delete definition. - - * configure.in: Add scripts and libcruft to CONFIG_SUBDIRS. - Don't edit scripts or libcruft Makefiles here. - Reorganize checking for the Fortran compiler. - - * octMakefile.in (DISTFILES): Delete f2c-compat.sh flibs.sh - cxxlibs.sh from list. Add aclocal.m4. - * configure.in: Use new macros defined in aclocal.m4. Don't use - external shell scripts. Cache values. - - * aclocal.m4: New file. - -Sun Apr 9 12:47:27 1995 John Eaton - - * configure.in: Print status message before exiting. - Cache CXXLIBS and FLIBS. - - * acconfig.h: Delete #undefs for floating point format. - * octMakefile.in (DISTFILES): Delete float-type.c from list. - * configure.in: Don't try to determine floating point format at - configuration time. - -Mon Apr 3 21:46:10 1995 John Eaton - - * configure.in: Create scripts/time/Makefile too. - - * configure.in (gxx_version): Handle new gcc version message. - (gcc_version): Likewise. - -Wed Mar 29 22:59:42 1995 John Eaton - - * configure.in (AC_STRFTIME): Delete check. - (AC_STRUCT_TIMEZONE): New check. - -Wed Mar 22 08:31:21 1995 John Eaton - - * Makeconf.in (ALL_FFLAGS, FUGLY): New variables. - - * configure.in: Use AC_ARG_ENABLE and AC_ARG_WITH consistently. - Handle --with-g77. Substitute new variable FUGLY. If F77 is g77, - set it to -fugly. Substitute command for making .o from .f. - -Tue Mar 21 14:24:32 1995 John Eaton - - * cxxlibs.sh: Extract -R options like -L options. - * configure.in (FLIB_PATH, FLIB_LIST): Extract -R options along - with -L options. - -Tue Mar 21 14:20:55 1995 Paul Eggert - - * configure.in (CXX): Export; cxxlibs.sh needs this. - (FLIB_LIST, CXXLIB_LIST): Extract -R options along with -L options. - - * flibs.sh: Treat `-L foo' like `-Lfoo'. Extract -R options - like -L options. - -Tue Mar 21 08:08:06 1995 John Eaton - - * flibs.sh: Search for values-X*.o, not values-*.o. - -Fri Mar 10 10:32:27 1995 John Eaton - - * Makeconf.in (SUBDIR_FOR_COMMAND): New command definition. - * octMakefile.in: Use it. - - * octMakefile.in (install, uninstall, tags, TAGS, clean, - mostlyclean, distclean, realclean): Combine actions. - -Tue Feb 28 21:24:35 1995 John Eaton - - * configure.in (FC): Set to $F77 and substitute it. - * Makeconf.in (FC): Add substitution line. - -Sun Feb 26 00:20:19 1995 John Eaton - - * dointsall.sh: Create ls-R database. - - * configure.in: Configure kpathsea using AC_CONFIG_SUBDIRS(). - Remove check for SMART_PUTENV. - Remove kpathsea/c-auto.h from AC_CONFIG_HEADER(). - - * make: New directory, for kpathsea configuration. - * octMakefile.in (DISTDIRS): Add it - - * kpathsea: Update with 2.6 distribution. - - * Makefile.in (TARGETS): New variable. Combine all identical targets. - - * configure.in (LIBINFO, LIBREADLINE): New variables to substitute. - -Sat Feb 25 18:47:11 1995 John Eaton - - * acconfig.h (USE_READLINE): Add #undef. - * configure.in: Add support for --enable-readline. - - * acconfig.h (USE_GNU_INFO): Add #undef. - * configure.in: Add support for --enable-info. - - * acconfig.h (RUN_IN_PLACE): Delete #undef. - -See ChangeLog.1 for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/ChangeLog.1 --- a/OLD-ChangeLogs/ChangeLog.1 Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10392 +0,0 @@ -Thu Feb 23 09:32:01 1995 John Eaton - - * Version 1.1.1 released. - - * src/idx-vector.cc (idx_vector (const Range&)): Always initialize - data to 0. - (idx_vector (const Matrix&, int, const char *, int)): Likewise. - (idx_vector (const idx_vector&): Likewise, do it first. - * src/idx-vector.h (~idx_vector): Simply delete data. - - * octMakefile.in: Combine libcruft, liboctave,dld, info, readline, - kpathsea, src, scripts, and doc targets into just one. - (all): Depend on $(SUBDIRS). - * libcruft/Makefile.in (make-objects): Change to $(SUBDIRS) - target that doesn't use a loop. - (all): Depend on $(SUBDIRS). - -Wed Feb 22 07:27:18 1995 John Eaton - - * Don't leave @LIBDLD@ on a line by itself. - - * src/tc-rep-idx.cc (fortran_style_matrix_index): Handle zero-one - indexing as a separate case. - (fortran_style_matrix_index): Check for out-of-bounds index. - - * src/idx-vector.cc (init_state): Don't forget len, num_zeros, and - the one_zero flag for vectors of all zero elements. - (convert_one_zero_to_idx): Set data to zero after deleting it. - - * src/data.cc (check_dimensions): - Handle case of treat_neg_dim_as_zero = "warn". - -Tue Feb 21 08:18:19 1995 John Eaton - - * src/tree-misc.cc (initialize_undefined_elements): Don't declare - arg const. - - * src/sysdepl.cc (octave_getcwd): Declare arg as char *, not - const char *. - - * src/input.cc (match_sans_spaces): Initialize ep from copy of - arg, not arg itself. - - * octMakefile.in (snapshot-version): Look for OCTAVE_VERSION, - not just VERSION. Don't end #define with a semicolon. - -Mon Feb 20 15:57:17 1995 John Eaton - - * scripts/image/Makefile.in (clean): Delete octtopnm.o and octtopnm. - -Fri Feb 17 08:12:09 1995 John Eaton - - * src/variables.cc (maybe_add_default_load_path): New function, - extracted from default_path(), which no longer needs it. - * src/user-prefs.cc (sv_loadpath): Call it here. - -Wed Feb 15 15:13:22 1995 John Eaton - - * src/octave.cc (verbose_usage): Format help message more like - the help messages of other GNU programs. - - * src/variables.cc (install_builtin_variables): New builtin - variable, suppress_verbose_help_message. - * src/user-prefs.cc (user_prefs): New field, - suppress_verbose_help_message. - * src/user-prefs.cc (suppress_verbose_help_message): New function. - * src/help.cc (additional_help_message): Check - user_pref.suppress_verbose_help_message before printing message. - -Tue Feb 14 15:36:01 1995 John Eaton - - * src/sysdep.cc (octave_chdir): New function. - * src/dirfns.cc (change_to_directory): Use it. - - * src/sysdep.cc (octave_getcwd): New function. - * src/dirfns.cc (get_working_directory, Fpwd): Use it. - * src/input.cc (decode_prompt_string): Likewise. - - * src/version.h (VERSION): New #define. - (version_string): Use it. - (OCTAVE_COPYRIGHT): New #define. - (OCTAVE_NAME_AND_VERSION): New #define. - (OCTAVE_NAME_VERSION_AND_COPYRIGHT): New #define. - (OCTAVE_STARTUP_MESSAGE): New #define. - * src/octave.cc (main): Use new macros from version.h - (print_version_and_exit): Likewise. - (verbose_usage): Likewise. - (Fwarranty): Likewise. - - * Makeconf.in (version): Make work with new version.h. - * octMakefile.in (snapshot-version): Likewise. - - * src/variables.cc (default_path): Use SEPCHAR instead of literal ':'. - * src/utils.cc (pathstring_to_vector): Likewise. - * src/octave.cc (initialize_globals): Likewise, use SEPCHAR_STR to - construct format string instead of using literal `:'. - - * configure.in: Call AC_DEFINE for SEPCHAR and SEPCHAR_STR. - * acconfig.h: Add #undefs for SEPCHAR and SEPCHAR_STR. - - * src/dynamic-ld.cc: Don't include dld.h unless WITH_DLD. - - * src/octave.cc (parse_and_execute): Close file. - -Mon Feb 13 19:39:12 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) - - * scripts/general/linspace.m: Delete. - * src/data.cc (Flinspace): New function. - * liboctave/dRowVector.cc (linspace): New function. - * liboctave/CRowVector.cc (linspace): New function. - -Sun Feb 12 21:23:54 1995 John Eaton - - * src/load-save.cc (read_mat_binary_data): Only convert to string - if the number of rows is 1. - - * scripts/image/saveimage.m: Force ASCII save. - -Thu Feb 9 08:46:09 1995 John Eaton - - * scripts/elfun/sec.m: Returned variable is `w', not `y'. - * scripts/elfun/sech.m: Likewise. - -Wed Feb 8 10:51:33 1995 John Eaton - - * src/f-find.cc (find_nonzero_elem_idx): Increment i, j indices by - 1 before stashing them. - -Fri Feb 3 15:44:03 1995 John Eaton - - * src/tree-misc.cc - (tree_parameter_list::initialize_undefined_elements): New function. - * src/tree-expr.cc (tree_function::eval): Use it to define return - values. - (tree_simple_assignment_expression:eval): Complain if RHS is undefined. - (tree_multi_assignment_expression:eval): Complain if any of the - RHS values are undefined. - * src/user-prefs.h (init_user_prefs): New structure element, - define_all_return_values. - * src/user-prefs.cc (define_all_return_values): New function. - * src/variables.cc (install_builtin_variables): Add DEFVARs for - default_return_value and define_all_return_values. - (builtin_any_variable): New function. - -Wed Feb 1 08:02:28 1995 John Eaton - - * src/parse.y (parse_error): Call yyerror() here. - (input): Not here. - - * src/lex.l (handle_string): Call have_continuation and - have_ellipsis_continuation with 0 arg, to disallow comments after - continuation characters inside strings. - (have_continuation): New arg, trailing_comments_ok with default - value of 1. If !trailing_comments_ok, don't allow comments to - follow continuation token. - (have_ellipsis_continuation): New arg, trailing_comments_ok, with - default value of 1. Pass it along to have_continuation. - - * src/parse.y (yyerror): Call parse_error with first arg == "%s", - since msg might contain format specifiers. - - * src/tree-expr.cc (tree_index_expression::eval (int)): Detect - undefined elements in argument list and print error message. - (tree_index_expression::eval (int, int, const Octave_object&)): - Likewise. - - * configure.in: Only set CFLAGS, CXXFLAGS, LDFLAGS, FFLAGS, and - F2CFLAGS if they are not already set in the environment. - - * doinstall.sh: Add -print to find commands. - -Tue Jan 31 13:26:53 1995 John Eaton - - * src/lex.l ({S}*\,{S}*): Eat any trailing continuation - here. Use value returned from eat_continuation to decide whether - to insert a row separator. - ({S}+): Likewise. - ({SNLCMT}*\n{SNLCMT}*): Eat any trailing whitespace here. - - * lex.l (ATE_SPACE_OR_TAB, ATE_NEWLINE): New macros. - (eat_whitespace): Use them to set return value. - -Mon Jan 30 14:02:24 1995 John Eaton - - * src/user-prefs.cc (set_output_precision): Don't pass NaN to NINT. - (set_output_max_field_width): Likewise. - (set_save_precision): Likewise. - * src/file-io.cc (return_valid_file): Likewise. - (fgets_internal): Likewise. - (fseek_internal): Likewise. - (process_printf_format): Likewise. - (fread_internal): Likewise. - * src/f-colloc.cc (Fcolloc): Likewise. - * src/f-fft.cc (Ffft): Likewise. - * src/f-fft2.cc (Ffft2): Likewise. - * src/f-ifft.cc (Fifft): Likewise. - * src/f-ifft2.cc (Fifft2): Likewise. - * src/f-npsol.cc (do_npsol_option): Likewise. - * src/f-qpsol.cc (do_qpsol_option): Likewise. - * src/f-rand.cc (Frand): Likewise. - * src/pr-output.cc (all_elements_are_ints): Likewise. - * src/tree-plot.cc (subplot_using::eval): Likewise. - (subplot_style::print): Likewise. - * src/sysdep.cc (Fpause): Likewise. - * src/tc-rep.cc (TC_REP::valid_as_scalar_index): Likewise. - (TC_REP::valid_as_zero_index): Likewise. - (TC_REP::convert_to_str): Likewise. - * src/tc-rep-idx.cc (TC_REP::do_scalar_index): Likewise. - (TC_REP::fortran_style_matrix_index): Likewise. - * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): - Likewise. - -Sat Jan 28 13:09:44 1995 John Eaton - - * scripts/general/tril.m: Allow the k == nc for k > 0 and - -k == nr for k < 0. Make faster by eliminating nested loops. - * scripts/general/triu.m: Likewise. - -Fri Jan 27 08:32:10 1995 John Eaton - - * libcruft/lapack: Update with files from LAPACK 2.0. - - * src/lex.l (\[{S}*): Don't call fixup_column_count() here. - Don't use TOK_RETURN here, since we call eat_whitespace(). - (eat_whitespace): Decrement current_input_column when calling - yyunput(). - ({SNLCMT}*\n{SNLCMT}): Always call fixup_column_count(). - - * src/parse.y (rows): Don't accept repeated semicolons. - (matrix_row): Likewise, for commas. - - * src/Makefile.in (LIBOBJS): Delete. - - * liboctave/f77-uscore.h: Don't use C++ style comments. - - * octMakefile.in (DISTDIRS): Don't include bsd-math. - * src/Makefile.in (VPATH): Don't include bsd-math directory. - (SOURCES): Include acosh.c, asinh.c, atanh.c, erf.c erfc.c, and - lgamma.c. - * configure.in: Create libcruft/slatec-fn/Makefile. - Use AC_CHECK_FUNCS to look for acosh, asinh, atanh. - Don't do anything special if they are missing. - * src/acosh.c, src/asinh.c, src/atanh.c, src/erf.c, src/erfc.c, - src/lgamma.c: New files. - * acconfig.h: Delete #undefs for ACOSH_MISSING, ASINH_MISSING, - and ATANH_MISSING. - * libcruft/Makefile.in (CRUFT_DIRS): Add slatec-fn. - * libcruft/slatec-fn: New directory. - - * configure.in: Don't try to use IEEE floating point on m68k HP - systems. - -Thu Jan 26 12:57:05 1995 John Eaton - - * src/lex.l (maybe_unput_comma): New function, extracted from - handle_identifier(). Correctly handle the dot in things like - `a.b' inside matrix lists. - (handle_identifier): Use it. Don't allow things like [a .1] or - [a.b .1] to fool us. - -Wed Jan 25 08:04:16 1995 John Eaton - - * scripts/Makefile.in (realclean): Don't depend on distclean. Do - delete Makefile here. - - * flibs.sh: Also check for /*values-*.o, for Sun Fortran 2.x. - * configure.in (FLIB_LIST, CXXLIB_LIST, FLIB_PATH, CXXLIB_PATH): - Delete any .o files found here. - When checking for -lm, also append -lc on Linux systems. - - * mkinstalldirs: Create directories with mode 0755, to avoid - problems because the installers umask is too restrictive. - - * octave-bug.in: Don't use rmail, it crashes on Ultrix systems if - the message file isn't just right. Use nested if statements - instead of ||, for Ultrix /bin/sh. Avoid Ultrix awk crash. - - * scripts/linear-algebra/trace.m: Handle row and column vectors as - a special case. - * scripts/linear-algebra/null.m: Likewise. - * scripts/linear-algebra/orth.m: Likewise. - -Tue Jan 24 08:11:51 1995 John Eaton - - * octave-bug.in: Add F2C, F2CFLAGS, FLIBS, and LDFLAGS to report. - * Makefile.in (octave-bug): Substitute them. - -Mon Jan 23 20:42:55 1995 John Eaton - - * src/tree-misc.cc (tree_if_clause::is_else_clause): New function. - (tree_if_command_list::print_code): Use it to decide whether to - print "else" or "elseif" here. - (tree_if_clause::print_code): Don't print "else" here. - - * scripts/image/colormap.m: Fix logic for initializing default - colormap and handling subsequent calls with no arguments. - - * src/lex.h (TOK_PUSH_AND_RETURN): Correct last change. - -Sun Jan 22 18:02:37 1995 John Eaton - - * src/lex.l (handle_identifier): Handle incrementing - current_input_column here. - ({IDENT}{S}*): Not here. - - * src/lex.h (TOK_PUSH_AND_RETURN): New macro. - * src/lex.l: Use it. - - * src/parse.y (yyerror): If printing input line, always print `^' - error marker too. - - * src/parse.y (command [BREAK]): Allow break to occur in function - bodies too. - * src/tree-expr.cc (tree_function::eval): Also check to see if - function exited because of a break statement. - -Fri Jan 20 10:48:18 1995 John Eaton - - * config.guess: Replace with current version from FSF. - * config.sub: Likewise. - - * src/tempname.c: Include statdefs.h. - - * src/tree-expr.cc (eval): Improve error messages. - -Thu Jan 19 08:33:50 1995 John Eaton - - * src/lex.l (handle_string): Properly handle pending escapes. - Call error() for unterminated string constants. - * src/parse.y (input): For parse errors, call yyerror(). - - * test/config/unix-octave.exp (octave_start): Correctly set OSPATH - from $OCTAVE_SCRIPT_PATH, not to the string OCTAVE_SCRIPT_PATH. - - * test/Makefile.in (OCTAVE_SCRIPT_PATH): Delete surrounding quotes - in definition. - - * doc/texinfo.tex: Move to version 2.140. - - * src/f-rand.cc (Frand): Use different method for generating - initial seed so that it varies more each time Octave starts. - - * src/file-io.cc (feof_internal): Use args(0), not args(1). - - * src/Makefile.in (SOURCES): Use tempnam.c, not tmpnam.c. - * src/tempnam.c: New file, from the GNU C library. - -Wed Jan 18 08:10:31 1995 John Eaton - - * src/user-prefs.h (user_prefs): New field, read_only_constants. - * src/user-prefs.cc (read_only_constants): New function. - * src/variables.cc (install_builtin_variables): Add DEFVAR for - read_only_constants, but leave it #if 0'd out since we're not - really ready for it yet.. - * src/symtab.cc (symbol_record::read_only_error): Check - user_prefs.read_only_constants to see if it is ok to redefine - constants that are marked as read-only. - - * src/user-prefs.h (user_prefs): New field, ps4. - * src/user-prefs.cc (sv_ps4): New function. - * src/variables.cc (install_builtin_variables): Add DEFVAR for PS4. - * src/input.cc (do_input_echo): New function. Use PS4 variable as - prefix of echoed input. Send echoed input through the pager. - - * flibs.sh: Ignore -lang* options. - - * src/load-save.cc (Fsave): Send `save - ...' output through the - pager. - - * doc/Makefile.in: Create and distribute refcards of various sizes. - Delete rules for making refcard.tex from refcard.tex.in. - Don't make or distribute refcard-local. - * doc/refcard.tex: Handle setting paper size with \refcardsize. - * doc/refcard-a4.tex, doc/refcard-legal.tex, doc/refcard-letter.tex: - New files. - -Mon Jan 16 13:19:29 1995 John Eaton - - * src/tc-rep-ass.cc (TC_REP::do_scalar_assignment): Handle - assignments like a(0) = []. - * src/tc-inlines.h (valid_zero_index): New function. - * src/tc-rep.cc (valid_as_zero_index): New function. - * src/tree-const.h (valid_as_zero_index): New function. - - * src/parse.y (func_def2): Check user_prefs before warning about - function name and function file name conflict. - * src/user-prefs.h (user_prefs): New field, warn_function_name_clash. - * src/user-prefs.cc (warn_function_name_clash): New function. - * src/variables.cc (install_builtin_variables): Add DEFVAR for - warn_function_name_clash. - - * scripts/image/octtopnm.c: Include stdlib.h instead of malloc.h. - -Sun Jan 15 15:08:04 1995 John Eaton - - * readline/rldefs.h: Use new #defines for directory headers now - that we are using autoconf 2. - - * scripts/special-matrix/hankel.m: Use .', instead of '. - - * src/input.cc (match_sans_spaces): Use strcmp, not strncmp. - - * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): - For scalar index, don't do assignment if RHS and LHS are both empty. - - * src/data.cc (Fsize): Handle optional second arg. - - * src/tree-expr.cc (tree_function::eval (int)): Correctly set - nargin and nargout to zero when evaluating function. - - * src/lex.l (handle_string): Correct handling of string escapes. - -Thu Jan 12 15:25:34 1995 John Eaton - - * Version 1.1.0 released. - - * octMakefile.in (bin-dist-tar): Ignore errors on strip commands. - - * src/tree-expr.cc (tree_builtin::eval (int)): Set nargout to 0 - when calling function. - - * doc/Makefile.in (FORMATTED): Add refcard.dvi and refcard.ps so - that they are distributed along with the other docs. - * octMakefile.in (clean-doc-dist-tar): Delete target. - (doc-dist): Depend on doc-dist-tar, not clean-doc-dist-tar. - -Tue Jan 10 14:29:43 1995 John Eaton - - * src/help.cc (print_usage): Print warning if symbol isn't found. - - * src/utils.cc (Fundo_string_escapes): Fix typo in call to - print_usage(). - - * src/octave.cc (Fsystem): Correctly compute exit code. - - * scripts/miscellaneous/etime.m: Complain if args are not the - right length, not if they are. Reverse sense of test for years. - Duh. - - * src/f-find.cc (find_to_fortran_idx): For the case of one output - argument, return a row vector if the original argument to find was - a row vector. - -Mon Jan 9 12:57:27 1995 John Eaton - - * src/lex.l (grab_help_text): Always overwrite help_buf. - ({CCHAR}): Don't call grab_help_text() if there is already - something in help_buf. - -Sat Jan 7 12:28:35 1995 John Eaton - - * configure.in (HOST_CXXFLAGS): New variable to substitute. - * Makeconf.in (ALL_CXXFLAGS, UGLY_ALL_CXXFLAGS, BUG_CXXFLAGS): - Add $(HOST_CXXFLAGS). - -Fri Jan 6 13:07:09 1995 John Eaton - - * scripts/special-matrix/toeplitz.m: Use .' instead of '. - -Tue Jan 3 18:14:33 1995 John Eaton - - * test: Rewrite many tests to not run Octave interactively. This - makes the log files much more readable. - - * octMakefile.in (clean-tar): Delete octave-test/npsol directory, - not just test/octave.test/npsol.exp. Likewise, add a command for - deleting qpsol tests. - -Mon Jan 2 20:02:10 1995 John Eaton - - * src/octave.cc (main): Return 0 if error_state is not set. - - * src/error.cc (error_1): New function. - (error): Use it. - (parse_error): New function. - * src/parse.y: Never call error and yyerror; just use yyerror. - (yyerror): Improve logic. Use new parse_error() function so that - error_state is always set for a parse error. Don't use - ostream::form(). - (ABORT_PARSE): Don't call reset parser here. - (colon_expr): Don't call yyerror here. An error message is - printed by tree_colon_expression::chain() if it fails. - -Mon Dec 26 20:11:01 1994 John Eaton - - * src/tree-expr.cc (eval): Only call multi-arg form of eval for - object_to_eval if necessary. - -Fri Dec 23 00:08:08 1994 John Eaton - - * src/lex.l: Don't increment promptflag anywhere. - (eat_continuation): New function. - (eat_whitespace): Handle embedded continuations. Return nonzero - if whitespace consumed. - (handle_close_brace): Don't pass yytext. Do pass flag indicating - whether whitespace follows brace. - (handle_identifier): Check for next token being `=' here. Pass - flag indicating whether whitespace follows identifier. - ({SNLCMT}*;{SNLCMT}*): Call eat_whitespace() here. - ({IDENT}{S}*): Call eat_continuation() here. - (do_comma_insert_check): And here, but put a space back if - whitespace is gobbled. - (have_continuation, have_ellipsis_continuation): Decrement - promptflag here. - -Wed Dec 21 09:56:49 1994 John Eaton - - * src/tree-plot.cc (Fclearplot): Send "set nolabel" too. - -Mon Dec 19 17:50:15 1994 John Eaton - - * src/tree-plot.h, src/tree-plot.cc (subplot): Rename using to - using_clause to avoid new C++ keyword. Rename title and style to - match. - -Fri Dec 16 00:09:01 1994 John Eaton - - * configure.in: Don't check for fpsetmask. - * src/sysdep.cc (sysdep_init): Don't check HAVE_FPSETMASK - -Thu Dec 15 00:28:52 1994 John Eaton - - * src/variables.cc (install_builtin_variables) [default_save_format]: - Fix doc string. - - * configure.in: Rework DEFAULT_DOT_O_FROM_DOT_F and - DEFAULT_DOT_C_FROM_DOT_F to avoid embedded newlines. - * Makeconf.in: Likewise. - - * src/pager.cc (flush_output_to_pager): Close stream before - resetting signal handler. - - * src/help.cc (Fhelp): Call fcn_file_in_path here. Delete it too. - Print file name before help message. - * src/variables.cc (get_help_from_file): Don't call - fcn_file_in_path here. - (gobble_leading_white_space): Correctly grab only first set of - comments. - -Wed Dec 14 11:42:13 1994 John Eaton - - * src/parse.y (pager_buf): Don't make it a fixed-size array. - * src/variables.cc (get_help_from_file): New function. - (gobble_leading_white_space): Return first block of comments for - later use as help string. - (looks_like_octave_copyright): New function. - (parse_fcn_file): Stash help from gobble_leading_white_space in - global help_buf. - * src/lex.l (grab_help_text): Don't overwrite help found by - gobble_leading_white_space. - (reset_parser): Delete help_buf. - * src/help.cc (Fhelp): Only try to get help from symbol records - that are defined. If all else fails, try get_help_from_file. - - * src/pager.cc (flush_output_to_pager): Re-initialize pager_buf - immediately after extracting message. Delete message immediately - after sending it to the output stream. Ignore interrupts while - running pager. - - * octMakefile.in (clean-tar): Delete npsol.exp and any .m files - that are in the test/octave.test directory. - (install): Use $(INSTALL), not just install. - - * src/lex.l (reset_parser): Don't reset input column or line - number if reading from a script file or a function file. - (is_keyword): Don't set line number to 1 if reading function file - or script file. - * src/variables.cc (gobble_leading_whitespace): Count lines. - * src/octave.cc (main): If reading file, set reading_script_file - and curr_fcn_file_name before calling get_input_from_file(). - - * src/tc-rep.cc (TC_REP::matrix_value): If implicit_str_to_num_ok, - convert empty string to empty matrix. - -Tue Dec 13 20:25:34 1994 Frederick (Rick) A Niles - - * liboctave/dbleQR.cc, liboctave/dbleQRP.cc, liboctave/CmplxQR.cc, - liboctave/CmplxQRP.cc: Get economy-sized dimensions correct. - - * libcruft/misc/i1mach.f, libcruft/misc/gen-d1mach.c, - libcruft/ranlib/ignuin.f: Prevent warnings about variable may be - used before defined. - -Tue Dec 13 11:07:34 1994 John Eaton - - * src/variables.cc: Change commas_in_literal_matrix to - whitespace_in_literal_matrix. - * src/user-prefs.h (user_preferences): Likewise. - * src/user-prefs.cc (init_user_prefs): Likewise. - (whitespace_in_literal_matrix): Likewise, rename function. - * src/lex.l: Likewise. - (nesting_level): Rename from in_brace_or_paren. - ({SNLCMT}*\n{SNLCMT}*): Make separate case from - {SNLCMT}*;{SNLCMT}. Check nesting level to decide whether - to convert newline to semicolon. - ({NL}, {CCHAR}): Check nesting level to decide whether to eat - or return newline. - ("("): Decrement promptflag. - (")"): Increment promptflag. - -Mon Dec 12 00:02:51 1994 John Eaton - - * scripts/Makefile.in, scripts/*/Makefile.in (install): Don't - depend on all. - - * octMakefile.in: Put doc dir last. - * doc/Makefile.in (dir): New file. - (DISTFILES): Distribute dir. - (install): Install dir if it does not already exist in $(infodir). - Otherwise, print message. - - * src/lex.l: Handle {IDENT}{S}*/= with yyinput() instead of - trailing context. - (handle_close_brace): New function. - (handle_number): New function. - (have_continuation, handle_ellipsis_continuation, handle_string): - New functions for handling strings and continuation lines in - string constants. - (eat_whitespace): New function eliminates need for NEW_MATRIX - start state. - -Sun Dec 11 15:53:03 1994 John Eaton - - * src/lex.l: Eliminate special case for eating whitespace when - start state is . - Merge three cases for handling `]' for start state. - -Fri Dec 9 12:21:35 1994 John Eaton - - * src/lex.l: Handle `\' as a continuation character too. - Allow comments and blanks to follow continuation characters. - Improve handling of comments in matrices. Create a few more - definitions for patterns. Restructure source. - - * configure.in: Check for bcopy too. - - * configure.in (gxx_version): Don't use -fno-implicit-templates on - AIX systems with g++ 2.6.x. - - * octave-bug.in: Check for CC: lines too. Use case-insensitive - match for To: and Cc: lines. Actually send file that has header - separator stripped. Print list of CC: addresses too. - - * src/input.cc (get_user_input): If user enters empty string, - return empty matrix or empty string. - - * src/help.cc (Fhelp, Ftype, Fwhich): Don't allow lookup_by_name - to execute script files. - -Thu Dec 8 23:20:02 1994 John Eaton - - * src/tc-rep.cc (print): Don't check `print', which is not a - variable in this context. - -Wed Dec 7 10:52:59 1994 John Eaton - - * src/configure.in: Check for fpsetmask. - * src/sysdep.cc (sysdep_init): Check HAVE_FPSETMASK. Only call it - if either __386BSD__ or __FreeBSD__ is defined. - Don't check __386BSD__ as a condition for including - floatingpoint.h. - -Mon Dec 5 12:29:07 1994 John Eaton - - * src/utils.cc: Update directory header macro names for autoconf 2. - * src/dirfns.cc: Likewise. - -Sun Dec 4 22:00:40 1994 John Eaton - - * octMakefile.in (DISTFILES): Don't distribute GCC.PATCH, since it - is not needed with gcc 2.6.3. - - * configure.in: Really do disable IEEE floating point functions on - the Alpha. - -Wed Nov 30 11:42:44 1994 John Eaton - - * doc/FAQ.texi: New file. - * doc/Makefile.in: Create info, dvi, and ps files and distribute - them. - - * Makefile.in (all): Expand initial message. - -Sat Nov 26 21:47:05 1994 John Eaton - - * src/octave.cc (Fcomputer): Always append ios::ends to ostrstream - before returning. - -Mon Nov 21 09:41:34 1994 John Eaton - - * src/lex.l: When start state is TEXT_FCN, gobble blanks with - pattern that matches only blanks before other patterns that can - also match just blanks. Always check whether in_brace_or_paren - stack is empty before trying to use it. - - * src/parse.y (make_multi_val_ret): Call constructor for - tree_simple_assignment_expression with correct number of args. - - * scripts/plot/shg.m: New function. - - * src/f-qpsol.cc (Fqpsol): Correct for changes in meaning of - nargin and the way args is loaded. - * src/f-npsol.cc (Fnpsol): Likewise. - - * scripts/polynomial/roots.m: Return empty matrix for scalar or - empty matrix args. - - * src/tree-plot.cc (gnuplot_terminal_type): New static variable. - (Fset): If this is a set term command, set gnuplot_terminal_type. - (open_plot_stream): Use gnuplot_terminal_type if it is set. - - * src/idx-vector.cc (idx_vector::init): Don't check max value of - index vector against dimension here. We may need to resize. - * src/tc-rep-idx.cc (do_scalar_index): Do check idx-vector max - value here. - - * src/lex.l (is_plot_keyword): Don't set past_plot_range here. - Don't accept abbreviations for clear. - (handle_identifier): Don't call is_plot_keyword unless plotting. - Set past_plot_range here, before checking for plot option keywords. - -Fri Nov 18 17:25:59 1994 John Eaton - - * src/data.cc (Fis_struct): New function. - -Thu Nov 17 18:13:56 1994 John Eaton - - * octMakefile.in (DISTFILES): Distribute GCC.PATCH. Don't - distribute LIBG++.PATCH. - - * src/tree-plot.cc (Fclearplot): Turn off grid and reset - plot_line_count to zero. - - * configure.in: Check for sys/resource.h. - Create scripts/strings/Makefile too. - - * src/timefns.cc: Surround inclusion of sys/resource.h in extern "C". - Only include sys/resource.h if both HAVE_SYS_RESOURCE_H and - HAVE_GETRUSAGE are defined. - -Wed Nov 16 09:26:10 1994 John Eaton - - * scripts/plot/plot_opt.m: New function. - * scripts/plot/semilogx.m, scripts/plot/semilogx.m, - scripts/plot/loglog.m, scripts/plot/plot.m: Handle additional - args and format strings. - * scripts/plot/polar.m: Handle format arg. - * scripts/plot/polar_int_1.m, scripts/plot/polar_int_2.m: Extract - from polar_int.m. - * scripts/plot/plot_int_1.m, scripts/plot/plot_int_2.m: Extract - from plot_int.m. - * scripts/plot/plot_2_s_s.m, scripts/plot/plot_2_v_v.m, - scripts/plot/plot_2_m_m.m, scripts/plot/plot_2_v_m.m, - scripts/plot/plot_2_m_v.m: Handle format arg. - - * scripts/strings/strcmp.m: Move here. - * scripts/general/strcmp.m: From here. - - * src/xdiv.cc (result_ok): Issue warning instead of error if warn - is nonzero. - -Tue Nov 15 15:54:19 1994 John Eaton - - * src/tree-plot.cc (Fcloseplot): Clear title and labels too. - - * src/help.cc (keywords): Add entries for all_va_args, - unwind_protect, unwind_protect_cleanup, and end_unwind_protect. - - * liboctave/Makefile.in: Use -include for dependency files. - * src/Makefile.in: Likewise. - -Mon Nov 14 10:28:23 1994 John Eaton - - * src/tree-misc.cc (convert_to_const_vector): Resize vector before - returning. - - * src/lex.l (plot_style_token): Also allow "steps", "boxes", and - "boxerrorbars". - - * src/parse.y (UNWIND): Rename from UNWIND_PROTECT. - (CLEANUP): Rename from UNWIND_PROTECT_CLEANUP. - (command): Allow optsep after UNWIND and CLEANUP tokens. - * src/lex.l (is_keyword): Use new token names - - * src/tree-const.h (tree_constant::all_va_args): New enum. - (tree_constant (tree_constant::all_va_args t)): New constructor. - (is_all_va_args): New function. - (is_empty, is_zero_by_zero, make_numeric_or_magic, - make_numeric_or_range_or_magic): Handle all_va_args type. - * src/tc-rep.h (constant_type::all_va_args): New enum element. - (is_all_va_args): New function. - * src/tc-rep.cc (TC_REP::tree_constant_rep (TC_REP::constant_type), - TC_REP::print_code): Handle all_va_args. - * src/tree-misc.cc (tree_argument_list::convert_to_const_vector): - Handle all_va_args. - * src/tree-expr.cc (tree_index_expression::eval): After call to - tree_argument_list::convert_to_const_vector (), check error_state. - (tree_simple_assignment_expression::eval): Likewise. - (tree_function::octave_all_va_args): New function. - * src/parse.y (ALL_VA_ARGS): New token. - (arg_list): Handle ALL_VA_ARGS. - * src/lex.l (is_keyword): Handle all_va_args. - - * src/tree-expr.cc (tree_identifier::bump_value): Check read-only - status of sym before altering value. - (tree_prefix_expression::eval): Check error_state after call to - tree_identifier::bump_value (). - - * src/variables.cc (bind_nargin_and_nargout): Don't make nargin - and nargout read only. - - * scripts/strings: New subdirectory for string functions. - * scripts/Makefile.in (SUBDIRS): Add strings. - * scripts/strings/strcat.m: New function. - -Fri Nov 11 14:17:31 1994 John Eaton - - * src/load-save.cc (extract_keyword): Allow trailing blanks on the - input line. - -Thu Nov 10 09:53:35 1994 John Eaton - - * scripts/general/reshape.m, scripts/image/ind2gray.m, - scripts/image/ind2gray.m, scripts/image/ind2rgb.m, - scripts/image/rgb2ind.m: unwind_protect do_fortran_indexing. - * scripts/general/strcmp.m: unwind_protect implicit_str_to_num_ok. - * scripts/miscellaneous/menu.m: unwind_protect page_screen_output. - - * src/parse.y (UNWIND_PROTECT, UNWIND_PROTECT_CLEANUP): New tokens. - (command): Handle unwind-protect. - * src/lex.l (is_keyword): Handle unwind_protect, - unwind_protect_cleanup, and end_unwind_protect. - * src/tree-cmd.cc (tree_unwind_protect_command): New class, to - handle unwind-protect. - - * src/token.h (end_tok_type): New field, end_unwind_protect. - - * src/error.cc (verror): Flush pending output to pager here. - (error): Not here. - - * src/tc-rep.cc (force_numeric): Don't jump to top level on error. - * src/tc-rep.cc, src/tc-rep-ass.cc, src/tc-rep-idx.cc: Check - error_state after calls to make_numeric* functions. - - * src/f-lpsolve.cc: Define Flp_solve and Flp_solve_options, not - Flpsolve or Flpsolve_options. - - * src/utils.cc (Ffile_in_path): Define Ffile_in_path, not - Ffile_in_pat. - - * src/f-inv.cc: Add DEFUN for inverse. - -Wed Nov 9 09:30:15 1994 John Eaton - - * src/load-save.cc (read_mat_file_header): Check for mopt < 0 too. - Don't fail if reading mopt fails. - (save_mat_binary_data): Handle range data as a special case. - (get_default_save_format): Also accept `mat-binary' and - `mat_binary'. - (Fsave): Add ios::trunc to flags for opening output file. - - * src/parse.y (func_def2): Stash function name before stashing - file name. - - * src/utils.cc (fcn_file_in_path): Don't append `.m' if the name - already ends in `.m'. - (oct_file_in_path): Likewise, for `.oct'. - - * src/error.cc (usage): Set error state to -1, so we get traceback - information after a call to usage. - - * src/tree-expr.cc (stash_fcn_file_name): Store full name of the - file. - - * scripts/*/*.m: Change messages to say `invalid' instead of - `illegal', since no laws are being broken by using these functions - incorrectly. - - * src/timefns.cc (Fcputime): New function. - * configure.in: Check for getrusage. - - * src/scripts/miscellaneous/tic.m: New function. - * src/scripts/miscellaneous/toc.m: New function. - * src/scripts/miscellaneous/etime.m: New function. - * src/scripts/miscellaneous/is_leap_year.m: New function. - - * src/error.cc (Fwarning, Fusage): New functions. - * scripts/*/*.m: Use them instead of printing warning and usage - messages directly with disp, printf, or fprintf. - - * src/file-io.cc (close_files): Check Pix before using. - (file_count): Delete unnecessary variable. Instead, use - DLList::length to get the number of files in the list. - - * src/sighandlers.cc (install_signal_handlers): Explicitly ignore - SIGPOLL and SIGIO. - -Tue Nov 8 15:26:50 1994 John Eaton - - * scripts/general/logspace.m: Lose fractional part of third arg. - Don't round, for compatibility with Matlab. - * scripts/general/linspace.m: Likewise. - - * liboctave/CMatrix.cc (row_min, row_max, row_min_loc, row_max_loc): - Handle case of row containing only real elements. - (column_min, column_max, column_min_loc, column_max_loc): - Likewise, for columnwise operations. - * src/f-minmax.cc (two-complex-arg min, max): Handle case of both - columns containing only real elements. - - * src/variables.cc (Fclear): Pass 0 to symbol_table::list() for - pats and npats. - -Mon Nov 7 20:22:36 1994 John Eaton - - * liboctave/dColVector.cc (operator +=): Don't return reference to - temporary. - (operator -=): Likewise. - * liboctave/CMatrix.cc (operator +=, operator -=): Likewise. - -Sun Nov 6 23:15:24 1994 John Eaton - - * octMakefile.in (DISTSUBDIRS): Don't use $(SUBDIRS) here. - - * src/load-save.cc (Fsave): Open output file with mode == - ios::out, not ios::in. - -Sat Nov 5 18:18:11 1994 John Eaton - - * configure.in (HAVE_SYS_SIGLIST): Check for sys_siglist variable, - even if it isn't declared in a system header. - * acconfig.h (HAVE_SYS_SIGLIST): Add #undef. - * src/sighandlers.cc (sys_siglist): Define our own if - HAVE_SYS_SIGLIST is not defined, not if SYS_SIGLIST_DECLARED is - not defined. - - * src/tree-plot.cc (Fclearplot): New function. - (clg): Alias for clearplot. - - * src/parse.y (CLEAR): New token. - (statement): Handle PLOT CLEAR as a special case. - * src/lex.l (is_plot_keyword): Handle CLEAR here too. - -Fri Nov 4 08:44:57 1994 John Eaton - - * All: Remove remaining #pragma interface/implementation statements. - - * src/tree-plot.cc (subplot): Move actual code here from .h file. - - * src/tree-expr.cc (tree_expression): Declare destructor virtual. - Delete unnecessary destructors. - - * src/SLStack.h, src/SLStack.cc (operator =): Return reference to - SLStack, not void. - - * src/f-qzval.cc (Fqzval): Rename from Fqzvalue. Change Help - and usage messages too. - - * scripts/plot/plot_int.m: Really figure out if there are any - imaginary parts. - - * scripts/control/are.m: Fix typo. - -Thu Nov 3 18:44:11 1994 John Eaton - - * src/load-save.cc (save_ascii_data): Handle new arg, - strip_nan_and_inf. Change callers. - (strip_infnan): New functions. - (save_three_d): Strip inf and nan values here too. - - * src/tree-plot.h (subplot_using): New data have_values and val. - * src/tree-plot.cc (subplot_using::eval, subplot_using::values): - New functions. - (subplot_style::errorbars): New function. - (subplot::extract_plot_data, subplot::handle_plot_data): New functions. - (subplot::print): Improve handling of data. - -Wed Nov 2 08:11:08 1994 John Eaton - - * src/file-io.cc (do_scanf): If reading from stdin, flush stdout - first. - - * configure.in: Leave some comments in the configure file. - Improve checking for termios.h, termio.h, and sgtty.h. - - * src/variables.cc (install_builtin_variables): DEFVAR realmax and - realmin here. - * src/sysdep.cc: Instead of DEFUNing them here. - - * src/variables.cc (do_who): Accept globbing patterns as args. - (maybe_list): Handle them here. - - * src/symtab.cc (matches_patterns): New function. - (symbol_table::list, symbol_table::long_list): Accept list of - patterns, and use matches_patterns to see if the given string is a - match. Change all callers. - - * src/load-save.cc (read_binary_data): Don't fail if reading - name_len fails. - (do_load): Quit quietly if nothing is left to read. Clean up doc - and name in all cases. - -Tue Nov 1 16:34:20 1994 John Eaton - - * src/lex.l (")"): Set cant_be_identifier to 1 here too. - - * src/tree-plot.cc: Use abbreviations for gnpulot plot, splot, - replot, with, using, and title commands. - -Mon Oct 31 14:26:12 1994 John Eaton - - * src/variables.cc (Fclear): Look in global symbol table for - user-defined function names. - - * src/load-save.cc (do_load): New function. - (Fload): Use it to avoid assigning streams. - (write_binary_header): New function. - (save_vars): New function. - (Fsave): Use it to avoid assigning streams. - - * libcruft/linpack/zgesl.f (zgesl): Comment out unused varialbes - and statement functions. - - * src/sysdep.cc (Fisieee): New function. - (Frealmax, Frealmin): Ditto. - - * scripts/miscellaneous/version.m: New file. - -Fri Oct 28 14:52:08 1994 John Eaton - - * octMakefile.in (distclean): Also delete config.cache and - config.log. - - * Makeconf.in (CPPFLAGS): Allow substitution. - - * configure.in: Use AC_PREFIX_DEFAULT. - - * configure.in: Use AC_CANONICAL_HOST instead of doing this - ourselves. - - * install-sh: Rename from install.sh. - * octMakefile.in (DISTFILES): Distribute install-sh, not install.sh. - -Mon Oct 24 10:04:27 1994 John Eaton - - * octave-bug.in: Print message if bug report appears to have been - mailed successfully. Otherwise, exit with error status. - -Fri Oct 21 14:05:10 1994 John Eaton - - * src/tc-rep-ass.cc (TC_REP::do_vector_assign (rhs, idx-vector)): - Handle all four cases of row/colum mixing. Report an error if the - RHS is a matrix. - - * src/tc-rep-idx.cc (TC_REP::do_index): Don't barf on indexing an - empty matrix with colon(s). - (TC_REP::do_scalar_index): Create index vector with z_len = 1. - (TC_REP::do_matrix_index (Range, tree_constant)): Correctly handle - case of colon as second arg. - - * octave-bug.in: Put mail commands in subshells so error message - really do go away. - -Thu Oct 20 11:05:36 1994 John Eaton - - * octave-bug.in: If passing $SUBJECT on the command line to a - mailer, quote it. Don't assume /bin/mail takes any args other - than a recipient address. Do the right thing if the To: line - changes. - - * src/tc-rep.cc (TC_REP::rows, TC_REP::columns): Return -1 for - anything that doesn't really have rows or columns. - - * src/tc-rep-idx.cc (fortran_style_matrix_index): Check max and - min index values. - - * Makefile.in (FORCE): New phony target. Used instead of .PHONY - to be portable. - - * octave-bug.in: Try harder to mail the message. - - * src/dynamic-ld.cc: Undefine true, false, and boolean after - including kpathse/pathsearch.h. - - * src/sysdep.cc: Include . - -Wed Oct 19 10:28:49 1994 John Eaton - - * configure.in (CXXLIB_LIST, FLIB_LIST, CXXLIB_PATH, FLIB_PATH): - Be careful not to match -l or -L in the middle of a word. - - * src/f-minmax.cc: Correctly handle mixed scalar/matrix args. - - * octMakefile.in: Rename from Makefile.in. - * Makefile.in: New file. For `all' target, print message and - execute make again using octMakefile. For other targets, just - execute make again using octMakefile. - - * configure.in: Check for sys_siglist. - * src/sighandlers.h [! HAVE_SYS_SIGLIST]: Provide an external - declaration. - * src/sighandlers.cc (generic_sig_handler): New function, replaces - most individual signal handler functions. - (sigint_handler, sigpipe_handler): Restore signal handler before - doing anything else. - [! HAVE_SYS_SIGLIST] (sys_siglist): Provide our own definition. - - * config.guess: Update from FSF sources. - -Tue Oct 18 23:36:24 1994 John Eaton - - * flibs.sh: Don't pass -Y P,path. Instead, turn it into a series - of -L dir args. - - * configure.in: Update for autoconf 2.0. - Delete support for --enable-run-in-place (it is too hard to make - this work reliably...). - -Mon Oct 17 11:40:49 1994 John Eaton - - * src/user-prefs.cc (init_user_prefs): Declare to return void, - not int. - - * configure.in: Change quote characters around tr command. Some - systems actually do need the []'s for ranges... - -Sun Oct 16 12:22:14 1994 John Eaton - - * src/tempname.c, src/tmpnam.c: New files. - * src/Makefile.in (SOURCES): Add them. - * src/dirfns.cc: Delete functions extracted from glibc. - - * configure.in (localfcnfiledir, localoctfiledir, imagedir): - New variables. Use them to define localfcnfilepath, - localoctfilepath, and imagepath. - * Makeconf.in: Substitute them here. - - * src/utils.cc (get_fcn_file_names) [WITH_DLD]: Also match .oct - files. - - * dld/find_exec.c (dld_find_executable): Don't be fooled by - directories or other special files in PATH. - (ABSOLUTE_FILENAME_P): Also return true if the name includes a - `/'. This isn't necessarily an absolute path, but we will turn it - into one later. - * src/dynamic-ld.cc (octave_dld_init): Call make_absolute() on - value returned from dld_find_executable(). - -Sat Oct 15 08:35:13 1994 John Eaton - - * flibs.sh: Undo previous change. Only substitute spaces for - commas if it looks like we have output from xlf. Handle -Y and - LD_RUN_PATH using gcc's -Xlinker option. - - * Makefile.in (snapshot-version): Use move-if-change for version.h. - -Fri Oct 14 09:18:08 1994 John Eaton - - * scripts/image/Makefile.in (SOURCES): Don't forget octtopnm.c. - - * Makefile.in (BINDISTFILES): Distribute octave-bug too. - - * configure.in (imagepath): Install at same level as fcnfiledir, - not below it. - - * doinstall.sh: Correctly extract version numbers that are not all - digits. Also install images too. Also install octaverc. Ask - octave for the target host type. Also create site/m and - site/oct directories. Also install octave-bug. - - * scripts/image/Makefile.in (DISTFILES): Distribute demo image - files too. - - * doinstall.sh: Update for new directory organization. - - * src/variables.cc (subst_octave_home): Make it work for multiple - substitutions. - - * flibs.sh: Handle -Y P,path:of:lib:dirs output from f77 on Solaris. - - * src/strfns.cc (Ftoascii): New file, new function. - (Fisstr, Fsetstr): Move here, fromd ata.cc. - - * src/Makefile.in (SOURCES): Include it. - -Thu Oct 13 11:58:03 1994 John Eaton - - * scripts/signal/filter.m: Postpad `b' before reshaping. - - * mkinstalldirs: New file. - * Makefile.in: Distribute it, don't make mkpath. - * All Makefile.in files: Use it instead of mkpath. - - * src/utils.cc (Foctave_tmp_file): New function. - - * src/utils.cc (undo_string_escape): Move here from tc-rep.cc, - rename from undo_string_escapes, and make extern. - (undo_string_escapes): New function, for undoing a whole string. - (Fundo_string_escapes): New function. - - * scripts/miscellaneous/dump_prefs.m, - scripts/miscellaneous/dump_1_pref.m: New functions. - * scripts/miscellaneous/bug_report.m: Record user preferences in a - file and pass the name of the file to octave-bug. Use - octave_tmp_file to generate tmp file name. - * octave-bug.in: Accept a final file-name arg as a file that - contains a list of user-preferences. - -Wed Oct 12 09:09:37 1994 John Eaton - - * configure.in: Redefine archlibdir and octfiledir so that oct - and exec directories are at the same level as the m directory. - Redefine localoctfilepath so that site/oct is a the same level as - site/m. - - * Makeconf.in (F77): Substitute it. - (BUG_CFLAGS, BUG_CXXFLAGS): New vars. - * configure.in: - * scripts/bug_report.m: New file. - * octave-bug.in: New file. - * Makefile.in (DISTFILES): Distribute octave-bug.in. - (dirs_to_make): Add $bindir. - (all): Add octave-bug. - (octave-bug): New target. - (install): Install it. - * src/defaults.h.in: Add defines for bindir. - * src/Makefile.in (defaults.h): Substitute it. - * src/variables.cc (octave_bin_dir): New function. - * src/octave.cc (initialize_globals): Also add $bindir to path. - - * configure.in: Check for gettimeofday. Add AC_TIME_WITH_SYS_TIME. - * src/systime.h: New file. - * src/timefns.h: Use gettimeofday if available. - * src/Makefile.in (INCLUDES): Add systime.h. - -Mon Oct 10 14:34:56 1994 John Eaton - - * src/octave.cc (verbose_flag): New global variable. - (long_opts): Add "verbose". - (usage_string): Update. - (main): Set verbose_flag if given --verbose. - (execute_startup_files): Don't print messages about reading - startup files if verbose_flag is not set. - - * src/tree-expr.cc (apply_mapper_fcn): Handle scalars as a special - case, but then just try to convert other arg types to a matrix. - - * src/f-det.cc (Fdet): Check if arg is complex type, but not - necessarily a complex matrix. - * src/f-schur.cc (Fschur): Likewise, and also for real types. - * src/f-lu.cc (Flu): Likewise. - * src/f-minmax.cc (Fmin, Fmax): Likewise. - -Sun Oct 9 21:04:17 1994 John Eaton - - * src/tc-rep-ass.cc (TC_REP::assign): If LHS is undefined, don't - try to force it to be a numeric type. - -Fri Oct 7 09:05:10 1994 John Eaton - - * configure.in: Define LD_STATIC_FLAG for Alpha OSF/1 1.3 systems. - - * src/tc-rep-idx.cc (TC_REP::do_index): Only work for numeric - types, but don't panic if conversion doesn't work. - * src/tc-rep-ass.cc (TC_REP::assign): Likewise. - - * src/tc-rep.cc (TC_REP::gripe_wrong_type_arg): New function. - - * src/gripes.cc (gripe_wrong_type_arg): Define here. - * src/tree-const.cc: Not here. - -Wed Oct 5 16:24:38 1994 John Eaton - - * src/file-io.cc (do_scanf): Don't panic if string is NULL. - - * src/gripes.cc (gripe_unrecognized_float_fmt): New function. - (gripe_2_or_3_dim_plot): Ditto. - (gripe_unrecognized_data_fmt): Ditto. - (gripe_data_conversion): Ditto. Use it in load-save.cc data - conversion routines that aren't implemented yet. - - * src/load-save.cc (do_double_format_conversion): Don't panic on - unrecognized floating point formats. - (do_float_format_conversion): Likewise. - (write_doubles): Don't panic if data format is unrecognized. - (do_save): Likewise - (install_loaded_variable): Don't panic for unknown symbol types. - (read_binary_data): Also check error_state after calls to read_doubles. - - * src/symtab.cc (symbol_table::rename): Don't panic if symbol - can't be renamed. - * src/parse.y (return_list): Abort parse if renaming results in an - error. - - * src/tree-misc.cc (tree_if_command::eval): Don't panic if all - (all (cond)) is not a scalar. - - * src/tree-expr.cc (tree_unary_expression::print_code): Don't - panic if expression type is unknown. - - * src/tree-plot.cc (tree_plot_command::eval): Don't panic if plot - is not 2 or 3 dimensional. - (tree_plot_command::print_code, subplot::print, save_in_tmp_file): - Likewise. - - * src/variables.cc (alias_builtin): Panic with better message. - (subst_octave_home): Don't panic if OCTAVE_HOME doesn't contain - OCTAVE_PREFIX. - - * src/tc-inlines.h (REP_RHS_MATRIX): Use panic_impossible() - instead of abort(). - (REP_ELEM_ASSIGN, CRMATRIX): Likewise. - - * src/data.cc (Fdiag, make_diag): Do work here. - * src/tc-rep.cc (TC_REP::diag, make_diag): Not here. - * src/tc-rep.h (TC_REP::diag): Delete. - * src/tree-const.h (tree_constant::diag): Delete. - -Tue Oct 4 08:35:37 1994 John Eaton - - * src/f-fft.cc (Ffft): Correctly set n_points for row vectors if - nargin == 1. - * src/f-ifft.cc (Fifft): Likewise. - - * src/load-save.cc (Fsave): Declare file and stream static. - -Mon Oct 3 10:40:50 1994 John Eaton - - * src/tree-expr.cc (octave_va_arg): Correct arg count and index to - match recent change to arg passing/nargin. - (define_param_list): Always set num_named_args = param_list->length (). - - * readline/Makefile.in (install): Don't install libreadline.a by - default. - (uninstall): Now no need to delete it. - - * configure.in (localfcnfilepath, localoctfilepath): Change to - match organization of system fcn and oct files, and enable - recursive searching in both. Enable recursive searching in - $(octfiledir). - (includedir): Change to $(prefix)/include/octave. - -Sun Oct 2 10:14:18 1994 John Eaton - - * configure.in: For now, disable IEEE floating point functions on - the Alpha. This is braindead, but at least prevents divide by - zero crashes... - - * src/file-io.cc (fseek_internal): Use values for origin that - match what we use to define SEEK_SET, SEEK_CUR, and SEEK_END in - variables.cc. - - * dld: Merge various changes for Linux from dld 3.2.4 that is - being distributed with jacal. - - * src/file-io.cc (fwrite_internal): Correct indexing of args. - - * src/tree-expr.cc (apply_mapper_fcn): New function. - (tree_builtin::eval): Use it instead of tree_constant::mapper(). - * src/tree-const.h (tree_constant::mapper): Delete. - * src/tc-rep.cc, src/tc-rep.h (TC_REP::mapper): Delete. - - * src/data.cc (Fcumprod, Fcumsum, Fprod, Fsum, Fsumsq): Do work here. - * src/tc-rep.cc (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, - TC_REP::sum, TC_REP::sumsq): Not here. Delete. - * src/tc-rep.h (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, - TC_REP::sum, TC_REP::sumsq): Delete - * src/tree-const.h (tree_constant::cumprod, tree_constant::cumsum, - tree_constant::prod, tree_constant::sum, tree_constant::sumsq): - Delete. - - * tree-const.h: Don't check gcc minor version number. - * tc-rep.h: Likewise. - - * src/file-io.h (class file_info): Declare here. - * src/file-io.cc: Not here. - - * configure.in (LIBOCTDLD, LIBDLD): Remove ../ prefix. - * Makefile.in (distclean, realclean): Don't remove *.a. - * src/Makefile.in (OCTAVE_LIBS): Correct directory spec for libs. - Build, install, and clean liboctdld.a, not ../liboctdld.a. - * dld/Makefile.in: Build, install, and clean libdld.a, not ../libdld.a. - * info/Makefile.in: Likewise, for libinfo.a. - * kpathsea/Makefile.in: Likewise, for libkpathsea.a. - * libcruft/Makefile.in: Likewise, for libcruft.a. - * liboctave/Makefile.in: Likewise, for liboctave.a. - * readline/Makefile.in: Likewise, for libreadline.a. - - * configure.in (gxx_version): Require 2.6.x or later. Don't - define EXTERNAL_TEMPLATES. Do define NO_IMPLICIT_TEMPLATES. - * liboctave/Array-C.cc, liboctave/Array-d.cc, src/Array-tc.cc, - src/DLList-fi.cc src/SLStack-tok.cc, src/SLStack-ue.cc, - src/SLStack-tm.cc, src/SLStack-pc.cc, src/SLStack-i.cc, - src/SLList-tc.cc, src/SLStack-sym.cc, src/SLStack-ui.cc, - src/SLList-misc.cc, src/SLList-expr.cc, src/SLList-plot.cc, - src/Map-tc.cc: New files. Instantiate templates here. - * libocave/Array.cc, src/Map.cc, src/Stack.cc, src/SLStack.cc: - Not here. Remove #pragma implementation hack. - * liboctave/Array.h, src/Stack.h, src/Map.h, src/SLStack.h: Remove - #pragma interface hack. - * Makeconf.in: Substitute NO_IMPLICIT_TEMPLATES, not - EXTERNAL_TEMPLATES. - (ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS): Use $(NO_IMPLICIT_TEMPLATES), - not $(EXTERNAL_TEMPLATES). - * acconfig.h: Remove USE_EXTERNAL_TEMPLATES #undef. - * src/Makefile.in (XALL_CXX_FLAGS): Delete -fno-implicit-templates. - (TI_SRC, TI_OBJ): New variables. - (libtinst.a): New target. - * liboctave/Makefile.in (TI_SRC): New variable. - (SOURCES): Add it to list. - -Fri Sep 30 09:52:15 1994 John Eaton - - * src/Makefile.in: Automatically generate more lists. - Use := in more places. - * src/Array-C.cc src/Array-d.cc src/Array-tc.cc src/Map-tc.cc - src/Stack-i.cc src/SLStack-pc.cc src/SLStack-sym.cc - src/SLStack-tok.cc src/SLStack-tm.cc src/SLStack-ue.cc: - New template instantiation files. - * configure.in: If using gcc 2.6.x or later, use - -fno-implicit-templates instead of -fexternal-templates. - - * src/tc-inlines.h: Rename from tc-inlines.cc. - - * src/parse.y (looking_at_indirect_ref): New global flag, for - parser feedback. - (tree_indirect_ref_type): New token type. - (TEXT_ID): New token. - (indirect_ref): New non-terminal. - (make_index_expression): New function. - (variable): Use it to build variable from indirect_ref, not just - identifier. - - * src/lex.l (handle_identifier): Handle identifiers differently if - looking at an indirect reference. Add `.' to list of other ops. - - * src/tree-expr.cc (tree_identifier::do_lookup): Handle new - exec_script arg. - (tree_identifier::assign): New functions for assignment to a - strucutre element. - (print_constant): New function. - (tree_identifier::eval, tree_indirect_ref::eval): Use it. - ( - - * src/tree-expr.h (tree_indirect_ref): New class for handling - structure references. - (tree_expression::is_indirect_ref): New virtual function. - (tree_fvc::lookup_map_element): New virtual function. - (tree_index_expression, tree_simple_assignment_expression): - Add new constructors for handling indirect references. - - * src/oct-map.h: New file, for class managing Octave's - structure/map type. - - * src/tree-misc.cc (tree_global::eval): Don't allow individual - structure elements to be tagged global. - - * src/tc-rep.h (tree_constant_rep): Add new field, a_map, and a - new type_tag, map_constant. - * src/tree-const.cc (tree_constant::is_map): New function. - * src/tree-const.cc (tree_constant::map_value, - tree_constant::assign_map_element, tree_constant::make_unique, - tree_constant::lookup_map_element, - tree_constant::make_unique_map_element): New functions. - - * src/Map.h (CHNode::CHNode): Copy key. - (CHNode::~CHNode): Delete it. - (CHMap::contents): Don't declare return value const. - - * src/tc-inlines.cc: Move some macros here from tc-rep.cc so they - can appear in one place and be shared by tc-rep-idx.cc, - tc-rep-ass.cc, and tc-pre.cc. - - * src/tc-rep-idx.cc, src/tc-rep-ass.cc: New files, extracted from - tc-rep.cc to make compilation of tc-rep stuff faster and require - less memory. - - * src/variables.cc (Fwhos): Correctly insert "-long" into arg list - for Fwho. - -Mon Sep 26 12:59:55 1994 John Eaton - - * test/Makefile.in (OCTAVE_SCRIPT_PATH): Append `//' for recursive - searching. - -Fri Sep 23 07:53:13 1994 John Eaton - - * scripts/plot/bar.m: Don't return values if nargout == 0. - * scripts/plot/hist.m: Likewise. - * scripts/plot/stairs.m: Likewise. - - * src/tree-plot.cc (Fishold): New function. - (plot_line_count, parametric_plot, clear_before_plotting): - Declare static. - - * src/f-fft.cc (Ffft): Handle row vector as a special case. - * src/f-ifft.cc (Fifft): Ditto. - -Thu Sep 22 13:20:53 1994 John Eaton - - * src/help.cc (print_symbol_type): New function, extracted from Fwhich. - (Fwhich): Use it. - (Fhelp): Use it to print type info before help message. - - * src/dynamic-ld.cc: Hide all DLD-specific functions behind - #ifdef WITH_DLD. - - * scripts/startup: New directory. - * scripts/startup/Makefile.in: New file. - * scripts/startup/octaverc: New file. Don't overwrite existing - file when nstalling. - * configure.in: Generate Makefile in scripts/startup. - * scripts/Makefile.in (SUBDIRS): Add startup. - * src/defaults.h.in (OCTAVE_STARTUPFILEDIR): New macro. - * src/variables.cc (get_site_defaults): Look for octaverc in - OCTAVE_STARTUPFILEDIR. - - * configure.in (fcnfiledir): Make it end in `//'. - - * src/error.cc (Ferror): Correct indexing error. - - * src/Map.h, src/Map.cc: New files implementing associative arrays. - * src/Makefile.in: Include them in the list of files to distribute - and compile. - -Wed Sep 21 09:50:19 1994 John Eaton - - * Makefile.in (DISTSUBDIRS): Add dld to the list. - - * scripts/plot/hist.m: New function file. - - * src/tc-rep.cc (TC_REP::do_matrix_index (tree_constant, - tree_constant): For case of scalar as first arg, move call to - index check to the TC_REP::do_matrix_index (int, tree_constant) - function. - (TC_REP::do_matrix_index (int, tree_constant): Be compatible with - Matlab for indexing of the form row_vector (0, :). - (TC_REP::do_matrix_index (tree_constant, int): Likewise, for - indexing of the form col_vector (:, 0). - (TC_REP::do_matrix_assignment): Similar changes for assignment. - -Tue Sep 20 17:48:39 1994 John Eaton - - * src/parse.y (return_list, return_list1): New nonterminals. - Rename from func_def1a. Handle variable number of return values. - * src/tree-expr.h (tree_function::vr_list): New field. - * src/tree-expr.cc (delete_vr_list): New function. - (tree_function::octave_vr_val, tree_function::takes_var_return): - New functions, for variable return lists. - (tree_function::define_ret_list, tree_function::eval): Handle vr_list. - (Fvr_val): New function. - * src/tree-misc.h (tree_va_return_list): New list class. - * src/tree-misc.cc (tree_parameter_list::convert_to_const_vector): - Take pointer to tree_va_return_list as arg, and append the values - found there. - - * src/arith-ops.cc (mx_stupid_bool_op): Correctly handle empty - matrices for == and != ops. - - * src/variables.cc (Fis_global): Check args(0), not args(1). - (Fexist): Likewise. - (install_builtin_mapper): Set nargin_max to 1, not 2. - - * src/dynamic-ld.cc (octave_dld_init): Make raw program name - absolute before calling dld_find_executable. - - * src/octave.cc (initialize_error_handlers): New function. - (main): Call init_user_prefs and initialize_error_handlers. - Rearrange order of calls to initialization functions. - - * src/user-prefs.cc (init_user_prefs): New function. - - * src/data.cc (map): Correct condition for assert (). Correct - handling of empty args. - - * src/f-lsode.cc src/f-dassl.cc src/f-quad.cc src/f-npsol.cc - src/f-fsolve.cc: Pass correct number of args to - takes_correct_nargs (). - * src/variables.cc (takes_correct_nargs): Use %s, not %c in format - string. - - * src/f-ifft2.cc src/f-expm.cc src/f-det.cc src/f-svd.cc - src/f-syl.cc src/f-schur.cc src/f-qzval.cc src/f-qr.cc - src/f-pinv.cc src/f-lu.cc src/f-log.cc src/f-inv.cc src/f-hess.cc - src/f-eig.cc src/f-chol.cc src/f-balance.cc src/f-lsode.cc - src/f-dassl.cc src/f-quad.cc src/f-npsol.cc src/f-fsolve.cc: - Correctly handle return value from empty_arg (). - * src/utils.cc (empty_arg): Clarify usage, correct return value if - arg is empty but no message is printed. - - * src/Makefile.in (dist): Delete builtins.cc too. - - * configure.in (DYNAMIC_LD_OBJ): Delete. - * src/Makefile.in (OBJECTS): Don't substitute DYNAMIC_LD_OBJ. - Always include dynamic-ld.o. - - * configure.in: Generate Makefile in scripts/elfun and - scripts/specfun. - - * Makeconf.in (version): Use `:=' and `$(shell )', not just `=' - and backticks, so we only extract the version number once. - -Mon Sep 19 09:04:30 1994 John Eaton - - * src/tc-rep.h (represent_strings_with_doubles): New field in - tree_constant_rep class. - - * tree-misc.cc (tree_argument_list::convert_to_const_vector): - Don't allocate extra arg for function name. - * sysdep.cc, pr-output.cc, input.cc, file-io.cc, error.cc, - tc-rep.cc, tree-expr.cc, f-svd.cc, f-sort.cc, f-schur.cc, - f-rand.cc, f-qzval.cc, f-quad.cc, f-qr.cc, f-qpsol.cc, f-pinv.cc, - f-npsol.cc, f-minmax.cc, f-lu.cc, f-lsode.cc, f-log.cc, f-inv.cc, - f-ifft2.cc, f-ifft.cc, f-hess.cc, f-givens.cc, f-fsolve.cc, - f-fft2.cc, f-fft.cc, f-expm.cc, f-eig.cc, f-det.cc, f-dassl.cc, - f-colloc.cc, f-chol.cc, f-balance.cc, f-syl.cc, variables.cc, - tree-misc.cc, data.cc, octave.cc, utils.cc, defun-int.h: - Change meaning and usage of nargin and args.length() to cope with - above change. This makes nargin mean the same thing in built-in - functions as it does in M-files. - -Sat Sep 17 09:29:08 1994 John Eaton - - * scripts/general/nargchk.m: New function. - -Fri Sep 16 08:48:13 1994 John Eaton - - * Makeconf.in (FLIB_LIST, FLIB_PATH, CXXLIBS, CXXLIB_LIST, - CXXLIB_PATH): Set these. - - * cxxlibs.sh: New file. - * configure.in: Use it to determine extra C++ libraries to link - to. Use sed magic to extract list of libraries and directories - from FLIBS and CXXLIBS. - * Makefile.in: (DISTFILES): Include cxxlibs.sh. - - * configure.in: Change AC_VERBOSE messages to match - autoconf-generated messages. - - * src/dynamic-ld.cc (dld_octave_resolve_reference): Search library - path for list of files to link. - - * src/utils.cc (pathstring_to_vector): Un-#if 0 it. - - * Makefile.in: Install liboctdld.a if not linking to it. - (defaults.h): Substitute FLIB_LIST, FLIB_PATH, CXXLIB_LIST, - CXXLIB_PATH. - -Thu Sep 15 09:31:29 1994 John Eaton - - * Makeconf.in (LD_STATIC_FLAG): Actually substitute LD_STATIC_FLAG. - (ALL_LDFLAGS): Include it here. - - * configure.in: Check for signgam declaration in math.h - * acconfig.h: Add #undef for SIGNGAM_DECLARED. - * src/mappers.h: Provide our own declaration of signgam if - HAVE_LGAMMA but not SIGNGAM_DECLARED. - -Wed Sep 14 11:28:09 1994 John Eaton - - * src/dynamic-ld.cc (mangled_octave_builtin_name, - mangle_octave_oct_file_name, load_octave_builtin, - load_octave_oct_file, init_dynamic_linker): New functions. - [WITH_DLD] (octave_dld_init, dld_octave_resolve_reference, - dld_octave_builtin, dld_octave_oct_file): New functions to handle - details of dynamic linking using dld. - - * src/variables.cc (load_fcn_from_file) [WITH_DLD]: Handle looking - for .oct file to link at run time. - - * src/tree-expr.cc (tree_builtin::tree_builtin): Always init my_name. - (tree_builtin::eval): If no definition, try to load one using - load_octave_builtin(). - - * src/octave.cc (main): Initialize dynamic linking here. - - * src/defun-int.h (DEFINE_FUN_STRUCT, DEFINE_FUN_STRUCT_FUN): - New macros. - * src/defun-dld.h (DEFUN_DLD_BUILTIN): Rename from DEFUN_DLD and - handle case of WITH_DLD && OCTAVE_LITE && MAKE_BUITLINS. - (DEFUN_DLD): Use this for external user-supplied functions that - are intended to be dynamically linked. - - * configure.in: Handle --enable-lite-kernel. Call AC_SUBST for - use_dld and lite_kernel. Define LIBOCTDLD unless doing dynamic - linking and small kernel requested. - * acconfig.h: Add #undefs for OCTAVE_LITE and SMART_PUTENV. - * Makeconf.in: Define WITH_DLD from @use_dld@ and OCTAVE_LITE from - @lite_kernel@. - - * src/octave.cc (Fsystem): Rename from shell_cmd. - (Fshell_cmd): Define as alias to Fsystem. - -Mon Sep 12 20:19:20 1994 John Eaton - - * src/mappers.cc: Include error.h and math.h. - -Sat Sep 10 11:49:11 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Makefile.in: Clean up rules for making distributions. - (DISTDIRS): Distribute kpathsea - -Fri Sep 9 08:46:03 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/dMatrix.cc (pseudo_inverse): New function. - * liboctave/CMatrix.cc (pseudo_inverse): New function. - * src/f-pinv.cc: New file, for pinv(). - * src/Makefile.in (DLD_SRC): Add f-pinv.cc. - (DLD_OBJ): Add f-pinv.o. - * scripts/linear-algebra/pinv.m: Delete. - - * configure.in: Define and substitute $imagepath. - * src/Makefile.in: Substitute OCTAVE_IMAGEPATH. - * src/defaults.h.in: Add OCTAVE_IMAGEPATH. - * src/variables.cc (install_builtin_variables): Define IMAGEPATH. - * src/user-prefs.cc (image_path): New function. - * Makeconf.in (imagepath): substitute it. - - * src/octave.cc (initialize_globals): Ensure that $archlibdir is - in the user's PATH. - - * utils.cc (search_path_for_file, Ffile_in_path): New functions. - - * configure.in: Append `//' to $fcnfiledir, for recursive - searching. - (AC_OUTPUT): Edit makefiles in script subdirectories too. - - * scripts: Regroup function files in the following directories, - each with its own Makefile.in: - - image plot signal control - linear-algebra polynomial special-matrix general - miscellaneous set statistics - - * src/help.cc (simple_help): Use kpathsea functions to find files - in path. - * src/utils.cc (get_fcn_file_names): Likewise. - (pathstring_to_vector): #if 0 out. - -Thu Sep 8 16:59:42 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/Makefile.in (OCTAVE_LIBS): Include ../libkpathsea.a. - * configure.in: Include configure stuff for kpathsea here too. - * Makefile.in (kpathsea): New target. - * src/utils.cc (file_in_path): Use kpathsea function instead of - doing our own searching. - * kpathsea/Makefile.in (lib): Define as ../libkpathsea.a, not just - kpathsea.a. - -Wed Sep 7 09:39:20 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/user-prefs.cc (check_str_pref): Fix comment. - - * src/utils.cc (empty_arg): Check flag == 0, not is_empty > 0. - - * src/f-fft2.cc (Ffft2): New file and function. - * src/f-ifft2.cc (Fifft2): Likewise. - * src/fft2.m, src/ifft2.m: Delete. - - * src/f-fft.cc (Ffft): Handle second arg. Depending on value of - propagate_empty_matrices, return empty matrix for empty arg. - * src/f-ifft.cc (Fifft): Likewise. - - * liboctave/CMatrix.cc (fourier2d, ifourier2d): New functions. - * liboctave/dMatrix.cc (fourier2d, ifourier2d): New functions. - - * src/tree-misc.cc (eval (int, int)): New function. - * src/octave.cc (eval_string, Feval): Handle multiple output args. - - * src/error.cc (suppress_octave_error_messages): New global. - (error): Check it to see if messages should be printed. - * src/octave/cc (Feval): Set it if `catch' arg is supplied. - - * src/octave.cc (Feval): Handle second `catch' arg. - - * src/load-save.cc (read_mat_file_header): Init swap to zero. - - * doc/octave.1: New simple man page. - * doc/Makefile.in: Distribute and install it. - - * src/variables.cc (Fclear): Handle -x option for exclusive clear. - -Tue Sep 6 16:00:34 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/load-save.cc (save_mat_binary_data): New function. - (do_save): Handle LS_MAT_BINARY. - (Fsave): Handle -mat-binary. - (Changes from G. Beyerle .) - - * src/variables.cc (subs_octave_home, octave_arch_lib_dir): - New functions. - (octave_home, octave_info_dir, octave_lib_dir, default_path): - Fix for new directory organization. - - * src/tree-expr.h (tree_multi_val_ret): New class to serve as a - base for objects that can produce more than one value when - evaluated. - (tree_fvc, tree_index_expression, tree_multi_assignment_expression): - Use it as a base. - - * src/parse.y (make_multi_val_re): New function. - (expression): Use it to construct multiple value assignments. - - * configure.in, Makefile.in, Makeconf.in, src/defaults.h.in: - Revamp directory structure used for installed versions of Octave. - - * src/f-schur.cc (Fschur): Correct argument count in error message. - - * src/octave.cc (Fcomputer): New function. - * scripts/computer.in: Delete. - * scripts/Makefile.in: Don't edit or distribute computer.in. - -Thu Sep 1 09:02:06 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/variables.cc (install_builtin_variables): New builtin - variable, OCTAVE_VERSION. - -Tue Aug 30 17:18:14 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * tree-expr.cc: Include string.h - (tree_matrix::eval): Fix handling of strings to work as in 1.0. - -Mon Aug 29 14:55:14 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.l: Handle ".+" and ".-" too. - - * src/dirfns.cc (dir_acess, exists, gen_tempname, tempnam): New - functions from glibc. - * src/utils.cc (octave_tmp_file_name): Use tempnam. - (choose_temp_base_try): Delete. - * configure.in: Check for tempnam. - - * src/load-save.cc (Fsave): Only write floating point format if - doing binary save. - - * liboctave/Array.cc (operator =): Check to see if assignment is - to same object. - -Sun Aug 28 23:32:59 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/CollocWt.cc (CollocWt::init): Call delete [] on vectors. - * liboctave/NPSOL.cc (NPSOL::minimize): Eliminate some memory leaks. - * liboctave/QPSOL.cc (QPSOL::minimize): Likewise. - * liboctave/NLEqn.cc (NLEqn::solve): Likewise. - -Thu Aug 25 09:27:04 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * info/session.c (info_get_input_char): Don't exit immediately if - we see EOF on the input stream. - - * scripts/kurtosis.m, scripts/skewness.m: Update from KH. - -Wed Aug 24 00:19:49 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * dld/Makefile.in, scripts/Makefile.in, doc/Makefile.in, - readline/Makefile.in, info/Makefile.in, libcruft/Makefile.in, - liboctave/Makefile.in, src/Makefile.in (INSTALL, INSTALL_PROGRAM, - INSTALL_DATA): Define here. - * Makeconf.in: Not here. - - * src/tree-plot.cc (send_to_plot_stream): Handle - user_pref.automatic_replot. - * src/variables.cc (install_builtin_variables): - Add DEFVAR for automatic_replot. - * src/user-prefs.cc (automatic_replot): New function. - * src/user-prefs.h (user_preferences): Add automatic_replot to the - list. - - * src/data.cc (Fatan2): Make work for mixed scalar and Matrix args. - (map): New functions for two arg mappers (like atan2). - - * src/f-fsqp.cc: Don't surround everything in FSQP_MISSING, so - that trying to use fsqp will result in a message about fsqp not - being freely redistributable. - * src/f-npsol.cc: Likewise, for NPSOL_MISSING. - * src/f-qpsol.cc: Likewise, for QPSOL_MISSING. - -Tue Aug 23 12:56:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-expr.cc (tree_identifier::eval): Don't call delete for - ans_id. The destructor for tree_simple_assignment_expression does - this now. - - * src/Makefile.in (%.def : %.cc): Use sed, not awk. - (realclean, distclean, local-dist, dist): Delete .d and .def files. - - * liboctave/Array.h (DiagArray::Proxy): Make compilation - conditional on gcc version, not just _AIX. - - * src/utils.cc (octave_tmp_file_name, choose_temp_base_try): New - functions, stolen from GCC. If HAVE_MKTEMP is not defined, just - call tmpnam; otherwise, try harder to please. - * src/tree-plot.cc (save_in_tmp_file): Use it, instead of calling - tmpnam() directly. - * src/file-io.cc (do_scanf): Likewise. - * src/octave-hist.cc (mk_tmp_hist_file): Likewise. - * configure.in: Check for mktemp. - - * src/tree-const.h (is_matrix_type, is_scalar_type): Make private. - * src/tc-rep.h (is_matrix_type, is_scalar_type): Likewise. - - * src/tc-rep.h (force_numeric, make_numeric, - make_numeric_or_magic, make_numeric_or_range_or_magic): Make - private. - (make_numeric_or_range): #if 0 out. - - * src/utils.cc (empty_arg): Correctly set return value. - - * src/arith-ops.cc: Don't include setjmp.h. - * src/utils.cc: Surround setjmp.h with extern "C". - * src/octave.cc: Likewise. - - * src/sighandlers.cc (octave_new_handler): New function. - (install_signal_handlers): Call it. - - * src/f-qzval.cc (Fqzvalue): Don't call make_numeric for args. - Check error state after attempting to extract values. Simplify - where possible. - * src/f-colloc.cc (Fcolloc): Likewise. - * src/f-rand.cc (Frand): Likewise. - * src/f-sort.cc (Fsort): Likewise. - * src/f-find.cc (Ffind): Likewise. - * src/f-minmax.cc (Fmin, Fmax): Likewise. - * src/f-fft.cc (Ffft): Likewise. - * src/f-ifft.cc (Fifft): Likewise. - * src/f-svd.cc (Fsvd): Likewise. - * src/f-inv.cc (Finv): Likewise. - * src/f-det.cc (Fdet): Likewise. - * src/f-eig.cc (Feig): Likewise. - * src/f-lu.cc (Flu): Likewise. - * src/f-hess.cc (Fhess): Likewise. - * src/f-qr.cc (Fqr): Likewise. - * src/f-givens.cc (Fgivens): Likewise. - * src/f-syl.cc (Fsyl): Likewise. - * src/f-log.cc (Flog): Likewise. - * src/f-expm.cc (Fexpm): Likewise. - * src/f-balance.cc (Fbalance): Likewise. - * src/f-schur.cc (Fschur): Likewise. - * src/f-chol.cc (Fchol): Likewise. - * src/f-npsol.cc (Fnpsol, npsol_options): Likewise. - * src/f-fsolve.cc (Ffsolve, fsolve_options): Likewise. - * src/f-dassl.cc (Fdassl, dassl_options): Likewise. - * src/f-lsode.cc (Flsode, lsode_options): Likewise. - * src/f-quad.cc (Fquad, quad_options): Likewise. - * src/tree-expr.cc (tree_matrix::eval): Likewise, while building - matrix. - (tree_colon_expression::eval): Likewise, for elements of range. - * src/variables.cc (is_valid_function, Fis_global, Fexist): - Likewise. - * src/sysdep.cc (Fgetenv, Fpause): Likewise. - * src/octave.cc (eval_string, Fshell_cmd): Likewise. - * src/input.cc (get_user_input): Likewise. - * src/file-io.cc (return_valid_file, fopen_file_for_user, - fgets_internal, fseek_internal, process_printf_format, do_printf, - do_scanf, fread_internal, fwrite_internal, feof_internal): - Likewise. - - * src/tc-rep.cc (TC_REP::string_value): Call error() and return 0 - instead of crashing if not string_constant. - - * src/file-io.cc (fopen_file_for_user): Take string as first arg, - not tree_constant. Change callers. - (fgets_internal, fseek_internal): Correct check for int arg. - (process_scanf_format): Use isspace instead of checking directly - (and incorrectly) for white space characters. - - * src/tree-expr.cc (tree_matrix::eval, tree_unary_expression::eval, - tree_binary_expression::eval, tree_colon_expression::eval, - tree_simple_assignment_expression::eval ): Eliminate uneccesary - conversions to and from Octave_object/tree_constant. - -Mon Aug 22 18:35:05 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/data.cc (Fatan2): New function. - - * src/data.cc (get_dimensions): Don't call make_numeric for args. - Check error state after attempting to extract values. - -Fri Aug 19 08:28:24 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-misc.h (tree_parameter_list::tree_parameter_list)): - Initialize marked_for_varargs to zero. - - * src/load-save.cc: Add float variants of the conversion routines. - (LS_DO_READ): Add swap parameter and only swap bytes if it is true. - (read_doubles): Pass swap to LS_DO_READ. Handle float data. - (LS_DO_WRITE): Copy data to tmp buffer to avoid destroying data. - (do_double_format_conversion): Rename from do_float_format_conversion. - (do_float_format_conversion): New function to handle conversion - for float data. - (read_mat_binary_data): Use read_doules for all cases. Handle - float data. - (too_large_for_float): New function. - (save_binary_data): Save data format for scalars and ranges too. - (read_binary_data): Read data format for scalars and ranges too. - (do_save, save_vars): New arg, save_as_floats. - (Fsave): New option, -float-binary. - - * src/utils.cc (empty_arg): New function. - * src/f-balance.cc (Fbalance): Use it to simplify handling of - empty arguments. - * src/f-chol.cc (Fchol): Likewise. - * src/f-det.cc (Fdet): Likewise. - * src/f-eig.cc (Feig): Likewise. - * src/f-expm.cc (Fexpm): Likewise. - * src/f-fft.cc (Ffft): Likewise. - * src/f-hess.cc (Fhess): Likewise. - * src/f-ifft.cc (Fifft): Likewise. - * src/f-inv.cc (Finv): Likewise. - * src/f-log.cc (Flogm, Fsqrtm): Likewise. - * src/f-lu.cc (Flu): Likewise. - * src/f-qr.cc (Fqr): Likewise. - * src/f-schur.cc (Fschur): Likewise. - * src/f-svd.cc (Fsvd): Likewise. - - * src/tc-rep.cc (tupe_as_string): Move here. - * src/tree-const.cc: From here. - - * src/gripes.cc (gripe_invalid_conversion): New function. - -Thu Aug 18 21:02:19 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/(print_empty_matrix): New function. - * src/pr-output.cc (octave_print_internal): Use it to print empty - matrices. - * src/tc-rep.cc (TC_REP::print_code, TC_REP::print): Rely on - octave_print_internal() to handle printing empty matrices. - - * src/pr-output.cc (octave_print_internal (all variants)): - New arg, pr_as_read_syntax. If nonzero, print the value in a form - that Octave can parse. Declare os as ostream&, not ostrstream&. - * src/tc-rep.cc (TC_REP::print_code): Handle all types, not just - real and imaginary constants. - * src/help.cc (Ftype): Also print values of variables. - -Wed Aug 17 08:46:44 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/octave.cc (Fshell_cmd): Return output if nargout > 0 or - nargin > 2, otherwise, just send output to the pager. - - * src/mappers.cc (xerf, xerfc, xgamma, xlgamma): New functions. - Put preprocessor conditionals here. - (install_mapper_functions): Not here. - -Tue Aug 16 09:55:25 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check for erf, erfc, and lgamma. - * src/mappers.cc (erf, erfc, lgamma): New mappers. - * src/mappers.h (Mapper_fcn): Add new field `name'. - * src/variables.cc (install_builtin_mapper): Save the name. - * src/tc-rep.cc (TC_REP::mapper): Don't crash if a mapper function - is missing. - - * src/tc-rep-1.cc (warn_invalid_conversion): New function. - * src/gripes.cc (gripe_invalid_conversion): New function. - - * src/parse.y (list1, parse_error): New non-terminals. - (list): Use them. - * src/lex.l: Return LEXICAL_ERROR instead of calling - jump_to_top_level. - - * liboctave/Range.cc (matrix_value): New function. - * src/tc-rep.cc (TC_REP::matrix_value): Use it. - - * src/tree-const.h (to_matrix, to_vector, to_scalar): Delete - unecessary functions. - * src/tc-rep.cc (TC_REP::to_matrix, TC_REP::to_vector, - TC_REP::to_scalar): Likewise. Change all callers to use - matrix_value, vector_value, and scalar_value instead. - - * src/tree-const.cc (TC_REP::matrix_value): If at all possible, - produce a matrix from the current constant. Otherwise, print an - error message. Don't abort or jump to the top level. - (TC_REP::scalar_value, TC_REP::complex_scalar_value, - TC_REP::vector_value, TC_REP::complex_vector_value, - TC_REP::complex_matrix_value): Likewise, for appropriate types. - - * src/utils.cc (empty_arg): New function. - * src/f-svd.cc (Fsvd): Use it. Don't call make_numeric; rely on - value functions to do conversion. - - * src/load-save.cc (Fload): Handle -list and -verbose. - -Mon Aug 15 09:32:57 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-rep.cc (TC_REP): New define, so we don't have to write - tree_constant::tree_constant_rep:: everywhere. - * src/tree-const.h (class tree_constant): Nest tree_constant_rep - class inside tree_constant class by including tc-rep.h here. - * src/tc-rep.h: Don't include any other files, delete forward - class declarations. - - * src/tc-rep.h (constant_type): Make private. - - * src/parse.y (arg_list): Use tree_constant::magic_colon in - constructor call, not tree_constant_rep::magic_colon. - * src/tree-const.h (tree_constant::tree_constant - (tree_constant::magic_colon)): Convert arg from - tree_constant_rep::constant_type. - - * src/f-svd.cc (Fsvd): Simplify. - - * src/tree-expr.cc (any_arg_is_magic_colon): Don't use values from - tree_constant_rep::constant_type enum. - (tree_matrix::eval): Likewise. - * src/tree-misc.cc (tree_parameter_list::define_from_arg_vector, - tree_if_clause::eval): Likewise. - * src/tree-cmd.cc (tree_while_command::eval, - tree_for_command::eval): Likewise. - * src/symtab.cc (symbol_record_info::symbol_record_info): Likewise. - * src/f-colloc.cc (Fcolloc): Likewise. - * src/f-npsol.cc (npsol_objective_function): Likewise. - * src/f-chol.cc (Fchol): Likewise. - * src/f-det.cc (Fdet): Likewise. - * src/f-eig.cc (Feig): Likewise. - * src/f-expm.cc (Fexpm): Likewise. - * src/f-fft.cc (Ffft): Likewise. - * src/f-find.cc (Ffind): Likewise. - * src/f-hess.cc (Fhess): Likewise. - * src/f-ifft.cc (Fifft): Likewise. - * src/f-inv.cc (Finv): Likewise. - * src/f-log.cc (Flog): Likewise. - * src/f-lu.cc (Flu): Likewise. - * src/f-minmax.cc (Fmin, Fmax): Likewise. - * src/f-qr.cc (Fqr): Likewise. - * src/f-rand.cc (rand): Likewise. - * src/f-schur.cc (schur): Likewise. - * src/f-sort.cc (Fsort): Likewise. - * src/f-svd.cc (Fsvd): Likewise. - - * src/f-lu.cc (Flu): Handle case of nargout == 0 the same as - nargout == 1. - - * src/tree-const.h (force_numeric): Don't return type info. - * src/tc-rep.cc (tree_matrix::eval): Ditto. - * src/tree-expr.cc (tree_matrix::eval): Don't use return value - from tree_constant::force_numeric(). - - * src/tree-const.h (is_magic_colon): New function. - * src/tc-rep.h (is_magic_colon): New function. - - * src/load-save.cc (ascii_save_type): New function. - (save_binary_data, save_ascii_data, save_three_d): Don't use - values from tree_constant_rep::constant_type enum. Fail if write - is unsuccessful. Fail but don't panic if type is unrecognized. - (save_vars): Check error state after call to do_save(). - - * src/tc-rep.cc (isstr): Delete, since we have is_string. - * src/tree-const.h (isstr): Ditto. - * src/data.cc (Fisstr): Use is_string(), not isstr(). - -Sun Aug 14 16:12:10 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/load-save.cc (save_type): Add LS_U_INT, LS_CHAR and LS_FLOAT. - (get_save_type): Handle them. - (read_doubles, write_doubles): Likewise. - - * src/load-save.cc (get_floating_point_format): New function. - (read_mat_binary_data, read_binary_file_header): Use it. - - * src/lex.l: Combine {D}+\.{D}*{EXPON}?{Im} and {D}+{EXPON}?{Im} - patterns into the single pattern {D}+\.?{D}*{EXPON}?{Im} - Likewise, combine {D}+\.{D}*{EXPON}? and {D}+{EXPON}? into the - single pattern {D}+\.?{D}*{EXPON}? - ({D}+/\.[\*/\\^']): New pattern to force expressions like `1./m' - to be parsed the same as `1 ./ m'. - - * src/tree-expr.cc (do_lookup): Correctly set script_file_executed. - - * src/octave.cc (long_opts): Add --silent as an alias for --quiet, - and --ignore-init-file as an alias for --norc. - - * src/octave.cc (verbose_usage): Exit successfully to conform to - the GNU coding standards. - -Sat Aug 13 11:06:23 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/dirfns.cc (chdir): New alias for cd. - - * src/lex.l (")"): Set convert_spaces_to_comma. - - * src/*.cc: Use tree_constant::is_string(), not - tree_constant::is_string_type(). - - * src/f-balance.cc (Fbalance): Use is_string() rather than - checking const_type() against tree_constant_rep::string_constant. - - * src/tc-rep.h (tree_constant_rep::is_string_type): Delete. - * src/tree-const.h (tree_constant::is_string_type): Delete. - - * src/Makefile.in (%.def : %.cc): Complain if generated file is - empty. - - * configure.in (gcc_version): Set LDFLAGS to -g, not "-g -O". - - * src/lex.l (looks_like_bin_op): Also return true for things like - [ 1+ 2 ]. - - * src/data.cc (Feye, Fones): With no args, return 1.0. - (Fzeros): With no args, return 0.0. - - * src/Makefile.in (XALL_CXXFLAGS): ALL_CXXFLAGS without - -fextternal-templates. - (%.def : %.cc): Use it instead of ALL_CXXFLAGS. - - * configure.in: Don't use -O for compiling float-type.c. - - * libcruft/misc/Makefile.in (XCC): Use patsubst to delete any -O# - flags, not just -O. - -Fri Aug 12 18:20:35 1994 John Eaton (jwe@schoch.che.utexas.edu) - - Changes for binary load/save, and reading .mat files: - - * src/variables.cc (is_globally_visible): Declare extern, not - static. - - * src/user-prefs.cc (sv_default_save_format): New function. - * src/user-prefs.h (default_save_format): New field in - user_preferences struct. - src/variables.cc (install_builtin_variables): Add DEFVAR for - default_save_format. - - * src/tc-rep.h (tree_constant_rep::is_unknown, - tree_constant_rep::is_scalar, tree_constant_rep::is_matrix, - tree_constant_rep::is_complex_scalar, - tree_constant_rep::is_complex_matrix, - tree_constant_rep::is_string, tree_constant_rep::is_range): - New functions. - - * src/tree-const.h (tree_constant::is_unknown, - tree_constant::is_scalar, tree_constant::is_matrix, - tree_constant::is_complex_scalar, tree_constant::is_complex_matrix, - tree_constant::is_string, tree_constant::is_range): - New functions. - - * src/tc-rep.cc (tree_constant_rep::save, - tree_constant_rep::save_three_d): Move to load-save.cc and convert - to nonmember functions. - - * src/tree-const.h (tree_constant::save, - tree_constant::save_three_d): Delete functions. - - * src/tree-plot.cc (save_in_tmp_file): Call nonmember functions - save_ascii_file and save_three_d instead of tree_constant class - member functions. - - * src/symtab.cc (symbol_table::glob): New function. - (symbol_table::save, symbol_record::save, symbol_def::save): - Delete unneeded functions. - - * src/load-save.cc: New file, for load/save related functions - extracted from src/variables.cc and src/tc-rep.cc. - - * src/error.cc (verror): Don't print name if it is null. - -Tue Aug 9 14:31:43 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/file-io.cc (process_printf_format): Use - tree_constant::is_scalar_type() and is_string_type() functions - instead of comparing directly with elements of the - tree_constant_rep::constant_type enum. - * src/variables.cc (builtin_real_scalar_variable): Likewise. - (install_loaded_variable): Likewise. - - * src/tree-plot.cc (open_plot_stream): New function. - (send_to_plot_stream): Use it. Do our own check for replot with - nothing to plot. - (tree_plot_command::eval): Open plot stream before doing anything. - - * src/data.cc (check_dimensions): When changing negative - dimensions to zero, handle nr and nc separately. - -Mon Aug 8 20:18:17 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * variables.cc (is_valid_fcn): Use lookup_by_name() instead of - looking in the global symbol table directly. - - * variables.cc (load_variable): Move code here. - * src/tc-rep.cc (tree_constant_rep::load): From here. - * src/tree-const.h (tree_constant::load): Delete. - - * src/tree-plot.cc: Derive classes from tree_print_code and - implement print_code() member functions. - - * src/tree-plot.cc (subplot_list::print): New function. - (tree_plot_command::print): Use it, and don't crash if plot_list - is null. - - * scripts/axis.m: New function file. - -Sun Aug 7 17:06:16 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check for size of short, int, and long. - - * float-type.c: New file. - * configure.in: Use it to determine the native floating point - format. - * Makefile.in: Add it to the list of files to distribute. - * acconfig.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN, VAX_D_FLOAT, - VAX_G_FLOAT): Add #undefs. - -Sat Aug 6 18:23:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * config.guess: Update with new copy from gcc 2.6.0. - - * src/*.cc, src/*.h, src/*.l, src/*.y: Eliminate need for tree.h. - * src/Makefile.in (INCLUDES): Delete it from the list. - - * src/token.cc (token::token (double)): Handle saving original - text of constants for later use by print_code() functions. - (token::~token): Delete original text. - (token::text_rep): New function. - * src/lex.l: Save original text for NUM and IMAG_NUM tokens. - * src/parse.y: Likewise. - - * src/parse.y (yyerror): Use the pager. - - * src/tree-base.h (tree_print_code): New base class for trees and - lists of trees. - (tree): Derive from tree_print_code. - * src/tree-base.cc: New file, for tree_print_code functions, and - for initializing tree_print_code static members. - * src/tree-const.cc, src/tc-rep.cc, src/tree-plot.cc, - src/tree-expr.cc, src/tree-cmd.cc (all tree classes): - Provide print_code() member function. - * src/tree-misc.cc: Also derive list classes from tree-base.h and - provide print_code() member functions. - - * src/help.cc (Ftype, Fwhich): New functions. - - * src/octave-hist (do_history): Send history output through the - pager. - - * src/variables.cc (do_who, Fwhos): New functions. - - * src/tree-expr.h (tree_expression::in_parens): Declare here. - (tree_simple_assignment_expression::in_parens): Not here. - * src/parse.y (maybe_warn_assign_as_truth_value): Eliminate cast. - - * src/variables.cc (load_fcn_from_file, lookup, lookup_by_name): - New functions, extracted from tree_identifier class. - (gobble_leading_whitespace, is_function_file, parse_fcn_file): - Move here from tree-expr.cc. - * src/help.cc (Fhelp): Use lookup_by_name so that looking up - symbols is handled in a consistent way. - - * tree-expr.cc (tree_unary_expression::oper, - tree_binary_expression::oper, tree_prefix_expression::oper, - tree_postfix_expression::oper): New functions. - - * tc-rep.cc (valid_scalar_indices): Define here. - * tc-inlines.cc: Not here. - - * src/tree-const.h (tree_constant::stash_original_text): New - function. - * src/tc-rep.cc (tree_constant_rep::stash_original_text): Ditto. - (undo_string_escapes): Ditto. - - * src/tc-rep (tree_constant_rep::do_matrix_index): Don't just - return *this. - * src/tree-const.h (tree_constant::tree_constant (tree_constant_re&)): - Delete. - - * src/pager.cc (open_diary_file, close_diary_file, - maybe_write_to_diary_file, Fdiary): New functions. - (flush_output_to_pager): Call maybe_write_to_diary_file before - sending output to the screen. - * src/input.cc (octave_gets): Call maybe_write_to_diary file to - save the prompt and the user input. - * src/error.cc (verror): Use C++ streams, not C I/O functions. - Call maybe_write_to_diary file to save error messges too. - * src/octave.cc (clean_up_and_exit): Close diary file here. - - * src/octave.cc (main): Initialize pager first. - - * src/input.cc (get_user_input): Return empty matrix for no input. - - * src/tree-plot.cc: Include readline/tilde.h instead of declaring - tilde_expand() directly. - * src/utils.cc: Likewise. - - * src/tree-plot.cc (tree_plot_command::print_code): New function. - * src/tree-const.h (tree_constant::print_code): Likewise. - - * src/tree-expr.h (tree_simple_assignment_expression::ans_ass): - New data member to flag assignments to ans. - * src/tree-expr.cc (tree_identifier::eval): Set it when - constructing assignments to ans. - * src/parse.y (maybe_convert_to_ans_assign): Likewise. - - * src/tree-expr.h (tree_simple_assignment_expression::preserve): - New data member to allow preserving left hand side args that - shouldn't be deleted in some cases (ugh). - * src/tree-expr.cc (tree_multi_assignment_expression::eval): - Create assignment with preserve flag set. - -Wed Aug 3 14:27:25 1994 John Eaton (jwe@schoch.che.utexas.edu) - - Yet another massive reorganization of sources, once again - hopefully for the better. A fair amount of work is not detailed - here, but these are the major points. The grammar file and the - derivation of the tree classes are somewhat cleaner now. - - * src/parse.y: Cope with changes to derivation scheme. - - * src/tree-misc.cc: New file. - (tree_statement, tree_global): New classes. - (tree_global_init_list): New class, derived from SLList for the - list of expressions in a global command. - * src/tree-cmd.cc (tree_global_command): Use tree_global_init_list. - - * src/tree-misc.cc (tree_argument_list): Move here from - tree-expr.cc, and derive from SLList instead of tree. - (tree_parameter_list): Likewise. - (tree_return_list): Likewise. - - * src/tree-cmd.cc (tree_command_list): Delete class. - * src/tree-misc.cc (tree_statement_list): New class for keeping a - list of commands or expressions to evaluate. Derive from SLList, - not tree. - - * src/tree-plot.cc (subplot_list, plot_limits, plot_range, - subplot_using, subplot_style): Rename from tree_*, and - don't derive from tree class. - - * src/tree-plot.cc: Eliminate eval member function for classes not - derived from tree class. - - * src/tree-plot.cc, src/tree-cmd.cc: For classes derived from - tree-command, the eval() member function is now void eval (void). - - * src/tree-base.h (tree::tree): New constructor, to initialize the - line and column info. For all classes that are derived from the - tree class, use it instead of manipulating the data directly. - (line_num, column_num): Make private. - - * src/tree-expr.cc (tree_simple_assignment_expression::preserve): - New data member, set in constructors and used by the destructor - when the left-hand side of the expression should not be deleted - (as for some temporary assignments not constructed in the parser). - - * src/tree-expr.h (tree_expression::type) Rename and move here from - tree-base.h. Change all uses. - (tree_matrix::dir): Likewise. Change all uses. - - * src/utils.cc (make_argv): Stash function name in argv[0]. - - * src/octave.cc (global_command): Declare as tree_statement_list, - not tree. - - * src/parse.y (make_binary_op, make_unary_op, make_prefix_op, - make_postfix_op): New functions. - - * src/parse.y (GLOBAL): Make it a tok_val type. - * src/lex.l (is_keyword): Give GLOBAL a value. - -Mon Aug 1 22:37:22 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.l (grab_help_text): Unput the last character read. - -Sun Jul 31 21:17:07 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/pr-output.cc (set_format (double, int&)): Avoid calling - log10 for Inf and NaN. - -Fri Jul 29 16:08:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/octave.cc (reading_startup_message_printed): New flag. - (parse_and_execute): New arg, verbose. If true, print name of - file as it is read. - (execute_startup_files): Don't print message if - inhibit_startup_message is true. - (main): Move startup message before reading init files. - -Thu Jul 28 00:25:42 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Makefile.in (MATRIX_INC): Delete CmplxColVec.h from list. - - * src/symtab.cc (symbol_table::rename): New function. - * src/parse.y (func_def2): Use it instead of tree_identifier::rename. - * src/tree-expr.cc (tree_identifier::rename): Delete unused function. - - * src/tree-expr.cc (tree_identifier::load_fcn_from_file): New function. - (tree_identifier::do_lookup): Use it instead of parse_fcn_file. - * src/variables.cc (is_valid_function): Ditto. - * src/help.cc (Fhelp): Ditto. - - * src/utils.cc (oct_file_in_path): New function. - -Wed Jul 27 08:59:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-expr.cc (tree_identifier::parse_fcn_file): Combine - three functions into one. - - * src/utils.cc: Delete uneeded declaration of ioctl(). - * src/sysdep.cc: Likewise. - - * install.sh: New file, from autoconf distribution. - * Makefile.in (DISTFILES): Distribute it. - -Tue Jul 26 16:08:58 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/Makefile.in (DISTDIRS): New variable, for directories - below scripts to distribute. - (dist): Handle distributing whole directories named by $(DISTDIRS). - (local-dist): Ditto. - -Mon Jul 25 12:57:09 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/CmplxQRP.cc: Provide declaration for zungqr. - * liboctave/dbleQRP.cc: Provide declaration for dorgqr. - - * src/Makefile.in (dist): Also remove y.output and defaults.h. - (local-dist): Ditto. - (realclean): Ditto. - - * src/oct-obj.h (Octave_object::Octave_object (int)): Make - private, to avoid problems with different meanings of - Octave_object (int) and Octave_object (double) constructors. - - * scripts/amr-image: New files for image processing from Tony - Richardson. These are not in the default octave LOADPATH yet. - See the README file in the amr-image directory for more info on - how to use them. - - * src/octave.cc (Fshell_cmd): Restore accidentally deleted - function. - - * scripts/conv-amr.m, scripts/deconv-amr.m, scripts/roots-amr.m, - scripts/poly-amr.m, scripts/roots-tuwien.m, scripts/conv-tuwien.m, - scripts/deconv-tuwien.m, scripts/poly-tuwien.m: - New files. - FIXME -- For each of these functions, either one of the - versions will need to be selected, or they will need to be merged - before the next release. - - * scripts/null.m, scripts/orth.m, scripts/fft2.m, scripts/ifft2.m, - scripts/filter.m, scripts/compan.m, scripts/polyderiv.m, - scripts/polyinteg.m, scripts/polyreduce.m, scripts/polyval.m, - scripts/polyvalm.m, scripts/postpad.m, scripts/prepad.m, - scripts/residue.m, scripts/sinc.m, scripts/freqz.m, - scripts/complement.m, scripts/intersection.m, - scripts/create_set.m, scripts/union.m: - New files. - - * scripts/hilb.m: Eliminate inner loop, for speed. From - romolo@URSAMAJOR.ENG.UNIPR.IT (Romolo Manfredini). - -Sun Jul 24 22:08:48 1994 Castor Fu (castor@drizzle.stanford.edu) - - * libcruft/ranlib/genf.f (genf): Use 1.2E-38 instead of 1.0E-38 - when checking to see if generated numbers will cause overflow. - This helps DEC's f77 compiler on the Alpha, which refuses to - generate denormalized constants. - * libcruft/ranlib/gennf.f (gennf): Likewise. - -Fri Jul 22 10:27:00 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/Makefile.in (DEF_FILES): Depend on defun header files too. - -Thu Jul 21 14:40:30 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/NLFunc.h (nonlinear_fcn): Declare as pointer to - function taking const ColumnVector arg. - (jacobian_fcn): Ditto. - - * src/defun-int.h (DEFINE_ARGV): Declare and define save_argc and - save_argv for functions that mess with argc and argv directly. - (DELETE_ARGV): Use save_argc and save_argv instead of argc and argv. - - * src/f-lsode.cc (ODE_OPTIONS): Add const qualifier for string elts. - (print_lsode_option_list): Declare keyword as const char *. - * src/f-npsol.cc, src/f-qpsol.cc, src/f-dassl.cc, src/f-quad.cc: - Likewise, for corresponding structs and functions. - - * liboctave/dbleSVD.h (SVD::type): New enum, for choosing type of - factorization. - * liboctave/CmplxSVD.cc (SVD::SVD): Add new optional arg for type. - (init): Handle case of type == SVD::economy. - * liboctave/dbleSVD.cc: Likewise. - - QR changes from R. Bruce Tenison (btenison@eng.auburn.edu) adapted - for new way of defining builtin functions: - - * doc/linalg.texi: Changed QR description to include QRP - factorization - - * src/f-qr.cc (Fqr): Handle permuted and economy QR - factorizations. Handle case of 1 output arg. - - * liboctave/Makefile.in (MATRIX_INC, MATRIX_SRC): Add new QRP files. - - * liboctave/dbleQRP.h, liboctave/dbleQRP.cc, liboctave/CmplxQRP.h, - liboctave/CmplxQRP.h: New files, for QR with pivoting. - - * liboctave/dbleQR.h (QR::type): New enum, for choosing type of - factorization. - * liboctave/CmplxQR.cc (QR): Add new optional arg for type. - Handle case of type == SVD::economy and SVD::raw. - * liboctave/dbleQR.cc (QR): Likewise. - - * libcruft/lapack/dgeqpf.f: New file. - * libcruft/lapack/zgeqpf.f: Ditto. - -Wed Jul 20 13:12:55 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/*.cc, liboctave/*.h: Various cleanups to remove use of - NULL. Only mention default argument values in function - declarations, not in their definitions (required for gcc 2.6.x). - - * configure.in: If configuring for alpha-dec-osf, check for sgtty - first. If not found, go ahead and check for Posix terminal driver. - -Tue Jul 19 09:25:45 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/mx-defs.h (FILE): Don't declare as struct FILE just to - avoid including stdio.h. - * liboctave/dMatrix.cc: Do include stdio.h here. - - * liboctave matrix classes: Declare operator>> correctly, and - return istream object. Get friend stuff right. - - * liboctave/DAE.cc (DAE::integrate): To see if the user provided a - Jacobian function, call DAEFunc::jacobian_function (). - - * liboctave/DAE.cc (user_fun, user_jac): Qualify with class name. - * liboctave/ODE.cc (user_fun, user_jac): Ditto. - - * liboctave/DAFunc.h (DAEJac): Declare inside class. - (DAERHSFunc, DAEJacFunc): Define types inside class. - * liboctave/ODEFunc.h (ODERHSFunc, ODEJacFunc) Likewise. - - Massive reorganization of sources, hopefully for the better. - A fair amount of work is not detailed here, but these are the - major points... - - * src/symtab.h (symbol_def::TYPE) Add new elements for recording - whether a symbol is a text function or mapper function. - * src/symtab.cc (symbol_def::is_text_function, - symbol_record::is_text_function, symbol_def::is_mapper_function, - symbol_record::is_mapper_function): New functions. - Modify existing is_* functions to cope with these changes. - (symbol_def::symbol_def (tree_builtin*, unsigned)): New 2nd arg. - (symbol_def::symbol_def (tree_function*, unsigned)): Ditto - (symbol_def::define (tree_builtin*, unsigned)): Ditto. - (symbol_def::define (tree_function*, unsigned)): Ditto. - * src/variables.cc (is_text_function_name): Use the new symbol - table functions, since we can no longer tell by looking in a - simple list. - - * tree-expr.cc (class tree_builtin): Text functions are no longer - handled as a special case here. - - * src/sysdep.cc (octave_ieee_init): Special case Alpha for - initializing Inf and NaN. - - * src/tc-rep.cc: Use const in more places. - - * src/data.cc src/timefns.cc, src/dirfns.cc, src/dirfns.h: New - files. - - * src/*.cc, src/*.y, src/*.l, src/*.h: Various cleanups to remove - use of NULL. Only mention default argument values in function - declarations, not in their definitions (required for gcc 2.6.x). - - * src/g-builtins.cc, src/g-builtins.h, src/t-builtins.cc - src/t-builtins.h: Removed. Functions moved to various other - files, where they more logically belong. - * src/utils.cc: Likewise, various functions moved to other files, - where they more logically belong. - * src/mappers.cc (install_mapper_functions): Declare all mapper - functions here with the new DEFUN_MAPPER() macro. - * src/variables.cc (install_builtin_variables): Declare all - builtin variables here, with the new DEFVAR() macro. - - * src/f-*.h: Deleted. - * src/f-*.cc: Delete #ifdef WITH_DLD code and use DEFUN_DLD() - instead to declare builtin functions that will be dynamically - loaded. Give all functions a uniform return type and argument - list. - - * src/mkdefs, src/mkbuiltins: New scripts. - * src/Makefile.in: Use them to generate builtins.cc automatically - from source files that use DEFUN. - - * src/defun.h, src/defun-dld.h, src/defun-int.h: New files, to - define DEFUN() and DEFVAR() macros to make it possible to define - functions together with their help strings in one place. The code - to install functions in the symbol table is now generated by - mkbuiltins. - - * configure.in (LIBOCTDLD): New variable to define. - Only call AC_VERBOSE() for DYNAMIC_LD_OBJ, DLD_DIR, LIBDLD, - LIBOCTDLD, and LD_STATIC_FLAG if they are set. - * move-if-change: Move here, from src/move-if-change. - * Makeconf.in (%.d: %.cc): Echo simple message instead of the - commands actually executed. - (%.d: %.c): Likewise. - - * src/unwind-prot.h: Include stddef.h, for size_t. - -Tue Jul 12 12:51:25 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/f-eval.cc, src/f-fill.cc, src/f-find.cc, src/f-input.cc, - src/f-minmax.cc, src/f-log.cc, src/f-sort.cc, src/f-eval.h, - src/f-fill.h, src/f-find.h, src/f-input.h, src/f-log.h, - src/f-minmax.h, src/f-sort.h: New files, for functions extracted - from tree-const.cc. - * src/Makefile.in: Add them to the list of INCLUDES, SOURCES, and - OBJECTS. - - * src/f-*.cc: Clean up things a bit by letting the compiler - generate the tree_constant constructor calls. - - * src/unwind-prot.h: Include stddef.h, for size_t. - - * src/oct-obj.h (Octave_object (int, const tree_constant&)): - New constructor form. - * src/tree-const.cc (find_nonzero_elem_idx): Rewrite to handle 2 - and 3 return values. - - * src/g-builtins.cc (builtin_find): Check nargout too. - * src/builtins.cc (general_functions): Fix help message for find. - -Mon Jul 11 13:36:15 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-rep.cc (tree_constant_rep::convert_to_row_or_column_vector): - If already have a row or column vector, return without doing - anything. - -Sat Jul 9 01:02:51 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/oct-obj.h (Octave_object): Make it a class, not just a - typedef. - - * src/tree-expr.h (tree_function::curr_va_arg_number): Rename from - curr_arg_number. - (tree_function::varargs_ok): Delete unused member variable. - * src/tree-expr.cc (tree_function::octave_va_arg): Increment - cur_va_arg_number before indexing args_passed. - (tree_function::octave_va_start): Set curr_va_arg_number to - num_args_passed, not num_args_passed + 1. - (tree_function::takes_varargs): Call param_list::takes_varargs, - don't just return varargs_ok. - (tree_function::define_param_list): If param_list is not NULL, set - num_named_args and curr_va_arg_number even if function doesn't - take varargs. - - * src/tree-expr.cc (tree_identifier::eval (int)): Only pass empty - arg list if evaluating a constant. - (tree_function::eval (int)): Always pass least one arg. - - * Makeconf.in (TMP_IF_1): Add `-I../src'. - (TMP_IF_2): Add `-I$(TOPDIR)/src' and `-I$(top_srcdir)/src'. - - * src/t-builtins.h, src/variables.h, src/file-io.h, src/f-syl.h, - src/f-svd.h, src/f-schur.h, src/f-rand.h, src/f-qzval.h, - src/f-quad.h, src/f-qpsol.h, src/f-npsol.h, src/f-lsode.h, - src/f-lpsolve.h, src/f-hess.h, src/f-givens.h, src/f-fsqp.h, - src/f-fsolve.h, src/f-eig.h, src/f-dassl.h, src/f-colloc.h, - src/f-balance.h, src/dynamic-ld.h, src/builtins.cc, - src/tree-const.cc, src/file-io.cc, src/f-syl.cc, src/f-svd.cc, - src/f-schur.cc, src/f-rand.cc, src/f-qzval.cc, src/f-qr.cc, - src/f-qpsol.cc, src/f-lu.cc, src/f-lpsolve.cc, src/f-inv.cc, - src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, - src/f-fft.cc, src/f-expm.cc, src/f-eig.cc, src/f-det.cc, - src/f-colloc.cc, src/f-chol.cc, src/f-balance.cc, - src/dynamic-ld.cc, src/f-dassl.cc, src/f-fsolve.cc, - src/f-lsode.cc, src/f-npsol.cc, src/f-quad.cc, src/tree-expr.h, - src/tc-rep.cc, src/tc-inlines.cc, src/tc-rep.h, src/tree-const.h, - src/g-builtins.cc, src/g-builtins.h, src/tree-expr.cc, - src/variables.cc: Delete nargin in favor of using args.length(). - - * configure.in: Check for struct exception in math.h. - * src/sysdep.cc (matherr): New function. - -Fri Jul 8 15:31:53 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-rep.cc: Include arith-ops.h. - (tree_constant_rep::do_scalar_index): Use `invalid', not `illegal' - in messages. - - * src/oct-obj.h: Protect contents from multiple inclusion. - - * src/tree-const.h, src/tree-expr.h: Don't include Array.h. - - * src/parse.y (param_list): Allow ELLIPSIS by itself. - * src/tree-expr.cc (tree_identifier::mark_varargs_only, - tree_identifier::vararg_only): New functions. - (tree_function::eval): Only call define_from_arg_vector if - param_list is non-null and not marked as varargs_only. - - * src/f-balance.h, src/f-chol.h, src/f-colloc.h, src/f-dassl.h, - src/f-eig.h, src/f-fsolve.h, src/f-fsqp.h, src/f-givens.h, - src/f-hess.h, src/f-lpsolve.h, src/f-lsode.h, src/f-lu.h, - src/f-npsol.h, src/f-qpsol.h, src/f-qr.h, src/f-quad.h, - src/f-qzval.h, src/f-rand.h, src/f-schur.h, src/f-svd.h, - src/f-syl.h: Include oct-obj.h, not tree-const.h to get - declaration of Octave_object. - - * src/f-givens.cc (givens): Handle case of nargout == 0. - Use `invalid', not `illegal' in messages. - * src/f-balance.cc (balance): Likewise. - - * src/f-balance.cc (balance): Print warning about two output - arguments for complex-valued case too. - - * src/tc-rep.cc: Include arith-ops.h. - -Thu Jul 7 20:54:12 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/parse.y (identifier): Add missing semicolon. - (param_list): Ditto. - - * src/f-svd.cc (svd): Handle nargout == 0 the same as nargout == 1. - * src/f-schur.cc (schur): Likewise. - * src/f-hess.cc (hess): Likewise. - * src/f-eig.cc (eig): Likewise. - * src/f-syl.cc (syl): Likewise. - * src/f-qzval.cc (qzvalue): Likewise. - * src/f-npsol.cc (npsol): Likewise. - * src/f-qpsol.cc (qpsol): Likewise. - * src/f-givens.cc (givens): Likewise. - * src/f-fsolve.cc (fsolve): Likewise. - * src/f-balance.cc (balance): Likewise. - * src/file-io.cc (process_scanf_format): Likewise. - * src/g-builtins.cc (builtin_balance, builtin_chol, builtin_dassl, - builtin_eig, builtin_fsolve, builtin_fsqp, builtin_lsode, - builtin_max, builtin_min, builtin_npsol, builtin_qpsol, - builtin_quad, builtin_rand, builtin_size, builtin_sort, - builtin_svd, builtin_schur, builtin_syl, builtin_givens, - builtin_hess): Likewise. - * src/tree-const.cc (vector_of_empties, column_max, column_min): - Likewise. - - * src/variables.h, src/symtab.h: Include builtins.h for typedefs. - - * src/tree-expr.cc(tree_multi_assignment_expression::eval): Rework - handling of undefined values returned from functions. - - * src/tree-expr.cc (tree_identifier::is_defined): New function. - (tree_parameter_list::is_defined): New function. - (tree_parameter_list::convert_to_const_vector): Use it to avoid - evaluating undefined objects. - - * src/f-balance.cc, src/f-eig.h, src/f-hess.cc, src/f-lu.h, - src/f-rand.cc, src/f-balance.h, src/f-expm.cc, src/f-hess.h, - src/f-npsol.cc, src/f-rand.h, src/f-chol.cc, src/f-expm.h, - src/f-ifft.cc, src/f-npsol.h, src/f-schur.cc, src/f-chol.h, - src/f-fft.cc, src/f-ifft.h, src/f-qpsol.cc, src/f-schur.h, - src/f-colloc.cc, src/f-fft.h, src/f-inv.cc, src/f-qpsol.h, - src/f-svd.cc, src/f-colloc.h, src/f-fsolve.cc, src/f-inv.h, - src/f-qr.cc, src/f-svd.h, src/f-dassl.cc, src/f-fsolve.h, - src/f-lpsolve.cc, src/f-qr.h, src/f-syl.cc, src/f-dassl.h, - src/f-fsqp.cc, src/f-lpsolve.h, src/f-quad.cc, src/f-syl.h, - src/f-det.cc, src/f-fsqp.h, src/f-lsode.cc, src/f-quad.h, - src/f-det.h, src/f-givens.cc, src/f-lsode.h, src/f-qzval.cc, - src/f-eig.cc, src/f-givens.h, src/f-lu.cc, src/f-qzval.h, - src/dynamic-ld.cc, src/dynamic-ld.h, src/file-io.cc, - src/file-io.h, src/t-biultins.cc, src/t-builtins.h, - src/tree-expr.cc, src/tree-expr.h, src/tree-const.cc, - src/tree-const.h, src/tc-inlines.cc, src/tc-rep.cc, src/tc-rep.h, - src/g-builtins.cc, src/g-builtins.h: - Cope with inital round of Octave_object changes. - - * src/oct-obj.h: New file for Octave_object typedef. - * src/dynamic-ld.h, src/file-io.h, src/tree-const.h, - src/tree-expr.h: Include it. - * src/Makefile.in (INCLUDES): Add it to the list. - -Wed Jul 6 09:28:28 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * libocsrc/tree-const.h: - - * src/parse.y (maybe_convert_to_ans_assign, - maybe_warn_assign_as_truth_value): Pass tree_expression*, not tree*. - (ans_expression, expression, simple_expr, simple_expr1, title): - Declare as tree_expression_type, not tree_type. - (opt_list): Add missing semicolon. - - * src/tc-rep.h, src/tc-rep.cc: New files, extracted from - tree-const.h and tree-const.cc, for the tree_constant_rep class. - Leave most friend functions behind, in tree-const.h. - Don't declare do_binary_op or do_unary_op as friends. - - * src/lex.l: Include tree-plot.h and tree-const.h. - - * src/variables.cc (takes_correct_nargs): Pass tree_fvc* not tree*. - * src/variables.cc (is_valid_function): Return tree_fvc* not tree*. - Change all callers. - - * src/symtab.h, symtab.cc: Change declaration of symbol definition to - be tree_fvc* instead of tree*. Change all callers. - - * src/f-dassl.cc (dassl_fcn): Declare as tree_fvc*, not tree*. - * src/f-quad.cc (quad_fcn): Likewise. - * src/f-lsode.cc (lsode_fcn): Likewise. - * src/f-fsolve.cc (fsolve_fcn): Likewise. - * src/f-npsol.cc (npsol_fcn, npsol_constraints): Likewise. - - * src/tree-plot.cc: All operations are now on tree_expression types, - not tree types. - - * src/tree-expr.h (tree_matrix): Derive from tree_expression, not tree. - - * src/tree-expr.h (tree_builtin, tree_function, tree_identifier): - Derive from tree_fvc, not tree. - * src/tree-const.h (class tree_constant): Likewise. - - * src/tree-expr.h (is_identifier, is_index_expression, - is_assignment_expression, is_prefix_expression, - mark_for_possible_ans_assign, eval (with args)): Declare in - tree_expression class, not tree class. - - * src/tree-expr.h (tree_fvc): New class, derived from - tree_expression, to provide a connection between functions, - variables, and constants. - (is_constant, assign, name, bump_value, max_expected_args, - fcn_file_name, time_parsed, is_system_fcn_file, save): Declare - in tree_fvc class, not in tree class. - - * src/tree.h: Simply include tree-expr.h and tree-cmd.h. - * src/tree-expr.h, tree-expr.cc: New files, extracted from tree.h - and tree.cc for classes derived from tree_expression, plus some - helper classes. - * src/tree-cmd.h, tree-cmd.cc: Likewise, for classes derived from - tree_command. - - * src/tree.cc (eval (int, int)): Merge with eval (int, - tree_constant*, int, int) by rearranging order of args and using - default arg values. Change all callers. - -Tue Jul 5 14:33:33 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * doc/Makefile.in (refcard.dvi): Run TeX on $(srcdir)/refcard.tex, - not just refcard.tex. - (refcard-local.tex): Likewise, for the local version. - - * src/tree-const.cc (tree_constant_rep::do_index): Check for empty - matrix here. - (tree_constant_rep::do_vector_index) Not here. - -Thu Jun 30 09:41:03 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc (builtin_shell_command): Only take one - argument and return [status, output]. - * src/procstream.cc (procstreambase::close): Return process exit - status. - - * src/tree.cc (tree_builtin::eval (int)): Handle new style of - calling text functions. - (tree_builtin::eval (int, int): Likewise. - (tree_builtin::eval (tree_constant*, int, int, int): Likewise. - (tree_identifier::eval (tree_constant*, int, int, int)): Don't - count the output arguments that we create automatically (ans) when - figuring nargout. - (tree_identifier::eval (int)): Likewise. - - * src/tree-const.cc: Delete text-style eval() functions. - * src/tree.cc: Ditto. - - * src/tree-const.h: Change typedef of Text_fcn to return a pointer - to a tree_constant, and to include the number of output arguments - in the parameter list. - * src/t-builtins.h: Change declarations of all builtin text-style - functions to match. - * src/t-builtins.cc: Change definitions too. - - * src/parse.y (word_list): Build an argument_list, not a word_list. - (word_list_command): Create an index_expression, not a - word_list_command. - * src/tree.cc (tree_word_list): Delete unneeded class. - (tree_word_list_command): Likewise. - - * src/tc-extras.cc (get_dimensions): For one-arg version, expect - 2-element vector or scalar specifying dimensions. Don't simply - use the dimensions of a matrix arg. - -Wed Jun 29 09:52:15 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/f-det.cc (determinant): Return 0 if matrix is singular to - machine precision. - - * liboctave/dMatrix.cc (Matrix::inverse): Declare rcond as - volatile to prevent optimization of the expression - `rcond + 1.0 == 1.0'. - (Matrix::determinant): Ditto. - (Matrix::solve): Ditto. - * liboctave/CMatrix.cc (ComplexMatrix::inverse): Ditto. - (ComplexMatrix::determinant): Ditto. - (ComplexMatrix::solve): Ditto. - -Tue Jun 28 10:53:31 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc (default_info_file): Add directory separator when - appending "octave.info". - - * src/tree-plot.cc (plot_line_count): Make global. - * src/utils.cc (send_to_plot_stream): If the plot stream is not - open, set plot_line_count to zero. - (close_plot_stream): Likewise, set it to zero when closing the - stream. - - * src/parse.y (plot_command): Allow replot without args. - - * src/tree-plot.cc (clear_before_plotting): New global variable. - (tree_plot_command::eval): Use it to handle hold on/off. - * src/t-builtins.cc (builtin_hold): New function. - * src/builtins.cc (text_functions): Add it to the list. - -Fri Jun 24 11:08:36 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/token.h (plot_tok_type): Add new field, replot. - * src/lex.l (is_keyword): Handle replot here. - * src/parse.y (plot_command): And here. - * src/g-builtins.cc (builtin_replot): Not here. - * src/builtins.cc (general_functions): Or here. - -Tue Jun 21 10:47:08 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc (builtin_kbhit): New function. - * src/builtins.cc (general_functions): Add it to the list. - - * src/tree-const.cc (tree_constant_rep::rows (void)): For strings - and ranges, only return 1 if the string or range is not empty. - -Thu Jun 9 20:42:06 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_builtin::eval (int)): Delete ancient code that - eval()'d the return value. - (tree_builtin::eval (int, int)): Likewise. - (tree_builtin::eval (int, char**, int)): Likewise. - (tree_builtin::eval (tree_constant*, int, int, int)): Likewise. - (tree_function::eval (tree_constant*, int, int, int)): Likewise. - (tree_colon_expression::eval (int)): Likewise. - (tree_unary_expression::eval (int)): Likewise. - (tree_binary_expression::eval (int)): Likewise. - -Mon Jun 6 03:48:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/file-io.cc (fread_internal): Make it work. - (fwrite_internal): Likewise. - (num_items_remaining): Renamed from get_whats_left(). Don't pass - nr/nc as last arg, simply return the number of items of size that - are left to read. - (get_size_conv): Delete unnecessary function. - * liboctave/dMatrix.cc (Matrix::read): Make it work. - (Matrix::write): Likewise. - * liboctave/dMatrix.h (conversion): Delete unecessary enum. - - * src/sysdep.cc: Include . - (octave_ieee_init): Cast return value of infinity() and - quiet_nan() to double. - -Sun Jun 5 14:35:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Makeconf.in (getversion): Get everything between the double - quotes, not just numbers and periods. - - * src/tree-const.cc (tree_constant_rep::do_scalar_assignment): Correct - typo in last change. - - * src/parse.y: Include tree-plot.h and tree-const.h. - - * src/Makefile.in (SOURCES): Delete tc-assign.cc and tc-index.cc - (INCLUDES): Add tree-plot.h. - - * src/tree-plot.h: New file. Declare plotting classes here. - * src/tree.h: Not here. - - * src/tc-index.cc, tc-assign.cc: Delete unnecessary files. - - * src/tc-extras.cc: Include EIG.h - - * src/tree-const.cc (tree_constant_rep::tree_constant_rep (RowVector&, - int)): Provide default value for int arg. - (tree_constant_rep::tree_constant_rep (ColumnwVector&, int)): Ditto - (tree_constant_rep::tree_constant_rep (ComplexRowVector&, int)): Ditto - (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&, int)): - Ditto. - (tree_constant_rep::tree_constant_rep (RowVector&)): Delete, now - handled by corresponding two arg constructor. - (tree_constant_rep::tree_constant_rep (ColumnwVector&)): Likewise. - (tree_constant_rep::tree_constant_rep (ComplexRowVector&)): Likewise. - (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&)): - Likewise. - - * src/tree-const.cc: Add pragma implementation. Merge in contents of - tc-index.cc and tc-assign.cc so that the pragma interface/pragma - implementation hack will do some good. - * src/tree-const.h: Include mx-base.h, not Matrix.h. Add pragma - interface. Delete unnecessary constructor declarations. - - * src/unwind-prot.h, src/unwind-prot.cc (unwind_elem_tag): Rename - from _tag. - (unwind_elem_fptr): Rename from _fptr. - (unwind_elem_ptr): Rename from _ptr. - - * NLConst.cc (NLConst::NLConst): Pass vector args by reference. - - * src/procstream.h, src/procstream.cc, src/idx-vector.h, - src/idx-vector.cc, src/token.h, src/token.cc, src/unwind-prot.h, - src/unwind-prot.cc, src/symtab.h, src/symtab.cc, src/tree.h, - src/tree.cc, liboctave/Range.h, liboctave/Range.cc, - liboctave/QLD.h, liboctave/QLD.cc, liboctave/ODE.h, - liboctave/ODE.cc, liboctave/Quad.h, liboctave/Quad.cc, - liboctave/Objective.h, liboctave/Objective.cc, liboctave/NPSOL.h, - liboctave/NPSOl.cc, liboctave/NLFunc.h, liboctave/NLFunc.cc, - liboctave/Bounds.h, liboctave/Bounds.cc, liboctave/QP.h, - liboctave/QP.cc, liboctave/NLConst.cc, liboctave/LinConst.cc, - liboctave/LPsolve.cc, liboctave/LP.cc, liboctave/FSQP.cc, - liboctave/FEGrid.cc, liboctave/QPSOL.cc, liboctave/CollocWt.cc, - liboctave/DAEFunc.cc, liboctave/DAEFunc.h, liboctave/DAE.cc, - liboctave/NLEqn.cc, liboctave/ODEFunc.cc, liboctave/QPSOL.h, - liboctave/ODEFunc.h, liboctave/NLP.h, liboctave/NLEqn.h, - liboctave/NLConst.h, liboctave/LinConst.h, liboctave/LPsolve.h, - liboctave/LP.h, liboctave/FSQP.h, liboctave/FEGrid.h, - liboctave/DAE.h, liboctave/CollocWt.h: - Add pragma interface/implementation. - - * src/f-svd.cc, src/f-schur.cc, src/f-qr.cc, src/f-lu.cc, - src/f-hess.cc, src/f-det.cc, src/f-chol.cc, src/f-qzval.cc, - src/f-inv.cc, src/f-ifft.cc, src/f-givens.cc, src/f-fft.cc, - src/f-balance.cc, src/f-expm.cc, src/f-fsqp.cc, src/f-syl.cc, - src/xdiv.cc, src/xpow.cc, src/idx-vector.cc, src/pr-output.cc, - src/unwind-prot.cc, src/file-io.cc, liboctave/Bounds.h, - liboctave/CollocWt.h, liboctave/DAE.h, liboctave/EIG.h, - liboctave/FEGrid.h, liboctave/LP.h, liboctave/LPsolve.cc, - liboctave/LinConst.h, liboctave/NLEqn.cc, liboctave/NLEqn.h, - liboctave/NLP.h, liboctave/NPSOL.cc, liboctave/NPSOL.h, - liboctave/ODE.h, liboctave/Objective.h, liboctave/QLD.cc, - liboctave/QP.h, liboctave/QPSOL.h, liboctave/Quad.h: - Instead of including Matrix.h, only include the individual - matrix/vector/etc. header files that are needed. - - * liboctave/QLD.cc, liboctave/ODE.cc, liboctave/NLFunc.cc, - liboctave/DAEFunc.cc, liboctave/DAE.cc, liboctave/NLEqn.cc, - liboctave/ODEFunc.cc: - Use 0, not NULL. - - * liboctave/mx-inlines.cc: Include Complex.h. - - * liboctave/mx-kludge.h: Don't enclose contents in extern "C++". - - * liboctave/Matrix.h: Simply include mx-base.h and mx-ext.h. - - * liboctave/mx-base.h: New file, includes all basic matrix/vector - header files. - * liboctave/mx-ext.h: New file, includes all extra matrix/vector - related header files. - * liboctave/mx-defs.h: New file, for matrix/vector related - defines. Also provides forward declarations for all matrix/vector - classes. - - * liboctave/Makefile.in: Cope with new files. - - * liboctave/CmplxAEPBAL.cc, liboctave/CmplxDET.h, - liboctave/CmplxQR.cc, liboctave/CmplxSVD.h, liboctave/dbleDET.cc, - liboctave/dbleHESS.h, liboctave/dbleSCHUR.cc, - liboctave/CmplxAEPBAL.h, liboctave/CmplxHESS.cc, - liboctave/CmplxQR.h, liboctave/dbleAEPBAL.cc, liboctave/dbleDET.h, - liboctave/dbleLU.cc, liboctave/dbleSCHUR.h, - liboctave/CmplxCHOL.cc, liboctave/CmplxHESS.h, - liboctave/CmplxSCHUR.cc, liboctave/dbleAEPBAL.h, - liboctave/dbleGEPBAL.cc, liboctave/dbleLU.h, liboctave/dbleSVD.cc, - liboctave/CmplxCHOL.h, liboctave/CmplxLU.cc, - liboctave/CmplxSCHUR.h, liboctave/dbleCHOL.cc - liboctave/dbleGEPBAL.h, liboctave/dbleQR.cc, liboctave/dbleSVD.h, - liboctave/CmplxDET.cc, liboctave/CmplxLU.h, liboctave/CmplxSVD.cc, - liboctave/dbleCHOL.h, liboctave/dbleHESS.cc, liboctave/dbleQR.h, - liboctave/EIG.h, liboctave/EIG.cc: - New files, extracted from Matrix-ext.cc, in an attempt to allow - effective use of pragma interface/implementation and make - generated code somewhat smaller. - * liboctave/dColVector.cc liboctave/CColVector.cc: Likewise, from - ColVector.{cc,h}. - * liboctave/dRowVector.cc liboctave/CRowVector.cc: Likewise, from - RowVector.{cc,h}. - * liboctave/dMatrix.cc liboctave/CMatrix.cc: Likewise, from - Matrix.{cc,h}. - * liboctave/dDiagMatrix.cc liboctave/CDiagMatrix.cc: Likewise, - from DiagMatrix.{cc,h}. - -Fri Jun 3 15:32:53 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Array.h: Include assert.h. - (DiagArray::operator T ()): [! _AIX] Only call get() if i is - also equal to j. - - * scripts/rem.m: Allow mixing of scalar/matrix args, but complain - if both args are matrices and the dimensions don't agree. - - * src/lex.l (grab_help_text): Correct previous change. - -Thu Jun 2 12:08:18 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.h (conversion): New enum, for binary read/write - functions. - * Matrix.cc (read, write) New functions. - * file-io.cc (feof_internal, ferror_internal, fread_internal, - fwrite_internal, get_size_conv, get_whats_left): New functions. - * g-builtins.cc (builtin_feof, builtin_ferror, builtin_fread, - builtin_fwrite): New functions. - * builtins.cc (general_functions): Add them to the list. - - * configure.in: Check for infinity() and quiet_nan(). - * sysdep.h (octave_Inf, octave_NaN): New global variables. - * sysdep.cc (octave_ieee_init): New function. Initialize - octave_Inf and octave_NaN. - (sysdep_init): Call it. - * builtins.cc (initialize_builtins): Don't compute Inf and NaN - values here. - -Tue May 31 20:06:27 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/variables.cc (identifier_exists): Only return 1 for - variables if they are also defined. - -Sun May 29 20:40:55 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.l: Don't declare beginning_of_function as static. - (COMMENT): Delete unnecessary exclusive start state. - (\#, \%): Handle comments directly. Try to be smart about not - returning a newline character when reading a matrix list. - (grab_help_text): Don't put a newline back on the input stream. - * src/parse.y (list1): Set beginning_of_function to zero here. - -Wed May 25 03:34:17 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/error.cc (error): If error_state is -2, don't do anything. - If the format string ends in a new line character, strip it, print - the error message, and set the error state to -2. - * src/tree.cc (tree_function::traceback_error): Don't set the - error_state if it is already negative. - - * src/tree-const.cc (convert_to_row_or_column_vector): New function. - * src/idx-vector.cc (idx_vector::shorten): New function. - * src/tc-assign.cc (fortran_style_matrix_assignment - (tree_constant&, tree_constant&)): Handle deleting elements by - assignment of `[]'. Use convert_to_row_or_column_vector to handle - conversion to a vector in the case of deleting some elements from - a matrix. Use idx_vector::shorten() to remove unnecessary index - vector elements. - (do_scalar_assignment (tree_constant&, tree_constant*, int)): - Handle assignment of empty matrix. - If converting complex to real, delete old complex value. - (delete_rows (idx_vector&)): If deleting all rows of a column - vector, convert to empty matrix. - (delete_rows (Range&)): Ditto. - (delete_columns (idx_vector&)): If deleting all columns of a row - vector, convert to empty matrix. - (delete_columns (Range&)): Ditto. - - * src/tc-extras.cc (column_max (tree_constant*, int, int)): - Use MAX, not MIN when trying to find the biggest scalar. - Likewise, find the complex scalar with the largest, not the - smallest absolute value. - - * src/tc-assign.cc (do_matrix_assignment (tree_constant&, - tree_constant_rep::constant_type, tree_constant&): For case of - j_arg == matrix constant, don't negate return value of - indexed_assign_conforms(). - - * src/user-prefs.cc (commas_in_literal_matrix): New function. - Put functions in alphabetical order. - * src/user-prefs.h (commas_in_literal_matrix): New structure element. - Alphabetize structure elements and lists of functions. - * src/builtins.cc (string_variables): Add commas_in_literal_matrix - to the list. - * src/lex.l ({SN}*\]{S}*): Pay attention to the value of - usre_pref.commas_in_literal_matrix when deciding whether to insert - a comma after seeing a ']' character. - (handle_identifier): Likewise. - ({S}+): If commas are required, just eat the spaces. - -Tue May 24 19:49:51 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment - (tree_constant&, tree_constant*, int)): Handle empty arguments - for two index values. - (tree_constant_rep::do_matrix_assignment - (tree_constant&, tree_constant&)): - Likewise, for single index values. - -Mon May 23 01:43:23 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Makefile.in (snapshot, snapshot-version): New targets. - - * configure.in: Handle --enable-run-in-place (was easier than - doing the work to parse --run-in-place like Emacs uses). - - * acconfig.h: Add #undef for RUN_IN_PLACE. - - * Makeconf.in (OCTAVE_HOME): New macro. - * src/Makefile.in (defaults.h): Use it instead of ${prefix}. - - * Makeconf.in (OCTAVE_INFO_DIR, OCTAVE_LIB_DIR): New macros. - * src/Makefile.in (defaults.h): Substitute them too. - - * src/defaults.h.in (OCTAVE_INFO_DIR): New macro, used if - RUN_IN_PLACE is defined. - (OCTAVE_LIB_DIR): Likewise. - - * src/utils.cc (octave_home): Handle RUN_IN_PLACE - (octave_info_dir): Ditto. - (octave_lib_dir): Ditto. - - * src/tree-const.cc (tree_constant_rep::diag (void)): For empty - matrix, return empty matrix. - (tree_constant_rep::diag (tree_constant &)): Likewise, regardless - of value of arg. - - * scripts/int2str.m: Format as integer, not float. - Don't add trailing new line character. - -Sun May 22 22:13:01 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/plot_int.m: When looking for imaginary arguments, check - if any element has an imaginary component, not if all elements - have imaginary components. - -Thu May 19 19:46:23 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/parse.y (EXPR_AND_AND, EXPR_OR_OR): New tokens, for - short-circuit logical AND and OR operators. - (simple_expression): Handle new tokens. - * src/lex.l (&&) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_AND_AND. - (||) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_OR_OR. - * src/tree.cc (tree_binary_expression::eval): Handle short-circuit - boolean operators. - (tree_binary_expression::eval_error): Print different messages for - or_or/or and and_and/and. - * src/tree-base.h (tree_expression_type): Add new structure - elements and_and and or_or. - * src/tree-const.cc (tree_constant_rep::is_true): New function. - -Tue May 17 17:04:00 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/idx-vector.cc (idx_vector::sort_uniq ()): New function. - * src/tc-assign.cc (tree_constant_rep::delete_rows ()): Use it. - (tree_constant_rep::delete_columns ()): Likewise. - -Mon May 16 13:31:33 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/linspace.m: Replace for loop with range operation. - * scripts/logspace.m: Replace for loop with element by element - exponentiation. - -Sun May 8 00:49:38 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/lqe.m: Correct comment. - Transpose k before returning. - -Fri May 6 00:47:24 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (quit_loop_now): New function. - (tree_while_command::eval): Use it. - (tree_for_command::eval): Ditto. - - * src/tree.cc (tree_for_command::do_for_loop_once): New function. - (tree_for_command::eval): Use it. - -Mon May 2 19:45:39 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_for_command::eval): Handle returning, - breaking, and continuing for case of scalar expression in loop - control statement. - -Wed Apr 20 00:38:26 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.l (\[{S}*): Don't return ',' for this match when - convert_spaces_to_comma is true, since that can never be the right - thing to do. - - * All Makefile.in files: Set top_srcdir here. - * Makeconf.in: Not here. - - * Makeconf.in: Use top_srcdir instead of root_srcdir - - * configure.in: Update for autoconf-1.8. Use AC_VERBOSE for - verbose messages. Use AC_WARN and AC_ERROR instead of echo for - warning and error messages. Organize feature tests a bit better. - Use new autoconf macros to check for C++ compiler. Add copyright - notice. Recognize --enable-dld instead of --with-dld since that - seems to be more in line with the intent of the --enable/--with - options for configure scripts. Use new autoconf macros - AC_REVISION and AC_PREREQ. Don't add -Wall to CFLAGS and CXXFLAGS - until after all feature tests are done. Etc. - -Fri Apr 15 01:56:20 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * acconfig.h: Add #undefs for HAVE_FINITE, HAVE_ISINF, and - HAVE_ISNAN. - * configure.in: Check for floatingpoint.h. - * src/sysdep.cc (sysdep_init): Disable trapping on common - exceptions for 386BSD systems that have floatingpoint.h. - - * src/utils.cc: Don't declare ioctl() with prototype. - -Sat Apr 9 17:48:07 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-assign.cc (tree_constant_rep::fortran_style_matrix_assignment - (tree_constant&, tree_constant&)): - Handle case of M (X) = scalar, where X is a zero-one vector with - only one nonzero element. - - * src/tc-assign.cc (tree_constant_rep::do_vector_assign - (tree_constant&, Range&): - Handle case of right hand side being a scalar. - (tree_constant_rep::do_vector_assign (tree_constant&, idx_vector&): - Ditto. - - * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment - (int,tree_constant_rep::constant_type)): - Allow assignment of complex scalar too. - (tree_constant_rep::do_matrix_assignment - (tree_constant_rep::constant_type, int)): - Ditto. - - * src/tree-const.h (REP_RHS_MATRIX): Initialize nr and nc. - Abort if rhs is not a real or complex matrix. - -Wed Apr 6 13:59:37 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Range.cc (Range::nelem_internal): Use an integer, not - a double, for the number of intervals. Avoid possible problems - with extended precision registers on some systems (e.g. x86/Linux). - -Mon Mar 28 17:23:18 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc (raw_mode): For OCRNL, ONOCR, and ONLRET, check to - see if they are defined before using them instead of checking to - see if NeXT is defined. - - * info/terminal.c (terminal_prep_terminal): Check to see if OCRNL - is defined before using it instead of checking to see if NeXT is - defined. - -Thu Mar 24 03:21:01 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_parameter_list::define_from_arg_vector): - New function. - (tree_parameter_list::convert_to_const_vector): Ditto. - (tree_function::eval): Use them instead of trying to do this - in-line. - - * src/symtab.h (symbol_record::global_link_context): New stack for - saving linked_to_global flag. - * src/symtab.cc (symbol_record::push_context): Save - linked_to_global too. - (symbol_record::pop_context): And restore it. - -Wed Mar 23 16:18:19 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * doc/refcard.tex.in: New file. - * doc/Makefile.in: Create refcard.* and refcard-local.* from - refcard.tex.in. - -Tue Mar 22 15:23:55 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * octave.sh: exec $OCTAVE_HOME/bin/octave.bin, not just - octave.bin. - -Thu Mar 17 01:06:10 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/arith-ops.cc (do_binary_op (ComplexMatrix&, Matrix& b)): - Correctly handle element by element left division. - - * src/g-builtins.cc (builtin_error): Return without calling error - (and setting error_state) if the message is empty. - - * src/help.cc (operators): Correct help message for `.^'. - - * src/tc-index.cc (tree_contant_rep::fortran_style_matrix_index): - Preserve vector orientation when indexing with a zero-one vector. - - * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle - indexing a scalar with `0'. - - * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle the - index `:' the same as the index `1'. - -Tue Mar 15 17:22:00 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Array.cc: Fix typo in comments about compiler flags. - -Wed Mar 9 15:08:21 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 1.0.1. - - * src/*.h: Use the macro octave_FOO_h instead of _FOO_h to protect - against multiple inclusion. - * liboctave/*.h: Likewise. - - * liboctave/*.h: Surround contents of files in extern "C++" { }. - -Tue Mar 8 18:06:54 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-index.cc (tree_constant_rep::do_vector_index (const - tree_constant&) const): Don't crash if matrix is empty. - - * scripts/norm.m: Return empty matrix for empty argument. - -Mon Mar 7 23:34:44 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * doinstall.sh: chmod new directories to 755. - -Sat Mar 5 13:15:10 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * bsd-math/log1p.c: Declare finite as returning int, not double. - * bsd-math/finite.c (finite): Add return type. - -Thu Mar 3 14:42:00 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/DiagMatrix.cc (operator *): Provide definitions for - DiagMatrix * DiagMatrix, ComplexDiagMatrix * ComplexDiagMatrix, - ComplexDiagMatrix * DiagMatrix, and DiagMatrix * ComplexDiagMatrix. - - * liboctave/ColVector.cc (operator >>): Provide definitions for - real and complex column vectors. - - * liboctave/RowVector.cc (operator >>): Provide definitions for - real and complex row vectors. - -Wed Mar 2 18:00:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Array.h (DiagArray::Proxy::operator & ()): Provide - function body. - -Tue Mar 1 13:18:35 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-const.cc (tree_constant::load (istream&)): Don't skip - past first type keyword if not global. - (tree_constant::load (istream&, tree_constant_rep::constant_type)): - Allocate storage for reading complex scalar. - -Sun Feb 20 14:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/menu.m: Don't fail on input that is empty or not a - scalar. - - * Makefile.in (DISTFILES): Distribute ChangeLog.[0-9]. - - * src/lex.l (reset_parser): Don't resynch line number to command - history number if reading a script file. - -Thu Feb 17 01:36:19 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 1.0 released. - - * src/file-io.cc (fopen_file_for_user): Improve error message. - (fopen_internal): Likewise. - -Wed Feb 16 02:21:05 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Try harder to find finite, isnan, and isinf. - Use m4 `dnl' comments, not shell `#' comments. - - * src/file-io.cc (file_io_get_file): New function. - (fgets_internal): Use it instead of trying to do this in line. - (frewind_internal, fseek_internal, ftell_internal, do_printf, - do_scanf): Likewise. - * (do_scanf): Allow file name as string for fscanf. - * (procss_scanf_format): Delete unused argument `args'. Delete - unused local variable `arg_type'. Don't complain if we can't - store the result of a requested conversion. Only return - successfully if a conversion actually occurs, even if we are not - storing the value. - -Sun Feb 13 13:32:03 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.83 released. - - * Array.h (DiagArray): Move inline definitions of get() and set() - before use by other inline functions. - -Sat Feb 12 14:15:45 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check for g77 last. Even if it is ever actually - released, it probably won't be stable for quite a while. - - * MAKEINFO.PATCH: New file. - * Makefile.in (DISTFILES): Distribute it. - - * liboctave/Matrix.cc (operator + (Complex, const Matrix&)): - Make it work. - (operator - (Complex, const Matrix&)): Ditto. - (operator * (Complex, const Matrix&)): Ditto. - (operator / (Complex, const Matrix&)): Ditto. - -Fri Feb 11 00:03:39 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check for strerror too. - - * configure.in: When saving CFLAGS as XCFLAGS and then restoring - the value, quote the RHS. - - * src/g-builtins.cc (builtin_clc): Do the dirty work to clear the - screen here instead of using rl_clear_screen to avoid printing - prompt unnecessarily. - -Thu Feb 10 00:26:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc: Add all the cruft that the autoconf manual - suggests for including dirent.h. - - * info/terminal.c (terminal_prep_terminal): [HAVE_TERMIOS_H && - NeXT]: Don't use OCRNL, as someone says NeXT's termios.h doesn't - have it. - - * configure.in (GCC_IEEE_FP_FLAG): Correct check for ix86 Linux. - Don't try to check for CC == gcc. - Add GCC_IEEE_FP_FLAG to CFLAGS while checking for IEEE FP - functions finite, isnan, and isinf. - - * readline/rldefs.h: Make definition of HAVE_POSIX_SIGNALS - conditional on definition of _POSIX_VERSION, not HAVE_TERMIOS_H. - -Wed Feb 9 02:41:32 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_function::octave_va_start): Rename from - va_start to avoid conflict with va_start macro. - (tree_function::octave_var_arg): Likewise, rename from va_arg. - * src/g-builtins.cc (builtin_va_arg): Call octave_va_arg for the - current function instead of va_arg. - (builtin_va_start): Likewise, for octave_va_start. - - * Version 0.82.1. - - * doc/Makefile.in (clean): Also remove octave.in, octave.rd, - octave.ins, and octave.rds. - - * src/t-builtins.cc (load_variable): Make it work for all - combinations of loading global or local variables when the - variable to be loaded is already a global variable, local - variable, a function, or even undefined. - -Tue Feb 8 00:33:09 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.82 released. - - * liboctave/mx-kludge.cc (operator + (KL_MAT_TYPE, KL_MAT_TYPE)): - For an empty matrix with one nonzero dimension, be sure to return - a result of the same size. - (operator - (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. - (product (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. - (quotient (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. - -Mon Feb 7 01:30:19 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Array.h, liboctave/array.cc (DiagArray): Back off on - indexing via Proxy class changes for AIX systems to avoid gcc (or - possibly AIX assembler?) bug. - - * src/tree-const.cc (tree_constant_rep::maybe_resize (int, - force_orient)): Don't abort for a max index of zero. - - * liboctave/Matrix.h (class RowVector, friend double operator * - (const RowVector&, const ColumnVector&)): Add missing const in - declaration. - - * liboctave/Matrix.cc (Matrix::fill (val, r1, c1, r2, c2)): Set nc - to cols(), not rows(). - (ComplexMatrix::fill (double val, r1, c1, r2, c2)): Likewise. - (ComplexMatrix::fill (Complex val, r1, c1, r2, c2)): Likewise. - - * All source files: To match the documenation, refer to function - files, not M-files. Rename functions and variables that refer to - _m_file_, mfile, or mf to refer to _fcn_file, ffile, or ff. - -Sun Feb 6 19:08:26 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/parse.y (yyerror): Don't crash if a parse error happens and - the current input line is NULL. - -Sat Feb 5 18:53:04 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/file-io.cc (initialize_file_io): Don't use variable names - that start with `_'. - * src/file-io.cc (class file_info): Likewise. - -Fri Feb 4 01:15:59 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/builtins.cc (general_functions): In usage message for fopen, - use `Valid' instead of `Legal'. - - * src/file-io.cc (do_printf): Use `invalid' instead of `illegal' - in error message. - (do_scanf): Likewise. - - * src/mappers.cc (atanh): Use correct formula. - -Thu Feb 3 22:08:40 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * doc/refcard.tex: New file. - * doc/Makefile.in (all): Make refcard.ps. - (DISTFILES): Distribute refcard.tex, refcard.dvi, and refcard.ps. - - * src/tree-const.cc (any_element_is_negative): Delete function. - (any_element_less_than): New function. - (any_element_greater_than): Ditto. - (tree_constant_rep::mapper): Use struct elements lower_limit, - upper_limit, and can_return_complex_for_real_arg to properly - handle functions like acos, asin, atanh, and acosh. - - * src/builins.h (struct Mapper_fcn): Rename neg_arg_complex to - can_return_complex_for_real_arg. New elements, lower_limit and - upper_limit. - (struct builtin mappers functions): Rename neg_arg_complex to - can_return_complex_for_real_arg. New elements, lower_limit and - upper_limit. Delete elements nargin_max and nargout_max. - * src/variables.cc (install_builtin_mapper_function): Handle new - struct elements can_return_complex_for_real_arg, lower_limit, and - upper_limit. Don't use nargin_max and nargout_max -- they are - the same for all mapper functions. - -Wed Feb 2 05:06:56 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Matrix.h: Don't include values.h. - * liboctave/Matrix-ext.cc: Include float.h - (DET::value_will_overflow): Use DBL_MAX, not MAXDOUBLE. - (ComplexDET::value_will_overflow): Likewise. - (DET::value_will_underflow): Use DBL_MIN, not MINDOUBLE. - (ComplexDET::value_will_underflow): Likewise. - * src/tree.cc: Include limits.h, not values.h. - (tree_builtin::max_expected_args): Use INT_MAX, not MAXINT. - - * configure.in: If compiling on an ix86, set GCC_IEEE_FP_FLAG to - -mieee-fp. We should no longer require the modified crt0 code on - Linux systems in order to get IEEE functions. - * Makeconf.in (GCC_IEEE_FP_FLAG): Substitute value. - (ALL_CFLAGS, UGLY_ALL_CFLAGS, ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS, - ALL_LDFLAGS): Use it. - -Tue Feb 1 22:30:46 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/builtins.cc (install_builtins): Make SEEK_SET, SEEK_CUR, and - SEEK_END constants. - - * src/tree-plot.cc (tree_subplot_using::print): Only check column - number against max if max is greater than 0. - -Mon Jan 31 15:59:31 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/strcmp.m: Correctly handle empty strings. - - * src/parse.y (input): Recognize lone simple_list and simple_list - followed by error and '\n'. - -Fri Jan 28 00:20:30 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.81 released. - - * src/octave.cc (clean_up_and_exit): Call cleanup_tmp_files() here - too. - - * configure.in: Check for atexit and on_exit. - * src/octave.cc: Use HAVE_ATEXIT and HAVE_ON_EXIT (instead of - just checking to see if sun is defined) to decide whether to - define atexit as on_exit. - (main): Don't try to call atexit if it's missing and we don't have - on_exit either. - -Thu Jan 27 22:16:48 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check for gethostname and sys/utsname.h. - * utils.cc (gethostname): Steal replacement from bash. Provide - definition if it looks like it's missing and we have - sys/utsname.h. - - * liboctave/Array.h (DiagArray): Define non-const indexing - functions here. - * liboctave/Array.cc (DiagArray): Not here. - - * liboctave/Array.h (DiagArray::Proxy): New class to handle - non-const reference indexing. Allows different action if indexing - on left side of assignment operator. - - * src/octave.cc (main): Call initialize_pager(), - initialize_readline(), and install_signal_handlers() before trying - to read startup files. - - * src/octave.cc (input_from_startup_file): New global flag. - (execute_startup_files): Set it to 1 before reading startup files. - * src/parse.y (func_def_2): If input_from_startup_file, don't try - to compare file name and function name. - -Wed Jan 26 14:39:27 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * readline/rldefs.h: Make better use of autoconf defines. - -Tue Jan 25 17:19:19 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Matrix.cc (ComplexMatrix (DiagMatrix)): Make sure off - diagonal elements are zero. - (ComplexMatrix (ComplexDiagMatrix): Likewise. - (Matrix (DiagMatrix): Likewise. - -Fri Jan 21 17:43:11 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * flibs.sh: Recognize libraries that match `/*.a'. - -Thu Jan 20 18:12:01 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.80.1. - -Wed Jan 19 14:48:27 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * libcruft/odepack/stode.f: Don't try to `RETURN 0'. This causes - lsode to fail, at least with Sun's f77. - - * src/tree-const.cc (tree_constant_rep::load): Delete string - returned from extract_keyword. - * src/t-builtins.cc (builtin_load): Likewise. - * src/variables.cc (extract_keyword): Return new storage, not - static buffer. - - * src/t-builtins.cc (builtin_save): If saving a named list of - variables, use is_globally_visible to decide whether to mark - variables in the current symbol table as global. - -Tue Jan 18 11:57:03 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.80 released. - - * doc/Makefile.in (install): Delete commands for installing - liboctave.info instead of trying to comment them out. - - * liboctave/Array.cc: Allow users to compile with - -fexternal-stemplates and USE_EXTERNAL_TEMPLATES defined to - generate their own .o files with new types. - - * Makeconf.in (includedir): Install include files in - $prefix/include/octave by default. - - * liboctave/Makefile.in (TEMPLATE_SRC): New macro. - (install): Install files listed in $(TEMPLATE_SRC) too. - - * info/search.h: Conditionally declare stricmp and strnicmp. - * info/search.c: Conditionally define stricmp and strnicmp. - * config.h.in: Add undefs for HAVE_STRICMP and HAVE_STRNICMP. - - * configure.in: Check for stricmp and strnicmp too. - - * doc/Makefile.in: For now, don't format or try to install the - liboctave manual. - Don't distribute formatted copies of liboctave manual. - -Mon Jan 17 01:10:54 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * doc/Makefile.in (clean): Remove all index files. - - * src/Makefile.in (defaults.h): Depend on Makefile too. - * doc/Makefile.in (conf.texi): New rule for making conf.texi from - conf.texi.in. - - * doc/conf.texi.in: New file. - * doc/octave.texi: Include conf.texi to get VERSION, OCTAVE_HOME, - and other variables that need to be set depending on the - configuration. - - * Makefile.in (DISTFILES): Don't distribute PLOTTING. Current - plotting info is in the Texinfo docs. - -Sat Jan 15 15:43:34 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * config.sub: New file, from libg++-2.5.2. - * Makefile.in: Distribute config.sub. - * configure.in: Use config.sub to validate system types. If it - fails, continue with target_host_type and canonical_host_type set - to unknown. Leave target_host_type set to any alias given as the - TARGET argument to configure. - - * readline/rldefs.h: If ultrix and HAVE_SGTTY_H, avoid Posix - terminal driver. - * configure.in: If configuring for ultrix, check for sgtty first. - If not found, go ahead and check for Posix terminal driver. - - * configure.in: Don't try to do anything special for readline on - NeXT systems. - - * Makeconf.in: Define rules for making .d files here. - liboctave/Makefile.in: Not here. - src/Makefile.in: Or here. - - * liboctave/Matrix.h (all Matrix/Vector operator = functions): - Simply call the base class operator =, then return *this. - (class ColumnVector): Declare RowVector a friend class, so it can - access the private constructor for the transpose operator. - (class RowVector): Likewise, for ColumnVector. - (class ComplexColumnVector): Likewise, for CommplexRowVector. - (class ComplexRowVector): Likewise, for ComplexColumnVector. - Numerous formatting cleanups. - -Thu Jan 13 13:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.79.90. - - * builtins.cc: Include missing-math.h. - - * src/missing-math.h: Provide declarations for acosh, asinh, - atanh, and gamma whether they are actually missing or not, because - they are not part of the standard math.h, and the g++/libg++ - installation no longer provides declarations for them. - - * src/sighandlers.h (RETSIGTYPE): Define here. - (BADSIG): Likewise. - (sig_handler): Likewise. - - * src/g-builtins.cc: Include sighandlers.h - Don't define RETSIGTYPE, BADSIG, or sig_handler here. - * src/octave.cc: Or here. - -Wed Jan 12 16:12:27 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc: Don't check nargin/nargout in *_options - functions. - - * src/f-qpsol.cc, src/f-quad.cc, src/f-lsode.cc, src/f-fsolve.cc, - src/f-dassl.cc, liboctave/QPSOL.cc, liboctave/Quad.cc, - liboctave/ODE.cc, liboctave/NLEqn.cc, liboctave/DAE.cc: - Similar changes for these classes/functions as the following - changes for src/f-npsol.cc and liboctave/NPSOL.cc: - - * src/f-npsol.cc (npsol_opts): New static variable to hold Octave's - current idea of npsol options. - (npsol): Call nlp.copy (npsol_opts) after creating NPSOL object. - (npsol_option_table): New static list of options for npsol. - (print_npsol_option_list): New function. - (do_npsol_option): New function. - (npsol_options): Make it work. - - * liboctave/NPSOL.cc (NPSOL_options): New class. - * (NPSOL): Also derive from NPSOL_options. - * (minimize): Call pass_options_to_npsol before calling npsol. - * (NPSOL::option): No longer works. Print error message instead. - * (NPSOL::set_default_options): Now a member of NPSOL_options class. - - * src/utils.cc: If missing, declare strcasecmp, strncasecmp. - * (almost_match): Add new argument to do case-insensitive matches. - * (keyword_almost_match): New function to match a string against a - list of keywords. - - * liboctave/NLP.h (NLP): Add destructor and copy constructor. - - * configure.in: Check for strcasecmp and strncasecmp. - * config.h.in: Add #undefs for HAVE_STRCASECMP and STRNCASECMP. - * src/strcasecmp.c, src/strncase.c: New files, from glibc. - * src/Makefile.in (SOURCES, OBJECTS): List them. - - * src/builtins.cc (general_functions): Improve usage message for - the *_options functions. - (print_usage): New arg, just_usage with default value of 0. - If nonzero, don't print info about where to find additional help. - - * src/Makefile.in (INCLUDES): Add error.h. - (SOURCES): Add error.h. - - * src/tree.cc (tree_identifier::parse_m_file): call reset_parser - before calling yyparse (). - * src/tc-extras.cc (eval_string): Likewise. - Don't save previous symbol table. That is handled by the - unwind protect. - - * src/lex.l (reset_parser): Don't unconditionally call yyreset. - Add a couple of comments. - (yywrap): Always return 1, not 0. - (yy_flex_alloc, yy_flex_realloc, yy_flex_free): #if 0 out. - - * src/utils.cc (raw_mode): Only complain about stdin not being a - tty if we are really interactive. - - * src/octave.cc (main): End startup message with endl to ensure - flushing before other output. - * Turn of readline's blink_matching_paren feature if not - interactive, or if reading from a file specified on the command - line. - - * src/octave.cc (main): Set the symbol table context just before - calling reset_parser in the main loop. - * src/lex.l (reset_parser): Not here. - - * src/input.cc (octave_gets): Declare static. - (octave_read): Also handle echoing input if not using readline. - - * Makefile.in (DISTFILES): Add SENDING-PATCHES to the list. - -Mon Jan 10 14:30:13 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/corrcoef.m, scripts/fortran_vec.m, scripts/kurtosis.m, - scripts/ols.m, scripts/skewness.m, scripts/cov.m, scripts/gls.m, - scripts/mahalanobis.m, scripts/pinv.m: New script files from Kurt - Hornik (hornik@neuro.tuwien.ac.at) and the Department of - Probability Theory and Statistics TU Wien, Austria. - -Sun Jan 9 01:11:05 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc (builtin_fsqp_options): If FSQP_MISSING is - defined, don't call fsqp_options; just print usage message. - (builtin_npsol_options): Likewise, for npsol_options. - (builtin_qpsol_options): Likewise, for qpsol_options. - * src/builtins.cc (general_functions): Provide different usage - message for fsqp_options depending on whether FSQP_MISSING is - defined. Likewise for npsol_options and qpsol_options. - -Sat Jan 8 16:45:57 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * libcruft/misc/dostop.c: Include config.h. - - * src/variables.cc (extract_keyword): Use ostrstream instead of - fixed length buffer. For keywords with string values, return - value in static buffer. - * src/t-builtins.cc (builtin_load): Handle new argument list for - extract_keyword. Handle possiblity of load_variable setting - error_state. - * src/tree-const.cc (tree_constant_rep::load): Handle new argument - list for extract_keyword. - -Fri Jan 7 13:20:47 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/f-eig.cc (builtin_eig_2): Rename from builtin_eig. - * src/f-fsolve.cc (builtin_fsolve_2): Rename from builtin_fsolve. - * src/f-inv.cc (builtin_inv_2): Rename from builtin_inv. - -Thu Jan 6 12:29:41 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-base.h (tree::save): Add optional argument `precision'. - * src/tree-const.cc (tree_constant::save): Ditto. - (tree_constant_rep::save): Ditto. - * src/symtab.cc (symbol_def::save): Ditto. - (symbol_record::save): Ditto. - (symbol_table::save): Ditto. - - * src/t-builtins.cc (builtin_save): Pass user_pref.save_precision - to symbol table save functions. - * src/builtns.cc (string_variables): Add save precision to thelist. - (install_builtins): Initialize it. - * src/user-prefs.cc (set_save_precision): New function. - * src/user-prefs.h (user_pref.save_precision): New data element. - - * liboctave/Matrix-ext.cc: Provide correct prototypes for dgeesx - and zgeesx. - * (SCHUR::init): Don't declare a dummy_select function pointer, - just pass `(void *) 0' instead, since the dummy argument is never - supposed to be used anyway. - - * src/input.cc (initialize_readline): Cast command_completer to - CPPFunction, not Function, now that readline has more than one - function typedef. - * Add extern declaration for free_undo_list (). - - * Replace readline source from GDB with readline source from bash. - This allows paren matching. - -Wed Jan 5 01:20:26 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Also check for sys/select.h. - - * liboctave/RowVector.cc (ComplexRowVector::operator *): Complete - function body. Put code in-line rather than making a call to the - BLAS routine zdotu to avoid having to cope with the various ways - that Fortran compilers might translate this. - - * src/input.cc (operate_and_get_next): New function, from bash. - (initialize_readline): Bind operate_and_get_next to C-O here. - - * src/input.cc (command_completer, command_generator): - Declare static here. - * srs/input.h (command_completer, command_generator): - Not extern here. - - * g-builtins.cc (builtin_warranty): Change copyright info. - * octave.cc (verbose_usage): Likewise. - (main): Likewise. - -Mon Jan 3 15:49:41 1994 John Eaton (jwe@schoch.che.utexas.edu) - - * src/fnmatch.c, src/fnmatch.h: New files for pattern matching - from the GNU C library. - * src/Makefile.in: Add them to the appropriate lists. - * src/t-builtins.cc (builtin_save): Use fnmatch to do pattern - matching instead of using regular expressions. - (builtin_clear): Likewise. - (glob_pattern_p): New function. - (builtin_save): Print error message and return if only given one - argument that contains globbing characters. - - * src/symtab.cc (symbol_record::save): Don't attempt to save - undefined variables. - -Wed Dec 29 02:55:08 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/rank.m: Also need to compute SVD when nargin == 2. - Correct usage message. - -Wed Dec 15 01:44:18 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/f-lpsolve.cc, src/f-fsqp.cc, src/f-npsol.cc, src/f-qpsol.cc, - src/f-lsode.cc, src/f-dassl.cc, src/f-fsolve.cc, src/f-quad.cc: - New stub options functions, XXX_options, and XXX_options_2 (for - future dld use), where XXX is lpsolve, fsqp, npsol, etc. - * src/f-lpsolve.h, src/f-fsqp.h, src/f-npsol.h, src/f-qpsol.h, - src/f-lsode.h, src/f-dassl.h, src/f-fsolve.h, src/f-quad.h: - Declare XXX_options functions. - * src/builtins.cc (builtin_general_functions): Add new XXX_options - functions to the list of builtin functions. - * src/g-builtins.cc: Define builtin_XXX_options functions. - * src/g-builtins.h: Declare them. - - * scripts/tzero.m: Add missing comma in fprintf call. - -Tue Dec 14 00:24:35 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * libcruft/quadpack/*.f: Modify to handle user-requested - termination from inside the user-supplied function. - * src/f-quad.cc (quad_user_function): Set quad_integration_error - if an error is encountered in the user-supplied function. - * liboctave/Quad.h (quad_integration_error): New global variable. - * liboctave/Quad.cc (user_function): Handle - quad_integration_error, and error flag for modified Quadpack - functions. - - * src/tree.cc (tree_simple_assignment_expression::eval): Check - error status after calling convert_to_const_vector () on the - argument list. - (tree_index_expression::eval): Ditto. - - * src/tree.cc (tree_argument_list::convert_to_const_vector): - If an error is encountered while evaluating an element of the - list, print an error message including the element number. - - * liboctave/ODE.cc (integration_error): New private data member. - (ODE constructors): Initialize it to zero. - (ODE::integrate (double)): Reset it to zero before each - integration step. - (lsode_f): Treat empty vector returned from user-supplied function - as an error. - * src/f-lsode.cc (lsode_user_function): Return empty vector if - error is encountered in user-supplied function. Don't jump to top - level on error. - - * libcruft/odepack/lsode.f (lsode): Return with istate = -13 on - error from user supplied subroutine. - * libcruft/odepack/lsode.f (lsode): Handle extra argument returned - from user-supplied function. - * libcruft/odepack/stode.f (stode): Likewise. - * libcruft/odepack/prepj.f (prepj): Likewise. - -Wed Dec 8 01:30:57 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/DAE.cc (integration_error): New private data member. - (DAE constructors): Initialize it to zero. - (DAE::integrate (double)): Reset it to zero before each - integration step. - (dassl_f): Treat empty vector returned from user-supplied function - as an error. - * src/f-dassl.cc (dassl_user_function): Return empty vector if - error is encountered in user-supplied function. Don't jump to top - level on error. - - * liboctave/NPSOL.cc (npsol_objective_error): New global variable. - (npsol_objfun): Set to zero before calling user-supplied function. - Check after calling user-supplied function. - Set mode to -1 on error. - (npsol_confun): Set mode to -1 on error. - (npsol declaration): Declare args for user-supplied functions. - * src/f-npsol.cc (npsol_objective_function): If an error is - encountered in the calculation of the objective function, set - npsol_objective_error to 1. - (npsol_constraint_function): Treat empty vector returned from - user-supplied function as an error. - - * liboctave/Array.cc (*::checkelem): Correct bounds checking. On - error, return uninitialized value of type T. This avoids placing - an extra requirement on the class that can be used as an array - element. - (*::operator ()): Likewise. - -Mon Dec 6 07:24:49 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/NLEqn.cc (hybrd1 declaration): Declare args for - user-supplied fuction. - (hybrj1): Likewise. - (hybrd1_fcn): Treat return of empty vector from user supplied - function as an error by setting iflag to -1. - (hybrj1_fcn): Likewise. - (solve): Handle case of info < 0 returned from hybrd1. - - * src/f-fsolve.cc (fsolve_user_function): Don't jump to top level - on error in user-supplied function. Treat empty vector returned - from user-supplied function as error. - (hybrd_info_to_fsolve_info): Translate -1 (failure in evaluation - of user-supplied function) to -2. - * scripts/perror.m (fsolve case): Handle -2. - - * info/error.c (program_name): Initialize to info, not NULL. - - * info/session.c (initialize_info_session): Don't exit if term is - too dumb or too small to use info. Return int status instead. - * info/info.h (TERM_TOO_SMALL): New macro. - - * src/t-buitlins.cc (try_info): Check return value from - initialize_info_session (). - - * liboctave/Array.cc (DiagArray::DiagArray (int n, const T& val)): - Set number of rows and columns to n, not 0. - -Sat Dec 4 14:01:41 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.h (YY_INPUT): Undefine if defined, then always define - the way we want. - (YY_FATAL_ERROR): Likewise. - - * src/lex.l (yywrap): Declare static. - (yy_flex_alloc): New function, so we don't have to link with - libfl.a when using flex 2.4.x. - (yy_flex_realloc): Ditto. - (yy_flex_free): Ditto. - -Thu Dec 2 19:23:43 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/*.m: Add copying notice to script files. - - * src/input.cc (command_generator): Return copy of matching string. - - * src/input.cc (command_generator): Correctly delete array of - character strings. - * src/symtab.cc (symbol_table::save): Likewise. - * src/utils.cc (pathstring_to_vector): Likewise. - - * src/utils.cc (get_m_file_names): When reallocating vector of - strings, delete original vector of pointers, but not the strings - they point to. - -Tue Nov 30 12:36:41 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/RowVector.cc, liboctave/ColVector.cc, - liboctave/DiagMatrix.cc, liboctave/Matrix.cc, - liboctave/Matrix-ext.cc: Massive rewrite to cope with new - derivation scheme. - - * liboctave/Matrix.h: Include Array.h, and derive Matrix, - ComplexMatrix, etc. from Array. Derive Complex - versions from Array. Delete declarations of functions - now inherited from the Array classes. - * Include mx-kludge.h with appropriate #defines in each class that - needs it. - * liboctave/Matrix.cc: Include mx-kludge.cc with appropriate - #defines in each class that needs it. - - * liboctave/Makefile.in (INCLUDES): Add Array.h, MArray.h, and - mx-kludge.h. - (SOURCES): Add Array.cc. - (EXTRAS): Add MArray.cc and mx-kludge.cc. - - * liboctave/mx-kludge.h, liboctave/mx-kludge.cc: New files to - implement the MArray functionality with macros until g++ can - handle the MArray stuff. - - * liboctave/MArray.h, liboctave/MArray.cc: New files for generic - arrays with simple math functions for like-types. This won't - quite work with g++ yet, so it's not used anywhere. - - * liboctave/Array.h, liboctave/Array.cc: New files for generic - arrays. - - * liboctave/mx-inlines.cc: Add const for const arguments. - - * src/file-io.cc (file_info): Rename class from File_info. - (file_info::operator =): Fix memory leak by deleting old name - and mode before saving new. Don't do copy if source and - destination are the same. - - * src/tree.cc (tree_matrix::eval): Plug memory leak. - - * src/tree.cc (tree_builtin::tree_builtin): Check to see that nm, - not my_name, is non-NULL before saving it. - - * src/tree.cc (tree_identifier::eval, tree_gobal_command::eval): - After performing the assignment, delete the identifier created - for temporary asssignment since the destrucotr for - tree_simple_assignment_expression doesn't do it for us. - - * src/tree.cc (tree_function::stash_m_file_name): Delete file_name - before saving it. - (tree_function::stash_function_name): Likewise, for fcn_name. - - * src/lex.l, src/lex.h: Make quote_is_transpose globally visible. - * src/parse.y (param_list): Use it, and recognize empty parameter - lists here. - - * src/parse.y (simple_expr1): Recognize empty matrices here. - (matrix): Not here. - - * src/arith-ops.cc (do_binary_op): The matrix product and quotient - functions aren't class member functions now. - - * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, - src/tree-plot.cc, src/idx-vector.cc, src/tree-const.cc: - Call ::error, not just error, since g++ now complains about not - being able to find a non-hidden member function by that name. - - * src/tree-const.cc: Call ::real and ::imag, not just real and imag, - since g++ now complains about not being able to find non-hidden - member functions by those names. - - * src/tree-const.cc (tree_constant_rep::force_numeric): Handle case - of zero-length strings. - - * src/tree-const.cc (tree_constant_rep::convert_to_str): Null - terminate strings created from scalars. - - * src/tc-index.cc (tree_constant_rep::fortran_style_matrix_index): Use - data(), not fortran_vec(). - * src/idx-vector.cc (idx_vector::idx_vector): Likewise. - - * src/SLStack.cc: Move function definitions here. - * src/SLStack.h: From here. Include SLStack.cc if not using - external templates. - - * src/unwind-prot.h: Move class declaration here. - * src/unwind-prot.cc: From here. - - * src/xdiv.h, src/xpow.h, src/variables.h, src/utils.h, - src/user-prefs.h, src/t-builtins.h, src/sighandlers.h, - src/pr-output.h, src/pager.h, src/octave-hist.h, src/mappers.h, - src/input.h, src/help.h, src/gripes.h, src/g-builtins.h, - src/f-syl.h, src/f-svd.h, src/f-schur.h, src/f-rand.h, - src/f-qzval.h, src/f-quad.h, src/f-qr.h, src/f-qpsol.h, - src/f-npsol.h, src/f-lu.h, src/f-lsode.h, src/f-lpsolve.h, - src/f-inv.h, src/f-ifft.h, src/f-hess.h, src/f-givens.h, - src/f-fsqp.h, src/f-fsolve.h, src/f-fft.h, src/f-expm.h, - src/f-eig.h, src/f-det.h, src/f-dassl.h, src/f-colloc.h, - src/f-chol.h, src/f-balance.h, src/error.h, src/dynamic-ld.h, - src/builtins.h, src/arith-ops.h, src/tree-const.h, src/tree.h, - src/token.h, src/symtab.h, src/procstream.h, src/idx-vector.h, - src/file-io.h, src/tree-base.h, src/unwind-prot.h, src/Stack.h, - liboctave/LinConst.h, liboctave/FEGrid.h, liboctave/NLEqn.h, - liboctave/NLConst.h, liboctave/LPsolve.h, liboctave/LP.h, - liboctave/FSQP.h, liboctave/DAEFunc.h, liboctave/DAE.h, - liboctave/CollocWt.h, liboctave/Bounds.h, liboctave/Objective.h, - liboctave/ODEFunc.h, liboctave/NLFunc.h, liboctave/Range.h, - liboctave/Quad.h, liboctave/QP.h, liboctave/QPSOL.h, - liboctave/QLD.h, liboctave/NPSOL.h, liboctave/NLP.h, - liboctave/f77-uscore.h, liboctave/lo-error.h, - liboctave/Matrix.h: - Don't use #pragma interface. - - * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, - src/procstream.cc, src/gripes.cc, src/f-syl.cc, src/f-svd.cc, - src/f-schur.cc, src/f-rand.cc, src/f-quad.cc, src/f-qr.cc, - src/f-qpsol.cc, src/f-npsol.cc, src/f-lu.cc, src/f-lsode.cc, - src/f-lpsolve.cc, src/f-inv.cc, src/f-ifft.cc, src/f-hess.cc, - src/f-givens.cc, src/f-fsqp.cc, src/f-fsolve.cc, src/f-fft.cc, - src/f-eig.cc, src/f-det.cc, src/f-dassl.cc, src/f-colloc.cc, - src/f-chol.cc, src/f-balance.cc, src/t-builtins.cc, - src/octave-hist.cc, src/input.cc, src/g-builtins.cc, - src/xdiv.cc, src/xpow.cc, src/user-prefs.cc, src/unwind-prot.cc, - src/tree-plot.cc, src/token.cc, src/tc-extras.cc, src/sysdep.cc, - src/sighandlers.cc, src/pr-output.cc, src/pager.cc, - src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, - src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, - src/arith-ops.cc, src/variables.cc, src/utils.cc, - src/tree-const.cc, src/file-io.cc, src/tree.cc, - liboctave/sun-utils.cc, liboctave/mx-inlines.cc, - liboctave/RowVector.cc, liboctave/ColVector.cc, - liboctave/DiagMatrix.cc, liboctave/Matrix.cc, - liboctave/Matrix-ext.cc, liboctave/Quad.cc, liboctave/ODE.cc, - liboctave/LPsolve.cc, liboctave/FSQP.cc, liboctave/DAE.cc, - liboctave/DAEFunc.cc, liboctave/QP.cc, liboctave/Objective.cc, - liboctave/ODEFunc.cc, liboctave/NLFunc.cc, liboctave/NLConst.cc, - liboctave/LP.cc, liboctave/lo-error.cc, liboctave/Range.cc, - liboctave/QPSOL.cc, liboctave/NPSOL.cc, liboctave/NLEqn.cc, - liboctave/Matrix.cc, liboctave/Matrix-ext.cc, - liboctave/LinConst.cc, liboctave/FEGrid.cc, - liboctave/DiagMatrix.cc, liboctave/CollocWt.cc, - liboctave/ColVector.cc, liboctave/Bounds.cc: - Don't use #pragma implementation. - - * src/lex.l, src/parse.y, src/procstream.cc, src/gripes.cc, - src/f-syl.cc, src/f-svd.cc, src/f-schur.cc, src/f-rand.cc, - src/f-quad.cc, src/f-qr.cc, src/f-qpsol.cc, src/f-npsol.cc, - src/f-lu.cc, src/f-lsode.cc, src/f-lpsolve.cc, src/f-inv.cc, - src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, - src/f-fsolve.cc, src/f-fft.cc, src/f-eig.cc, src/f-det.cc, - src/f-dassl.cc, src/f-colloc.cc, src/f-chol.cc, - src/f-balance.cc, src/t-builtins.cc, src/octave-hist.cc, - src/input.cc, src/g-builtins.cc, src/xdiv.cc, src/xpow.cc, - src/user-prefs.cc, src/unwind-prot.cc, src/tree-plot.cc, - src/token.cc, src/tc-extras.cc, src/sysdep.cc, - src/sighandlers.cc, src/pr-output.cc, src/pager.cc, - src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, - src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, - src/arith-ops.cc, src/variables.cc, src/utils.cc, - src/tree-const.cc, src/file-io.cc, src/tree.cc: If HAVE_CONFIG_H - is defined, include config.h. - - * config.h.in, acconfig.h: New files - * Makefile.in (DISTFILES): Add them to the list. - - * Makeconf.in (root_srcdir): Define. - (INCFLAGS): Clean up. - (UGLY_ALL_CFLAGS): New macro. - (UGLY_ALL_CXXFLAGS): Likewise. - (UGLY_ALL_LDFLAGS): Likewise. - - * configure.in: Convert to generate config.h. - Substitute root_srcdir in Makefiles. - Use AC_DEFINE(foo, 1) instead of DEFS="$DEFS -Dfoo=1". - If using g++ 2.5 or later, define USE_EXTERNAL_TEMPLATES. - Use UGLY_DEFS for what would have been substited in DEFS, for - those cases when we need DEFS instead of config.h. - -Tue Nov 16 04:59:19 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/f-expm.cc, src/f-givens.cc, src/f-qzval.cc, src/f-syl.cc: - Include f77-uscore.h here. - - * liboctave/ColVector.cc, liboctave/Matrix.cc, - liboctave/Matrix-ext.cc, liboctave/RowVector.cc: Move declarations - for Fortran functions here. - * liboctave/Matrix.h: From here. Don't include f77-uscore.h here. - -Mon Nov 15 04:03:34 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-extras.cc (min): For two-arg versions, use error(), not - FAIL. - (max): Likewise. - * src/idx-vector.cc (checkelem): Likewise. - - * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/RowVector.cc, - liboctave/ColVector.cc, liboctave/DiagMatrix.cc, - liboctave/Matrix-ext.cc, liboctave/Bounds.cc, liboctave/DAE.cc, - liboctave/CollocWt.cc, liboctave/FEGrid.cc, liboctave/LinConst.cc, - liboctave/ODE.cc, liboctave/NLEqn.cc: Don't abort or exit on - errors. Instead print some message by calling the function - pointed to by current_liboctave_error_handler and then return. - - * liboctave/lo-error.cc: New file, for liboctave error handling - stuff. - -Sun Nov 14 23:28:12 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc (default_path): Handle OCTAVE_PATH from the - environment like TeX handles TEXINPUTS. If the path starts with - `:', prepend the standard path. If it ends with `:' append the - standard path. If it begins and ends with `:', do both (which is - useless, but the luser asked for it...). - (octave_lib_dir): Plug memory leak. - -Sat Nov 13 02:41:24 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/symtab.h (symbol_record::context): New data member, to allow - recursive functions to work. - * src/symtab.cc (symbol_record::push_context): New function - (symbol_record::pop_context): Ditto. - (symbol_table::pop_context): Ditto. - (symbol_table::push_context): Ditto. - - * src/tree.cc (tree_function::eval): If call_depth is > 1, push - symbol table context and add unwind protect to pop it on exit or - error. - (pop_symbol_table_context): New function for unwind protect. - - * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of - AC_UNISTD_H. - - * src/lex.l, src/f-quad.cc, src/f-rand.cc, src/f-lpsolve.cc, - src/f-fsqp.cc, src/f-fsolve.cc, src/f-det.cc, src/f-dassl.cc, - src/f-colloc.cc, src/utils.cc, src/variables.cc, src/tree.cc, - src/tree-const.cc, src/tc-extras.cc, src/sysdep.cc, src/symtab.cc, - src/octave-hist.cc, src/pr-output.cc, src/input.cc, - src/g-builtins.cc, src/f-det.cc, src/f-inv.cc, src/file-io.cc: - Convert most calls to message() to calls to warning() or error() - instead. - - * src/f-npsol.cc (npsol): Don't try to create the linear - constraint object before checking array sizes. - -Fri Nov 12 04:36:12 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tc-inlines.cc (is_one_zero): New function. - * src/tc-assign.cc: Everywhere we check for is_zero_one, also - check for is_one_zero. Some people write ranges that go in - decreasing order... - * src/tc-index.cc: Likewise. - - * src/tc-inlines (index_check (Range&, int&, char*)): Eliminate - second arg -- there is no need to return the max value of the - range. Correctly compute and check the minimum value. - * src/tc-index.cc: Change all callers, and check the max value - there. - * src/tc-assign.cc: Likewise. - - * src/tc-assign.cc (do_vector_assign): Handle assignment of empty - matrix for int, idx_vector, and Range cases. - (do_matrix_assign): Likewise, for cases when one of the indices is - a colon and the other is an int, idx_vector, or Range. - - * liboctave/Range.h (Range): Rename private data members rng_foo - instead of just _foo. - * liboctave/Range.cc: Change names where used. - - * liboctave/Range.cc (max): Return correct value even when the - elements in the range don't line up exactly with the limit. - (min): Likewise. - (sort): New function. - - * src/tc-assign.cc (delete_row (int)): New function. - (delete_rows (idx_vector&)): Ditto. - (delete_rows (Range&)): Ditto. - (delete_column (int)): New function. - (delete_columns (idx_vector&)): Ditto. - (delete_columns (Range&)): Ditto. - - * src/tree-const.h (is_empty): Don't try checking rows and columns - if type is magic_colon or unknown. Return false instead. - (is_zero_by_zero): New function. - - * src/idx-vector.cc (sort): New function. - (intcmp): New static function, for sorting. - -Thu Nov 11 02:31:13 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * scripts/menu.m: Update to use new va_start() and va_arg() - functions. - - * src/g-builtins.cc (builtin_va_arg): Rename from - builtin_get_next_arg. - (builtin_va_start): New function. - * src/builtins.cc (builtin_general_functions): Fix up list. - - * src/tree.cc (tree_function::va_arg): Rename from get_next_arg. - (tree_function::va_start): New function. - - * src/tree.h (tree_function::num_named_args): New data member. - * src/tree.cc (tree_function::define_param_list): Set it. - (tree_function::eval): Unwind-protect it. - -Wed Nov 10 03:37:44 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_identifier::assign): Also check to make sure - that the symbol record is defined since symbol_record::is_variable - may return true even if the record is undefined. - * src/variables.cc (link_to_global_variable): Don't try to copy a - NULL_TREE_CONST. - - * src/tree-const.cc (tree_constant_rep::matrix_value): If the - current value is a scalar, return 1x1 matrix. - * src/tc-assign.cc (tree_constant_rep::check_vector_assign): - Handle case of zero size LHS. - Clean up formatting of some error messages. - - * src/lex.l ({EL}): Recognize ... when not at end of line. - * src/octave.cc (curr_function): New global variable. - * src/g-buitlins.cc (builtin_get_next_arg): New function. - * src/builtins.cc (builtin_general_functions): Add it to the list. - * src/parse.y (param_list1): Handle ... at end of parameter list. - Abort parse on error. - (ELLIPSIS): New token, for variable argument lists. - * src/tree.h (tree_function): Add varargs_ok, args_passed, - num_args_passed, and curr_arg_number data members to handle - variable argument lists. - (tree_parameter_list::marked_for_varargs): New data member. - * src/tree.cc (tree_function::takes_varargs): New function. - (tree_function::get_next_arg): New function. - (tree_parameter_list::mark_varargs): New function. - (tree_parameter_list::takes_varargs): New function. - (tree_function::eval): Set curr_function, args_passed, and - num_args_passed for use by get_next_arg. - -Mon Nov 8 14:22:34 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.79 released. - - * src/builtins.cc (builtin_text_functions): Correct usage message - for who. - - * scripts/dgram.m: New function, from R. Bruce Tenison - (btenison@eng.auburn.edu). - * scripts/dlqe.m: Ditto. - * scripts/dlqr.m: Ditto. - * scripts/c2d.m: Ditto. - - * src/tree.cc (tree_identifier::name): Make it const. - (tree_builtin::name): Ditto. - (tree_parameter_list::name): Ditto. - (tree_word_list::name): Ditto. - - * src/symtab.cc (symbol_table::save): Delete list of names after - saving. - - * src/symtab.h (symbol_table): Move #defines outside of class - declaration. - -Sun Nov 7 07:03:12 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Makeconf.in (CXX): Don't set from C++. Do set from @CXX@, which - is determined by configure. Don't set C++FLAGS. - - * src/tree.cc: (tree_function::eval (int, int)): Simply call - eval (tree_constant *, int, int, int) with nargin = 1 and args = - NULL_TREE_CONST instead of duplicating most of that function in place. - - * src/parse.y (func_def2): Reset id_name after renaming identifier. - Clear id_name from top level symbol table before defining identifier. - -Sat Nov 6 04:38:57 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: When checking for g++, set CXX, not GXX. - - Merge min changes from Bruce Tenison (btenison@eng.auburn.edu) and - make the corresponding changes for max. - - * src/tc-extras.cc (min (ComplexMatrix&, ComplexMatrix&)): New - function. - (max (ComplexMatrix&, ComplexMatrix&)): Ditto. - (column_min): Handle complex args and two return values. - (column_max): Likewise. - - * liboctave/Matrix.cc (row_min_loc): New function. - (row_max_loc): New function. - (column_min_loc): Ditto. - (column_max_loc): Ditto. - -Fri Nov 5 03:12:55 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.78. - - * src/octave.h (clean_up_and_exit): Change form of declaration for - GCC 2.5.x and beyond. - - * src/tree.cc (tree_identifier::eval): Correctly handle printing - of identifier tags and conversion to assignment to `ans'. - * src/parse.y (maybe_convert_to_ans_assign): Simplify. - For identifiers, defer decision about making an ans assignment - until evaluation time since identifiers can be undefined at parse - time, and we can't tell what to do until we know what the def is. - * src/tree.cc (tree_identifier::mark_for_possible_ans_assgin): New - function. - * src/tree.cc (tree_index_expression::mark_for_possible_ans_assign): - New function. - * src/tree.h (tree_identifier): Add new private data, - maybe_do_ans_assign. - - * src/t-builtins.cc (builtin_who): Major overhaul. Support long - listings. - (print_symbol_info_line): New function. - (print_long_listing): Ditto. - (maybe_list): Ditto. - - * src/user-prefs.cc (sv_editor): New function for builtin variable - EDITOR. - * src/octave-hist.cc (do_edit_history): Use user_pref.editor, not - just the EDITOR environment variable. - - * src/user-prefs.cc (ignore_function_time_stamp): New function for - new builtin variable ignore_function_time_stamp. - * src/variables.cc (symbol_out_of_date): Use value of new - user_pref.ignore_function_time_stamp to decide whether to check to - see if a file has changed. - * src/tree.h (tree_function): Add new private data, system_m_file. - - * src/builtins.cc (string_variables): Add EDITOR and - ignore_function_time_stamp EDITOR to the list. - (bultin_general_functions): Add is_global to the list. - - * src/t-builtins.cc (builtin_clear): Make it work with new - variable scoping rules. - (builtin_document): Likewise, using new document_symbol() - function. - (builtin_save): Likewise. Allow regular expression arguments. - Don't save builtin variables that are read-only. - - * src/utils.cc (octave_home): Don't declare static. - (octave_lib_dir): Likewise. - (octave_info_dir): Likewise. - (default_editor): New function. - - * src/tree.cc (tree_builtin::def): Delete function. - (tree_identifier::def): Likewise. - (tree_identifier::symrec): Likewise. - - * src/tree.h (tree_builtin): Store name of function, not pointer - to symbol record. - - * src/user-prefs.cc (warn_assign_as_truth_value): Lookup - "warn_assign_as_truth_value", not "user_pref.warn...". - - * src/tree-base.h (def): Delete unused virtual function. - (is_prefix_expression): New virtual function. - (mark_for_possible_ans_assign): Likewise. - (is_system_m_file): Likewise. - (stash_m_file_name): No longer needs to be virtual. - (stash_m_file_time): Likewise. - - * src/octave.cc (octave_Complex_error_handler): Define, to keep - errors in the Complex class from aborting Octave. This is only a - temporary fix, I hope. - (main): Install it. - (initialize_globals): Get default editor. - (main): Call initialize_symbol_tables to do that instead of - creating them directly in main. - - * src/variables.cc (document_symbol): New function. - (initialize_symbol_tables): Likewise. - (install_builtin_mapper_function): Likewise. - (install_builtin_text_function): Likewise. - (install_builtin_general_function): Likewise. - (install_builtin_variable): Likewise. - (install_builtin_variable_as_function): Likewise. - (bind_nargin_and_nargout): Likewise. - (bind_builtin_variable): Likewise. - (link_to_global_variable): Likewise. - (link_to_builtin_variable): Likewise. - (link_to_builtin_or_function): Likewise. - (force_link_to_function): Likewise. - (is_globally_visible): Likewise. - (is_builtin_variable): Likewise. - - * src/tree.cc (print_as_scalar): Avoid trying to print row vectors - on one line. - - * src/builtins.cc (install_buitlins): Simplify installation of - builtin functions using new install_builtin_*_function functions. - Ditto for using bind_builtin_variable for installing variables. - - * src/tree.h (tree_global_command): New class. - * src/tree.cc (tree_global_command::*): Implement new class to - make global command executable. - * src/parse.y (global_decl): Make global an executable statement. - - * src/parse.y (func_def2): Rework to match new way of handling - global variables and function names in the symbol table. - Mark functions as `system' or not. - Don't use id_to_define. - If m-file and function names disagree, rename function to match - m-file name. - * src/tree.cc (tree_identifier::rename): New function. - * src/parse.cc, src/parse.h (id_to_define): Delete unused global - variable. - - * src/varables.cc (builtin_string_variable): Fix to match new - rules for global and builtin variables. - (builtin_real_scalar_variable): Likewise. - - * src/tree.cc (tree_identifier::assign): Make it work with new - rules for global variables. - (tree_identifier::parse_m_file): Likewise. - (tree_identifier::do_lookup): Likewise. - - * src/tree.cc (mark_as_system_m_file): New function. - (is_system_m_file): Ditto. - - * src/tree.cc (clear_symbol_table): New function, to be used in an - unwined_protect element for clearing function symbol tables on - exit or error. - - * src/tree.cc (tree_function::eval): Simplify using - bind_nargin_and_nargout. - Clear symbol table on exit or error with unwind_protect. - - * src/tree.cc (tree_prefix_expression::is_prefix_expression): New - function. - - * src/g-builtins.cc (builtin_is_global): New function. - - * src/lex.l (lookup_identifier): Now that global variable binding - has been fixed, only look for symbols in the current symbol table. - Really. I mean it this time. - - * src/symtab.cc: Complete overhaul, to make global variables work - a bit more reasonably. - -Mon Nov 1 15:03:39 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/Matrix.h (DiagMatrix::rows): Return nr, not len. - (ComplexDiagMatrix::rows): Ditto. - * src/Matrix.h (DiagMatrix::cols): Return nc, not len. - (ComplexDiagMatrix::cols): Ditto. - (DiagMatrix::columns): Ditto. - (ComplexDiagMatrix::columns): Ditto. - - * liboctave/DiagMatrix.cc (DiagMatrix::row): Make it work for - square case. - (DiagMatrix::column): Likewise. - (ComplexDiagMatrix::row): Likewise. - (ComplexDiagMatrix::column): Likewise. - - * liboctave/DiagMatrix.cc (DiagMatrix::operator <<): Print spaces - between elements. - (ComplexDiagMatrix::operator <<): Likewise. - -Fri Oct 29 15:32:12 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.77.1. - - * src/symtab.cc (symbol_record::alias): Don't copy formal_param or - forced_global attribute. - - * src/symtabl.cc (symbol_table::bind_globals): Don't bind to - global symbol unless it has forced_global attribute set. - - * src/tree.cc (print_as_scalar): New function. - (tree_identifier::eval): Use it. - (tree_simple_assignment_expression::eval): Likewise. - (tree_multi_assignment_expression::eval): Likewise. - - * src/lex.l (is_keyword): Give better error message for attempts - to define nested functions. - - * src/parse.y (global_decl): Return a command_list to execute - (this makes assignments in global declarations executable). - - * src/tree.cc (tree_for_command): Handle line and column info in - constructors and for error messages. - (tree_while_command): Ditto. - (tree_if_command): Ditto. - (tree_break_command): Ditto. - (tree_continue_command): Ditto. - (tree_return_command): Ditto. - (*::eval_error): Only print messages if error_state > 0. - (various): Only need to check that error_state is non-zero before - calling eval_error(). - - * src/parse.y: Handle line and column information for FOR WHILE IF - ELSEIF ELSE BREAK CONTINUE and FUNC_RET tokens. - * src/lex.l: Likewise. - - * src/octave.cc (parse_and_execute): Reset parser before starting - new parse. - - * src/tree-plot.cc (various): Check error_state in many more - places, and issue more meaningful error messages. - - * src/tree-const.cc (maybe_resize): Don't call - jump_to_top_level() on errors. - (tree_constant_rep (Range)): Likewise. - - * src/g-builtins.cc (builtin_error): Use error(), not - print_if_string() to print error messages. - * src/tree-const.cc (print_if_string): Delete unused function. - - * src/tc-assign.cc (various): Check error_state after calls to - maybe_resize(). - - * src/tc-index.cc (various): Always check the state of idx_vectors - after trying to create them. - * src/tc-assign.cc (various): Likewise. - - * src/idx-vector.cc: Use 0, not NULL. - Don't include stdlib.h. - (initialized): New data member, set nonzero if the idx_vector has - been properly initialized. - Never call jump_to_top_level () if initialization fails. - Add operator void *(), so we can test the state of an idx_vector - with `if (vector)'. - - * src/pager.cc: Explicitly initialize pager_buf to NULL. - - * src/tree-base.h: Move includes ahead of other definitions. - - * liboctave/NLEqn.cc (NLEqn::NLEqn (const Vector&, const NLFunc)): - Initialize n from xvec, not x. - -Mon Oct 25 18:01:12 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/user-prefs.cc (sv_info_file): New function. - * src/user-prefs.h (user_pref): Add info_file to the list. - * src/t-builtins.cc (try_info): Use it instead of - DEFAULT_INFO_FILE. - - * src/utils.cc (default_info_file): New function. - (octave_info_dir): Likewise. - - * src/defaults.h.in (DEFAULT_INFO_FILE): Delete unnecessary - definition since we figure out what it should be in utils.cc now. - * src/Makefile.in (defaults.h): Don't substitute DEFAULT_INFO_FILE. - * src/Makeconf.in (DEFAULT_INFO_FILE): Delete definition. - - * src/octave.cc (info_file): New global variable. - (initialize_globals): Call default_info_file () to initialize it. - (--info-file): New command line option. - - * src/builtins.cc (string_variables): Add INFO_FILE to the list. - (install_builtins): Define it. - - * info/filesys.c (compress_suffixes): Choose gunzip for .gz files. - -Sat Oct 23 17:46:09 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.77 released. - - * src/Makefile.in (INCFLAGS): Don't include info or dld - directories. - * dynamic-ld.cc: Include dld/dld.h, not just dld.h. - * t-buitlins.cc: Include info/info.h, info/dribble.h, and - info/terminal.h, not just info.h, dribble.h, and terminal.h. - - * src/t-builtins.cc (builtin_help): New option, -i, for invoking - info browser. If -i is not given, just do what we used to do, but - point to help -i as a way to get additional information. - - * builtins.cc (print_usage): New function. - - * g-builtins.cc (all builtins): Call print_usage to get usage message. - * t-builtins.cc (all builtins): Likewise. - -Fri Oct 22 15:56:16 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * Cholesky changes from R. Bruce Tenison (btenison@eng.auburn.edu): - - * src/f-chol.cc, src/f-chol.h: New files for the Cholesky - Factorization. - * src/Makefile.in (SOURCES, OBJECTS, DLD_OBJECTS): Add to lists. - * src/g-builtins.cc (builtin_chol): New function. - * src/g-builtins.h: Declare it. - - * liboctave/Matrix-ext.cc (CHOL, ComplexCHOL): New classes. - - * libcruft/lapack: dpotrf.f, zpotrf.f, dpotf2.f, zpotf2.f: New - files. - - * libcruft/blas: dsyrk.f, zherk.f: New files. - -Fri Oct 22 14:04:16 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc (builtin_schur): Fourth arg for DLD_BUILTIN is - schur, not hess. - - * scripts/dare.m: Correct usage of fprintf. - - * src/utils.cc (raw_mode): Only complain about stdin not a tty if - interactive or forced interactive. - -Thu Oct 21 17:00:57 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/builtins.cc (install_builtins): Try harder to make - initialization of NaN work. Make note about possible fixes if it - still doesn't work. - - * src/utils.cc (raw_mode): [HAVE_TERMIOS_H] and [HAVE_TERMIO_H] - Don't set TAB3 since it doesn't seem necessary and some systems - don't have it by this name. - [HAVE_SGTTY_H] To be consistent, don't set XTABS here either. - - * src/error.c (error): Call flush_output_to_pager before printing - error message. - (panic): Likewise, before aborting. - - * src/symtab.cc (symbol_record::undefine): Delete unused function. - (symbol_table::undefine): Likewise. - - * src/symtab.cc (clear): Never delete symbol records from the - table. Only delete the definitions. This makes clear and - undefine equivalent, so we don't need them - * src/tree.cc (tree_function::eval): Call symbol_table::clear, not - symbol_table::undefine. - - * src/t-builtins.cc (builtin_clear): Only clear global symbols if - we are at the top level. - * src/parse.y (CLEAR): Delete token. - (word_list_command): Remove code to handle CLEAR as special case. - (expect): Only 19 now. - * src/lex.l (handle_identifier): Remove special code for clear. - It's ok to use it in a function body now. - - * src/t-builtins.cc: Include extern "C" declarations for Info stuff. - (builtin_help): If given an argument, try to get help directly - from info file first. If that fails, do as before. - (help_syms_list): New function: - (simple_help): New function. - (try_info): New function. - (help_from_list): New function. - - * src/defaults.h.in (DEFAULT_INFO_FILE): Define new macro. - * Makeconf.in: Set value of DEFAULT_INFO_FILE. - * Makeconf.in (INSTALL_PROGRAM): Add definition. - * Makefile.in (SUBDIRS): Add info directory. - (info): New target. - * configure.in: Add autoconf macros to handle info configuration. - - * info/Makefile.in: Major changes to make it work with Octave's - Makeconf file, etc. The default action is now to build a - libinfo.a file. - - * info/error.c: New file. Move error functions here from info.c. - - * info/signals.c (clear_info_signal_handler): New function, useful - if info is used directly in another program. - - * info/termdep.h: Handle termios too. - * info/terminal.c (terminal_prep_terminal): Handle termios. - * (terminal_unprep_terminal): Likewise - - * info/session.c (initialize_info_session): Add arg to make - clearing the screen conditional. Useful if we want to call - index_entry_exists() first before displaying anything. - Change all callers. - - * info/session.c (finish_info_session): New function. - - * info/session.c (dispatch_error): Change message to include info - about how to get help and how to quit. - - * info/info.c (index_search_p): New flag. - (--index-search): New option, like apropos, but search the indices - and display the first node found. - - * info/indices.c (do_info_index_search): New function, modified - from info_index_search to allow searching the index for a string - without prompting for it. - (info_index_search): Just call do_info_index_search. - (index_entry_exists): New function, to allow us to find out if - there is an index entry for a given string without actually - displaying anything. - - * info: New directory, containing source for GNU info browser. - -Tue Oct 19 00:14:33 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/octave-hist.cc (input_from_tmp_history_file): New global flag. - (do_edit_history): Protect and set it. - (do_run_history): Likewise. - * src/parse.y (func_def2): Use it to see that input is coming from - a temporary file. This means that we shouldn't exit when we're - done reading it, and we should treat it just as if the input were - coming from the keyboard. - - * variables.cc (force_global): Force aliasing so it will happen - even if the symbol record is undefined. - - * src/lex.l (lookup_identifier): Simplify - - * src/lex.l (reset_parser): Reset error_state here. - * src/octave.cc (main): Not here. - -Mon Oct 18 14:27:02 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-const.cc: Delete constructor for tree_constant from - String. - - * In src: tree.h, mappers.h, unwind-prot.h, parse.h, file-io.h, - arith-ops.h, tree-base.h, tree-const.h, g-builtins.h, - idx-vector.h, builtins.h, dynamic-ld.h, xdiv.h, xpow.h, - pr-output.h, input.h, symtab.h, utils.h: Avoid including files - unnecessarily. - - * In src: tc-inlines.cc, mappers.cc, variables.cc, arith-ops.cc, - tree.cc, tree-const.cc, g-builtins.cc, file-io.cc, idx-vector.cc, - tc-assign.cc, tc-index.cc, builtins.cc, dynamic-ld.cc, xdiv.cc, - xpow.cc, pr-output.cc, tc-extras.cc, input.cc, symtab.cc, - utils.cc: Sprinkle liberally with const. - - * In src: f-syl.cc, f-svd.cc, f-schur.cc, f-rand.cc, f-qzval.cc, - f-quad.cc, f-qr.cc, f-qpsol.cc, f-npsol.cc, f-lu.cc, - f-lsode.cc, f-lpsolve.cc, f-inv.cc, f-ifft.cc, f-hess.cc, - f-givens.cc, f-fsqp.cc, f-fsolve.cc, f-fft.cc, f-expm.cc, - f-eig.cc, f-det.cc, f-dassl.cc, f-colloc.cc, f-balance.cc: - Add const qualifier to tree-constant arg. - -Sat Oct 16 12:22:24 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-const.h, src/tree-const.cc: Add const qualifier to - constructor arguments passed by reference. - Pass Complex arguments by const reference instead of by value. - - * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/ColVector.cc, - liboctave/RowVector.cc liboctave/DiagMatrix.cc: Pass Complex - arguments by const reference instead of by value. - -Wed Oct 13 14:13:29 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc (decode_prompt_string): ctime returns time_t, which - might not be a long. - - * src/variables.cc (identifier_exists): Only return non-zero if - the name has a definition. - - * src/f-npsol.cc (npsol): Call error(), not message(), to print - error messages. - (linear_constraints_ok): Likewise. - (nonlinear_constraints_ok): Likewise. - - * src/f-qpsol.cc (qpsol): Don't try to create the linear - constraint object before checking array sizes. Wouldn't exception - handling be nice? - Call error(), not message(), to print error messages. - Check to ensure that the bounds on linear constraints are - vectors. - - * src/lex.l (lookup_identifier): Don't bind global variables - immediately in loops or conditionals, even at the top level. - -Sun Oct 10 8:48:00 1993 John Eaton (jwe@schoch.che.utexas.edu) - - * README.doc: New file. - * Makefile.in (doc-dist): New target. - * doc/Makefile.in (FORMATTED): New macro. - (doc-dist): New target. - - * src/tree.cc (tree_identifier::eval): Don't print anything if an - error is encountered. - (tree_simple_assignment_expression::eval): Likewise. - - * src/tc-assign.cc (do_matrix_assignment): Handle resizing - correctly when indices are (:,range), (:,matrix), (range,:), or - (matrix,:) and the lhs is empty or undefined. - -Tue Oct 5 04:02:37 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.76 released. - - * src/octave.cc (main): Print usage message if we are given more - than one extra argument on the command line. - Delay printing startup message until just before setting the toplevel - jump context. - - * src/lex.h (DO_COMMA_INSERT_CHECK): Delete unused macro. - - * src/lex.l (handle_identifier): New function. - ({IDENT}/{S}*=, {IDENT}{S}*): Use it instead of duplicating code. - (do_comma_insert_check): Use yyunput instad of returning original - character count. - Call directly instead of using DO_COMMA_INSERT_CHECK macro. - -Mon Oct 4 08:06:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.75.4. - - * src/tree-const.cc (tree_constant_rep::eval ()): Avoid calling - rows() and columns() for things like magic_colon. - -Sun Oct 3 19:39:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - Changes to add line and column info to run-time error messages: - - * src/tree.cc (tree_identifier, tree_prefix_expression, - tree_postfix_expression, tree_simple_assignment_expression, - tree_multi_assignment_expression, tree_colon_expression, - tree_index_expression): Modify constructors to allow line and - column information to be stored. - (abort_on_undefined): Delete (now) unnecessary static variable. - (all eval() functions): If error_state, return immediately. - (tree_matrix::eval ()): Call error and return tree_constant() - instead of jumping to top level on error. - (tree_identifier::parse_m_file ()): When starting to read an - M-file, initialize current_input_column to 1, not 0. - (tree_identifier::eval_undefined_error ()): Improve error message - with line and column info if it is available. Don't abort to top - level on errors. - (tree_function::traceback_error ()): New function. - (tree_function::eval ()): Don't jump to top level on errors. - Call traceback_error if there is an error evaluating the command - list. - - * src/tree.cc (tree_prefix_expression::eval_error ()): New function. - (tree_postfix_expression::eval_error ()): Ditto. - (tree_unary_expression::eval_error ()): Ditto. - (tree_binary_expression::eval_error ()): Ditto. - (tree_simple_assignment_expression::eval_error ()): Ditto. - (tree_multi_assignment_expression::eval_error ()): Ditto. - (tree_colon_expression::eval_error ()): Ditto. - (tree_index_expression::eval_error ()): Ditto. - - * src/tree.cc (tree_function::stash_function_name ()): New function. - * src/parse.y (FCN): Use it. - - * src/lex.l: Return line and column info for many (but not all) - tokens. - - * src/parse.y: Handle token values with the token class defined in - token.cc. - (check_end ()): New function. - (end_error ()): Improve error messages by including line and - column info. - - * src/arith-ops.cc (lots of functions): Don't jump to top level on - errors. - * src/tree.cc (tree_unary_expression::eval ()), - tree_binary_expression::eval ()): Handle error condition here. - - * src/gripes.cc (gripe_nonconformant): Add additional form of this - function to allow message to include dimensions. Change most - callers to use new form - - * src/octave.cc: Initialize column counter to 1, not 0. - (main): Reset error_state before evaluating each top level - command. - - * src/tree-plot.cc (tree_plot_command::eval ()): If error_state, - return immediately. - - * src/tree-const.cc (do_binary_op ()): Return tree_constant() instead - of jumping to top level on errors. - (do_unary_op): Likewise. - (tree_constant_rep::eval ()): If error_state, return immediately. - Convert 1x1 matrices to scalars. - - * src/tc-assign.cc (tree_constant_rep::do_scalar_assignment ()): - Don't jump to top level on error. - If there is an error while attempting to convert an undefined - variable to a matrix, don't suddenly create an empty matrix. - (tree_constant_rep::fortran_style_matrix_assignment ()): Check - return value of range_max_check() and don't jumpt to top level on - errors. - (tree_constant_rep::vector_assignment ()): Check return value of - index_check and don't jump to top level on errors. - (tree_constant_rep::check_vector_assign ()): Don't jump to top - level on errors. - (tree_constant_rep::do_matrix_assignment ()): Check return value - of index_check and don't jump to top level on errors. - - * src/tc-extras.cc (get_dimensions ()): Call error (sets error state) - but don't jump to top level on errors. - (fill_matrix): Return tree_constant() on error. - (identity_matrix): Likewise. - - * src/error.cc (error_state): New global variable, initialize to zero. - (error): Set it to one. - - * src/tc-index.cc (tree_constant_rep::valid_as_scalar_index ()): - Don't declare unused variable retval. - (tree_constant_rep::do_scalar_index ()): Return tree_constant() - instead of jumping to top level on error. - (tree_constant_rep::fortran_style_matrix_index): Don't jump to top - level on indexing or range errors. - (tree_constant_rep::do_vector_index ()): Likewise. - (tree_constant_rep::do_matrix_index ()): Likewise. - - * src/tc-inlines (range_max_check): Return -1 instead of jumping - to top level on error. - (index_check): Likewise. - - * src/utils.cc (check_dimensions): Call error, not warning, and - don't jump to top level. - - * src/tree-base.h (line_num, column_num): New data members for all - tree classes. - (line (), column ()): New virtual functions to access line and - column info. - - * src/lex.l (enum end_tok_type, enum plot_tok_type): Delete - declarations (now in token.h). - - * src/lex.h (YY_INPUT, YY_FATAL_ERROR, DO_COMMA_INSERT_CHECK, - TOK_RETURN, BIN_OP_RETURN): Move macro definition here, from - lex.l. Rename RETURN TOK_RETURN. - - * src/token.cc, token.h: New files that define a class for tokens - that includes line and column information. - -Wed Sep 29 11:15:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/octave.cc: Use GNU getopt to handle option parsing. - * src/getopt.h src/getopt.c src/getopt1.c: New files for GNU - getopt. - * src/Makefile.in: Add them to the appropriate lists. - - * src/utils.cc (raw_mode): Use the termios.h terminal driver - interface if it is available. - * configure.in: Check for termios.h - - * src/tree-plot.cc (tree_subplot_list::print (int, ostrstream&)): - If the data to be plotted is a string but it doesn't name a file, - try sending it to gnuplot directly. - -Tue Sep 28 16:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/QPSOL.cc (QPSOL::minimize (double&, int&, Vector&)): - Correct dimensions of work arrays, based on QPSOL source. - Pass ncon, which is max (1, nclin), not n, as the row dimension of - clin. - - * src/f-npsol.cc (linear_constraints_ok): Improve warning for the - case of constraints with zero dimensions. - (nonlinear_constraints_ok): Likewise. - -Mon Sep 27 01:20:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.75.3. - - * Makefile.in (dist): Make file permissions for distribution rw. - (binary-dist): Ditto. - (local-dist): Ditto. - -Sat Sep 25 15:29:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/pr-output.cc: Include stdio.h, for sprintf. - - * src/input.cc (octave_gets): Set octave_gets_line to NULL after - freeing it. - - * Version 0.75.2. - - * liboctave/Matrix.cc (Matrix::operator * (const ColumnVector&): - Correct dimension of return value. - (ComplexMatrix::operator * (const ComplexColumnVector&)): Ditto. - -Tue Sep 21 20:42:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/tree.cc (tree_identifier::assign (tree_constant&)): - Correctly handle case of hiding a function with a variable when - the variable has not been flagged as global. - tree_identifier::assign (tree_constant&, tree_constant*, int)): - Likewise. - - * src/variables.cc (force_global): When a variable is moved to the - global symbol table, mark it as global. - - * src/symtab.cc (symbol_record::symbol_record ()): Initialize - forced_global. - (symbol_record::clear_visible ()): Reset forced_global to zero. - (symbol_record::clear_all ()): Ditto. - (symbol_record::mark_as_forced_global ()): New function. - (symbol_record::is_forced_global ()): New function. - (symbol_record::alias ()): Also copy forced_global attribute. - - * src/symtab.h (symbol_record::forced_global): New private data - member, used to record when a variable has been explicitly - declared global. - - * src/lex.l (lookup_identifier): Look in current scope first. - -Mon Sep 20 03:15:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/parse.y, src/tree.cc, src/tree.h: Allow `for' command to - assign to an index expression, not just an identifier. - - * src/t-builtins.cc (builtin_clear (int, char **)): Don't delete - g_names twice. - - * src/symtab.cc (symbol_table::list (int&)): Make sure count is - initialized to zero. - (symbol_table::var_list (int&)): Ditto. - (symbol_table::fcn_list (int&)): Ditto. - -Sat Sep 18 04:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/lex.l, src/parse.y, src/parse.h: Use new global variable - past_plot_range to make gplot and gsplot smarter about - distinguishing plot ranges and literal matrices. - -Fri Sep 17 01:06:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.75.1 released. - - * src/f-qzval.cc: Include for DBL_EPSILON. - - * src/symtab.cc (symbol_record::save (ostream&, int)): Don't print - a warning for ans being undefined. Call warning to print the - message, and change the text to make it clearer. - (symbol_table::save (ostream&, int)): Don't crash if there aren't - any symbols to save. - -Thu Sep 16 00:21:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/t-builtins.cc (builtin_help): When trying harder to find - help for M-files, only insert the symbol into the global symbol - table if there really is an M-file of the given name in the path. - -Wed Sep 15 02:08:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.75. - - * src/Makefile.in (INCLUDES): Distribute defaults.h - (%.d: %.cc): Don't fail if we can't determine dependencies. - (DISTFILES): Include move-if-change. - -Tue Sep 14 21:23:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * scripts/perror.m: Use err, not info for fsolve section. - -Mon Sep 13 19:29:26 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/utils.cc (get_m_file_names): Call closedir(), not free(), to - dispose of directory structure. - -Sun Sep 12 19:07:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-const.cc (tree_constant_rep::double_value): Rearrange - to avoid warning about reaching end of non-void function. - (tree_constant_rep::matrix_value): Ditto. - - * src/error.cc (panic): Declare volatile. - * src/utils.cc (jump_to_top_level): Declare as `void volatile', - not `volatile void'. - - * src/tree-const.cc (tree_constant_rep::complex_matrix_value): - Make it work even if the internal representation is really a real - or complex scalar or a real matrix. - (tree_constant_rep::complex_scalar_value): Make it work even if - the internal representation is really a real scalar. - - * src/f-syl.cc (syl): Delete ComplexMatrixLoad(). - Use complex_matrix_value(), not ComplexMatrixLoad(). - - * src/tree-const.cc (vector_of_empties): Renamed from empty_tree, - moved from f-syl.cc. - - * src/f-syl.cc (syl): Call vector_of_empties() instead of empty_tree(). - * src/f-qzval.cc (qzvalue): Ditto. - - * src/tree-const.h (tree_constant::is_empty): New inline function. - - * src/f-syl.cc (syl): Call is_empty instead of empty_arg. - * src/f-qzval.cc (qzvalue): Ditto. - * src/f-expm.cc (matrix_exp): Ditto. - -Thu Sep 9 22:40:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/Matrix.cc (Matrix::transpose): Make it work for empty - matrices. - (ComplexMatrix::transpose): Ditto. - -Mon Sep 6 04:56:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/tree-plot.cc (tree_subplot_list::print): If the plot data - is a string and it names a file, plot the data in the file. - - * src/octave.cc (execute_startup_files): Try harder to avoid - executing $HOME/.octaverc twice. - - * liboctave/DAE.cc (DAE::integrate (Vector&, Matrix&, Vector&)): - Add missing parameter in call to integrate() if no critical points - are specified. - -Sat Sep 4 16:18:49 1993 John W. Eaton (jwe@ward.che.utexas.edu) - - * src/octave.cc (execute_startup_files): Don't execute - $HOME/.octaverc twice. - -Mon Aug 30 11:25:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/t-builtins.cc (builtin_clear): Handle regular expressions. - -Fri Aug 27 07:25:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/RowVector.cc: - (RowVector::operator * (const ColumnVector& a) const): Fix brain-o. - -Wed Aug 18 00:29:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * list_primes.m: New M-file. - - * src/tc-index.cc (do_scalar_index): Handle two vector args of all - ones. - -Tue Aug 17 06:26:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/file-io.cc (process_printf_format): Use NINT for * modifier - argument. - -Mon Aug 16 19:30:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/mappers.cc: (arg (double)): Return pi for negative real values. - -Sun Aug 15 05:08:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/octave-hist.cc (mk_tmp_hist_file): New function, extracted - from do_edit_history. - (do_edit_history): Simplify using mk_tmp_hist_file. - (do_run_history): New function. - (edit_history_repl_hist): New function. - - * src/t-builtins.cc (builtin_run_history): New function. - - * src/builtins.cc (text_functions): Add run_history to the list. - -Fri Aug 13 16:04:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tzero.m: New M-file. - * abcdchk.m: New M-file. - * is_symmetric.m: Use tol and norm (A) to decide if A' is close - enough to A to be considered the same. - -Wed Aug 11 15:50:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.74.1. - - Merge in expm changes from A. S. Hodel : - - * f-expm.{h,cc}: New files. - * src/Makefile.in: Include them in the usual places. - * src/g-builtins.cc (builtin_expm): The new matrix_exp returns a - tree_constant by value. - Include f-expm.h - * src/tc-extras.cc (matrix_exp): Delete function. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - Merge in qzval changes from A. S. Hodel : - - * f-qzval.{h,cc}: New files. - * src/Makefile.in: Include them in the usual places. - * src/g-builtins.cc (builtin_qzval): New function. - Include f-qzval.h - * src/g-builtins.h: Declare builtin_qzval. - * src/builtins.cc (general_functions): Add qzval to the list. - - * libcruft/eispack: New directory. - * libcruft/Makefile.in (SUBDIRS): Include it. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Add libcruft/balgen/Makefile and - libcruft/eispack/Makefile to the list of files to frob. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - Merge in syl changes from A. S. Hodel : - - * lyap.m: New M-file. - - * f-syl.{h,cc}: New files. - * src/Makefile.in: Include them in the usual places. - * src/g-builtins.cc (builtin_syl): New function. - Include f-syl.h - * src/g-builtins.h: Declare builtin_syl. - * src/builtins.cc (general_functions): Add syl to the list. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/g-builtins.cc (builtin_balance): Fix typo in doc string. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - Merge in givens changes from A. S. Hodel : - - * f-givens.{h,cc}: New files. - * src/Makefile.in: Include them in the usual places. - * src/g-builtins.cc (builtin_givens): New function. - Include f-givens.h - * src/g-builtins.h: Declare builtin_givens. - * src/builtins.cc (general_functions): Add givens to the list. - - * src/Makefile.in: (defaults.h) Quote substitutions. - Use %foo%, not @foo@ to mark substitution. - * src/defaults.h.in: Use %foo%, no @foo@ to do mark things to - substitute. - - * qzhess.m: New M-file. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - Merge in balance changes from A. S. Hodel : - - * are, is_controllable.m, is_observable.m, is_square.m, - is_symmetric.m: New M-files. - - * Matrix.h (AEPBALANCE): New class. - (ComplexAEPBALANCE): New class. - (GEPBALANCE): New class. - * Matrix-ext.cc: Add init functions for balancing classes. - - * src/f-balance.{h,cc}: New files. - * src/Makefile.in: Include them in the usual places. - * src/g-builtins.cc (builtin_balance): New function. - Include f-givens.h - * src/g-builtins.h: Declare builtin_balance. - * src/builtins.cc (general_functions): Add balance to the list. - - * libcruft/balgen: New directory. - * libcruft/Makefile.in (SUBDIRS): Include it. - -Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Use AC_HAVE_LIBRARY to check for -lm. - - * src/Makefile.in (defaults.h): Quote substitutions. - -Mon Aug 9 13:30:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * README.NLP: New file. - * Makefile.in (DISTFILES): Distribute it. - -Sun Aug 8 19:05:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/move-if-change: New file. - * src/Makefile.in (DISTFILES): Distribute it. - (defaults.h): New rule. - (utils.o): Delete rule, since extra defines are no longer needed. - (INCLUDES): Distribute defaults.h.in. - * src/utils.cc: Include defaults.h to get DEFAULT_PAGER and - OCTAVE_HOME instead of depending on having them defined by the - compile command. - - * configure.in (DEFAULT_PAGER): Use AC_PROGRAMS_CHECK. - If we find less, add `-e' flag, so users won't have to type q to - quit paging. - -Sat Aug 7 13:34:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * f-*.cc: Renamed from tc-*.cc. (Use f- as the file prefix - because most of these functions are ultimately implemented in - Fortran, and, most importantly, it keeps them grouped together.) - * f-*.h: New files, for external declarations of visible functions - defined in f-*.cc. - * g-builtins.cc: Include them all. - * tree-const.h: Don't declare these functions as friends. - * Makefile.in: Cope with new names. - - * octave.cc (parse_and_execute (char *, int)): Don't declare static. - * octave.h: Declare it extern here. - * octave-hist.cc (do_edit_history): Use it here. - - * octave-hist.cc (do_edit_history): New function. - * t-builtins.cc (builtin_edit_history): Use it. - - * t-builtins.cc, t-builtins.h, builtins.cc: Rename edit to - edit_history. - - * octave-hist.cc (do_history): Print line numbers by default. - Allow quieter output with -q option. - - * g-builtins.cc (builtin_hess): Use DLD_BUILTIN macro to call hess. - * g-builtins.cc (builtin_schur): Likewise - - * tc-hess.cc (builtin_hess_2): Call hess with corrrect args. - * tc-schur.cc (builtin_schur_2): Likewise, for schur dude :-). - - * tc-fsqp.cc (builtin_fsqp_2): Fix typo. - -Thu Aug 5 23:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * input.cc (octave_read): Ensure that the last character in the - buffer is a new line. - -Wed Aug 4 19:25:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y (func_def2): Also warn if we encounter a function - definition with the same name as the script file we are reading. - - * tree.cc (tree_identifier::do_lookup): Always return NULL_TREE if - a script file was executed. - -Tue Aug 3 23:25:45 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * file-io.cc: Delete useless static keyword from File_info class - declaration. - * unwind-prot.cc: Likewise, for unwind_elem and saved_variable - classes. - * tc-rand.cc: Likewise, for enum rand_dist declaration. - * arith-ops.cc: Likewise, for enum Matrix_bool_op declaration. - * tree.cc: Likewise, for struct const_matrix_list declaration. - -Fri Jul 23 01:40:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * sysdep.cc (malloc_handler): Add missing arg to call to message(). - -Tue Jul 20 04:09:32 1993 John W. Eaton (jwe@june.che.utexas.edu) - - * Version 0.74 released. - - * doinstall.sh (version): Run `./octave -v' to get the version - number instead of grabbing it from version.h. - * Fail if we can't get a version number. - * Install ./octave, not src/octave. - - * Makefile.in (binary-dist): Don't depend on all. - * Link src/octave to ./octave. (Now that there's no source in - binary distributions, why have a src directory?) - - * file-io.cc (process_scanf_format): Rename local variable `i' to - `chars_from_fmt_str'. - * (process_printf_format): Likewise. - - * sighandlers.cc (can_interrupt): New global variable. - * (sigint_handler): Use it to decide whether to jump to top level. - * octave.cc (main): Set it after calling setjmp. - - * octave.cc (main): Declare saved_sigint_handler to be volatile. - - * tree.cc, tree-plot.cc, t-builtins.cc, pager.cc, g-builtins.cc, - file-io.cc: Terminate strstream strings with ends instead of just - using '\0'. - - * file-io.cc (process_scanf_format): Skip leading white space for - %s conversions. - * (fopen_file_for_user): Pass tree_constant arg by reference. - * (do_scanf): If doing fprintf, don't fail if first arg is a - string. - -Mon Jul 19 16:00:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (pstrcmp): Declare to take char** args, not char*. - -Sun Jul 18 13:02:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * file-io.cc (return_valid_file): Pass arg by reference. - - * file-io.cc (fclose_internal, fgets_internal, fseek_internal): - Eliminate unnecessary casts to double. - - * file-io.cc (return_valid_file, fgets_internal, fopen_internal, - do_printf, do_scanf): Use is_string_type instead of doing the - comparison ourselves. - * g-builtins.cc (builtin_exist, builtin_getenv, - builtin_shell_command): Ditto. - * tc-colloc.cc (collocation_weights): Ditto. - * tc-extras.cc (eval_string, get_user_input): Ditto. - * tc-rand.cc (rand_internal): Ditto. - * tree-plot.cc (tree_subplot_list::print): Ditto. - * variables.cc (is_valid_function, octave_string_variable): Ditto. - -Thu Jul 15 02:29:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * doc/Makefile.in (TEXINFO): Distribute texinfo.tex too. - - * t-builtins.cc (load_variable): Warn if replacing local symbol - with global from file. - * Warn if variable is not marked as global in a file, but already - exists as a global symbol, then go ahead and load it as a global. - -Tue Jul 13 01:47:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (lookup_identifier): Never alias to global here. - * tree.cc (do_lookup): Don't alias formal parameters to global. - * variables.cc (force_global): Likewise. - * symtab.cc (symbol_table::bind_globals): Likewise. - - * symtab.h (symbol_record::formal_param): New field. - * symtab.cc (symbol_record::mark_as_global_parameter): New function. - * (symbol_record::is_formal_parameter): Ditto. - * tree.cc (tree_identifier::mark_as_formal_parameter): Ditto. - * (tree_parameter_list::mark_as_formal_parameters): Ditto. - * parse.y (param_list): Use it to tag formal parameters. - * (func_def1): Ditto. - - * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): On IEEE machines, allow - divide by zero errors to be suppressed. - * user-prefs.h (warn_divide_by_zero): New user preference. - * user-prefs.cc (warn_divide_by_zero): New function. - * builtins.cc (builtin_string_variables): Install it with default - value of true. - - * tree.cc (tree_multi_assignemnt_expression): Use tree_return_list - instead of tree_param_list. - * (tree_multi_assignment_expression:eval): Make it work. - - * tree.cc (tree_return_list): New class. Allow index expressions - and identifiers in return lists. - * (tree_matrix::to_return_list): Rename from to_param_list. - * parse.y (expression): Use it. - - * parse.y: Increment and decrement maybe_screwed_again instead of - just setting it to zero or one. - -Mon Jul 12 03:23:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-assign.cc (tree_constant_rep::do_matrix_assignment): Handle - case of lhs being of unknown type. - - * lex.l (check_for_garbage_after_fcn_def): Also ignore trailing - commas and semicolons. - -Sun Jul 11 00:08:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.73.1 released. - - * symtab.cc (symbol_record::alias): Also copy pointer to sv_fcn. - -Sat Jul 10 14:34:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_function::eval (int, char **, int): New function. - - * symtab.cc (symbol_table::bind_globals): New function. - * tree.cc (tree_function::eval): Use it to associate local symbols - with global data. - - * symtab.cc (alias): Add optional parameter `force'. - - * Version 0.73 released. - - * pr-output.cc: Use D_NINT instead of NINT in some cases to avoid - overflow problems on systems that don't have IEEE Inf. - * mappers.cc (round): Likewise. Also avoids conversion of Inf to - INT_MAX on systems that do have IEEE Inf. - - * builtins.h: Remove definition of NINT. - * tree.h: Likewise. - * tree-const.h: Likewise. - - * utils.cc (NINT): Move function here and improve handling of - extreme values. - * (D_NINT): New function. - - * scripts/isempty.m: Don't require the number of rows and columns - to both be zero. - -Thu Jul 8 16:25:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.72.2. - - * configure.in: Do a better job of grabbing the last argument as - the target_host_type and avoiding setting it to things like - --prefix=/foo/bar - - * tree-const.cc (tree_constant_rep::save): Add default case for - mark_as_global switch to avoid warnings from gcc. - - * variables.cc (force_global): Cope with symbol table changes. - * tree.cc: (tree_identifier::do_lookup): Likewise. - * lex.l (lookup_identifier): Likewise. - * builtins.cc (install_builtins): Likewise. - - * symtab.cc, symtab.h: Massive internal rewrite. - -Wed Jul 7 02:18:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-assign.cc (tree_constant_rep::do_scalar_assignment): If rhs - is a scalar type, also handle case of lhs being of unknown type. - * Be sure to set the new type of the lhs. - - * tree-base.h: Don't include symtab.h. - * tree-const.h: Ditto. - -Tue Jul 6 22:47:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y (func_def2): Remove the function name from the top-level - symbol table if defining on command line (an M-file would never be - parsed if there was already an entry with the same name in the top - level symbol table). - - * parse.y (word_list_command): Allow clear without any arguments. - * tree.cc (word_list_command::eval): Handle word list commands - with no arguments. - -Mon Jul 5 14:43:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.72.1. - - * help.cc (operators): Document the double quote character. - - * lex.l (getting_help): Delete unused variable. - * (HELP_FCN): New exclusive start state. - * ({IDENT}{S}*): Set start state to HELP_FCN instead of setting - getting_help. - * ({IDENT}/{S}*=): Likewise. - - * symtab.cc (symbol_table::load): Delete unused function. - - * tree-const.cc (tree_constant::load): Return flag telling whether - the constant is global. - * t-builtins.cc (builtin_load): Handle global variables. - * (builtin_save): Likewise. - - * symtab.cc (symbol_record::save): Don't save builtin variables - (variables marked as eternal are assumed to be builtin). - - * symtab.cc (symbol_record::mark_from_global): New function. - * (symbol_def::undefine): Add optional argument to prevent - deleting symbol's definition. - * (symbol_table::undefine): If this variable has been marked as - defined from a global, call symbol_def::undefine with arg = 1. - * tree.cc (tree_identifier::do_lookup): If a local symbol is - defined from a global, mark it as such. - - * symtab.cc (symbol_record::define (symbol_record*)): Delete - unused function. - - * tree.cc (tree_identifier::do_lookup (int&)): Use operator= - instead of symbol_record::define(). - * variables.cc (force_global (char*)): Likewise. - -Sun Jul 4 01:27:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (symbol_record): Define copy constructor and operator=. - - * builtins.cc (install_builtins): Make `i' and `j' read-only - functions. - - * symtab.cc (symbol_record::define): Respect read-only status of - variables and functions. - -Sat Jul 3 19:11:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * user-prefs.h (print_empty_dimensions): New user preference variable. - * user-prefs.cc (print_empty_dimensions): New function. - * builtins.cc (print_empty_dimesions): Make default value true. - * tree-const.cc (tree_constant_rep::eval): Use value here. - - * cond.m: Handle empty matrices. - * tc-det.m (determinant): Likewise. - * tc-inv.m (inverse): Likewise. - - * tc-hess.cc (hess): Use gripe_square_matrix_required instead of - calling error. - * tc-schur.cc (schur): Likewise. - - * builtins.cc (propagate_empty_matrices): Change default value to - true. - - * tree-const.cc (tree_constant_rep::eval): If a matrix has zero - rows or columns, also print the dimension along with the `[]' - symbol. - - * tree-const.cc (do_binary_op): If ok to propagate empty matrices, - go ahead and do the binary operation so that the result will have - consistent dimensions. - * (do_unary_op): Likewyse. - - * tc-extras.cc (get_dimensions): Don't force both nr and nc to - zero if one is. - * Matrix.cc, DiagMatrix.cc, ColVector.cc, RowVector.cc: Handle - matrices with zero dimensions in a more consistent fashion. - -Thu Jul 1 00:27:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * perror.m: New M-file. - - * LP.h, LP.cc: New interface for linear programmming. - * LPsolve.h LPsolve.cc: New files to implement linear programming - using lp_solve. - - * NPSOL.cc (minimize): Also return the vector of Lagrange - multipliers. - * tc-npsol.cc (npsol): Optionally return them. - - * QPSOL.cc (minimize): Also return the vector of Lagrange - multipliers. - * tc-qpsol.cc (qpsol): Optionally return them. - - * tc-qpsol.cc (qpsol): Make it work. - -Wed Jun 30 02:19:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_lpsolve): New function. - * (builtin_qpsol): Ditto. - * builtins.cc (general_functions): Add them to the list. - - * tc-lpsolve.cc: New file. - * tc-qpsol.cc: Ditto. - * src/Makefile.in: Add them to the list of SOURCES and DLD_OBJECTS. - -Tue Jun 29 15:02:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/DAE.cc (integrate): If stop_time_set is false, reset - default value for info[3]. - * liboctave/ODE.cc (integrate): Likewise, reset default values of - iopt and itask. - - From Thorsten Ohl : - * config.guess: Add check for NeXT. - * configure.in: Add check for NeXT so that readline is configured - properly (really need to improve readline's configuration scheme). - * sysdep.cc (malloc_handler): New function for handling malloc - errors on NeXT systems. - - * octave.cc (main): Call sysdep_init before anything else. - - * sysdep.cc: New file for system dependent things. - - * octave.cc (initialize_globals): Only pass argv[0] since that's - the only thing that's used. - -Sat Jun 26 13:00:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_builtin::eval (int, char**, int)): Don't panic if - called for something other than a text_fcn. - - * t-builtins.cc (builtin_cd): Rewrite to fix bogus memory - problems. - -Fri Jun 25 15:23:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.cc (builtin_cd): Don't delete value returned by - get_working_directory. - * g-builtins.cc (builtin_pwd): Likewise, and simplify. - - * utils.cc (make_absolute): Always create a new copy to return. - * utils.cc (change_to_directory): Don't delete pointer returned - from get_working_directory(). - * (file_in_path): Likewise. - -Thu Jun 24 16:48:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l ({IDENT}{S}*): Always insert a comma if the next token - doesn't look like some sort of operator, not just if - convert_spaces_to_comma is also true (it may have been turned off - by BIN_OP_RETURN). - - * tree-const.h (matrix_ptr): Delete function. - * tc-extras.cc (frobit): Delete function. - * (get_dimensions): New function. - * (identity_matrix): Completely rewrite. - * (fill_matrix): Likewise. - -Wed Jun 23 13:50:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix-ext.cc (SCHUR::init): Also allow ord flag to be lowercase. - * (ComplexSCHUR::init): Ditto. - * tc-schur.cc (schur): Likewise. - - * Matrix-ext.cc (SCHUR::init): Declare sort as char, not char*, - and pass its address to Lapack. - * (ComplexSCHUR::init): Ditto. - - * Matrix-ext.cc (SCHUR::select_dig): Make static, and move ahead - of first reference in file. - * (SCHUR::select_ana): Likewise. - * (ComplexSCHUR::select_complex_dig): Likewise. - * (ComplexSCHUR::select_complex_ana): Likewise. - - * builtins.cc (install_builtins): Add `J' as an alias for `I'. - - * builtins.cc (install_builtins): Always create a new - tree_constant for each variable, since the symbol table doesn't - know how to share them. - - * tc-schur.cc (schur): Use warning and error functions instead of - writing directly to cerr. - * tc-hess.cc (hess): Ditto. - - * src/Makefile.in (DLD_OBJECTS): Include tc-schur.o and tc-hess.o. - * (SOURCES): Add tc-schur.cc tc-hess.cc. - - * Merge Schur and Hessenberg changes: - - Fri Mar 19 11:01:19 1993 R. Bruce Tenison (btenison@eng.auburn.edu) - - * src/builtins.cc: Changed schur definition to include one more - input. Also changed the help line description - * src/g-builtins.cc: Changed builtin_schur to accept two inputs - Also changed the information to explain ordered schur operation. - * src/tc-schur.cc Added extensions to the SCHUR and ComplexSCHUR - calls to pass extra paramater. Also added check for proper param. - * liboctave/Matrix.h: Modified declarations dgeesx and zgeesx to - accept address of select function. Modified class structures for - SCHUR and ComplexSCHUR to accept extra ordered schur param. - * liboctave/Matrix-ext.cc: Added extensions for the extra ordered - schur paramater. - - Wed Mar 17 15:23:14 1993 R. Bruce Tenison (btenison@eng.auburn.edu) - - * liboctave/Matrix-ext.cc (HESS and ComplexHESS): Added the - Hessenburg decomposition routines. - * liboctave/Matrix.h Added fortran lapack functions definitions - used in the Hessenburg procedure. - * src/g-builtins.cc (builtin_hess): Hessenburg Decomposition routine - added - * src/g-builtins.h (builtin_hess): Added extern definition. - * liboctave/Matrix.h Added classed HESS and ComplexHESS - * src/tree_const.h added defs for hess. - * src/tc-hess.cc (hess): New file for hess function. - - Tue Mar 16 10:46:32 1993 R. Bruce Tenison (btenison@eng.auburn.edu) - - * src/g-builtins.cc (builtin_schur): Schur Decomposition routine - added. - * src/g-builtins.h (builtin_schur): Added extern definition. - * liboctave/Matrix.h Added Classes SCHUR and Complex SCHUR, and - added defs for zgeesx and dgeesx (lapack schur decomp) - * liboctave/Matrix-ext.cc (SCHUR and Complex SCHUR): Ditto. - * src/tree-const.h added defs for schur. - * src/tc-schur.cc (schur): New file for schur function. - -Tue Jun 22 20:18:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (check_for_garbage_after_fcn_def): New function - * parse.y (fcn_end_or_eof): If reading from an M-file, use it to - print warning about trailing garbage after the end of a function - has been found. - -Mon Jun 21 20:21:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-assign.cc (tree_constant_rep::assign): Handle case of - assignment to unknown constant too. - * (tree_constant_rep::do_scalar_assignment): Don't fail for - unknown_constant type. - * (tree_constant_rep::do_matrix_assignment): Likewise. - - * tree-const.cc (rows): Return 0 for unknown_constant type. - * (columns): Likewise. - - * tree.cc (tree_identifier::assign): Defer defining symbol until - assignment is successful. - * When creating a new dummy tree_constant to assign a value to, - leave it an unknown_constant type. - - * tc-assign.cc (do_scalar_assignment): If the right hand side - isn't a scalar, maybe try to resize instead. - * (do_matrix_assignment): For A(:,int) and A(int,:) cases, also - resize if left hand side is a scalar. - - * norm.m: Allow "fro" to work for scalars and vectors too. - -Sun Jun 20 01:17:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * NLConst.cc: New file. Move inline function definitions here - from NLConst.h. - - * Objective.cc: New file. Move inline function definitions here - from Objective.h - - * tree.cc (tree_word_list_command::eval): Call strsave for argv[0] - too, and delete argv before returning. - * (tree_builtin::eval): Likewise, for text functions with no - arguments. - -Sat Jun 19 01:37:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (parse_and_execute): Delete calls to delete_buffer - and switch_to_buffer, since that is taken care of by unwinding the - frame. - -Fri Jun 18 00:08:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_matrix::eval): Delete useless direct = ptr->direct - and ptr = ptr->next statements from size-determining loop. - - * parse.y (opt_list): New rule. Replace all occurrences of list - with opt_list. - - * tree.cc: (tree_index_expression::eval (int, int)): Don't - complain if the index expression has an empty argument list. - - * octave.cc (initialize_globals): Check return value of - getenv ("HOME") against NULL, not the global variable - home_directory that we are trying to initialize. - - * tree.cc (tree_function::eval): Quick return if command list - is empty. - * parse.y (func_def3): Allow empty function bodies. - -Thu Jun 17 02:08:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_while_command): Add constructor for case of - expression only. - * parse.y (statement): Allow empty command list for while commands. - - * parse.y (list): Allow empty commands in more places. This ups - the shift/reduce error count by 6, to 19. - - * octave.cc (execute_startup_files): Don't delete sd. - - * octave.cc (initialize_globals): Make copies of all strings. - * Store more humorous messages if things fail. - -Tue Jun 15 11:03:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-extras.cc (get_user_input): Finish incomplete change to get - input using readline. - - * tc-extras.cc (match_sans_spaces): New function. - * (get_user_input): Use it when checking to see if the user - entered a `quit' command. - - * liboctave/Makefile.in: Don't distribute Makedeps.in or include - Makedeps since we generate dependencies automatically now. - * configure.in: Don't create liboctave/Makedeps. - -Sun Jun 13 18:31:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/xdiv.cc (xdiv): Solve least-squares problem if system of - equations is not square, or if it is singular. - * (xleftdiv): Likewise. - - * liboctave/Matrix.h (Matrix::lssolve): New functions for - least-squares solutions of linear systems. - * (ComplexMatrix::lssove): Ditto. - -Sat Jun 12 19:07:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * libcruft/misc/xstopx.f (xstopx): Call dostop, not do_stop. - * libcruft/misc/dostop.c: Rename from do_stop.c - * (dostop): Likewise. - - * src/mappers.cc (xisnan (double)): Define even for systems that - don't have xisnan by always returning false. - * (xisnan (const Complex&)): Likewise. - -Fri Jun 11 19:54:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * doc/Makefile.in (install): Try harder to install info files. - - * libcruft/Makefile.in (install): Run ranlib on installed library. - * liboctave/Makefile.in (install): Ditto. - * readline/Makefile.in (install): Ditto. - -Thu Jun 10 00:15:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.72 released. - - * libcruft/*/*.f: Don't call xstopx with '' since some Fortran - compilers object to zero-length strings. - * libcruft/misc/xstopx.f (xstopx): Don't print empty strings or - single blanks. - * libcruft/misc/gen-d1mach.c (main): Likewise, for generated code. - - * test/Makefile.in (check): Set the Tcl variable OCTAVE_PATH. - * test/config/unix-octave.exp: Pass OCTAVE_PATH to OCTAVE using - the new -p flag. - - * builtins.cc (install_builtins): Use load_path instead of calling - default_path(). - - * octave.cc (load_path): New global variable. - * (initialize_globals): Initialize it here by calling default_path(). - * (main): Call initialize_globals() before getting command line - arguments. - * Accept new argument, -p PATH. - - * octave.cc (clean_up_and_exit): Don't print a message when Octave - exits. - - * doinstall.sh: Install M-files in $(libsubdir), not $(libdir). - * Use mkpath to create directories. - * Extract version from version.h. - - * Makeconf.in (version): Compute version just once. - - * (libsubdir): New directory that includes version number, for - installing M-files in (old versions of Octave may not be able to - understand new M-files). - - * src/Makefile.in, libcruft/Makefile.in, liboctave/Makefile.in, - doc/Makefile.in, readline/Makefile.in, scripts/Makefile.in - (install): Use mkpath to create directories. - * scripts/Makefile.in (install): Install M-files in $(libsubdir), - not $(libdir). - - * mkpath.c: New file, from Emacs-19. - * Makefile.in (mkpath): New rule. - * (all): Depend on mkpath - * (binary-dist): Distribute it. - - * config.guess: Update from bothner@cygnus.com. - - * lex.l ({QSTR}*[\n\']): Set start state to 0 or MATRIX, - depending on value of braceflag. - * ({DQSTR}*[\n\"]): Ditto. - - * tree.cc (tree_matrix::eval): Make sure that strings are nul - terminated. - -Tue Jun 8 16:08:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (clean_up_and_exit): Print `bye-bye' here. - * g-builtins.cc (builtin_quit): Not here. - - * pager.cc (terminal_columns): If screenwidth <= 0, return a - default value of 80 columns. - * (terminal_rows): Likewise for screenheight and a default of 24 - rows. - - * octave.cc (parse_and_execute): Don't fiddle with interactive - states since that screws paging output. - * tree.cc (parse_m_file): Likewise. - - * parse.y (input): For `simple_list error END_OF_INPUT' and - `error END_OF_INPUT' use ABORT_PARSE. - * Always accept `simple_list END_OF_INPUT'. - * Always abort for `END_OF_INPUT'. - -Mon Jun 8 13:55:41 1993 John C. Campbell (jcc@schoch.che.utexas.edu) - - * file-io.h (fopen_file_for_user): New function declaration. - - * file-io.cc (fopen_file_for_user): New function. - * (fgets_internal): If file doesn't exist open it for user, - also return (double) -1 on EOF - * (fseek_internal), (ftell_internal), (frewind_internal), - (do_printf): Ditto. - * (fopen_internal): Remove warn_on_not_open flag, limit warns. - -Mon Jun 7 00:28:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * file-io.cc (do_scanf): Use `type' wherever possible instead of - hardcoding name in messages. - * (do_printf): Ditto. - - * file-io.cc (fflush_internal): If flushing stdout, flush output - to the pager instead of calling fflush on a stream. - * (do_printf): Make fprintf (stdout, ...) exactly the same as - printf (...). - * (do_scanf): Make fscanf (stdin, ...) exactly the same as - scanf (...). - - * tc-extras.cc (get_user_input): Flush output to pager before - prompting for input. - - * libcruft/Makefile.in (DISTFILES): Distribute STOP.patch to show - the changes made to the Fortran sources. - - * libcruft/*/*.f: Replace STOP statements with calls to xstopx, so - that Fortran programs won't just quit on us. - - * libcruft/misc/xstopx.f: New file. - * libcruft/misc/do_stop.c: New file. - * libcruft/misc/Makefile.in (SPECIAL): Add do_stop.c to the list. - * (SPECIAL_DEPEND): Likewise, for do_stop.o. - * libcruft/Makefile.in (CRUFT_OBJ): Ditto. - - * lex.l (")"): Don't pop the top of the in_brace_or_paren stack if - it's empty. - -Sun Jun 6 00:41:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * liboctave/CollocWt.cc (init): Always compute Gaussian quadrature - weights instead of trying to compute Radau or Lobatto weights if - the endpoints are included. - * Really do compute roots and derivative weights corresponding to - Legendre polynomials if alpha and beta are zero, even if the - endpoints are included. - -Sat Jun 5 22:19:55 1993 John C. Campbell (jcc@schoch.che.utexas.edu) - - * builtins.cc (builtin_general_functions): Correct max arg counts - for fscanf, scanf, and sscanf. - - * g-builtins.cc (builtin_fscanf): Correct argument checks. - * (builtin_sscanf): Likewise. - - * file-io.cc (fopen_internal): Don't warn for opening new file. - - * file-io.cc (process_printf_format): Handle * for field width and - precision. - * Pass array of arguments and nargin instead of just one arg. - * (do_printf): Call process_printf_format() with new args. - - * file-io.cc (process_scanf_format): New function to handle scanf - dirty work. - * (do_scanf): New function. - -Sat Jun 5 14:09:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (YY_FATAL_ERROR): Redefine here to keep from exiting on - fatal scanner errors. - -Fri Jun 4 16:35:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_multi_assignment_expression::eval (int)): Check to - see if result is NULL before trying to use it. - - * tc-extras.cc (get_user_input): Call gnu_readline() to get input. - -Thu Jun 3 00:30:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * scripts/*.m: Convert single-quoted strings to use double quotes - since the manual says they are better. - - * Version 0.71.10. - - * doc/Makefile.in (DISTFILES): Distribute octave.info*. - - * Makefile.in (.fname): Delete target and move actions back to the - individual dist targets because this always needs to be done. - * (binary-dist): Strip src/octave. - - * doinstall.sh: New file, for binary distributions. - -Wed Jun 2 15:11:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Makefile.in (binary-dist): New target, just like dist, except - also distribute libcruft.a, liboctave.a, libreadline.a and - src/octave. - - * Makefile.in (.fname): New target. - * (links-for-dist): New target. - * (local-dist): Depend on .fname. - * (dist): Depend on .fname and use links-for-dist. - - * octave.cc: Move code to print startup message to just after - option processing so that any messages from startup files will - appear after the normal startup message. - - * utils.cc (get_site_defaults): New function. - * (OCTAVE_HOME): Provide default definition. - - * (SITE_DEFAULTS): Delete definition. - * octave.cc (execute_startup_files): Use get_site_defaults instead. - - * src/Makefile.in (utils.o): Define OCTAVE_HOME to be $(prefix) - here. - - * Makeconf.in: Don't define SITE_DEFAULTS or OCTAVE_M_FILE_DIR. - - * lex.l (do_string_escapes): Recognize `\"'. - -Tue Jun 1 01:28:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.71.9. - - * parse.y (maybe_convert_to_ans_assign): Greatly simplify. - - * file-io.cc (File_info): Convert from struct to proper class. - * (valid_mode): New function. - - * parse.y, parse.h, lex.l, tree-extras.cc (convert_to_ans_assign): - Delete unused variable. - - * builtins.cc (SEEK_CUR): Set to 1 to match (normal) system values. - * (SEEK_END): Likewise, set to 2. - - * statdefs.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * octave-hist.cc: Include it. - * variables.cc (identifier_exists): Likewise. - * utils.cc (is_newer): Likewise. - - * builtins.cc (SEEK_SET): New builtin varible. - * (SEEK_CUR): Ditto. - * (SEEK_END): Ditto. - * (stdin): Ditto. - * (stdout): Ditto. - * (stderr): Ditto. - - * lex.l (strip_trailing_whitespace): New function. - * ({IDENT}{S}*): Use it. - * ([^ \t\n\;\,]*): Fix to grab trailing spaces. - Use strip_trailing_whitespce() to delete it before returning. - -Mon May 31 21:00:00 1993 John C. Campbell (jcc@june.che.utexas.edu) - - * file-io.cc, file-io.h: New files to implement C-style file - handling and I/O functions. - * (do_printf): Move here from tc-extras.cc. - * (process_printf_format): Likewise. Also renamed from - process_format. - -Mon May 31 00:52:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * (tree_function::eval): Now that we can restore values, enable - code to give error for attempts to call functions recursively. - - * octave.cc (parse_and_execute): Use unwind-protect functions to - save and restore state. - * tree.cc (parse_m_file): Likewise. - * (tree_function::eval): Likewise. - * tc-extras (eval_string): Likewise. - - * unwind-prot.cc (saved_variable): New class to hold values of and - pointers to variables we want to restore. - * (restore_saved_variable): New function. - - * unwind-prot.cc (unwind_protect_int_internal): New function. - * (unwind_protect_ptr_internal): Ditto. - * (unwind_protect_var_internal): Ditto. - - * unwind-prot.h (unwind_prot_int): New macro. - * unwind-prot.h (unwind_prot_ptr): Ditto. - * unwind-prot.h (unwind_prot_var): Ditto. - - * variables.cc (symbol_out_of_date ()): Move here from tree.cc. - * (is_valid_function): Fix logic for finding a function - definition, including checking to see if the current symbol - definition is out of date. - - * tree-const.h (is_numeric_or_range_type): New function. - * tree-const.h (is_string_type): New function. - * tree.cc (tree_matrix::eval): Use !is_string_type() instead of - is_numeric_type() to decide that we've seen something other than - a string. - - * parse.y (maybe_warn_assign_as_truth_value ()): New function. - * user-prefs.h (warn_assign_as_truth_value): New preference. - * user-prefs.cc (warn_assign_as_truth_value ()): New function. - * builtins.cc (string_variables): Add it to the list. - - * tree.h (tree_simple_assignment_expression): Rename class from - tree_assignment_expression. - * (tree_assignment_expression): New class, derived from - tree_expression. - * (tree_simple_assignment_expression): Derive from new - tree_assignment_expression class, not tree_expression class. - * (tree_multi_assignment_expression): Ditto. - -Sun May 30 22:40:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/Makefile.in (%.d: %.cc): First remove target file, then - redirect into tmp file, and finally move tmp file to target file - only if creating tmp file was successful. - * liboctave/Makefile.in (%.d: %.cc): Ditto. - -Sat May 29 18:18:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_constant *tree_multi_assignment_expression - ::eval (int print, int nargout)): New function. - * (tree_constant tree_multi_assignment_expression::eval (int print)): - Use it to do the real work. - - * tree.cc (tree_matrix::to_param_list ()): Also allow index - expressions as long as the argument list is missing. - - * parse.y (ans_expression): Now that assignments are just - expressions, don't convert expressions to assignemnts to `ans' if - they already are assignments. - * maybe_convert_to_ans_assign (tree *expr): New function to do the - real work. - - * tree.cc (tree_multi_assignment_expression:: - is_assignement_expression ()): Return 1. - - * tree-base.h (tree::is_index_expression ()): New virtual - function, returns 0. - * tree.cc (tree_index_expression::is_index_expression ()): Return 1. - - * tree.cc (tree_assignment): Construct from tree_index_expression - and a tree. - * (tree_index_expression::ident ()): New function. - * (tree_index_expression::arg_list ()): New function. - - * parse.y (variable): New rule, returns tree_index_expression. - - * parse.y: Rewrite assignment rules so that they are simply - expressions, not special cases. - * Rearrange fact and expression rules into expression (assignement - or simple expression), simple_expr (binary and postfix expressions - or secondary simple expression), and simple_expr1 (constants and - prefix expressions) rules. - * Delete fact rules. - - * parse.y: Make EXPR_EQ and EXPR_NE have the same precedence as - the other relational operators. - -Fri May 28 10:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * unix-octave.exp: Delete use of OCTAVEFLAGS. - - * test/config: New directory. - * test/config/Makefile.in: New file. - * test/config/unix-octave.exp: Rename from test/octave-init.exp. - * test/Makefile.in (SOURCES): Delete octave-init.exp from list. - * configure.in: Add test/config/Makefile to the list of Makefiles - to build. - - * utils.cc (send_to_plot_stream): Plot lines by default. - -Thu May 27 08:03:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (\]): Don't pop the top of the in_brace_or_paren stack if - it's empty. - - * tree.cc (tree_matrix::eval): Make it work for single element - strings as well. - - * Version 0.71.8. - - * lex.l (next_token_is_postfix_unary_op): New function. - * ({SN}*\]{S}*): Use it as well, to decide whether to - insert a comma. - * ({S}+): Likewise. - * ({IDENT}{S}*): Likewise. - -Wed May 26 15:37:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * pr-otput.cc (pr_any_float): Use form() now that iostream - formatting bug has been fixed (libg++-2.3.1). - -Mon May 24 15:36:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (any_arg_is_magic_colon): New function. - * (tree_builtin::eval) Use it to avoid calling builtin functions - with `:' arguments. - -Sun May 23 14:07:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_fprintf): Correct usage message. - -Fri May 21 10:35:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.71.7. - - * octave.cc (main): Always reset_parser() before every call to - yyparse(), not just on a longjmp return. - - * doc/Makefile.in (install): For now, don't try to install - anything. - - * lex.l ({S}+): Call next_token_is_bin_op() instead of - making the check in line. - * ({SN}*\]{S}*): Likewise. - * ({S}+): Likewise. - - * lex.l (looks_like_bin_op): New function. - * (next_char_is_space): Ditto. - * (next_token_is_bin_op): Ditto. - - * lex.l ({IDENT}{S}*): If we're in a brace context and the next - character is an open paren, set convert_spaces_to_comma to 0. - * tree-const.cc (convert_to_str): New function. - * g-builtins.cc (builtin_setstr): New function. - * builtins.cc (builtin_general_functions): Add it to the list. - -Thu May 20 17:56:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * doc/Makefile.in (SOURCES): Define to be all .texi files. - * (octave.info): Depend on $(SOURCES). - * (octave.dvi): New target. - * Don't distribute the man page. - - * lex.l ({S}+): If the next character is a plus or minus - followed by a space or tab, don't insert a comma. This makes - input like [1 + 1] == 2 and input like [1 +1] == [1 1]. - * ({SN}*\]{S}*): Likewise. - - * lex.l ({S}+): Use in_brace_or_paren and - convert_spaces_to_comma to decide whether to convert spaces to a - comma. - - * lex.l ({IDENT}{S}*): If we're in a brace context and the next - character is an open paren, set convert_spaces_to_comma to 0. - - * lex.l ({SN}*\]{S}*): Even if we're still inside some braces, - don't always push a comma onto the input. - - * lex.l ({SN}*\]): Also grab trailing spaces. - * ({IDENT}): Ditto. - - * lex.l (in_brace_or_paren): New stack to keep track of whether - the closest enclosing scope is a pair of braces or parens. When - we see a `[' or a `(', push a flag on the stack. When we see a - `]' or a `)', pop the top of the stack. - - * lex.l (convert_spaces_to_comma): New flag to control lexer behavior. - * (RETURN): Reset it to 1. - * (most other returns): Reset it to 1. - - * lex.l (BIN_OP_RETURN): New macro. Set convert_spaces_to_comma to 0. - * (most binary operators): Use it instead of RETURN. - - * lex.l (match_any): New function. - -Wed May 19 12:51:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Range.cc (nelem_internal): Don't allow ranges with more than - INT_MAX elements. Return -1 to indicate failure. - * tree-const.cc (tree_constant_rep::tree_constant_rep (double, - double, double)): Check nelem() to see if the range is valid. - - * pr-output.cc (all_elements_are_ints (Range&)): We only need to - check the base and the increment, not the limit too. - - * Range.cc (nelem_internal): Move function definition here from - Range.h and do a better job of determining the number of elements - in the range. - -Tue May 18 09:06:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.71.6. - - * tc-extras.cc (find_nonzero_elem_idx): Declare inner loop - iteration variables that are used inside later nested loops - in the outer enclosing scope to make this work for old and new - language definitions (see the ARM, chapter 19: "ANSI/ISO - Resolutions", 6.4/6.5: "The statement or statements immediately - controlled by the condition in a selection-statement, or an - iteration-statement introduce an implicit local scope". - * xpow.cc (elem_xpow (Matrix&, Matrix&)): Likewise. - - * tree.cc (tree_identifier::parse_m_file (char*, int)): Set - reading_script_file before calling parse_m_file and restore it - afterward. - -Mon May 17 20:04:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.h (prog_name): Declare extern. - * (raw_prog_name): Ditto. - - * f2c-compat.sh (ctest.c): Also write a dummy MAIN_ since gcc 2.4 - doesn't seem to create an executable now if there are unresolved - externals, and the linker wants to see it on Suns. - -Thu May 13 01:06:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Makefile.in (DISTFILES): Include Makeconf.in. - - * configure.in: Set defaults for CFLAGS, CXXFLAGS, LDFLAGS, and - FFLAGS. - * Don't substitute CDEBUG, COPTIMIZE, FOPTIMIZE, or CXXOPTIMIZE. - * Use AC_PROGRAMS_CHECK instead of our own code for checking for a - Fortran compiler. - * Add Makeconf to the list of files to create. - - * src/Makefile.in (octave): Use ALL_LDFLAGS instead of LDFLAGS. - - * Makeconf.in (ALL_CFLAGS, ALL_CXXFLAGS, ALL_LDFLAGS): New macros. - * Allow the user to set CFLAGS, CXXFLAGS, and FFLAGS without - screwing things up. - * (CDEBUG, COPTIMIZE, FOPTIMIZE, CXXOPTIMIZE): Delete. - * Provide rules for making .o from .cc or .c files that use - ALL_CXXFLAGS and ALL_CFLAGS. - - * src/Makefile.in: Generate dependencies automatically using the - method described in the GNU make manual. - * liboctave/Makefile.in: Likewise. - - * All Makefile.in files: Set TOPDIR and include $(TOPDIR)/Makeconf. - * Makeconf.in: New file, for most configuration options. - - * tc-rand.cc (rand_internal): Return an empty matrix for rand (0). - -Wed May 12 01:32:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (clean_up_and_exit): Call close_plot_stream before - quitting. - - * Version 0.71.4. - - * pr-output.cc (octave_print_internal (ostrstream&, Matrix&)): - Handle wrapping columns neatly, respecting value of split_long_rows. - * (octave_print_internal (ostrstream&, ComplexMatrix&)): Ditto. - * (octave_print_internal (ostrstream&, Range&)): Ditto. - - * user-prefs.cc (split_long_rows): New preference variable and - function. - * builtins.cc (builtin_string_variables): Add to list with default - value == true. - -Tue May 11 02:20:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * pr-output.cc (pr_max_internal): Don't count Inf or NaN when - looking for max value. - * (pr_min_internal): Likewise, for min values. - - * pr-output.cc (pr_any_float): Merge pr_float and pr_imag_float. - - * pr-output.cc (any_element_is_inf_or_nan (Matrix&)): New function. - * (any_element_is_inf_or_nan (ComplexMatrix&)): New function. - * (all set_format functions (except Range)): Consider Inf and NaN - when computing field width (we'll either print "Inf" (possibly - with a sign) or "NaN"). - - * pr-output.cc (pr_float): Handle Inf and NaN. - * (pr_imag_float): Ditto. - - * pr-output.cc (set_format_style): Make format short set precision - to 3 and max field width to 8. - - * pr-output.cc (pr_float): Don't print a sign for -0.0. - * (pr_imag_float): Ditto. - - * pr-output.cc (all set_format functions): Return the actual field - width computed or 0 if free format. For complex, return both real - and imaginary field widths. - * Include pager.h for terminal_rows() and terminal_columns(). - - * pr-output.cc (pr_complex): If imaginary part is -0.0, print a - minus sign but convert the value to 0.0 before printing. - - * octave.cc (parse_and_execute (FILE *, int)): Don't use readline - to read commands from files. - * (parse_and_execute (char *, int)): Set reading_script_file - before calling get_input_from_file. - - * Version 0.71.3. - - * src/Makefile.in (deps): New target. - * Update dependencies using the output from running `make deps'. - - * pr-output.cc (set_output_prec_and_fw): New function. - * (set_format_style): Use it. - * (set_format functions): Use user_pref variables for precision - and field width. - - * variables.cc (octave_real_scalar_variable): New function. - * buitlins.cc (builtin_string_varaibles): Add output_precision and - max_field_width to the list (really need a separate list for - numeric values...). - * user-prefs.cc (set_output_max_field_width): New function to be - called when output_max_field_width changes. - * (output_precision): Likewise, for output_precision. - - * sighandlers.cc (pipe_handler_error_count): New global variable. - * (sigpipe_handler): Use it to keep from printing more than one - broken pipe message between prompts. - * (input.cc): Reset pipe_handler_error_count before printing the - prompt. - -Mon May 10 13:06:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * sighandlers.cc (sigpipe_handler): Issue warning and return - instead of aborting. - - * user-prefs.cc (all sv_* functions): Don't delete previous value - of a preference string if the new value is bogus. - - * user-prefs.cc (all sv_* functions and all functions that handle - user preferences): Return 0 for success, -1 for failure. - * symbtab.cc (symbol_record::define): Check return value of sv_fcn - and restore previous value on failure. - * symtab.h (sv_Function typedef): Change to return int, not void. - * builtins.h (sv_Function typedef): Ditto. - -Sun May 9 18:25:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * user-prefs.cc (all sv_* functions): Issue a warning if the user - gives us something that's not a string. - -Sat May 8 23:40:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * ColVector.cc (ColumnVector::min): Upper loop limit is len, not 0. - * (ComplexColumnVector::min): Ditto. - * RowVector.cc (RowVector::min): Ditto. - * (ComplexRowVector::min): Ditto. - -Fri May 7 18:41:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * pr-output.cc (set_format_style): New function, extracted from - builtin_format(). - * t-builtins.cc (builtin_format): Call set_format_style to do real - work. - - * pr-output.cc: New file for special formatted printing funcions. - * tree-const.cc (tree_constant_rep::eval): Use new functions. - - * user-prefs.cc (sv_pager_binary): New function. - * user-prefs.h (user_preferences) Add new field, pager_binary. - * builtins.cc (builtin_string_variables): Add PAGER to the list. - * utils.cc (default_pager): New function. - * Makefile.in: Define DEFAULT_PAGER for utils.cc, not pager.cc. - * pager.cc (get_pager): Delete function. - * Use user_pref.pager_binary instead of calling get_pager(). - -Thu May 6 11:05:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * pager.cc (pager_buf): Declare as static pointer to ostrstream. - * (initialze_pager): Delete old pager_buf and create new one for - each batch of output. This is needed because once str() is called - for pager buf, it will no longer grow. - - * pager.cc (maybe_page_output): Take care of deleting buffer after - str() is called. - * (flush_output_to_pager): Likewise. - * t-builtins.cc (builtin_ls): Likewise. - * (builtin_set): Likewise. - * (builtin_show): Likewise. - * tc-extras.cc (process_format): Likewise. - * (process_format): Likewise. - * tree-plot.cc (tree_plot_command::eval): Likewise. - -Wed May 5 10:45:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_shell_command): Buffer characters with an - ostrstream and call maybe_page_output instead of writing directly - to cout. - * (builtin_warranty): Likewise. - * tc-extras (do_printf): Likewise. - * tree.cc (tree_identifier::eval): Likewise. - * (tree_assignment_expression::eval): Likewise. - * (tree_multi_assignment_expression::eval): Likewise. - * tree-const.cc (tree_constant_rep::eval): Likewise. - * t-builtins.cc (builtin_help): Likewise. - * (builtin_ls): Likewise. - * (builtin_who): Likewise. - - * user-prefs.h user-prefs.cc (page_screen_output): New preference. - * builtins.cc (string_variables): Add to list with default value - of true. - - * input.cc (octave_gets): If interactive, call flush_to_pager() - before prompting. - - * utils.cc (terminal_rows): Move to pager.cc - * (terminal_columns): Likewise. - * (get_pager): Likewise. - - * pager.h, pager.cc: New file to handle pager stuff. - * src/Makefile.in: Fix things to distribute and compile them. - - * libcruft/Makefile.in (CRUFT_OBJ): Strip $(srcdir)/ and convert - from .f to .o in two steps since some versions of GNU make strip - the leading ./ from the output of $(wildcard), causing my pattern - match to fail if compiling in the source tree. - -Tue May 4 09:13:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (symbol_record::define (symbol_record *)): Delete old - name before saving new name. - * (symbol_record::document): Likewise, for var.help and fcn.help. - - * parse.y (ABORT_PARSE): Renamed from DO_ABORT. - -Mon May 3 01:00:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc: Define destructors for every class in tree.h. It - appears that it should always be ok to delete everything in a - command tree once we're done executing it. Function definitions - are still ok because the parser doesn't set global_command to the - tree_function we've built (that's saved somewhere in the symbol - table and shouldn't be deleted until we clear or redefine the - function). - - * utils.cc (pathstring_to_vector): Do memory management here so - callers don't have to. - * (default_path): Likewise. - - * utils.cc (make_absolute): Return current_path (not a copy) since - it is static. - * (get_working_directory): Return the_current_working_directory - (not a copy) since it is global. - - * utils.cc (cleanup_tmp_files): Delete filename when done. - - * parse.y: Replace output to cerr with calls to error() or warning(). - * DO_ABORT: New macro. Use it instead of YYERROR for errors that - we detect, and call yyerror since bison doesn't. - * (param_list1): Detect invalid parameter lists. - * (yyerror): Don't print pointer if it is past the end of the line. - -Sun May 2 13:03:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-extras.cc (process_format): Use ostrstream instead of a - fixed-size character string to buffer the format. - - * utils.cc (terminal_rows): Get info from readline variable - instead of hardcoded constants. - * (terminal_columns): Likewise. - - * utils.cc (maybe_page_output): New function. - * t-builtins.cc (builtin_help): Use it. - * (builtin_who): Ditto. - * Don't include procstream.h anymore since we no longer need it. - - * utils.cc (jump_to_top_level): Call run_all_unwind_protects () - before jumping back to the top level. - -Sat May 1 20:59:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * unwind-prot.cc unwind-prot.h: New files to implement memory - cleanup stuff. - * src/Makefile.in: Distribute them. - - * Version 0.71.2. - - * computer.m: Delete file. - * scripts/Makefile.in (computer.m): Add $(srcdir)/ prefix to - computer.in. - -Fri Apr 30 17:03:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.h (::row (int i)): New function for extracting a - row of a matrix where CLASS is one of Matrix, DiagMatrix, - ComplexMatrix, or ComplexDiagMatrix. - * (:: column (int i)): Likewise for columns. - * (::row (char *s)): Likewise, but selection is done with a - character string. Currently we accept anything beginning with `F' - or `f' to mean the first row and anything beginning with `l' or - `L' to mean the last row. - -Wed Apr 28 14:23:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * scripts/computer.in: New template file for computer.m. - * scripts/Makefile.in (computer.m): Generate a custom computer.m - file using $target_host_type. - * (clean): Delete computer.m. - - * configure.in: If last argument is not empty, use its value as - the TARGET. - * If we aren't given a TARGET, use config.guess to find one. - * Substitute target_host_type. - - * config.guess: New file, taken from gdb distribution. - * Makefile.in: Distribute it. - - * tree-const.cc (force_numeric): New parameter, force_str_conv to - allow us to ignore user preference on string to numeric - conversion. - * (make_numeric): Likewise. - - * tree.cc (tree_matrix::eval): Allow range constants in matrix - lists by simply converting them to matrices. - * Ditto for string constants. - -Tue Apr 27 17:21:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * utils.cc (smells_like_X11): Delete unneeded function. - * builtins.cc (install_builtins): Don't initialize - graphics_terminal since it's no longer needed. - - * utils.cc (pathstring_to_vector): Call tilde_expand on each - element of the path. - - * mappers.cc: Include float.h for DBL_MAX. - -Wed Apr 21 19:31:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * mappers.cc (xisnan (Complex&)): Rename from isnan. - * builtins.cc (mapper_functions): Use xisnan instead of isnan. - * (install_builtins): Special case for linux for geenerating - infinity and NaN. - -Mon Apr 19 14:10:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.71.1 released. - - * symtab.cc (char **sorted_list (int& count)) New function. - * (char **sorted_var_list (int& count)): Ditto. - * (char **sorted_fcn_list (int& count)): Ditto. - * t-builtins.cc (builtin_who): Check symbol count too. - - * utils.cc (send_to_plot_stream): Check is_open(), not just the - state of the stream. - * (close_plot_stream): Likewise. - - * procstream.cc, procstream.h: Rewrite, taking a hint from the GNU - fstream class. - -Sun Apr 18 17:40:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.cc (builtin_help): Don't call list_in_columns if - there isn't anything to list. - -Fri Apr 16 20:57:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Makefile.in (DISTDIRS): List dld here. - * (DISTSUBDIRS): Not here. - -Thu Apr 15 12:17:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.71 released. - - * scripts/*.m: Improve help messages for most files. - - * libcruft/Makefile.in: Make libcruft.a here. - * libcruft/Makerules.in: Not here. - - * PLOTTING: New file. - * Makefile.in: Add it to the list of files we distribute. - - * g-builtins.cc (builtin_shell_command): New function. - * builtins.cc (general_functions): Add it to the list. - - * procstream.h, procstream.cc (iprocstream): New class. - - * lex.l ({SN}*\]): Maybe insert a comma after reading a `]'. - - * t-builtins.cc (builtin_load): Do tilde expansion for the file name. - * (builtin_save): Ditto. - -Wed Apr 14 10:40:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_function::eval): Until we have a proper call frame - unwinding scheme, comment out previous change. - - * tree.cc (tree_matrix::eval): Brain Transplant. - * (tree_matrix::length): New function. - - * tree-base.h (matrix_dir): Delete md_none, md_left, and md_up. - The only valid values are md_unknown, md_right, and md_down. - -Tue Apr 13 20:07:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.h (tree_function::call_depth): New member variable. - * tree.cc (tree_function::eval): Check it to make recursive - function calls fail (waiting for proper symbol table handling). - - * utils.cc (pathstring_to_vector): Don't prepend `.' here. We do - that already in default_path() if the user hasn't given us a - loadpath. - - * t-builtins.cc (builtin_help): Get help for M-files even if they - haven't been compiled yet. - * List M-files we find in the loadpath. - - * utils.cc (get_m_file_names): Split into two functions, add - parameter to specify whether .m suffix is deleted. - - * lex.l (grab_help_text): New function. - * (beginning_of_function): New global variable. - * (%|#): Call grab_help_text() if at beginning of a function. - * tree.cc (tree_identifier::document): New function. - * parse.y (func_def2): Use it. - * (help_buf): New global buffer for help text. - -Mon Apr 12 00:31:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * utils.cc (get_m_file_names): New function. - * variables.cc (make_name_list): Use it. - - * t-builtins.cc (list_in_columns): Put output on an strstream - instead of in a String. - * (builtin_help): Use an strstream instead of a String for buffering. - * (builtin_who): Likewise. - - * g-builtins.cc (builtin_keyboard): New function. - * builtins.cc (general_functions): Add to list. - - * tc-extras.cc (get_user_input): If the user enters `exit', - `quit', or `return', return instead of eval'ing the string. - * Don't abort on empty input. - * Add additional argument to handle debugging via new `keyboard' - function. If doing debugging, keep reading until we see `exit', - `quit', or `return'. - - * menu.m: New M-file. - - * New top level plotting functions: - - plot.m semilogx.m semilogy.m loglog.m polar.m - title.m xlabel.m ylabel.m grid.m bar.m - stairs.m mesh.m meshdom.m contour.m - - * New internal plotting functions: - - plot_int.m plot_2_s_s.m plot_2_v_v.m plot_2_v_m.m - plot_2_m_v.m plot_2_m_m.m polar_int.m - - * New utility functions: - - is_scalar.m is_vector.m is_matrix.m - -Sun Apr 11 11:10:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-buitlins.cc (builtin_ls): New function. - * builtins.cc (text_functions): Add it to the list under the names - `ls' and `dir'. - -Sat Apr 10 15:13:05 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * procstream.cc (oprocstream::close): Set badbit for stream after - it is closed. - - * utils.cc (close_plot_stream): New function. - * g-buitlins.cc (closeplot): New builtin function. - * builtins.cc (general_functions): Add to list. - - * lex.l (cant_be_identifier): New cruft to properly handle the - plot command's `using', `title', and `with' keywords. - -Fri Apr 9 09:38:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Warn if it looks like gnuplot isn't installed. - - * utils.cc (send_to_plot_stream): Check the user's preference for - the gnuplot binary. - - * user-prefs.cc (sv_graphics_terminal): Delete function. - * user-prefs.h (graphics_terminal): Delete variable. - - * tree-plot.cc (tree_subplot_using::print): Add argument to allow - checking of columns given in using command and use it. - * (tree_plot_command::eval): Change caller. - - * parse.y (title): Allow plot title to be any expression. - * tree-plot.cc (subplot_list): Likewise. - - * tree-plot.cc (tree_plot_command::eval): Don't let lusers try to - make 2D parametric plots, since that seems to crash gnuplot. - - * tree.cc (tree_identifier::parse_m_file): Don't try to stash - m-file name or time parsed if we were actually executing a script - file. - - * sombrero.m: New M-file to demonstrate 3D plotting. - - * parse.y (plot_options): Allow them to be specified in any order. - - * g-builtins.cc (builtin_purge_tmp_files): New function. - * builtins.cc (general_functions): Add to list. - - * g-builtins.cc, g-builtins.h (builtin_plot): Delete. - * builtins.cc (general_functions): Delete entry for builtin_plot. - - * t-builtins.cc (builtin_set): Check to see if the user is setting - up parametric plotting. - * tree-plot.cc (parametric_plot): New global variable. - * tree_const.cc (save_three_d): New function. - * tree-plot.cc (tree_subplot_list::print): Handle 3D plots. - - * Makefile.in: Delete everything having to do with distributing or - making gnuplot. - * configure.in: Likewise. - -Thu Apr 8 10:02:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * utils.cc (send_to_plot_stream): New function. Move declaration - of plot_stream to utils.cc and make static. - - * t-builtins.cc (builtin_set): New function. - * (builtin_show): Ditto. - - * lex.l: Handle set command. - * (doing_set): Yet another global variable to control behavior of - the lexer. - - * tree-plot.cc (tree_subplot_using::print): Print warning if scanf - format string is given. - - * parse.y (ranges1): Allow lower and upper bounds to be optional. - * tree-plot.cc (tree_plot_range::print): Make it work. - - * tree-plot.cc: New file, extracted from tree.cc. - - * sighandlers.cc (install_signals): New function. - * (*_handler): New set of functions to handle signals that would - otherwise cause us to abort. - * (my_friendly_exit): Call exit from most signal_handlers to clean - up tmp files, etc. - - * lex.l (do_string_escapes): Correctly handle '' quotes. - * Warn about unrecognized escape sequences but convert them to the - escaped character anyway. - * (EXPON): New definition. Use it and ? qualifier to shorten the - expressions for matching numbers. - * (ECHAR): New definition. Use it to correctly match - backslash-escaped characters in strings. - * Definitions: Surround multi-character definitions in ()'s to - avoid potential problems with things like {DEF}*. - * (QQ): Rename from DQ. - * (DQSTR): New definition for strings in double quotes. - * (DQSTRING): New start state. Recognizing a naked " puts us here. - * ("\n"): Turn off quote_is_transpose at the beginning of each line. - * Use error functions instead of writing messages directly. - * Don't include iostream.h -- we don't need it now. - * Do include error.h. - -Wed Apr 7 13:12:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * sighandlers.h, sighandlers.cc: New files for signal handling - functions. - * Makefile.in: Include them in the usual places. - * octave.cc (interrupt_handler): Move to sighandlers.cc and rename - to sigint_handler. - - * utils.cc (mark_for_deletion): New function. - * octave.cc (cleanup_tmp_files): New function. - * octave.cc (main): Register cleanup_tmp_files with atexit - (on_exit for sun). - - * Stack.h: Template based stack class converted from libg++ - genclass files. - * SLStack.h: Likewise. - * (SLStack::pop): Avoid apparent bug in SLList::remove_front. - -Tue Apr 6 10:01:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (almost_match): New function. - * (plot_style_token): New function. - - * t-buitlins.cc: Include procstream.h instead of procbuf.h. - * (builtin_help): Simplyfy opening of process output stream. - * (builtin_who): Likewise. - -Mon Apr 5 13:48:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-extras.cc (tree_constant_to_scalar): Move to tree-const.cc - and make it a member function called to_scalar. - * (tree_constant_to_vector): Likewise. - * (tree_constant_to_matrix): Likewise. - - * procstream.h, procstream.cc: New files/classes that implement - an ostream to a process. Built on top of procbuf from libg++. - * src/Makefile.in: Add them to the lists of files/objects. - -Sat Apr 3 23:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Lots of clean-up changes to parse.y, tree.cc, tree.h, and - tree-base.h. Use more specific types than just for - nonterminals. This allows us to have fewer virtual functions in - the base class. Safer. Cleaner. Should have always been this - way... - -Fri Apr 2 10:04:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y, lex.l: Fix grammar to accept plot command very similar - to the gnuplot plot command. - -Wed Mar 31 13:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (eval_undefined_error): Until we can figure out how to - clear names without causing problems later on, just remove the - symbol name. - - * tree.h (tree_plot_command): New class. - * (tree_plot_limits): Ditto. - * (tree_plot_range): Ditto. - * (tree_subplot_list): Ditto. - * (tree_subplot_using): Ditto. - * (tree_subplot_style): Ditto. - - * tree-base.h (command_type): Add plot_command to list. - -Mon Mar 29 09:53:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * find_exec.c (ABSOLUTE_FILENAME_P): Also return true if the - given filename begins with `.'. - - * DAE.cc, DAE.h, DAEFunc.h, tc-dassl.cc: Make sure all calls to - dassl and the user-supplied functions have consistent argument - lists. - - * octave.cc (raw_program_name): New global variable to hold the - unprocessed argv[0]. This is to help dld find the absolute path - to the executing program. - * (initialize_globals): Pass in argc and argv from main. - Initialize raw_prog_name. - - * builtins.cc (general_functions): Correct help message for dassl. - * g-builtins.cc (dassl_usage): Likewise. - - * src/Makefile.in: Lots of changes to make things work with or - without dld. - * Makefile.in: Likewise. - * configure.in: Likewise. - - * dld: New directory, containing our copy of the dld sources. - - * dynamic-ld.cc, dynamic-ld.h: New files to implement dynamic - loading functions. - * src/Makefile.in: Add them to the distribution, compile them if - doing dynamic loading. - -Sun Mar 28 11:03:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: When looking for Fortran compilers, check for fc - last to avoid confusion with some vendor's /bin/sh fc builtin. - * Handle new argument --with-dld. - - * g-builtins.cc (builtin_warranty): Add 1993 to list of copyright - dates. - -Sat Mar 27 17:58:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-extras.cc: Rename from tree-extras.cc. - * tc-colloc.cc, tc-dassl.cc, tc-det.cc tc-eig.cc, tc-fft.cc, - tc-fsolve.cc, tc-fsqp.cc, tc-ifft.cc, tc-inv.cc, tc-lsode.cc, - tc-lu.cc, tc-npsol.cc, tc-qr.cc, tc-quad.cc, tc-rand.cc, - tc-svd.cc: Split individual functions from tree-extras.cc. - - * g-builtins.cc (npsol_usage): Improve message. - * (dassl_usage): Likewise. - * (builtin_lsode): Likewise. - * (builtin_fsolve): Likewise. - * (builtin_quad): Likewise. - * builtins.cc (general_functions): Improve corresponding messages. - - * libcruft/fftpack: New directory for fftpack functions. - * libcrutf/fftpack/*.f: Add implicit double precision (a-h,o-z) at - the top of every subroutine. - - * tree-extras.cc (fft): Allow propagation of empty matrices. - * (ifft): Ditto. - - * Matrix.cc (Matrix::fourier): New function. - * (Matrix::ifourier): Ditto. - * mx-inlines (make_complex): New function. - * tree-extras.cc (fft): Use Matrix::fourier instead of doing real - to complex conversion here and calling ComplexMatrix::fourier. - * (ifft): Likewise, for ifourier. - -Sat Mar 27 17:56:59 1993 Fook Fah Yap (ffy@eng.cam.ac.uk) - - * Matrix.cc (ComplexMatrix::fourier): New function for fft. - * (ComplexMatrix::ifourier): New function for inverse fft. - - * builtins.cc (general_functions): Add fft and ifft to the list of - builtin functions. - - * g-builtins.cc (fft): New function. - * (ifft): Ditto. - - * tree-extras.cc (fft): New function. - * (ifft): Ditto. - -Sat Mar 27 13:53:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (usage_string): New file scope constant. - * (getopt_option_string): Ditto. - - * error.cc: Declare all arguments const since we don't change them. - - * utils.cc (print_str_or_null): Delete unused function. - * utils.h: Delete declaration. - - * tc-assign.cc, tc-index.cc, tc-inlines.cc, tree.cc, - tree-const.cc: More error message cleanups. - - * tree-const.cc (print_if_string): Don't write to cerr - unconditionally. - -Fri Mar 26 22:00:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (min): Avoid function calls as arguments for MIN. - * (column_min): Ditto. - * (max): Likewise, for MAX. - * (column_max): Ditto. - - * tree-const.h (NINT): Make it an inline function instead of a - macro. - - * tree-extras.cc (fill_matrix (tree_constant&, double, char*)): - Convert to scalar type for complex values too. - - * error.h (panic_impossible): New macro to be used in place of - assert (0) calls. - * All .cc files: Replace calls to assert (0) and abort () with - panic_impossible (). - - * Many .cc files:: Replace many instances of `cerr << ...' with - calls to gripe() functions. - - * gripes.h, gripes.cc: New functions for reporting common errors. - * Makefile.in: Include them in the usual places. - -Thu Mar 25 18:42:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Many .cc files:: Replace many instances of `cerr << ...' with - calls to error() functions. - - * error.h, error.cc: New functions for reporting errors in a - consistent way. - * Makefile.in: Include them in the usual places. - -Wed Mar 17 17:29:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (symbol_table::save): New functions. - * t-buitlins.cc (builtin_save): Use new functions for saving - symbols. Handle case of saving all variables. - - * g-builtins.cc (builtin_pause): If one argument is given, pause - for that many seconds before continuing. Otherwise, wait for user - input. - - * symtab.cc (clear): Actually delete undefined symbol_records and - remove their names from the list. - - * lex.l (lookup_identifier): New function. Avoid putting global - names in the local symbol table. - * ({IDENT}): Use it - * ({IDENT}/{S}*=): Ditto. - - * tc-index.cc (do_scalar_index (tree_constant*, int)): Make - indexing like a([1,1,1,1]) work for scalars. GAG. - -Tue Mar 16 20:08:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-buitlins.cc (builtin_cd): Call tilde_expand (from readline) on - the argument. - - * lex.l (discard_until): Delete unused function. - * When reading numbers, abort if scanf fails to read a number that - we think it should. - * (IDENT): New macro to match identifiers. - * ([_a-zA-Z][_a-zA-Z0-9]*): Use the / operator for trailing - context and split into two cases instead of trying to do the - lookahead ourselves. - - * lex.l (do_comma_insert_check): Return the value yyleng had - before yyinput() is called. - * (DO_COMMA_INSERT_CHECK): New macro. This avoids the use of - unput() in do_comma_insert_check() since there seems to be a bug - in flex when calling unput() for '\n'. - - Note that this change is necessary if we want to use yyless() - since we cant call yyless() from outside of yylex(), because - Flex's yyless() is a macro that uses some variables local to - yylex(). - -Mon Mar 15 11:03:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_matrix::eval): Undo part of previous change to - make a = [1,2;3,4]; [a,a;a,a] work again. - - * parse.y (input): Don't abort for simple_list followed by EOF. - -Sun Mar 14 14:38:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * RowVector.cc (RowVector::operator << ()): Insert a space between - each element. - * (ComplexRowVector::operator << ()): Ditto. - - * g-buitlins.cc (plot): Don't declare plot_prog or plot_term as - static, and don't delete them. - - * Matrix.h (all checkelem functions): Don't check for range errors - if NO_RANGE_CHECK is defined. - -Sat Mar 13 10:18:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.cc (ComplexMatrix::prod): Make it work. - -Thu Mar 11 00:08:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.h (ellum): Delete function. - * Declare and define new const elem, checkelem, and operator() - functions. - - * ColVector.cc, DiagMatrix.cc, RowVector.cc, Matrix.cc, ODE.cc, - LinConst.cc, FEGrid.cc, DAE.cc, Bounds.cc, FEGrid.h: - Change all callers. - * tree-const.cc, tree-extras.cc, xdiv.cc, xpow.cc: Ditto. - - * tree.cc (tree_matrix::eval): Improve row and column mismatch - checking -- [[1,2];[3,4]] works now, and [1,2;3,4,[5,6]] is - rejected. - * Reformat error messages to include `error:' prefix. - -Wed Mar 10 14:02:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (do_comma_insert): New global variable. - * (reset_parser): Reset it. - * lex.l (do_comma_insert_check): New function. Call it wherever a - token can be directly followed by '['. - * (\[{S}*): Check the value of do_comma_insert. - - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look for names in the - current symbol table. - - * parse.y (word_list_cmd): Special case to disallow use of clear - inside a fuction body. - - * parse.y (CLEAR): New %token. - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Return it if token is "clear". - - * t-builtins.cc (builtin_clear): Allow global symbols to be - cleared. - - * symtab.cc (symbol_table::undefine): Clarify comment. - * (symbol_table::clear): Don't actually remove names from the - table, just force them to be undefined. - - * tree.h (tree_function): Delete unused data member `id'. - * tree.cc (tree_function constructors): Don't initialize id. - -Mon Mar 8 15:50:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.70 released. - - * src/Makefile.in: Update dependencies. - - * tree.h: Include stdio.h, for FILE. - - * gnuplot-build: For now, always define -DNOGAMMA. - * configure.in: Don't check for gamma(). - - * libcruft/Makerules.in: Don't use lib.a(obj.o) style dependencies - because it's too slow for large archives. - * liboctave/Makefile.in: Ditto. - -Sun Mar 7 16:33:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (parse_and_execute): Save and restore current column - number. Set input line and column number to zero. - * tree.cc (parse_m_file): Likewise. - - * tree.cc (tree_identifier::parse_m_file (FILE*, int*)): New - function. If a parse error occurs, ensure that the symbol is - cleared from the global symbol table. - * (tree_identifier::parse_m_file (char*, int): Use it. - - * tree.cc (tree_identifier::do_lookup): New function. - * (tree_identifier::eval): Use it. - - * utils.cc (decode_prompt_string): Really do use value of PWD. - - * user_prefs.cc (sv_loadpath, sv_ps1, sv_ps2, sv_pwd, - sv_gnuplot_binary, sv_graphics_terminal): New functions. - * (sv_graphics_terminal): Warn if terminal isn't valid, but set it - anyway (it's too late to do anything by the time the function is - called). - * In functions that use these variables: Use the value from the - user_pref structure instead of doing a symbol table lookup. - - * builtins.cc (builtin_string_variables): Add functions to call - for LOADPATH, PS1, PS2, PWD, gnuplot_binary, and graphics_terminal. - - * builtins.cc (PS2): New builtin_string_variables. Set default - value to "> ". - * input.cc (octave_gets): Use it instead of no prompt for - continued input. - - * parse.y (yyerror): Use line, column, file name, and text of - current input line to print better parse error messages. - - * lex.l (NEW_MATRIX): New exclusive start state. Need this to be - able to match \[{SN}* _and_ get secondary prompting right. - - * input.cc (octave_read): Keep track of current input line. - * tree.cc (parse_m_file): Save and restore current line number. - - * lex.l (all patterns): Keep track of current input column. - * (fixup_column_count): New function to deal with patterns that - match more than one line. - - * input.h, input.cc (current_input_line): Global pointer to - the text of the current input line. - - * parse.y, parse.h (input_line_number, current_input_column): New - global variables. - - * Almost all source files: Finish (for now, at least) the - reorganization we started for global variables. - -Wed Mar 3 14:49:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tc-assign.cc, tc-index.cc, tc-inlines.cc: New files, split out - from tree-const.cc. - - * Almost all source files: reorganize so that all global data is - declared in some include file or another. It probably wouldn't - hurt to do some more reorganizing to try to eliminate the amount - of global information... - -Tue Mar 2 20:49:35 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * variables.h, variables.cc: New files for handling things that - need symbol table information. Lots of files changed to include - variables.h, which now includes the extern declarations for the - symbol tables. The declarations of the symbol tables are now in - variables.cc, but they are still initialized in octave.cc. - -Mon Mar 1 11:35:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * builtins.h (builtin_string_variables): New field, sv_function, - holds a pointer to the function to call when a variable changes. - * builtins.cc (string_variables): Initialize sv_function field. - * (install_builtins): While installing builtin string variables, - stash sv_function and, if it isn't NULL, call it to initialize - global variable user_pref. - - * symtab.h (symbol_record): New field, sv_fcn, holds a pointer to - the function to call when a variable changes. - * symtab.cc (symbol_record::define): Call sv_fcn if it isn't NULL. - * symtab.cc (symbol_record::set_sv_function): New function. - - * utils.cc, parse.y, tree.cc, tree-extras.cc, tree-const.cc, - idx-vector.cc, builtins.cc, symtab.cc: Instead of calling - functions like do_fortran_indexing(), get the user's preference - from the global struct user_pref. - - * utils.h, utils.cc: Delete all functions like do_fortran_indexing() - that lookup user variables to find integer values. - * user-prefs.h, user-prefs.cc: Move them here, but instead of - returning values, set elements of the new global struct user_pref. - - * user-prefs.h, user-prefs.cc: New files for handling global - variables for user preferences. - * Makefile.in: Add them to the SOURCES and INCLUDES macros. - - * bsd-math/{acosh,asinh,atanh,log1p}.c: Declare all external - functions used in each file since they might not be in math.h. - * bsd-math/{scalb,copysign,logb,finite,drem,sqrt}.c: New files - from BSD's support.c. Only using scalb, copysign, logb, and - finite for now. - - * configure.in: Move tests for f77 closer to the top. - * Allow configuration to proceed even if we can't find a Fortran - compiler or f2c. - * Use `here' documents instead of multiple echos for multi-line - messages. - * Imrpoved checking for missing math functions. - -Sun Feb 28 17:45:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * test/Makefile.in (check): Try to avoid errors from cp. - - * mappers.cc (xfinite): Put test for HAVE_FINITE first. - - * libcruft/Makerules.in (LIBCRUFT_DEPEND): Use `=' in assignment - instead of `:='. - - * liboctave/Makefile.in: Make an explicit list of sources instead - of using $(wildcard). - -Thu Feb 25 20:18:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * bsd-math/copysign.c: New file. HP's don't have this? - * configure.in (LIBOBJS): Also check for copysign, log1p, and - log__L. For each missing user-level function, add -DFOO_MISSING=1 - to DEFS. - * src/missing-math.h: For each function we declare, check the - corresponding XXX_MISSING macro. Add declarations for copysign - and log1p. - -Wed Feb 24 20:39:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l ({SN}*\]/{S}*==): Change scanning pattern to - {SN}*\]{S}*/== in order to keep flex from generating any - backtracking code. - * ({SN}*\]/{S}*=): Likewise. - -Tue Feb 23 02:45:00 1993 John W. Eaton (jwe@ward.che.utexas.edu) - - * Version 0.69 released. - - * mappers.cc [_AIX && __GNUG__] : Provide a definition for - finite(), since whatever version we get from the system when using - g++ doesn't work (note that it does seem to work with gcc, xlc, - and xlC). - - * bugs.texi: Note that the math.h file from libg++ declares - finite() incorrectly for some systems. - -Mon Feb 22 02:04:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Look for runtest, but only believe that it exists - if we can also find expect. - * test/Makefile.in (check): Run tests in build directory, not - source directory. - - * tree.cc (reading_script_file): New global variable. - * (parse_m_file): Use it, and properly save and restore state so - that nested script files will work. - - * octave.cc (parse_and_execute): Properly save and restore state - so that nested script files will work. - * Don't close input file here. - - * input.cc (get_input_from (FILE*)): Don't declare mf_instream - static. Set mf_instream if reading and M-file or a script file. - - * parse.y: Minor changes to accomodate new lexer. - - * lex.l: Major overhaul in an attempt to do better string - handling. Looks much simpler and even seems to work. - * (do_string_escapes): New function. - -Sat Feb 20 00:40:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_npsol): If npsol is missing, return empty - matrices for x and phi, and -1 for inform. - - * num2str.m: Use %g, not %f. - - * tree.cc (parse_m_file): Save and restor curr_sym_tab, because - yyparse may mess with it if it encounters a function definition. - * tree-extras.cc (eval_string): Ditto - * octave.cc (parse_and_execute): Ditto - - * Makefile.in (DISTDIRS): Add bsd-math to list. - - * src/Makefile.in (LIBOBJS): New macro, value set by configure. - (vpath): Add @srcdir@/../bsd-math for LIBOBJS. - (octave): Add $(LIBOBJS) to deps. - * gnuplot-build/Makefile.in: Likewise, for notgnuplot. - - * configure.in: Use AC_REPLACE_FUNCS to Check for acosh, asinh, - atanh, and gamma. - - * bsd-math: New directory for functions from the BSD math library - to use as replacements for missing functions. - - * parse.y (semi_comma, comma_semi): New rules. - (simple_list, simple_list1): Use them to allow empty statements. - (list, list1): Likewise. This allows empty commands as long as - the empty command doesn't contain any newlines. - - * parse.y (simple_assign): New rule, allows things like a = b = c. - (multi_assign): Extracted from assignment. - (assignment): Split into simple_assign and multi_assign. - (expression): Allow '(' simple_assign ')' to be an expression. - - * tree-extras.cc (eval_string): Return result of last expression - evaluated, to make things like `eval ('1+1;')*2' work. - -Fri Feb 19 19:45:21 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_pwd): Use getcwd, which is defined in - unistd.h, instead of getwd, which seems to be a BSDISM. - * utils.cc (decode_prompt_string): Ditto. - * (get_working_directory): Ditto. - - * arith_ops.cc (DIVIDE_BY_ZERO_ERROR): Don't rely on - HAVE_IEEE_MATH, use HAVE_ISINF, HAVE_FINITE, and HAVE_ISNAN - instead. - * configure.in: Don't define HAVE_IEEE_MATH. - - * tree-extras.cc: Include stdio.h for FILE. - -Thu Feb 18 10:17:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (gobble_leading_white_space): New function. - * (is_function_file): New function. - - * (parse_m_file): Handle case of .m file being just a file of - commands to execute. - * Add optional argument to specify whether to execute a script - file. - * Return whether a script file was executed. - * (tree.cc, tree-extras.cc): Change callers. - - * octave.cc (parse_and_execute): new functions. - * (execute_startup_files): Use them. - - * lex.l (\n): Don't gobble new line. - - * num2str.m: Don't print '\n'. - -Wed Feb 17 21:59:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * mappers.cc: Simplify and correct finite, isinf, isnan functions. - * test/octave/t7.oct: New test for finite, isinf, and isnan - functions. - - * configure.in: Define HAVE_IEEE_MATH if isnan and either finite - or isinf is available. - - * builtins.cc (mapper_functions): Check HAVE_ISNAN instead of - HAVE_IEEE_MATH to determine whether or not to define isnan(). - - * mappers.cc: Don't check for HAVE_IEEE_MATH. Just check for - individual functions directly. - - * g-builtins.cc (npsol_usage): Correct usage message. - - * g-builtins.cc: Don't include unistd.h unless HAVE_UNISTD_H is - defined. - * t-builtins.cc: Ditto. - * utils.cc: Ditto. - -Tue Feb 16 00:35:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.68 released. - - * tree.cc (parse_m_file): Set reading_m_file before calling - get_input_from_file. - * Don't mess with current_infile. - - * input.cc (get_input_from_file): Set mf_instream if we are - reading an M-file. Otherwise, set rl_instream, (even if we aren't - really using readline -- this is just the `normal' input stream). - * Don't use current_infile. - * (octave_read): If not interactive, check reading_m_file to - determine where to look for input. - - * octave.cc (main): Don't use readline if we aren't interactive. - - * libcruft/misc/Makefile.in (local-dist): Make sure we don't - distribute a bogus d1mach.f. - (dist): Ditto. - - * tree-extras.cc (convert_to_ans_assign): New global variable. - (eval_string): Conditionally turn off assignment to `ans', for - get_user_input (). - * parse.y (ans_expression): Use it. - * lex.l (reset_parser): Reset it. - - * g-builtins.cc (builtin_input): New function. - * builtins.cc (general_fucntions): Add it to the list. - * tree-extras.cc (get_user_input): Do most of the real work. - -Mon Feb 15 01:14:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.cc (load_variable): New function. - (builtin_load): Use it. - - * Makefile.in (SUBDIRS): Add the test directory. - (check): Don't depend on all. - -Sat Feb 13 05:17:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (determinant, lu, matrix_exp, matrix_log, - matrix_sqrt): Handle empty matrix argument. - - * Matrix.h: Add constructors of the form Matrix (double a) and - ColumnVector (double a) to make it even easier to form single - element vectors. - -Fri Feb 12 03:27:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (main): Add -v option that will print the version - string and quit with a successful exit status. - -Thu Feb 11 00:46:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (eig): If given an empty argument, return enough - empty matrices to fill all possible LHS variables. - (qr): Likewise. - (svd): Likewise. - - * tree-const.cc (fortran_style_matrix_assignment): Do the right - thing if LHS is an empty matrix. - - * tree-extras.cc (qr): Handle empty matrix argument. - - * Matrix-ext.cc (QR): Make it work (really!). - (ComplexQR): Ditto. - -Wed Feb 10 00:56:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * xdiv.cc (xdiv (ComplexMatrix& a, ComplexMatrix& b)): Do - btmp.solve (atmp), like the other three xdiv's. Argh! - - * tree-extras.cc (eval_string): New function. Mostly works but - could be very fragile. We desperately need some sort of - `unwind-protect' scheme to avoid disaster when octave is - interrupted. - - * g-builtins.cc (builtin_eval): Instead of just aborting, call - eval_string if given one argument. - - * input.cc (octave_read): If get_input_from_eval_string is - nonzero, stuff current_eval_string into buf for flex to read. - - * tree-extras.cc (char *current_eval_string): New global variable - for eval(). - * (int get_input_from_eval_string): Ditto. - - * Update copyright notices to include 1993 (now that it's - February...). - -Tue Feb 9 14:35:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.67 released. - - * tree-extras.cc, tree-const.cc: Check the value of the variable - `propagate_empty_matrices' to decide what to do about empty - matrices in binary and unary operations and some function calls. - - * builtins.cc (builtin_string_variables): New global variable - `propagate_empty_matrices' with initial value `warn'. - * utils.cc (propagate_empty_matrices): New function. - -Mon Feb 8 19:46:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-const.cc: Finish changes required to make zero-one indexing - work for indexing and assignment. - -Sat Feb 6 15:54:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * builtins.cc (builtin_string_variables): New global variable - `prefer_zero_one_indexing' with initial value `false'. - * utils.c (prefer_zero_one_indexing): New function. - -Fri Feb 5 13:03:14 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * idx-vector.h, idx-vector.cc: Major overhaul to help with - zero-one style indexing. - * tree-const.cc (matrix_to_index_vector): Delete functions. - * (functions that use idx_vectors): Update for new idx-vector - stuff. - - * arith-ops.cc: Don't declare matrix_to_fortran_indices. - - * tree-const.cc (matrix_to_index_vector): Add new argument, - allow_neg_one, with default value of false. - * (matrix_to_fortran_indices): Add new argument, allow_zero, with - default value of false. - - * g-builtins.cc (builtin_find): New function. - * builtins.cc (general_fucntions): Add it to the list. - * tree-extras.cc (find_nonzero_elem_idx (tree_constant)): Do - most of the real work. - * tree-extras.cc (find_nonzero_elem_idx (const Matrix&): Do the rest. - * (find_nonzero_elem_idx (const ComplexMatrix&): Ditto, for complex. - -Wed Feb 3 00:54:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in (DEFAULT_DOT_O_FROM_DOT_F): If using f2c, quote - with single quotes instead of double quotes to avoid problems on - systems (like the NeXT) that strip \'s from double quoted strings. - - * utils.c (empty_list_elements_ok): New function. - * tree.cc (matrix_list::eval): Use it. - * builtins.cc (builtin_string_variables): New global variable - `empty_list_elements_ok' with initial value `warn'. - - * utils.cc (check_str_pref): New function. - * (resize_on_range_error, prefer_column_vectors, - warn_comma_in_global_decl, do_fortran_indexing, - implicit_str_to_num_ok, treat_neg_dim_as_zero, - ok_to_lose_imaginary_part, return_last_computed_value, - silent_functions, print_answer_id_name): Use it instead of - needlessly duplicating code. - -Tue Feb 2 16:58:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l ("'"): If it looks like we're defining a matrix, don't set - the start condition to be MAYBE_QSTRING. GAK. There has to be a - better way... - - * lex.l: Increment and decrement promptflag instead of just - setting its value. This should help get prompting right for - things like if [1,2;3,4] NL ... - * input.cc (octave_gets): In order to issue a prompt, Require - propmtflag to be greater than zero, not just nonzero. - - * tree.cc (tree_if_command): Allow matrices as the expression to - test. Unlike Matlab, a complex value is false only if both the - real and imaginary parts are 0. - * tree.cc (tree_while_command): Ditto. - - * tree.cc (tree_for_command): Allow matrices and complex values - in the expression. For matrices, assign each column in turn to - the dummy variable. - - * Matrix-ext.cc (qr): Make it work. The LAPACK book gags me again! - - * xdiv.cc: When computing right division with complex matrices, - use hermitian() instead of transpose(). - - * lex.l: Return IMAG_NUM for a numeric constant followed by - [iIjJ], but don't allow spaces between the numeric constant and - the letter (it causes problems inside `[]' where spaces matter... - -Mon Feb 1 17:15:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree_extras.cc (rand_internal): Make the random number generator - give us a different sequence every time we start octave unless we - specifically set the seed. - -Thu Jan 28 00:10:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.66 released. - - * configure.in: Define PLOTLIB in addition to adding -DUNIXPLOT to - DEFS if we find -lplot, and call AC_SUBST for PLOTLIB. - - * QP.cc: Define constructors here. - * QP.h: Not here. - - * QP.cc (All constructors that are given H): Force H to be - symmetric. - * (make_h_symmetric): New function. - -Wed Jan 27 01:35:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * arith-ops.cc (do_unary_op): Do the right thing for complex - logical not operator. - * Matrix.cc (ComplexMatrix::operator ! (void)): Return Matrix - instead of ComplexMatrix. - * mx-inlines.cc (not (Complex *d, int len)): For each element of - d, return (d[i] == 0.0), not (d[i] != 0.0), and return it as a - pointer to double, not Complex. - - * configure.in: Check for libcruft/qpsol/qpsol.f. - * Create Makefile in libcruft/qpsol. - - * libcruft/qpsol: New directory. Copy QPSOL sources here. - * libcruft/qpsol/Makefile.in: New file. - * libcruft/qpsol/README.MISSING: New file. - * libcuft/Makefile.in: Include qpsol in list of directories to - make. - - * QPSOL.h, QPSOL.cc: New file for solving QPs with Gill and - Murray's QPSOL. - - * QLD.h, QLD.cc: Delete all minimize functions except - Vector minimize (double&, int&). - - * QP.h: Declare minimize functions virtual. - * (Vector minimize (double&, int&): Declare as a pure virtual - function. - - * QP.cc: New file to implement generic minimize functions. - -Tue Jan 26 00:27:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l: Recognize numbers of the form .{digits}E{digits} and - .{digits}E[+-]{digits} - - * lex.l: Recognize .\ as ELEFTDIV. - * parse.y: Handle ELEFTDIV. - * tree.cc (tree_binary_expression::eval): Handle el_leftdiv. - - * arith-ops.cc (do_binary_op): Handle element by element left - division. Fix some errors in element by element right division. - - * tree-base.h (enum expression_type): Add el_leftdiv. - - * Version 0.65 released. - - * tree-const.cc (tree_constant_rep::eval (tree_constant *args, int - nargin, int nargout, int print)): Fix another brain-o in making - recursive call.s - - * src/Makefile.in: Complete changes for CXX instead of C++ make - variables. - - * tree-const.cc: For assignment and indexing functions, treat - complex scalars and matrices in the same branch of the switch as - real scalars and matrices -- the double_value() and matrix_value() - functions take care of checking to see if it's ok to lose the - imaginary part. - - * tree-const.h (tree_constant_rep::is_numeric_type): New function. - * tree-const.h (tree_constant::make_numeric functions): Use it. - - * tree-const.h (tree_constant::make_numeric functions): Return - *this for complex constants too. - -Mon Jan 25 18:31:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (Matrix min (Matrix&, Matrix&)): Loop over nc and - nr, not nr and nr. - * (Matrix max (Matrix&, Matrix&)): Ditto. - - * tree-const.cc (tree_constant_rep::mapper): Fix brain-o in making - recursive call. - -Sun Jan 24 20:05:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: If using f2c, explicitly check for -lf2c. If it's - not found, look for -lF77 and -lI77. If a suitable combination - isn't found, print a warning. - - * src/Makefile.in liboctave/Makefile.in: GNU Make 3.63 uses CXX - and CXXFLAGS instead of C++ and C++FLAGS. Fix things so that 3.63 - will work without sacrificing compatibility with earlier versions. - - * tree-const.cc (tree_constant_rep::diag (tree_constant&)): Fix - brain-o in forcing argument to be numeric. - -Fri Jan 22 15:03:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (interrupt_handler): Declare to take int argument. - - * NPSOL.cc (npsol_objfun): Delete leftover debugging message. - -Thu Jan 21 14:28:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Check version of gcc and issue a warning if it - looks like 1.something. - * Check for g++. Issue a warning if it is missing or if it is - there but it looks like verion 1.something. - - * flibs.sh, f2c-compat.sh: Change file permission to 755 to avoid - problems if the uid of the installer is different from the uid of - the owner of the files. - -Wed Jan 20 04:18:49 1993 John W. Eaton (jwe@june.che.utexas.edu) - - * libcruft/Makerules.in (@DOT_O_DOT_F_C[1234]@): Patterns deleted. - * configure.in: Do multiple line sed substitutions the right way. - -Tue Jan 19 14:50:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Use new AC_WITH to accept --with-f2c instead of - --use-f2c. - * Use new AC_HAVE_LIBRARY to find -lplot. - - * flibs.sh: Actually avoid including duplicate -lflags. - * Use test, not `['. - -Sun Jan 17 16:57:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.h: Declare operator+ and operator- functions for vectors. - * RowVector.cc: Define half of them. - * ColVector.cc: Define the other half. - -Fri Jan 15 03:00:46 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/Makefile.in (install): Include version number in name of - installed binary and make a link to $(bindir)/octave. - - * Version 0.64 released. - - * t-builtins.cc (builtin_clear): Don't allow the user to clear - global symbols by name. If he tries, issue a warning. - - * tree.cc (tree_identifier::eval_undefined_error): Don't clear - undefined symbols from the global or local (function) symbol - tables. - -Thu Jan 14 02:10:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_function::eval): Save old and set current symbol - table context, so eval_undefined_error() doesn't wipe out top - level symbols. - - * Version 0.63 released. - -Wed Jan 13 13:16:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Nearly every .h and .cc file: Add interface and implementation - #pragmas for G++ in hopes of making smaller objects with -g. - - * tree-const: Properly handle assignments like A(:) = RHS when - do_fortran_indexing is true. - - * g-builtins.cc (builtin_eig): Correct usage message. - - * tree-const.cc (tree_constant_rep (ComplexDiagMatrix&)): Create - and initialize a new complex_scalar. Don't just try to copy the - value... - - * Matrix.h: Declare new fill functions for diagonal matrices. - * DiagMatrix.cc: Define them. - - * Matrix.h: Declare map functions for row and column vectors. - * RowVector.cc: Define them. - * ColumnVector.cc: Likewise. - - * CollocWt.h: Declare data protected instead of private. - * CollocWt.cc (CollocWt::CollocWt (const CollocWt&)): Fix brain-o. - - * lex.l: Return IMAG_NUM for a numeric constant followed by - [ \t]*[iIjJ]. - - * parse.y (IMAG_NUM): New token. - * (fact): Recogize IMAG_NUM and convert its value to a complex - constant. - - * Version 0.62 released. - - * Makefile.in (local-dist): Include -local in tar.Z filename. - * (split-local-dist): New target. - * (dist): Don't depend on newversion. - * (local-dist): Ditto. - - * tree-extras.cc (npsol): If the first argument isn't a vector, - print an error message and return. - - * tree.cc (tree_matrix::eval): Always set prev_row_total and - prev_column_total when starting out. - - * octave.cc (main): Don't try to detect signal handler failures, - but do call signal() to set up the interrupt handler. - -Tue Jan 12 19:59:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (npsol): Fix brain-o in checking length of bounds - vectors. - -Mon Jan 11 20:32:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (set_rand_seed): New function. - (force_to_fit_range): New function. - (current_seed): Really return current seed. - (rand_internal): Allow the user to actually set the seed for the - random number generator. - -Sun Jan 10 16:46:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.61 released. - - * builtins.h, builtins.cc: Rename from builtin-fcns.h, - builtin-fcns.cc (too long for Linux/SysV). - - * mappers.cc (xisinf): For non-IEEE machines, consider DBL_MAX to - be infinite. - -Fri Jan 8 09:15:57 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * gnuplot-build/Makefile.in (x11targets): Don't worry about - checking HAVE_X11_X_H. - - * configure.in: Check for gamma and lgamma for gnuplot. - - * gnuplot-build/Makefile.in (Makefile.X11): Only move Makefile to - ../Makefile.X11 if xmkmf succeeds. - - * gnuplot-build/Makefile.in (x11targets): Check to see that XMKMF - is set *and* that Makefile.X11 exists. - * If making notgnuplot_x11 with Makefile.X11 fails, try again with - Makefile. - - * gnuplot-build/Makefile.in: Use @PLOTLIB@ in definintion of LIBS. - * Don't define UNIXPLOT in TERMFLAGS. - * Don't define LN_S; it isn't used anywhere, and configure doesn't - give it a value. - - * configure.in: Check for closepl(). If found, define UNIXPLOT, - and substitute -lplot for @PLOTLIB@. - - * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): New macro. On systems that - have IEEE math, give a warning but also go ahead and divide by - zero. On systems that don't have IEEE math, just give an error - message and return an undefined tree_constant (it would probably - be possible to handle this so that it works the same everywhere, - but I'm not sure it's worth the effort...). - - * builtin-fcns.cc (install_builtins): On systems that don't have - IEEE_MATH, define Inf to be MAX_DBL, but don't define NaN at all. - - * configure.in: Check for finite, isnan, and isinf. - * Set HAVE_IEEE_MATH if we find finite and isnan. - - * builtin-fcns.cc (install_builtins): Use HAVE_IEEE_MATH instead - of IEEE_MATH. - * mappers.cc: Check HAVE_IEEE_MATH and HAVE_ISINF macros rather - than checking system type. - - * graph3d.c (hidden_line_plot): Declare dy and y as double, not - float, since VERYLARGE can be DBL_MAX. - - * lsoda.f, lsodar.f, lsodes.f, lsodi.f, lsoibt.f, stoda.f, - stodi.f, zrotg.f, sdot.f: Remove unused files. - - * texas_lotto.m: Renamed from win_texas_lotto.m to keep the - filename less than 14 characters. - -Thu Jan 7 15:45:29 1993 John W. Eaton (jwe@june.che.utexas.edu) - - * utils.cc: Declare ioctl extern "C". - - * tree.cc: Include stdio.h to be sure FILE is defined (apparently - not required by older versions of GNU iostream library). - * t-builtins.cc: Likewise. - * g-builtins.cc: Likewise, but for tmpnam. - - * tree-const.h (rand_internal): Rename from rand to avoid - conflict with standard library rand (a macro in Linux). - * tree-extras.cc (rand_internal): Fix function definition. - * g-builtins.cc (builtin_rand): Call rand_internal instead of rand. - - * octave.cc (main): Don't try to detect signal handler failures. - What's the proper way to do this if RETSIGTYPE is void? - -Tue Jan 5 08:14:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_matrix::eval): When adding a matrix down or to the - right, column or row dimension mismatches are always errors. - -Mon Jan 4 04:58:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.60 released. - - * xdiv.h, xdiv.cc: New files for Octave-specific matrix division - stuff. - * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xdiv stuff. - - * arith-ops.cc: Include xdiv.h. - -Sun Jan 3 12:24:04 1993 John W. Eaton (jwe@ward.che.utexas.edu) - - * gnuplot-build/Imakefile.in (notgnuplot_x11): In the compile - command, put source file before libraries. - - * libcruft/misc/Makefile.in: Don't use -O to compile gen-dimach.c. - -Thu Dec 31 00:45:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (matrix_sqrt): Don't create D until it is really - needed. - * (matrix_log): Ditto. - * (matrix_exp): Ditto. - [this should really be just one function instead of three...] - - * g-builtins.cc (builtin_sqrtm): New function. - * builtin-fcns.cc (general_fucntions): Add it to the list. - * tree-extras.cc (matrix_sqrt): Do the real work. - - * Makefile.in: Distribute INSTALL.OCTAVE and configure.in. - * (INSTALL.info): Make ../INSTALL.OCTAVE, not ../INSTALL. - - * doc/Makefile.in: Make ../INSTALL.OCTAVE, not ../INSTALL. - - * INSTALL.OCTAVE: Rename from INSTALL. - Refer to INSTALL for more info. - - * INSTALL: Copy from autoconf distribution. - Refer to INSTALL.OCTAVE for more info. - - * octave.cc (main): Remove leading blank line from startup message. - * Don't print it everytime the user types C-c... - - * xpow.cc: Finish off remaining cases. - - * tree-extras.cc (process_format): New function. - (do_printf): Use it. - -Wed Dec 30 00:43:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.56. - - * g-builtins.cc (builtin_logm): New function. - * builtin-fcns.cc (general_fucntions): Add it to the list. - * tree-extras.cc (matrix_log): Do the real work. - - * g-builtins.cc (builtin_expm): New function. - * builtin-fcns.cc (general_fucntions): Add it to the list. - * tree-extras.cc (matrix_exp): Do the real work. - - * Matrix-ext.cc (LU): Construct LU decomp. here, not in Matrix class. - (ComplexLU): Likewise. - * Matrix.cc (lu): Deleted. Use LU constructor instead. - Change all uses in octave sources. - - * Matrix-ext.cc (EIG): Construct EIG object here, not in Matrix class. - * Matrix.cc (eig): Deleted. Use EIG constructor instead. - Change all uses in octave sources. - - * Matrix-ext.cc (SVD): Construct SVD here, not in Matrix class. - (ComplexSVD): Likewise. - * Matrix.cc (svd): Deleted. Use SVD constructor instead. - Change all uses in octave sources. - - * Makefile.in: Update for new Matrix file organization. - Don't compile mx-inlines separately -- it's included where needed. - * Matrix.h: Declare Fortran routines we call here, not in Matrix.cc. - Don't declare every class to be a friend of every other class. - * mx-inlines.cc: New file, included by all Matrix-related .cc files. - * Matrix.cc: Split into several files. - * ColVector.cc: New file, from Matrix.cc - * RowVector.cc: Ditto. - * DiagMatrix.cc: Ditto. - * Matrix-ext.cc: Ditto. - - * tree-extras.cc (svd): Take advantage of new constructors and - diag functions. - - * Matrix.cc (DiagMatrix::diag) New function. - (ComplexDiagMatrix::diag) Ditto. - - * tree-extras.cc (eig): Take advantage of new constructors. - - * tree-const.cc (tree_constant (DiagMatrix)): New constructor. - (tree_constant (ComplexDiagMatrix)): Ditto. - - * Matrix.cc (Matrix (const DiagMatrix)): New constructor. - (ComplexMatrix (const DiagMatrix)): Ditto. - (ComplexMatrix (const ComplexDiagMatrix)): Ditto. - -Tue Dec 29 01:14:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (main): Print message at startup by default. - Don't print it until just before main loop. - * New -q option (inhibit_startup_message) turns it off. - * New -f option (read_init_files) inhibits reading of startup files. - * Delete -v option. - * (verbose_usage): Reflect changes in arguments, document -d. - - * win_texas_lotto.m: Sort picks before returning. - - * tree-extras.cc (eig): Return [v,d], not [l,v], where d is a - diagonal matrix made from l. - - * builtin-fcns.cc (mapper_functions): Fix last element of - initialization list to have correct number of elements. - - * Version 0.55. - - * Quad.h: Move all inline functions to Quad.cc to avoid apparent - g++ bug on the RS/6000. - - * configure.in: If we find flex, don't define LEXLIB. - - * COPYING.LIB: Deleted -- we're not actually distributing anything - under these terms. - * Makefile.in: Don't distribute COPYING.LIB. - -Mon Dec 28 00:46:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * xpow.h, xpow.cc: New files for safer pow() interface for octave. - * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xpow stuff. - - * arith-ops.cc: Include xpow.h. - * Don't declare toplevel jmp_buf. - - * t-builtins.cc (builtin_save): Make file and stream static to - avoid dumping core on return (is this a bug in libg++ or g++?). - * (builtin_load): Ditto. - - * symtab.cc (load): Make it work again. Yikes! This hasn't - worked since the big symbol table overhaul... - - * tree-const.cc (tree_constant_rep::save): Handle complex scalars - and matrices. - - * (symbol_def::undefine): Delete previous symbol definition before - defining. This should be ok now, after the parse_m_file fix of - 27 Dec. - - * getting_help: New global flag. - * ([_a-zA-Z][_a-zA-Z0-9]*): Set it if looking at "help". - * (reset_parser): Clear it. - * lex.l (STRING): Use it to determine what to do with ' ; and , . - - * lex.l (QSTRING): Handle the following (C-style) backslash escape - sequences correctly(?). - - \a bell \r carriage return - \b backspace \t horizontal tab - \f formfeed \v vertical tab - \n newline \\ backslash - - * median.m: New M-file. - - * g-builtins.cc (builtin_sort): New function. - * builtin-fcns.cc (general_fucntions): Add it to the list. - * tree-extras.cc (sort): Do most of the real work. - * tree-extras.cc (mx_sort): Do the rest. - -Sun Dec 27 17:40:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.cc (builtin_casesen): New function. - * builtin-fcns.cc (text_functions): Add it to the list. - - * strcmp.m: Temporarily allow string to numeric conversions. - Maybe strcmp() should be built in to the interpreter? - - * norm.m: New M-file. - - * builtin-fcns.cc (install_builtins): Treat i and j as functions, - not variables. - * Install inf as an alias for Inf. - * Install nan as an alias for NaN. - - * tree.cc (tree_identifier::parse_m_file (char*)): Force new - global symbol to be a function, not a variable. - -Tue Dec 22 14:15:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_function::eval): Check with silent_functions() - and return_last_value_computed() to determine proper behavoir. - - * builtin-fcns.cc (silent_functions): New builtin variable. - * (return_last_value_computed) Ditto. - - * utils.cc (silent_functions): New function. - * (return_last_value_computed) Ditto. - [This scheme for determining preferences needs to be reworked...] - - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only force yytext[len] to be the - end of the identifier if we gobbled some whitespace. - * Always unput the last character read. - - * tree.cc (tree_function::eval) Always turn on printing for - commands inside functions. - -Sat Dec 19 14:03:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.54. - -Fri Dec 18 16:02:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * (symbol_def::undefine): Undo previous change. Someone is - calling this function when they shouldn't be... - - * tree.cc (parse_m_file): If the script file is successfully - parsed, Ensure that the new symbol is defined in the global - symbol table. - - * lex.l: Handle continuation lines with the pattern - {EL}{S}*\n { promptflag = 0; } // Line continuation. - -Thu Dec 17 01:47:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (symbol_def::define): Delete previous symbol - definition before defining. - (symbol_def::undefine): Ditto, but new definition is always NULL. - - * readline/Makefile.in: Don't compile emacs_keymap.c and - vi_keymap.c since they are included by keymaps.c. - - * configure.in: If RETSIGTYPE isn't int, then define - VOID_SIGHANDLER="-DVOID_SIGHANDLER=1". - Substitute VOID_SIGHANDLER. - - * readline/Makefile.in (CFLAGS): Add -DVOID_SIGHANDLER if - appropriate. - - * tilde.c: Declare xmalloc, not malloc. - - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only call unput if we've - actually read something. - - * Version 0.53. - -Wed Dec 16 01:35:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Look in the global symbol table - for names, but ignore functions. - - * tree.cc (tree_identifier::eval): Use symbol_out_of_date() to - simplify logic for re-parsing M-files. - Always look in global symbol table for functions in case the - definition has changed (shouldn't the local symbols be undefined - anyway??). - - * tree.cc (symbol_out_of_date): New function. - - * symtab.cc (symbol_table::undefine): Actually do something. - * (symbol_table::remove_name): Ditto. - * (symbol_table::clear): And so on. - - * Matrix.cc (ComplexMatrix::svd): Use complex conjugate transpose, - not simple transpose, for V. - - * Version 0.52. - - * gnuplot-build/Imakefile (notgnuplot_x11): In the compile - command, put source file before libraries. - - * parse.y (assignment): If trying to warn against assignment to a - function, check is_function() instead of !is_variable(). - - * src/Makefile.in: Distribute input.h. - -Tue Dec 15 10:48:22 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (main): Call initialize_readline to set up completion - functions. - - * input.cc (make_name_list, command_generator, command_completer, - initialize_readline): New functions. - - * input.h: New file. - * lex.l: Include it instead of input.cc. - * src/Makefile.in: Create input.o rather than including it - directly in lex.l. - - * builtin-fcns.cc: do_fortran_indexing is now initially false. - prefer_column_vectors is now initially true. - - * builtin-fcns.cc (install_builtins): Install i and j - (== sqrt(-1)) as permanent global variables. - - * g-builtins.cc (MAXPATHLEN) Provide default definition here. - * t-builtins.cc: Not here. - - * g-builtins.cc (quitting_gracefully, interactive, - clean_up_and_exit, verbatim_pwd, getwd) Declare here. - * t-builtins.cc: Not here. - - * g-builtins.cc: Also include readline.h and history.h. - - * g-builtins.cc: Include version.h and sys/param.h here. - * t-builtins.cc: Not here. - - * g-builtins.cc: Move builtin_clc, builtin_clock, builtin_date, - builtin_pause, builtin_quit, builtin_warranty here from - t-builtins.cc. - - * builtin-fcns.cc (general_functions): Move builtin_clc, - builtin_clock, builtin_date, builtin_pause, builtin_quit, - builtin_warranty here from text_functions to limit the number of - reserved words. - - * scripts/*.m: Check for correct number of input arguments before - proceeding. - - * configure.in (DEFAULT_PAGER): Look for less, more, page, and pg. - - * t-buitlins.cc (builtin_help): If no arguments are given, list - all the known operators, keywords, functions, and variables. - - * t-builtins.cc (builtin_help) Pass the output through PAGER using - a libg++ procbuf. - (builtin_who): Ditto. - - * utils.cc (get_pager): New function. - - * help.h, help.cc: New files to manage lists of help info for - keywords and operators. - - * symtab.cc (symbol_record): Implement the Matlab-style semantics - of functions using two symbol_def objects. - * (symbol_table): Store identifier names in a hash table instead - of a linear list. - * symtab.cc (symbol_def): New class. - -Sat Dec 12 00:00:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y (yyerror): Change error text to be more accurate. - - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look in the current symbol - table for names. Function names and other global symbols are now - resolved at execution time. - - * symtab.cc (sorted_var_list): New function. - * (sorted_fcn_list): Ditto. - * (var_list): Ditto. - * (fcn_list): Ditto. - These should probably not all be separate functions... - - * t-functions.cc (builtin_who): Call sorted_var_list for each - symbol table to print variable names only. - * Accept -fcn, -fcns, or -functions to also list function names. - * Make -all list function names, but under a separate heading from - other symbols. - - * builtin-fcns.cc (is_text_function_name): New function. - * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Use is_text_function_name to - find if a name is a text function name instead of relying on the - symbol tables. - - * lex.l (is_keyword): New function. - ([_a-zA-Z][_a-zA-Z0-9]*): Use is_keyword instead of having a - special lex pattern for each keyword. - -Thu Dec 10 12:25:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.cc: Declare top_level_sym_tab extern. - - * Version 0.51. - -Wed Dec 9 02:00:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (all user_functions): If the return value from a - user's function is bogus, print an error message and abort to the - top level. - - * tree-const.cc (all do_matrix_index functions): Major overhaul to - simplify and apply range checking before doing the indexing. - - * tree-const.cc (fortran_row, fortran_column, valid_scalar_indices, - matrix_to_fortran_indices): Move here from arith-ops.cc and - declare as `static inline'. Delete declarations from arith-ops.h. - - * arith-ops.cc (gripe_nonconformant_assignment): Delete function. - - * tree-const.h (TREE_TO_MAT_IDX): Delete macro. - * tree-const.cc (tree_to_mat_idx): Make it an inline function. - - * tree-const.cc (all do_matrix_assignment functions): Major - overhaul to simplify resizing and range checking. - - * tree-const.cc (): Move here from arith-ops.cc. - Jump to top level on errors. - Return max value. - (indexed_assign_conforms) New function. - (index_check (int)): New function. - (index_check (Range)): New function. - -Tue Dec 8 21:07:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-const.cc (tree_constant_rep::tree_constant_rep (Range): - Don't create range constants that have less than 2 elements. - - * utils.cc (jump_to_top_level): New function. - * All: Replace calls to longjmp with calls to jump_to_top_level(). - Don't include , except in octave.cc, and utils.cc. - -Mon Dec 7 01:57:30 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in: Create Imakefile in gnuplot-build directory. - Look for xmkmf, then X11/X.h. - * gnuplot-build/Makefile.in: Try harder to get notgnuplot_x11 to - build correctly. - * gnuplot-build/Imakefile.in: New file, for building - notgnuplot_x11 if xmkmf is available. - - * Version 0.50. - - * gnuplot-build/Makefile.in (SUBDIRS): Add docs. - - * tree-const.h (make_numeric_or_range_or_magic): New function. - * tree-const.cc (do_matrix_index): Use it instead of make_numeric - so that we actually take advantage of all the special cases we - have for range types as matrix indices. - - * tree-const.cc (tree_constant_rep::do_matrix_index (int, Matrix)): - Fix typo. - - * DAE.cc (integrate): If returning a matrix of values, don't mix - time with the states. - * ODE.cc (integrate): Likewise. - -Sun Dec 6 16:58:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (dassl): New function. - * g-builtins.cc (builtin_dassl): Make it work. - * doc/octave.1: Document it. - - * DAEFunc.h, DAEFunc.cc, DAE.h, DAE.cc: New files. - - * tree-extras.cc (lsode): Clean up. Use available functions - instead of doing everything in line. - - * tree.cc (tree_multi_assignment_expression::eval): Don't define - constants that are of unknown type. - Try to be smarter about padding after last value. - - * tree-extras.cc (lu): Don't bother trying to return the LU - factorization in a single matrix since this isn't really useful - and isn't compatible with Matlab anyway (they use Linpack, we use - Lapack). - - * tree.cc (tree_identifier::assign (rhs, args, nargs)): Only try - to do assignment if rhs is defined. - -Sat Dec 5 18:23:55 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (qr): New function. - * g-builtins.cc (builtin_qr): New function. - * builtins.cc: Add builtin_qr to list of builtin functions. - * doc/octave.1: Document it. - - * Matrix.cc (Matrix::lu): Use dgesv from Lapack instead of dgefa - since it returns L and U, not some factors that need decoding. - (ComplexMatrix:lu): Likewise. - -Fri Dec 4 01:51:05 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * configure.in (INCDIRS): Don't include /usr/local/include. - (LIBDIRS): Don't include /usr/local/lib. - - * tree-extras.cc (lu): New function. - * g-builtins.cc (builtin_lu): New function. - * builtins.cc: Add builtin_lu to list of builtin functions. - * doc/octave.1: Document it. - - * Matrix.cc (Matrix:lu, ComplexMatrix:lu): New functions. - * Matrix.h, Matrix.cc (LU, ComplexLU): New classes. - - * tree-extras.cc (do_quad): New function. - * g-builtins.cc (builtin_quad): New function. - * builtins.cc: Add builtin_quad to list of builtin functions. - * doc/octave.1: Document it. - - * doc/Makefile.in (install): Edit the manpage to substitute - correct values in the FILES section. - (dist) Depend on octave.info. - (local-dist): Ditto. - - * Quad.h, Quad.cc: New files to implement quadrature. - - * NPSOL.cc (npsol_objfun): If compiling with GCC on a Sun, assign - to objf via assign_double(). - - * sun-utils.h, sun-utils.cc: New files. - * sun-utils.cc: Move declaration and definition of MAIN_ here from - utils.cc. - (access_double): New function, from GCC manual. - (assign_double): New function, after access_double. - -Thu Dec 3 03:16:03 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * NEWS: New file. - * Makefile.in: Distribute it. - - * scripts/*.m: Change to use new end feature. - - * lex.l: Recognize `endif', `endfor', `endfunction', `endif', and - `endwhile', in addtion to `end'. - * parse.y: Check for command/end mismatches. - (end_error): New function. - * doc/octave.1: Document it. - -Wed Dec 2 11:57:18 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * libcruft/villad: New directory. Move and split villad.f here - from libcruft/misc. - * configure.in: Create Makefile in libcruft/villad. - * libcruft/Makefile.in: Add libcruft/villad to list of dirs to make. - - * All Makefile.in (uninstall): New target. - (distclean): Likewise. - (check): Ditto. - * Try to make clean targets conform with GNU coding standards. - - * utils.cc (smells_like_X11): New function. - * builtin-fcns.cc (install_builtins): Don't set graphics terminal - to x11 unless it looks like we're running X11. - - * win_texas_lotto.m: New M-file. - * octave.1: Document it. - - * arith-ops.h: New file. - * src/Makefile.in: Build arith-ops.o, distribute arith-ops.cc, - arith-ops.h. Maybe this will at least speed up recompiles. - - * THANKS: New file - * Makefile.in: Distribute it. - - * configure.in: Create Makefile in gnuplot-build/docs. - * gnuplot-build/docs/Makefile.in: New file. - * Create and install notgnuplot.gih. - -Tue Dec 1 00:15:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_identifier::eval (int)): Only pad after if printing. - (tree_multi_assignment_expression::eval (int)): Ditto. - (tree_assignment_expression::eval (int)): Ditto. - - * hankel.m: Use disp to print message. - * toeplitz.m: Ditto. - - * lex.l ({SN}*\]/{S}*=): Check maybe_screwed_again to - decide whether to return SCREW_TWO or ']'. - - * doc/Makefile.in (install): Really install the manpage. - - * Version 0.49. - - * Matrix.cc (ComplexMatrix::operator !): New function. - * arith-ops.cc (do_unar_op): Use it. - - * tree-extras.cc (inverse, svd, eig): Don't try to operate on - empty matrices. - - * Matrix.h, Matrix.cc: (EIG): New class. - (Matrix::eig): New functions. - (ComplexMatrix::eig): Ditto. - * tree-extras (eig): Use them. - * g-builtins.cc (builtin_eig): New function. - * builtin-fcns.cc (general_functions): Add eig to list. - * dococtave.1: Document it. - - * Matrix.h, Matrix.cc: (ComplexDET): New class. - * tree-extras (determinant): Use it. - -Mon Nov 30 04:02:29 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.h, Matrix.cc (ComplexSVD): New class. - * tree-extras (svd): Use it. - - * Matrix.cc (svd): Use lapack instead of linpack to compute SVD. - - * libcruft/Makefile.in: Replace eispack with lapack in - subdirectory list. - * libcruft/eispack: Delete directory. - * libcruft/lapack/Makefile.in: New file. - * configure.in: Create Makefile in libcruft/lapack, not - libcruft/eispack. - - * libcruft/lapack: New directory. - * Copy files for SVD and Eigenvalue computation here. - - * lex.l ({SN}*\]/{S}*=): Only return SCREW_TWO if not - defining a function. - - * arith-ops.cc (do_binary_op (double, double)): For pow operator, - don't create complex value if exponent is really an int. - - * configure.in: Check for f77 last. - * Print warnings if bison or lex is not found. - * Reformat fatal no f2c/f77 error message. - - * flib.sh: Make it work even if xlf is called f77. - -Sun Nov 29 01:55:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc: Include f77-uscore.h. - * Use F77_FCN macro when declaring or calling Fortran functions. - - * configure.in: After checking to see that it's not garbage, add - the output of f2c-compat.sh to DEFS. - - * f2c-compat.sh: Figure out whether or not we need to append an - underscore to Fortran function names. - - * flibs.sh: Handle xlf -v output as special case. - - * octave.cc: Only define BADSIG if it isn't already defined. - * g-builtins.cc: Ditto. - - * configure.in: Don't create man/Makefile. - * man: Directory deleted. - * doc/Makefile.in: Distribute and install octave.1. - * doc/octave.1: Renamed from man/octave.1. - -Sat Nov 28 15:54:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * man/Makefile.in (install): Install manpage. - * octave.1: rename from octave.man - * octave.1: Document builtin variables and command line editing - (stolen from bash man page). - - * tree-const.cc (eval (int print)): Convert complex values to real - if imaginary part is zero. - - * octave.cc (log_usage): Deleted. - (main): Don't call log_usage. - - * g-builtins.cc (builtin_sqrt): Delete. - (builtin_log): Ditto. - (builtin_log10): Ditto. - - * tree-const.h, tree-const.cc (sqrt_internal): Delete. - (log_internal): Ditto. - (log10_internal): Ditto. - - * tree-const.cc (mapper): Handle neg_arg_complex. - - * builtin-fcns.h (Mapper_fcn): New field neg_arg_complex. - * builtin-fcns.cc: (mapper_functions[]): Initialize it for list of - mapper functions. - * builtin-fcns.cc: (mapper_functions[]): Move log, log10, and sqrt - back here from general_functions[]. - -Fri Nov 27 17:05:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (tree_constant_to_vector): Handle complex scalars - and matrices. - -Wed Nov 25 17:32:42 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * man/octave.man: New file, very incomplete. - * man/Makefile.in: Include octave.man in list of files to - distribute. - - * g-buitlins.cc (builtin_rand): Handle nargin == 1. - * tree-extras.cc (rand): Likewise. - - * rem.m: New M-file. Implemented as M-file because it's much - simpler! - - * configure.in (DEFAULT_DOT_C_FROM_DOT_F): Escape % characters in - rule to avoid problems with autoconf, which uses % for sed command - delimeters. - (DEFAULT_DOT_O_FROM_DOT_F): Ditto. - -Tue Nov 24 00:21:34 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (fill_matrix): Don't try to create matrices with - negative dimensions. - (frobit): Likewise. - - * utils.cc (check_dimensions): New function. - - * utils.cc (treat_neg_dim_as_zero): New function. - * builtin-fcns.cc (treat_neg_dim_as_zero): New builtin variable, - default value is false. - - * tree-const.h (tree_constant::bump_value): Like, assign, check - reference count and possibly make a new copy before changing - anything. - - * tree-base.h (is_builtin): New virtual function. - * tree.cc (tree_builtin::is_builtin): New function. - - * parse.y (ans_expression): Also check to see if the lone - expression is a builtin text-style function invoked without any - arguments. - - * octave.cc, t-builtins.cc: Print copyright and other normal - (non-error) message on cout instead of cerr. - - * t-builtins.cc (builtin_warranty): Don't return message in - retval. - (builtin_history): Likewise. - (builtin_help): Also. - (builtin_who): Ditto. - - * Version 0.48. - - * tree-extras.cc: Fix most functions to handle complex arguments. - Still need to finish SVD and DET (waiting for these functions in - the Matrix class). - - * tree.cc (tree_multi_assignment::eval): Optionally print names - for result variables. - - * tree-const.h (tree_constant::eval (int print, int nargout)): - New function. Simply ignore nargout. - * tree.cc (tree_matrix::eval (int print, int nargout)): Ditto. - - * tree.cc (tree_parameter_list::name): New function. - - * lex.l (): Delete rules, start condition because they are - unecessary. - - * lex.l ({SN}*\]): Split into three rules. Use trailing - context instead of home-brew lookahead. - -Mon Nov 23 00:51:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * utils.cc (ok_to_lose_imaginary_part): New function. - * builtin-fcns.cc (ok_to_lose_imaginary_part): New builtin - variable, default value is warn. - - * tree-const.h (double_value): Maybe return real part if invoked - for complex tree_constant. - * tree-const.h (matrix_value): Ditto. - - * Version 0.47. This one wasn't tested, but there have been a lot - of significant changes and I wanted a backup. - - * tree-const.cc (sqrt_internal): New function. Sqrt isn't - implemented as a mapper function since negative real arguments - give complex results. - (log_internal): Ditto. - (log10_internal): Ditto. - * builtin-fcns.cc: Move sqrt, log, and log10 from mapper struct - initializer to general function struct initializer. - - * rot90.m: New M-file. Still needs rem() to be complete. - - * tree-const.cc (mapper): Handle mapper functions for complex - variables. - - * mappers.h, mappers.cc: New file for mapper functions. - - * builtin-fcns.h, builtin-fcns.cc: Rename from builtins.h - builtins.cc. - - * flipud.m: Don't do indexing on lhs. - * fliplr.m: Likewise. - -Sun Nov 22 17:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * arith-ops.cc (do_binary_op (double, double)): Handle a^b for - a < 0. - - * builtins.cc: Make sqrt a general builtin function instead of a - mapper function. - * g-builtins.cc (builtin_sqrt): New function. - * tree-const.cc (sqrt_internal): New function. - -Sat Nov 21 16:41:02 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-const.h, tree-const.cc: Complete most changes required to - handle complex types. There are lots of details, most will be - omitted here. - - * tree-const.h (is_real_type) New function. - (is_complex_type): Ditto. - (is_scalar_type): Ditto. - (is_matrix_type): Ditto. - - * tree-const.h (REP_RHS_MATRIX, REP_ELEM_ASSIGN, CRMATRIX, - ASSIGN_CRMATRIX_TO, CRMATRIX_ASSIGN_REP_ELEM, - CRMATRIX_ASSIGN_ELEM): New macro for dealing with real and complex - matrices in the same tree_constant_rep function. - - * tree-const.cc: Include arith-ops.cc. - - * arith-op.cc: New file for functions that implement unary and - binary operations for the tree_constat classes. - * Mark all operations that aren't implemented yet with a - FIXME comment. There are about 35-40 things left to fix - in this file. - -Thu Nov 19 00:25:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.46. - [ This one wasn't tested, but there have been a lot of significant - changes and I wanted a backup. ] - - * tree-const.cc (tree_constant_rep::do_unary_op): Handle Complex. - (do_unary_op (Complex&, tree::expression_type)): New function. - (do_unary_op (ComplexMatrix&, tree_expression_type): Ditto. - - * tree-const.cc (tree_constant_rep::assign): Handle Complex - (still needs updated support functions in order to work). - - * tree.cc (tree_matrix::eval): Handle Complex. - (tree_identifier::eval): Ditto. - (tree_for_command::eval): Ditto. - -Wed Nov 18 23:33:13 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree_const.cc (tree_constant_rep::rows): Handle Complex. - (tree_constant_rep::columns): Ditto. - (tree_constant_rep::all): Ditto. - (tree_constant_rep::any): Ditto. - (tree_constant_rep::cumprod): Ditto. - (tree_constant_rep::cumsum): Ditto. - (tree_constant_rep::prod): Ditto. - (tree_constant_rep::sum): Ditto. - (tree_constant_rep::sumsq): Ditto. - - * tree_const.h, tree_const.cc (tree_constant::complex_value): New - function. - (tree_constant_rep::complex_value): Ditto - (tree_constant::complex_matrix_value): New - (tree_constant_rep::complex_matrix_value): New - - * tree_const.cc (tree_constant_rep::~tree_constant_rep): Handle - complex scalars and matrices. - (tree_constant_rep::force_numeric): Ditto. - (tree_constant_rep::make_numeric): Ditto. - (tree_constant_rep::eval): Ditto. - (tree_constant_rep::bump_value): Ditto. C++, for C == a - complex value is C = C + 1. Should I even do this? Hmmm. - - * tree-const.h, tree-const.cc: Begin adding support for Compelex. - * Add complex_scalar and complex_matrix to value union. - * Add complex_scalar_constant and complex_matrix_constant to type - tag enum. - * New constructors. - - * Matrix.h, Matrix.cc: Major changes to add Complex support. - -Tue Nov 17 14:40:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Matrix.cc (RowVector::operator (const Matrix&)): New function. - - * Matrix.cc (ColumnVector::transpose): New function. - Eliminate friend function that served the same purpose. - (RowVector::transpose): Ditto. - -Mon Nov 16 09:57:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (QSTRING): Fix to allow '' inside a string to represent a - single quote. Makes computer.m a little funnier. - -Fri Nov 13 18:46:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.45. - - * computer.m: New M-file. - * tril.m: Ditto. - * triu.m: Ditto. - - * doc (*.texi): Can now produce BUGS, INSTALL, and octave.info - files without generating errors, though the organization is - probably till very wrong. - - * Makefile.in (newversion): Add magic to handle major versions - other than 0, and major/minor versions of any length. - -Thu Nov 12 01:37:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.h, tree-const.h, builtins.cc, g-builtins.cc, - tree-extras.cc: Conditionally compile code for NPSOL and FSQP - based on FSQP_MISSING and NPSOL_MISSING. - * g-builtins.cc (builtin_npsol): If NPSOL is missing, always call - npsol_usage() to print out message indicating why NPSOL doesn't - work. - * g-builtins.cc (builtin_fsqp): Likewise for FSQP. - - * configure.in: Check for srcdir/libcruft/npsol/npsol.f and - srcdir/libcruft/fsqp/fsqp.f. If missing, define NPSOL_MISSING or - FSQP_MISSING and add them to DEFS. - - * libcruft/npsol/README.MISSING: New file. - * libcruft/fsqp/README.MISSING: Ditto. - - * libcruft/npsol/Makefile.in (dist): Don't distribute sources - because of license restriction. Do distribute Makefile.in and - README.MISSING. - * libcruft/fsqp/Makefile.in (dist): Ditto. - - * All Makefile.in files (local-dist): New target, usually the same - as dist. - - * parse.y (ans_expression): Check to see that the RHS isn't just - an identifier. - * tree.cc (tree_identifier::eval (int)): Maybe print id name. - * tree.cc (tree_assignment::eval (int)): Ditto. - * buitlins.cc (print_answer_id_name): New builtin variable. - * utils.cc (print_answer_id_name): New function. - -Tue Nov 10 10:58:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (log_usage): Surround with #if 0/#endif. - -Mon Nov 9 13:42:54 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * symtab.cc (load): Only issue error mesasge if attempt to find - _first_ name keyword fails. - - * tree-const.cc (make_numeric_or_magic): New function. Like - make_numeric except also pass magic_colons. - * tree-const.cc (all do_matrix_index functions): Matrix ndices can - be naked colons, so use make_numeric_or_magic on index arguments - instead of make_numeric. - - * liboctave/Makefie.in (install): Install .h files in $(includedir). - (includedir): New macro, default value $(prefix)/include. - - * tree.cc (tree_function::eval (int print)): Force arguments to be - undefined. - - * tree-const.h (tree_constant::assign (rhs, args, nargs)): Check - reference count before assigning. - * tree.cc (tree_identifier::assign (rhs, args, nargs)): Don't eval - lhs before doing assignment. - - * tree.cc (parse_m_file): Gobble leading white space, including - comments. - -Fri Nov 6 16:52:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.44. - - * g-builtins.cc (builtin_getenv): New function. - - * isempty.m: New M-file. - - * g-builtins.cc (builtin_exist): New function. - * utils.cc (identifier_exists): Handle the dirty details. - - * utils.cc (warn_comma_in_global_decl): New function. - * builtins.cc (warn_comma_in_global_decl): New builtin variable. - Initial value is true. - * parse.y (global_decl): Handle global declarations here, - including optional initialization. - * t-builtins.cc (builtin_global): Deleted. - -Thu Nov 5 23:59:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_feval): New function. - * tree-extras.cc (feval): Handle the dirty details. - - * g-builtins.cc (builtin_rand): New function. - * tree-extras.cc (rand): Handle the dirty details. - -Wed Nov 4 14:54:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * num2str.m: New M-file. - * int2str.m: Ditto. - - * g-builtins.cc (builtin_disp): New function. - - * g-builtins.cc (builtin_fprintf, builtin_printf, - builtin_sprintf): New functions. - * tree-extras.cc (do_printf): New function to handle the gory - details. - - * g-builtins.cc (builtin_flops): Implement here because we may - actually want to count operations at some point. - -Tue Nov 3 17:06:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-const.cc (do_binary_op): Detect and give error message for - optations on empty matrices. - (do_unary_op): Likewise. - - * parse.y (matrix): Convert `[]' and `[;]' to empty matrices - instead of (tree_matrix *) NULL. - -Mon Nov 2 11:23:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * src/Makefile.in: Update dependencies. - * liboctave/Makefile.in: Ditto. - - * tree-const.cc (force_numeric): Consult matlab_strings() - before doing string to number conversion. - * builtins.cc (matlab_strings): New builtin variable. - * utils.cc (matlab_strings): New function. - - * tree-extras.cc (linear_constraints_ok): New function. - (linear_constraints_ok): Ditto. - (npsol): Use them to avoid creating inconsistent sets of - constraints and crashing. It would really be nice to have - exception handling. - - * symtab.cc (load): Issue error mesasges if attempt to find - name keyword fails. - - * Version 0.43. - - * tree-extras.cc (npsol): Use new minimize (phi, inform). - Handle nargout == 3. - - * g-builtins.cc (builtin_npsol): Allow nargout == 3. - - * NPSOL.cc (set_default_options): New function. - (all constructors): Use it. - (operator =): Use it and print warning message (setting default - options doesn't represent a true copy and it would be somewhat - difficult to fix this...). - - * npchkd.f (npchkd): Only write message if msglvl > 0. - -Sun Nov 1 00:58:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * gnuplot-build/Makefile.in (LIBDIRS): Set correctly. - (notgnuplot): Use it. - - * libcruft/misc/gen-d1mach.c: Generate d1mach.f at build time - instead of depending on the installer to get it right. - * libcruft/Makefile.in (gen-d1mach): New target. - - * libcruft/Makerules.in (SPECIAL): New macro. - (DISTFILES): Include it. - - * libcruft/Makerules.in (SPECIAL_DEPEND): Ditto. - (../../libcruft.a): Use it. - -Mon Oct 26 02:25:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (is_valid_function): Try harder to find M-files - that may not have been parsed yet. - - * symtab.cc (define (symbol_record*)): New function. Make it - simple to copy all fields of a symbol_record if we already have - one. - * utils.cc (force_global): Use it. - - * utils.cc (valid_identifier): Allow underscores in names. - - * tree-extras.cc (npsol): Force column vector to be returned. - (fsolve): Ditto. - - * Version 0.42. - - * tree-extras.cc (fsolve): New function for solving nonlinear - algebraic equations. This needs much more work if it is to - provide all the functionality of Matlab's fsolve. - - * tree-extras.cc (fsolve_user_function): New function. - - * libcruft/minpack: Import needed functions. - - * tree-extras.cc: (npsol (tree_constant*, int, int): Completely - rewrite to handle all of the follwing: - - 1. npsol (x, phi) - 2. npsol (x, phi, lb, ub) - 3. npsol (x, phi, lb, ub, llb, c, lub) - 4. npsol (x, phi, lb, ub, llb, c, lub, nllb, g, nlub) - 5. npsol (x, phi, lb, ub, nllb, g, nlub) - 6. npsol (x, phi, llb, c, lub, nllb, g, nlub) - 7. npsol (x, phi, llb, c, lub) - 8. npsol (x, phi, nllb, g, nlub) - - * tree-extras.cc (npsol_constraint_function): New function. - - * tree-extras.cc (tree_constant_to_vector): New function. - (tree_constant_to_matrix): Ditto. - (takes_correct_nargs): Ditto. - -Fri Oct 23 10:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (is_valid_function): New function. - (npsol): Use it. - - * utils.cc (s_plural): New function. - (es_plural): Ditto. - - * tree-extras.cc (npsol): Improve checks for valid objective - function. - - * tree.cc (tree_function::max_expected_args): New function. - -Thu Oct 22 18:42:07 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_lsode): Quick check of arguments, then - call lsode (tree_constant *, int, int). - * Move rest of code for implementing builtin_lsode to - tree-extras.cc. - - * g-builtins.cc (builtin_npsol: Quick check of arguments, then - call npsol (tree_constant *, int, int). - * Move rest of code for implementing builtin_npsol to - tree-extras.cc. - - * tree-const.cc: Simplify functions that require numeric arguments - by always calling make_numeric for them instead of doing it - conditionally. - * tree.cc: Ditto. - * tree-extras.cc: Ditto. - - * tree-const.h (tree_constant::make_numeric): Return *this if - already a numeric type. - - * NLP.cc: In constructors, don't try to assign NULL to bounds - objects. - - * tree-const.cc (tree_constant_rep::valid_as_scalar_index (void)): - New function. - * tree-const.cc (valid_scalar_indices (tree_constant*, int): - New function. - * tree-const.cc (tree_constant_rep::do_scalar_index): Simplify by - using functions to determine if arguments are valid as indices. - (tree_constant_rep::do_scalar_assignment): Likewise. - -Wed Oct 21 14:11:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-extras.cc (determinant): Make it work again. - - * tree.cc (tree_identifier::eval (tree_constant*, int, int, int): - Simplify logic. Only have one ans->eval() call. - - * tree-const.cc (tree_constant_rep::eval (tree_constant*, int, - int, int): Properly handle indexing of range constants. - - * tree-const.cc (stupid_fortran_style_matrix_index): Preserve row - or column orientation for vectors. - - * toeplitz.m: New M-file. - * invhilb.m: Ditto. - * hankel.m: Ditto. - - * tree-extras.cc (max): Handle two arg case. - tree-extras.cc (max): Likewise. - (min (Matrix&, Matrix&): New function. - (max (Matrix&, Matrix&): Ditto. - -Tue Oct 20 15:13:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.41. - -Mon Oct 19 16:46:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * rows.m: New M-file. - * g-builtins.cc (builtin_rows): Delete function. - * g-builtins.h (builtin_rows): Delete declaration. - * builtins.cc (general_functions): Delete from initialization list. - - * columns.m: New M-file. - * g-builtins.cc (builtin_columns): Delete function. - * g-builtins.h (builtin_columns): Delete declaration. - * builtins.cc (general_functions): Delete from initialization list. - - * length.m: New M-file. - * g-builtins.cc (builtin_length): Delete function. - * g-builtins.h (builtin_length): Delete declaration. - * builtins.cc (general_functions): Delete from initialization list. - - * g-builtins.cc (builtin_size): If two values are expected to be - returned, put nr and nc in separate registers. - -Sun Oct 18 13:37:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree-base.h: Extract base tree class declarations from tree.h. - * tree-const.cc, tree-const.h: Extract tree_constant class from - from tree.cc, tree.h. - Change all uses of tree.h to use either or both of tree-base.h and - tree-const.h. - - * Matrix.cc (solve): Replaces LinEqn class. - tree.cc (do_binary_op) Use it. - - * g-builtins.cc (builtin_max): New function. - tree.cc (tree_constant::max): New friend. - - * g-builtins.cc (builtin_min): New function. - tree.cc (tree_constant::min): New friend. - - * cond.m: New M-file. - - * rank.m: New M-file. - - * g-builtins.cc (builtin_svd): New function. - tree.cc (tree_constant::svd): New friend function. - - * g-builtins.cc (builtin_svd): New function. - tree.cc (tree_constant::svd): New friend function. - - * t-builtins.cc (builtin_format): New function. Implement some of - the Matlab options (sort of). - - * Major changes to liboctave source. A new Matrix.cc/Matrix.h - completely replaces the old Matrix/Vec/AVec code. All other - classes that use Matrix/Vector objects have been updated (or - deleted, if they are no longer needed). All callers changed in - octave sources. - -Sun Oct 11 21:22:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_function::eval): Don't define more function - parameters than are expected. If fewer arguments than expected - are actually supplied, force them to be undefined. - - * parse.y (fact): Give warning and abort for identifiers followed - by '['. This should catch most improper uses of [] instead of () - for indexing operators. - - * tree.cc (do_binary_op (Matrix&, Matrix&, tree::expression_type): - Handle element by element exponentiation. - -Tue Sep 22 10:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.40. - -Mon Sep 21 13:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l: Accept ** and .** as well as ^ and .^ as exponentiation - operators. - -Fri Sep 18 15:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.h tree.cc utils.cc g-builtins.cc: Elimitate need for - overloaded operator-> in the tree_constant class. Also eliminate - uses of ->string, ->scalar, etc. Instead, always call - .string_value(), .double_value(), etc. - - * builtins.cc (install_builtins): Reserve `ans' as an - uninitialized global variable (should it really be global?). - - * parse.y (ans_expression): Handle default assignemnt to builtin - variable ans. - (command): Use it. - -Tue Sep 15 14:06:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.39. - - * tree.cc (tree_identifier::bump_value): Don't try to increment - undefined symbols or values. - (tree_prefix_expression::eval): Don't call bump_value if id is a - NULL_TREE. - (tree_prefix_expression::eval): Likewise. - - * g-builtins.cc (lsode_builtin): Handle extra arguments. - liboctave/ODE.cc (integ): Add template for handling bad returns - from lsode. - - * tree.cc (class tree_return_command): Implementation is just like - break and continue. Something seems wrong about this... - lex.l (return): Recognize return statement. - parse.y (statement): Handle function returns. - tree.cc (various eval functions): Check to see if we are returning - from a function. - - * tree.cc (tree_for_command::eval): Set abort_on_undefined when - evaluating the loop body. - (tree_while_command::eval): Ditto. - - * tree.cc (class tree_idenfier): Improve searching/parsing M-files - when handling undefined names. - tree.cc (tree_identifier::parse_m_file (char*)): New function. - (tree_identifier::parse_m_file (void)): Use it. - - * utils.cc (force_global): New function. - * symtab.cc (symbol_table::remove_name(char *)): New function. - - * tree.h, tree.cc (class tree_constant): Split into two classes, - tree_constant (handle) and tree_constant_rep (body) to enable use - of `smart pointers' and reference counted memory management. - (Lots of things are different with this change.) - -Sat Aug 22 11:58:27 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.38. - - * lex.l (COMMA_KLUDGE): Delete production, all uses. This doesn't - seem to be necessary anymore, and the mystery output lines - disappear without it. - - * builtins.cc (make_eternal (char *)): New function. - (install_builtins): Make LOADPATH, eps, pi, Inf, and NaN eternal. - - * New M-files: mean.m, std.m, hadamard.m, vander.m, hilb.m, - linspace.m, logspace.m. - - * tree.cc (tree_function::eval): Don't check number of arguments - supplied against total number possible (previously thought to be - `expected') so that user-defined functions can have variable - numbers of arguments. - - * tree.cc (tree_identifier::eval_undefined_error): New function. - (tree_identifier::eval): Use it. - - * octave.cc (abort_on_undefined): New global symbol to control - whether we should jump to top level after an undefined symbol has - been encountered. - tree.cc (tree_function::eval) Set it before evaluating function - body, restore to previous value after successful completion. - tree.cc (tree_identifier::eval_undefined_error): Use it - -Fri Aug 20 09:31:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc: New mapper functions: - isnan: Uses xisnan, which calls IEEE function isnan. - isinf: Uses xisinf which calls IEEE functions finite and isnan, - or isinf if available. - finite: Uses xfinite, which calls IEEE function finite. - abs: Uses fabs. - - * g-builtins.cc (sumsq): New function. - (diag): New function. - - * tree.cc (tree_constant::sumsq): New function - (tree_constant::diag): New function - - * Matrix.cc (sumsq): New function. - (diag): Ditto. - -Thu Aug 20 00:36:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_error): New function. - - * gnuplot-build/Makefile.in (dist): Actually create `term' - subdirectory. - - * Lots of changes to tree.cc tree_assignment_expression::eval and - tree_index_expression::eval to make matrix indexing work like - Matlab. - (do_fortran_indexing): New user-level variable to control this - behavior. If this variable is false, things like - - a([1,2;3,4], [1,2;3,4]) = b - - become syntax errors. Otherwise, Matlab braindamage prevails. - -Tue Aug 18 13:15:46 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.37. - - * tree.cc (do_matrix_assignment): Conditionally allow single - indices for Matrix assignments. - (do_matrix_index): Ditto. - - * utils.cc (do_fortran_indexing): New function. - utils.h: Declare it. - builtins.cc (install_builtins): Default value for new - do_fortran_indexing variable. - - * builtins.cc (install_builtins): Bind eps to the value - DBL_EPSILON from float.h. Make it read only (will this cause - trouble)? - * Bind Inf to 1/0 (will only work for IEEE machines. - * Bind NaN to 0/0 (will only work for IEEE machines. - * Add round, fix, floor, ceil, and sign to builtin mapper functions. - (round): New function. - (fix): Ditto. - (signum): Ditto. - * Add clc (clear screen function). - * Add home (clear screen function). To be just like Matlab, this - wouldn't clear the screen. - - * New M-files: fliplr.m, flipud.m, trace.m, reshape.m. - - * utils.cc (bind_variable): Revise bind_string_variable so that it - takes a tree_constant as an argument. - (bind_protected_variable): Likewise for the function - bind_protected_string_variable. - (bind_string_variable): Delete. - (bind_protected_string_variable): Ditto. - utils.h: Fix declarations. - builtins.cc t-builtins.cc: Fix callers. - - * builtins.cc (install_builtins): Bind LOADPATH here. - octave.cc (initialize_globals): Not here. - - * Makefile.in (SOURCES): Add new scripts directory. - (scripts): New target. - libcruft/Makefile.in (install): Don't depend on all. - - * utils.cc (m_file_in_path): Get path from LOADPATH variable. - tree.cc (tree_identifier::parse_m_file): Modify caller. - - * src/Makefile.in (OCTAVE_M_FILE_DIR): New variable. - (utils.o): Use it. - utils.cc (default_path): Use it. - - * utils.cc (pathstring_to_vector): New function. - (default_path): Return colon separated path instead of vector of - paths. - * octave.cc (initialize_globals): Use pathstring_to_vector here. - Bind output of default_path to LOADPATH variable. - Eliminate octave_path global variable. - - * tree.cc (isstr): New function. - (all): Ditto. - (any): Ditto. - (cumprod): Ditto. - (cumsum): Ditto. - (prod): Ditto. - (sum): Ditto. - - * g-builtins.cc (builtin_isstr): New function. - (builtin_all): Ditto. - (builtin_any): Ditto. - (builtin_cumprod): Ditto. - (builtin_cumsum): Ditto. - (builtin_prod): Ditto. - (builtin_sum): Ditto. - - * Matrix.cc (all): New function. - (any): Ditto. - (cumprod): Ditto. - (cumsum): Ditto. - (prod): Ditto. - (sum): Ditto. - - * scripts: New directory. - scripts/strcmp.m: New file (first M-file function in distribution!). - scripts/Makefile.in: New file. - configure.in: Include scripts/Makefile in list of files to create. - -Sat Aug 15 18:32:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.36. - -Fri Aug 14 08:44:10 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (id_to_define): New global variable. - (curr_m_file_name): Ditto. - (current_infile): Ditto. - - * tree.h tree.cc (tree_identifier::parse_m_file): New function. - (tree_identifier::eval): Handle M-files. - - * tree.h (stash_m_file_name): New virtual function. - (stash_m_file_time): Ditto. - (time_parsed): Ditto. - (m_file_name): Ditto. - - * tree.h tree.cc (tree_function::stash_m_file_name) New function. - (tree_function::stash_m_file_time): Ditto. - (tree_function::time_parsed): Ditto. - (tree_function::m_file_name): Ditto. - - * lex.l (reading_m_file): New global variable. - (delete_buffer): New function. - (yywrap): New function. Always return 0 (is this a smart thing to - do?). - - * parse.y (func_def2): Handle input from m-files (sort of). - - * octave.cc (octave_path): New global variable. - (using_readline): Ditto. - (no_line_editing): Ditto. - - * octave.cc (main): Initialize current_command_number before - calling setjmp. - * Increment it in main command loop, not in parse.y. - - * utils.h utils.cc (default_path): New function. - (m_file_in_path): Ditto. - (is_newer): Ditto. - - * octave.cc (main): Execute commands here. - * parse.y (input): Not here. - - * octave.cc (tree *global_command): New global variable that - points to the current command to be executed. - -Thu Aug 13 07:08:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y: Make word_list_cmd a fact, not a command, so that - things like `y = who -all' can work. You can't do that in Matlab. - - * t-builtins.cc (builtin_who): Print symbols in columns, sorted. - (list_in_columns) New function, mostly stolen from GNU ls. - - * symtab.h symtab.cc (char **list (void)) New function. - (char **sorted_list (void) New function. - - * tree.cc (various eval functions): Handle printing results of - text and general functions here. Straighten out other printing - stuff, maybe... - - * t-builtins.h t-builtins.cc: Make text functions return - tree_constant* instead of int, delete print flag argument. - - * g-builtins.h g-builtins.cc: Delete print flag argument. - - * Version 0.35. - -Wed Aug 12 15:12:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_builtin::eval): Call mapper function with - print = 0 to avoid getting two answers. - (specific do_matrix_assignment functions): Handle resizing - correctly for `:' indices. - (tree_colon_expression::eval): Don't crash if the evaluation of - an operand yields a NULL_TREE_CONST. - -Mon Aug 10 07:31:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_identifier::define): Return NULL_TREE_CONST if - symbol_record::define fails. - (tree_identifier::assign): Likewise. - - * symtab.h (symbol_lifetime): New attribute for symbol_records. - Can be either temporary or eternal. - (symbol_class): Delete eternal attribute. - * builtins.cc (install_builtins): Mark all builtins as eternal. - - * Version 0.34. - - * tree.h: Delete ttype, enum list of tree types. - - * g-builtins.h g-builtins.cc (builtin_colloc): New function. - - * liboctave (various): Add missing return values, etc. so that - liboctave compiles cleanly. - - * tree.h tree.cc (tree_multi_assignment): New class to implement - assignments to more than one variable. Does it work? Maybe... - - * tree.h (tree_constant **eval (int, int)): New virtual function. - (is_identifier): Another one. - - * symtab.h (eternal): New class for symbol_records. - * symtab.h symtab.cc (make_eternal): New function. - * builtins.cc (install_builtins): Make builtin variables eternal. - - * tree.cc (list_to_vector): Surround by `#if 0/#endif' to avoid - compilation warning. - -Sun Aug 9 03:18:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * t-builtins.h t-builtins.cc (builtin_cd): New function adapted - from bash for changing the current working directory. - (builtin_pwd): New function adapted from bash for printing the - current working directory. - - * utils.h utils.cc: New functions from bash for changing and - printing the current working directory: - - pathname_backup make_absolute - get_working_directory change_to_directory - - * utils.h utils.cc (bind_string_variable): New function. - (bind_protected_string_variable): Likewise. - - * octave.cc (initialze_globals): New function. - - * utils.h utils.cc: New functions from bash, mostly for fancy - prompting: - - polite_directory_format absolute_pathname - absolute_program base_pathname - read_octal sub_append_string - decode_prompt_string - -Thu Aug 6 02:39:31 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * octave.cc (initialize_history): Fix up to - (octave_hist_file) New global variable. - (octave_hist_size) Ditto. - (history_lines_this_session) Ditto. - (history_lines_in_file) Ditto. - - * input.cc (octave_gets): Keep track of number of lines read - during the current session. - - * utils.cc (default_history_file): New function. Look for - OCTAVE_HISTFILE environment variable and use its value if - possible. - (default_history_size): New function. Look for OCTAVE_HISTSIZE - environment variable and use its value if possible. - - * t-builtins.cc (builtin_history): Steal from bash and modify to - work with octave. - - * g-builtins.cc (builtin_det): New function. - - * tree.h tree.cc (determinant): New function - - * g-builtins.cc: Rewrite functions that use fill_matrix, inverse, - and identity_matrix to use new versions implemented as friends of - tree_constant. This is being done in an attempt to get rid of all - calls to tree_constant::const_type() outside of tree.cc. - - * tree.cc (tree_constant): Implement new functions for filling - and inverting tree constants as matrices, and for creating an - identity matrix from a tree_constant. - - * g-builtins.cc (builtin_inv): New function. - builtins.cc: Allow builtin_inv to be called as either inv(A) or - inverse(A). - - * tree.cc (do_binary_op (Matrix, Matrix)): Better handling of - solution of linear equations for square coefficient matrices. - - * LinEqn.cc (solve): Don't exit on singular matrices. Implement - new variations of these functions that will allow status checking. - - * src/Makefile.in: Define GNUPLOT_BINARY and SITE_DEFAULTS. - Specific rules for octave.o and builtins.o to avoid defining - GNUPLOT_BINARY and SITE_DEFAULTS for all .cc targets. - - * builtins.cc: Use macro GNUPLOT_BINARY. - - * octave.cc (execute_startup_files): Use macro SITE_DEFAULTS. - Execute commands from SITE_DEFAULTS file. - - * t-buitlins.cc (builtin_pause): Make it work. - - * configure.in: Check for termio.h and/or sgtty.h. - - * octave.cc (clean_up): Reset terminal state to cooked mode. - (main) Likewise, after return from SIGINT signal handler. - - * utils.h utils.cc (raw_mode): New function (mostly stolen from - less(1)) toggle input processing for stdin to raw/cooked modes. - (kbhit): New function to read one character from cin in raw mode - without echoing it. - - * builtins.cc: Fix expected number of arguments in lists of - builtins. - - * tree.h tree.cc (max_args_expected (void)): New virtual function. - (tree_builtins::) Provide a definition of it. - - * lex.l (identifier): Before gobbling up text function arguments, - check to see that we expect some. - - * symtab.h symtab.cc (max_args_expected): Return max args expected - by a symbol (currently only valid for tree_builtins). - -Wed Aug 5 05:03:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * utils.h utils.cc (resize_on_range_error): Decide what to return - based on value of global variable of same name. - (prefer_column_vectors): Likewise. - - * Version 0.33. - - * parse.y (func_def2): Call define (tree *, symbol_type), not - define (tree *), so that the symbol type is set for user-defined - functions. - (assignment): Catch assignments to functions here. - - * tree.h tree.cc (tree_identifier::define (tree *, symbol_type): - New function (be careful out there...). - - * symtab.h (symbol_type): Add new `user_function' enum value. - - * tree.cc (do_matrix_assignment): Call prefer_column_vectors(). - - * tree.h tree.cc (do_matrix_assignment (...)): New functions to - implement assignment to indexed matrices. - (do_scalar_assignment (...)): New function to implement assignment - to an indexed scalar. - - * utils.h utils.cc (resize_on_range_error): New function. Should - eventually decide what to return based on value of global variable - of same name. - (prefer_column_vectors): New function. - -Tue Aug 4 05:37:47 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_constant::save): New function. - (tree_constant::load): New function. - - * symtab.cc (symbol_record::save): New function. - (symbol_table::load): New function. - - * t-builtins.cc (builtin_load): Start implementation. Yikes, this - is probably going to need a lot of work to be very robust... - - * t-builtins.cc (builtin_save): Implement by asking the - symbol_record to save itself. Maybe this should really be done by - asking the symbol table to save a symbol... - - * utils.cc (extract_keyword): New function. - (valid_identifier): New function. - -Fri Jul 31 04:16:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * parse.y (func_def3): Extra error cases for empty function - bodies. - (func_def1, func_def1a, func_def1b): Slighly straighten out some - truly twisted logic, eliminate func_def1a, rename func_def1b to - func_def1a, and make statementss like function [x,y] = foo() end - work properly (I think). - (func_def*): Put function name in global symbol table, not top - level symbold table. This makes them accessible from other - functions, eh? - - * t-builtins.cc (builtin_who): Accept -all, -local, -global, and - -top flags. - -Thu Jul 30 00:39:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * lex.l (current_buffer): New function to return current flex - input buffer. Will need this to be able to switch file contexts. - - * Version 0.32. - - * lex.l (create_buffer, switch_to_buffer): New functions to handle - input from various streams. This should be enough to allow us to - implement Matlab-like M-files. - octave.cc (main, execute_startup_files): Use them. - - * octave.cc (execute_startup_files): Execute commands from - $HOME/.octaverc and ./.octaverc. - - * g-builtins.cc (builtin_plot): Delete temporary files. - Ignore SIGINT while gnuplot is executing. - -Wed Jul 29 20:16:25 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (all_args_defined): New function to check a - tree_constant** vector to see if all elements are non-null. - (tree_index_expression::eval (int)): Use it, and abort the - evaluation if test fails. - - * terminals.h, terminals.cc: New files for doing things with - gnuplot graphics terminal names. - src/Makefile.in: Handle new files. - -Tue Jul 28 00:25:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * g-builtins.cc (builtin_plot): Make it work, at least halfway. - - * g-builtins.cc (builtin_save): New function. - - * gnuplot-build/Makefile.in: Add -DREADLINE and remove readline.o - from list of objects to actually enable the GNU command line - editing. - - * configure.in: Use AC_PROG_CHECK macro to search for f2c and f77. - Check for several common Un*x Fortran compilers. - Add extra messages. - - * g-builtins.cc g-builtins.h: New files for builtin general - functions extracted from builtins.cc. - - * t-builtins.cc t-builtins.h: New files for builtin text functions - extracted from builtins.cc. - - * Makefile.in (split-dist): New target. - - * Version 0.31. - -Mon Jul 27 22:01:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_constant::do_matrix_index (tree_constant **, int): - Allow single argument to work for matrices that are really row or - column vectors. - - * lex.l: Accept `<>' in addition to `!=' and `~=' as `not equal' - comparison operators. - - * libcruft/Makerules: Allow for compiling the Fortran routines - with the native Fortran compiler instead of translating to C. - - * f2c-compat.sh, flibs.sh: New scripts which try to determine - whether it will be possible for us to use the system's Fortran - compiler directly, and if so, what libraries to add to the loader - command. These scripts are known to work on SPARCstations running - SunOS and DECstations running Ultrix. Not tested elsewhere... - * configure.in: Use them. - * Makefile.in: Distribute them. - -Wed Jul 22 00:04:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * builtins.cc: Begin implementation of NLP solver using NPSOL. - -Tue Jul 21 13:44:13 1992 John W. Eaton (jwe@june.che.utexas.edu) - - * octave.cc: If printing version information, also print pointer - to warranty info. - - * builtins.cc: Implement the Matlab functions ones, zeros, eye, - clock, date, size, length, and global. - Implement warranty builtin. - (builtin_clear): Fix to work with global variables. - - * symtab.cc (clear): Fix to work properly with global variables. - -Mon Jul 20 11:58:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc (tree_constant::do_matrix_index (tree_constant**, int)): - Make string indices work. - (tree_constant::force_numeric): Don't special case - single-character strings (this uncovers a flaw in the design of - the constructor for the magic colon operator...). - -Fri Jul 17 16:33:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.30. - - * tree.cc: Delete undefined identifiers when trying to eval them. - - * builtins.cc: Add beginnings of builtin who and clear functions. - - * symtab.cc symtab.h (clear): New function. - - * tree.cc, tree.h, parse.y: Implement matrix indexing with colon - expressions, implement the magic colon operator for column and row - selection. - - * tree.cc tree.h: Completely rework colon expressions. - -Thu Jul 16 09:27:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * gnuplot-dist: Rename from gnuplot-3.2 so we're not tied to a - version number. - -Tue Jul 14 11:22:35 1992 John W. Eaton (jwe@ward.che.utexas.edu) - - * tree.cc builtins.cc: Make argc/nargs/nargin work like C: - the argument count is the number of command line arguments plus - the function name. This goes for `argument lists' for matrices as - well as functions. It seems a bit awkward but at it's consistent, - and it's like C. Hmm. Maybe this is a bad choice... - - * utils.cc utils.h: New files for utility functions. - -Mon Jul 13 00:29:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.29. - - * tree.cc tree_constant::tree_constant (matrix): Automatically - convert 1x1 matrices to scalars. - - * parse.y lex.l: Fix up a bunch of stupid stuff and reduce the - number of shift/reduce conflicts to 16 (all but one because of the - optional separator garbage). - - * parse.y lex.l: Allow for assignments to lists of identifiers to - be partially parsed. This will still require some error checking - in tree.cc to ensure that the list is made up of identifiers only, - since that's not enforced by the grammar (I don't see a way to do - it, do you?) - -Sun Jul 12 11:24:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * tree.cc tree.h parse.y lex.l: Implement logical AND (symbol &), - OR (symbol |), and not (symbol ~). Also provide the C-style - operators &&, ||, and !). - - * Matrix.cc Matrix.h: Provide stupid element-wise logical - operators for matrices. - - * Version 0.28. - - * parse.y lex.l tree.cc tree.h: Implement C-style prefix and - postfix increment and decrement operators (symbols ++ and -- - respectively). - - * parse.y lex.l tree.cc tree.h: Implement break and continue. - - * tree.cc tree.h: Assignment to matrix elements roughed out. - - * gnuplot/tree.cc: Solution of linear equations via the lift - division operator partially implemented. Singular coefficient - matrices aren't handled very well yet... - - * gnuplot-build/Makefile.in: Make this work to build gnuplot for - generic X11/unix environments. - * Remove -Wall from CFLAGS to avoid loads of warnings. - * Use GNU readline instead of the one that comes with gnuplot. - - * gnuplot-build/*.diff: Various patches for various things. - -Sat Jul 11 10:14:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.26 - - * src/Makefile.in: Distribute lex.cc, parse.cc, y.tab.h. - * src/Makefile.in (dist): Depend on lex.cc and parse.cc. - - * gnuplot-build: New directory for patching and building gnuplot. - This is apparenty required because the gnuplot license won't allow - distrubution of modified versions, but will allow patches to be - distributed. - * gnuplot-build/Makefile.in: New file. - - * gnuplot-3.2: New directory. - - * readline: New directory from the bash-1.12 distribution, plus - tilde.c from bash's lib/glob directory and xmalloc.c from bash's - lib/malloc directory. - * readline/Makefile.in, readline/doc/Makefile.in, - readline/examples/Makefile.in: New files. - - * All Makefie.in files: Allow make to work from any directory, not - just the top level one. - -Fri Jul 10 22:20:56 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * SERVICE: Remove, since it seems too specific to GNU products. - -Thu Jul 9 07:48:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.20. - - * Solution of ODEs with LSODE partially implemented. It's - possible to solve some simple equations. - - * tree.cc tree.h (tree_constant): Add string constants and make - them work more or less like string constants in Matlab (implicit - conversion to ASCII numbers -- gag. This isn't complete, and it - it assumes that ASCII is the character set for the host - machine/compiler...). - -Tue Jul 7 07:28:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.19. - - * User defined function definitions and calls to them mostly work. - Still need to implement multiple return values correctly. - -Mon Jul 6 04:23:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.18. - - * lex.l parse.y tree.cc tree.h: Begin implementation of - user-defined functions. - -Sun Jul 5 19:27:08 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.17. - - * lex.l: Replace SAVE_STRING macro with a function. - - * builtins.cc (builtin_document): New builtin function. - (builtin_help): Make it work. - - * lex.l: More rules for gathering text. These are still not quite - as they should be, but they will work in most cases. I think the - flex generated scanner is either going to have to be reworked or - replaced with a handemade version at some point (probably soon)... - - * tree.cc tree.h: Add tree_word_list and tree_word_list_command - classes for text functions. - -Fri Jul 3 05:13:15 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.16. - - * builtins.h builtins.cc: New files for builtin functions. - Implement a few simple builtin functions. - - * tree.cc tree.h: Add tree_builtin type for builtin functions. - - * tree.cc tree.h: eval (args...) New virtual function. - -Thu Jul 2 01:27:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.15. - - * symtab.h, symtab.cc: Allow variables and functions to be tagged - as read-only or read-write. - -Wed Jul 1 15:54:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * input.cc and octave.cc: allow input to come from a file. - - * lex.l: to accept `#' as a comment character (allows one to - use the `#!/bin/octave' style script hack). - - * doc: New directory containing skeleton stuff - * SERVICE: New file from GCC. - * BUGS: New file, now produced from doc/bugs.texi. - * INSTALL: New file, now produced from doc/install.texi. - -Sat Jun 27 15:52:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.14. - - * Fixed parser to eliminate reduce/reduce conflicts. - - * Fixed parser to recognize assignment to multiple identifiers - (e.g., [E,V] = eig (A); ). - - * Quickie implementation of indexed array evaluation. Works for - scalar indices, but not range/array indices. - -Fri Jun 26 04:23:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.12. - - * Hooks added for indexed array evaluation and assignment. - * Colon expression implementation improved. - * Implementation of for command eval() improved. - -Thu Jun 25 00:28:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.11. - - * Colon expressions added. - * For command added, but the implementation needs work. - -Wed Jun 24 15:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.10. - - * Cheesy signal handler added to catch interrupts. - - * Matrix input works, even for nested matrices. Some error - checking is done while the matrix is evaluated to ensure that - the number of rows and columns match up. - -Mon Jun 22 00:21:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.9. - - * Command line matrix input partially implemented. It's not yet - possible to enter nested matrices, but it is possible to enter - simple matrices (e.g. [1,2;a,b+c], where a, b, and c are scalars. - - * Version 0.8. - - * If commands added. - - * Version 0.7. - - * Command chains added. - * Boolean operations added, tested for scalars. - * While loop added, tested for simple commands. - -Fri Jun 19 05:50:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.6. - - At this early stage, while a lot of changes are being made very - quickly, ChangeLog entries will probably just list features added. - - * Variable assignment works for scalars. - * Simple scalar expressions work. - -Thu Jun 18 06:44:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) - - * Version 0.5. - - * src/version.h: For all the pre-alpha distributions, count - versions as 0.1, etc. instead of 0.01. - - * Makefile: (dist) Automatically update version_string in - src/version.h. - - * symtab.h, symbtab.cc: New files for symbol tables. - - * tree.h, tree.cc: New files for parse trees. - - * Lots of work unrecorded here. Octave is now self-contained, the - tree routines are being redesigned, etc. - -Fri Mar 20 17:03:16 1992 John W. Eaton (jwe@andy.che.utexas.edu) - - * Version 0.02. Octave understands some simple matrix - expressions, but it is not yet possible for matrix elements to - be constructed from expressions. - -Thu Mar 19 06:13:39 1992 John W. Eaton (jwe@andy.che.utexas.edu) - - * Version 0.01. Octave understands simple scalar expressions. - Hey, Hey! It is not yet self contained -- I'm still linking to - the old libraries in /usr/local/c++-classes, and this isn't likely - to change for a while. (Other things are much more important than - making the distribution work on other machines. Sorry...) - -Fri Feb 21 05:06:38 1992 John W. Eaton (jwe@andy.che.utexas.edu) - - * Version 0.00. This includes the basic directory structure, - makefiles, and a lot of the old Fortran source, including a way to - make a libcruft.a. Octave compiles and accepts input (with - history and editing) but doesn't do much else. - -Wed Feb 19 06:20:44 1992 John W. Eaton (jwe@andy.che.utexas.edu) - - * ChangeLog: New file. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/doc-ChangeLog --- a/OLD-ChangeLogs/doc-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3176 +0,0 @@ -2011-04-14 Rik - - * interpreter/plot.txi: Add colstyle function to documentation. - -2011-04-12 Rik - - * interpreter/expr.txi: Correct use of it's -> its in documentation. - -2011-04-12 Ben Abbott - - * interpreter/data.txi: Replace xref{Data Structures} with - xref{Structures}. - -2011-04-11 Rik - - * interpreter/func.txi: Add discussion of isargout to Ignoring - Arguments section of documentation. - -2011-04-07 Rik - - * interpreter/Makefile.am: Add spellcheck target to documentation - Makefile. - -2011-04-06 Rik - - * interpreter/numbers.txi, interpreter/strings.txi: Group commonly used - isXXX functions together in documentation. - -2011-04-06 Rik - - * interpreter/system.txi, interpreter/var.txi: Move pack() function to - proper place in documentation. - -2011-04-06 Rik - - * interpreter/diffeq.txi, interpreter/eval.txi, interpreter/plot.txi, - interpreter/var.txi: Clean up operator and function indices. - -2011-04-04 Rik - - * interpreter/plot.txi: Add warning about single precision in FLTK. - -2011-04-04 Rik - - * interpreter/doccheck/aspell-octave.en.pws, interpreter/nonlin.txi, - interpreter/tips.txi: Spellcheck documentation for 3.4.1 release. - -2011-04-04 Rik - - * interpreter/container.txi, interpreter/dynamic.txi, - interpreter/install.txi, interpreter/system.txi, interpreter/tips.txi: - Grammarcheck files for 3.4.1 release. - -2011-04-04 Rik - - * interpreter/grammar.txi: Remove reference to deprecated function - perror(). - -2011-04-03 Rik - - * interpreter/grammar.txi, interpreter/octave.texi: Add new section - on parsing to documentation. Add functions add_input_event_hook, - remove_input_event_hook, missing_function_hook to documentation. - -2011-04-03 Rik - - * interpreter/linalg.txi: Add blkmm function to documentation. - -2011-04-02 Rik - - * interpreter/stats.txi: Add quantile, prctile functions to - documentation. - -2011-04-02 Rik - - * interpreter/system.txi: Add isdeployed function to documentation. - -2011-03-31 Rik - - * interpreter/io.txi: Add list_in_columns, terminal_size functions - to documentation. - -2011-03-31 Rik - - * interpreter/errors.txi, interpreter/octave.texi: Add onCleanup - function to documentation. - -2011-03-31 Rik - - * interpreter/contrib.txi: Add recommended format for commit messages - which reference the bug tracker. - -2011-03-28 Rik - - * interpreter/expr.txi: Eliminate space between variable and - parenthesis when using indexing. - * interpreter/intro.txi, interpreter/io.txi: Fix typos in docstring. - * interpreter/tips.txi: Add new recommendations for double spaces at - start of sentences and suggested variable names. - -2011-03-28 Rik - - * interpreter/basics.txi: Add do_braindead_shortcircuit_evaluation to - the list of variables set by --traditional option. - -2011-03-27 Rik - - * interpreter/expr.txi: Add allow_noninteger_range_as_index to - documentation. - -2011-03-27 Rik - - * interpreter/expr.txi: Add do_braindead_shortcircuit_evaluation to - documentation. - -2011-03-26 Rik - - * interpreter/doccheck/mk_undocumented_list: Add error_text to list - of functions not requiring a docstring. - -2011-03-19 Rik - - * interpreter/container.txi: Add cellindexmat function to documentation. - -2011-03-19 Rik - - * interpreter/oop.txi: Add optimize_subsasgn_calls function to - documentation. - -2011-03-19 Rik - - * interpreter/stats.txi: Add runlength function to documentation. - -2011-03-19 Rik - - * interpreter/plot.txi: Add isocolors, isonormals, isosurface functions - to documentation. - -2011-03-19 Rik - - * interpreter/basics.txi: Add dump_prefs to documentation. - -2011-03-19 Rik - - * interpreter/octave.texi, interpreter/plot.txi: Add daspect, pbaspect - functions to documentation. - -2011-03-19 Rik - - * interpreter/octave.texi, interpreter/plot.txi: Add getappdata, - setappdata, isappdata, rmappdata functions to documentation. - -2011-03-18 Rik - - * interpreter/matrix.txi: Add nth_element function to documentation. - -2011-03-18 Rik - - * interpreter/doccheck/aspell-octave.en.pws, interpreter/io.txi, - interpreter/octave.texi, interpreter/plot.txi: Add uimenu, uigetdir, - uigetfile, and uiputfile to documentation. - -2011-03-18 Rik - - * interpreter/nonlin.txi, interpreter/octave.texi: Add fminbnd, - fminunc functions to documentation. - -2011-03-18 Rik - - * interpreter/arith.txi, interpreter/linalg.txi: Add function chop - to documentation. Re-order Utility Functions and move function dot - from linear algebra section to be with other utility functions. - -2011-03-18 Rik - - * interpreter/basics.txi: Add gen_doc_cache, get_help_text, - get_help_text_from_file, get_first_help_sentence to documentation. - -2011-03-17 Rik - - * interpreter/io.txi: Add fileread to documentation. - -2011-03-17 Rik - - * interpreter/system.txi: Add gethostname to documentation - -2011-03-17 Rik - - * interpreter/doccheck/mk_undocumented_list: Add fmod, - octave_tmp_file_name to list of exceptions which are already - documented. - -2011-03-17 Iain Murray - - * interpreter/system.txi: Remove nprocs and nprocs_conf functions - from documentation and replace with nproc. - -2011-03-16 Rik - - * interpreter/system.txi: Add nproc and nproc_conf functions to - documentation. - -2011-03-03 Rik - - * interpreter/matrix.txi: Deprecate is_duplicate_entry. - -2011-03-02 Rik - - * interpreter/stats.txi: Correctly refer to discrete uniform - distribution in documentation. - -2011-03-01 Jordi Gutiérrez Hermoso - - * interpreter/dynamic.txi: Make it clear that is - a C++ source file and refer to the section where other languages - are discussed. - - * faq/OctaveFAQ.texi: Major update to FAQ. Whitespace changes. - Update comments to version 3.4 of Octave. Summarise important - points of the NEWS file. We no longer have - stable/testing/unstable, only stable and development. Mention - newer versions of Windows. Update references to Matlab's latest - version. Mention that `!' can't be used for shell escapes. - Update other numbers like number of pages in manual, version - numbers, dates when things happened, file sizes. Clean out dead - links. Remove mentions of bugs@octave.org email address. Don't - say you can get Octave tapes from the FSF. Mention Ubuntu as - another distribution with Octave packages. Change package names - in anticipation for the forthcoming 3.4 binary packages. Explain - nested functions. Hint that classdef might happen in 3.5. - Mention 3D patches in the OpenGL backend. Clarify Matlab-style - short-circuiting. Specify that Octave also onCleanup. - -2011-02-28 Rik - - * interpreter/numbers.txi: Add isrow, iscolumn functions to manual. - -2011-02-25 Jordi Gutiérrez Hermoso - - * faq/OctaveFAQ.texi: Uniformise all mentions of Matlab to be - typeset in the @sc{Matlab} style. Also do some minor - proofreading like removing trailing spaces and some minor - spellchecking. - -2011-02-19 Rik - - * interpreter/install.txi: Remove reference to POSIX regex library. - -2011-02-14 Rik - - * interpreter/arith.txi, interpreter/io.txi, interpreter/oop.txi: - Remove functions which have no DOCSTRING entries. - -2011-02-10 Carlo de Falco - - * interpreter/linalg.txi: Added gmres to the specialized solvers. - - -2011-02-06 John W. Eaton - - * interpreter/contributors.in: Add Fotios Kasolis to the list. - -2011-02-05 Rik - - * interpreter/doccheck/mk_undocumented_list: Add dbnext, alias for - dbstep, to functions not requiring a docstring. - -2011-02-05 Rik - - * interpreter/doccheck/aspell-octave.en.pws: Add new spelling - exceptions to Octave private dictionary. - -2011-02-05 Rik - - * interpreter/octave.texi: Update copyright on manual to 2011. - -2011-02-05 Rik - - * interpreter/mkoctfile.1, interpreter/octave-config.1, - interpreter/octave.1: Overhaul man pages for release 3.4. - -2011-02-04 Rik - - * icons/octave-logo.ico: Add logo format left out of last changeset. - -2011-02-04 Rik - - * icons/: New directory for icons and .desktop files. - * icons/octave-logo.png, icons/octave-logo.svg: Add new Octave O logo - to Mercurial. - * Makefile.am: New Makefile to build .desktop file and distribute logos. - * octave.desktop.in, octave-sombrero.png: Moved from examples directory. - * octave_branding_samples.svg: Original logos and branding material for - Octave. This file is not distributed. - - * interpreter/octave.texi: Use new O logo on title page. - * interpreter/octave_logo.eps: O logo in eps form for Postscript output. - * interpreter/octave_logo.pdf: O logo in pdf form for pdf output. - -2011-01-30 Rik - - * interpreter/Makefile.am: Use pattern-style rules to make .texi files - rather than older suffix-style rules. - -2011-01-30 Rik - - * interpreter/octave.texi: Add new section - "Customizing Toolkit Behavior" - - * interpreter/plot.txi: Add functions gnuplot_binary, mouse_wheel_zoom, - and gui_mode to new section. - -2011-01-30 Rik - - * interpreter/optim.txi: Deprecate glpkmex function and remove - from documentation. - -2011-01-30 John W. Eaton - - * interpreter/install.txi (Compiling Octave with 64-bit Indexing): - Remove info about ARPACK. - -2011-01-29 Rik - - * interpreter/octave.texi: Add new subsection on FLTK interaction. - * interpreter/plot.txi: Add fltk_gui_mode, fltk_mouse_wheel_zoom - functions to documentation. - -2011-01-29 Rik - - * interpreter/arith.txi: Add accumdim function to documentation. - -2011-01-29 Rik - - * interpreter/set.txi: Add powerset function to documentation. - -2011-01-29 Rik - - * interpreter/system.txi: Add S_ISSOCK function to documentation. - -2011-01-29 Rik - - * interpreter/system.txi: Add S_ISBLK and related functions to - documentation. - -2011-01-29 Rik - - * interpreter/optim.txi: Add glpkmex function to documentation. - -2011-01-29 Rik - - * interpreter/system.txi: Add compare_versions function to - documentation. - -2011-01-27 Rik - - * interpreter/numbers.txi: Add sizemax function to documentation. - * interpreter/doccheck/mk_undocumented_list: Add ifelse to functions - not requiring documentation. - -2011-01-27 Rik - - * interpreter/image.txi: Add whitebg function to documentation. - * interpreter/plot.txi: Add reset function to documentation. - -2011-01-27 Rik - - * interpreter/linalg.txi: Add rsf2csf to documentation. - -2011-01-27 Rik - - * interpreter/geometry.txi: Add trisurf to documentation. - -2011-01-27 John W. Eaton - - * interpreter/arith.txi (Rational Approximations): Move here. - Update menu. - * interpreter/io.txi: From here. - Update menu. - * interpreter/octave.texi (Top): Update detailed menu. - -2011-01-26 John W. Eaton - - * interpreter/mk_doc_cache.m, interpreter/mkoctfile.1, - interpreter/munge-texi.cc, interpreter/doccheck/mk_undocumented_list: - Strip trailing whitespace. - -2011-01-26 Rik - - * interpreter/basics.txi: Use @code to eliminate extra single quotes - in index. - * interpreter/container.txi: Add @opindex citations for '.', '{' and - '}'. - -2011-01-26 Rik - - * interpreter/octave-bug.1: Delete obsolete man page - * interpreter/Makefile.am: Stop distributing octave-bug.1 man page. - -2011-01-26 Olaf Till - - * interpreter/package.txi: Document variables MKOCTFILE, - OCTAVE_CONFIG, and OCTAVE exported by pkg for configure and make. - -2011-01-25 Rik - - * Makefile.am: Remove pass-through rules for AUTHORS, BUGS, and - INSTALL.OCTAVE which are no longer required. - -2011-01-24 Rik - - * Makefile.am, interpreter/Makefile.am: Add rule to build AUTHORS file. - * interpreter/preface.txi: Add @ifclear rule to build AUTHORS file. - -2011-01-23 Rik - - * interpreter/install.txi: Redo build instructions for release 3.4. - * interpreter/doccheck/aspell-octave.en.pws: Add new words to - Octave private dictionary from install.txi - -2011-01-20 Rik - - * doc/interpreter/diagperm.txi, doc/interpreter/linalg.txi, - doc/interpreter/sparse.txi: Use non-breaking spaces between certain - adjectives and their linked nouns in docstrings. - -2011-01-20 Rik - - * doc/interpreter/doccheck/README: Update documentation for - documentation scripts. - -2011-01-20 Rik - - * doc/interpreter/doccheck/aspell-octave.en.pws, - doc/interpreter/plot.txi: Use @nospell macro on certain words in - docstring. - -2011-01-20 John W. Eaton - - * faq/OctaveFAQ.texi, interpreter/doccheck/aspell-octave.en.pws, - interpreter/octave.texi, interpreter/plot.txi: Update for - backend -> graphics_toolkit change. - - * interpreter/interpimages.m, interpreter/geometryimages.m, - interpreter/sparseimages.m, interpreter/plotimages.m: - Call graphics_toolkit, not backend. - -2011-01-19 Rik - - * interpreter/doccheck/aspell-octave.en.pws: Add new words to Octave - private dictionary. - -2011-01-19 Rik - - * doc/interpreter/diagperm.txi, doc/interpreter/dynamic.txi, - doc/interpreter/func.txi, doc/interpreter/install.txi, - doc/interpreter/intro.txi, doc/interpreter/numbers.txi, - doc/interpreter/oop.txi, doc/interpreter/plot.txi, - doc/interpreter/sparse.txi, doc/interpreter/stats.txi: Grammarcheck - txi files for 3.4 release. - -2011-01-17 Rik - - * interpreter/quad.txi: Add quadcc to documentation. - -2011-01-15 Rik - - * interpreter/expr.txi: Add merge/ifelse function to documentation. - -2011-01-15 Rik - - * interpreter/func.txi, interpreter/intro.txi: Eliminate - @deffn macros. - -2011-01-15 Rik - - * interpreter/doccheck/mk_undocumented_list: Update list of exceptions - not requiring documentation. - -2011-01-15 Rik - - * interpreter/stats.txi: Add stdnormal_xxx functions to documentation. - -2011-01-14 Rik - - * interpreter/matrix.txi: Add undocumented postpad to documentation. - -2011-01-14 Rik - - * interpreter/octave.texi, interpreter/poly.txi: Add undocumented - polyaffine to documentation. - -2011-01-14 Rik - - * interpreter/container.txi: Add undocumented nfields to documentation. - -2011-01-14 Rik - - * interpreter/poly.txi: Add undocumented ppder, ppint, ppjumps - functions to documentation. - -2011-01-14 Rik - - * interpreter/system.txi: Add undocumented matlabroot to documentation. - -2011-01-14 Rik - - * interpreter/linalg.txi: Add undocumented svd_driver to documentation. - -2011-01-14 Rik - - * interpreter/arith.txi: Add undocumented cbrt to documentation. - -2011-01-14 Rik - - * interpreter/arith.txi: Add undocumented erfcx to documentation. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2011-01-12 Rik - - * interpreter/basics.txi: Add to cursor movement section. - -2011-01-12 John W. Eaton - - * interpreter/basics.txi (Commands For History): - Document history_control. - -2011-01-10 John W. Eaton - - * interpreter/contributors.in: Add Konstantinos Poulios to the list. - -2011-01-10 Jordi Gutiérrez Hermoso - - * interpreter/diagperm.txi: Remove Matlab euphemism. - * interpreter/dynamic.txi: Ditto. Also use @file macro for a - couple of filenames. - -2011-01-10 John W. Eaton - - * interpreter/container.txi (Basic Usage and Examples): - Document print_struct_array_contents. - -2011-01-05 Rik - - * interpreter/octave.texi: Put statistics detailmenu in correct order. - -2011-01-05 Rik - - * interpreter/numbers.txi, interpreter/obsolete.txi, - interpreter/oop.txi, interpreter/stats.txi: Use @headitem macro to - create column heads for @multitable entries. - -2011-01-05 Rik - - * interpreter/grammar.txi: Update list of keywords in grammar. - -2011-01-05 John W. Eaton - - * interpreter/plot.txi (Introduction to Plotting): Formatting - and style fixes. Eliminate redundant example. - -2011-01-03 Rik - - * interpreter/octave.texi: Add new menu item "Correlation and - Regression Analysis" - * interpreter/stats.txi: Update documentation chapter on - basic statistics. - -2010-12-31 Rik - - * interpreter/expr.txi: Add isindex function to documentation - * interpreter/func.txi: Add isargout function to documentation - * interpreter/matrix.txi: Add isfinite function to documentation - * interpreter/numbers.txi: Add ishermitian function to documentation - -2010-12-31 Kai Habel - - * interpreter/arith.txi: Add curl and divergence function. - -2010-12-22 Tatsuro Matsuoka - - * nonlin.txi: Correct docs for using Jacobian with fsolve. - -2010-12-22 Judd Storrs - - * interpreter/expr.txi: Insert operator function docstrings. - * interpreter/oop.txi: Remove conflicting anchors for operator - functions. Add cindex entries for overloaded operators. Add - overloads to opindex. - * interpreter/numbers.txi: Fix colon opindex. - -2010-12-19 Rik - - * interpreter/func.txi, interpreter/sparse.txi: Remove documentation - on deprecated function dispatch. - -2010-12-19 Rik - - * interpreter/Makefile.am: Update mk_undocumented_list target to use - $(srcdir) for portability. - -2010-12-17 Rik - - * interpreter/container.txi, interpreter/func.txi, - interpreter/linalg.txi, interpreter/numbers.txi, - interpreter/signal.txi, interpreter/sparse.txi, interpreter/stats.txi, - interpreter/system.txi: Remove deprecated functions from manual. - -2010-12-17 Rik - - * interpreter/doccheck/mk_undocumented_list: Update script to - automatically remove functions from the "test/" and "doc/interpreter" - directories. - -2010-12-17 Rik - - * interpreter/Makefile.am: Add undocumented_list target to create list - of undocumented functions. - -2010-12-17 John W. Eaton - - * interpreter/plot.txi (Two-Dimensional Plots): Document comet3. - -2010-12-17 John W. Eaton - - * interpreter/plot.txi (Introduction to Graphics Structures): - Dcoument isprop. - -2010-12-17 Rik - - * interpreter/oop.txi: Redo table rendered incorrectly in Info - environment. - -2010-12-17 Rik - - * interpreter/numbers.txi: Remove obsolete documentation about 64-bit - integer arithmetic. - -2010-12-16 Rik - - * interpreter/doccheck/mk_undocumented_list: Update list of exception - functions not requiring documentation. - -2010-12-09 Doug Stewart - - * interpreter/plot.txi: changed origial to origin in Quiver section - -2010-12-09 Kai Habel - - * interpreter/plot.txi: Add pie3 function. - -2010-11-26 John W. Eaton - - * interpreter/install.txi (Compiling Octave with 64-bit - Indexing): New section. - -2010-11-23 John W. Eaton - - * interpreter/install.txi: Delete obsolete statement about - needing a patch for makeinfo. - -2010-11-18 John W. Eaton - - * interpreter/contributors.in: Add Christos Dimitrakakis to the list. - -2010-11-18 John W. Eaton - - * interpreter/contributors.in: Add Daisuke Takago to the list. - -2010-11-15 Rik - - * interpreter/bugs.txi, interpreter/emacs.txi, interpreter/func.txi, - interpreter/geometry.txi, interpreter/linalg.txi, - interpreter/octave.texi, interpreter/package.txi, interpreter/plot.txi, - interpreter/stmt.txi, interpreter/strings.txi, interpreter/system.txi: - Update info-based documentation menus to include new nodes. - -2010-11-15 Rik - - * interpreter/octave.texi, interpreter/plot.txi: Rename subsection - "Printing Plots" to "Printing and Saving Plots". Add reference to - new saveas function. - -2010-11-10 John W. Eaton - - * interpreter/munge-texi.cc: Eliminate special case for __DECCXX. - -2010-11-01 Jordi Gutiérrez Hermoso - - * interpreter/numbers.txi: Explain that ranges in vectors do get - expanded. - -2010-10-24 Rik - - * interpreter/doccheck/mk_undocumented_list: New verification - script produces a list of undocumented functions. - -2010-10-23 John W. Eaton - - * interpreter/io.txi (Simple File I/O): Document textscan and - textread. - -2010-10-23 Ben Abbott - - * interpreter/strings.txi: Add @DOCSTRING(strread). - -2010-10-23 John W. Eaton - - * interpreter/io.txi (Opening and Closing Files): - Document is_valid_file_id. - -2010-10-21 John W. Eaton - - * interpreter/contributors.in: Add Gunnar Farnebäck to the list. - -2010-10-18 John W. Eaton - - * interpreter/image.txi (Displaying Images): - Delete documentation for image_viewer. - -2010-10-17 John W. Eaton - - * interpreter/strings.txi: Document untabify. - -2010-09-30 John W. Eaton - - * interpreter/contributors.in: Add Jordi Gutiérrez Hermoso to - the list. Fix spelling of Søren Hauberg. - -2010-09-28 Rik - - * doc/interpreter/Makefile.am, doc/interpreter/geometryimages.m, - doc/interpreter/images.awk, doc/interpreter/interpimages.m, - doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m: Use - Octave to create pdf versions of plots for documentation rather than - Ghostscript via Makefile. - -2010-09-28 Rik - - * doc/interpreter/geometryimages.m, doc/interpreter/interpimages.m, - doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m: Untabify - scripts. - -2010-09-27 Rik - - * interpreter/mk_doc_cache.m: Use single quotes for regular expression - patterns where possible. - -2010-09-25 Rik - - * interpreter/mk_doc_cache.m: Remove requirement for PCRE to build - doc cache. Correctly parse first sentence from docstrings with - multiple @deftypefn lines. - -2010-09-15 John W. Eaton - - * interpreter/Makefile.am (EXTRA_DIST): Add images.awk to the list. - -2010-08-15 Rik - - * interpreter/matrix.txi: Add documentation for randi function. - -2010-08-13 Rik - - * interpreter/Makefile.am: Update @EXAMPLEFILE dependencies. - -2010-08-10 Rik - - * interpreter/Makefile.am: Change dependency to $(srcdir)/images.mk. - -2010-08-08 Rik - - * interpreter/Makefile.am: Add documentation dependency on images.mk. - * interpreter/config-images.sh: Create images.mk in passed in srcdir, - rather than pwd. - -2010-08-08 Rik - - * interpreter/images.awk: HTML images depend on octave.html/index.html. - -2010-08-01 Rik - - * interpreter/basics.txi, interpreter/contrib.txi, - interpreter/diagperm.txi, interpreter/dynamic.txi, interpreter/eos.txi, - interpreter/expr.txi, interpreter/geometry.txi, - interpreter/install.txi, interpreter/matrix.txi, - interpreter/numbers.txi, interpreter/oop.txi, interpreter/plot.txi, - interpreter/sparse.txi, interpreter/stats.txi, interpreter/testfun.txi, - interpreter/tips.txi: Grammarcheck documentation. Add @noindent lines - and ensure line length is less than 80. - -2010-07-28 Rik - - * interpreter/arith.txi, interpreter/audio.txi, interpreter/basics.txi, - interpreter/container.txi, interpreter/contrib.txi, - interpreter/debug.txi, interpreter/diagperm.txi, - interpreter/diffeq.txi, interpreter/dynamic.txi, interpreter/emacs.txi, - interpreter/errors.txi, interpreter/eval.txi, interpreter/expr.txi, - interpreter/func.txi, interpreter/image.txi, interpreter/install.txi, - interpreter/interp.txi, interpreter/intro.txi, interpreter/io.txi, - interpreter/linalg.txi, interpreter/matrix.txi, interpreter/nonlin.txi, - interpreter/numbers.txi, interpreter/optim.txi, - interpreter/package.txi, interpreter/plot.txi, interpreter/poly.txi, - interpreter/quad.txi, interpreter/sparse.txi, interpreter/stmt.txi, - interpreter/strings.txi, interpreter/testfun.txi, interpreter/tips.txi, - interpreter/var.txi: Grammarcheck .txi documentation files. - -2010-07-21 Jaroslav Hajek - - * interpreter/tips.txi: Update some tips. - -2010-07-19 Rik - - * interpreter/mk_doc_cache.m: Use regexp rather than fussing with - character arrays. - -2010-07-19 Rik - - * interpreter/matrix.txi: Add new function repelems to matrix chapter. - -2010-07-18 Rik - - * interpreter/doccheck/spellcheck, - interpreter/doccheck/spellcheck/add_to_aspell_dict: - Use case insensitive sort in spellcheck scripts. - -2010-07-18 Rik - - * interpreter/doccheck/aspell-octave.en.pws: Add Octave-specific words - from stats.texi to private Aspell dictionary. - -2010-07-17 Rik - - * interpreter/doccheck: New directory for spelling/grammar scripts. - * interpreter/doccheck/README: Instructions for using scripts. - * interpreter/doccheck/spellcheck: Script to spellcheck a Texinfo file. - * interpreter/doccheck/aspell.conf: GNU Aspell configuration file for - Octave documentation. - * interpreter/doccheck/aspell-octave.en.pws: Private Aspell dictionary. - * interpreter/doccheck/add_to_aspell_dict: Script to add new - Octave-specific words to private Aspell dictionary. - * interpreter/octave.texi: New @nospell macro which forces Aspell to - ignore the word marked by the macro. - * interpreter/mk_doc_cache.m: Skip new @nospell macro when - building doc_cache. - * interpreter/arith.txi, interpreter/audio.txi, - interpreter/bugs.txi, interpreter/contrib.txi, - interpreter/debug.txi, interpreter/diagperm.txi, - interpreter/dynamic.txi, interpreter/geometry.txi, - interpreter/matrix.txi, interpreter/numbers.txi, - interpreter/oop.txi, interpreter/package.txi, - interpreter/sparse.txi, interpreter/tips.txi: - Spellcheck documentation. - -2010-07-01 Rik - - * refcard/refcard.tex: Fix italic macro typo for stem. - -2010-06-28 Rik - - * refcard/refcard.tex: Fix typos in refcard (bug #30260). - -2010-06-16 Rik - - * ChangeLog: Correctly break lines > 80 characters. - -2010-06-16 Rik - - * interpreter/intro.txi: Clarify wording. (bug #30165). - -2010-06-16 Rik - - * interpreter/set.txi: Remove reference to deprecated function. - -2010-06-16 Rik - - * interpreter/expr.txi, interpreter/func.txi, interpreter/install.txi, - interpreter/plot.txi, interpreter/sparse.txi: Periodic grammar check - of documentation to ensure a common format. - -2010-05-27 Rik - - * interpreter/arith.txi, interpreter/diffeq.txi, interpreter/intro.txi, - interpreter/nonlin.txi, interpreter/poly.txi, interpreter/sparse.txi: - Replace @ifinfo with @ifnottex. - -2010-05-07 John W. Eaton - - * basics.txi: Update list of internal variables for --traditional. - -2010-05-02 Rik - - * interpreter/contrib.txi, interpreter/install.txi, - interpreter/plot.txi, interpreter/sparse.txi, - interpreter/octave.texi: Remove tabs causing problems with - pdf formatting. - -2010-04-14 Shai Ayal - - * interpreter/plot.txi: Document keypress and mouse callback - properties - -2010-04-07 John W. Eaton - - * interpreter/testfun.txi: Document runtests. - -2010-03-24 John W. Eaton - - * interpreter/bugs.txi: Update for bug tracker. - -2010-02-11 Jaroslav Hajek - - * interpreter/expr.txi: Mention no ternary operator and the ifelse - fucntion as a possible replacement. - -2010-02-09 Jaroslav Hajek - - * interpreter/tips.txi: More tips. - -2010-01-30 Jaroslav Hajek - - * interpreter/expr.txi (Assignment): Document return value of - multi-assignment with skipped values. - -2010-01-29 John W. Eaton - - * interpreter/poly.txi (Derivatives and Integrals): - Don't include docstring for polyinteg. - - * interpreter/obsolete.txi (Obsolete Functions): - Remove weibcdf, weibinv, weibpdf, and weibrnd from the table. - -2010-01-28 John W. Eaton - - * interpreter/obsolete.txi: New file. - * interpreter/Makefile.am (MUNGED_TEXI_SRC): Add it to the list. - * interpreter/octave.texi (Obsolete Functions): New menu item. - Include obsolete.texi. - -2010-01-27 Jaroslav Hajek - - * interpreter/expr.txi: Document using dummy outputs. - * interpreter/func.txi: Document using dummy inputs. - -2010-01-20 John W. Eaton - - * interpreter/munge-texi.cc: Delete Emacs local-variable settings. - Untabify. - -2010-01-17 Thorsten Meyer - - * interpreter/container.txi (Creating Cell Arrays): Add - docstring for cellslices function. - -2010-01-09 John W. Eaton - - * interpreter/munge-texi.cc: Avoid C-style casts. - (main): Call usage if fewer than two arguments. - -2009-12-20 Rik - - * interpreter/geometryimages.m: Correctly set postscript output when - QHULL library does not exist and sombrero image is printed. - -2009-12-19 Rik - - * Makefile.am, faq/Makefile.am, interpreter/Makefile.am, - liboctave/Makefile.am, refcard/Makefile.am, interpreter/images.awk: - Eliminate TOPDIR variable in favor of built-in automake variables of - top_builddir and top_srcdir. - -2009-12-17 Rik - - * interpreter/Makefile.am: use automake syntax to build munge-texi. - -2009-12-11 Rik - - * interpreter/Makefile.am: remove install-local target and use automake - syntax to install doc-cache file. - -2009-12-10 Rik - - * interpreter/Makefile.am: Replace distdir-local with dist-hook rule as - it is better supported by automake. - -2009-12-10 Rik - - * interpreter/Makefile.am: new distdir-local rule to check for presence - of necessary libraries before packaging distribution - -2009-12-08 Rik - - * interpreter/Makefile.am: Distribute all generated documentation - (.pdf, .ps, .html, .dvi) to remove build requirement for TexInfo - -2009-12-07 Rik - - * interpreter/Makefile.am, faq/Makefile.am, liboctave/Makefile.am: - Document use of NOTPARALLEL directive. - -2009-12-07 Rik - - * refcard/Makefile.am: Add CLEANFILES and MAINTAINERCLEANFILES objects - to properly clean directory. - -2009-12-05 Rik - - * interpreter/Makefile.am: Set dependency of *.texi files on - munge-texi source code rather than executable. - -2009-12-04 Rik - - * interpreter/images.awk: Revert to using Ghostscript for documentation - pdf image creation rather than Octave. - -2009-12-04 Rik - - * Makefile.am, interpreter/Makefile.am, liboctave/Makefile.am: remove - lingering configuration support for conf.texi. - * liboctave/Makefile.am: distribute .texi files. - -2009-12-04 Rik - - * interpreter/geometryimages.m, interpreter/interpimages.m, - interpreter/sparseimages.m, interpreter/plotimages.m: - Switch to color output for PostScript documentation images. - -2009-12-04 Rik - - * interpreter/geometryimages.m, interpreter/interpimages.m, - interpreter/sparseimages.m, interpreter/plotimages.m: - Set default paperorientation to landscape to stop warning message. - -2009-12-04 Ben Abbott - - * interpreter/geometryimages.m, interpreter/interpimages.m, - interpreter/sparseimages.m: Set default papersize to the desired - imagesize. - -2009-12-04 John W. Eaton - - * interpreter/images.awk: Emit rules to copy PNG files to - octave.html directory once it is created. - * interpreter/Makefile.am (all-local): Depend on $(HTMLDIR_IMAGES). - (IMAGES): Include $(HTMLDIR_IMAGES) in the list. - -2009-12-04 John W. Eaton - - * interpreter/octave.texi: Include version.texi instead of conf.texi. - * interpreter/Makefile.am (../conf.texi): Delete rule. - (octave_TEXINFOS): Delete ../conf.texi from the list. - ($(srcdir)/octave.info octave.dvi octave.pdf octave.html): - Remove duplicate $(octave_TEXINFOS) dependency. - Depend on $(srcdir)/version.texi. - - * liboctave/liboctave.texi: Include version.texi instead of conf.texi. - * liboctave/Makefile.am (../conf.texi): Delete rule. - (dist_liboctave_TEXINFOS): Delete ../conf.texi from the list. - (.NOTPARALLEL): Correct spelling of target. - ($(srcdir)/liboctave.info liboctave.dvi liboctave.html liboctave.pdf): - Depend on $(srcdir)/version.texi - - * conf.texi.in: Delete. - * Makefile.am: Delete rules for conf.texi. - (.NOTPARALLEL): New target. - -2009-12-03 John W. Eaton - - * doc/Makefile.am (MUNGED_TEXI_SRC): Define as explicit list. - (TXI_SRC): Define using substitution rule. - - * doc/Makefile.am (conf.texi): Only substitute OCTAVE_VERSION. - * conf.texi: Likewise. - - * doc/interpreter/find-docstring-files.sh: New file. - * doc/interpreter/Makefile.am (DOCSTRING_FILES): Use it. - ($(TOPDIR)/src/DOCSTRINGS, $(TOPDIR)/scripts/DOCSTRINGS): - Delete rules. - (.txi.texi): Pass $(top_srcdir) to munge-texi. - (octave.info octave.dvi octave.pdf octave.html): - Depend on $(octave_TEXINFOS), not $(nodist_octave_TEXINFOS). - (nodist_octave_TEXINFOS): Delete variable. - (octave_TEXINFOS): Include ../conf.texi in the list. - (dist-hook): Delete target. - (EXTRA_DIST): Add find-docstring-files.sh to the list. - - * doc/interpreter/basics.texi: Eliminate @value{OCTAVEHOME} - * doc/interpreter/dynamic.txi: Delete examplefile and - longexamplefile macro definitions. Replace uses with - @EXAMPLEFILE, to be expanded by munge-texi. - * doc/interpreter/geometry.txi: Eliminate @ifset HAVE_QHULL. - * doc/interpreter/oop.txi: Delete classfile and polynomialfile - macro definitions. Replace uses with @EXAMPLEFILE, to be expanded - by munge-texi. - * doc/interpreter/sparse.txi: Eliminate @ifset HAVE_CHOLMOD, - @ifset HAVE_UMFPACK, and @ifset HAVE_COLAMD. - - * munge-texi.cc (top_srcdir): New global variable. - (main): set top_srcdir from first arg. - (usage): Include TOP-SRCDIR in the message. - (recover_from_macro, process_example_file): New functions. - (process_texi_input_file): Handle @EXAMPLEFILE tag. - - * doc/liboctave/Makefile.am (nodist_liboctave_TEXINFOS): - Delete variable. - (liboctave_TEXINFOS): Include ../conf.texi in the list. - -2009-12-02 Rik - - * interpreter/Makefile.am: Correct Makefile.am to allow VPATH builds of - documentation - -2009-12-01 Rik - - * faq/Makefile.am, doc/interpreter/bugs.txi, - doc/interpreter/install.txi: Eliminate false dependency on conf.texi. - -2009-11-30 Rik - - * interpreter/Makefile.am: - Overhaul Makefile to correctly generate *.texi files and to stop their - distribution when running 'make dist' - -2009-11-30 John W. Eaton - - * interpreter/munge-texi.cc (process_texi_input_file): Double @ in - symbol_name used in @anchor. - (extract_docstring): Double @ in function name used in @ref. - - * interpreter/mk_doc_cache.m (cmd): Transform @ in class names to - @@ when processing DOCSTRINGS files. - -2009-11-30 John W. Eaton - - * interpreter/Makefile.a (nodist_octave_TEXINFOS): Add - contributors.texi and $(MUNGED_TEXI_SRC) to the list. - (dist_octave_TEXINFOS): Delete. - (DISTCLEANFILES, all_octave_TEXINFOS): New variables. - ($(srcdir)/octave.info, octave.dvi, octave.pdf, octave.html): - Depend on $(all_octave_TEXINFOS), not $(octave_TEXINFOS). - (octave.ps): Depend on .dvi file and EPS files, but not .texi - source files. - -2009-11-27 David Bateman - - * doc/interpreter/contributors.in: Add Kacper Kowalik. - -2009-11-27 David Bateman - - * interpreter/install.txi: Document that curl libraries impact ftp - objects. - * interpreter/system.txi: Document the ftp objects - -2009-11-25 Rik - - * interpreter/Makefile.am: - Simplify doc-cache handling in Makefile.am to use only - install-data-local target - -2009-11-24 Rik - - * interpreter/Makefile.am: - Correct Makefile so that it halts on error when unable to build - doc-cache. - -2009-11-23 Rik - - * faq/Makefile.am, interpreter/Makefile.am, liboctave/Makefile.am: - Stop distribution of conf.texi by autotools. conf.texi must be re-made - from conf.texi.in during configure step - -2009-11-23 Rik - - * Makefile.am: Add . to SUBDIRS to force automake to compile this - directory, and make conf.texi, before recursively compiling SUBDIRS - which depend on conf.texi - -2009-11-11 Rik - - * Makefile.am: Add DISTCLEANFILES macro so that generated conf.texi can - be cleaned by automake. - -2009-11-10 John W. Eaton - - * Makefile.am, faq/Makefile.am, interpreter/Makefile.am, - liboctave/Makefile.am, refcard/Makefile.am, - interpreter/config-images.sh, interpreter/images, - interpreter/images.awk: New files. - * Makefile.in, faq/Makefile.in, interpreter/Makefile.in, - liboctave/Makefile.in, refcard/Makefile.in: Delete. - * interpreter/munge-texi.cc (main, usage): Eliminate unnecessary - -d option. - * liboctave/liboctave.texi: Surround @direntry in appropriate magic. - * faq/OctaveFAQ.texi: Rename from faq/Octave-FAQ.texi. - -2009-10-23 Rik - - * various: Periodic grammar check of Octave documentation files to - ensure a standardized format. - -2009-10-20 Rik - - * interpreter/Makefile.in: Clean Makefile.in and remove a few - non-functional targets - -2009-10-13 Rik - - * various: Fix various incorrect usages of deffn and deftypefn macros - -2009-10-12 Rik - - * liboctave/Makefile.in: Simplify Makefile using GNU Make functions - * liboctave/liboctave.texi: Stop header of file, which was meant to be - commented, from being transferred into the documentation. - -2009-10-12 Rik - - * faq/Makefile.in: Clean a few non-functional commands from Makefile - -2009-10-12 Rik - - * refcard/Makefile.in: Simplify Makefile using GNU Make functions - -2009-10-11 Rik - - * Makefile.in: Include texmf.cnf in distributed files to fix texinfo - runtime error with stack overflow. - -2009-10-11 Rik - - * intepreter/Makefile.in: Fix broken command to create octave.dvi - -2009-10-08 Jaroslav Hajek - - * intepreter/linalg.txi: Add reference to luupdate. - -2009-10-07 Jaroslav Hajek - - * interpreter/io.txi: Add reference to fskipl. - -2009-09-30 John W. Eaton - - * interpreter/data.txi (Built-in Data Types): - Document bitpack and bitunpack. - * interpreter/plot.txi: Delete spurious {}. Update menus. Fix - cross-referencing. - * interpreter/octave.texi: Update plotting sub-menus in detailed menu. - -2009-09-30 Michael D. Godfrey - - * interpreter/plot.txi: Document graphics structures. - -2009-09-14 John W. Eaton - - * interpreter/optim.txi: Document pqpnonneg. - -2009-08-27 Jaroslav Hajek - - * interpreter/expr.txi: Mention complex comparisons change. - -2009-08-05 Jaroslav Hajek - - * interpreter/tips.txi: Update. - -2009-07-20 John W. Eaton - - * interpreter/contributors.in: Add Aleksej Saushev. - -2009-06-24 Rafael Laboissiere - - * Makefile.in (dist): Drop conf.texi as prerequisite. - -2009-06-16 Jaroslav Hajek - - * interpreter/tips.txi: Update. - -2009-06-07 Rik - - * interpreter/plot.txi: Update some of Advanced Plotting documentation. - Updated functions delete, allchild, backend, clf, hold, and refreshdata. - -2009-06-07 Thorsten Meyer - - * interpreter/container.txi: Udate documentation of container types - -2009-06-03 Rik - - * interpreter/plotimages.m: Correct errorbar plot for docs. Make hist - plot reprodroducible for docs. - * interpreter/interpimages.m: Correct typo in legend of interpft plot - for docs. - -2009-06-03 Jaroslav Hajek - - * Makefile.in: Omit conf.texi in DISTFILES. - -2009-06-02 Jaroslav Hajek - - * interpreter/oop.txi: Update docs of polynomial class, mention - chained indexing. - -2009-05-27 S�ren Hauberg - - * interpreter/errors.txi: fix 'print_usage' output. - -2009-05-27 S�ren Hauberg - - * interpreter/bugs.txi: fix call to 'page_screen_output'. - -2009-05-25 Rik - - * interpreter/Makefile.in: Add texmf.cnf to list of distributed files - (DIST_FILES) so that pdfs will build. - -2009-05-24 Robert T. Short - - * interpreter/oop.txi: Added inheritance documentatin - -2009-05-21 Rik - - * interpreter/Makefile.in, texmf.cnf: Change texi2pdf call to include - local TeX configuration file which increases save_history variable. - -2009-05-17 Rik - - * interpreter/tips.txi: Change recommendation to use @tex rather than - @iftex construction. - -2009-05-17 Rik - - * interpreter/*.txi: Simplify TeXinfo files by eliminating redundant - @iftex followed by @tex construction. Also, spellchecked all .txi - and .texi files. - -2009-05-14 Rik - - * interpreter/arith.txi: Update section 17.8 (Mathematical Consants) - of arith.txi. - -2009-05-01 Rik - - * interpreter/arith.txi: Update section 17.7 (Coordinate - Transformations) of arith.txi. - -2009-05-01 Rik - - * interpreter/arith.txi: Simplify TeXinfo and eliminate use of - @iftex in arith.txi. - -2009-05-01 Rik - - * interpreter/arith.txi: Update section 17.5 (Utility Functions) - of arith.txi. - -2009-04-30 Rik - - * interpreter/arith.txi: Update section 17.4 (Sums and Products) - of arith.txi. - -2009-04-29 Jaroslav Hajek - - * interpreter/numbers.txi: Update info on ranges. - * interpreter/expr.txi: Update some info on indexing. - -2009-04-26 Rik - - * interpreter/arith.txi: Update section 17.3 (Trigonometry) of - arith.txi. - -2009-04-24 Rik - - * interpreter/arith.txi: Update section 17.2 (Complex Arithmetic) - of arith.txi. Use Tex in more of the doc strings for pretty - printing in pdf format. - -2009-04-24 Rik - - * interpreter/octave.pdf: Eliminate most overfull errors when - running texi2pdf for generating pdf documentation. Use - @smallexample when necessary to reduce font for long lines. - Reword variables or phrases so that Tex can break them at a better - spot. - -2009-04-21 Rik - - * interpreter/octave.pdf: Eliminate 'unbalanced parentheses in - @def...' error during texi2pdf. Fixed four .m files incorrectly - using @deftypefn macro. - -2009-04-19 Ansgar Burchardt - - * interpreter/numbers.txi: Fix small mistake in example. - -2009-04-17 Rik - - * interpreter/arith.txi: Update section 17.1 (Utility Functions) - of arith.txi. Split section into "Exponents and Logarithms" and - "Utility Functions" Use Tex in many more of the doc strings for - pretty printing in pdf format. - -2009-04-17 Rik - - * interpreter/basics.txi: Update help text for sections 2.5, 2.6, 2.7 - of basics.txi - -2009-04-17 Rik - - * interpreter/basics.txi: Update help text for sections 2.4 of - basics.txi. - -2009-04-17 Rik - - * interpreter/basics.txi: Update help text for sections 2.2 - and 2.3 of basics.txi. - -2009-04-17 Rik - - * interpreter/basics.txi: Update help strings for command line options. - -2009-04-11 David Bateman - - * interpreter/contributors.in: Add Martin Helm. - -2009-04-06 John W. Eaton - - * texinfo.tex: Prefer PDF image files if generating PDF output. - -2009-03-27 Rik - - * interpreter/intro.txi: Add new sample section on elementary - calculations. Add new example of solving systems of equations - -2009-03-27 Jaroslav Hajek - - * interpreter/diagperm.txi: Mention mixing with sparse matrices. - -2009-03-25 John W. Eaton - - * interpreter/munge-texi.cc (process_texi_input_file): - Copy leading comment with file name info to output. - -2009-03-09 John W. Eaton - - * interpreter/Makefile.in (DISTFILES): Use doc-cache instead of - DOC for doc cache file. - -2009-03-08 S�ren Hauberg - - * interpreter/stats.txi (Basic Statistical Functions): - Add the 'histc' function. - -2009-03-07 John W. Eaton - - * interpreter/basics.txi (Command Line Options): - Document --doc-cache-file command-line option. - -2009-03-06 Jaroslav Hajek - - * interpreter/diagperm.txi: Various improvements. - -2009-02-27 John W. Eaton - - * interpreter/set.txi (Sets): Don't document create_set. - -2009-02-26 John W. Eaton - - * interpreter/strings.txi (Manipulating Strings): - Document strsplit, not split. - -2009-02-25 John W. Eaton - - * interpreter/Makefile.in (distclean): Remove tags and TAGS here - instead of in maintainer-clean target. - (maintainer-clean): Depend on distclean, not clean. Remove DOC. - (DISTFILES): Add stmp-html to the list. - - * Makefile.in: Remove conf.texi in maintainer-clean target but not - distclean target. - -2009-02-24 Jaroslav Hajek - - * interpreter/diagperm.txi: Remove redundant url references. - -2009-02-23 Jaroslav Hajek - - * interpreter/diagperm.txi: Use TeX alternatives in some - formulas, improve examples, delete superfluous defs. - -2009-02-23 Jaroslav Hajek - - * interpreter/diagperm.txi: New file. - * interpreter/octave.texi: Reference it. - * intepreter/Makefile.in: Include it. - * interpreter/matrix.txi: Move @DOCSTRING(diag) to diagperm.txi. - -2009-02-19 John W. Eaton - - * doc/interperter: Include @DOCSTRING commands for the following - functions: bicgstab, cgs, choldelete, cholinsert, cholshift, - clabel, comet, command_line_path, compass, contour3, ctranspose, - cylinder, dellistener, diffuse, edit, ellipsoid, fclear, feather, - fill, find_dir_in_path, finite, flag, info, is_absolute_filename, - is_rooted_relative_filename, isdebugmode, ishghandle, isnull, - issorted, make_absolute_filename, meshz, news, - octave_tmp_file_name, optimget, pareto, plotmatrix, plotyy, - qrshift, quiver3, re_read_readline_init_file, ribbon, rose, - rundemos, scatter, scatter3, slice, specular, sphere, spinmap, - stem3, strchr, strtrim, surfl, surfnorm, times, transpose, - treelayout, uminus, uplus, warranty, what, xlim, yes_or_no. - -2009-02-17 Thomas Treichl - - * interpreter/install.txi: Add documentation for configure options - "--without-framework-carbon" and "--without-framework-opengl". - -2009-02-17 Jaroslav Hajek - - * interpreter/arith.txi: Add reference to "cummin" and "cummax". - -2009-02-11 John W. Eaton - - * interpreter/Makefile.in (uninstall): Use $(DESTDIR) here too. - Uninstall Info dir file. Uninstall DOC file. - (install): Install DOC file. Add $(DESTDIR)$(octetcdir) to the - list of directories to make. - -2009-02-10 John W. Eaton - - * interpreter/Makefile.in (DOC): New target. - (DISTFILES): Add DOC nad mk_doc_cache.m to the list. - * mk_doc_cache.m: New file. - -2009-02-01 S�ren Hauberg - - * interpreter/nonlin.txi: Remove reference to 'fsolve_options'. - -2009-02-01 S�ren Hauberg - - * interpreter/system.txi: Remove reference to 'eomdate'. - -2009-01-24 Thorsten Meyer - - * interpreter/container.txi (Data Structures): Update examples for - structure arrays. - -2009-01-22 John W. Eaton - - * interpreter/io.txi (Terminal Output): Remove @DOCSTRING(ans). - - * vr-idx.txi: Delete. - * interpreter/Makefile.in (SUB_SOURCE): Remove it from the list. - -2009-01-22 S�ren Hauberg - - * interpreter/func.txi: Put varargin and varargout in concept index. - * interpreter/var.txi: Put ans in concept index. - * interpreter/octave.texi: Don't include vr-idx.texi. - - * interpreter/var.txi: Remove sections on built-in variables. - -2009-01-20 John W. Eaton - - * interpreter/system.txi (Filesystem Utilities): @DOCSTRING for - fstat. Delete @DOCSTRING for lstat. Add anchor for doc-lstat. - -2009-01-18 Thorsten Meyer - - * interpreter/numbers.txi (Numeric Data Types): Trivial fixes. - -2009-01-14 Thorsten Meyer - - * interpreter/matrix.txi: Add anchor for doc-postpad. - -2008-12-26 Thorsten Meyer - - * interpreter/strings.txi: Add space to ischar example. - -2008-12-26 Francesco Potortì - - * interpreter/matrix.txi (Rearranging Matrices): Add reference - to resize function. - - * interpreter/plot.txi (Plot Annotations): Add cross reference to - Text Properties. - (Two-Dimensional Plots): Update introduction to the axis function. - - * interpreter/signal.txi (Signal Processing): Add explanation of - what wisdom is. - -2008-12-23 David Bateman - - * interpreter/sparse.txi: Document the eigs and svds functions. - -2008-12-02 Thorsten Meyer - - * interpreter/container.txi, interpreter/strings.txi: - Remove reference to str2mat.m - -2008-11-15 Thorsten Meyer - - * interpreter/strings.txi: Add text around docstrings, change - structure of the strings chapter. - -2008-10-31 John W. Eaton - - * interpreter/Makefile.in ($(TEXINFO)): Depend directly on - ../../src/DOCSTRINGS and ../../scripts/DOCSTRINGS instead of phony - src-DOCSTRINGS and scripts-DOCSTRINGS targets. - (src-DOCSTRINGS, scripts-DOCSTRINGS): Delete. - (DOCSTRING_FILES): New variable. - ($(SUB_TEXFINO)): Use it. Display actual command. - ($(DOCSTRING_FILES)): New target. - (%.spell : %.texi): Use -t suffix instead of .tmp. - (constributors.texi, $(SUB_TEXINFO)): Use mv, instead of - $(simple-move-if-change-rule). - -2008-10-30 David Bateman - - * faq/Octave-FAQ.texi: Document improved indexing and add an faq for - the compatibility of mldivide/mrdivide for singualr, under- and - over-determined matrices. - - * interpreter/plot.txi: Document contour groups. - -2008-10-29 Thorsten Meyer - - * interpreter/system.txi, interpreter/poly.txi, - interpreter/arith.txi, interpreter/poly.txi, - interpreter/optim.txi, interpreter/diffeq.txi, - interpreter/sparse.txi, interpreter/matrix.txi, - interpreter/plot.txi, interpreter/io.txi, interpreter/debug.txi, - interpreter/var.txi, interpreter/strings.txi: - Add missing @DOCSTRING commands. - - * interpreter/munge-texi.cc (extract_docstring): Expand arguments - of @seealso{} into Texinfo references. - -2008-10-22 David Bateman - - * interprter/plot.txi: Add documentation for error bar series. - - * interprter/plot.txi: Update documentation for line series, Add - documetation for scatter groups, stem series and surface groups. - - * texinfo.tex: Import new upstream version. - * interpreter/Makefile.in (EXAMPLE_FILES_NODIR): Update for new OOP - class example location. - * interpreter/oop.txi: Ditto. - -2008-10-15 David Bateman - - * interpreter/oop.txi: New file. - * interpreter/Makefile.in (SUB_SOURCES): Add it here. - (POLYNOMIAL_FILES_NODIR): New varaible for polynomial example class - methods. - (EXAMPLE_FILES_NODIR): Add POLYNOMIAL_FILES_NODIR here. - * interpreter/octave.texi: Reference new OOP chapter here. - * interpreter/func.txi: Document private directories and function - precedence here. - -2008-10-16 Thorsten Meyer - - * interpreter/contrib.txi: added recommendation of limited - line width in code examples - -2008-10-03 Thorsten Meyer - - * interpreter/contrib.txi: added example for mercurial queues - -08-10-03 Thorsten Meyer - - * interpreter/contrib.txi: correction of the mercurial example - * interpreter/container.txi: minor correction of the text - -2008-09-25 S�ren Hauberg - - * interpreter/image.txi: Update for imread and imwrite instead of - loadimge and saveimage. - -2008-09-24 S�ren Hauberg - - * interpreter/image.txi: Document imfinfo. - -2008-09-23 Francesco Potorti` . - - * interpreter/container.txi: Fix cross reference in struct docs. - -2008-09-23 Brian Gough - - * interpreter/matrix.txi: Update docs for random number generators. - -2008-09-22 David Bateman - - * faq/Octave-FAQ.texi: Update for Octave 3.1.51 and Matlab 2008a. - -2008-09-15 David Bateman - - * interpreter/sparse.txi: Minor clarificiation - -2008-08-28 John W. Eaton - - * interpreter/func.txi, interpreter/plot.txi: Doc fixes - suggested by Francesco Potorti` . - -2008-08-28 David Bateman - - * interpreter/plot.txi: Add description of data sources and line - series objects. - -2008-08-26 David Bateman - - * interpreter/plot.txi: Document the group objects (bar, stem, - stair, quiver and area series), and cllback functions. - -2008-08-26 Jaroslav Hajek - - * interpreter/contrib.txi: New file. - * interpreter/octave.texi: Include it here. - * interpreter/Makefile.in (SUB_SOURCE): Add contrib.txi to the list. - -2008-08-21 David Bateman - - * interpreter/plot.txi: Document ezplot. - -2008-08-19 David Bateman - - * interpreter/numbers.txi: Document intwarning. - -2008-08-06 S�ren Hauberg - - * interpreter/basics.txi, interpreter/errors.txi, - interpreter/expr.txi, interpreter/func.txi, - interpreter/numbers.txi: Update format of error messages in examples. - -2008-07-29 David Bateman - - * interpreter/numbers.txi, interpreter/plot.txi, - interpreter/quad.txi: Miscellaneous documentation fixes. - - * control.txi, finance.txi, quaternion.txi: Delete. - * octave.texi: Remove all references to the above. - * Makefile.in: ditto. - -2008-07-28 David Bateman - - * interpreter/arith.txi: Document reallog, realpow and realsqrt. - * interpreter/dbug.txi: Document the means of setting a breakpoint - in a sub-function - * interpreter/func.txi: Document nargoutchk and symvar. - * interpreter/geometry.txi: Document rectint. - * interpreter/image.txi: Document contrast. - * interpreter/interp.txi: Document interp1q. - * interpreter/linalg.txi: Document planerot, rcond and subspace. - * interpreter/numbers.txi: Document data type demotion and single - precision data type. - * interpreter/plot.txi: Document ginput, gtext, - waitforbuttonpress, ezcontour, ezcontourf, ezpolar, ezplot3, - ezmesh, ezmeshc, ezsurf, ezsurfc, allchild, findobj and findall - functions. - * interpreter/quad.txi: Document quadv, quadgk, dblquad and - triplequad functions. - * interpreter/strings.txi: Document validstring, regexptranslate - and isstrprop functions. - * interpreter/system.txi: Document addtodate, filemarker and perl - functions. - * interpreter/var.txi: Document the genvarname and namelengthmax - functions. - * interpreter/octave.texi: Update table of contents for the above - changes. - - * interpreter/plot.txi: Document contourf. - - * interpreter/plot.txi: Clarify the description of OuterPosition - axes property. - -2008-05-20 David Bateman - - * interpreter/debug.txi: Uodate documentation for multiline - input. Add documentation for dbcont, dbquit, dbstep, dbstqck, dbup - and dbdown functions. - * interpreter/octave.texi: Upodate index for debugging functions. - -2008-05-03 Rafael Laboissiere - - * interpreter/expr.txi, interpreter/tips.txi: Use ischar instead of - deprecated isstr. - -2008-04-02 David Bateman - - * interpreter/sparse.txi: Document spaugment. - -2008-03-26 Rafael Laboissiere - - * interpreter/mkoctfile.1: Remove spurious whitespace before macros - -2008-03-25 David Bateman - - * interpreter/strings.txi: Document hex2num, num2hex. - -2008-03-21 David Bateman - - * interpreter/sparse.txi: Document amd function. - -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. - -2008-03-12 David Bateman - - * interpreter/io.txi: Document dlmread, dlmwrite, csvread and - csvwrite. - -2008-02-25 Ben Abbott - - * interpreter/geometryimages.m, interpreter/interpimages.m, - interpreter/plotimages.m, interpreter/sparseimages.m: - Use cstrcat instead of strcat. - -2008-02-22 David Bateman - - * interpreter/sparse.txi: Remove refernces to spdiag, spcumprod, - spcumsum, spprod, spsum, spsumsq, spchol, spchol2inv, spcholinv, - spinv and splu. - -2008-02-20 David Bateman - - * interpreter/sparse.txi: Remove references to spmin, spmax, - spatan2, spfind, spqr and spdet. - -2008-02-19 Carlo de Falco - - * interpreter/package.txi: Improve INDEX file documentation. - -2008-01-18 Ben Abbott - - * interpreter/intro.txi: Replaced reference to deprecated - function struct_elements with filenames. - -2008-02-08 Rafael Laboissiere - - * interpreter/octave.1: Dropped unknow LO macro - * interpreter/octave-bug.1: Likewise - -2008-02-07 David Bateman - - * interpreter/sparse.txi: Remove references to spkron. - -2008-02-06 John W. Eaton - - * interpreter/Makefile.in (stmp-html, HTML): New targets. - ($(HTML_IMAGES_PNG)): Also depend on stmp-html. - Don't create HTML directory here. - -2007-12-28 John W. Eaton - - Merge changes from object branch: - - 2007-06-20 John W. Eaton - - * interpreter/var.txi, interpreter/io.txi: - Eliminate print_answer_id_name. - -2007-12-21 John W. Eaton - - Version 3.0.0 released. - -2007-12-13 John W. Eaton - - * Makefile.in (conf.texi): Also depend on $(top_srcdir)/src/version.h. - -2007-12-05 John W. Eaton - - * interpreter/geometryimages.m (image_as_txt): New function. - Use it to generate "figures" for Info format. - * interpreter/interpimages.m: Likewise. - * interpreter/sparseimages.m: Likewise. - -2007-12-04 John W. Eaton - - * interpreter/sparseimages.m, interpreter/plotimages.m, - interpreter/interpimages.m, interpreter/geometryimages.m: - Set default text font to "*" for png images. - - * interpreter/Makefile.in (run-octave): Don't sleep. - -2007-12-04 Joseph P. Skudlarek - - * interpreter/plotimages.m: Generate text plots. - * interpreter/sparseimages.m: Add initial blank line to text plots. - - * interpreter/Makefile.in (IMAGES_TXT): Include $(INTERPIMAGES_TXT) - $(GEOMETRYIMAGES_TXT) and $(PLOTIMAGES_TXT) in the list. - (INTERPIMAGES_TXT, GEOMETRYIMAGES_TXT, PLOTIMAGES_TXT): New variables. - -2007-11-26 David Bateman - - * interpreter/sparse.txi: Document condest. - * interpreter/plot.txi: Document the new text properties and the - TeX interpreter mode of text objects. - * interpreter/plotimages.m: Add an example for the TeX - interpreter. - * interpreter/Makefile.in (PLOTIMAGES): Add the TeX example - - * interpreter/plot.txi: Document caxis. - * interpreter/image.txi: Document gmap40. - -2007-11-12 Joseph P. Skudlarek - - * interpreter/gpl.txi: Move index commands after sectioning commands. - -2007-11-09 David Bateman - - * interpreter/plot.txi: Document the new hidden and area functions. - -2007-11-07 David Bateman - - * interpreter/plot.txi: Document new functions. - -2007-10-30 David Bateman - - * interpreter/dynamic.txi, interpreter/install.txi, - interpreter/stats.txi, interpreter/strings.txi, - interpreter/testfun.txi, interpreter/tips.txi: - Doc fixes for small book format. - -2007-10-26 Michael Goffioul - - * interpreter/Makefile.in, faq/Makefile.in, liboctave/Makefile.in: - Use temporary renamed files instead of Don't use --output option - argument for texi2[dvi|pdf]. Use $(sepchar) for path element - separation when building TEXINPUTS. Remove use of UNSETCOMSPEC trick. - -2007-10-22 Kim Hansen - - * interpreter/munge-texi.cc: Include and . - -2007-10-19 David Bateman - - * refcard/refcard.tex: Update for 3.0. - -2007-10-15 S�ren Hauberg - - * interpreter/preface.txi, interpreter/basics.txi, - interpreter/strings.txi, interpreter/container.txi, - interpreter/var.txi, interpreter/expr.txi, interpreter/errors.txi, - interpreter/io.txi, interpreter/func.txi, interpreter/package.txi: - Make text fit on pages when using smallbook. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-11 Brian Gough - - * interpreter/dynamic.txi, interpreter/geometry.txi, - interpreter/package.txi, interpreter/sparse.txi, - interpreter/system.txi: Spelling fixes. - -2007-10-10 Olli Saarela - - * interpreter/arith.txi, interpreter/basics.txi, - interpreter/container.txi, interpreter/dynamic.txi, - interpreter/eval.txi, interpreter/expr.txi, interpreter/func.txi, - interpreter/geometry.txi, interpreter/intro.txi, - interpreter/numbers.txi, interpreter/plot.txi, - interpreter/poly.txi, interpreter/set.txi, interpreter/sparse.txi, - interpreter/stmt.txi, interpreter/strings.txi, - interpreter/testfun.txi, interpreter/tips.txi: Spelling fixes. - -2007-10-06 John W. Eaton - - * interpreter/octave.texi: Add David Bateman and S�ren Hauberg as - authors. - -2006-09-28 Henry Mollet mollet@pacbell.net - - * interpreter/func.txi: Correct results of a couple of examples. - -2007-09-14 John W. Eaton - - * faq/Makefile.in: Create single Octave-FAQ.html file instead of a - splitting files into HTML directory. - -2007-09-05 David Bateman - - * interpreter/system.m: Document gzip. - * interpreter/container.txi: Document celldisp. - * interpreter/matrix.txi: Document bsxfun. - * interpreter/data.txi: Document typecast and swapbytes. - * interpreter/container.txi: Document struct2cell. - * interpreter/stats.txi: Document mode. - * interpreter/eval.txi: Document run. - -2007-09-01 David Bateman - - * interpreter/Makefile.in: Remove stray character from - INTERIMAGES_PNG target. - * conf.texi.in: Substitute for the variable TEXINFO_QHULL - * interpreter/geometryimages.m: Check for the HAVE_QHULL build - flag before creating certain figures. - * interpreter/geometry.txi: Check whether TEXINFO_QHULL is set - before including certain figures. - -2007-08-31 S�ren Hauberg - - * interpreter/nonlin.txi: Extended the example. - - * interpreter/poly.txi: Sectioning and documentation. - * interpreter/octave.texi: Adapt to changes in poly.txi. - -2007-08-30 David Bateman - - * interpreter/geometryimages.m: Add inpolygon example - * interpreter/Makefile.in (GEOMETRYIMAGES): Add inpolygon example. - * interpret/geometry.txi: Document inpolygon. - -2007-08-27 David Bateman - - * interpreter/struct.txi: Remove. - * interpreter/containers.txi: Combine with this chapter. Add - examples, and section on comma separated lists. Document the - difference between "c(1,:) = []" and c{1,:} = []" for a cell - arrays. - * interpreter/octave.texi: Document new indexing of containers - section. - -2007-08-25 David Bateman - - * interpreter/geometry.txi: Add examples and explanatory text. - * interpreter/octave.texi: Update indexing of geometry functions. - * interpreter/geometryimage.m: New script to create images for - geometry chapter. - * interpreter/Makefile.in (SCRIPT_SORCES): add geometryimages.m - (GEOMETRYIMAGES*): New variables. - (IMAGES_EPS, IMAGES_PDF, IMAGES_PNG): Add the GEOMETRYIMAGES*. - -2007-08-24 David Bateman - - * interpreter/geometry.txi: Document new functions. - * interpreter/octave.texi: Update indexing of geometry items. - -2007-07-25 John W. Eaton - - * interpreter/Makefile.in (run-octave): Don't set DISPLAY. - -2007-07-25 David Bateman - - * Makefile.in, faq/Makefile.in, interpreter/Makwfile.in, - liboctave/Makefile.in, refcard/Makefile.in: Adjust DISTFILES - to allow out of tree "make dist" to work. - -2007-07-23 David Bateman - - * interpreter/Makefile.in (SUB_SOURCE): remove bit.txi. - * interpreter/io.txi: Document rat and rats in new sub-section. - * interpreter/plot.txi: New section for test functions. Document - peaks and meshc. - * interpreter/octave.texi: Add test plotting section. - * interpreter/image.txi: Document the functions autumn, bone, - cool, copper, hot, hsv, jet, pink, prism, rainbow, spring, - summer, white and winter. - -2007-07-19 David Bateman - - * interpreter/bit.xi: Remove. - * interpreter/numbers.txi: Move here, and add examples. - * interpreter/octave.texi: Remove "Bit manipulation" chapter and make - it a sub-section of the "Numeric Data Types" chapter. - -2007-07-06 David Bateman - - * interpreter/arith.txi: Add accumarray. - -2007-06-25 John W. Eaton - - * interpreter/stats.txi: Reorganize sections and add introductory text. - - * interpreter/octave.texi: Update to reflect changes in stats.txi. - -2007-06-18 David Bateman - - * interpreter/interpimages.m: Simpler images to demonstrate - the continuity of the second derivative of splines. - * interpreter/interp.txi: Also change figures here. - * interpreter/Makefile.in: and here. - -2007-06-18 S�ren Hauberg - - * interpreter/optim.txi: Added some introductory text to each - section. - - * interpreter/set.txi: Added some introductory text. - * interpreter/octave.texi: Updated to reflect changes in set.txi. - -2007-06-15 David Bateman - - * faq/Octave-FAQ.texi: Document the gnuplot 4.2 bug using pipes. - -2007-06-15 Paul Kienzle - - * interpreter/testfun.txi: Provide a clue to using xtest for assert. - -2007-06-14 Paul Kienzle - - * interpreter/testfun.txi: Document xtest block - -2007-06-14 David Bateman - - * interpreter/Makefile.in (SCRIPT_SORCES): add interimages.m - (INTERPIMAGES*): New variables. Add targets for them - (IMAGES_EPS, IMAGES_PDF, IMAGES_PNG): Add the INTERPIMAGES. - * interpreter/interpimages.m: New function - * interpreter/interp.txi: Add text about second derivation of - splines and add figures. - -2007-06-12 David Bateman - - * interpreter/numbers.txi: Document that 64-bit arithmetic is - not possible. - -2007-06-12 David Bateman - - * interpreter/interp.txi: Split into two section and document - interp3 and the differences in the treatement of the dimensions - between interpn and interp3. - * hashing.txi: Remove. - * system.txi: Move it here as a subsection. Include explanation - and example. - * interpreter/octave.texi: Add sections for the Interpolation - chapter. Remove references to Hashing chapter and hashing.texi, - and subsections for hashing to system utilities chapter. - -2007-06-12 2007-06-10 S�ren Hauberg - - * interpreter/diffeq.txi: Note that x-dot is the derivative of x. - -2007-06-03 David Bateman - - * interpreter/dynamic.txi: Use "mwSize" and "mwIndex" rather than - "int" for indexing in mex-files and document them. - -2007-05-30 John W. Eaton - - * interpreter/Makefile.in (TEXI2DVICOMMAND, TEXI2PDFCOMMAND): - New macros. - (octave-a4.pdf, octave-smallbook.pdf): New targets. - (FORMATTED, all): Include octave-a4.pdf in list of dependencies. - Delete octave.dvi and octave.ps from list. - (FORMATTED, all): Use $(PDF_TARGETS). - (maintainer-clean): Depend on clean. - -2007-05-30 G. D. McBain - - * interpreter/expr.txi (Assignment Ops): Doc fix. - -2007-05-29 Steven Mestdagh - - * interpreter/Makefile.in ($(HTML_IMAGES_PNG)): Use cp instead of - INSTALL_DATA to copy files to the HTML directory. - -2007-05-28 S�ren Hauberg - - * interpreter/errors.txi: Add new sections and some more detailed - descriptions on errors and warnings. - * interpreter/octave.texi, interpreter/stmt.txi, - interpreter/var.txi: Add references to the new sections in - errors.txi. - -2007-05-28 S�ren Hauberg - - * interpreter/io.txi: Rearrange some sections, and add - a few examples. - -2007-05-28 G. D. McBain - - * interpreter/struct.txi: Doc fix. - -2007-05-23 John W. Eaton - - * liboctave/Makefile.in (TEXINFO_SOURCE): New variable. - (TEXINFO): Define using $(TEXINFO_SOURCE). - (DISTFILES): Include $(TEXINFO_SOURCE) in the list, not $(TEXINFO). - -2007-05-22 John W. Eaton - - * interpreter/Makefile.in (TEXINFO_SOURCE): New variable. - (TEXINFO): Define using $(TEXINFO_SOURCE). - (DISTFILES): Include $(TEXINFO_SOURCE) in the list, not $(TEXINFO). - -2007-05-22 Thomas Weber - - * faq/Octave-FAQ.texi, interpreter/basics.txi, - refcard/refcard.tex: Fix typos. - -2007-05-22 John W. Eaton - - * interpreter/Makefile.in (DISTFILES): Add mkcontrib.awk to the list. - -2007-05-21 David Bateman - - * interpreter/debug.txi, io.txi, octave.txi: Doc fixes. - -2007-05-21 S�ren Hauberg - - * interpreter/expr.txi: Describe +=, -=, *=, and /= operators. - Add new example. - - * interpreter/eval.txi: Partition the chapter into sections. - Describe evalin and assignin functions using text from Paul - Kienzle. Change "See See" to "See". Use @ref instead of @xref to - avoid "See" to be written with a capital letter in the middle of a - sentence. - - * interpreter/func.txi: New section describing load path. - Improve 'inline' and 'command' sections. - - * interpreter/stmt.txi: Describe cell array cases for the switch - statement. Minor layout changes. - -2007-05-19 David Bateman - - * interpreter/func.txi: Additional documentation for function - locking, dispatch and autoloading. - -2007-05-16 S�ren Hauberg - - * interpreter/expr.txi: Improve docs. - -2007-05-14 John W. Eaton - - * interpreter/basics.txi, interpreter/data.txi, - interpreter/intro.txi, interpreter/numbers.txi, - interpreter/octave.texi, interpreter/preface.txi: Doc fixes. - -2007-04-18 S�ren Hauberg - - * interpreter/package.texi: Document "*" flag for loaded packages. - - * interpreter.var.txi: Improve explanation of clear, exist, and who. - - * interpreter/intro.txi: Change @unnumberedsubsec to @subsection. - - * interpreter/container.txi: Doc fix. - - * interpreter/strings.txi: Improve explanation for creating - comparing, and converting strings. - * interpreter/octave.texi: Update detailed menu. - -2007-05-09 David Bateman - - * faq/Octave-FAQ.texi: Update compatibility section. - -2007-04-27 David Bateman - - * Makefile.in (EXAMPLE_FILES_NODIR): Add mycell.c, myfeval.c, - myfunc.c, mypow2.c, mysparse.c, mystring.c, mystruct.c and - paramdemo.cc. - * interpreter.txi/dynamic.txi: Complete all but the section on - the mex- and oct-file APIs. - -2007-04-26 David Bateman - - * interpreter/stmt.txi: Document for loops over matrices, arrays - and cell arrays. - -2007-04-25 David Bateman - - * interpreter/dynamic.txi: Add additional copyrights. Add sections - of input parameter checking, documentation and testing of - oct-files. Adds a section on calling other functions from - mex-files, expands the basic information on mex-files, and add a - few new sections (to be completed) to the section about mex-files - -2007-04-25 John W. Eaton - - * interpreter/dynamic.txi: Use abs_top_srcdir to find example files. - -2007-04-25 David Bateman - - * conf.texi.in: Also set abs_top_srcdir with substitution. - * Makefile.in: Substitute abs_top_srcdir here. - -2007-04-25 John W. Eaton - - * interpreter/dynamic.txi: Use @verbatiminclude for example code. - - * interpreter/Makefile.in (EXAMPLE_FILES_NODIR, EXAMPLE_FILES): - New variables. - (octave.info, octave.dvi, octave.pdf, HTML/index.html): - Depend on $(EXAMPLE_FILES). - - * conf.texi.in: Also set top_srcdir with substitution. - - * interpreter/tips.txi: Update with new text and examples. - Move documentation section to the end. - -2007-04-24 David Bateman - - * interpreter/octave.texi: Include dynamic.texi as appendix and - update menus. - - * interpreter/plot.txi: Update menus. - - * interpreter/strings.txi: @result -> @result{}. - - * intrepreter/func.txi, intrepreter/sparse.txi: - Delete .oct file section and update menus. - - * interpreter/addtwomatrices.cc, interpreter/celldemo.cc, - interpreter/fortdemo.cc, interpreter/funcdemo.cc, - interpreter/globaldemo.cc, interpreter/helloworld.cc, - interpreter/stringdemo.cc, interpreter/structdemo.cc, - interpreter/unwinddemo.cc, interpreter/fortsub.f, - interpreter/dynamic.txi: New files. - - * Makefile.in (SUB_SOURCE): Include dynamic.txi in the list. - -2007-04-18 S�ren Hauberg - - * interpreter/package.texi: New file. - * octave/texi: @include it, add it to the menus. - -2007-04-18 John W. Eaton - - * interpreter/contributors.in: New file. - * interpreter/Makefile.in (contributors.texi): New target. - (clean): Also deleete contributors.texi - (TEXINFO): Include contributors.texi in the list. - (preface.texi): @include contributors.texi. - -2007-04-17 David Bateman - - * interpreter/linalg.txi (Techniques used for Linear Algebra): - New node. - * interpreter/octave.texi: Include it in menu. - * interpreter/sparse.txi: Delete discusion of matrix_type. - -2007-04-16 John W. Eaton - - * interpreter/stream.txi: Delete. - * interpreter/Makefile.in (SUB_SOURCE): Remove it from the list. - -2007-04-16 S�ren Hauberg - - * intrepreter/stmt.txi: Improve documentation of switch statement. - - * interpreter/tips.txi: Update description of how copyright - statements are recognized. - - * interpreter/octave.texi: Don't include stream.texi. - Remove menu entry for I/O streams. - - * interpreter/image.txi: Update docs. - -2007-04-11 S�ren Hauberg - - * interpreter/container.txi: Document indexing with (). - -2007-04-11 S�ren Hauberg - - * interpreter/container.txi: Improve cell array documentation. - -2007-04-09 S�ren Hauberg - - * interpreter/func.txi: Document varargin, varargout, and default - argument values. - -2007-04-03 Rafael Laboissiere - - * interpreter/basics.txi: Clarified some limitations of the #! - script mechanism, in particular related to the parsing of the - arguments. - -2007-03-29 Rafael Laboissiere - - * faq/Octave-FAQ.texi, interpreter/basics.txi, - interpreter/emacs.txi, interpreter/func.tx, interpreter/var.txi: - Make it clear that the old built-in LOADPATH is an internal - variable, accessible through path (). - Drop references to DEFAULT_LOADPATH. - Chang references to the old built-in variables INFO_FILE and - INFO_PROGRAM to the respective fucntions info_file and - info_program. - * refcard/refcard.tex: Drop LOADPATH from list of built-in variables. - -2007-03-27 John W. Eaton - - * Makefile.in, interpreter/Makefile.in, faq/Makefile.in, - liboctave/Makefile.in, refcard/Makefile.in (dist): - Use ln instead of $(LN_S). - -2007-03-21 G. D. McBain - - * interpreter/sparse.txi: Delete repeated word. - -2007-03-20 G. D. McBain - - * interpreter/sparse.txi: Clarify sparse matrix creation example. - -2007-03-14 G. D. McBain - - * interpreter/sparse.txi: Fix typo. - -2007-02-26 From Michael Goffioul - - * Makefile.in, interpreter/Makefile.in, faq/Makefile.in, - liboctave/Makefile.in, refcard/Makefile.in: - Use $(LN_S) instead of ln or ln -s. - -2007-02-21 David Bateman - - * interpreter/sparse.txi: Add functions sprank and normest to - documentation. - -2007-01-25 John W. Eaton - - * interpreter/sparseimages.m: Don't call __gnuplot_x__ functions. - -2006-11-17 John W. Eaton - - * interpreter/sparseimages.m: Fix call to __plt3__. - -2006-11-16 John W. Eaton - - * interpreter/sparseimages.m (femimages): Use plot3. - -2006-11-11 John W. Eaton - - * interpreter/Makefile.in (%.texi : %.txi): - Use $(simple-move-if-change-rule) here. - -2006-10-29 John W. Eaton - - * interpreter/Makefile.in (run-octave): Call it here. - * interpreter/sparseimages.m (sparseimages): Don't call sleep here. - -2006-10-27 John W. Eaton - - * interpreter/Makefile.in (run-octave): - Unset DISPLAY while running Octave. - From Michael Goffioul . - - * interpreter/Makefile.in (octave.dvi, octave.pdf): - Use $(UNSETCOMSPEC) in command. - * faq/Makefile.in (Octave-FAQ.dvi, Octave-FAQ.pdf): Likewise. - * liboctave/Makefile.in (liboctave.dvi, liboctave.pdf): Likewise. - -2006-10-09 Thomas Treichl - - * interpreter/sparseimages.m: Plot sombrero images if sparse - capabilities are missing. - -2006-10-04 John W. Eaton - - * interpreter/Makefile.in (HTML_IMAGES_PNG): New variable. - (HTML/index.html): Depend on $(HTML_IMAGES_PNG) instead of html-figs. - ($(HTML_IMAGES_PNG): HTML/%.png : %.png): New pattern rule. - (html-dir): Delete target. - -2006-10-03 Rafael Laboissiere - - * interpreter/mkoctfile.1: Fix indentation for --mex description. - -2006-09-26 John W. Eaton - - * interpreter/Makefile.in (stamp-images): Delete. - (octave.info): Depend on $(IMAGES_TXT), not stamp-images. - (octave.dvi): Depend on $(IMAGES_EPS), not stamp-images. - (octave.pdf): Depend on $(IMAGES_PDF), not stamp-images. - (html-figs): Depend on $(IMAGES_PNG), not stamp-images. - (SCRIPT_SOURCES, SPARSEIMAGES_1, SPARSEIMAGES_EPS, - SPARSEIMAGES_PDF, SPARSEIMAGES_PNG, SPARSE_IMAGES_TXT, IMAGES_EPS, - IMAGES_PDF, IMAGES_PNG, IMAGES_TXT, and IMAGES): New variables. - (SOURCES): Include $(SCRIPT_SOURCES) in the list. - (DISTFILES): Include $(IMAGES) in the list. - (maintainer-clean): Delete $(IMAGES) here. - (DISTSUBDIRS, SUBDIRS): Remove $(IMAGEDIR) from list. - (octave.dvi, octave.info, octave.pdf, HTML/index.html): - Don't include $(IMAGEDIR) in list of directories to search - * sparseimages.m: Move here from images/sparseimages.m. - * images/Makefile.in: Delete. - * images: Delete directory. - -2006-08-24 John W. Eaton - - * interpreter/images/Makefile.in (SPARSEIMAGES_PDF): New macro. - Keep PDF images out of IMAGES list. - -2006-08-18 John W. Eaton - - * conf.texi.in: Eliminate TARGETHOSTTYPE variable. - -2006-08-17 John W. Eaton - - * interpreter/images/Makefile.in (%.pdf : %eps): - Use $(GHOSTSCRIPT) instead of gs. - -2006-08-14 Dmitri A. Sergatskov - - * interpreter/images/sparseimages.m: Adapt to new automatic_replot - definition. - -2006-06-27 John W. Eaton - - * interpreter/Makefile.in: Elminate double-colon rules. - -2006-05-31 John W. Eaton - - * interpreter/images/Makefile.in (run-octave): - Use $(TOPDIR)/run-octave script to execute Octave. - (OCTAVE_BINARY, OCTAVE_SCRIPT_PATH, OCTAVE_LD_LIBRARY_PATH, - XLD_LIBRARY_PATH, SET_LD_LIBRARY_PATH): Delete variables. - -2006-04-06 Keith Goodman - - * interpreter/mkoctfile.1: Doc string fix. - -2006-04-03 David Bateman - - * interpreter/matrix.txi: Add rande, randp, randg and update - for different random generator behavior. - -2006-03-28 John W. Eaton - - * texinfo.tex: Update FSF address. - -2006-03-27 John W. Eaton - - * interpreter/images/sparseimages.m: Fix missing endif. Omit - unnecessary call to axis. - -2006-03-24 John W. Eaton - - * interpreter/images/sparseimages.m: - Avoid some unnecessary calculations. - -2006-03-22 John W. Eaton - - * interpreter/sparse.txi: Undo previous change. - Always use @image to include image files. - * interpreter/Makefile.in: Eliminate stamp files. - (clean, mostlyclean, distclean, maintainer-clean): Now - double-colon targets. - (stamp-images): New target. - (octave.info, octave.dvi, octave.pdf, HTML/index.html): Depend on it. - * interpreter/images/Makefile.in: Explicitly list images to be - created and their dependencies. - * interpreter/images/sparseimages.m (sparseimage): Delete dirc arg. - Sleep for 1 second before returning. - (txtimages): Also create gplot.txt and grid.txt. - (sparseimages): Don't redirect output here. - New arg, nm. Only output a single figure at a time. - (bury_output): New function. Use it before plotting commands and - after every print function. - * Makefile.in (conf.texi): New target. - (DISTFILES): Include conf.texi in the list. - (all, dist): Depend on conf.texi. - * conf.texi.in: Values come from Makeconf, not configure. - -2006-03-21 John W. Eaton - - * liboctave/Makefile.in (FORMATTED): Omit .html files here. - (DISTDIRS): New variable. - (dist): Handle $(DISTDIRS) here. - - * faq/Makefile.in (FORMATTED): Omit .html files here. - (DISTDIRS): New variable. - (dist): Handle $(DISTDIRS) here. - - * interpreter/Makefile.in (FORMATTED): Omit .html files here. - (DISTDIRS): New variable. - (dist): Handle $(DISTDIRS) here. - - * interpreter/sparse.txi: Temporarily omit figures. - * interpreter/Makefile.in: Temporarily omit actions for making figures. - (DISTSUBDIRS): New macro. - (dist): Recurse into $(DISTSUBDIRS) here. - - * interpreter/Makefile.in (real-pdf): Depend on stamp-eps - (stamp-pdf): Depend on real-pdf. Touch stamp-pdf here. - (real-pdf): Not here. - -2006-03-16 David Bateman - - * interpreter/images/sparseimages.m: set terminal type to dummy to - direct output to terminal rather than X11. - * interpreter/sparse.txi: Update docs for new QR solvers. - -2006-03-09 David Bateman - - * interpreter/Makefile.in: Change order of commands in HTML/index.html - target. Respawn make for stamp-pdf target so that $(wildcard *.eps) is - reinterpreted. - * interpreter/sparse.txi: Isolate conditionally built targets in - "@ifset ... @end ifset". - -2006-03-08 David Bateman - - * conf.texi: Remove. - * conf.texi.in: New file, for autoconf'ed version of conf.texi. - * Makefile.in: replace conf.texi with conf.texi.in in DISTFILES - * interpreter/Makefile.in: build in subdir IMAGEDIR, add stamps for - image files. Copy png-files to HTML directory. Build pdf files from - eps files using epsffit, gs, grep, basename, head and awk. - * octave.texi: Update sparse sub-sections. - * sparse.txi: Updates for current state of sparse code. - * interpreter/images/Makefile.in: New file. - * interpreter/images/sparseimages.m: New file to build sparse images. - -2006-03-07 David Bateman - - * liboctave/dae.texi, liboctave/factor.texi, liboctave/nleqn.texi, - liboctave/quad.texi, liboctave/matvec.texi, liboctave/nlfunc.texi, - liboctave/diffeq.texi, liboctave/array.texi, liboctave/range.texi, - liboctave/optim.texi: Fix some syntax problems for texinfo.tex 4.8. - -2006-03-06 Keith Goodman - - * interpreter/octave.texi (@seealso): Display args instead of - discarding them. - -2006-03-02 John W. Eaton - - * faq/Makefile.in (Octave-FAQ.ps): Depend on Octave-FAQ.dvi, not - $(TEXINFO). - - * texinfo.tex: Update to 2004-11-25.16 version from Texinfo 4.8. - -2005-12-14 David Bateman - - * interpreter/testfun.txi: New test/demo documentation. - * interpreter/strings.txi: Include regexp/regexi docstrings. - * interpreter/octave.texi: Include test/demo appendix. - * interpreter/Makefile.in (SUB_SOURCE): Include test.txi. - -2005-12-13 David Bateman - - * interpreter/sparse.txi: Add new gplot, etreeplot and treeplot - functions. - -2005-11-01 John W. Eaton - - * liboctave/Makefile.in (maintainer-clean): Also remove liboctave.pdf - * faq/Makefile.in (maintainer-clean): Also remove Octave-FAQ.pdf. - From Quentin Spencer . - -2005-10-23 David Bateman - - * sparse.txi: Updates for new ufsparse licensing, new functions and - various typos. - -2005-09-19 Rafael Laboissiere - - * interpreter/octave-config.1: Use bold instead of italics to - markup command name. - -2005-07-29 John W. Eaton - - * faq/Makefile.in (HTML/index.html): Pass --ifinfo to makeinfo. - * interpreter/Makefile.in (HTML/index.html): Likewise. - * liboctave/Makefile.in (HTML/index.html): Likewise. - -2005-07-28 John W. Eaton - - * faq/Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in: - Use makeinfo instead of texi2html to generate HTML. - -2005-05-02 John W. Eaton - - * interpreter/munge-texi.cc (skip_comments): New function. - (process_doc_file): Use it to skip comments at beginning of file. - -2005-04-29 David Bateman - - * interpreter/sparse.txi: Add matrix_type, spkron, and document - changes in solve code. - -2005-03-14 David Bateman - - * interpreter/sparse.txi: Add luinc function. - -2005-03-09 John W. Eaton - - * Makefile.in (bin-dist): Delete target. - (BINDISTSUBDIRS): Delete variable. - - * refcard/Makefile.in (bin-dist): Delete target. - (BINDISTFILES): Delete variable. - * liboctave/Makefile.in: Likewise. - * interpreter/Makefile.in: Likewise. - * faq/Makefile.in: Likewise. - -2005-02-25 John W. Eaton - - Sparse merge. - - 2005-01-07 David Bateman - - * interpreter/sparse.txi: New file. - * interpreter/Makefile.in: Add it to the build. - * interpreter/octave.texi: Include it in the contents tables and the - top level document. - -2005-02-25 John W. Eaton - - * liboctave/Makefile.in (all): Also depend on Octave-FAQ.pdf. - Use $(MAKEINFO) instead of makeinfo in rules. - -2005-02-25 Rafael Laboissiere - - * liboctave/Makefile.in (Octave-FAQ.pdf): New target and rule. - (FORMATTED): Add Octave-FAQ.pdf to the list. - -2005-02-21 John W. Eaton - - * liboctave/Makefile.in (liboctave.pdf): New target and rule. - (FORMATTED): Add liboctave.pdf to the list. - (all): Also depend on liboctave.pdf. - Use $(MAKEINFO) instead of makeinfo in rules. - - * interpreter/Makefile.in (octave.pdf): New target and rule. - (FORMATTED): Add octave.pdf to the list. - (all): Also depend on octave.pdf. - Use $(MAKEINFO) instead of makeinfo in rules. - -2005-02-08 Quentin Spencer - - * interpreter/plot.txi: Emphasize compatible plotting functions - over gplot and friends. - -2004-02-13 John W. Eaton - - * liboctave/Makefile.in (FORMATTED): Use liboctave*.html instead - of liboctave_*.html. - - * faq/Makefile.in (FORMATTED): Use Octave-FAQ*.html instead of - Octave-FAQ_*.html. - -2004-01-22 John W. Eaton - - * faq/Makefile.in (maintainer-clean): Remove Octave-FAQ*.html - instead of just Octave-FAQ_*.html. - - * liboctave/Makefile.in (maintainer-clean): Remove liboctave*.html - instead of just liboctave_*.html. - - * refcard/Makefile.in (maintainer-clean): Remove refcard-*.pdf. - -2003-12-09 Eric S. Raymond - - * interpreter/mkoctfile.1: Use .I instead of .f for markup of ".oct". - -2003-11-14 John W. Eaton - - * interpreter/munge-texi.cc (process_texi_input_file): - Avoid -Wshadow warnings. - -2003-08-27 John W. Eaton - - * refcard/Makefile.in (refcard-a4.pdf, refcard-legal.pdf, - refcard-letter.pdf): New targets. - (FORMATTED): Add them to the list. - * refcard/refcard.tex: Optionally set pdf paper size parameters. - -2003-08-07 John W. Eaton - - * interpreter/Makefile.in (octave_toc.html): Add "-I ." to texinfo - command line args. - -2003-07-02 John W. Eaton - - * faq/Makefile.in (FORMATTED): Include all Octave-FAQ_*.html files - here, not just the toc. - -2003-05-14 John W. Eaton - - * interpreter/Makefile.in, liboctave/Makefile.in: Handle DESTDIR. - -2003-02-19 John W. Eaton - - * interpreter/Makefile.in (MAN_BASE): Add octave-config.1 to the list. - -2003-02-19 Dirk Eddelbuettel - - * octave-config.1: New file. - -2003-01-11 Paul Kienzle - - * interpreter/Makefile.in (munge-texi$(BUILD_EXEEXT)): Pass - $(BUILD_CXXFLAGS) and $(BUILD_LDFLAGS) to compiler. - (%.o : %.cc): Delete pattern rule. - -2003-01-03 John W. Eaton - - * interpreter/munge-texi.cc: Define __USE_STD_IOSTREAM if using - Compaq C++. - -2002-12-03 John W. Eaton - - * interpreter/Makefile.in (%.o : %.c): No longer need - -DNO_PRAGMA_INTERFACE_IMPLEMENTATION=1 compiler option. - (munge-texi#(BUILD_EXEEXT)): Likewise. - Don't link to Map-s.o. - - * interpreter/Map-s.cc: Delete. - * interpreter/Makefile.in (DISTFILES): Delete it from the list. - (mostlyclean, clean): Don't delete Map-s.o. - - * interpreter/munge-texi.cc: Require working STL. - -2002-11-24 John W. Eaton - - * interpreter/Makefile.in (maintainer-clean): Depend on - clean-texi, don't remove $(TEXINFO). - -2002-11-12 John W. Eaton - - * interpreter/munge-texi.cc: Use STL map class by default, but - make it easy to revert back to libg++-based Map class if that - fails to work on some systems. - -2002-11-01 Dirk Eddelbuettel - - * interpreter/Makefile.in (MAN_BASE, MAN_SRC): New variables, use - as appropriate. - -2002-11-01 John W. Eaton - - * interpreter/mkoctfile.1: New file. - -2002-10-25 Paul Kienzle - - * interpreter/Makefile.in (octave_toc.html): Use -expandinfo and - -split_chapter instead of -expand info and -split chapter. - * liboctave/Makefile.in (liboctave_toc.html): Likewisel - * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. - -2002-10-25 John W. Eaton - - * interpreter/Makefile.in (munge-texi$(BUILD_EXEEXT)): Always use - -DNO_PRAGMA_INTERFACE_IMPLEMENTATION for compiling and linking. - -2002-10-10 John W. Eaton - - * interpreter/Makefile.in (%.texi : %.txi): - Use $(top_srcdir)/move-if-change. - -2002-10-09 John W. Eaton - - * interpreter/Makefile.in: Use $(BUILD_EXEEXT) as appropriate. - -2002-10-08 John W. Eaton - - * interpreter/Makefile.in (munge-texi, %.o : %.cc): - Use $(BUILD_CXX), not $(CXX). - (src-DOCSTRINGS, scripts-DOCSTRINGS): New targets. - ($(TEXIFNO)): Depend on them. - (DOCSTRINGS): Delete variable. - -2002-10-02 John W. Eaton - - * interpreter/Makefile.in (%.spell): Use $(SED), not sed. - * liboctave/Makefile.in (%.spell): Likewise. - * faq/Makefile.in (%.spell): Likewise. - -2001-11-15 John W. Eaton - - * interpreter/Makefile.in (octave_toc.html): Use -expand info and - -split chapter, to be consistent. - * liboctave/Makefile.in (liboctave_toc.html): Likewise. - * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. - -2001-11-14 Christoph Spiel - - * faq/Makefile.in (Octave-FAQ_toc.html): Use -expandinfo and - -split_chapter, not -expand info and -split chapter. - * liboctave/Makefile.in (liboctave_toc.html): Likewise. - -2001-11-01 John W. Eaton - - * interpreter/Makefile.in (MAIN_TEXINFO): Look in $(srcdir). - (octave_toc.html): Use -expandinfo and -split_chapter, not - -expand info and -split chapter. - -2001-03-27 John W. Eaton - - * liboctave/Makefile.in (liboctave_toc.html): Use -expand info and - -split chapter instead of -expandinfo and -split_chapter options - for texi2html. - * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. - * interpreter/Makefile.in (octave_toc.html): Likewise. - -2000-10-10 John W. Eaton - - * liboctave/Makefile.in (liboctave_toc.html): Add space after -I - in texi2html command. - * interpreter/Makefile.in (octave_toc.html): Ditto. - -2000-03-06 John W. Eaton - - * interpreter/octave-bug.1: New file. - * interpreter/Makefile.in (install install-strip): Install it. - (DISTFILES, BINDISTFILES): Add it to the - -2000-02-23 John W. Eaton - - * interpreter/Makefile.in (clean): Also delete munge-texi, - munge-texi.o, and Map-s.o. - -2000-02-04 John W. Eaton - - * interpreter/munge-texi.cc: Sprinkle with std:: qualifier. - -2000-01-28 John W. Eaton - - * interpreter/Makefile.in (clean-texi): Avoid removing octave.texi. - -2000-01-05 John W. Eaton - - * interpreter/Makefile.in: Don't generate octave.texi from octave.txi. - * interpreter/octave.texi: Rename from octave.txi. - - * interpreter/munge-texi.cc (process_texi_input_file): Undo - previous change, since % doesn't work as a comment character after - texinfo.tex is included. - -2000-01-04 John W. Eaton - - * texinfo.tex: Update to version from texinfo-4.0. - - * interpreter/munge-texi.cc (process_texi_input_file): For Texinfo - doc strings, automatically insert an @anchor{doc-SYMBOL} command - just before the docstring for SYMBOL. - -1999-12-09 John W. Eaton - - * interpreter/munge-texi.cc (process_texi_input_file): Begin - transformed files with `% DO NOT EDIT' instead of `@c DO NOT EDIT' - to prevent problems with TeX not knowing the definition of @c - before it is used. - -1999-11-19 John W. Eaton - - * interpreter/Makefile.in (%.texi : %.txi): Suppress command echo. - -1999-10-21 John W. Eaton - - * interpreter/Makefile.in (dist): Remove .texi files first, so - they will have timestamps newer than the $(DOCSTRINGS) files. - (%.texi : %.txi): Use mv instead of move-if-change. - - * interpreter/Map-s.cc: New file. - * interpreter/munge-texi.cc: Use old libg++ Map class instead of - STL map, for the benefit of systems that have assemblers that - can't handle the long symbol names generated by g++ for - map. - -1999-10-19 John W. Eaton - - * interpreter/munge-texi.cc: Strip the "-*- texinfo -*-" marker - when including help text. - - * interpreter/Makefile.in ($(TEXINFO)): Depend on $(DOCSTRINGS). - ($(DOCSTRINGS)): New rule. - - * Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of - `cd dir; $(MAKE); cd ..'. - (../BUGS, ../INSTALL.OCTAVE, $(SUBDIRS)) Likewise. - - * interpreter/*.txi: Rename from *.txi. - * interpreter/munge-texi.cc: New file. - * interpreter/Makefile.in: Use it to create .texi files from .txi - files and DOCSTRING files. - -Fri Jun 18 23:17:02 1999 John W. Eaton - - * interpreter/Makefile.in (octave_toc.html): Add -expandinfo to - tex12html options. - * liboctave/Makefile.in (liboctave_toc.html): Likewise. - * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. - -Fri Oct 9 00:27:33 1998 John W. Eaton - - * faq/Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in: - New rules for generating HTML files from Texinfo sources. - -Thu May 14 21:04:40 1998 John W. Eaton - - * interpreter/Makefile.in (../../BUGS, ../../INSTALL): Add - --no-validate to makeinfo args. - -Wed Jul 2 16:41:04 1997 John W. Eaton - - * refcard/Makefile.in: Remove .tex files from binary distributions. - - * interpreter/Makefile.in: Add DVI and Postscript files to binary - distributions. - -Fri Apr 18 02:51:00 1997 John W. Eaton - - * faq/Octave-FAQ.texi: Rename from faq/FAQ.texi. - * faq/Makefile.in: Fix names to match. - -Wed Mar 12 17:01:02 1997 John W. Eaton - - * Makefile.in (install-strip): New target. - * faq/Makefile.in: Ditto. - * interpreter/Makefile.in: Ditto. - * liboctave/Makefile.in: Ditto. - * refcard/Makefile.in: Ditto. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Fri Feb 28 20:53:40 1997 John W. Eaton - - * texinfo.tex: Update to latest version from Karl Berry, and apply - previous patch too. - -Thu Feb 27 03:34:48 1997 John W. Eaton - - * texinfo.tex (\codeunder): Maybe make it work for @var{} inside - @code{}. - -Wed Feb 26 12:03:48 1997 John W. Eaton - - * refcard/Makefile.in (mostlyclean clean): Delete log files. - - * liboctave/Makefile.in (mostlyclean clean): Delete more stuff. - - * faq/Makefile.in (mostlyclean clean): Delete some stuff. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Wed Feb 19 10:30:14 1997 John W. Eaton - - * Makefile.in (DISTFILES): Distribute conf.texi, not conf.texi.in. - - * liboctave/Makefile.in: Don't make or distribute conf.texi. - (liboctave.info, liboctave.dvi): Depend on ../conf.texi, not conf.texi. - - * interpreter/Makefile.in: Don't create or distribute conf.texi. - (octave.info, octave.dvi): Depend on ../conf.texi, not conf.texi. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Version 2.0.3 released. - -Wed Jan 29 11:49:25 1997 John W. Eaton - - * Makefile.in (../INSTALL.OCTAVE, ../BUGS): Declare these to be - .PHONY so that we will always check the interpreter makefile to - get the proper dependencies. - -Mon Jan 27 15:52:33 1997 John W. Eaton - - * Version 2.0.2 released. - -Sun Jan 26 22:07:45 1997 John W. Eaton - - * interpreter/Makefile.in: Make BUGS file directly from bugs.texi. - * interpreter/bugs.texi: Incorporate bugs1.texi directly. - * interpreter/bugs1.texi: Delete. - - * interpreter/Makefile.in: Make INSTALL file directly from - install.texi. - * interpreter/install.texi: Incorporate install1.texi directly. - * interpreter/install1.texi: Delete. - -Sat Jan 25 22:32:33 1997 John W. Eaton - - * Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in, - faq/Makefile.in, refcard/Makefile.in (bin-dist): New target. - -Tue Jan 7 00:17:24 1997 John W. Eaton - - * Version 2.0.1 released. - -Tue Dec 10 01:43:13 1996 John W. Eaton - - * Version 2.0 released. - -Fri Dec 6 15:23:52 1996 John W. Eaton - - * Version 1.94. - -Wed Nov 20 01:00:50 1996 John W. Eaton - - * Version 1.93. - -Thu Nov 14 00:07:25 1996 John W. Eaton - - * faq/Makefile.in (FAQ.dvi): Use $(TEXI2DVI), not just texi2dvi. - * interpreter/Makefile.in (octave.dvi): Likewise. - * liboctave/Makefile.in (liboctave.dvi): Likewise. - - * Version 1.92. - -Thu Nov 7 12:43:19 1996 John W. Eaton - - * Version 1.91. - - * texinfo.tex: Update to version from texinfo-3.9 distribution. - -Wed Oct 30 17:20:28 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - -Sat Oct 12 13:38:49 1996 John W. Eaton - - * Makefile.in (maintainer-clean): Don't depend on distclean. - -Sat Jun 15 23:01:33 1996 John W. Eaton - - * interpreter/Makefile.in (TEXINFO): Add audio.texi and emacs.texi. - -Fri May 17 03:02:37 1996 John W. Eaton - - * interpreter/Makefile.in: Use man1dir instead of mandir, and - man1ext instead of manext. - -Sat Mar 23 05:01:17 1996 John W. Eaton - - * liboctave/Makefile.in (TEXINFO): Don't list conf.texi and - gpl.texi here. - - * liboctave/Makefile.in (dist targets): Fix ln command. - * refcard/Makefile.in (dist targets): Likewise. - * interpreter/Makefile.in (dist targets): Likewise. - * faq/Makefile.in (dist targets): Likewise. - -Fri Mar 22 23:57:26 1996 John W. Eaton - - * liboctave/Makefile.in (DISTFILES): Add gpl.texi. - * interpreter/Makefile.in (DISTFILES): Add gpl.texi. - * Makefile.in (DISTFILES): Delete gpl.texi. - -Sun Mar 3 11:33:30 1996 John W. Eaton - - * Split docs into faq, interpreter, liboctave, and refcard - subdirectories. - -Wed Sep 20 00:47:45 1995 John Eaton - - * mkinstalldirs: New file. - * Makefile.in (DISTFILES): Add it to the list. - - * Makefile.in (maintainer-clean): Delete .dvi, .ps, and .info - files here. - (clean): Not here. - (mostlyclean): Make this the same as clean. - -Tue Sep 19 03:18:35 1995 John Eaton - - * Makefile.in (../BUGS, ../INSTALL.OCTAVE): Specify output file to - makeinfo with --output option. - -Thu Sep 14 20:31:47 1995 John Eaton - - * Makefile.in: Don't fail if makeinfo, tex, or dvips fail. - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/libcruft-ChangeLog --- a/OLD-ChangeLogs/libcruft-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1908 +0,0 @@ -2011-03-24 Jarno Rajahalme - - * misc/blaswrap.c: New file. - * misc/module.mk (EXTRA_DIST): Add it to the list. - -2011-01-31 Rik - - * arpack/src/dseupd.f, arpack/src/sseupd.f: Change GOTO target - to eliminate warning about landing on end if. - -2011-01-31 John W. Eaton - - * arpack/module.mk (EXTRA_DIST): Include arpack/module.mk in the - list. Remove arpack/src/module.mk and arpacck/util/module.mk - from the list. - -2011-01-31 John W. Eaton - - * arpack/LICENSE: Update to current version from - http://www.caam.rice.edu/software/ARPACK. - * arpack/ARPACK-license-question.email: Delete as it no longer - applies to the current license terms. - * arpack/RiceBSD.txt: Delete. - * arpack/module.mk: Update for license changes. - Add arpack/ prefix to doc files in list. - -2011-01-28 David Bateman - - * arpack/src/cneupd.f (cneupd): Restore value of nconv if ctrsen - returns a smaller value. - * arpack/src/dneupd.f (dneupd): Likewise, for dtrsen. - * arpack/src/sneupd.f (sneupd): Likewise, for strsen. - * arpack/src/zneupd.f (zneupd): Likewise, for ztrsen. - -2011-01-28 John W. Eaton - - * arpack/util/second.f (ARSCND): Declare ETIME INTRINSIC, not EXTERNAL. - -2011-01-28 John W. Eaton - - * arpack: New directory. - * Makefile.am: Include arpack/module.mk. - -2011-01-26 John W. Eaton - - * mkf77def.in: Strip trailing whitespace. - -2011-01-20 John W. Eaton - - * misc/cquit.c, misc/f77-fcn.h, misc/quit.cc: Strip trailing - whitespace. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2010-09-07 Jaroslav Hajek - - * blas-xtra/cconv2.f, blas-xtra/csconv2.f, blas-xtra/dconv2.f, - blas-xtra/sconv2.f, blas-xtra/zconv2.f, blas-xtra/zdconv2.f: - Fix inner convolution formula. - -2010-07-27 Jaroslav Hajek - - * lapack-xtra/zrsf2csf.f, lapack-xtra/crsf2csf.f: New sources. - * lapack-xtra/module.mk: Add them. - -2010-05-04 John W. Eaton - - * villad/dfopr.f, villad/dif.f, villad/intrp.f, villad/jcobi.f, - villad/radau.f, villad/vilerr.f, villad/module.mk: Delete. - * Makefile.am: Don't include villad/module.mk. - -2010-04-11 Jaroslav Hajek - - * blas-xtra/cmatm3.f, blas-xtra/zmatm3.f, - blas-xtra/dmatm3.f, blas-xtra/xsdot.f: Fix typos. Add missing - decls. - -2010-03-21 John W. Eaton - - * Makefile.am (libcruft_la_LIBADD): Include ../libgnu/libgnu.la - in the list. From Marco Atzeri . - -2010-03-15 John W. Eaton - - * Makefile.am (libcruft_la_CPPFLAGS): Append $(AM_CPPFLAGS). - -2010-03-03 Jaroslav Hajek - - * blas-xtra/cconv2.f, blas-xtra/csconv2.f, blas-xtra/dconv2.f, - blas-xtra/sconv2.f, blas-xtra/zconv2.f, blas-xtra/zdconv2.f: - New sources. - * blas-xtra/module.mk: Add them here. - -2010-03-02 John W. Eaton - - * misc/cquit.c (octave_restore_signal_mask): Assume we have - POSIX signal handling. - -2010-02-28 Jaroslav Hajek - - * misc/lo-error.c (liboctave_fatal_with_id, - set_liboctave_error_with_id_handler): New functions. - (current_liboctave_error_with_id_handler): New variable. - * misc/lo-error.h: Declare them. - (liboctave_error_with_id_handler): New typedef. - -2010-02-21 Michael Goffioul - - * misc/quit.h: Define WIN32_LEAN_AND_MEAN and don't #undef min/max. - - * Makefile.am: Add -bindir option to libcruft_la_LDFLAGS. - -2010-02-17 John W. Eaton - - * Makefile.am (libcruft_la_LIBADD): Include libranlib.la in the list. - (noinst_LTLIBRARIES, libranlib_la_SOURCES, libranlib_la_DEPENDENCIES, - libcruft_la_FFLAGS): New variables. - (ranlib.def): New target. - (DISTCLEANFILES): Also remove ranlib.def. - * ranlib/module.mk (libranlib_la_SOURCES): Rename from - libcruft_la_SOURCES. - -2010-01-20 John W. Eaton - - * misc/quit.cc: Untabify. - -2010-01-20 John W. Eaton - - * Makefile.am (EXTRA_DIST): Remove STOP.patch from the list. - -2010-01-20 Jaroslav Hajek - - * misc/quit.h: Define inline-function variant of OCTAVE_QUIT in C++ - mode. - -2009-01-13 Rik - - * STOP.patch: Remove unmaintained patch for Fortran code - -2009-01-13 Rik - - * ranlib/advnst.f ranlib/genbet.f ranlib/genchi.f ranlib/genexp.f - ranlib/genf.f ranlib/gengam.f ranlib/genmul.f ranlib/gennch.f - ranlib/gennf.f ranlib/gennor.f ranlib/genunf.f ranlib/getcgn.f - ranlib/getsd.f ranlib/ignbin.f ranlib/ignnbn.f ranlib/ignpoi.f - ranlib/ignuin.f ranlib/initgn.f ranlib/mltmod.f ranlib/setant.f - ranlib/setgmn.f ranlib/setsd.f: call XSTOPX instead of STOP so Octave's - error handler can intercept errors in Fortran code - -2010-01-07 Jaroslav Hajek - - * misc/quit.cc (octave_rethrow_exception): Set octave_interrupt_state - to -1 when throwing octave_interrupt_exception. - -2010-01-05 John W. Eaton - - * Makefile.am (AM_CPPFLAGS): New variable. - -2009-12-31 Rik - - * Makefile.am: Reverse using simple_move_if_change_rule for cruft.def - which interferes with make timestamp algorithm. - -2009-12-19 Rik - - * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake - variables of top_builddir and top_srcdir. - -2009-12-13 Rik - - * Makefile.am: Use simple_move_if_change_rule for cruft.def to eliminate - unnecessary compilations. - -2009-12-07 John W. Eaton - - * misc/f77-fcn.h, misc/lo-error.h, misc/quit.h, - misc/f77-extern.cc, misc/quit.cc, misc/cquit.c, misc/f77-fcn.c, - misc/lo-error.c: Remove Emacs local variable list. - -2009-12-07 John W. Eaton - - * misc/cquit.c, misc/f77-fcn.h, misc/quit.h: Untabify. - -2009-12-03 John W. Eaton - - * Makefile.am (DISTCLEANFILES): New variable. - -2009-11-26 Jaroslav Hajek - - * blas-xtra/sdot3.f: Use nested cache-aligned loop for general case. - * blas-xtra/ddot3.f: Ditto. - * blas-xtra/cdotc3.f: Ditto. - * blas-xtra/zdotc3.f: Ditto. - -2009-11-26 Jaroslav Hajek - - * blas-xtra/sdot3.f: New source. - * blas-xtra/ddot3.f: New source. - * blas-xtra/cdotc3.f: New source. - * blas-xtra/zdotc3.f: New source. - * blas-xtra/smatm3.f: New source. - * blas-xtra/dmatm3.f: New source. - * blas-xtra/cmatm3.f: New source. - * blas-xtra/zmatm3.f: New source. - * blas-xtra/module.mk: Include them. - -2009-11-17 John W. Eaton - - * mkf77def.in: Only process files with names that match *.f. - -2009-11-13 John W. Eaton - - * Makefile.am: Restore rules for building cruft.def. - (libcruft_la_LDFLAGS): Also append @XTRA_CRUFT_SH_LDFLAGS@. - (libcruft_la_DEPENDENCIES): New variable. - * mkf77def.in: Use @VAR@ instead of %VAR% substitutions. - Process srcdir plus list of files instead of working as a filter. - -2009-11-13 John W. Eaton - - * Makefile.am (libcruft_la_CPPFLAGS): Define. - -2009-11-10 John W. Eaton - - * blas, lapack: Remove directories and all files. - * Makefile.am: Don't include blas/module.mk or lapack/module.mk. - -2009-11-10 John W. Eaton - - * Makefile.am, amos/module.mk, blas-xtra/module.mk, - blas/module.mk, daspk/module.mk, dasrt/module.mk, dassl/module.mk, - fftpack/module.mk, lapack-xtra/module.mk, lapack/module.mk, - misc/module.mk, odepack/module.mk, ordered-qz/module.mk, - quadpack/module.mk, ranlib/module.mk, slatec-err/module.mk, - slatec-fn/module.mk, villad/module.mk: New files. - - * Makefile.in, Makerules.in, amos/Makefile.in, - blas-xtra/Makefile.in, blas/Makefile.in, daspk/Makefile.in, - dasrt/Makefile.in, dassl/Makefile.in, fftpack/Makefile.in, - lapack-xtra/Makefile.in, lapack/Makefile.in, misc/Makefile.in, - odepack/Makefile.in, ordered-qz/Makefile.in, quadpack/Makefile.in, - ranlib/Makefile.in, slatec-err/Makefile.in, slatec-fn/Makefile.in, - villad/Makefile.in: Delete. - -2009-09-17 John W. Eaton - - * misc/oct-dlldefs.h: Delete. - * misc/Makefile.in (INCLUDES): Remove oct-dlldefs.h from the list. - -2009-08-05 John W. Eaton - - * Makefile.in (LINK_DEPS): Omit $(FFTW_LIBS) from the list. - -2009-06-22 John W. Eaton - - * Makefile.in (MISC_OBJ): Remove misc/machar.o and misc/smachar.o - from the list. - - * misc/i1mach.f, misc/r1mach.f, misc/d1mach.f: Rewite in terms of - LAPACK functions slamch and dlamch. - * misc/machar.c: Delete. - * misc/Makefile.in (CSRC): Remove machar.c from the list. - (CEXTRA, XCC, XALL_CFLAGS): Delete variables. - (machar.o, smachar.o, pic/machar.o, pic/smachar.o): Delete rules. - -2009-05-07 Marco Atzeri - - * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. - -2009-03-07 John W. Eaton - - * misc/quit.h (octave_rethrow_exception): - Don't tag with GCC_ATTR_NORETURN. - -2009-02-25 John W. Eaton - - * Makefile.in (maintainer-clean): Also remove libraries. - - * Makerules.in: Make maintainer-clean and distclean the same. - -2009-02-23 Jaroslav Hajek - - * misc/quit.h (octave_signal_caught): Declare as volatile. - * misc/cquit.cc (octave_signal_caught): Likewise. - -2009-02-06 Jaroslav Hajek - - * blas/ssymm.f, blas/dsymm.f, blas/chemm.f, blas/zhemm.f: New sources. - * blas/Makefile.in: Include them. - -2009-01-28 John W. Eaton - - * Makefile.in (LIBRARIES, install, uninstall): use SHLLIBPRE and - SHLBINPRE library prefixes. - From Marco Atzeri . - -2008-12-21 Jaroslav Hajek - - * lapack/chegs2.f lapack/chegst.f lapack/chegv.f lapack/dsygs2.f - lapack/dsygst.f lapack/dsygv.f lapack/ssygs2.f lapack/ssygst.f - lapack/ssygv.f lapack/zhegs2.f lapack/zhegst.f lapack/zhegv.f: - New sources. - * lapack/Makefile.in: Include them. - -2008-12-15 Jaroslav Hajek - - * blas/zsyrk.f: New source. - * lapack/cggbak.f, lapack/cggev.f, lapack/cgghrd.f, lapack/chgeqz.f, - lapack/ctgevc.f, lapack/dggev.f, lapack/sggev.f, lapack/zggbak.f, - lapack/zggev.f, lapack/zgghrd.f, lapack/zhgeqz.f, lapack/ztgevc.f: - New sources. - * lapack/Makefile.in: Include them. - -2008-08-12 Thomas Treichl - - * blas/icamax.f, blas/isamax.f: New files. - * blas/Makefile.in (FSRC): Add them to the list. - - * lapack/icmax1.f: New file. - * lapack/Makefile.in (FSRC): Add it to the list. - -2008-06-16 David Bateman - - * slatec-fn/xacosh.f, slatec-fn/xasinh.f: Replace xsacosh with - xacosh, xdacosh with xacosh and xdasinh with xasinh. - -2008-06-12 Jaroslav Hajek - - * misc/Makefile.in (MAKEDEPS): Remove CEXTRA. - -2008-06-04 Michael Goffioul - - * misc/oct-dlldefs.h (OCTGRAPHICS_API): New macro for import/export - in graphics related libraries. - -2008-06-02 David Bateman - - * slatec/xsgmainc.f: Replace DLGAMS with ALGAMS. - -2008-05-30 Thomas Treichl - - * quadpack/qk15i.f: Delete extraneous semicolons. - -2008-05-21 David Bateman - - * odepack/slsode.f, odepack/sintdy.f: Replace the use of xerrwv - with xerrwd and rumach with d1mach(4). - - * odepack/scfode.f, odepack/sewset.f, odepack/sintdy.f, - odepack/slsode.f, odepack/sprepj.f, odepack/ssolsy.f, - odepack/sstode.f, odepack/svnorm.f: New files. - * odepack/Makefile.in (FSRC): Add them. - - * ordered-qz/sexchqz.f, ordered-qz/ssubsp.f: New files. - * ordered-qz/Makefile.in (FSRC): Add them. - * quadpack/qagi.f, quadpack/qagie.f, quadpack/qagp.f, - quadpack/qagpe.f, quadpack/qelg.f, quadpack/qk15i.f, - quadpack/qk21.f, quadpack/qpsrt.f: New files. - * quadpack/Makefile.in (FSRC): Add them. - -2008-05-20 Jaroslav Hajek - - * qrupdate/cch1dn.f, qrupdate/cchinx.f, qrupdate/cqhqr.f, - qrupdate/cqrinc.f, qrupdate/cqrinr.f, qrupdate/cqrqhu.f, - qrupdate/cqrqhv.f, qrupdate/sch1dn.f, qrupdate/schinx.f, - qrupdate/sqhqr.f, qrupdate/sqrinc.f, qrupdate/sqrinr.f, - qrupdate/sqrqhu.f: Convert DOUBLE PRECISION constants to REAL. - * qrupdate/cqrinr.f, qrupdate/sqrinr.f: Correct EXTERNAL - declarations. - * qrupdate/sqrinr.f: Convert DOUBLE PRECISION calls to - REAL counterparts. - -2008-05-20 David Bateman - - * Makefile.in (MISC_OBJ): Add misc/smachar.o - * Makerules.in (CRUFT_CSRC, CRUFT_CPICOBJ): Add CEXTRA, allowing - objects files with no corresponding source file in the - distribution. - - * amos/cacai.f, amos/cacon.f, amos/cbesh.f, amos/cbesi.f, - amos/cbesj.f, amos/cbesk.f, amos/cbesy.f, amos/cbinu.f, - amos/cbuni.f, amos/cbunk.f, amos/cunk1.f amos/cunk2.f, - amos/crati.f, amos/cshch.f, amos/cuni1.f, amos/cuoik.f, - amos/cairy.f, amos/cbiry.f, amos/ckscl.f, amos/cs1s2.f, - amos/cuchk.f, amos/cuni2.f, amos/cwrsk.f, amos/casyi.f, - amos/cbknu.f, amos/cmlri.f, amos/cseri.f, amos/cunhj.f, - amos/cunik.f: New files. - * amos/Makefile.in (FSRC): Add them. - - * blas-xtra/xsdot.f, blas-xtra/xsnrm2.f, blas-xtra/xscnrm2.f, - blas-xtra/xcdotc.f, blas-xtra/xcdotu.f: New files - * blas-xtra/Makefile.in (FSRC): Add them. - - * blas/sasum.f, blas/saxpy.f, blas/scabs1.f, blas/scopy.f, - blas/sger.f, blas/smach.f, blas/snrm2.f, blas/srot.f, - blas/sswap.f, blas/ssymv.f, blas/ssyr.f, blas/ssyr2.f, - blas/ssyr2k.f, blas/stbsv.f, blas/strmm.f, blas/strmv.f, - blas/strsv.f, blas/scasum.f, blas/scnrm2.f, blas/caxpy.f, - blas/ccopy.f, blas/cdotc.f, blas/cdotu.f, blas/, blas/csrot.f, - blas/csscal.f, blas/cgemm.f, blas/cgemv.f, blas/cgerc.f, - blas/cgeru.f, blas/chemv.f, blas/cher.f, blas/cher2.f, - blas/cher2k.f, blas/cherk.f, blas/cscal.f, blas/cswap.f, - blas/ctbsv.f, blas/ctrmm.f, blas/ctrmv.f, blas/, blas/ctrsm.f, - blas/ctrsv.f: New files - * blas/Makefile.in (FSRC): Add them. - - * fftpack/zfftb.f, zfftb1.f, fftpack/zfftf.f, fftpack/zfftf1.f, - fftpack/zffti.f, fftpack/zffti1.f, fftpack/zpassb.f, - fftpack/zpassb2.f, fftpack/zpassb3.f, fftpack/zpassb4.f, - fftpack/zpassb5.f, fftpack/zpassf.f, fftpack/zpassf2.f, - fftpack/zpassf3.f, fftpack/zpassf4.f, fftpack/zpassf5.f: Rename - function (c -> z | add z). - * fftpack/cfftb.f, cfftb1.f, fftpack/cfftf.f, fftpack/cfftf1.f, - fftpack/cffti.f, fftpack/cffti1.f, fftpack/passb.f, - fftpack/passb2.f, fftpack/passb3.f, fftpack/passb4.f, - fftpack/passb5.f, fftpack/passf.f, fftpack/passf2.f, - fftpack/passf3.f, fftpack/passf4.f, fftpack/passf5.f: New files - for single precision. - * fftpack/Makefile.in (FSRC): Add new files. - - * lapack-xtra/xclange.f, lapack-xtra/xslamch.f, - lapack-xtra/xslange.f: New files. - * lapack-xtra/Makefile.in (FSRC): Add them. - - * lapack/cbdsqr.f, lapack/csrscl.f, lapack/cgbcon.f, - lapack/cgbtf2.f, lapack/cgbtrf.f, lapack/cgbtrs.f, - lapack/cgebak.f, lapack/cgebal.f, lapack/cgebd2.f, - lapack/cgebrd.f, lapack/cgecon.f, lapack/cgeesx.f, lapack/cgeev.f, - lapack/cgehd2.f, lapack/cgehrd.f, lapack/cgelq2.f, - lapack/cgelqf.f, lapack/cgelsd.f, lapack/cgelss.f, - lapack/cgelsy.f, lapack/cgeqp3.f, lapack/cgeqpf.f, - lapack/cgeqr2.f, lapack/cgeqrf.f, lapack/cgesv.f, lapack/cgesvd.f, - lapack/cgetf2.f, lapack/cgetrf.f, lapack/cgetri.f, - lapack/cgetrs.f, lapack/cggbal.f, lapack/cgtsv.f, lapack/cgttrf.f, - lapack/cgttrs.f, lapack/cgtts2.f, lapack/cheev.f, lapack/chetd2.f, - lapack/chetrd.f, lapack/chseqr.f, lapack/clabrd.f, - lapack/clacgv.f, lapack/clacn2.f, lapack/clacon.f, - lapack/clacpy.f, lapack/cladiv.f, lapack/clahqr.f, - lapack/clahr2.f, lapack/clahrd.f, lapack/claic1.f, - lapack/clals0.f, lapack/clalsa.f, lapack/clalsd.f, - lapack/clange.f, lapack/clanhe.f, lapack/clanhs.f, - lapack/clantr.f, lapack/claqp2.f, lapack/claqps.f, - lapack/claqr0.f, lapack/claqr1.f, lapack/claqr2.f, - lapack/claqr3.f, lapack/claqr4.f, lapack/claqr5.f, lapack/clarf.f, - lapack/clarfb.f, lapack/clarfg.f, lapack/clarft.f, - lapack/clarfx.f, lapack/clartg.f, lapack/clarz.f, lapack/clarzb.f, - lapack/clarzt.f, lapack/clascl.f, lapack/claset.f, lapack/clasr.f, - lapack/classq.f, lapack/claswp.f, lapack/clatbs.f, - lapack/clatrd.f, lapack/clatrs.f, lapack/clatrz.f, - lapack/clauu2.f, lapack/clauum.f, lapack/cpbcon.f, - lapack/cpbtf2.f, lapack/cpbtrf.f, lapack/cpbtrs.f, - lapack/cpocon.f, lapack/cpotf2.f, lapack/cpotrf.f, - lapack/cpotri.f, lapack/cpotrs.f, lapack/cptsv.f, lapack/cpttrf.f, - lapack/cpttrs.f, lapack/cptts2.f, lapack/crot.f, lapack/csteqr.f, - lapack/ctrcon.f, lapack/ctrevc.f, lapack/ctrexc.f, - lapack/ctrsen.f, lapack/ctrsyl.f, lapack/ctrti2.f, - lapack/ctrtri.f, lapack/ctrtrs.f, lapack/ctzrzf.f, - lapack/cung2l.f, lapack/cung2r.f, lapack/cungbr.f, - lapack/cunghr.f, lapack/cungl2.f, lapack/cunglq.f, - lapack/cungql.f, lapack/cungqr.f, lapack/cungtr.f, - lapack/cunm2r.f, lapack/cunmbr.f, lapack/cunml2.f, - lapack/cunmlq.f, lapack/cunmqr.f, lapack/cunmr3.f, - lapack/cunmrz.f, lapack/sbdsqr.f, lapack/sgbcon.f, - lapack/sgbtf2.f, lapack/sgbtrf.f, lapack/sgbtrs.f, - lapack/sgebak.f, lapack/sgebal.f, lapack/sgebd2.f, - lapack/sgebrd.f, lapack/sgecon.f, lapack/sgeesx.f, lapack/sgeev.f, - lapack/sgehd2.f, lapack/sgehrd.f, lapack/sgelq2.f, - lapack/sgelqf.f, lapack/sgelsd.f, lapack/sgelss.f, - lapack/sgelsy.f, lapack/sgeqp3.f, lapack/sgeqpf.f, - lapack/sgeqr2.f, lapack/sgeqrf.f, lapack/sgesv.f, lapack/sgesvd.f, - lapack/sgetf2.f, lapack/sgetrf.f, lapack/sgetri.f, - lapack/sgetrs.f, lapack/sggbak.f, lapack/sggbal.f, - lapack/sgghrd.f, lapack/sgtsv.f, lapack/sgttrf.f, lapack/sgttrs.f, - lapack/sgtts2.f, lapack/shgeqz.f, lapack/shseqr.f, - lapack/slabad.f, lapack/slabrd.f, lapack/slacn2.f, - lapack/slacon.f, lapack/slacpy.f, lapack/sladiv.f, lapack/slae2.f, - lapack/slaed6.f, lapack/slaev2.f, lapack/slaexc.f, lapack/slag2.f, - lapack/slahqr.f, lapack/slahr2.f, lapack/slahrd.f, - lapack/slaic1.f, lapack/slaln2.f, lapack/slals0.f, - lapack/slalsa.f, lapack/slalsd.f, lapack/slamc1.f, - lapack/slamc2.f, lapack/slamc3.f, lapack/slamc4.f, - lapack/slamc5.f, lapack/slamch.f, lapack/slamrg.f, - lapack/slange.f, lapack/slanhs.f, lapack/slanst.f, - lapack/slansy.f, lapack/slantr.f, lapack/slanv2.f, - lapack/slapy2.f, lapack/slapy3.f, lapack/slaqp2.f, - lapack/slaqps.f, lapack/slaqr0.f, lapack/slaqr1.f, - lapack/slaqr2.f, lapack/slaqr3.f, lapack/slaqr4.f, - lapack/slaqr5.f, lapack/slarf.f, lapack/slarfb.f, lapack/slarfg.f, - lapack/slarft.f, lapack/slarfx.f, lapack/slartg.f, lapack/slarz.f, - lapack/slarzb.f, lapack/slarzt.f, lapack/slas2.f, lapack/slascl.f, - lapack/slasd0.f, lapack/slasd1.f, lapack/slasd2.f, - lapack/slasd3.f, lapack/slasd4.f, lapack/slasd5.f, - lapack/slasd6.f, lapack/slasd7.f, lapack/slasd8.f, - lapack/slasda.f, lapack/slasdq.f, lapack/slasdt.f, - lapack/slaset.f, lapack/slasq1.f, lapack/slasq2.f, - lapack/slasq3.f, lapack/slasq4.f, lapack/slasq5.f, - lapack/slasq6.f, lapack/slasr.f, lapack/slasrt.f, lapack/slassq.f, - lapack/slasv2.f, lapack/slaswp.f, lapack/slasy2.f, - lapack/slatbs.f, lapack/slatrd.f, lapack/slatrs.f, - lapack/slatrz.f, lapack/slauu2.f, lapack/slauum.f, - lapack/slazq3.f, lapack/slazq4.f, lapack/sorg2l.f, - lapack/sorg2r.f, lapack/sorgbr.f, lapack/sorghr.f, - lapack/sorgl2.f, lapack/sorglq.f, lapack/sorgql.f, - lapack/sorgqr.f, lapack/sorgtr.f, lapack/sorm2r.f, - lapack/sormbr.f, lapack/sorml2.f, lapack/sormlq.f, - lapack/sormqr.f, lapack/sormr3.f, lapack/sormrz.f, - lapack/spbcon.f, lapack/spbtf2.f, lapack/spbtrf.f, - lapack/spbtrs.f, lapack/spocon.f, lapack/spotri.f, - lapack/spotrs.f, lapack/sptsv.f, lapack/spttrf.f, lapack/spttrs.f, - lapack/sptts2.f, lapack/srscl.f, lapack/ssteqr.f, lapack/ssterf.f, - lapack/ssyev.f, lapack/ssytd2.f, lapack/ssytrd.f, lapack/stgevc.f, - lapack/strcon.f, lapack/strevc.f, lapack/strexc.f, - lapack/strsen.f, lapack/strsyl.f, lapack/strti2.f, - lapack/strtri.f, lapack/strtrs.f, lapack/stzrzf.f, - lapack/scsum1.f: New files - * lapack/Makefile.in (FSRC): Add them. - - * misc/r1mach.f: New file - * misc/machar.cc: Modify to allow to be build twice, once for - double precision and once for single precision. - * misc/Makefile.in (FSRC): Add it. - (CEXTRA): Add smachar.c, and target for smachar.o - (MAKEDEPS): Include CEXTRA. - - * qrupdate/sch1up.f, qrupdate/cch1up.f, qrupdate/sqrinc.f, - qrupdate/cqrinc.f, qrupdate/sqrdec.f, qrupdate/cqrdec.f, - qrupdate/sqrinr.f, qrupdate/cqrinr.f, qrupdate/sqrder.f, - qrupdate/cqrder.f, qrupdate/sqrshc.f, qrupdate/cqrshc.f, - qrupdate/sqr1up.f, qrupdate/cqr1up.f, qrupdate/sch1dn.f, - qrupdate/cch1dn.f, qrupdate/schinx.f, qrupdate/cchinx.f, - qrupdate/schdex.f, qrupdate/cchdex.f, qrupdate/sqrqhu.f, - qrupdate/cqrqhu.f, qrupdate/sqrqhv.f, qrupdate/cqrqhv.f, - qrupdate/sqhqr.f, qrupdate/cqhqr.f: New files. - * qrupdate/Makefile.in (FSRC): Add them. - - * slatec-fn/acosh.f, slatec-fn/albeta.f, slatec-fn/algams.f, - slatec-fn/alngam.f, slatec-fn/alnrel.f, slatec-fn/asinh.f, - slatec-fn/atanh.f, slatec-fn/betai.f, slatec-fn/csevl.f, - slatec-fn/erf.f, slatec-fn/erfc.f, slatec-fn/gami.f, - slatec-fn/gamit.f, slatec-fn/gamlim.f, slatec-fn/gamma.f, - slatec-fn/gamr.f, slatec-fn/inits.f, slatec-fn/pchim.f, - slatec-fn/pchst.f, slatec-fn/r9gmit.f, slatec-fn/r9lgic.f, - slatec-fn/r9lgit.f, slatec-fn/r9lgmc.f, slatec-fn/xacosh.f, - slatec-fn/xasinh.f, slatec-fn/xatanh.f, slatec-fn/xbetai.f, - slatec-fn/xerf.f, slatec-fn/xerfc.f, slatec-fn/xgamma.f, - slatec-fn/xsgmainc.f: New files. - * slatec-fn/Makefile.in (FSRC): Add them. - -2008-04-20 Jaroslav Hajek - - * qrupdate/dch1dn.f, qrupdate/dchdex.f, qrupdate/dchinx.f, - qrupdate/dqhqr.f, qrupdate/dqrdec.f, qrupdate/dqrinc.f, - qrupdate/dqrqhu.f, qrupdate/dqrqhv.f, qrupdate/dqrshc.f, - qrupdate/zch1dn.f, qrupdate/zchdex.f, qrupdate/zchinx.f, - qrupdate/zqhqr.f, qrupdate/zqrdec.f, qrupdate/zqrder.f, - qrupdate/zqrinc.f, qrupdate/zqrinr.f, qrupdate/zqrqhu.f, - qrupdate/zqrqhv.f, qrupdate/zqrshc.f: - Fix external declarations, XERBLA calls, and docs. - -2008-04-07 Jaroslav Hajek - - * qrupdate/dqrqhu.f, qrupdate/zqrqhu.f, - * qrupdate/dqrshc.f, qrupdate/zqrshc.f, - * qrupdate/dchinx.f, qrupdate/zchinx.f, - * qrupdate/dchdex.f, qrupdate/zchdex.f: New files. - -2008-04-02 Jaroslav Hajek - - * blas-xtra/xzdotu.f: Turn into simple wrapper for zdotu. - * blas-xtra/xzdotc.f: Turn into simple wrapper for zdotc. - * qrupdate/zqrqhv.f: Undo previous change. - -2008-03-22 David Bateman - - * qrupdate/dch1up.f: Remove unused external reference to dlartv. - -2008-03-18 John W. Eaton - - * qrupdate/zqrqhv.f (zqrqhv): Call xzdotc instead of zdotc. - * blas-xtra/xzdotu.f: Eliminate local zdotu variable. - * blas-xtra/xzdotc.f: New file. - * blas-xtra/Makefile.in (FSRC): Add it to the list. - -2008-03-10 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-03-06 Jaroslav Hajek - - * qrupdate/dqrinc.f: Declare DGEMV external. - * qrupdate/zqrinc.f: Declare ZGEMV external. - Fix complex constant args in call to ZGEMV. - -2008-03-05 Jaroslav Hajek - - * qrupdate/dch1dn.f, qrupdate/zch1dn.f: add "quick return" checks. - -2008-03-04 Jaroslav Hajek - - * qrupdate/dch1dn.f, qrupdate/dch1up.f, - qrupdate/zch1dn.f, qrupdate/zch1up.f: New files. - * qrupdate/Makefile.in (FSRC): Add them to the list. - - * qrupdate/Makefile.in, qrupdate/dqhqr.f, qrupdate/dqr1up.f, - qrupdate/dqrdec.f, qrupdate/dqrder.f, qrupdate/dqrinc.f, - qrupdate/dqrinr.f, qrupdate/dqrqhv.f, qrupdate/zqhqr.f, - qrupdate/zqr1up.f, qrupdate/zqrdec.f, qrupdate/zqrder.f, - qrupdate/zqrinc.f, qrupdate/zqrinr.f, qrupdate/zqrqhv.f: - New files. - * Makefile.in (CRUFT_DIRS): Add qrupdate to the list. - -2008-02-14 John W. Eaton - - * misc/f77-fcn.h (F77_XFCN): Call octave_rethrow_exception here - instead of checking octave_allocation_error. - * misc/quit.cc (octave_execution_exception): New function. - (octave_rethrow_exception): New function. - (octave_handle_signal): Call octave_rethrow_exception instead of - octave_throw_interrupt_exception. - * misc/quit.h (octave_execution_error): New variable. - (END_INTERRUPT_WITH_EXCEPTIONS): Catch octave_execution_exception. - (octave_execution_exception): New class. - (octave_exception): New enum. - (octave_exception_state): Rename from octave_allocation_error. - Change all uses. - -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. - -2008-02-06 John W. Eaton - - * Makerules.in (%.def : %.f): Use mv instead of move-if-change. - -2008-02-05 John W. Eaton - - * misc/Makefile.in: Unconditionally include $(MAKEDEPS). - Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. - -2007-12-21 John W. Eaton - - Version 3.0.0 released. - -2007-11-01 John W. Eaton - - * lapack-xtra/xzlange.f: Include complete implementation of ZLANGE - function here. - - * blas-xtra/xzdotu.f: Include complete implementation of ZDOTU - function here. - -2007-10-26 John W. Eaton - - * lapack/dlals0.f: New file. - * lapack/Makefile.in (FSRC): Add it to the list. - -2007-10-26 David Bateman - - * lapack/dgelsd.f, lapack/dlalsd.f, lapack/dlalsa.f, - lapack/dlasda.f, lapack/dlasdt.f, lapack/dlasdq.f - lapack/dlamrg.f, lapack/dlasd0.f, lapack/dlasd1.f, - lapack/dlasd2.f, lapack/dlasd3.f, lapack/dlasd4.f, - lapack/dlasd5.f, lapack/dlasd6.f, lapack/dlasd7.f, - lapack/dlasd8.f, lapack/dlaed6.f, lapack/zgelsd.f, - lapack/zlalsd.f , lapack/zlalsa.f, lapack/zlals0.f: New files. - * lapack/Makefile.in (FSRC): Include them here. - -2007-10-23 John W. Eaton - - * lapack/dgtts2.f, lapack/zgtts2.f: New files. - * lapack/Makefile.in (FSRC): Add them to the list. - -2007-10-16 John W. Eaton - - * lapack/dlacn2.f, lapack/dlacn2.f, lapack/dlahr2.f, - lapack/dlahr2.f, lapack/dlaqr0.f, lapack/dlazq3.f, - lapack/dlazq3.f, lapack/dormr3.f, lapack/dormrz.f, - lapack/iparmq.f, lapack/iparmq.f, lapack/zlacn2.f, - lapack/zlahr2.f, lapack/zlaqr0.f: New files. - * lapack/Makefile.in (FSRC): Add them to the list. - - * lapack: Update all files to current versions from Lapack 3.1.1. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-03 John W. Eaton - - * mkf77def.in: Combine sed expressions. - -2007-09-26 David Bateman - - * lapack/dgelsy.f, lapack/dlatrz.f, lapack/zlarz.f, - lapack/dgeqp3.f, lapack/dtzrzf.f, lapack/zlarzt.f, - lapack/dlaic1.f, lapack/zgelsy.f, lapack/zlatrz.f, - lapack/dlaqp2.f, lapack/zgeqp3.f, lapack/ztzrzf.f, - lapack/dlaqps.f, lapack/zlaic1.f, lapack/zunmr3.f, - lapack/dlarzb.f, lapack/zlaqp2.f, lapack/zunmrz.f, - lapack/dlarz.f, lapack/zlaqps.f, lapack/dlarzt.f, - lapack/zlarzb.f: New files - * lapack/Makefile.in (FSRC): Add the new files. - -2007-07-25 David Bateman - - * Makefile.in, Makerules.in, fftpack/Makefile.in, - randlib/Makefile.in: Adjust DISTFILES to allow out of tree "make dist" - to work. - -2007-04-23 John W. Eaton - - * ranlib/phrtsd.f (phrtsd): Store result of call to index - instrinsic in an INTEGER variable to ensure that the types of the - arguments passed to mod really are the same even on 64-bit systems. - -2007-04-18 Michael Goffioul - - * blas-xtra/xdnrm2.f, blas-xtra/xdznrm2.f: - Delete spurious semicolons. - -2007-04-06 John W. Eaton - - * blas-xtra/xdnrm2.f, blas-xtra/xdznrm2.f: New functions. - * blas-xtra/Makefile.in (FSRC): Add them to the list. - - * ranlib/phrtsd.f (phrtsd): Ensure that the types of the arguments - passed to mod are the same even on 64-bit systems. - -2007-04-04 John W. Eaton - - * Makefules.in: Handle Fortran, C, and C++ sources with separate - variables. - * misc/Makefile.in: Use new variables for Fortran, C, and C++ files. - * Makefile.in (clean mostlyclean distclean): No need to remove - $(CRUFT_OBJ) here. - -2007-04-04 Rafael Laboissiere - - * Makefile.in (clean): Remove mkf77def. - -2007-03-27 John W. Eaton - - * Makerules.in, Makefile.in (dist): Use ln instead of $(LN_S). - -2007-02-26 John W. Eaton - - * misc/Makefile.in (CPICDEP): Also set if CPICFLAG is not defined. - (CXXPICDEP): Also set if CXXPICFLAG is not defined. - -2007-02-26 Michael Goffioul - - * Makefile.in, Makerules.in: Use $(LN_S) instead of ln or ln -s. - -2007-02-07 John W. Eaton - - * Makerules.in: Don't use wildcard function to generate source - efile list. - * amos/Makefile.in, blas-xtra/Makefile.in, blas/Makefile.in, - daspk/Makefile.in, dasrt/Makefile.in, dassl/Makefile.in, - fftpack/Makefile.in, lapack-xtra/Makefile.in, lapack/Makefile.in, - minpack/Makefile.in, misc/Makefile.in, odepack/Makefile.in, - ordered-qz/Makefile.in, quadpack/Makefile.in, ranlib/Makefile.in, - slatec-err/Makefile.in, slatec-fn/Makefile.in, villad/Makefile.in: - Explicitly list source files. - -2007-01-24 Alexander Barth - - * misc/f77-fcn.h (F77_CSTRING): Call OCTAVE_LOCAL_BUFFER with cs, - not F77_CHAR_ARG_USE (s). - -2006-11-11 John W. Eaton - - * Makerules.in (%.def : %.f): Use $(simple-move-if-change-rule) here. - -2006-11-03 John W. Eaton - - * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. - (DLL_CDEFS): Rename from XTRA_CDEFS. - Substitute CRUFT_DLL_DEFS, not XTRA_CRUFT_DEFS. - (XTRA_CRUFT_SH_LDFLAGS): Rename from XTRA_CRUFT_LINK_DEPS. - Add $(XTRA_CRUFT_SH_LDFLAGS) to SH_LDFLAGS instead of to LINK_DEPS. - -2006-10-31 John W. Eaton - - * misc/Makefile.in (INCLUDES): Add oct-dlldefs.h to the list. - -2006-10-29 John W. Eaton - - * misc/Makefile.in (SPECIAL_INCLUDE): Add oct-dlldefs.h to the list. - -2006-10-28 Michael Goffioul - - * misc/quit.h: Undefine min and max after including windows.h. - -2006-10-27 John W. Eaton - - * misc/oct-dlldefs.h: New file. - - * mkf77def.in: Downcase all input to simplify matching. - Match only lines beginning with whitespace. - Match function return types. - Use literal TAB characters instead of \t in sed patterns. - From Michael Goffioul . - -2006-10-26 Michael Goffioul - - * Makefile.in (XTRA_CRUFT_LINK_DEPS): Substitute. - (CRUFT_DEFS): New variable. - (LINK_DEPS): Include $(XTRA_CRUFT_LINK_DEPS) in the list. - (clean, mostlyclean, distclean): Delete cruft.def. - (cruft.def): New target. - (libraries): Depend on cruft.def. - - * misc/f77-fcn.h (f77_exception_encountered, xstopx): - Tag with CRUFT_API. - * misc/lo-error.h (current_liboctave_error_handler, - current_liboctave_warning_handler, - current_liboctave_warning_with_id_handler, - set_liboctave_error_handler, set_liboctave_warning_handler, - set_liboctave_warning_with_id_handler): Likewise. - * misc/quit.h (w32_sigint_init, w32_raise_final, - w32_raise, w32_in_main_thread, current_context, - octave_save_current_context, octave_restore_current_context, - octave_jump_to_enclosing_context, octave_save_signal_mask, - octave_restore_signal_mask, octave_interrupt_immediately, - octave_interrupt_state, octave_allocation_error, - octave_signal_caught, octave_handle_signal, - octave_throw_interrupt_exception, octave_throw_bad_alloc, - octave_signal_hook, octave_interrupt_hook, octave_bad_alloc_hook): - Likewise. - -2006-10-26 John W. Eaton - - * Makefile.in ($(CRUFT_DEFS)): Depend on $(SUBDIRS). - (cruft.def): Depend on $(CRUFT_DEFS). - (libraries): Depend on cruft.def only. - - * mk77def.in: New script template - * Makefile.in (DISTFILES): Include mk77def.in in the list. - ($(SUBDIRS)): Depend on mk77def. - (mk77def): New target. - (CRUFT_DEFS): New variable. - * Makerules.in (CRUFT_FSRC, CRUFT_CSRC, CRUFT_CXXSRC): New variables. - (CRUFT_SRC): Define using $(CRUFT_FSRC), $(CRUFT_CSRC), and - $(CRUFT_CXXSRC). - (CRUFT_DEFS): New variable. - ($(CRUFT_DEFS)): Depend on $(TOPDIR)/libcruft/mkf77def. - (%.def : %.f): New pattern rule. Use mkf77def script to do - Fortran name mangling. - (clean, mostlyclean, distclean): Delete $(CRUFT_DEFS). - (all): Depend on $(CRUFT_DEFS) - Partially from Michael Goffioul . - -2006-10-25 John W. Eaton - - * Makerules.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. - -2006-10-23 Paul Kienzle - - * misc/f77-fcn.h (F77_CHAR_ARG_DEF, F77_CONST_CHAR_ARG_DEF, - F77_CHAR_ARG_LEN_DEF, F77_CHAR_ARG_USE, F77_CHAR_ARG_LEN_USE, - F77_CSTRING): New macros to handle passing C character strings to - Fortran. - -2006-10-17 Michael Goffioul - - * lapack-xtra/xdlamch.f: Begin lines with spaces, not tabs. - - * misc/Makefile.in (machar.o, pic/machar.o): Specify output file - name in compile command. - -2006-10-13 Michael Goffioul - - * Makefile.in: Adapt rules to use $(LIBPRE). - -2006-09-11 John W. Eaton - - * blas-xtra/xddot.f, blas-xtra/xzdotu.f: New files. - -2006-06-01 David Bateman - - * slatec-fn/dpchim.f, slatec-fn/dpchst.f: New files. - -2006-05-22 John W. Eaton - - * lapack/dlantr.f, lapack/zlantr.f: New files. - -2006-05-03 David Bateman - - * lapack/dpocon.f, lapack/zpocon.f, lapack/dpotrs.f, - lapack/zpotrs.f, lapack/dtrcon.f, lapack/ztrcon.f, - lapack/dtrtrs.f, lapack/ztrtrs.f: New files. - -2006-04-29 John W. Eaton - - * misc/lo-error.c (set_liboctave_warning_with_id_handler, - liboctave_warning_with_id): New functions. - (current_liboctave_warning_with_id_handler): New variable. - * misc/lo-error.h (liboctave_warning_with_id_handler): New typedef. - (current_liboctave_warning_with_id_handler, liboctave_warning_with_id - set_liboctave_warning_with_id_handler): Provide decls. - -2006-04-18 John W. Eaton - - * misc/f77-fcn.h (F77_XFCN): Move decls to beginning of blocks for C. - -2006-04-13 John W. Eaton - - * misc/quit.h BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1, - END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): Omit unnecessary casts. - * misc/f77-fcn.h (F77_XFCN, F77_CHAR_ARG_LEN): Likewise. - -2006-04-03 David Bateman - - * ranlib/wrap.f (dgenexp, dgengam, dignpoi): New functions. - -2006-03-21 John W. Eaton - - * misc/f77-fcn.h (F77_XFCN): Save octave_interrupt_immediately and - restore it if an exception occurs that causes a longjmp. - -2005-11-01 John W. Eaton - - * ranlib/ignbin.f, ranlib/ignpoi.f: Avoid arithmetic IF statements. - -2005-10-17 John W. Eaton - - * lapack/Makefile.in (dlamc1.o pic/dlamc1.o): - Add $(F77_FLOAT_STORE_FLAG) to FFLAGS. - -2005-09-23 John W. Eaton - - * misc/machar.c: Restore test code. - -2005-09-15 John W. Eaton - - * misc/quit.h Rename all win32_ symbols to w32. Change all uses. - -2005-09-15 David Bateman - - * Makefile.in (LN_S): Change to DESTDIR before LN_S to avoid - lack of symlinks under mingw. - * misc/cquit.c (w32_thread_setjmp_mutex, win32_signal_context, - win32_signal_to_raise, win32_main_thread_id, win32_main_thread, - win32_restore_thread): New static variables. - (win32_in_main_thread): Returns 1 if in main thread for win32. - (win32_reset_context): Reset context (longjmp style) for win32. - (win32_raise_in_main): Raise signal in main thread for win32. - (win32_raise): Raise signal for win32. - (win32_raise_final): Clean up win32 signalling. - (win32_sigint_init): Initialize win32 signalling. - * quit.h (win32_sigint_init, win32_raise_final, win32_raise, - win32_in_main_thread): Declaration. - -2005-09-14 Daniel - - * lapack/zbdsqr.f: Fix typo in docs. - From Jorge Barros de Abreu . - -2005-05-06 John W. Eaton - - * lapack/dpotri.f, lapack/dlauum.f, lapack/dlauu2.f, - lapack/zpotri.f, lapack/zlauum.f, lapack/zlauu2.f: New files. - -2005-04-08 John W. Eaton - - * Makefile.in, Makerules.in (clean, distclean, maintainer-clean): - Avoid duplication in rules. - -2005-03-17 Andy Adler - - * Makerules.in (install-strip): Include double-colon target here too. - -2005-03-09 John W. Eaton - - * Makefile.in (bin-dist): Delete target. - (BINDISTLIBS, BINDISTFILES): Delete variables. - -2005-03-01 John W. Eaton - - * Makefile.in (CRUFT_DIRS): Remove it from the list. - * odessa: Delete directory. - - * misc/machar.c (rmachar): Declare local REAL variables volatile. - -2005-02-25 John W. Eaton - - * blas/zher.f: New file. - - Sparse merge. - - 2005-01-13 David Bateman - - * lapack/dgttrf.f lapack/dgttrs.f lapacl/zgttrf.f lapack/zgttrs.f: - new files - - 2005-01-23 David Bateman - - * lapack/dgtsv.f lapack/dpbcon.f lapack/dpbtf2.f lapack/dpbtrf.f - lapack/dpbtrs.f lapack/dptsv.f lapack/dpttrf.f lapack/dpttrs.f - lapack/dptts2.f lapack/zgtsv.f lapack/zpbcon.f lapack/zpbtf2.f - lapack/zpbtrf.f lapack/zpbtrs.f lapack/zptsv.f lapack/zpttrf.f - lapack/zpttrs.f lapck/zptts2.f: New files. - - 2004-12-29 John W. Eaton - - * blas/zbtsv.f: New file. - * lapack/dgbcon.f, lapack/dgbtrf.f, lapack/dgbtrs.f, - lapack/dlatbs.f, lapack/zgbcon.f, lapack/zgbtf2.f, - lapack/zgbtrf.f, lapack/zgbtrs.f, lapack/zlatbs.f: New files. - -2005-02-10 John W. Eaton - - * misc/cquit.c (octave_signal_caught): New global variable. - * misc/quit.cc (occtave_handle_signal): New function. - (octave_signal_hook): New global pointer. - * misc/quit.h: Provide decls. - (OCTAVE_QUIT): Check octave_signal_caught, not - octave_interrupt_state, and call octave_handle_signal, not - octave_throw_interrupt_exception. - -2005-02-08 John W. Eaton - - * misc/quit.h: Use C-style comments. - -2004-09-08 John W. Eaton - - * misc/machar.c (rmachar): Use modern C declaration. - -2004-02-24 John W. Eaton - - * misc/f77-fcn.c: Handle Cray, CVF, and f2c calling conventions. - - * misc/f77-fcn.h (xstopx): Use F77_CHAR_ARG_DECL and - F77_CHAR_ARG_LEN_DECL in declaration. - -2004-02-20 John W. Eaton - - * misc/quit.h (OCTAVE_QUIT): Set octave_interrupt_state to -1 - while we are handling interrupts. - -2004-02-14 John W. Eaton - - * Makefile.in (LINK_DEPS): Always define. - -2003-11-12 John Eaton - - * misc/machar.c (machar) [CRAY]: Kluge to make it work. - -2003-10-31 John W. Eaton - - * odepack/dlsode.f: Rename from odepack/lsode.f. - * odepack/dlsode.f (DLSODE): Rename from LSODE to avoid name - conflict with LSODE class constructors on systems that upcase - Fortran names. - - * odessa/dodessa.f: Rename from odessa/odessa.f. - * odessa/dodessa.f (DODESSA): Rename from ODESSA to avoid name - conflict with ODESSA class constructors on systems that upcase - Fortran names. - -2003-10-30 John W. Eaton - - * Makefile.in (MISC_OBJ): Add misc/cquit.o to the list. - - * misc/Makefile.in (SPECIAL_SRC): Add cquit.c to the list. - * misc/cquit.c: New file. - * misc/quit.cc: Move everything except octave_interrupt_hook, - octave_bad_alloc_hook, octave_throw_interrupt_exception, and - octave_throw_bad_alloc to cquit.c. - -2003-10-28 John W. Eaton - - * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): - Move declarations outside of extern "C" block. - -2003-10-27 John W. Eaton - - * misc/f77-fcn.h: Only use inline if this is C++. - - * misc/f77-fcn.c (xstopx): Return type is now F77_RET_T. - Use F77_RETURN. - * misc/machar.c (machar): Likewise. - - * misc/f77-fcn.h (F77_CHAR_ARG, F77_CONST_CHAR_ARG, F77_CHAR_ARG2, - F77_CONST_CHAR_ARG2, F77_CXX_STRING_ARG, F77_CHAR_ARG_LEN, - F77_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, F77_CHAR_ARG_LEN_DECL, - F77_RET_T, F77_RETURN): New macros. - [F77_USES_CRAY_CALLING_CONVENTION]: New data conversion functions. - - * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): - Move function pointer declarations inside __cplusplus section. - -2003-07-29 John W. Eaton - - * Makefile.in (install-lib): Use $(INSTALL), not - $(INSTALL_PROGRAM) for $(SHLLIB) files. - -2003-07-02 John W. Eaton - - * Makefile.in (CLEAN_SUBDIRS): New variable. - (clean mostlyclean distclean maintainer-clean): Use it to ensure - cleaning in all subdirs, not just those we build in. - - * Makerules.in (maintainer-clean, distclean): Don't use - dependencies on double colon rules. - (distclean): Also remove *.d, *.a, *.o, pic/*.o, pic, and stmp-pic. - (maintainer-clean): Also remove *.d, *.a, *.o, pic/*.o, pic, and - stmp-pic, and Makefile. - - * Makefile.in (maintainer-clean, distclean): Also remove *.$(SHLEXT). - -2003-06-16 John W. Eaton - - * dasrt/ddasrt.f (DDASRT): Print correct message for invalid MXSTP. - - * dassl/ddassl.f (DDASSL): Handle MXSTP as in DASRT. - - * dassl/ddajac.f (DDAJAC): LIPVT is now 22. - * dassl/ddassl.f (DDASSL): Likewise. - * dassl/ddaslv.f (DDASLV): Likewise. - - * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): - New function pointers. - * misc/quit.cc: Initialize them. - (octave_throw_interrupt_exception): If octave_interrupt_hook is - set, call it. - (octave_throw_bad_alloc): Likewise, for octave_bad_alloc_hook. - - * dasrt/ddasrt.f (DDASRT): Set LMXSTP to 21 and LIPVT to 22 to - avoid conflict with LLAST in DRCHECK. Change docs for INFO(12) - and LIW. - -2003-05-14 John W. Eaton - - * Makefile.in, misc/Makefile.in: Handle DESTDIR. - -2003-02-20 John W. Eaton - - * blas/sgemm.f, blas/strsm.f, blas/ssyrk.f, blas/sscal.f, - blas/sgemv.f, blas/sdot.f: New files. - -2003-02-20 Paul Kienzle - - * dassl/ddaslv.f: Fortran doesn't use ; in statements. - -2003-02-18 John W. Eaton - - * blas/dtbsv.f: New file. - * lapack/dlatrs.f, lapack/dtrti2.f, lapack/dtrtri.f, lapack/ztrti2.f, - lapack/ztrtri.f: New files. - -2003-02-04 David Bateman - - * Makefile.in (CRUFT_DIRS): Remove linpack from list. - - * linpackdgbfa.f, linpackdgbsl.f, linpackdgeco.f, linpackdgedi.f, - linpackdgefa.f, linpackdgesl.f, linpackspofa.f, linpackzgeco.f, - linpackzgedi.f, linpackzgefa.f, linpackzgesl.f: Delete. - - * dassl/ddajac.f, dassl/ddaslv.f: Use DGxTRF and - DGxTRS instead of DGxFA and DGxSL. - * daspk/ddaspk.f, daspk/dmatd.f, daspk/dslvd.f: Likewise. - * odepack/lsode.f, odepack/prepj.f, odepack/solsy.f: Likewise. - * odessa/odessa.f, odessa/odessa_prepj.f, odessa/odessa_solsy.f: - Likewise. - * libcrudt/ranlib/setgmn.f: Use SPOTRF instead of SPOFA. - - * lapack/dgbtf2.f, lapack/dgbtrf.f, lapack/dgbtrs.f, - lapack/dgecon.f, lapack/dgetri.f, lapack/spotf2.f, - lapack/spotrf.f, lapack/zgecon.f, lapack/zgetri.f: New files. - -2003-01-22 John W. Eaton - - * misc/quit.h (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1, - BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2): New macros. - -2003-01-03 John W. Eaton - - * odessa/odessa_rscom.f (ODESSA_RSCOM): Fix apparent typo (LODE2 - should probably be LIODE2). - - * Makerules.in (clean, mostlyclean): Also remove *.d. - - * misc/quit.cc: Add std:: qualifiers to memcpy calls. - -2003-01-03 Paul Kienzle - - * misc/quit.h: Move #include outside extern "C" block. - * misc/f77-fcn.h: Move #include "quit.h" outside extern "C" block. - -2002-11-20 John W. Eaton - - * misc/quit.h (BEGIN_INTERRUPT_WITH_EXCEPTIONS, - END_INTERRUPT_WITH_EXCEPTIONS): Only define for C++ source. - Include for C++ source. - -2002-11-15 John W. Eaton - - * misc/quit.h, misc/quit.cc [! USE_EXCEPTIONS_FOR_INTERRUPTS]): - Always use exceptions for handling interrupts. - (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): - - * misc/quit.h (OCTAVE_TRY_WITH_INTERRUPTS, OCTAVE_THROW_BAD_ALLOC, - OCTAVE_CATCH_INTERRUPTS, SAVE_OCTAVE_INTERRUPT_IMMEDIATELY, - INCREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, OCTAVE_THROW_TO_TOP_LEVEL, - DECREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, OCTAVE_JUMP_TO_TOP_LEVEL, - SET_OCTAVE_INTERRUPT_IMMEDIATELY): Replace all uses with - definitions, delete macros. - -2002-11-14 John W. Eaton - - * misc/quit.cc (octave_allocation_error): New variable. - (octave_throw_bad_alloc): New function. - * misc/quit.h: Provide decls. - (OCTAVE_THROW_BAD_ALLOC): New macro. - (END_INTERRUPT_WITH_EXCEPTIONS): Also catch bad_alloc. - * misc/f77-fcn.h (F77_XFCN): Handle allocation errors. - - * misc/quit.h (octave_jmp_buf): New typedef. - (current_context): Type is now octave_jmp_buf. - (octave_set_current_context): Use sigsetjmp if we have it. - (octave_interrupt_immediately, octave_interrupt_state): Type is - now sig_atomic_t. - (BEGIN_INTERRUPT_WITH_EXCEPTIONS, END_INTERRUPT_WITH_EXCEPTIONS): - New macros. - - * misc/quit.cc (octave_jump_to_enclosing_context): Use siglongjmp - if we have it. - (octave_save_current_context, octave_restore_current_context): Use - octave_jmp_buf type here. - -2002-11-07 John W. Eaton - - * misc/Makefile.in: Handle automatic dependency generation for - C/C++ source files. - - * misc/quit.h (INCREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, - DECREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, - SET_OCTAVE_INTERRUPT_IMMEDIATELY): New macros. - (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE, - BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): Use them. - * f77-fcn.h (F77_XFCN): Likewise. - - * misc/quit.cc: Include for memcpy decl. - -2002-11-06 John W. Eaton - - * misc/f77-fcn.h (F77_XFCN): Adapt to new signal/exception - handling scheme. - (f77_context): Delete decl. - (copy_f77_context): Likewise. - * misc/f77-fcn.cn (copy_f77_context): Delete. - (Fxstopx): Set f77_exception_encountered. - Use octave_jump_to_enclosing_context, not longjmp. - - * misc/f77-extern.cc (f77_context): Delete definition. - - * misc/quit.h, misc/quit.cc: New files. - * misc/Makefile: Add them to the appropriate lists. - - * Makefile (MISC_OBJ): Add misc/quit.o - -2002-10-31 John W. Eaton - - * odessa/odessa.f (ODESSA): Second arg of xerrwd is string length. - * odessa/odessa_intdy.f (ODESSA_INTDY): Likewise. - -2002-10-29 John W. Eaton - - * dasrt/ddasrt.f (DDASRT): Fix computation of LENRW. - -2002-10-16 John W. Eaton - - * Makefile.in (install): Don't bother with versions for $(SHLBIN) - files. - - * slatec-err/xerrwd.f (XERRWD): Print msg(1:nmes), not just msg. - -2002-10-14 John W. Eaton - - * Makefile.in (install): No need to use cd to create links. - -2002-10-14 Paul Kienzle - - * Makefile.in: Use link dependencies for shared libs if - INCLUDE_LINK_DEPS. - (LIBRARIES): If doing shared libs, include versioned library in list. - (libcruft.$(SHLEXT), libcruft.$(SHLEXT_VER)): Reverse actions -- - build unversioned library, symbolic link adds version info. - (install, uninstall): Handle link and load forms of the library - separately. - -2002-09-30 Paul Kienzle - - * slatec-fn/xdacosh.f: Mark external functions as external. - * slatec-fn/xdasinh.f: Ditto. - * slatec-fn/xdatanh.f: Ditto. - * slatec-fn/xdbetai.f: Ditto. - * slatec-fn/xderf.f: Ditto. - * slatec-fn/xderfc.f: Ditto. - * slatec-fn/xdgami.f: Ditto. - * slatec-fn/xdgamit.f: Ditto. - * slatec-fn/xdgamma.f: Ditto. - * slatec-fn/xgmainc.f: Ditto. - -2002-08-14 John W. Eaton - - * odessa/odessa.f (ODESSA): Use XERRWD instead of XERR. - * odessa/intdy.f (ODESSA_INTDY): Likewise. - * odessa_rscom.f (ODESSA_RSCOM): Delete unused common block EH0001. - * odessa_svcom.f (ODESSA_SVCOM): Likewise. - - * dasrt/xerrwv.f, odepack/xerrwv.f: Delete. - * slatec-err/xerrwd.f (XERRWD): Call XSTOPX instead of using STOP. - - * quadpack/dqagi.f (DQAGI): Replace Hollerith constants with - character string constants. - * quadpack/dqagp.f (DQAGP): Likewise. - * odepack/lsode.f (LSODE): Likewise. - - * odepack/lsode.f (LSODE): Use XERRWD instead of XERRWV. - * odepack/intdy.f (INTDY): Likewise. - * dasrt/ddasrt.f (DDASRT): Likewise. - * quadpack/xerror.f (XERROR): Likewise. - -2002-07-25 John W. Eaton - - * slatec-fn/xgmainc.f: New file. - -2002-07-12 John W. Eaton - - * dasrt: New subdirectory. - * Makefile.in (CRUFT_DIRS): Add it to the list. - -2002-07-10 John W. Eaton - - * odessa: New subdirectory. - * Makefile.in (CRUFT_DIRS): Add it to the list. - -2002-06-27 John W. Eaton - - * slatec-err/xermsg.f (XERMSG): If MAXMES .LT. 0, messages may be - printed an unlimited number of times. - * slatec-err/j4save.f (J4SAVE) Default for MAXMES is now -1. - - * misc/f77-fcn.c (xstopx): Pass args in proper order. - -2002-05-22 John W. Eaton - - * ordered-qz/dsubsp.f (DSUBSP): Delete decl for unused variable J. - - * misc/f77-fcn.c (xstopx): Return type is void, not volatile void. - * misc/f77-fcn.h (xstopx): Provide decl. Add special gcc noreturn - attribute here. - -2002-05-16 John W. Eaton - - * misc/f77-fcn.h: Define F77_FCN for backward compatibility. - -2002-04-27 John W. Eaton - - * slatec-err/ixsav.f, slatec-err/xerrwd.f: New files. - - * daspk: New directory. - * Makefile.in (CRUFT_DIRS): Add it to the list - -2002-04-03 Steven G. Johnson - - * misc/machar.c: Use F77_FUNC instead of checking - F77_APPEND_UNDERSCORE. - * misc/f77-fcn.h: Don't define F77_FCN. - (xSTRINGIZE, STRINGIZE): New macros. - (F77_XFCN_ERROR): Simplify by using STRINGIZE and F77_FUNC. - (F77_XFCN): Use F77_FUNC instead of F77_FCN. - * misc/f77-fcn.c: Use F77_FUNC instead of F77_FCN. - -2001-11-01 John W. Eaton - - * Makefile.in (DISTSUBDIRS): Add fftpack. - -2001-08-13 John W. Eaton - - * lapack/dlasq3.f: Update from netlib. - * lapack/dlasq5.f: Ditto. - -2001-05-02 Mumit Khan - - * Makefile.in (CRUFT_DIRS): Substitute @FFT_DIR@. - -2001-04-25 John W. Eaton - - * Makefile.in (install): Don't use mk-libdir-link. - -2001-04-19 John W. Eaton - - * misc/Makefile.in (CPICDEP): Remove pic/dostop.o from the list. - -2001-03-27 John W. Eaton - - * misc/xstopx.f: Delete. - * misc/dostop.c: Delete. - * misc/Makefile.in (SPECIAL, SPECIAL_DEPEND): Delete dostop.c and - dostop.o from lists. - * Makefile.in (MISC_OBJ): Delete misc/dostop.o from the list. - - * misc/dostop.c (dostop): Use F77_FCN macro for function definition. - Specify length in error format to avoid need for copying string. - From Paul Kienzle . - -2000-12-14 John W. Eaton - - * lapack/dgelss.f (DGELSS): Use correct leading dimension for - workspace array passed to dgemm and dlacpy. - (ZGELSS): Likewise, for calls to zgemm and zlacpy. - -2000-07-18 John W. Eaton - - * Makefile.in (DISTSUBDIRS): New macro. - (dist): Use it instead of SUBDIRS. - -2000-06-30 Steven G. Johnson - - * blas-xtra, lapack-xtra: New directories. - * Makefile.in (CRUFT_DIRS): Add them to the list. - Substitute @BLAS_DIR@ and @LAPACK_DIR@ here. - * blas-xtra/xerbla.f: Move here from blas subdirectory. - * blas-xtra/Makefile.in: New file. - * lapack-xtra/xdlamch.f, lapack-xtra/xdlange.f, - lapack-xtra/xzlange.f: Move here from lapack subdirectory. - * lapack-xtra/Makefile.in: New file. - -2000-04-25 John W. Eaton - - * misc/Makefile.in (install, uninstall): Include files go in - $(octincludedir)/octave, not just $(octincludedir). - -2000-03-25 John W. Eaton - - * Makefile.in (LIBRARIES): Conditionally define. - (libraries): Depend on $(SUBDIRS) only. - Make $(LIBRARIES) using a recursive invocation of make once - $(SUBDIRS) are up to date. - (.NOTPARALLEL): New target, for GNU Make 3.79. - -2000-03-21 John W. Eaton - - * Makefile.in (libcruft.$(LIBEXT)): New target. - (all): Depend on `libraries', not `$(SUBDIRS) shared-lib'. - Conditionally construct `libraries' target. - (libcruft.$(SHLEXT_VER)): Delete target before rebuilding. - * Makerules.in (LIBCRUFT): Delete variable. - (LIBCRUFT_DEPEND): Conditionally define to $(LIBCRUFT_OBJS) only. - (all): Print warning if anything is done. - (stmp-pic): New target. - ($CRUFT_PICOBJ): Depend on stmp-pic. - (clean, mostlyclean): Remove pic and stmp-pic. - -2000-02-10 John W. Eaton - - * lapack/dbdsqr.f, lapack/dgeesv.f, lapack/dgelss.f, - lapack/dgesvd.f, lapack/dlasq1.f, lapack/dlasq2.f, - lapack/dlasq3.f, lapack/dlasq3.f, lapack/dlasq4.f, - lapack/dlasq5.f, lapack/dlasq6.f, lapack/zbdsqr.f, - lapack/zgelss.f, lapack/zgesvd.f, lapack/zhetd2.f: - Update from netlib. - -1999-11-03 John W. Eaton - - * Update to Lapack version 3.0. - * lapack/ieeeck.f, lapack/dlasq2.f, lapack/dlasq3.f, - lapack/dlasq5.f, lapack/dlasq6.f: New files. - -1999-10-29 John W. Eaton - - * misc/lo-error.cc (current_liboctave_warning_handler): Define here. - (set_liboctave_warning_handler): New function. - (liboctave_warning): Ditto. - * misc/lo-error.h: Provide declararations for them here. - -1999-10-19 John W. Eaton - - * Makefile.in (dist): Use `$(MAKE) -C dir' instead of `cd dir; - $(MAKE); cd ..'. - -1999-10-01 John W. Eaton - - * dassl/dpotrf.f, dassl/dpotf2.f: Move to lapack subdirectory. - -Fri Mar 26 01:19:04 1999 John W. Eaton - - * Makerules.in (all): Don't try to use a special rule for making - the archive. The default rules may be slower, but they are also - correct. - -Wed Nov 11 17:27:35 1998 John W. Eaton - - * Makefile.in (CRUFT_DIRS): Add amos. Delete specfun. - * specfun: Delete directory. - * amos: New directory - -Thu Oct 15 00:43:13 1998 John W. Eaton - - * ranlib: Update to newer version of randlib. - * ranlib/Makefile.in (SPECIAL): Update list. - -Thu Sep 24 11:59:02 1998 John W. Eaton - - * balgen, eispack: Delete directories and unnecesary files. - * Makefile.in (CRUFT_DIRS): Delete eispack and balgen from the list. - - * lapack/xdlamch.f: New file. - - * ordered-qz: New directory. - * Makefile.in (CRUFT_DIRS): Add it to the list. - - * lapack/dggbak.f, lapack/dtgevc.f, lapack/zggbal.f: New files. - -Tue Jun 2 09:57:52 1998 John W. Eaton - - * specfun/rybesl.f (rybesl): Don't access by(2) unless nb .gt. 1. - -Mon May 11 12:33:42 1998 John W. Eaton - - * fftpack/passb3.f, fftpack/passb5.f, fftpack/passf3.f, - fftpack/passf5.f: Use double precision constants in data - statements. - -Tue Apr 14 14:01:22 1998 John W. Eaton - - * slatec-fn/xdgamit.f (xdgamit): New file. - -Mon Apr 6 00:26:35 1998 John W. Eaton - - * slatec-fn/xdgami.f (xdgami): Reorder args to match dgami. - -Thu Feb 19 21:00:00 1998 John W. Eaton - - * specfun/ribesl.f, specfun/rjbesl.f: Compute NSIG correctly. - Add missing comma in declaration statement. - -Sun Feb 1 12:39:10 1998 John W. Eaton - - * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). - Use $(mk-libdir-link). - - * quadpack/dqagi.f, quadpack/dqagie.f, quadpack/dqagp.f, - quadpack/dqagpe.f, quadpack/dqk15i.f, quadpack/dqk21.f: - Make user-supplied code a subroutine instead of a function. - -Mon Jan 19 23:11:21 1998 John W. Eaton - - * lapack/xdlange.f, lapack/xzlange.f: New files. - -Mon Dec 1 00:51:03 1997 John W. Eaton - - * dassl/xerhlt.f, dassl/xermsg.f, dassl/xerprn.f, dassl/xgetua.f, - dassl/xsetua.f: Delete. - - * slatec-err: New directory. - * Makefile.in: Add it to the list. - -Sun Nov 30 17:55:20 1997 John W. Eaton - - * slatec-fn/xdgami.f, slatec-fn/xdbetai.f, slatec-fn/xderfc.f, - slatec-fn/xderf.f, slatec-fn/xdatanh.f, slatec-fn/xdasinh.f, - slatec-fn/xdacosh.f: New files. - -Sat Nov 29 13:02:14 1997 John W. Eaton - - * specfun/ribesl.f (ribesl): Use d1mach to get machine parameters. - SAVE static data between calls. Use PARAMETERS where possible. - * specfun/rjbesl.f (rjbesl): Likewise. - * specfun/rkbesl.f (rkbesl): Likewise. - * specfun/rybesl.f (rybesl): Likewise. - -Fri Nov 28 14:05:12 1997 John W. Eaton - - * specfun: New subdirectory. - * specfun/Makefile.in, specfun/ribesl.f, specfun/rjbesl.f, - specfun/rkbesl.f, specfun/rybesl.f: New files. - * Makefile.in (CRUFT_DIRS): Add specfun. - -Wed Nov 26 01:49:47 1997 John W. Eaton - - * slatec-fn/d9gmit.f, slatec-fn/d9lgic.f, slatec-fn/d9lgit.f, - slatec-fn/dbetai.f, slatec-fn/dgami.f, slatec-fn/dgamit.f, - slatec-fn/dgamr.f, slatec-fn/dlbeta.f, slatec-fn/dlnrel.f: - New files for incomplete beta and incomplete gamma functions. - -Thu Jul 17 13:18:57 1997 Klaus Gebhardt - - * blas/xerbla.f (xerbla): Call XSTOPX instead of using STOP. - -Fri Jun 6 16:49:22 1997 John W. Eaton - - * slatec-fn/xdgamma.f: New file. - - * fsqp, npsol, qpsol: Delete directories. - * Makefile.in (CRUFT_DIRS): Delete fsqp, npsol, and qpsol from list. - -Thu Jun 5 01:40:36 1997 John W. Eaton - - * Makefile.in, Makerules.in: Make building of static library optional. - (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. - - * Makerules.in (stamp-picdir): Delete. - (pic): New target. Don't worry so much about creating pic - directory only when it is really needed. - - * Makefile.in (stamp-shared): Delete. - (shared-lib): New target. Depend on shared libraries directly. - -Wed May 21 16:29:42 1997 John W. Eaton - - * misc/Makefile.in (install): Ensure include directory link is made. - (uninstall): Delete all installed files. - -Thu Mar 13 22:31:35 1997 John W. Eaton - - * blas, lapack: Add new files for symmetric eigenvalue - computation. - -Wed Mar 12 16:59:59 1997 John W. Eaton - - * misc/Makefile.in (install-strip): New target. - - * Makefile.in (install-strip): New target. - -Mon Mar 3 15:38:39 1997 John W. Eaton - - * ranlib/Makefile.in (EXTERNAL_DISTFILES): Add Basegen.doc. - - * fftpack/Makefile.in (EXTERNAL_DISTFILES): Add fftpack.doc. - - * Makefile.in (DISTFILES): Add configure.in. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Wed Feb 26 12:08:39 1997 John W. Eaton - - * Makefile.in (maintainer-clean): Also remove configure. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Version 2.0.3 released. - -Fri Feb 14 16:23:42 1997 John W. Eaton - - * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. - -Thu Feb 13 17:33:41 1997 John W. Eaton - - * Makefile.in (stamp-shared): Use $(SH_LD) $(SH_LDFLAGS) instead - of $(CXX) -shared. - - * Makerules.in (stamp-picdir): Silence noise about making pic. - -Mon Jan 27 15:52:29 1997 John W. Eaton - - * Version 2.0.2 released. - -Sat Jan 25 22:34:10 1997 John W. Eaton - - * Makefile.in, balgen/Makefile.in, blas/Makefile.in, - cfsqp/Makefile.in, dassl/Makefile.in, eispack/Makefile.in, - fftpack/Makefile.in, fsqp/Makefile.in, lapack/Makefile.in, - linpack/Makefile.in, minpack/Makefile.in, misc/Makefile.in, - npsol/Makefile.in, odepack/Makefile.in, qpsol/Makefile.in, - quadpack/Makefile.in, ranlib/Makefile.in, slatec-fn/Makefile.in, - villad/Makefile.in (bin-dist): New target. - -Wed Jan 22 15:03:33 1997 John W. Eaton - - * misc/Makefile.in (pic/machar.o): Add $(CPICFLAG) for this target. - - * misc/d1mach.f (d1mach): Move SAVE statement ahead of DATA statment. - -Wed Jan 15 21:04:29 1997 John W. Eaton - - * blas/*.f: Update to latest version from Netlib. - -Tue Jan 7 00:17:17 1997 John W. Eaton - - * Version 2.0.1 released. - -Tue Dec 17 11:02:02 1996 John W. Eaton - - * misc/lo-error.c: Convert C++-style comments to C-style comments. - -Wed Dec 11 01:50:31 1996 John W. Eaton - - * misc/Makefile.in (SPECIAL_DEPEND): Delete d1mach.o from the list. - -Tue Dec 10 01:43:10 1996 John W. Eaton - - * Version 2.0 released. - -Fri Dec 6 15:23:50 1996 John W. Eaton - - * Version 1.94. - -Wed Nov 20 01:00:43 1996 John W. Eaton - - * misc/Makefile.in (install): Also install lo-error.h. - - * Makefile.in (MISC_OBJ): Add misc/f77-fcn.o. - - * misc/lo-error.h: New file, moved here from liboctave. - * misc/lo-error.c: Rename from lo-error.cc. Make this a C-file - instead of C++. - - * Version 1.93. - -Tue Nov 19 23:04:24 1996 John W. Eaton - - * misc/Makefile.in: Add variables for installing things. - - * Makerules.in (install, uninstall): Make these double colon rules. - - * f77-fcn.c, f77-fcn.h: New files, from liboctave. - - * misc/Makefile.in (SPECIAL_DEPEND): Add f77-fcn.o. - (SPECIAL): Add f77-fcn.c and f77-fcn.h. - (CPICDEP): Add pic/f77-fcn.o. - (install): Install f77-fcn.h in $(octincludedir). - (uninstall): Delete f77-fcn.h from $(octincludedir). - - * Makerules.in (CRUFT_CSRC): Delete unsed variable. - -Thu Nov 14 00:07:00 1996 John W. Eaton - - * Version 1.92. - -Fri Nov 8 09:55:40 1996 John W. Eaton - - * Makefile.in (libcruft.a): Delete target. - * Makerules.in, Makefile.in: Use real archive rules to build - libcruft.a in parts. - - * Makefile.in (install): Use $(INSTALL_PROGRAM) for installing - shared library. - -Thu Nov 7 12:43:17 1996 John W. Eaton - - * Makefile.in: Add -lm when building shared library. - - * Version 1.91. - -Mon Nov 4 10:09:00 1996 John W. Eaton - - * lapack/dlag2.f, lapack/dggbal.f, lapack/dgghrd.f, lapack/dhgeqz.f: - New files. - - * Makefile.in (install): Use INSTALL_PROGRAM for shared version of - libcruft. - -Sun Nov 3 19:37:37 1996 John W. Eaton - - * misc/Makefile.in (distclean): Delete target, since there is - nothing special to do. - -Wed Oct 30 17:20:14 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - - * misc/Makefile.in: Make pic/machar.o using special rule. - Use CPPFLAGS, not CPP_FLAGS. - -Thu Oct 24 20:22:47 1996 John W. Eaton - - * Makefile.in (CRUFT_OBJ): No special treatment for d1mach.o. - - * misc/machar.c, misc/d1mach.f: New files - * misc/Makefile.in: Fix to not generate d1mach.f. - -Mon Oct 14 11:07:25 1996 John W. Eaton - - * Makefile.in (distclean): Remove stamp-shared too. - -Sat Oct 12 00:20:41 1996 John W. Eaton - - * Makefile.in (maintainer-clean): Don't depend on distclean. - * Makerules.in (maintainer-clean): Ditto. - -Tue Aug 20 22:09:08 1996 John W. Eaton - - * Makerules.in (stamp-picdir): Only create a pic subdirectory if - SHARED_LIBS is true AND FPICFLAG is not empty. - -Wed May 22 15:07:00 1996 John W. Eaton - - * Makefile.in (stamp-shared): Use CC, not CXX to create shared - library. Also use SHARED_FLIBS here instead of FLIBS. - -Sat Apr 6 21:28:47 1996 John W. Eaton - - * Makerules.in (clean, mostlyclean): Also remove pic/*.o. - (maintainer-clean, distclean): Also remove stamp-picdir and pic - directory. - -Wed Apr 3 01:01:31 1996 John W. Eaton - - * misc/Makefile.in: Set SPECIAL_PICDEPEND after including Makeconf - and before including Makerules. - -Fri Mar 29 13:45:06 1996 John W. Eaton - - * Makefile.in (distclean): Delete so_locations, which is created - on DEC Alpha systems. - (distclean, maintainer-clean): Don't depend on clean. - -Wed Mar 27 05:59:02 1996 John W. Eaton - - * Makerules.in: Add rules for making PIC code here. - * Makefile.in (libcruft.a): Depend on $(CRUFT_PICOBJ) - * misc/Makefile.in: Add rules for making PIC code from C and C++ - files. - -Fri Feb 9 21:04:45 1996 John W. Eaton - - * misc/f77-extern.cc, misc/lo-error.cc: New files. - * misc/Makefile.in (SPECIAL, SPECIAL_DEPEND): Add them to the lists. - * Makefile.in (CRUFT_OBJ): Add it f77-extern.o and lo-error.o here - too. - -Sat Feb 3 07:57:39 1996 John W. Eaton - - * misc/dostop.c (dostop): Call error handler if we have a message. - Call longjmp on f77_context, not jump_to_top_level(). - * misc/xstopx.f (xstopx): Pass non-blank strings on to dostop. - -Mon Jan 8 22:55:26 1996 John W. Eaton - - * Makefile.in (clean): If $(SHARED_LIBS), remove shared libs. - (mostlyclean): Ditto. - -Fri Dec 29 21:43:24 1995 John W. Eaton - - * Makefile.in, Makerules.in: Handle creating position independent - code and shared libraries for Octave. - -Tue Dec 26 00:15:31 1995 John W. Eaton - - * Makerules.in (stamp-picdir): New target. - (all): Depend on it. - - * Makefile.in: Delete references to configure stuff. - * configure.in, mkinstalldirs: Delete. - -Sun Dec 24 02:42:29 1995 John W. Eaton - - * linpack/spofa.f: New file. - * blas/level-1/sdot.f: New file. - * blas/level-2/dsyr.f: New file. - -Thu Dec 14 02:34:19 1995 Rick Niles - - * fftpack/cfftb1.f, fftpack/cfftf1.f, fftpack/cffti1.f, - odepack/prepj.f, odepack/solsy.f, odepack/stode.f: - Avoid warnings for nonstandard dimension statements of the form - `real foo(1)' by using `real foo(*)' instead. - -Mon Nov 6 07:24:03 1995 John Eaton - - * misc/dostop.c: Only call jump_to_top_level() if OCTAVE_SOURCE. - -Fri Nov 3 11:08:31 1995 John Eaton - - * misc/dostop.c: Just call jump_to_top_level() directly here. - -Wed Sep 20 00:01:03 1995 John Eaton - - * mkinstalldirs: New file. - * Makefile.in (DISTFILES): Add it to the list. - - * Makerules.in: Fix cleaning rules. Use double colon so we can - add things in the makefiles in the subdirectories. - - * Makefile.in (DISTFILES): Distribute configure.in and configure. - (distclean): Also remove Makerules, config.log, and config.status. - (maintainer-clean): Depend on distclean. - -Mon Apr 10 09:55:13 1995 John Eaton - - * configure.in: New file. - -Fri Mar 10 10:38:29 1995 John Eaton - - * Makefile.in (install uninstall clean mostlyclean distclean - realclean): Use SUBDIR_FOR_COMMAND. Combine actions. - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/liboctave-ChangeLog --- a/OLD-ChangeLogs/liboctave-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14984 +0,0 @@ -2011-04-01 Jordi Gutiérrez Hermoso - - * MatrixType (MatrixType::operator =): Plug memory leak due to - improper handling of perm array (bug #32804). - -2011-03-29 Rik - - * Array.cc (diag): Treat empty vector (1x0 or 0x1) as valid input. - Improves Matlab compatibility (bug #32901). - -2011-02-13 David Bateman - - * Sparse-perm-op-defs.h (template - SM octinternal_do_mul_colpm_sm (const octave_idx_type *, - const SM&)): Ensure that the row indices are sorted. - -2011-03-14 Jordi Gutiérrez Hermoso - - * Sparse.cc (Sparse::alloc) Change std::copy_backward to - std::copy, since the destination is at the back and not the - front. Bug #32747, cf. entry from 2010-11-25 - -2011-02-08 John W. Eaton - - * oct-alloc.h: Include . - From Orion Poplawski . - -2011-02-06 John W. Eaton - - * PermMatrix.cc (operator*): Fix mixed row/column permutation - case. Bug #32346. - -2011-02-04 Rik - - * Makefile.am: Undo accidental checkin - -2011-02-03 John W. Eaton - - * cmd-hist.cc (gnu_history::do_process_histcontrol): - Rename from command_history::do_process_histcontrol. - (gnu_history::do_histcontrol): Rename from - command_history::do_histcontrol. - * cmd-hist.h (command_history::do_histcontrol): Provide dummy version. - * cmd-hist.cc (command_history::do_process_histcontrol): Likewise. - Bug #32325. - -2011-02-02 John W. Eaton - - * Range.cc (Range::Range (double, double, octave_idx_type)): - Correctly compute limit from base, increment and number of - elements. Bug #32321. - -2011-01-31 John W. Eaton - - * Sparse.cc (Sparse::assign (const idx_vector&, const idx_vector&, - const Sparse&)): Handle case of LHS originally empty, and - with non-colon indices. Fix typo in previous change. Bug #32263. - -2011-01-30 Pascal Dupuis - - * lo-sysdep.cc (opendir): On error, free allocated DIR object - before returning. - -2011-01-28 John W. Eaton - - * eigs-base.cc: Remove #endif corresponding to "#ifdef HAVE_ARPACK", - not the one that matched "#if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL)". - -2011-01-28 John W. Eaton - - * eigs-base.cc (EigsRealNonSymmetricFunc, - EigsRealNonSymmetricMatrix, EigsRealNonSymmetricMatrixShift): - Initialize eig_vec2 to 0 before calling dneupd. - -2011-01-28 John W. Eaton - - * eigs-base.cc: Assume we have ARPACK. - -2011-01-27 John W. Eaton - - * Sparse.cc (Sparse::assign (const idx_vector&, const idx_vector&, - const Sparse&)): Allow 0x0 LHS with colon dimensions to - inherit dimensions from RHS. Fix tests. Bug #32263. - -2011-01-26 John W. Eaton - - * oct-refcount.h: Strip trailing whitespace. - -2011-01-24 Pascal Dupuis - - * SparseQR.h (class SparseQR::SparseQR_reps): Disallow copying. - * Array.cc (class rec_permute_helper, class rec_index_helper, - class rec_resize_helper): Likewise. - * cmd-edit.cc (class default_command_editor): Likewise. - -2011-01-22 Jaroslav Hajek - - * oct-refcount.h: New source. - * Makefile.am: Add it here. - - * Array.h: Use octave_refcount for refcounting. - * Sparse.h: Ditto. - * SparseCmplxQR.h: Ditto. - * SparseQR.h: Ditto. - * idx-vector.h: Ditto. - * oct-shlib.h: Ditto. - * sparse-base-chol.h: Ditto. - -2011-01-21 Pascal Dupuis - - * oct-fftw.h (class octave_fftw_planner): Disallow copying - (class octave_float_fftw_planner): Likewise. - * oct-sort.h (class octave_sort): Likewise. - (struct oct_sort::MergeState): Likewise. - * SparseCmplxQR.h (class SparseComplexQR::SparseComplexQR_rep): - Likewise. - * sparse-base-chol.h (class sparse_base_cho::sparse_base_chol_rep): - Likewise. - -2011-01-21 John W. Eaton - - * CMatrix.cc (xgemm): Initialize output matrix for call to ZHERK. - * fCMatrix.cc (xgemm): Initialize output matrix for call to CHERK. - -2011-01-20 John W. Eaton - - * Array-b.cc, Array-d.cc, Array-f.cc, Array-util.cc, - Array-util.h, Array.cc, Array.h, Array3.h, CColVector.cc, - CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, - CMatrix.h, CNDArray.cc, CNDArray.h, CSparse.cc, CSparse.h, - CmplxAEPBAL.cc, CmplxAEPBAL.h, CmplxCHOL.cc, CmplxGEPBAL.cc, - CmplxGEPBAL.h, CmplxHESS.cc, CmplxLU.h, CmplxQR.cc, CmplxQR.h, - CmplxSCHUR.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DASPK.cc, - DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, DET.h, - DiagArray2.h, EIG.cc, LSODE.cc, MArray.cc, MArray.h, - MDiagArray2.cc, MDiagArray2.h, MSparse.cc, MSparse.h, - MatrixType.cc, MatrixType.h, ODESFunc.h, PermMatrix.cc, - PermMatrix.h, Quad.cc, Range.cc, Sparse.cc, Sparse.h, - SparseCmplxCHOL.cc, SparseCmplxCHOL.h, SparseCmplxLU.cc, - SparseCmplxLU.h, SparseCmplxQR.cc, SparseCmplxQR.h, SparseQR.cc, - SparseQR.h, SparsedbleCHOL.cc, SparsedbleCHOL.h, - SparsedbleLU.cc, SparsedbleLU.h, base-aepbal.h, base-de.h, - base-lu.cc, base-lu.h, boolNDArray.cc, boolNDArray.h, - boolSparse.cc, boolSparse.h, bsxfun-defs.cc, chMatrix.cc, - chNDArray.cc, chNDArray.h, cmd-edit.cc, cmd-edit.h, cmd-hist.cc, - dColVector.h, dDiagMatrix.cc, dDiagMatrix.h, dMatrix.cc, - dMatrix.h, dNDArray.cc, dNDArray.h, dSparse.cc, dSparse.h, - dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleGEPBAL.cc, - dbleGEPBAL.h, dbleQR.cc, dbleQR.h, dbleSCHUR.h, dbleSVD.h, - dim-vector.cc, dim-vector.h, dir-ops.cc, eigs-base.cc, - f2c-main.c, fCColVector.cc, fCColVector.h, fCDiagMatrix.cc, - fCDiagMatrix.h, fCMatrix.cc, fCMatrix.h, fCNDArray.cc, - fCNDArray.h, fCRowVector.cc, fCRowVector.h, fCmplxAEPBAL.cc, - fCmplxAEPBAL.h, fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxGEPBAL.h, - fCmplxHESS.cc, fCmplxLU.h, fCmplxQR.cc, fCmplxQR.h, - fCmplxQRP.cc, fCmplxSCHUR.cc, fCmplxSVD.h, fColVector.h, - fDiagMatrix.cc, fDiagMatrix.h, fEIG.cc, fMatrix.cc, fMatrix.h, - fNDArray.cc, fNDArray.h, file-ops.cc, file-stat.cc, - floatAEPBAL.cc, floatAEPBAL.h, floatCHOL.cc, floatCHOL.h, - floatGEPBAL.cc, floatGEPBAL.h, floatLU.h, floatQR.cc, floatQR.h, - floatQRP.cc, floatSCHUR.h, floatSVD.h, idx-vector.cc, - idx-vector.h, intNDArray.cc, intNDArray.h, kpse.cc, - lo-array-gripes.cc, lo-array-gripes.h, lo-cieee.c, lo-ieee.h, - lo-mappers.cc, lo-mappers.h, lo-specfun.cc, mx-defs.h, - mx-inlines.cc, oct-binmap.h, oct-convn.cc, oct-env.cc, - oct-fftw.cc, oct-fftw.h, oct-glob.cc, oct-group.h, - oct-inttypes.cc, oct-inttypes.h, oct-locbuf.cc, oct-locbuf.h, - oct-md5.cc, oct-mem.h, oct-norm.cc, oct-norm.h, oct-rand.cc, - oct-rand.h, oct-rl-hist.c, oct-shlib.cc, oct-shlib.h, - oct-sort.cc, oct-sort.h, oct-spparms.cc, oct-spparms.h, - oct-syscalls.cc, oct-time.cc, randgamma.c, randmtzig.c, - randmtzig.h, randpoisson.c, regex-match.cc, regex-match.h, - sparse-base-chol.cc, sparse-base-chol.h, sparse-base-lu.cc, - sparse-base-lu.h, sparse-dmsolve.cc, sparse-sort.cc, - sparse-sort.h, sparse-util.h, tempname.c: - Strip trailing whitespace. - -2011-01-20 John W. Eaton - - * Array.h, Array.cc - (Array::resize2 (octave_idx_type, octave_idx_type, const T&)): - New private function. - (Array::resize (octave_idx_type, octave_idx_type, const T&)): - Deprecate. Call resize2 to do the work. Remove all uses from - Octave. - - * CMatrix.h (ComplexMatrix::resize (octave_idx_type, - octave_idx_type, const Complex&)): New function. - * dMatrix.h (Matrix::resize (octave_idx_type, - octave_idx_type, double)): New function. - * fCMatrix.h (FloatComplexMatrix::resize (octave_idx_type, - octave_idx_type, const FloatComplex&)): New function. - * fMatrix.h (FloatMatrix::resize (octave_idx_type, - octave_idx_type, const float)): New function. - -2011-01-20 David Bateman - - * Sparce.cc (template Sparse::Sparse (const Array&, - const idx_vector&, const idx_vector&, octave_idx_type, - octave_idx_type, bool, octave_idx_type): Fix off by one error in the - construction of sparse column vectors. Fix indexing issue in - construction of sparse row vectors. - * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::any (int) const): - Fully initialize cidx for any called on the first dimension. - -2011-01-19 John W. Eaton - - * Array.h (explicit Array (octave_idx_type, const T&)): - Restore constructor, but mark as deprecated. - (explicit Array (octave_idx_type, octave_idx_type)): Delete. - (Array (const Array&, octave_idx_type, octave_idx_type)): Delete. - Fix all uses in Octave. - * Array3.h: Deprecate header file. Remove all uses from Octave. - -2011-01-19 John W. Eaton - - * file-stat.cc (mode_as_string): Declare buffer as an array of - 12 characters, not 11. Don't set buf[10] to '\0'; strmode - NUL-terminates the array. - -2011-01-14 David Grundberg - - * SparseQR.cc (SparseQR_rep::SparseQR_rep) [HAVE_CXSPARSE]: - Make initialization list depend on macro. Fixes compile error when - macro isn't defined. - * SparseCmplxQR.cc (SparseComplexQR_rep::SparseComplexQR_rep) - [HAVE_CXSPARSE]: Ditto. - -2011-01-14 John W. Eaton - - * lo-mappers.cc (xfloor): Move function body here from - lo-mappers.h to avoid exposing gnulib:: in a header file. - -2011-01-14 John W. Eaton - - * file-stat.cc (mode_as_string): Call strmode instead of mode_string. - - * filemode.h, filemode.c: Delete. - * Makefile.am (INCS): Remove filemode.h from the list. - (LIBOCTAVE_C_SOURCES): Remove filemode.c from the list. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2011-01-13 John W. Eaton - - * CColVector.cc, CMatrix.cc, CRowVector.cc, CSparse.cc, - CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxLU.cc, CmplxQR.cc, - CmplxQRP.cc, EIG.cc, Quad.cc, dColVector.cc, dMatrix.cc, - dRowVector.cc, dSparse.cc, dbleAEPBAL.cc, dbleCHOL.cc, - dbleLU.cc, dbleQR.cc, dbleQRP.cc, eigs-base.cc, fCColVector.cc, - fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fCmplxAEPBAL.cc, - fCmplxCHOL.cc, fCmplxLU.cc, fCmplxQR.cc, fCmplxQRP.cc, - fCmplxSVD.cc, fColVector.cc, fEIG.cc, fMatrix.cc, fNDArray.cc, - fRowVector.cc, floatAEPBAL.cc, floatCHOL.cc, floatLU.cc, - floatQR.cc, floatQRP.cc, lo-specfun.cc, oct-convn.cc: - Style fixes. - -2011-01-13 John W. Eaton - - * CMatrix.cc (get_blas_trans_arg): Return char, not char *. - Change all uses. - * dMatrix.cc (get_blas_trans_arg): Likewise. - * fCMatrix.cc (get_blas_trans_arg): Likewise. - * fMatrix.cc (get_blas_trans_arg): Likewise. - Suggested by Pascal Dupuis . - -2011-01-13 John W. Eaton - - * filemode.c: Use prototypes for function definitions. Reorder - functions to eliminate need for forward declarations. - * filemode.h: New file. - * file-stat.cc: Include filemode.h instead of using local extern - declarations. - * Makefile.am (INCS): Add filemode.h to the list. - - * lo-cutils.h: New file. - (octave_qsort, octave_strcasecmp, octave_strncasecmp, - octave_w32_library_search, octave_waitpid): Move decls here from - lo-utils.h. - * Makefile.am (INCS): Add lo-cutils.h to the list. - * lo-utils.h: Include cutils.h. - * lo-cutils.c: Include cutils.h. - -2011-01-13 John W. Eaton - - * SparseCmplxQR.cc - (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): - Correct order of member initialization. - * SparseQR.cc (SparseQR::SparseQR_rep::SparseQR_rep): Likewise. - -2011-01-13 John W. Eaton - - * oct-fftw.cc (octave_fftw_planner::octave_fftw_planner, - octave_float_fftw_planner::octave_float_fftw_planner): - Avoid duplicate initializations. Correctly initialize RN to - empty dim_vector. - -2011-01-13 John W. Eaton - - * Sparse.cc (Sparse::Sparse): Initialize all data members in - initialization lists. - -2011-01-13 John W. Eaton - - * Array.cc (rec_permute_helper::rec_permute_helper, - rec_index_helper::rec_index_helper, - rec_resize_helper::rec_resize_helper): Initialize all data - members in initialization lists. - - * Array.h, Array.cc (Array::Array): Initialize slice_data and - slice_len in memeber initialization lists. - (Array::~Array): Now virtual. - -2011-01-13 John W. Eaton - - * oct-locbuf.h (octave_chunk_buffer::~octave_chunk_buffer): - Now virtual. - (class octave_local_buffer, class octave_chunk_buffer): - Don't allow copying or assignment. - - * file-stat.h (base_file_stat::~base_file_stat): - Now protected and virtual. - -2011-01-13 John W. Eaton - - * base-lu.h (base_lu::base_lu): Initialize all data members in - initialization lists. - * base-qr.h (base_qr::base_qr): Likewise. - * DET.h (base_det::base_det): Likewise. - * sparse-base-lu.h (sparse_base_lu::sparse_base_lu): Likewise. - * sparse-base-chol.h (sparse_base_chol::sparse_base_chol): Likewise. - - * base-lu.h (base_lu::~base_lu): Explicitly define virtual destrutor. - * base-qr.h (base_qr::~base_qr): Likewise. - * base-aepbal.h (base_aepbal::~base_aepval): Likewise. - * sparse-base-lu.h (sparse_base_lu::~sparse_base_lu): Likewise. - * sparse-base-chol.h (sparse_base_chol::~sparse_base_chol): Likewise. - -2011-01-13 John W. Eaton - - * DAE.h (DAE::~DAE): Now virtual. - * DAERT.h (DAERT::~DAERT): Likewise. - * ODE.h (ODE::~ODE): Likewise. - * DAEFunc.h (DAEFunc::~DAEFunc): Likewise. - * DAERTFunc.h (DAEFunc::~DAEFunc): Likewise. - * ODEFunc.h (ODE::~ODE): Likewise. - * ODESFunc.h (ODESFunc::~ODESFunc): Likewise. - -2011-01-13 John W. Eaton - - * idx-vector.h (idx_vector_rep::idx_vector_rep, - idx_vector::idx_mask_rep::idx_mask_rep): - Initialize all data members in initialization lists. - - * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep): - Initialize data in member initialization list. - (class idx_base_rep, class idx_colon_rep, class idx_range_rep, - class idx_scalar_rep, class idx_vector_rep, class idx_mask_rep): - Don't allow assignment. - -2011-01-13 John W. Eaton - - * LSODE.h (class LSODE): Delete pointer data members. - (LSODE::LSODE): Initialize all data members in initialization lists. - * LSODE.cc (LSODE::integrate): Extract pointers to data from - array data members at each call. - - * DASPK.h (class DASPK): Delete pointer data members. - (DASPK::DASPK): Initialize all data members in initialization lists. - * DASPK.cc (DASPK::integrate): Extract pointers to data from - array data members at each call. - - * DASSL.h (class DASSL): Delete pointer data members. - (DASSL::DASSL): Initialize all data members in initialization lists. - * DASSL.cc (DASSL::integrate): Extract pointers to data from - array data members at each call. - - * DASRT.h (class DASRT): Delete pointer data members. - (DASRT::DASRT): Initialize all data members in initialization lists. - * DASRT.cc (DASRT::integrate): Extract pointers to data from - array data members at each call. - -2011-01-13 John W. Eaton - - * kpse.cc (struct str_llist_elt, struct cache_entry): - Explicitly define constructor and destructor. - - * Quad.h (Quad::Quad, IndefQuad::IndefQuad, - FloatIndefQuad::FloatIndefQuad): Initialize all data members in - initialization lists. - * CollocWt.h (CollocWt::CollocWt): Likewise. - * oct-time.h (octave_strptime::octave_strptime): Likewise. - * oct-time.cc (octave_time::octave_time): Likewise. - * pathsearch.h (dir_path::dir_path): Likewise. - * regex-match.h (regex_match::regex_match): Likewise. - * oct-sort.h (octave_sort::MergeState::MergeState): Likewise. - * oct-shlib.h, oct-shlib.cc (octave_shlib::shlib_rep::shlib_rep, - octave_shlib::octave_shlib): Likewise. - * oct-mutex.h, oct-mutex.cc (octave_mutex::octave_mutex): Likewise. - * MatrixType.cc (MatrixType::MatrixType): Likewise. - * oct-fftw.cc (octave_fftw_planner::octave_fftw_planner, - octave_float_fftw_planner::octave_float_fftw_planner): Likewise. - - * mach-info.h, mach-info.cc (oct_mach_info::oct_mach_info): - Initialize all data members in initialization lists. - (ten_little_endians): Rename from oct_mach_info::ten_little_endians. - Now static instead of private member function - (get_float_format): Rename from oct_mach_info::init_float_format. - Now static instead of private member function. - - * dir-ops.h, dir-ops.cc (dir_entry::copy): Delete. - (dir_entry::dir_entry): Initialize all data members in - initialization lists. - (dir_entry::operator =): Copy elements directly here instead of - calling copy. - -2011-01-13 John W. Eaton - - * cmd-hist.h, cmd-hist.cc: Sprinkle with const. - -2011-01-13 John W. Eaton - - * CmplxCHOL.h (ComplexCHOL::ComplexCHOL): Initialize all data - members in constructor initialization lists. - * CmplxGEPBAL.h (ComplexGEPBALANCE::ComplexGEPBALANCE): Likewise. - * CmplxHESS.h (ComplexHESS::ComplexHESS): Likewise. - * CmplxSCHUR.h, CmplxSCHUR.cc (ComplexSCHUR::ComplexSCHUR): Likewise. - * CmplxSVD.h (ComplexSVD::ComplexSVD): Likewise. - * DET.h (base_det::base_det): Likewise. - * EIG.h (EIG::EIG): Likewise. - * SparseCmplxQR.cc - (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): - Likewise. - * SparseQR.cc (SparseQR::SparseQR_rep::SparseQR_rep): Likewise. - * dbleCHOL.h (CHOL::CHOL): Likewise. - * dbleGEPBAL.h (GEPBALANCE::GEPBALANCE): Likewise. - * dbleHESS.h (HESS::HESS): Likewise. - * dbleSCHUR.h, dbleSCHUR.cc (SCHUR::SCHUR): Likewise. - * dbleSVD.h (SVD::SVD): Likewise. - * fCmplxCHOL.h (FloatComplexCHOL::FloatComplexCHOL): Likewise. - * fCmplxGEPBAL.h - (FloatComplexGEPBALANCE::FloatComplexGEPBALANCE): Likewise. - * fCmplxHESS.h (FloatComplexHESS::FloatComplexHESS): Likewise. - * fCmplxSCHUR.h, fCmplxSCHUR.cc - (FloatComplexSCHUR::FloatComplexSCHUR): Likewise. - * fCmplxSVD.h (FloatComplexSVD::FloatComplexSVD): - Likewise. - * fEIG.h (FloatEIG::FloatEIG): Likewise. - * floatCHOL.h (FloatCHOL::FloatCHOL): Likewise. - * floatGEPBAL.h (FloatGEPBALANCE::FloatGEPBALANCE): Likewise. - * floatHESS.h (FloatHESS::FloatHESS): Likewise. - * floatSCHUR.h, floatSCHUR.cc (FloatSCHUR::FloatSCHUR): Likewise. - * floatSVD.h (FloatSVD::FloatSVD): Likewise. - -2011-01-13 John W. Eaton - - * LSODE.cc, DASSL.cc, DASRT.cc, DASPK.cc, CmplxSVD.cc, - CmplxSCHUR.cc, CmplxHESS.cc, CmplxGEPBAL.cc, CmplxCHOL.cc, - EIG.cc, dbleCHOL.cc, dbleGEPBAL.cc, dbleHESS.cc, dbleSCHUR.cc, - dbleSVD.cc, fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxHESS.cc, - fCmplxSCHUR.cc, fCmplxSVD.cc, fEIG.cc, floatCHOL.cc, - floatGEPBAL.cc, floatHESS.cc, floatSCHUR.cc, floatSVD.cc: - Style fixes. - -2011-01-12 John W. Eaton - - * oct-rl-hist.c (hc_erasedups): Avoid GCC warning. - -2011-01-12 Jordi Gutiérrez Hermoso - - * oct-rl-hist.h: Replace macros with an enum - -2011-01-12 Pascal Dupuis - John W. Eaton - - * cmd-hist.cc (command_history::process_histcontrol, - command_history::hist_control, command_history::process_histcontrol, - command_history::hist_control): New functions. - (command_history::initialize, command_history::do_initialize): - New arg, control_arg. - * cmd-hist.cc (gnu_history::do_add): Pass history_control to - octave_add_history. - * cmd-hist.h (command_history::process_histcontrol, - command_history::hist_control, command_history::process_histcontrol, - command_history::hist_control): Provide decls. - (command_history::history_control): New data member. - - * oct-rl-hist.c (octave_add_history): New arg, history_control. - Return int, not void. - (check_history_control, hc_erasedups): New static functions - borrowed from Bash. - * oct-rl-hist.h (octave_add_history): Fix decl. - (HC_IGNSPACE, HC_IGNDUPS, HC_ERASEDUPS): New #defined constants. - -2011-01-06 John W. Eaton - - * oct-md5.cc (oct_md5_file): Tag call to fclose with gnulib::. - * Range.cc (tfloor): Tag calls to floor with gnulib::. - * lo-mappers.h (xfloor): Tag call to floor with gnulib:: - -2010-12-20 John W. Eaton - - * lo-mappers.h (xrem, xmod): Declare temporary result from - multiplication volatile. - -2010-12-15 John W. Eaton - - Bug #31883. - - * cmd-hist.cc (command_history::do_clean_up_and_save, - command_history::do_truncate_file, - command_history::do_append, command_history::do_write, - gnu_history::do_clean_up_and_save, gnu_history::do_truncate_file, - gnu_history::do_append, gnu_history::do_write, - gnu_history::do_read_range): - Don't do anything if not initialized. - - * cmd-hist.cc, cmd-hist.h (command_history::initialize, - command_history::is_initialized): New static functions. - (command_history::do_initialize, - command_history::do_is_initialized): New member functions. - - * cmd-hist.h (command_history::initialized): New data member. - (comand_history::command_history): Initialize it. - -2010-12-14 John W. Eaton - - * lo-mappers.h (xcopysign (double)): Call copysign, not copysignf. - (xmod): Call X_NINT, not D_NINT. Call xfloor, not floor. - Bug #31872. - -2010-12-13 John W. Eaton - - * CMatrix.cc (operator * (const Matrix& m, const ComplexMatrix& a)): - Fix cut and paste error. Bug #31869. - -2010-12-09 Marco Atzeri - - * lo-specfun.cc (xgamma): Also handle negative integer values as - special cases when using tgamma. Bug #31772. - -2010-11-25 John W. Eaton - - * Sparse.cc (Sparse::assign): Use correct endpoint for - destination range when making room for new elements. - Bug #31734. - -2010-11-23 John W. Eaton - - * oct-md5.cc (oct_md5_result_to_str): Avoid buffer overrun in - call to sprintf. Replace loop with a single call to sprintf. - Bug #31689. - -2010-11-23 John W. Eaton - - * oct-md5.cc (oct_md5_file): Close file after reading. - -2010-11-22 John W. Eaton - - * boolSparse.cc (SparseBoolMatrix::sum, SparseBoolMatrix::any): - Cast integer idx_vector argument to octave_idx_type. - -2010-11-18 John W. Eaton - - * chMatrix.cc (charMatrix::row_as_string): Never strip trailing - nul characters. Bug #31689. - -2010-11-12 John W. Eaton - - * Makefile.am (LIBOCTAVE_SOURCES): Delete variable. - (liboctave_la_SOURCES): Include $(LIBOCTAVE_CXX_SOURCES) and - $(LIBOCTAVE_C_SOURCES) in this list instead of - $(LIBOCTAVE_SOURCES). - (nodist_liboctave_la_SOURCES): New variable. - (octinclude_HEADERS): Don't include $(BUILT_INCS) in the list. - (noinst_octinclude_HEADERS): New variable. - (PRIVATE_INCS): Delete variable. - (INCS): Include oct-glob.h in the list. - (liboctave_la_SOURCES): Don't include $(PRIVATE_INCS) in the - list. - (LIBOCT_PATHSEARCH_CXX_SOURCES, LIBOCT_PATHSEARCH_C_SOURCES, - LIBOCT_PATHSEARCH_SOURCES): Delete variables. - (LIBOCTAVE_CXX_SOURCES): Include pathsearch.cc in the list. - -2010-11-12 John W. Eaton - - * Array.cc (Array::cat): Simplify previous change. - -2010-11-11 John W. Eaton - - * Array.cc (Array::cat): New special case for concatenating - empty matrices. Bug #31615. - -2010-11-11 John W. Eaton - - * lo-mappers.cc (xtrunc, xround): Move definitions here from - lo-mappers.h. - -2010-11-10 John W. Eaton - - * kpse-xfns.c: Delete. - * kpse-xfns.h: Delete. Move defintions to kpse.cc. - * Makefile.am (INCS): Remove kpse-xfns.h from the list. - (LIBOCT_PATHSEARCH_SOURCES): Define to pathsearch.cc. - (LIBOCT_PATHSEARCH_CXX_SOURCES, LIBOCT_PATHSEARCH_C_SOURCES): - Delete variables. - -2010-11-10 John W. Eaton - - * lo-cieee.c Eliminate special cases for SCO. - -2010-11-10 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Don't initialize octave_Inf, - octave_NaN, and octave_NA to DBL_MAX. Don't initialize - octave_Float_Inf, octave_Float_NaN, and octave_Float_NA to FLT_MAX. - (octave_ieee_init): Simplify using std::numeric_limits template. - -2010-11-10 John W. Eaton - - * syswait.h: Delete special cases for NeXT systems. - -2010-11-10 John W. Eaton - - * lo-sysdep.cc (octave_chdir): Delete special case for __EMX__. - * oct-env.cc (octave_env::do_make_absolute): Likewise. - -2010-11-10 John W. Eaton - - * lo-ieee.h: Eliminate special cases for SCO. - * lo-ieee.cc (octave_ieee_init): Eliminate special cases for SCO. - -2010-11-09 John W. Eaton - - * lo-mappers.h (xmod, xrem): Don't copy sign if result is zero. - -2010-11-09 John W. Eaton - - * lo-mappers.cc, lo-mappers.h (xisnan, xisinf, xfinite, xmod, - xrem, floor, ceil, xround, xroundb, signum): Move definitions - from lo-mappers.cc to lo-mappers.h and convert to templates. - (xtrunc): Move definitions from lo-mappers.cc to lo-mappers.h. - * lo-mappers.cc (fix): Use xtrunc. Move definitions to - lo-mappers.cc from lo-mappers.h. - (real, imag, conj) Move definitions to lo-mappers.h and declare inline. - (round): Move definitions to lo-mappers.h and declare inline. - Use roundf for float version. - (arg): Move definitions to lo-mappers.h and declare inline. - Use atan2f for float version. - * lo-mappers.h (xceil): New functions. - (X_NINT): New template function. - (D_NINT, F_NINT): Define in terms of X_NINT. - * lo-utils.h, lo-utils.cc (D_NINT, F_NINT): Delete. - * lo-mappers.h, lo-mappers.cc (NINTbig, NINT): Move from - lo-utils.cc and lo-utils.h. - -2010-11-09 John W. Eaton - - * Array.cc (Array::sort, Array::is_sorted, - Array::is_sorted_rows): Use comparisons to sortmode values - instead of testing mode directly. - -2010-11-09 John W. Eaton - - * lo-mappers.cc (xmod, xrem): New functions. - (mod): Delete. - * lo-mappers.h (xmod, xrem): Provide decls. - -2010-10-31 Michael Goffioul - - * dim-vector.h (class dim_vector): tag with OCTAVE_API. - -2010-10-21 John W. Eaton - - * Makefile.am (INCS): Include lo-array-gripes.h in the list. - (LIBOCTAVE_CXX_SOURCES): Include lo-array-gripes.cc in the list. - - * lo-array-gripes.h: New file. Move gripe function decls here - from Array-util.h. - * lo-array-gripes.c: New file. Move gripe function definitions - here from Array-util.cc. - - * CMatrix.cc (ComplexMatrix::operator !): Gripe if any element is NaN. - * CNDArray.cc (ComplexNDArray::operator !): Likewise. - * CSparse.cc (SparseComplexMatrix::operator !): Likewise. - * dMatrix.cc (Matrix::operator !): Likewise. - * dNDArray.cc (NDArray::operator !): Likewise. - * dSparse.cc (SparseMatrix::operator !): Likewise. - * fCMatrix.cc (FloatComplexMatrix::operator !): Likewise. - * fCNDArray.cc (FloatComplexNDArray::operator !): Likewise. - * fMatrix.cc (FloatMatrix::operator !): Likewise. - * fNDArray.cc (FloatNDArray::operator !): Likewise. - -2010-10-21 John W. Eaton - - * Array-util.cc (gripe_nan_to_character_conversion): New function. - * Array-util.h: Provide decl. - -2010-10-19 John W. Eaton - - * Makefile.am (INCS): Add caseless-str.h to the list. - -2010-10-01 John W. Eaton - - * caseless-str.h: New file, extracted from src/graphics.h.in. - -2010-09-22 Jaroslav Hajek - - * lo-utils.cc (xis_int_or_inf_or_nan): Fix typos. - -2010-09-21 Jaroslav Hajek - - * Array.h (Array::test, Array::test_all, Array::test_any): New - overloaded template methods. - * lo-mappers.h (xisinteger, xnegative_sign): New bool mappers. - * dNDArray.cc (NDArray::any_element_is_negative, - NDArray::all_integers): Simplify. - * fNDArray.cc (FloatNDArray::any_element_is_negative, - FloatNDArray::all_integers): Simplify. - - * lo-utils.cc (xis_int_or_inf_or_nan, xis_one_or_zero, - xis_zero, xtoo_large_for_float): New utility functions. - - * dNDArray.cc (NDArray::any_element_is_negative, - NDArray::all_integers, NDArray::all_elements_are_zero, - NDArray::all_elements_are_int_or_inf_or_nan, - NDArray::any_element_not_one_or_zero, - NDArray::too_large_for_float): Simplify. - - * fNDArray.cc (FloatNDArray::any_element_is_negative, - FloatNDArray::all_integers, FloatNDArray::all_elements_are_zero, - FloatNDArray::all_elements_are_int_or_inf_or_nan, - FloatNDArray::any_element_not_one_or_zero, - FloatNDArray::too_large_for_float): Simplify. - -2010-09-21 Jaroslav Hajek - - * dNDArray.cc (NDArray::any_element_is_negative, - NDArray::any_element_is_nan, - NDArray::any_element_is_inf_or_nan): Simplify. - * fNDArray.cc (FloatNDArray::any_element_is_negative, - FloatNDArray::any_element_is_nan, - FloatNDArray::any_element_is_inf_or_nan): Simplify. - * dMatrix.cc (Matrix::any_element_is_negative, - Matrix::any_element_is_nan, - Matrix::any_element_is_inf_or_nan): Simplify. - * fMatrix.cc (FloatMatrix::any_element_is_negative, - FloatMatrix::any_element_is_nan, - FloatMatrix::any_element_is_inf_or_nan): Simplify. - * CNDArray.cc (ComplexNDArray::any_element_is_negative, - ComplexNDArray::any_element_is_nan, - ComplexNDArray::any_element_is_inf_or_nan): Simplify. - * fCNDArray.cc (FloatComplexNDArray::any_element_is_negative, - FloatComplexNDArray::any_element_is_nan, - FloatComplexNDArray::any_element_is_inf_or_nan): Simplify. - * CMatrix.cc (ComplexMatrix::any_element_is_negative, - ComplexMatrix::any_element_is_nan, - ComplexMatrix::any_element_is_inf_or_nan): Simplify. - * fCMatrix.cc (FloatComplexMatrix::any_element_is_negative, - FloatComplexMatrix::any_element_is_nan, - FloatComplexMatrix::any_element_is_inf_or_nan): Simplify. - -2010-09-21 John W. Eaton - - * oct-env.cc (do_get_host_name): Call gnulib::gethostname - instead of octave_gethostname. - - * lo-utils.h, lo-cutils.c (octave_gethostname): Delete. - -2010-09-20 John W. Eaton - - * oct-time.cc (octave_time::octave_time, octave_strptime::init): - Call gnulib::mktime instead of mktime (may fix bug #31079). - -2010-09-15 Jaroslav Hajek - - * dSparse.h (SparseMatrix::SparseMatrix (const Sparse&)): - New ctor. - * CSparse.h (SparseComplexMatrix::SparseComplexMatrix - (const Sparse&)): New ctor. - * boolSparse.cc (SparseBoolMatrix::sum): New method. - * boolSparse.h: Declare it. - -2010-09-15 Jaroslav Hajek - - * boolSparse.cc (SparseBoolMatrix::any): Optimize. - -2010-08-24 Jaroslav Hajek - - * Array-ch.cc: Inline basic sorts. - -2010-08-21 Rik - - * CmplxQRP.cc, CmplxQRP.h, dbleQRP.cc, dbleQRP.h, fCmplxQRP.cc, - fCmplxQRP.h, floatQRP.cc, floatQRP.h: Declare Pvec as RowVector, - not ColumnVector. Bug #30832. - -2010-08-18 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_all_finite): New check. - * Sparse-op-defs.h (SPARSE_SMS_BIN_OP_1, SPARSE_SMS_BIN_OP_2, - SPARSE_SSM_BIN_OP_1, SPARSE_SSM_BIN_OP_2): Use unchecked access where - appropriate. - (SPARSE_SMM_BIN_OP_1, SPARSE_MSM_BIN_OP_1): Simplify. - (SPARSE_SMM_BIN_OP_2, SPARSE_MSM_BIN_OP_2): Use optimized code path - if all values are finite. - (SPARSE_MSM_BIN_OPS): Use SPARSE_MSM_BIN_OP_1 for division. - -2010-07-31 Rik - - * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in, LSODE-opts.in, - Quad-opts.in: Grammarcheck .cc files - -2010-07-29 Jaroslav Hajek - - * dim-vector.cc (dim_vector::dim_max (void)): Turn it into a function. - (dim_vector::safe_numel): Update usage. - * dim-vector.h: Update declaration. - -2010-07-27 Jaroslav Hajek - - * dbleSCHUR.cc (SCHUR::SCHUR (const Matrix&, const Matrix&)): - New ctor. - * dbleSCHUR.h: Declare it. - * floatSCHUR.cc (FloatSCHUR::FloatSCHUR (const FloatMatrix&, const - FloatMatrix&)): New ctor. - * floatSCHUR.h: Declare it. - * CmplxSCHUR.cc (ComplexSCHUR::ComplexSCHUR (const ComplexMatrix&, - const ComplexMatrix&), - ComplexSCHUR::ComplexSCHUR (const SCHUR&)): New ctors. - * CmplxSCHUR.h: Declare them. - * fCmplxSCHUR.cc (FloatComplexSCHUR::FloatComplexSCHUR - (const FloatComplexMatrix&, const FloatComplexMatrix&), - FloatComplexSCHUR::FloatComplexSCHUR (const FloatSCHUR&)): New ctors. - * fCmplxSCHUR.h: Declare them. - -2010-07-22 Jaroslav Hajek - - * dMatrix.cc (Matrix::lssolve): Fix decision test for workaround. - * fMatrix.cc (FloatMatrix::lssolve): Ditto. - * CMatrix.cc (ComplexMatrix::lssolve): Ditto. - * fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto. - -2010-07-20 Jaroslav Hajek - - * dim-vector.cc (dim_vector::dim_max): New static const member. - * dim-vector.h: Declare it. - -2010-07-20 Jaroslav Hajek - - * dMatrix.cc (Matrix::extract, Matrix::extract_n): Reimplement using - index. - * fMatrix.cc (FloatMatrix::extract, FloatMatrix::extract_n): Ditto. - * CMatrix.cc (ComplexMatrix::extract, ComplexMatrix::extract_n): Ditto. - * fCMatrix.cc (FloatComplexMatrix::extract, FloatComplexMatrix::extract_n): Ditto. - -2010-07-13 Jaroslav Hajek - - * MSparse.h (MSparse::index): Remove overloads. - * dSparse.h (SparseMatrix::index): Likewise. - * dSparse.cc (SparseMatrix::index): Likewise. - * CSparse.h (SparseComplexMatrix::index): Likewise. - * CSparse.cc (SparseComplexMatrix::index): Likewise. - -2010-07-09 Jaroslav Hajek - - * CMatrix.cc (ComplexMatrix::lssolve (const ComplexMatrix&)): - Undo 10708:2786b7ae3f80, implement proper correction. - * fCMatrix.cc (FloatComplexMatrix::lssolve (const FloatComplexMatrix&)): - Ditto. - -2010-06-28 Jaroslav Hajek - - * dim-vector.h (dim_vector::scalar_1x1): New method. - * lo-traits.h (equal_types): Fix. - -2010-06-21 Jaroslav Hajek - - * Array.cc (Array::cat): Implement the loose horzcat/vertcat rules - under dim=-1/-2. - * Sparse.cc (Array::cat): Implement the loose horzcat/vertcat rules - under dim=-1/-2. - * Array.h, Sparse.h: Document it. - -2010-06-17 Jaroslav Hajek - - * dim-vector.cc (dim_vector::hvcat): New method. - * dim-vector.h (dim_vector::hvcat, dim_vector::cat): Update decls. - (dim_vector::empty_2d): New method. - -2010-06-17 Jaroslav Hajek - - * MatrixType.cc (matrix_real_probe): Use OCTAVE_LOCAL_BUFFER for - temporary array. - (matrix_complex_probe): Parametrize by real type. Use - OCTAVE_LOCAL_BUFFER for temporary array. - -2010-06-16 Rik - - * DASSL-opts.in: Periodic grammar check on documentation. - -2010-06-16 David Bateman - - * oct-rand.cc (void octave_rand:do_reset (void), - void octave_rand:do_reset (const std::string&)): New functions - * oct-rand.h (void octave_rand:do_reset (void), - void octave_rand:do_reset (const std::string&)): Declare them - (void octave_rand:reset (void), - void octave_rand:reset (const std::string&)): New functions. - -2010-06-16 Jaroslav Hajek - - * CMatrix.cc (ComplexMatrix::lssolve (const ComplexMatrix&)): - Workaround LAPACK bug. - * fCMatrix.cc (FloatComplexMatrix::lssolve (const FloatComplexMatrix&)): - Ditto. - -2010-06-14 Jaroslav Hajek - - * Array.cc (Array::sort, Array::nth_element): Fix behavior when - trailing singleton dim is specified. - * Sparse.cc (Sparse::sort): Ditto. - -2010-06-14 Jaroslav Hajek - - * idx-vector.cc (idx_vector::copy_data): Handle class_mask case. - (idx_vector::increment): Fix class_colon and add class_mask. - -2010-06-06 Michael Goffioul - - * mx-op-defs.h (MNANCHK): Add matrix element type argument and use it - to specify template argument for mx_inline_any_nan. - (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP, - NDND_BOOL_OP): Specify new MNANCHK argument. - -2010-06-04 Jaroslav Hajek - - * dim-vector.cc: New source. - * Makefile.am: Add it. - * dim-vector.h (dim_vector::chop_all_singletons, - dim_vector::str, dim_vector::num_ones, dim_vector::safe_numel, - dim_vector::squeeze, dim_vector::concat, dim_vector::redim): - Move bodies to dim_vector.cc. - (dim_vector::concat): Rewrite. - * Array.cc (Array::cat): Fix dim_vector concatenation. Don't use 0x0 - as neutral element, because it isn't with dim > 1. - -2010-06-01 Jaroslav Hajek - - * Array.cc (Array::optimize_dimensions): New method. - * Array.h: Declare it. - -2010-06-01 Jaroslav Hajek - - * Array.cc (Array::maybe_delete_dims): Remove method (makes no - longer sense). - * Array.h: Update decls. - -2010-05-20 Jaroslav Hajek - - * dim-vector.h (dim_vector::compute_index (const octave_idx_type *, - int)): New method overload. - (dim_vector::compute_index, dim_vector::cum_compute_index, - dim_vector::increment_index): Add missing const qualifiers. - - * Array-util.cc (compute_index (..., const dim_vector&)): Rewrite, - add new overloads. Move code from Array::checkelem here. - * Array-util.h: Update decls. - * Array.h (Array::compute_index): Forward to the above. - (Array::compute_index_unchecked): New method. - (Array::elem, Array::xelem): Call it here. - - * Array.cc (Array::checkelem): Use compute_index where suitable. - -2010-05-19 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_cumcount): Fix 2D version instantiation. - -2010-05-14 Jaroslav Hajek - - * Array.cc (Array::linearize): Remove. - * Array.h (Array::linearize): Remove decl. - -2010-05-13 Jaroslav Hajek - - * dMatrix.cc (Matrix::lssolve): Remove warnings about rank. - * fMatrix.cc (FloatMatrix::lssolve): Ditto. - * CMatrix.cc (ComplexMatrix::lssolve): Ditto. - * fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto. - -2010-05-11 Jaroslav Hajek - - * idx-vector.cc (idx_vector::unmask): Fix off-by-1 bug. Add tests. - -2010-05-06 Jaroslav Hajek - - * Array.cc (Array::delete_elements (const idx_vector&)): Only call - resize1 when deleting the last element of a vector. - -2010-05-06 Jaroslav Hajek - - * oct-norm.h: Fix include guard. - -2010-05-06 Jaroslav Hajek - - * dbleSCHUR.cc (SCHUR::init): Handle empty matrix case. - Use clear rather than resize to realloc matrix. - * floatSCHUR.cc (FloatSCHUR::init): Ditto. - * CmplxSCHUR.cc (ComplexSCHUR::init): Ditto. - * fCmplxSCHUR.cc (FloatComplexSCHUR::init): Ditto. - -2010-05-04 John W. Eaton - - * CollocWt.cc (diff, jcobi, dfopr): New functions, based on - Fortran functions in libcruft/villad. - (jcobi): Handle iteration failure at large N. - (CollocWt::init): Call them instead of Fortran code. - * CollocWt.h (CollocWt::initialized): Declare as bool, not int. - Change all uses. - Addresses bug #29473. - -2010-05-03 Jaroslav Hajek - - * dbleSVD.h (SVD::driver): New enum. - (SVD::SVD, SVD::init): Add driver option. - * floatSVD.h (FloatSVD::FloatSVD, FloatSVD::init): Add driver option. - * CmplxSVD.h (ComplexSVD::ComplexSVD, ComplexSVD::init): - Add driver option. - * fCmplxSVD.h (FloatComplexSVD::FloatComplexSVD, - FloatComplexSVD::init): Add driver option. - * dbleSVD.cc (SVD::init): Optionally use xGESDD driver. - * floatSVD.cc (FloatSVD::init): Ditto. - * CmplxSVD.cc (ComplexSVD::init): Ditto. - * fCmplxSVD.cc (FloatComplexSVD::init): Ditto. - -2010-04-28 John W. Eaton - - * dim-vector.h (dim_vector (const octave_idx_type *, size_t)): Delete. - * Sparse.cc (Sparse::assign): Cast 0 to octave_idx_type in - call to Sparse constructor. - Addresses bug #29692. - -2010-04-27 John W. Eaton - - * intNDArray.cc (intNDArray::abs, intNDArray::signum): - Create new vector for return values. Fixes bug #29685. - -2010-04-23 Jaroslav Hajek - - * Sparse.cc (Sparse::assign): Fix typos. - -2010-04-20 Jaroslav Hajek - - * Sparse.h (::assign, ::assign1): Remove declarations. - -2010-04-19 Jaroslav Hajek - - * Array.cc (Array::cat): Fast return for single array case. - * Sparse.cc (Sparse::cat): Ditto. - -2010-04-19 Jaroslav Hajek - - * Array.cc (Array::cat): Miscellaneous fixes. - * Sparse.cc (Sparse::cat): Ditto. - -2010-04-18 Jaroslav Hajek - - * Array.cc (Array::cat): New method. - * Array.h: Declare it. - * Sparse.cc (Sparse::cat): New method. - * Sparse.h: Declare it. - -2010-04-16 David Bateman - - * Sparse.cc (template Sparse::Sparse (const Array&, - const idx_vector&, const idx_vector&, octave_idx_type, - octave_idx_type, bool, octave_idx_type)): Add argument defining the - minimum storage to allocate for the sparse matrix. - * Sparse.h (template Sparse (const Array&, - const idx_vector&, const idx_vector&, octave_idx_type, - octave_idx_type, bool, octave_idx_type)): ditto. - * MSparse.h : ditto - * CSparse.h : ditto - * dSparse.h : ditto - * boolSparse.h : ditto - -2010-04-14 Jaroslav Hajek - - * Sparse.cc: Update failing tests. - -2010-04-13 Jaroslav Hajek - - * Sparse.cc (Sparse::index): If S is a sparse column vector, - forward S(I,1) and S(I,:) to 1D indexing. Handle permutation indexing - in the 1D case. - (Sparse::assign): If S is a sparse column vector, - forward S(I,1) = X and S(I,:) =X to 1D indexed assignment. - * idx-vector.cc (idx_vector::inverse_permutation): Add missing break. - -2010-04-13 Jaroslav Hajek - - * Array-util.cc (gripe_invalid_assignment_size, - gripe_assignment_dimension_mismatch): Move funcs here from Array.cc - * Array-util.h: Declare them. - * Array.cc: Remove them. - - * Sparse.cc (Sparse::assign): New overloaded method. - (Sparse::operator =): Update. - (Sparse::resize1): Rewrite to match sparse assignment specifics. - (Sparse::set_index, Sparse::clear_index, Sparse::index_count, - Sparse::value): Remove methods. - (::assign1, ::assign): Remove funcs. - - (INSTANTIATE_SPARSE): Move here from Sparse.h. - - * Sparse.h (Sparse::idx, Sparse::idx_count): Remove member - fields. Remove initializations from all ctors. - (Sparse::get_idx): Remove. - (Sparse::assign): Add decls. - (INSTANTIATE_SPARSE_ASSIGN, INSTANTIATE_SPARSE_AND_ASSIGN): Remove. - (INSTANTIATE_SPARSE): Move to Sparse.cc - - * Sparse-C.cc, Sparse-d.cc, Sparse-b.cc: Only call INSTANTIATE_SPARSE. - - * idx-vector.cc (idx_vector::inverse_permutation): New method. - * idx-vector.h: Declare it. - -2010-04-12 Jaroslav Hajek - - * Sparse.cc (Sparse::Sparse (const Array&, const idx_vector&, - const idx_vector&, ...)): Call maybe_compress after matrix is created. - -2010-04-09 Jaroslav Hajek - - * Sparse.cc (Sparse::diag): Change nzmax to nnz where appropriate. - * MatrixType.cc (MatrixType::MatrixType): Ditto. - * SparseQR.cc: Ditto. - * SparseCmplxQR.cc: Ditto. - * boolSparse.cc: Ditto. - -2010-04-08 Jaroslav Hajek - - * Sparse.cc (Sparse::resize (octave_idx_type, octave_idx_type)): - Rewrite. Be smarter esp. when resizing to more columns. - -2010-04-08 Jaroslav Hajek - - * dim-vector.h (dim_vector::concat): Ignore zero_by_zero, but not - all_zero arrays in concatenation (like Matlab). - -2010-04-07 Jaroslav Hajek - - * Sparse.cc (Sparse::index (const idx_vector&, bool)): Use shallow - copy when column is indexed by colon. - -2010-04-07 Jaroslav Hajek - - * Sparse.cc (lblookup): Move in front of Sparse::delete_elements. - -2010-04-07 Jaroslav Hajek - - * str-vec.h (string_vector::string_vector (const Array)): - New constructor. - -2010-04-06 Jaroslav Hajek - - * idx-vector.cc (idx_vector::complement): Rewrite. - -2010-04-06 Jaroslav Hajek - - * Sparse.cc (Sparse::maybe_delete_elements): Rename to - delete_elements. Use const reference arguments. - (Sparse::delete_elements (const idx_vector&, const idx_vector&)): - Rewrite. - (Sparse::maybe_delete_elements (int dim, const idx_vector&)): New - overload. - (Sparse::maybe_delete_elements (Array&)): Remove - overload. - -2010-04-06 Jaroslav Hajek - - * idx-vector.cc, Array-util.h, Array-util.cc: Reverse effects of - 4e64fbbd5c58. - -2010-04-02 John W. Eaton - - * Array-util.cc, idx-vector.cc, idx-vector.h: Style fixes. - -2010-04-02 John W. Eaton - - * idx-vector.cc (idx_vector::idx_vector (const Range&)): - Move here from idx-vector.h. Allow non-integer values in ranges, - but warn by default (for Matlab compatibility). - * Array-util.h, Array-util.cc (gripe_invalid_index): New arg, ERR. - If ERR is false, generate warning instead of error. - -2010-04-02 Jaroslav Hajek - - * Sparse.cc (Sparse::maybe_delete_elements): Rewrite. Optimize for - sparse column vectors. - -2010-04-01 Jaroslav Hajek - - * mx-inlines.cc: Declare all loops as throw (). Ditto for - corresponding applier arguments. - (do_mx_check): New applier. - (logical_value): Do not throw exceptions. - * mx-op-defs.h (SNANCHK, MNANCHK): New helper macros. - (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP, - NDND_BOOL_OP): Use them here. - -2010-03-31 Jaroslav Hajek - - * Sparse.cc (Sparse::Sparse (const Array&, - const Array&, ...), Sparse::Sparse (const Array&, - const Array&, ...)): - Remove old constructors. - * Sparse.h: Ditto. - * MSparse.h: Ditto. - * dSparse.h: Ditto. - * CSparse.h: Ditto. - * boolSparse.h: Ditto. - -2010-03-31 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_range_rep::as_array): Fix typo. - (idx_vector::raw): Use unchecked constructor. - * Sparse.cc (Sparse::Sparse (const Array&, const idx_vector&, - const idx_vector&, ...)): New ctor. - * Sparse.h: Declare it. - -2010-03-30 John W. Eaton - - * str-vec.cc (string_vector::string_vector (const char * const *)): - Create empty string_vector object if arg is NULL. - Fixes bug #29386. - -2010-03-29 Jaroslav Hajek - - * idx-vector.cc (idx_vector::raw): New method. - * idx-vector.h: Declare it. - -2010-03-27 David Bateman - - * oct-openmp.h: New file. - * Makefile.am (INCS): Add it here. - -2010-03-26 Jaroslav Hajek - - * Sparse.cc (Sparse::index (const idx_vector&, const idx_vector&, - bool)): Specialize for contiguous row range, row permutation, - and implement general case through double index-transpose. - -2010-03-25 John W. Eaton - - * eigs-base.cc (EigsComplexNonSymmetricFunc): Avoid warning - about deprecated Array constructor. - -2010-03-25 John W. Eaton - - * cmd-edit.cc, file-ops.cc, lo-math.h, lo-utils.cc, oct-env.cc, - dir-ops.cc, file-stat.cc, cmd-hist.cc, oct-time.cc, oct-time.h, - oct-uname.cc: Revert changes from 2010-03-24 and 2010-03-25. - -2010-03-25 Jaroslav Hajek - - * lo-mappers.cc (fix (double)): Forward to gnulib::trunc. - (fix (float)): Forward to gnulib::truncf. - (xround (double)): Forward to gnulib::round. - (xround (float)): Forward to gnulib::roundf. - (xtrunc (double)): Forward to gnulib::trunc. - (xtrunc (float)): Forward to gnulib::truncf. - -2010-03-25 David Grundberg - - * oct-time.h (octave_time): Revert ::modf to std::modf again now - that cmath is included again. - -2010-03-25 Jaroslav Hajek - - * lo-math.h: Include both "math.h" and "cmath". - -2010-03-24 David Grundberg - - * cmd-edit.cc: Include gnulib stdlib.h/string.h instead of C++ - headers. - * file-ops.cc: Include gnulib stdlib.h/stdio.h/string.h instead of - C++ headers. - * lo-math.h: Include gnulib math.h instead of C++ headers. - * lo-utils.cc: Include gnulib stdlib.h instead of C++ headers. - * oct-env.cc, dir-ops.cc, file-stat.cc, cmd-hist.cc: Include - gnulib string.h instead of C++ headers. - * oct-time.cc: Include gnulib time.h instead of C++ headers. - * oct-time.h (octave_time): Use default namespace ::modf instead - of std::modf. - * oct-uname.cc: Include gnulib string.h instead of C++ headers. - -2010-03-24 Jaroslav Hajek - - * Sparse.cc (lblookup): New helper func. - (Sparse::index (const idx_vector&, bool)): Use it here for lookups. - (Sparse::index (const idx_vector&, const idx_vector&, bool)): - Specialize for scalar row index. - -2010-03-23 John W. Eaton - - * config-ops.sh: Work properly for "all" cases. - -2010-03-23 Jaroslav Hajek - - * oct-inttypes.h (octave_int_arith_base::rem, octave_int_base::mod): - New methods. - (rem, mod): New template functions. - * lo-mappers.cc (rem, mod): New overloaded functions. - * lo-mappers.h: Declare them. - -2010-03-23 Jaroslav Hajek - - * oct-binmap.h: New source. - * Makefile.am: Include it here. - -2010-03-22 John W. Eaton - - * config-ops.sh: Accept additional arguments. - * Makefile.am ($(srcdir)/vx-op-inc.mk, $(srcdir)/mx-op-inc.mk - $(srcdir)/smx-op-inc.mk, $(srcdir)/vx-op-src.mk, $(srcdir)/mx-op-src.mk - $(srcdir)/smx-op-src.mk): Pass additional arguments to config-ops.sh. - -2010-03-22 Jaroslav Hajek - - * Sparse.cc (Sparse::index (const idx_vector&, const idx_vector&, - bool)): Handle resize_ok in advance. Optimize colon as the first index. - (Sparse::index (const idx_vector&, bool)): Small fixes. - -2010-03-22 Jaroslav Hajek - - * dSparse.cc (SparseMatrix::matrix_value): Simplify. - * CSparse.cc (SparseComplexMatrix::matrix_value): Simplify. - -2010-03-19 Jaroslav Hajek - - * Array-util.cc (gripe_invalid_resize): Move here from Array.cc. - * Array-util.h: Declare it. - * Array.cc: Use it. - - * idx-vector.cc (idx_vector::idx_mask_rep::unconvert): Fix non-owned - case. - (idx_vector::idx_mask_rep::as_array): New method. - * idx-vector.h: Declare it. - - * Sparse.cc (Sparse::index (const idx_vector&, bool)): Rewrite. - (Sparse::array_value): New method. - (Sparse::resize1): New method. - (Sparse::resize): Move resize_no_fill bodies in here. - (Sparse::resize_no_fill): Remove. - * Sparse.h: Update decls. - -2010-03-18 Jaroslav Hajek - - * Sparse.h (Sparse::index): Use const references. Use bool for - resize_ok. Remove Array overload. - * MSparse.h (MSparse::index): Ditto. - * dSparse.h, dSparse.cc (SparseMatrix::index): Ditto. - * CSparse.h, CSparse.cc (SparseComplexMatrix::index): Ditto. - * boolSparse.h, boolSparse.cc (SparseBoolMatrix::index): Ditto. - * Sparse.cc (Sparse::index): Ditto. Redim index to 2 dimensions. - Don't use non-const methods. Use gripe_index_out_of_range. - -2010-03-17 John W. Eaton - - * dim-vector.h (dim_vector): Also use DIM_VECTOR macro for 2 and - 3 dimensions. - -2010-03-17 Jaroslav Hajek - - * lo-macros.h: New source. - * dim-vector.h: Use the macro magic to define constructors - generically. - -2010-03-17 Jaroslav Hajek - - * dim-vector.h: Provide constructors up to order 7. - -2010-03-16 Jaroslav Hajek - - * lo-specfun.cc: Substitute cbrt and cbrtf if needed. - * lo-specfun.h: Declare cbrt and cbrtf if needed. - * configure.ac: Check for cbrt and cbrtf. - -2010-03-15 John W. Eaton - - * oct-glob.cc (octave_glob): Tag calls to glob and globfree with - gnulib::. - - * kpse.cc (DEBUG_START, DEBUGF, FATAL_PERROR, FATAL, KPSE_DEBUG, - log_search, find_first_of): Tag calls to - fputs with gnulib::. - (DEBUGF1, DEBUGF2, DEBUGF3, DEBUGF4, log_search, find_first_of, - kpse_element_dirs): Tag calls to fprintf with gnulib::. - (hash_lookup, search, find_first_of, kpse_element_dirs): - Tag calls to putc with gnulib::. - (do_subdir): Tag call to opendir with gnulib::. - (xclosedir): Tag call to closedir with gnulib::. Assume closedir - returns int value. - - * cmd-hist.cc (gnu_history::do_append): Tag calls to open and - close with gnulib::. - (command_history::error): Tag call to strerror with gnulib::. - - * cmd-edit.cc (gnu_readline::command_generator, - gnu_readline::command_quoter, gnu_readline::command_dequoter): - Tag call to malloc with gnulib::. - (default_command_editor::do_readline): Tag call to fputs with gnulib::. - (command_editor::error): Tag call to strerror with gnulib::. - - * sparse-util.cc (SparseCholPrint): Tag call to vfprintf with gnulib::. - - * oct-uname.cc (octave_uname::init): Tag call to strerror with gnulib::. - - * oct-time.cc (octave_time::stamp): Tag call to gettimeofday - with gnulib::. - (octave_strptime::init): Tag call to strptime with gnulib::. - - * oct-syscalls.cc (octave_syscalls::dup2, - octave_syscalls::execvp, octave_syscalls::fork, - octave_syscalls::vfork, octave_syscalls::getpgrp, - octave_syscalls::pipe, octave_syscalls::waitpid, - octave_syscalls::kill, octave_fcntl): - Tag call to strerror with gnulib::. - (octave_syscalls::dup2): Tag call to dup2 with gnulib::. - (octave_syscalls::popen2): Tag calls to close with gnulib::. - (octave_fcntl): Tag call to fcntl with gnulib::. - - * oct-env.cc (octave_env::error): Tag call to strerror with gnulib::. - - * lo-utils.cc (octave_putenv): Tag call to malloc with gnulib::. - (octave_fgets): Tag calls to malloc and realloc with gnulib::. - - * lo-sysdep.cc (octave_getcwd): Tag call to getcwd with gnulib::. - - * lo-mappers.cc (xround): Tag call to round with gnulib::. - - * file-stat.cc (file_stat::update_internal): Tag calls to lstat - and strerror with gnulib::. - (file_fstat::update_internal): Tag calls to fstat and strerror - with gnulib::. - - * file-ops.cc (octave_mkdir): Tag call to mkdir with gnulib::. - (octave_mkfifo): Tag call to mkfifo with gnulib::. - (octave_link): Tag call to link with gnulib::. - (octave_symlink): Tag call to symlink with gnulib::. - (octave_readlink): Tag call to readlink with gnulib::. - (octave_rename): Tag call to rename with gnulib::. - (octave_rmdir): Tag call to rmdir with gnulib::. - (octave_unlink): Tag call to unlink with gnulib::. - (octave_canonicalize_file_name): Tag call to - canonicalize_file_name with gnulib::. - (octave_mkdir, octave_mkfifo, octave_link, octave_symlink, - octave_readlink, octave_rename, octave_rmdir, octave_unlink, - octave_tempnam, octave_canonicalize_file_name): Tag calls to - strerror with gnulib::. - - * dir-ops.cc (dir_entry::close): Tag closedir call with gnulib::. - (dir_entry::open): Tag opendir and strerror calls with gnulib::. - -2010-03-09 Jaroslav Hajek - - * oct-inttypes.h (octave_int_base::ftrunc, octave_int_base::fnon_int, - octave_int_base::fnan, octave_int_base::get_trunc_flag, - octave_int_base::get_nan_flag, - octave_int_base::get_non_int_flag, - octave_int_base::get_math_trunc_flag, - octave_int_base::clear_conv_flags): Remove. - Remove occurences of ftrunc, fnon_int and fnan eveywhere. - * oct-inttypes.cc: Ditto last sentence. Remove warning tests. - -2010-03-07 Soren Hauberg - - * dim-vector.h: New constructor accepting a C array of dimensions. - -2010-03-05 Jaroslav Hajek - - * MArray.cc (MArray::idx_add_nd): New method. - * MArray.h: Declare it. - -2010-03-04 Jaroslav Hajek - - * lo-specfun.cc (erfcx, erfcx_impl): New functions. - * lo-specfun.h: Declare erfcx. - -2010-03-03 John W. Eaton - - * oct-convn.cc (convolve): Cast int constant to octave_idx_type in - call to std::max. - -2010-03-03 Jaroslav Hajek - - * oct-convn.cc (convolve_2d_axpy_kernel, convolve_2d_axpy): Remove. - (convolve_2d): Forward to Fortran implementations, add inner flag. - (convolve_nd): Handle inner-convolution case. - (convolve): Ditto. - -2010-03-02 Jaroslav Hajek - - * oct-convn.h, oct-convn.cc: New sources. - * Makefile.am: Include them. - -2010-03-01 David Bateman - - * Sparse.cc (Sparse::maybe_delete_elements (idxx_vector&)): - Special case the deletion of elements in sparse vectors. - (Sparse::index (idx_vector&, int) const): Special case indexing - of sparse matrices with ranges with a step of 1. - * Sparse.h: Include oct-mem.h for the copy_or_memcpy declaration. - -2010-02-28 John W. Eaton - - * Makefile.am ($(srcdir)/vx-op-inc.mk, $(srcdir)/mx-op-inc.mk, - $(srcdir)/smx-op-inc.mk, $(srcdir)/vx-op-src.mk, - $(srcdir)/mx-op-src.mk, $(srcdir)/smx-op-src.mk): New targets. - - * config-ops.sh: Accept top_srcdir argument. Work from build - directory too, not just source tree. - -2010-02-28 Michael Goffioul - - * Array-C.cc (DiagArray2::Proxy): Remove explicit - instantiation under MSVC. - Array-d.cc (DiagArray2::Proxy): Ditto. - Array-f.cc (DiagArray2::Proxy): Ditto. - Array-fC.cc (DiagArray2 - - * Array-util.cc (gripe_index_out_of_range): Throw errors with id. - (gripe_nonconformant): Likewise. - (error_id_index_out_of_bounds, error_id_invalid_index, - error_id_nonconformant_args): New variables. - (gripe_invalid_index): New function. - * Array-util.h: Declare them. - * Array.cc (Array::checkelem): Throw invalid-index when negative - indices are encountered. - -2010-02-27 John W. Eaton - - * Sparse.cc (Sparse::diag): Handle case of diag (szv) when szv - is a sparse vector with nnz = 0. - -2010-02-27 Jaroslav Hajek - - * Array-util.cc (gripe_index_out_of_range): New function. - * Array.cc (Array::range_error): Remove. - (Array::checkelem): Rewrite. - (Array::index, Array::delete_elements): Simplify. - * DiagArray2.cc (DiagArray2::checkelem): Use gripe_index_out_of_range. - * Range.cc (Range::checkelem, Range::index): Ditto. - -2010-02-26 Jaroslav Hajek - - * mx-inlines.cc (OP_DUP_FCN): Remove. - (mx_inline_dup): Remove. - (mx_inline_not): Remove. - (mx_inline_make_complex): Remove. - (mx_inline_change_sign): Remove. - (mx_inline_fabs_dup): Remove. - (mx_inline_cabs_dup): Remove. - (mx_inline_imag_dup): Remove. - (mx_inline_real_dup): Remove. - (mx_inline_conj_dup): Remove. - (mx_inline_change_sign): Remove. - -2010-02-26 Jaroslav Hajek - - * Array.h (Array::ArrayRep): Simplify copy constructor. Add - conversion constructor. - (Array): Remove pointer acquiring ctors. - (Array::maybe_economize): Update. - (Array::make_unique): Update. - * Array.cc (Array::fill): Update. - - * MArray.h (MArray::MArray (T *, ...)): Remove. - * DiagArray2.h (DiagArray2::DiagArray2 (T *, ...)): Remove. - * MDiagArray2.h (MDiagArray2::MDiagArray2 (T *, ...)): Remove. - * Array3.h (Array3::Array3 (T *, ...)): Remove. - - * dColVector.h (ColumnVector::ColumnVector (T *, ...)): Remove. - * fColVector.h (FloatColumnVector::FloatColumnVector (T *, ...)): Remove. - * CColVector.h (ComplexColumnVector::ComplexColumnVector (T *, ...)): Remove. - * fCColVector.h (FloatComplexColumnVector::FloatComplexColumnVector (T *, ...)): Remove. - - * dRowVector.h (RowVector::RowVector (T *, ...)): Remove. - * fRowVector.h (FloatRowVector::FloatRowVector (T *, ...)): Remove. - * CRowVector.h (ComplexRowVector::ComplexRowVector (T *, ...)): Remove. - * fCRowVector.h (FloatComplexRowVector::FloatComplexRowVector (T *, ...)): Remove. - - * dMatrix.h (Matrix::Matrix (T *, ...)): Remove. - * fMatrix.h (FloatMatrix::FloatMatrix (T *, ...)): Remove. - * CMatrix.h (ComplexMatrix::ComplexMatrix (T *, ...)): Remove. - * fCMatrix.h (FloatComplexMatrix::FloatComplexMatrix (T *, ...)): Remove. - * boolMatrix.h (boolMatrix::boolMatrix (T *, ...)): Remove. - * chMatrix.h (charMatrix::charMatrix (T *, ...)): Remove. - - * dNDArray.h (NDArray::NDArray (T *, ...)): Remove. - * fNDArray.h (FloatNDArray::FloatNDArray (T *, ...)): Remove. - * CNDArray.h (ComplexNDArray::ComplexNDArray (T *, ...)): Remove. - * fCNDArray.h (FloatComplexNDArray::FloatComplexNDArray (T *, ...)): Remove. - * boolNDArray.h (boolNDArray::boolNDArray (T *, ...)): Remove. - * chNDArray.h (charNDArray::charNDArray (T *, ...)): Remove. - -2010-02-26 Jaroslav Hajek - - * DiagArray2.h (DiagArray2): Clean up ctors. Remove Proxy class. - Remove non-const two-index elem methods. - * DiagArray2.cc: Update. - * MDiagArray2.h: Update. - - * dDiagArray2.h: Update. - * dDiagArray2.cc: Update. - * fDiagArray2.h: Update. - * fDiagArray2.cc: Update. - * CDiagArray2.h: Update. - * CDiagArray2.cc: Update. - * fCDiagArray2.h: Update. - * fCDiagArray2.cc: Update. - - * dMatrix.cc: Update. - * fMatrix.cc: Update. - * CMatrix.cc: Update. - * fCMatrix.cc: Update. - - * dRowVector.cc: Update. - * fRowVector.cc: Update. - * CRowVector.cc: Update. - * fCRowVector.cc: Update. - - * dColVector.cc: Update. - * fColVector.cc: Update. - * CColVector.cc: Update. - * fCColVector.cc: Update. - - * dColVector.cc (ColumnVector::abs): New method. - * dColVector.h: Declare it. - * fColVector.cc (FloatColumnVector::abs): New method. - * fColVector.h: Declare it. - * CColVector.cc (ComplexColumnVector::abs): New method. - * CColVector.h: Declare it. - * fCColVector.cc (FloatComplexColumnVector::abs): New method. - * fCColVector.h: Declare it. - -2010-02-26 Jaroslav Hajek - - * mx-inlines.cc: Parameterize all appliers by value types rather than - Array types. Return & accept Array instances. - * mx-op-defs.h: Update references. - * CMatrix.cc: Ditto. - * CNDArray.cc: Ditto. - * DiagArray2.h: Ditto. - * MArray.cc: Ditto. - * boolMatrix.cc: Ditto. - * boolNDArray.cc: Ditto. - * bsxfun-defs.cc: Ditto. - * chMatrix.cc: Ditto. - * chNDArray.cc: Ditto. - * dMatrix.cc: Ditto. - * dNDArray.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCNDArray.cc: Ditto. - * fMatrix.cc: Ditto. - * fNDArray.cc: Ditto. - * intNDArray.cc: Ditto. - * MDiagArray2.cc: Remove computed assignment operators, adapt - operators to new mechanism. - * MDiagArray2.h: Declare operators as friends. - * MArray-decl.h (MDIAGARRAY2_OPS_FRIEND_DECLS): Don't expand - MARRAY_OP_ASSIGN_FRIENDS here. - -2010-02-25 John W. Eaton - - * eigs-base.cc: Use octave_idx_type for Fortran LOGICAL values - in function prototypes. - (EigsRealSymmetricMatrix, EigsRealSymmetricMatrixShift, - EigsRealSymmetricFunc, EigsRealNonSymmetricMatrix, - EigsRealNonSymmetricMatrixShift, EigsRealNonSymmetricFunc, - EigsComplexNonSymmetricMatrix, EigsComplexNonSymmetricMatrixShift, - EigsComplexNonSymmetricFunc): Declare rvec argument as bool, not int. - Fix explicit instantiations to match. - -2010-02-25 Jaroslav Hajek - - * oct-mem.h (safe_size_comp): New helper func. - (no_ctor_new): Call it here. - -2010-02-25 Jaroslav Hajek - - * oct-mem.h (copy_or_memcpy, fill_or_memset, no_ctor_new): Accept - size_t rather than octave_idx_type. - * Array.h (Array::byte_size): Correct calculation. - * DiagArray2.h (DiagArray2::byte_size): Call inherited byte_size. - * PermMatrix.h (PermMatrix::byte_size): Ditto. - -2010-02-25 Jaroslav Hajek - - * str-vec.h (string_vector::string_vector): Use (n, 1). - (string_vector::resize): Ditto. - * str-vec.cc (string_vector::string_vector): Ditto. - -2010-02-24 Jaroslav Hajek - - * Array.cc (Array::Array (const Array&, octave_idx_type, - octave_idx_type): New ctor. - (Array::reshape (octave_idx_type, octave_idx_type): New method. - * Array.h: Declare them. - * Array2.h: Deprecate Array2, make it a #define for Array. - - * Array-C.cc: Remove Array2 instantiation. - * Array-b.cc: Ditto. - * Array-ch.cc: Ditto. - * Array-d.cc: Ditto. - * Array-f.cc: Ditto. - * Array-fC.cc: Ditto. - * Array-i.cc: Ditto. - * Array-s.cc: Ditto. - * Array-voidp.cc: Ditto. - - * CMatrix.cc: Use Array instead of Array2 everywhere. - * CMatrix.h: Ditto. - * CNDArray.cc: Ditto. - * DiagArray2.cc: Ditto. - * DiagArray2.h: Ditto. - * MDiagArray2.h: Ditto. - * Sparse.cc: Ditto. - * Sparse.h: Ditto. - * boolMatrix.h: Ditto. - * boolNDArray.cc: Ditto. - * chMatrix.h: Ditto. - * chNDArray.cc: Ditto. - * dMatrix.cc: Ditto. - * dMatrix.h: Ditto. - * dNDArray.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCMatrix.h: Ditto. - * fCNDArray.cc: Ditto. - * fMatrix.cc: Ditto. - * fMatrix.h: Ditto. - * fNDArray.cc: Ditto. - * lo-specfun.cc: Ditto. - * lo-specfun.h: Ditto. - -2010-02-23 Jaroslav Hajek - - * chMatrix.h (charMatrix): Base on Array. - * chMatrix.cc (charMatrix): Update. - * boolMatrix.h (boolMatrix): Ditto. - * boolMatrix.h (boolMatrix): Update. - -2010-02-23 Jaroslav Hajek - - * Array.h (Array): Define 2D constructors. Remove conflicting 1D - initialized constructor. Deprecate 1D constructor. Deprecate 1D resize. - Add 2D resize, resize1. Remove resize_fill. Make resize_fill_value - return a reference. Remove 1D clear. - - * MArray.h (MArray): Merge with MArrayN. Define 2D constructors, sync - with Array changes. - - * MArrayN.h, MArray2.h: Deprecate headers, use compatibility #defines. - * MArrayN.cc, MArray2.cc: Remove sources. - * Makefile.am: Update. - - * fCMatrix.h (FloatComplexMatrix): Rebase on MArray. - * fMatrix.h (FloatMatrix): Ditto. - * dMatrix.h (Matrix): Ditto. - * CMatrix.h (ComplexMatrix): Ditto. - * fCNDArray.h (FloatComplexNDArray): Rebase on MArray. - * fNDArray.h (FloatNDArray): Ditto. - * dNDArray.h (NDArray): Ditto. - * CNDArray.h (ComplexNDArray): Ditto. - - * Array-util.cc: Update. - * Array.cc: Ditto. - * Array2.h: Ditto. - * Array3.h: Ditto. - * CColVector.cc: Ditto. - * CColVector.h: Ditto. - * CMatrix.cc: Ditto. - * CNDArray.cc: Ditto. - * CRowVector.cc: Ditto. - * CSparse.cc: Ditto. - * ChangeLog: Ditto. - * CmplxCHOL.cc: Ditto. - * CmplxHESS.cc: Ditto. - * CmplxLU.cc: Ditto. - * CmplxQRP.cc: Ditto. - * CmplxSCHUR.cc: Ditto. - * CmplxSVD.cc: Ditto. - * CollocWt.cc: Ditto. - * DASPK-opts.in: Ditto. - * DASPK.cc: Ditto. - * DASRT-opts.in: Ditto. - * DASRT.cc: Ditto. - * DASSL-opts.in: Ditto. - * DASSL.cc: Ditto. - * DiagArray2.cc: Ditto. - * DiagArray2.h: Ditto. - * EIG.cc: Ditto. - * LSODE-opts.in: Ditto. - * LSODE.cc: Ditto. - * MArray-C.cc: Ditto. - * MArray-d.cc: Ditto. - * MArray-defs.h: Ditto. - * MArray-f.cc: Ditto. - * MArray-fC.cc: Ditto. - * MArray-i.cc: Ditto. - * MArray-s.cc: Ditto. - * MArray.cc: Ditto. - * MDiagArray2.h: Ditto. - * MSparse-defs.h: Ditto. - * MSparse.cc: Ditto. - * MSparse.h: Ditto. - * Makefile.am: Ditto. - * MatrixType.cc: Ditto. - * PermMatrix.cc: Ditto. - * Quad.cc: Ditto. - * SparseCmplxLU.cc: Ditto. - * SparseCmplxQR.cc: Ditto. - * SparseCmplxQR.h: Ditto. - * SparseQR.cc: Ditto. - * SparseQR.h: Ditto. - * SparsedbleLU.cc: Ditto. - * base-lu.cc: Ditto. - * dColVector.h: Ditto. - * dMatrix.cc: Ditto. - * dNDArray.cc: Ditto. - * dRowVector.h: Ditto. - * dSparse.cc: Ditto. - * dbleCHOL.cc: Ditto. - * dbleHESS.cc: Ditto. - * dbleLU.cc: Ditto. - * dbleQRP.cc: Ditto. - * dbleSCHUR.cc: Ditto. - * dbleSVD.cc: Ditto. - * dim-vector.h: Ditto. - * eigs-base.cc: Ditto. - * fCColVector.cc: Ditto. - * fCColVector.h: Ditto. - * fCMatrix.cc: Ditto. - * fCNDArray.cc: Ditto. - * fCRowVector.cc: Ditto. - * fCRowVector.h: Ditto. - * fCmplxCHOL.cc: Ditto. - * fCmplxHESS.cc: Ditto. - * fCmplxLU.cc: Ditto. - * fCmplxQRP.cc: Ditto. - * fCmplxSCHUR.cc: Ditto. - * fCmplxSVD.cc: Ditto. - * fColVector.h: Ditto. - * fEIG.cc: Ditto. - * fMatrix.cc: Ditto. - * fNDArray.cc: Ditto. - * fRowVector.h: Ditto. - * floatCHOL.cc: Ditto. - * floatHESS.cc: Ditto. - * floatLU.cc: Ditto. - * floatQRP.cc: Ditto. - * floatSCHUR.cc: Ditto. - * floatSVD.cc: Ditto. - * glob-match.h: Ditto. - * int16NDArray.h: Ditto. - * int32NDArray.h: Ditto. - * int64NDArray.h: Ditto. - * int8NDArray.h: Ditto. - * intNDArray.cc: Ditto. - * intNDArray.h: Ditto. - * oct-fftw.cc: Ditto. - * oct-norm.cc: Ditto. - * oct-rand.cc: Ditto. - * regex-match.cc: Ditto. - * sparse-dmsolve.cc: Ditto. - * str-vec.cc: Ditto. - * str-vec.h: Ditto. - * uint16NDArray.h: Ditto. - * uint32NDArray.h: Ditto. - * uint64NDArray.h: Ditto. - * uint8NDArray.h: Ditto. - -2010-02-22 John W. Eaton - - * data-conv.cc, data-conv.h (read_floats, read_doubles, - do_float_format_conversion, do_double_format_conversion): - Declare len arg and loop counter as octave_idx_type, not int. - (strip_spaces): Use size_t for string dimension and index, not int. - (LS_DO_READ, LS_DO_WRITE): Declare loop counter as - octave_idx_type, not int. - (write_floats, write_doubles): - Declare len arg as octave_idx_type, not int. - (IEEE_big_double_to_IEEE_little_double, - VAX_D_double_to_IEEE_little_double, - VAX_G_double_to_IEEE_little_double, - Cray_to_IEEE_little_double, - IEEE_big_float_to_IEEE_little_float, - VAX_D_float_to_IEEE_little_float, - VAX_G_float_to_IEEE_little_float, Cray_to_IEEE_little_float, - IEEE_little_double_to_IEEE_big_double, - VAX_D_double_to_IEEE_big_double, - VAX_G_double_to_IEEE_big_double, Cray_to_IEEE_big_double, - IEEE_little_float_to_IEEE_big_float, - VAX_D_float_to_IEEE_big_float, VAX_G_float_to_IEEE_big_float, - Cray_to_IEEE_big_float, IEEE_little_double_to_VAX_D_double, - IEEE_big_double_to_VAX_D_double, - VAX_G_double_to_VAX_D_double, Cray_to_VAX_D_double, - IEEE_little_float_to_VAX_D_float, - IEEE_big_float_to_VAX_D_float, VAX_G_float_to_VAX_D_float, - Cray_to_VAX_D_float, IEEE_little_double_to_VAX_G_double, - IEEE_big_double_to_VAX_G_double, - VAX_D_double_to_VAX_G_double, Cray_to_VAX_G_double, - IEEE_little_float_to_VAX_G_float, - IEEE_big_float_to_VAX_G_float, VAX_D_float_to_VAX_G_float, - Cray_to_VAX_G_float, read_doubles): - Declare len arg as octave_idx_type, not int. - -2010-02-21 Michael Goffioul - - * lo-sysdep.cc, lo-utils.h, oct-shlib.h: Define WIN32_LEAN_AND_MEAN - and don't #undef min/max. - * oct-inttypes.h: Don't #undef min/max. - - * oct-glob.cc (octave_glob): Convert backslashes to forward slashes - automatically before calling glob, and convert back after the call - (implementation from jwe). - - * Makefile.am: Add -bindir flag to liboctave_la_LDFLAGS. - -2010-02-19 Jaroslav Hajek - - * idx-vector.cc (idx_vector::as_array, - idx_vector::idx_range_rep::as_array, - idx_vector::idx_scalar_rep::as_array, - idx_vector::idx_vector_rep::as_array): New methods. - * idx-vector.h: Declare them. - -2010-02-17 John W. Eaton - - * oct-rand.cc: Include . Change declarations of ranlib - functions to take int32_t instead of octave_idx_type values. - Change all uses. - (octave_rand::do_seed): Use int32_t in union, not octave_idx_type. - (force_to_fit_range): Args are now int32_t, not octave_idx_type. - (octave_rand::initialize_ranlib_generators): Use int32_t in seed - calculation. - -2010-02-17 Jaroslav Hajek - - * mx-op-defs.h (MINMAX_FCNS): Generalize. - * mx-op-decl.h (MINMAX_DECLS): Likewise. - - * int16NDArray.h, int32NDArray.h, int64NDArray.h, int8NDArray.h, - uint16NDArray.h, uint32NDArray.h, uint64NDArray.h, uint8NDArray.h: - Update. - * int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, - uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: - Update. - - * CNDArray.h, dNDArray.h, fCNDArray.h, fNDArray.h: Replace explicit - decls. - - * CNDArray.cc, dNDArray.cc, fCNDArray.cc, fNDArray.cc: Replace explicit - definitions. - - -2010-02-11 John W. Eaton - - * sparse-mk-ops.awk, mk-ops.awk, filemode.c, lo-cieee.c, - oct-rl-hist.c, randgamma.c, randmtzig.c, randpoisson.c, - tempnam.c, tempname.c: Untabify. - -2010-02-11 John W. Eaton - - * Array-C.cc, Array-fC.cc, Array-util.cc, Array.cc, - CColVector.cc, CDiagMatrix.cc, CMatrix.cc, CNDArray.cc, - CRowVector.cc, CSparse.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, - CmplxGEPBAL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, - CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, - DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, MSparse.cc, MatrixType.cc, - ODES.cc, Quad.cc, Range.cc, Sparse-C.cc, Sparse.cc, - SparseCmplxCHOL.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, - SparseQR.cc, SparsedbleCHOL.cc, SparsedbleLU.cc, boolNDArray.cc, - boolSparse.cc, chMatrix.cc, chNDArray.cc, cmd-edit.cc, - cmd-hist.cc, dColVector.cc, dDiagMatrix.cc, dMatrix.cc, - dNDArray.cc, dRowVector.cc, dSparse.cc, data-conv.cc, - dbleAEPBAL.cc, dbleCHOL.cc, dbleGEPBAL.cc, dbleHESS.cc, - dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc, - dir-ops.cc, eigs-base.cc, fCColVector.cc, fCDiagMatrix.cc, - fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fCmplxAEPBAL.cc, - fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxHESS.cc, fCmplxLU.cc, - fCmplxQR.cc, fCmplxQRP.cc, fCmplxSCHUR.cc, fCmplxSVD.cc, - fColVector.cc, fDiagMatrix.cc, fEIG.cc, fMatrix.cc, fNDArray.cc, - fRowVector.cc, file-stat.cc, floatAEPBAL.cc, floatCHOL.cc, - floatGEPBAL.cc, floatHESS.cc, floatLU.cc, floatQR.cc, - floatQRP.cc, floatSCHUR.cc, floatSVD.cc, idx-vector.cc, - intNDArray.cc, kpse.cc, lo-ieee.cc, lo-mappers.cc, - lo-specfun.cc, lo-sysdep.cc, lo-utils.cc, mach-info.cc, - mx-inlines.cc, oct-alloc.cc, oct-env.cc, oct-fftw.cc, - oct-glob.cc, oct-group.cc, oct-inttypes.cc, oct-md5.cc, - oct-rand.cc, oct-shlib.cc, oct-sort.cc, oct-spparms.cc, - oct-syscalls.cc, oct-time.cc, pathsearch.cc, regex-match.cc, - sparse-base-chol.cc, sparse-base-lu.cc, sparse-dmsolve.cc, - sparse-sort.cc, sparse-util.cc, str-vec.cc: Untabify. - -2010-02-11 John W. Eaton - - * Array-util.h, Array.h, Array2.h, Array3.h, CColVector.h, - CMatrix.h, CNDArray.h, CRowVector.h, CSparse.h, CmplxCHOL.h, - CmplxGEPBAL.h, CmplxHESS.h, CmplxLU.h, CmplxQRP.h, CmplxSCHUR.h, - CmplxSVD.h, CollocWt.h, DAE.h, DAEFunc.h, DAERT.h, DAERTFunc.h, - DASPK.h, DASRT.h, DASSL.h, DiagArray2.h, EIG.h, MArrayN.h, - MDiagArray2.h, MSparse-defs.h, MSparse.h, MatrixType.h, ODE.h, - ODEFunc.h, ODES.h, ODESFunc.h, Quad.h, Range.h, - Sparse-diag-op-defs.h, Sparse-op-defs.h, Sparse-perm-op-defs.h, - Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, SparseCmplxQR.h, - SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, base-dae.h, - base-de.h, base-lu.h, base-min.h, base-qr.h, boolNDArray.h, - boolSparse.h, chNDArray.h, cmd-hist.h, dMatrix.h, dNDArray.h, - dSparse.h, data-conv.h, dbleCHOL.h, dbleGEPBAL.h, dbleHESS.h, - dbleLU.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, dir-ops.h, - fCColVector.h, fCMatrix.h, fCNDArray.h, fCRowVector.h, - fCmplxCHOL.h, fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxLU.h, - fCmplxQRP.h, fCmplxSCHUR.h, fCmplxSVD.h, fEIG.h, fMatrix.h, - fNDArray.h, file-stat.h, floatCHOL.h, floatGEPBAL.h, - floatHESS.h, floatLU.h, floatQRP.h, floatSCHUR.h, floatSVD.h, - glob-match.h, idx-vector.h, intNDArray.h, lo-ieee.h, - lo-specfun.h, mx-op-decl.h, mx-op-defs.h, oct-env.h, oct-fftw.h, - oct-group.h, oct-inttypes.h, oct-mutex.h, oct-passwd.h, - oct-rand.h, oct-shlib.h, oct-sort.h, oct-spparms.h, oct-time.h, - oct-uname.h, pathsearch.h, sparse-base-chol.h, sparse-base-lu.h, - sparse-sort.h, sparse-util.h, statdefs.h, str-vec.h: Untabify. - -2010-02-10 John W. Eaton - - * dMatrix.h (template Matrix (const Array&)): - New constructor. - * CMatrix.h (template ComplexMatrix (const Array&)): - New constructor. - * fMatrix.h (template FloatMatrix (const Array&)): - New constructor. - * fCMatrix.h (template FloatComplexMatrix (const Array&)): - New constructor. - -2010-02-09 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const - Array&, octave_idx_type, direct)): New constructor. - * idx-vector.h: Declare it. - (idx_vector::idx_vector (const Array&, - octave_idx_type)): New constructor. - -2010-02-08 John W. Eaton - - * oct-time.cc: Include "strftime.h", not . - * file-ops.cc: Include "pathmax.h", not . - -2010-02-08 John W. Eaton - - * oct-env.cc (octave_env::prog_invocation_name): Rename from - program_invocation_name. Change all uses. - (octave_env::prog_name): Rename from program_name. Change all uses. - (octave_env::do_set_program_name): Call ::set_program_name - function from gnulib. - -2010-02-08 Jaroslav Hajek - - * idx-vector.h (idx_vector::idx_base_rep::sort_idx): New pure virtual - function. - (idx_vector::idx_colon_rep::sort_idx, - idx_vector::idx_range_rep::sort_idx, - idx_vector::idx_scalar_rep::sort_idx, - idx_vector::idx_vector_rep::sort_idx, - idx_vector::idx_mask_rep::sort_idx): New override decls. - idx_vector::sort (Array&): New method. - * idx-vector.cc (idx_vector::idx_range_rep::sort_idx, - idx_vector::idx_vector_rep::sort_idx): New methods. - (idx_vector::idx_vector_rep::sort_uniq_clone): Rewrite - to use bucket sort under plausible circumstances. - -2010-02-08 Jaroslav Hajek - - * Array.cc (Array::permute): Fix result dimensions when inv=true. - -2010-02-05 Jaroslav Hajek - - * MArrayN.cc (MArrayN::idx_min, MArrayN::idx_max): New methods. - * MArrayN.h: Declare them. - * lo-mappers.h (xmin, xmax): Define for general arguments. - -2010-02-04 Jaroslav Hajek - - * chMatrix.h (charMatrix): Rebase directly on Array. - * chNDArray.h (charNDArray): Ditto. - * chMatrix.cc: Update. - * chNDArray.cc: Update. - * MArray-ch.cc: Remove. - * Makefile.am: Update. - -2010-02-04 John W. Eaton - - * lo-cutils.c (gethostname): Delete function. - * lo-sysdep.h (gethostname): Delete declaration. - -2010-02-03 John W. Eaton - - * oct-syscalls.h, oct-syscalls.cc (octave_fcntl): Assume fcntl exists. - Rename from octave_syscalls::fcntl. - (octave_syscalls::popen2): Call octave_fcntl, not fcntl. - * cmd-hist.cc, lo-sysdep.cc, oct-syscalls.cc: - Include unconditionally. - -2010-02-03 John W. Eaton - - * dbleSVD.cc (SVD::init): Ensure args to std::max are the same type. - * CmplxSVD.cc (ComplexSVD::init): Likewise. - * floatSVD.cc (FloatSVD::init): Likewise. - * fCmplxSVD.cc (FloatComplexSVD::init): Likewise. - * idx-vector.cc (idx_range_rep): Likewise. - * Array.cc (Array::nth_element): Likewise. - - * lo-specfun.cc (null_dims): Delete unused static variable. - (betainc): Call dim_vector (0, 0), not dim_vector (0). - -2010-02-03 John W. Eaton - - * file-ops.h (octave_canonicalize_file_name): Rename from - file_ops::canonicalize_file_name. - -2010-02-03 John W. Eaton - - * file-ops.cc (canonicalize_file_name): - Don't pass current directory to octave_env::make_absolute. - * cmd-edit.cc (do_decode_prompt_string): Likewise. - - * oct-env.h (octave_env::get_current_directory): - Rename from octave_env::getcwd. - (octave_env::make_absolute): Provide default value for second arg. - - * lo-sysdep.cc (octave_getcwd): Assume we are using gnulib - getcwd module. - -2010-02-02 John W. Eaton - - * oct-time.h: Include , not "systime.h". - * oct-time.cc: Include , not "strftime.h". - Don't include . - - * systime.h: Delete. - * Makefile.am (INCS): Remove it from the list. - -2010-02-02 John W. Eaton - - * lo-utils.h, lo-cutils.c (oct_strptime): Delete. - * oct-time.cc (octave_strptime::init): Call strptime, not oct_strptime. - -2010-01-28 Jaroslav Hajek - - * dMatrix.cc (Matrix::determinant): Treat matrices marked as singular - normally. - * fMatrix.cc (FloatMatrix::determinant): Ditto. - * CMatrix.cc (ComplexMatrix::determinant): Ditto. - * fCMatrix.cc (FloatComplexMatrix::determinant): Ditto. - -2010-01-26 John W. Eaton - - * file-ops.cc: Don't tag functions with OCTAVE_API in source file. - -2010-01-26 John W. Eaton - - * lo-cutils.c, lo-utils.h (octave_link, octave_symlink, - octave_readlink, octave_mkdir, octave_mkfifo, octave_rmdir, - octave_rename, octave_tempnam, octave_umask, octave_unlink): - Delete. - * file-io.h, file-io.cc (octave_mkdir, octave_mkfifo, - octave_link, octave_symlink, octave_readlink, octave_rename, - octave_rmdir, octave_recursive_rmdir, octave_umask, - octave_unlink, octave_tempnam): Rename from file_ops::X to - octave_X. Change all uses. - (file_ops::static_members): Incorporate directly into file_ops class. - -2010-01-23 John W. Eaton - - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove oct-getopt.c from the list. - (LIBOCTAVE_CXX_SOURCES): Remove prog-args.c from the list. - (INCS): Remove prog-args.h and oct-getopt.h from the list. - * prog-args.cc, prog-args.h, oct-getopt.c, oct-getopt.h: Delete. - -2010-01-22 John W. Eaton - - * prog-args.h, prog-args.cc (prog_args::get_option, - prog_args::option_argument, prog_args::option_index): - Don't declare const. - -2010-01-22 John W. Eaton - - * prog-args.h, prog-args.cc (prog_args::get_option): - Rename from getopt. Now const. - (prog_args::option_argument): Rename from optarg. Now const. - (prog_args::option_index): Rename from optind. Now const. - -2010-01-22 John W. Eaton - - * file-ops.cc: Don't include statdefs.h. - -2010-01-22 Jaroslav Hajek - - * dbleSVD.cc (SVD::init): Ensure LD* arguments >= 1. - * floatSVD.cc (FloatSVD::init): Likewise. - * CmplxSVD.cc (ComplexSVD::init): Likewise. - * fCmplxSVD.cc (FloatComplexSVD::init): Likewise. - -2010-01-21 John W. Eaton - - * CMatrix.cc, fCMatrix.cc, cmd-edit.cc, cmd-hist.cc, - file-ops.cc, file-ops.h, file-stat.cc, file-stat.h, filemode.c, - kpse.cc, lo-cutils.c, lo-sysdep.cc, lo-utils.cc, oct-env.cc, - oct-group.cc, oct-group.h, oct-passwd.cc, oct-passwd.h, - oct-time.cc, oct-syscalls.cc, oct-syscalls.h, statdefs.h, - sysdir.h, syswait.h, tempname.c, regex-match.h: - Assume sys/types.h and unistd.h are present (gnulib provides them). - -2010-01-21 John W. Eaton - - * file-ops.h, file-ops.cc, lo-utils.h, lo-cutils.c: Untabify. - - * file-ops.cc: Don't include unistd.h. - (NOT_SUPPORTED): Delete unused macro. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_tempnam): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::tempnam): Call octave_tempnam. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_readlink): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::readlink): Call octave_readlink. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_symlink): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::symlink): Call octave_symlink. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_link): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::link): Call octave_link. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_unlink): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::unlink): Call octave_unlink. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_umask): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::umask): Call octave_umask. - -2010-01-21 John W. Eaton - - * file-ops.h (file_ops::mkdir): Move definitions to file-ops.cc. - (file_ops::mkfifo): Move definitions to file-ops.cc. - (file_ops::mkdir_internal, file_ops::mkfifo_internal): Delete decls. - * file-ops.cc (file_ops::mkdir): Call octave_mkdir. - (file_ops::mkfifo): Call octave_mkfifo. - * lo-cutils.c (octave_mkdir, octave_mkfifo): New functions. - * lo-utils.h: Provide decls. - -2010-01-21 John W. Eaton - - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove strptime.c from the list. - * strptime.c: Delete. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_rename): New funtion. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::rename): Call octave_rename. - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove rename.c from the list. - * rename.c: Delete. - -2010-01-21 John W. Eaton - - * lo-cutils.c (octave_rmdir): New function. - * lo-utils.h: Provide decl. - * file-ops.cc (file_ops::rmdir): Call octave_rmdir. - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove rmdir.c from the list. - * rmdir.c: Delete. - -2010-01-21 John W. Eaton - - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove strcasecmp.c and - strncase.c from the list. - * strcasecmp.c, strncase.c: Delete. - -2010-01-21 John W. Eaton - - * Makefile.am (INCS): Remove getopt.h from the list. - (LIBOCTAVE_C_SOURCES): Remove getopt.c and getopt1.c from the list. - * getopt.c, getopt1.c, getopt.h: Delete. - -2010-01-20 John W. Eaton - - * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-f.cc, - Array-fC.cc, Array-i.cc, Array-idx-vec.cc, Array-s.cc, - Array-str.cc, Array-util.cc, Array-voidp.cc, Array.cc, - CColVector.cc, CDiagMatrix.cc, CMatrix.cc, CNDArray.cc, - CRowVector.cc, CSparse.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, - CmplxGEPBAL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, - CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, - DASRT.cc, DASSL.cc, DiagArray2.cc, EIG.cc, LSODE.cc, - MArray-C.cc, MArray-ch.cc, MArray-d.cc, MArray-f.cc, - MArray-fC.cc, MArray-i.cc, MArray-s.cc, MArray.cc, MArray2.cc, - MArrayN.cc, MDiagArray2.cc, MSparse-C.cc, MSparse-d.cc, - MSparse.cc, MatrixType.cc, ODES.cc, Quad.cc, Range.cc, - Sparse-C.cc, Sparse-b.cc, Sparse-d.cc, Sparse.cc, - SparseCmplxCHOL.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, - SparseQR.cc, SparsedbleCHOL.cc, SparsedbleLU.cc, base-lu.cc, - boolMatrix.cc, boolNDArray.cc, boolSparse.cc, chMatrix.cc, - chNDArray.cc, cmd-edit.cc, cmd-hist.cc, dColVector.cc, - dDiagMatrix.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, - dSparse.cc, data-conv.cc, dbleAEPBAL.cc, dbleCHOL.cc, - dbleGEPBAL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, - dbleSCHUR.cc, dbleSVD.cc, dir-ops.cc, eigs-base.cc, - fCColVector.cc, fCDiagMatrix.cc, fCMatrix.cc, fCNDArray.cc, - fCRowVector.cc, fCmplxAEPBAL.cc, fCmplxCHOL.cc, fCmplxGEPBAL.cc, - fCmplxHESS.cc, fCmplxLU.cc, fCmplxQR.cc, fCmplxQRP.cc, - fCmplxSCHUR.cc, fCmplxSVD.cc, fColVector.cc, fDiagMatrix.cc, - fEIG.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, file-ops.cc, - file-stat.cc, floatAEPBAL.cc, floatCHOL.cc, floatGEPBAL.cc, - floatHESS.cc, floatLU.cc, floatQR.cc, floatQRP.cc, - floatSCHUR.cc, floatSVD.cc, glob-match.cc, idx-vector.cc, - int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, - int8NDArray.cc, intNDArray.cc, kpse.cc, lo-ieee.cc, - lo-mappers.cc, lo-specfun.cc, lo-sysdep.cc, lo-utils.cc, - mach-info.cc, mx-inlines.cc, oct-alloc.cc, oct-env.cc, - oct-fftw.cc, oct-group.cc, oct-inttypes.cc, oct-md5.cc, - oct-passwd.cc, oct-rand.cc, oct-shlib.cc, oct-sort.cc, - oct-spparms.cc, oct-syscalls.cc, oct-time.cc, oct-uname.cc, - pathsearch.cc, prog-args.cc, regex-match.cc, - sparse-base-chol.cc, sparse-base-lu.cc, sparse-dmsolve.cc, - sparse-sort.cc, sparse-util.cc, str-vec.cc, uint16NDArray.cc, - uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc, - f2c-main.c, lo-cieee.c, lo-cutils.c, oct-getopt.c, - oct-rl-edit.c, oct-rl-hist.c, randgamma.c, randmtzig.c, - randpoisson.c, Array-util.h, Array.h, Array2.h, Array3.h, - ArrayN.h, CColVector.h, CDiagMatrix.h, CMatrix.h, CNDArray.h, - CRowVector.h, CSparse.h, CmplxAEPBAL.h, CmplxCHOL.h, - CmplxGEPBAL.h, CmplxHESS.h, CmplxLU.h, CmplxQR.h, CmplxQRP.h, - CmplxSCHUR.h, CmplxSVD.h, CollocWt.h, DAE.h, DAEFunc.h, DAERT.h, - DAERTFunc.h, DASPK.h, DASRT.h, DASSL.h, DiagArray2.h, EIG.h, - LSODE.h, MArray.h, MArray2.h, MArrayN.h, MDiagArray2.h, - MSparse-defs.h, MSparse.h, Matrix.h, MatrixType.h, ODE.h, - ODEFunc.h, ODES.h, ODESFunc.h, Quad.h, Range.h, - Sparse-op-defs.h, Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, - SparseCmplxQR.h, SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, - base-dae.h, base-de.h, base-lu.h, base-min.h, boolMatrix.h, - boolNDArray.h, boolSparse.h, byte-swap.h, chMatrix.h, - chNDArray.h, cmd-edit.h, cmd-hist.h, dColVector.h, - dDiagMatrix.h, dMatrix.h, dNDArray.h, dRowVector.h, dSparse.h, - data-conv.h, dbleAEPBAL.h, dbleCHOL.h, dbleGEPBAL.h, dbleHESS.h, - dbleLU.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, - dir-ops.h, fCColVector.h, fCDiagMatrix.h, fCMatrix.h, - fCNDArray.h, fCRowVector.h, fCmplxAEPBAL.h, fCmplxCHOL.h, - fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxLU.h, fCmplxQR.h, - fCmplxQRP.h, fCmplxSCHUR.h, fCmplxSVD.h, fColVector.h, - fDiagMatrix.h, fEIG.h, fMatrix.h, fNDArray.h, fRowVector.h, - file-ops.h, file-stat.h, floatAEPBAL.h, floatCHOL.h, - floatGEPBAL.h, floatHESS.h, floatLU.h, floatQR.h, floatQRP.h, - floatSCHUR.h, floatSVD.h, functor.h, glob-match.h, idx-vector.h, - int16NDArray.h, int32NDArray.h, int64NDArray.h, int8NDArray.h, - intNDArray.h, kpse-xfns.h, lo-ieee.h, lo-mappers.h, lo-math.h, - lo-specfun.h, lo-sysdep.h, lo-traits.h, lo-utils.h, mach-info.h, - mx-base.h, mx-defs.h, mx-ext.h, mx-op-defs.h, oct-alloc.h, - oct-cmplx.h, oct-env.h, oct-fftw.h, oct-getopt.h, oct-group.h, - oct-inttypes.h, oct-md5.h, oct-passwd.h, oct-rand.h, - oct-rl-edit.h, oct-rl-hist.h, oct-shlib.h, oct-sort.h, - oct-spparms.h, oct-syscalls.h, oct-time.h, oct-uname.h, - pathlen.h, pathsearch.h, prog-args.h, randgamma.h, randmtzig.h, - randpoisson.h, regex-match.h, sparse-base-chol.h, - sparse-base-lu.h, sparse-sort.h, sparse-util.h, statdefs.h, - str-vec.h, sun-utils.h, sysdir.h, systime.h, syswait.h, - uint16NDArray.h, uint32NDArray.h, uint64NDArray.h, - uint8NDArray.h: Remove Emacs local-variables settings. - -2010-01-20 Jaroslav Hajek - - * boolNDArray.cc (boolNDArray::cumsum): Sum directly in double to - avoid a copy. - -2010-01-20 John W. Eaton - - * dim-vector.h: Style fixes. Remove Emacs local variables block. - Untabify. - -2010-01-20 John W. Eaton - - * Makefile.am (PRIVATE_INCS): New variable. List oct-glob.h - here instead of in INCS. - (liboctave_la_SOURCES): Include $(PRIVATE_INCS) in the list. - - * glob-match.cc (glob_match::match, glob_match::glob): Now const. - Move definitions here from glob-match.h. - -2010-01-20 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_any_r, mx_inline_all_r): New helper - reductors. - (mx_inline_any, mx_inline_all): Call the here in row-wise reduction - with few enough columns. - -2010-01-20 Jaroslav Hajek - - * lo-mappers.h (xmin (double, double), xmax (double, double), - xmin (float, float), xmax (float, float)): Inline definitions. - * lo-mappers.cc (xmin (double, double), xmax (double, double), - xmin (float, float), xmax (float, float)): Remove from here. - * mx-inlines.cc (mx_inline_xmin, mx_inline_xmax): Provide - specializations for real array-scalar and scalar-array cases. - -2010-01-20 Jaroslav Hajek - - * oct-norm.cc (norm_accumulator_p::accum, norm_accumulator_mp::accum): - Call octave_quit here. - (higham_subp): Also here. - -2010-01-20 Jaroslav Hajek - - * mx-op-defs.h (SND_MINMAX_FCN, NDS_MINMAX_FCN, NDND_MINMAX_FCN): - Simplify using mx_inlines machinery. - * dNDArray (min, max): Simplify. - * fNDArray (min, max): Simplify. - * CNDArray (min, max): Simplify. - * fCNDArray (min, max): Simplify. - -2010-01-20 Jaroslav Hajek - - * Array.h: Substitute OCTAVE_QUIT -> octave_quit (). - * CMatrix.cc: Ditto. - * CNDArray.cc: Ditto. - * CSparse.cc: Ditto. - * CmplxGEPBAL.cc: Ditto. - * MArrayN.cc: Ditto. - * MSparse.cc: Ditto. - * Sparse-diag-op-defs.h: Ditto. - * Sparse-op-defs.h: Ditto. - * Sparse-perm-op-defs.h: Ditto. - * Sparse.cc: Ditto. - * Sparse.h: Ditto. - * SparseCmplxQR.cc: Ditto. - * SparseQR.cc: Ditto. - * boolSparse.cc: Ditto. - * bsxfun-defs.cc: Ditto. - * dMatrix.cc: Ditto. - * dNDArray.cc: Ditto. - * dSparse.cc: Ditto. - * dbleGEPBAL.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCNDArray.cc: Ditto. - * fCmplxGEPBAL.cc: Ditto. - * fMatrix.cc: Ditto. - * fNDArray.cc: Ditto. - * file-ops.cc: Ditto. - * floatGEPBAL.cc: Ditto. - * lo-utils.cc: Ditto. - * mx-op-defs.h: Ditto. - * oct-fftw.cc: Ditto. - * oct-norm.cc: Ditto. - * oct-rand.cc: Ditto. - * sparse-dmsolve.cc: Ditto. - -2010-01-20 Jaroslav Hajek - - * bsxfun-defs.cc (BSXFUN_STDOP_DEFS_MXLOOP): Fix reversed min/max - defs. - -2010-01-20 John W. Eaton - - * glob-match.h: Update copyright. - -2010-01-20 John W. Eaton - - * Makefile.am (INCS): Include oct-glob.h in the list. - (LIBOCTAVE_CXX_SOURCES): Include oct-glob.cc in the list. - * oct-glob.h, oct-glob.cc: New files. - * glob-match.cc: (glob_match::match): Move internals to oct-glob.cc. - (glob_match::glob_internal): Move internals to oct-glob.cc. - (single_match_exists): Move to oct-glob.cc. - (glob_match::opts_to_fnmatch_flags): New function. - * glob-match.h Include oct-glob.h. - (glob_match::glob): Call octave_glob to do the real work. - (glob_match::glob_internal): Delete decl. - (glob_match::match (const string_vector&)): Move here from - glob-match.cc. - (glob_match::match (const std::string&)): Call octave_fnmatch to - do the real work. - (glob_match::fnmatch_flags): Rename from flags. - (glob_match::opts_to_fnmatch_flags): New function. - (glob_match::glob_match): Use it. - -2010-01-17 Jaroslav Hajek - - * CMatrix.cc (xgemm): Use octave_idx_type rather than int. - * fCMatrix.cc (xgemm): Ditto. - -2010-01-16 Michael Goffioul - - * oct-time.cc: Avoid to include nonneeded headers from Win32 API, - especially winsock.h. Include unconditionally, as it is - now provided by gnulib, in order to get gettimeofday defined. - -2010-01-15 Jaroslav Hajek - - * Array.cc (Array::insert): Rewrite using assign. - (Array::insert2, Array::insertN): Remove. - * Array.h: Update declarations. Add brief documentation. - -2010-01-15 Jaroslav Hajek - - * Array-b.cc: Inline ascending and descending sort. - (do_bool_partition): New helper template function. - (octave_sort::sort): Provide specializations. - -2010-01-14 Jaroslav Hajek - - * Array.cc (Array::insert (const Array&, const - Array&): Allow less dimensions than indices. - -2010-01-14 Jaroslav Hajek - - * chNDArray.h: Declare relational bsxfun ops. - * chNDArray.cc: Define them. - -2010-01-14 John W. Eaton - - * CMatrix.cc: Fix prototype for zherk. - * fCMatrix.cc: Fix prototype for cherk. - -2010-01-14 John W. Eaton - - * oct-rl-edit.c (octave_rl_set_name): Save arg before setting - rl_terminal_name. - -2010-01-13 John W. Eaton - - * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep (T x)): - Initialize dummy variable. - -2010-01-13 Jaroslav Hajek - - * Array.cc (Array::compute_index): Generalize to the case of - unequal lengths. - -2010-01-13 Jaroslav Hajek - - * dim-vector.h (dim_vector::chop_trailing_singletons): Only uniquify - if really needed. - * Array.h (Array::Array (T*, const dim_vector&)): Call - chop_trailing_singletons. - (Array::Array (const Array&, const dim_vector&, - octave_idx_type...)): Ditto. - (Array::Array (const dim_vector&)): Ditto. - (Array::Array (const dim_vector&, const T&)): Ditto. - (Array::chop_trailing_singletons): Deprecate. - * Array.cc (Array::Array(const Array&, const dim_vector&)): Ditto. - (Array::index (const Array&, ...)): Ditto. - (Array::permute): Don't call deprecate method here. - (Array::assign): Neither here. - -2010-01-11 Rik - - * Makefile.am: Remove unnecessary use of - simple_move_if_change_rule to allow Make to update timestamps. - -2010-01-08 Jaroslav Hajek - - * Array.h (Array::crefT): New helper typedef. - (Array::elem const, Array::xelem const, - Array::checkelem const, Array::operator () const): Return crefT. - (Array::range_error const): Remove overloads. - * Array.cc (Array::range_error const): Remove overloads. - -2010-01-07 John W. Eaton - - * oct-time.cc (octave_time::stamp): Assume gettimeofday is - available and that it takes two arguments. - -2010-01-07 Jaroslav Hajek - - * lo-utils.cc (octave_fgets (FILE *, bool&)): Add OCTAVE_QUIT at the - end. - -2010-01-05 John W. Eaton - - * Makefile.am (AM_CPPFLAGS): Include @CPPFLAGS@ and -I../libgnu - in the list. - -2009-12-30 Jaroslav Hajek - - * idx-vector.cc (idx_vector::maybe_reduce): Implement reduction rule - for subsequent ones () indices. - -2009-12-28 John W. Eaton - - * file-ops.cc (fle_ops::mkdir_internal, - file_ops::mkfifo_internal): New private static functions. - * file-ops.h (file_ops::mkdir, file_ops::mkdir): Move - definitions here from file-ops.cc. Forward to X_internal functions. - -2009-12-26 John W. Eaton - - * file-stat.cc (lstat): Delete replacement function. - (file_fstat::update_internal): Assume fstat is available. - -2009-12-25 John W. Eaton - - * file-ops.cc (file_ops::mkdir): Assume we have an mkdir - function that takes two arguments. - * mkdir.c: Delete. - * Makefile.am (LIBOCTAVE_C_SOURCES): Remove mkdir.c from the list. - -2009-12-25 John W. Eaton - - * oct-md5.cc (oct_md5_result_to_str): New function. - (oct_md5, oct_md5_file): Simplify using gnulib md5 functions and - oct_md5_result_to_str. - - * Makefile.am (INCS): Remove md5.h from the list. - (LIBOCTAVE_C_SOURCES): Remove md5.c from the list. - * md5.c, md5.h: Delete. - -2009-12-19 Rik - - * Makefile.am: Eliminate TOPDIR variable in favor of built-in - automake variables of top_builddir and top_srcdir. - -2009-12-17 John W. Eaton - - * glob-match.h, glob-match.cc (glob_match::glob_internal): - Rename from glob_match::glob and make private. - * glob-match.h (glob_match::glob): Forward to glob_internal. - -2009-12-15 Jaroslav Hajek - - * Array.cc (Array::index (const idx_vector&)): Fix determining of - result dimensions. - -2009-12-15 Jaroslav Hajek - - * Range.cc (Range::elem, Range::checkelem, Range::index): - New methods. - * Range.h: Declare them. - -2009-12-15 Jaroslav Hajek - - * idx-vector.h (idx_vector::loop, idx_vector::bloop): Fix behavior for - masks. - -2009-12-13 Rik - - * Makefile.am: Use DISTCLEANFILES rather than distclean-local rule. - Use PERL variable defined by autoconf rather than direct call. - Use simple_move_if_change rule to reduce useless compiles if - OPTS_INC have not changed. - -2009-12-12 Jaroslav Hajek - - * oct-shlib.h: Remove stray declarations. - -2009-12-11 John W. Eaton - - * oct-shlib.cc (octave_dlopen_shlib::octave_dlopen_shlib): - Print filename along with message from dlerror. - Reverse sense of test. - -2009-12-09 Jaroslav Hajek - - * oct-shlib.h (octave_shlib): Rewrite. - * oct-shlib.cc (octave_shlib): Rewrite. - -2009-12-09 John W. Eaton - - * oct-time.cc (octave_base_tm::strftime): Call nstrftime instead - of my_strftime. - -2009-12-09 John W. Eaton - - * oct-time.cc: Include strftime.h. Don't provide decl for strftime. - (octave_base_tm::strftime): Call my_strftime instead of ::strftime. - * Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/libgnu to the list. - (LINK_DEPS): Add ../libgnu/libgnu.la to the list. - (LIBOCTAVE_C_SOURCES): Remove strftime.c from the list. - * strftime.c: Delete. - -2009-12-08 Michael Goffioul - - * Array-d.cc (Array::is_sorted): Declare as OCTAVE_API. - * Array-f.cc (Array::is_sorted): Ditto. - * lo-sysdep.cc: Undef min and max after including windows.h - -2009-12-05 Jaroslav Hajek - - * Array-d.cc (Array::is_sorted): Optimized specialization. - * Array-f.cc (Array::is_sorted): Ditto. - -2009-12-05 Jaroslav Hajek - - * oct-sort.cc (lookup_binary): Remove. - (octave_sort::lookup (const T*, octave_idx_type, const T&, comp)): - Move code here. - (octave_sort::lookup (const T*, octave_idx_type, const T*, - octave_idx_type, octave_idx_type *, comp)): Remove offset parameter. - Use a simple sequence of lookups. - (octave_sort::lookup (const T*, octave_idx_type, const T*, - octave_idx_type, octave_idx_type *)): Update. - (octave_sort::lookupm, octave_sort::lookupb): Remove. - (octave_sort::lookup_sorted): New overloaded method. - - * Array.cc (Array::lookup (const Array&, sortmode)): Remove - linf & rinf params. Rewrite using is_sorted to check for sortedness, - call octave_sort::lookup_sorted to do the sorted merge. - (Array::lookupm, Array::lookupb): Remove. - (NO_INSTANTIATE_ARRAY_SORT): Update. - -2009-12-05 Jaroslav Hajek - - * Array.cc (sortrows_comparator): Rename to safe_comparator. - (Array::is_sorted): Use it here. - * Array-d.cc: Update. - * Array-f.cc: Update. - * Array-C.cc: Update. - * Array-fC.cc: Update. - -2009-12-03 John W. Eaton - - * Makefile.am (BUILT_NODISTFILES): New variable. - -2009-12-01 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_range_rep::unconvert, - idx_vector::idx_scalar_rep::unconvert, - idx_vector::idx_vector_rep::unconvert, - idx_vector::idx_mask_rep::unconvert): New methods. - (idx_vector::unconvert): Use them here. Add mask output. - * idx-vector.h: Update decls. - -2009-11-28 Jaroslav Hajek - - * dim-vector.h (dim_vector::zero_by_zero): New method. - * idx-vector.h (idx_vector::idx_mask_rep::is_colon_equiv): Fix. - * Array.cc (Array::assign): Minor tweaks. Optimize - A = []; A(1:m,1:n,1:k) = X for all cases. Use a shallow copy - for all colon-equivalent indices. - -2009-11-27 Jaroslav Hajek - - * idx-vector.h (idx_vector::index_class): New member: class_mask. - (idx_vector::idx_mask_rep): New class. - (idx_vector::idx_vector (bool)): Construct idx_mask_rep. - (idx_vector::unmask): New method decl. - * idx-vector.cc (idx_vector::idx_vector (const boolNDArray&)): - Construct idx_mask_rep conditionally. - (idx_vector::unmask): New method. - (idx_vector::unconvert): Make non-const. unmask when called on a mask - vector. - (idx_vector::is_cont_range): Check also for idx_mask_rep. - -2009-11-27 Jaroslav Hajek - - * Array.cc (Array::nnz): New method. - * Array.h: Declare it. - * MArray.h (MArray::nnz): Remove. - * MArrayN.h (MArrayN::nnz): Remove. - * boolNDArray.h (boolNDArray::nnz): Remove. - -2009-11-25 Jaroslav Hajek - - * dbleCHOL.cc (CHOL::init): Output LAPACK's info. Resize matrix if - nonzero. Use smarter copying. - * floatCHOL.cc (FloatCHOL::init): Ditto. - * CmplxCHOL.cc (ComplexCHOL::init): Ditto. - * fCmplxCHOL.cc (FloatComplexCHOL::init): Ditto. - -2009-11-24 Jaroslav Hajek - - * MArrayN.cc (MArrayN::idx_add): New methods. - * MArrayN.h: Declare them. - * MArray.cc, MArray.h: Remove from here. - -2009-11-19 Jaroslav Hajek - - * dim-vector.h (dim_vector::safe_numel): New method. - * Array.h (Array::Array (const dim_vector&), - Array::Array (const dim_vector&, const T&), - Array::Array (T *, const dim_vector&)): Use it here. - * Array.cc (Array::clear (const dim_vector&)): Also here. - (Array::get_size): Remove. - * Array2.h (Array2::get_size): Remove. - * Array3.h (Array3::get_size): Remove. - -2009-11-19 Jaroslav Hajek - - * Array.cc (Array::clear (const dim_vector&)): Use get_size. - -2009-11-19 Jaroslav Hajek - - * lo-mappers.cc (do_erfinv): New static function. - (erfinv (double), erfinv (float)): New mappers. - * lo-mappers.h: Declare them. - -2009-11-18 David Grundberg - - * str-vec.cc (string_vector::list_in_columns): Avoid crash on - empty arguments from list_in_columns. - -2009-11-18 Jaroslav Hajek - - * Sparse.h (read_sparse_matrix): Fix order of tests and reads. - -2009-11-18 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_any_negative, mx_inline_pow): New loops. - (DEFMXMAPPER2X): New macro. - * bsxfun-decl.h (BSXFUN_OP2_DECL): New macro. - * bsxfun-defs.cc (BSXFUN_OP2_DEF, BSXFUN_OP2_DEF_MXLOOP): New macros. - (do_bsxfun_op): Use OCTAVE_QUIT. - * dNDArray.cc (NDArray::all_integers (void)): New method. - (NDArray::any_element_is_negative): Use mx_inline_any_negative. - (bsxfun_pow (const NDArray&, const NDArray&), - bsxfun_pow (const ComplexNDArray&, const NDArray&)): New functions. - * dNDArray.h: Update. - * fNDArray.cc (FloatNDArray::all_integers (void)): New method. - (FloatNDArray::any_element_is_negative): Use mx_inline_any_negative. - (bsxfun_pow (const FloatNDArray&, const FloatNDArray&), - bsxfun_pow (const FloatComplexNDArray&, const FloatNDArray&)): - New functions. - * fNDArray.h: Update. - * CNDArray.cc (bsxfun_pow (const ComplexNDArray&, const - ComplexNDArray&)): New function. - * CNDArray.h: Update. - * fCNDArray.cc (bsxfun_pow (const FloatComplexNDArray&, const - FloatComplexNDArray&)): New function. - * fCNDArray.h: Update. - -2009-11-13 Jaroslav Hajek - - * CNDArray.cc (ComplexNDArray::all_elements_are_real): - Use mx_inline_all_real. - * CMatrix.cc (ComplexMatrix::all_elements_are_real): Ditto. - * fCNDArray.cc (FloatComplexNDArray::all_elements_are_real): - Use mx_inline_all_real. - * fCMatrix.cc (FloatComplexMatrix::all_elements_are_real): Ditto. - * CDiagMatrix.cc (ComplexDiagMatrix::all_elements_are_real): Ditto. - * fCDiagMatrix.cc (FloatComplexDiagMatrix::all_elements_are_real): - Ditto. - * CSparse.cc (SparseComplexMatrix::all_elements_are_real): Ditto. - -2009-11-17 Jaroslav Hajek - - * base-aepbal.h (permuting_vector): Fix lower part swapping. - -2009-11-13 John W. Eaton - - * Makefile.am (liboctave_la_CPPFLAGS): Add @OCTAVE_DLL_DEFS@ to - the list of flags. - -2009-11-13 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_any_nan): Rewrite. - (mx_inline_all_real): New reduction loop. - -2009-11-12 Jaroslav Hajek - - * lo-mappers.cc ( rc_acos, rc_acos, rc_acosh, rc_acosh, rc_asin, - rc_asin, rc_atanh, rc_atanh, rc_log, rc_log, rc_xlog2, rc_log2, - rc_log10, rc_log10, rc_sqrt, rc_sqrt): New mappers. - * lo-mappers.h: Declare them. - - * lo-specfun.cc (rc_lgamma, rc_lgamma, rc_log1p, rc_log1p): New - mappers. - * lo-specfun.h: Declare them. - * Array.h (Array::map): Unroll loop to reduce OCTAVE_QUIT checking. - Provide function-reference overloads. - - * MArray.h (MArray::map): Provide function-reference overloads. - * Array2.h (Array2::map): Ditto. - * MArray2.h (MArray2::map): Ditto. - - * Sparse.h (Sparse::map): Ditto. - * MSparse.h (MSparse::map): Ditto. - - * dNDArray.h (NDArray::map): Remove. - * dNDArray.cc (NDArray::map): Remove. - * fNDArray.h (FloatNDArray::map): Remove. - * fNDArray.cc (FloatNDArray::map): Remove. - * CNDArray.h (ComplexNDArray::map): Remove. - * CNDArray.cc (ComplexNDArray::map): Remove. - * fCNDArray.h (FloatComplexNDArray::map): Remove. - * fCNDArray.cc (FloatComplexNDArray::map): Remove. - - * dMatrix.h (Matrix::map): Remove. - * dMatrix.cc (Matrix::map): Remove. - * fMatrix.h (FloatMatrix::map): Remove. - * fMatrix.cc (FloatMatrix::map): Remove. - * CMatrix.h (ComplexMatrix::map): Remove. - * CMatrix.cc (ComplexMatrix::map): Remove. - * fCMatrix.h (FloatComplexMatrix::map): Remove. - * fCMatrix.cc (FloatComplexMatrix::map): Remove. - - * dRowVector.h (RowVector::map): Remove. - * dRowVector.cc (RowVector::map): Remove. - * fRowVector.h (FloatRowVector::map): Remove. - * fRowVector.cc (FloatRowVector::map): Remove. - * CRowVector.h (ComplexRowVector::map): Remove. - * CRowVector.cc (ComplexRowVector::map): Remove. - * fCRowVector.h (FloatComplexRowVector::map): Remove. - * fCRowVector.cc (FloatComplexRowVector::map): Remove. - - * dColVector.h (ColumnVector::map): Remove. - * dColVector.cc (ColumnVector::map): Remove. - * fColVector.h (FloatColumnVector::map): Remove. - * fColVector.cc (FloatColumnVector::map): Remove. - * CColVector.h (ComplexColumnVector::map): Remove. - * CColVector.cc (ComplexColumnVector::map): Remove. - * fCColVector.h (FloatComplexColumnVector::map): Remove. - * fCColVector.cc (FloatComplexColumnVector::map): Remove. - - * dSparse.h (SparseMatrix::map): Remove. - * dSparse.cc (SparseMatrix::map): Remove. - * CSparse.h (SparseComplexMatrix::map): Remove. - * CSparse.cc (SparseComplexMatrix::map): Remove. - -2009-11-11 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Improve comment about systems - without IEEE floating point format. - -2009-11-11 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_map): New template loop. - (DEFMXMAPPER): New macro. - (DEFMXMAPPER2): Rename from DEFMXMAPPER. - (do_mx_unary_map): New applier. - (mx_inline_real, mx_inline_complex): New loops. - * dNDArray.cc (NDArray::abs, NDArray::isnan, NDArray::isinf, - NDArray::isfinite, real, imag): Use new constructs. - * fNDArray.cc (FloatNDArray::abs, FloatNDArray::isnan, - FloatNDArray::isinf, FloatNDArray::isfinite, real, imag): Ditto. - * CNDArray.cc (ComplexNDArray::abs, ComplexNDArray::isnan, - ComplexNDArray::isinf, ComplexNDArray::isfinite, conj): Use new - constructs. - * fCNDArray.cc (FloatComplexNDArray::abs, FloatComplexNDArray::isnan, - FloatComplexNDArray::isinf, FloatComplexNDArray::isfinite, conj): Use - new constructs. - -2009-11-10 John W. Eaton - - * mx-ops, sparse-mx-ops, vx-ops, vx-ops: - Add comment about updating. - * Makefile.am, config-ops.sh: New files. - * Makefile.in: Delete. - -2009-11-09 Jaroslav Hajek - - * dSparse.h (Sparse::max): Use Array. - * dSparse.cc: Update. - * CSparse.h (Sparse::max): Use Array. - * CSparse.cc: Update. - * dNDArray.h (NDArray::max, NDArray::min, NDArray::cummax, - NDArray::cummin, NDArray::diff): Use dim = -1 as default. - * fNDArray.h (FloatNDArray::max, FloatNDArray::min, FloatNDArray::cummax, - FloatNDArray::cummin, FloatNDArray::diff): Use dim = -1 as default. - * CNDArray.h (ComplexNDArray::max, ComplexNDArray::min, - ComplexNDArray::cummax, ComplexNDArray::cummin, ComplexNDArray::diff): - Use dim = -1 as default. - * fCNDArray.h (FloatComplexNDArray::max, FloatComplexNDArray::min, - FloatComplexNDArray::cummax, FloatComplexNDArray::cummin, - FloatComplexNDArray::diff): Use dim = -1 as default. - * intNDArray.h (intNDArray::max, intNDArray::min, intNDArray::cummax, - intNDArray::cummin, intNDArray::diff): Use dim = -1 as default. - -2009-11-03 Jaroslav Hajek - - * oct-mem.h: Rename octave_ucopy -> copy_or_memcpy, - octave_fill -> fill_or_memset, octave_new -> no_ctor_new, - octave_delete -> no_ctor_delete. - * Array.h: Update. - * Array.cc: Update. - * idx-vector.h: Update. - * idx-vector.cc: Update. - -2009-11-03 Jaroslav Hajek - - * oct-mem.h: New source. - * Makefile.in: Include it. - * Array.h (Array::ArrayRep::ArrayRep (...)): Use octave_new, - octave_ucopy and octave_fill. - (Array::ArrayRep::~ArrayRep): Use octave_delete. - (Array::coerce): Use octave_new. - * Array.cc (Array::fill, rec_resize_helper::do_resize_fill, - Array::resize_fill, rec_permute_helper::do_permute, - Array::delete_elements): Use octave_ucopy and octave_fill. - * idx-vector.h (index_vector::index, index_vector::assign): Use - octave_ucopy. - * idx-vector.cc (index_vector::copy_data): Ditto. - -2009-11-03 Jaroslav Hajek - - * idx-vector.cc (idx_vector::maybe_reduce): Implement (i:k:end, :) - and (i:k:end, p:q) reductions. - -2009-11-02 Jaroslav Hajek - - * mx-inlines.cc (twosum_accum): Remove FLOAT_TRUNCATE. - -2009-10-28 John W. Eaton - - * PermMatrix.cc: Don't include error.h. - -2009-10-27 David Bateman - - * SparsedbleLU.cc (SparseLU::SparseLU (const SparseMatrix&, - const Matrix&, bool), SparseLU::SparseLU (const SparseMatrix&, - const ColumnVector&, const Matrix&, boo, bool, double, bool, - bool)): Fix test for valid pivot tolerance. - * SparseCmplxLU.cc (SparseComplexLU::SparseComplexLU - (const SparseComplexMatrix&, const Matrix&, bool), - SparseComplexLU::SparseComplexLU (const SparseComplexMatrix&, - const ColumnVector&, const Matrix&, boo, bool, double, bool, - bool)): Ditto. - -2009-10-23 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_range_rep::idx_range_rep - (octave_idx_type, octave_idx_type, octave_idx_type)): - Improve checking. - -2009-10-21 John W. Eaton - - * oct-time.h (octave_time::octave_time (time_t t, int us)): - New constructor. - (operator + (const octave_time&, const octave_time&)): New function. - - * file-stat.h (base_file_stat::time_resolution): New function. - -2009-10-20 Jaroslav Hajek - - * bsxfun-decl.h, bsxfun-defs.cc: New sources. - * Makefile.in: Add them. - * dim-vector.h (dim_vector::compute_index, - dim_vector::increment_index): Fix. - * mx-inlines.cc (DEFMXMAPPER, DEFMXLOCALMAPPER): New macros. - (mx_inline_xmin, mx_inline_xmax): New loops. - (mx_inline_fun): Remove. - * oct-inttypes.h (xmin (const octave_int&, const octave_int&), - xmax (const octave_int&, const octave_int&)): - New inline functions. - - * CNDArray.cc: Define bsxfun operations. - * boolNDArray.cc: Ditto. - * dNDArray.cc: Ditto. - * fCNDArray.cc: Ditto. - * fNDArray.cc: Ditto. - * int16NDArray.cc: Ditto. - * int32NDArray.cc: Ditto. - * int64NDArray.cc: Ditto. - * int8NDArray.cc: Ditto. - * uint16NDArray.cc: Ditto. - * uint32NDArray.cc: Ditto. - * uint64NDArray.cc: Ditto. - * uint8NDArray.cc: Ditto. - - * CNDArray.h: Declare bsxfun operations. - * boolNDArray.h: Ditto. - * dNDArray.h: Ditto. - * fCNDArray.h: Ditto. - * fNDArray.h: Ditto. - * int16NDArray.h: Ditto. - * int32NDArray.h: Ditto. - * int64NDArray.h: Ditto. - * int8NDArray.h: Ditto. - * uint16NDArray.h: Ditto. - * uint32NDArray.h: Ditto. - * uint64NDArray.h: Ditto. - * uint8NDArray.h: Ditto. - -2009-10-19 Jaroslav Hajek - - * dim-vector.h (dim_vector::compute_index, - dim_vector::increment_index, dim_vector::cumulative, - dim_vector::cum_compute_index): New methods. - -2009-10-18 Carsten Clark - - * Makefile.in: Remove ArrayN.cc. - -2009-10-18 Jaroslav Hajek - - * Makefile.in: Include base-qr.h and base-qr.cc. - -2009-10-17 Jaroslav Hajek - - * dbleQR.cc: Initialize QR::raw, QR::economy and QR::std. - -2009-10-16 Jaroslav Hajek - - * ArrayN.h: Remove everything, just #define ArrayN Array. - Warn if under gcc. - * ArrayN.cc: Remove. - * Array.cc (operator >>): New operator. - * Array.h: Declare it. - - * Array-C.cc: Remove traces of ArrayN. - * Array-b.cc: Ditto. - * Array-ch.cc: Ditto. - * Array-d.cc: Ditto. - * Array-f.cc: Ditto. - * Array-fC.cc: Ditto. - * CNDArray.cc: Ditto. - * CNDArray.h: Ditto. - * MArrayN.h: Ditto. - * boolNDArray.cc: Ditto. - * boolNDArray.h: Ditto. - * chNDArray.h: Ditto. - * dNDArray.cc: Ditto. - * dNDArray.h: Ditto. - * fCNDArray.cc: Ditto. - * fCNDArray.h: Ditto. - * fNDArray.cc: Ditto. - * fNDArray.h: Ditto. - * intNDArray.cc: Ditto. - * intNDArray.h: Ditto. - * lo-specfun.cc: Ditto. - * lo-specfun.h: Ditto. - - * mx-op-defs.h (DMS_BIN_OP, SDM_BIN_OP): Rewrite. - (DMS_BIN_OPS, SDM_BIN_OPS): Define dm*s and dm/s rather than dm+s and - dm-s which are rather useless. - * mx-ops: Update. - -2009-10-16 Jaroslav Hajek - - * Array.cc (Array::column, Array::page, Array::linearize, - Array::linear_slice): New methods. - * Array.h: Declare them - * ArrayN.h: Forward them. - -2009-10-14 Jaroslav Hajek - - * oct-sort.cc (octave_sort::nth_element): New overloaded method. - * oct-sort.h: Declare it. - * Array.cc (Array::nth_element): New method. - * Array.h: Declare it. - (Array::sort): Use int for dim argument. - * ArrayN.h (ArrayN::nth_element): Wrap. - (ArrayN::sort): Use int for dim argument. - -2009-10-13 Jaroslav Hajek - - * lo-traits.h (equal_types, is_instance, subst_template_param): New - traits classes. - * mx-inlines.cc (op_dble_sum, twosum_accum): New helper funcs. - (mx_inline_dsum, mx_inline_xsum): New reduction loops. - * fNDArray.cc (FloatNDArray::dsum): New method. - * fNDArray.h: Declare it. - * fCNDArray.cc (FloatComplexNDArray::dsum): New method. - * fCNDArray.h: Declare it. - * dNDArray.cc (NDArray::xsum): New method. - * dNDArray.h: Declare it. - * CNDArray.cc (ComplexNDArray::xsum): New method. - * CNDArray.h: Declare it. - * intNDArray.cc (intNDArray::dsum): New method. - * intNDArray.h: Declare it. - -2009-10-12 Jaroslav Hajek - - * base-qr.cc (base_qr::regular): New method. - * base-qr.h: Declare it. - * base-lu.cc (base_lu::regular): New method. - * base-lu.h: Declare it. - -2009-10-12 Jaroslav Hajek - - * base-qr.h: New source. - * base-qr.cc: New source. - * dbleQR.h (QR): Rebase on base_qr. - * dbleQR.cc: Ditto. - * floatQR.h (QR): Rebase on base_qr. - * floatQR.cc: Ditto. - * CmplxQR.h (QR): Rebase on base_qr. - * CmplxQR.cc: Ditto. - * fCmplxQR.h (QR): Rebase on base_qr. - * fCmplxQR.cc: Ditto. - * dbleQRP.h (QR): Update. - * dbleQRP.cc: Ditto. - * floatQRP.h (QR): Update. - * floatQRP.cc: Ditto. - * CmplxQRP.h (QR): Update. - * CmplxQRP.cc: Ditto. - * fCmplxQRP.h (QR): Update. - * fCmplxQRP.cc: Ditto. - -2009-10-08 Jaroslav Hajek - - * PermMatrix.cc (PermMatrix::eye): New method. - * PermMatrix.h: Declare it. - * dbleLU.cc (LU::update, LU::update_piv): New overloaded methods. - * dbleLU.h: Declare them. - * floatLU.cc (FloatLU::update, FloatLU::update_piv): New overloaded - methods. - * floatLU.h: Declare them. - * CmplxLU.cc (ComplexLU::update, ComplexLU::update_piv): New - overloaded methods. - * CmplxLU.h: Declare them. - * fCmplxLU.cc (FloatComplexLU::update, FloatComplexLU::update_piv): - New overloaded methods. - * fCmplxLU.h: Declare them. - -2009-10-07 John W. Eaton - - * mx-inlines.cc (mx_inline_diff): Avoid uninitialized variable warning. - -2009-10-06 Jaroslav Hajek - - * dDiagMatrix.cc (operator *(const DiagMatrix&, const DiagMatrix&)): - Rewrite. - * fDiagMatrix.cc (operator *(const FloatDiagMatrix&, const FloatDiagMatrix&)): - Rewrite. - * CDiagMatrix.cc (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): - Rewrite. - * fCDiagMatrix.cc (operator *(const FloatComplexDiagMatrix&, const - FloatComplexDiagMatrix&)): - Rewrite. - * DiagArray2.h (DiagArray2::diag_length): New method. - * PermMatrix.h (PermMatrix::length): Make consistent with - DiagArray2::length. - -2009-10-05 Jaroslav Hajek - - * base-lu.cc (base_lu::unpack): Unpack getp as well. - -2009-10-05 Jaroslav Hajek - - * PermMatrix.cc (PermMatrix::determinant): Implement a (hopefully) - working algorithm. - -2009-10-05 Jaroslav Hajek - - * dim-vector.h (operator ==): Include fast case. - * base-lu.cc (base_lu::packed, base_lu::unpack): New methods. - (base_lu::L, base_lu::U, base_lu::Y, base_lu::getp): Distinguish - packed vs. unpacked case. - * base-lu.h: Update decls. - (base_lu::l_fact): New member field. - -2009-10-02 Jaroslav Hajek - - * lo-traits.h (strip_template_param): New trait class. - -2009-10-01 Jaroslav Hajek - - * Array.cc (Array::permute): Fast case identity permutation. - -2009-09-27 Jaroslav Hajek - - * oct-cmplx.h: Fix complex-real orderings. - -2009-09-27 Jaroslav Hajek - - * dim-vector.h (dim_vector::redim): Rewrite. - * Array-util.cc (sub2ind): Allow single index case. - -2009-09-26 Jaroslav Hajek - - * dMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. - (operator *(const Matrix&, const Matrix&)): Update. - * fMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. - (operator *(const FloatMatrix&, const FloatMatrix&)): Update. - * CMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. - (operator *(const ComplexMatrix&, const ComplexMatrix&)): Update. - * fCMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. - (operator *(const FloatComplexMatrix&, const FloatComplexMatrix&)): Update. - * dMatrix.h: Update decl. - * fMatrix.h: Update decl. - * CMatrix.h: Update decl. - * fCMatrix.h: Update decl. - -2009-09-23 Jaroslav Hajek - - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const Matrix&, const - Matrix&)): New constructor. - (operator * (Matrix, ComplexMatrix), operator * (ComplexMatrix, - Matrix)): Optimize. - * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix (const FloatMatrix&, const - FloatMatrix&)): New constructor. - (operator * (FloatMatrix, FloatComplexMatrix), operator * (FloatComplexMatrix, - FloatMatrix)): Optimize. - -2009-09-23 Jaroslav Hajek - - * dMatrix.cc (stack_complex_matrix, unstack_complex_matrix): New - static funcs. - (Matrix::solve (..., const ComplexMatrix&, ...)): Use the above funcs. - Improve forwarding. - * fMatrix.cc (stack_complex_matrix, unstack_complex_matrix): New - static funcs. - (FloatMatrix::solve (..., const FloatComplexMatrix&, ...)): Use the - above funcs. Improve forwarding. - -2009-09-23 Jaroslav Hajek - - * mx-defs.h (blas_trans_type): New enum. - (get_blas_char): New inline func. - * dMatrix.cc (Matrix::utsolve, Matrix::ltsolve, Matrix::solve): - Support transt parameter. - * fMatrix.cc (FloatMatrix::utsolve, FloatMatrix::ltsolve, - FloatMatrix::solve): Ditto. - * CMatrix.cc (ComplexMatrix::utsolve, ComplexMatrix::ltsolve, - ComplexMatrix::solve): Ditto. - * fCMatrix.cc (FloatComplexMatrix::utsolve, - FloatComplexMatrix::ltsolve, FloatComplexMatrix::solve): Ditto. - * dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h: Update. - -2009-09-21 Jaroslav Hajek - - * mx-op-defs.h (VS_BIN_OP, SV_BIN_OP, VV_BIN_OP): Simplify. - -2009-09-19 Jaroslav Hajek - - * dNDArray.h (NDArray::matrix_type): New typedef. - * fNDArray.h (FloatNDArray::matrix_type): New typedef. - * CNDArray.h (ComplexNDArray::matrix_type): New typedef. - * fCNDArray.h (FloatComplexNDArray::matrix_type): New typedef. - * boolNDArray.h (boolNDArray::matrix_type): New typedef. - * charNDArray.h (charNDArray::matrix_type): New typedef. - - * dMatrix.h (Matrix::column_vector_type, - Matrix::row_vector_type): New typedefs. - * fMatrix.h (FloatMatrix::column_vector_type, - FloatMatrix::row_vector_type): New typedefs. - * CMatrix.h (ComplexMatrix::column_vector_type, - ComplexMatrix::row_vector_type): New typedefs. - * fCMatrix.h (FloatComplexMatrix::column_vector_type, - FloatComplexMatrix::row_vector_type): New typedefs. - -2009-09-18 John W. Eaton - - * mach-info.cc: Don't include oct-types.h. - -2009-09-18 Jaroslav Hajek - - * Array.h (NoAlias): New template class. - * dRowVector.cc (linspace): Rewrite. - * fRowVector.cc (linspace): Rewrite. - * CRowVector.cc (linspace): Rewrite. - * fCRowVector.cc (linspace): Rewrite. - * dMatrix.cc (linspace): New method. - * dMatrix.h (linspace): Declare it. - * fMatrix.cc (linspace): New method. - * fMatrix.h (linspace): Declare it. - * CMatrix.cc (linspace): New method. - * CMatrix.h (linspace): Declare it. - * fCMatrix.cc (linspace): New method. - * fCMatrix.h (linspace): Declare it. - -2009-09-17 John W. Eaton - - * oct-types.h.in: Delete. - * Makefile.in (BUILT_INCLUDES, DISTFILES): Remove oct-types.h.in - from the list. - (distclean, maintainer-clean): Don't remove oct-types.h - * DAEFunc.h, MatrixType.h, base-aepbal.h, dim-vector.h, - lo-specfun.h, lo-utils.h, mx-op-decl.h, oct-inttypes.h, - randgamma.h, randmtzig.h, randpoisson.h: - Don't include oct-types.h. - -2009-09-16 Jaroslav Hajek - - * oct-rand.cc (octave_rand::do_matrix, do_nd_array, do_vector): - Use Array::clear rather than Array::resize. - -2009-09-06 Jaroslav Hajek - - * dColVector.h (operator *(const Matrix&, const ColumnVector)): - Optimize. - * fColVector.h (operator *(const FloatMatrix&, const - FloatColumnVector)): Optimize. - * CColVector.h (operator *(const ComplexMatrix&, const - ComplexColumnVector)): Optimize. - * fCColVector.h (operator *(const FloatComplexMatrix&, const - FloatComplexColumnVector)): Optimize. - -2009-09-04 Jaroslav Hajek - - * Array.cc (Array::clear (const dim_vector&)): new method. - * Array.h: Declare it. - (Array::clear (octave_idx_type)): New method. - (Array::clear (octave_idx_type, octave_idx_type)): New method. - -2009-09-04 Jaroslav Hajek - - * mx-inlines.cc (DEFMXBOOLOPEQ): New macro. - (mx_inline_and2, mx_inline_or2): New loops. - - * MArray.h (MArray::MArray (const dim_vector&)): New constructor. - (MArray::MArray (const Array&)): Ensure column vector. - (MArray::resize): New method. - * DiagArray2.h (DiagArray2::DiagArray2 (const dim_vector&)): New - constructor. - * MDiagArray2.h (MDiagArray2::MDiagArray2 (const dim_vector&)): New - constructor. - * dColVector.h (ColumnVector::ColumnVector (const dim_vector&)): New - constructor. - * fColVector.h (FloatColumnVector::FloatColumnVector (const - dim_vector&)): New constructor. - * CColVector.h (ComplexColumnVector::ComplexColumnVector (const - dim_vector&)): New constructor. - * fCColVector.h (FloatComplexColumnVector::FloatComplexColumnVector - (const dim_vector&)): New constructor. - * dRowVector.h (RowVector::RowVector (const dim_vector&)): New - constructor. - * fRowVector.h (FloatRowVector::FloatRowVector (const dim_vector&)): - New constructor. - * CRowVector.h (ComplexRowVector::ComplexRowVector (const - dim_vector&)): New constructor. - * fCRowVector.h (FloatComplexRowVector::FloatComplexRowVector (const - dim_vector&)): New constructor. - - * CNDArray.cc (operator *= (const ComplexNDArray, double)): Simplify. - * fCNDArray.cc (operator *= (const FloatComplexNDArray, float)): Simplify. - - * MArray.cc - (operator += (MArray&, const T&)): Simplify. - (operator -= (MArray&, const T&)): Simplify. - (operator *= (MArray&, const T&)): Simplify. - (operator /= (MArray&, const T&)): Simplify. - (operator += (MArray&, const MArray&)): Simplify. - (operator -= (MArray&, const MArray&)): Simplify. - (product (MArray&, const MArray&)): Simplify. - (quotient (MArray&, const MArray&)): Simplify. - (MARRAY_AS_OP): Simplify. - (MARRAY_SA_OP): Simplify. - (MARRAY_AA_OP): Simplify. - (operator - (const MArray&)): Simplify. - - * MArray2.cc - (operator += (MArray2&, const T&)): Simplify. - (operator -= (MArray2&, const T&)): Simplify. - (operator *= (MArray2&, const T&)): Simplify. - (operator /= (MArray2&, const T&)): Simplify. - (operator += (MArray2&, const MArray&)): Simplify. - (operator -= (MArray2&, const MArray&)): Simplify. - (product (MArray2&, const MArray&)): Simplify. - (quotient (MArray2&, const MArray&)): Simplify. - (MARRAY_A2S_OP): Simplify. - (MARRAY_SA2_OP): Simplify. - (MARRAY_A2A2_OP): Simplify. - (operator - (const MArray2&)): Simplify. - - * MArrayN.cc - (operator += (MArrayN&, const T&)): Simplify. - (operator -= (MArrayN&, const T&)): Simplify. - (operator *= (MArrayN&, const T&)): Simplify. - (operator /= (MArrayN&, const T&)): Simplify. - (operator += (MArrayN&, const MArray&)): Simplify. - (operator -= (MArrayN&, const MArray&)): Simplify. - (product (MArrayN&, const MArray&)): Simplify. - (quotient (MArrayN&, const MArray&)): Simplify. - (MARRAY_NDS_OP): Simplify. - (MARRAY_SND_OP): Simplify. - (MARRAY_NDND_OP): Simplify. - (operator - (const MArrayN&)): Simplify. - - * MDiagArray2.cc - (operator += (MDiagArray2&, const MDiagArray2&)): Simplify. - (operator -= (MDiagArray2&, const MDiagArray2&)): Simplify. - (operator *= (MDiagArray2&, T)): Simplify. - (operator /= (MDiagArray2&, T)): Simplify. - (MARRAY_DAS_OP, MARRAY_SDA_OP, MARRAY_DADA_OP): Simplify. - * boolNDArray.cc (mx_el_and_assign, mx_el_or_assign): Simplify. - - * MArray-defs.h (DO_VS_OP, DO_SV_OP, DO_VV_OP, - DO_VS_OP2, DO_VV_OP2, NEGV): Remove. - -2009-09-03 Jaroslav Hajek - - * mx-inlines.cc (DEFMXUNOPEQ): New macro. - (mx_inline_not2, mx_inline_uminus2): New loops. - * boolNDArray.cc (boolNDArray::invert): New method. - * boolNDArray.h: Declare it. - * MArrayN.cc (MArrayN::changesign): New method. - * MArrayN.h: Declare it. - * dNDArray.cc (NDArray::changesign): New method. - * dNDArray.h: Declare it. - * fNDArray.cc (FloatNDArray::changesign): New method. - * fNDArray.h: Declare it. - * CNDArray.cc (ComplexNDArray::changesign): New method. - * CNDArray.h: Declare it. - * fCNDArray.cc (FloatComplexNDArray::changesign): New method. - * fCNDArray.h: Declare it. - * intNDArray.cc (intNDArray::changesign): New method. - * intNDArray.h: Declare it. - -2009-09-02 Jaroslav Hajek - - * oct-cmplx.h: Rewrite the comaprison ops. Use FLOAT_TRUNCATE. - -2009-09-01 Jaroslav Hajek - - * oct-cmplx.h: Correct strict operators in macros. - -2009-08-31 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Abort if floating point format - is not recognized as IEEE. - -2009-08-27 John W. Eaton - - * str-vec.cc, str-vec.h (string_vector::string_vector (const - std::set&)): New constructor. - -2009-08-27 Jaroslav Hajek - - * mx-inlines.cc (DEFCMPLXCMOP): Remove. - * oct-cmplx.h (operator <, operator >): Remove definitions. - (DEF_COMPLEXR_COMP): New macro. Instantiate for <, >, <=, >=. - * mx-op-defs.h (MM_CMP_OP, MS_CMP_OP, SM_CMP_OP, - NDND_CMP_OP, NDS_CMP_OP, SND_CMP_OP): Replace by one-liners. Remove - unused parameters. - (MM_CMP_OPS, MS_CMP_OPS, SM_CMP_OPS, NDND_CMP_OPS, NDS_CMP_OPS, - SND_CMP_OPS): Update. - (NDS_CMP_OP1, NDS_CMP_OPS1, NDS_CMP_OP2, NDS_CMP_OPS2, - SND_CMP_OP1, SND_CMP_OPS1, SND_CMP_OP2, SND_CMP_OPS2): Remove. - * mk-ops.awk: Simplify CMP_OPS branch. - * Sparse-op-defs.h (SPARSE_SMSM_CMP_OPS, SPARSE_SMS_CMP_OPS, - SPARSE_SSM_CMP_OPS, SPARSE_MSM_CMP_OPS, SPARSE_SMM_CMP_OPS): - Update. - - * CNDArray.cc: Update syntax. - * boolNDArray.cc: Ditto. - * chNDArray.cc: Ditto. - * dNDArray.cc: Ditto. - * fCNDArray.cc: Ditto. - * fNDArray.cc: Ditto. - - * int16NDArray.cc: Ditto. - * int32NDArray.cc: Ditto. - * int64NDArray.cc: Ditto. - * int8NDArray.cc: Ditto. - * uint16NDArray.cc: Ditto. - * uint32NDArray.cc: Ditto. - * uint64NDArray.cc: Ditto. - * uint8NDArray.cc: Ditto. - - * CMatrix.cc: Ditto. - * boolMatrix.cc: Ditto. - * chMatrix.cc: Ditto. - * dMatrix.cc: Ditto. - * fCMatrix.cc: Ditto. - * fMatrix.cc: Ditto. - -2009-08-24 Jaroslav Hajek - - * MArray.cc (MArray::product_eq, MArray::quotient_eq): New - methods. - * MArray2.cc (MArray2::product_eq, MArray2::quotient_eq): Ditto. - * MArrayN.cc (MArrayN::product_eq, MArrayN::quotient_eq): Ditto. - * MArray-decl.h (MARRAY_OP_ASSIGN_DECLX): New macro. - (MARRAY_OP_ASSIGN_DECLS, MARRAY_OP_ASSIGN_FWD_DEFS): Include - product_eq and quotient_eq. - (MARRAY_FORWARD_DEFS): Use MARRAY_OP_ASSIGN_FWD_DEFS1. - (MDIAGARRAY2_OPS_FORWARD_DECLS): Don't instantiate - OP= operators for diag matrices. - (MDIAGARRAY2_FORWARD_DEFS): Ditto. - * MArray-defs.h (INSTANTIATE_MDIAGARRAY2_FRIENDS): Ditto. - -2009-08-23 Jaroslav Hajek - - * Array.h (Array::make_unique, Array::~Array, Array::operator =): - Move here to allow inlining. - * Array.cc: Remove from here. - -2009-08-20 Jaroslav Hajek - - * mx-inlines.cc (logical_value): New overloaded template. - (DEFMXBOOL_OP): Use it in definitions. - (mx_inline_not): Also use logical_value. - * mx-op-defs.h (ND_LOGICAL_NAN_CHECK, SC_LOGICAL_NAN_CHECK): Remove - (also from all macros). - - * CMatrix.cc (operator !): Simply call mx_inline_not. - * CNDArray.cc: Ditto. - * dMatrix.cc: Ditto. - * dNDArray.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCNDArray.cc: Ditto. - * fMatrix.cc: Ditto. - * fNDArray.cc: Ditto. - -2009-08-20 Jaroslav Hajek - - * dMatrix.cc (Matrix::operator!): Simplify & check for NaNs. - * fMatrix.cc (FloatMatrix::operator!): Ditto. - * CMatrix.cc (ComplexMatrix::operator!): Ditto. - * fCMatrix.cc (FloatComplexMatrix::operator!): Ditto. - * dNDArray.cc (NDArray::operator!): Ditto. - * fNDArray.cc (FloatNDArray::operator!): Ditto. - * CNDArray.cc (ComplexNDArray::operator!): Ditto. - * fCNDArray.cc (FloatComplexNDArray::operator!): Ditto. - -2009-08-20 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_add, mx_inline_sub, mx_inline_mul, - mx_inline_div, mx_inline_uminus, mx_inline_not, mx_inline_add2, - mx_inline_sub2, mx_inline_mul2, mx_inline_div2, mx_inline_iszero, - mx_inline_notzero, mx_inline_and, mx_inline_or, mx_inline_not_and, - mx_inline_not_or, mx_inline_and_not, mx_inline_or_not, - mx_inline_lt, mx_inline_le, mx_inline_gt, mx_inline_ge, - mx_inline_eq, mx_inline_ne): New templates. - (do_mx_unary_op, do_mm_binary_op, do_sm_binary_op, - do_ms_binary_op, do_mm_inplace_op,do_ms_inplace_op): - New templates. - - * mx-op-defs.h (ND_LOGICAL_NAN_CHECK, SC_LOGICAL_NAN_CHECK): - New macros. - (NDND_BIN_OP, NDS_BIN_OP, SND_BIN_OP): Simplify. - (MM_BIN_OP, MS_BIN_OP, MM_BIN_OP): Simplify. - (NDND_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP): Simplify. - (MM_BOOL_OP, MS_BOOL_OP, MM_BOOL_OP): Simplify. - (NDND_BOOL_OPS2, NDS_BOOL_OPS2, SND_BOOL_OPS2, - MM_BOOL_OPS2, MS_BOOL_OPS2, SM_BOOL_OPS2): Remove. - * mx-op-decl.h (NDND_BOOL_OPX_DECLS, NDS_BOOL_OPX_DECLS, - SND_BOOL_OPX_DECLS): New macros. - * mk-ops.awk: use _BOOL_OPS rather than _BOOL_OPS2. - - * boolMatrix.cc: Add missing bool op defs. - * boolMatrix.h: Add missing bool op decls. - - - * boolNDArray.cc: Remove unused arg to BOOL_OPS. - * CMatrix.cc: Ditto. - * CNDArray.cc: Ditto. - * ChangeLog: Ditto. - * chMatrix.cc: Ditto. - * chNDArray.cc: Ditto. - * dMatrix.cc: Ditto. - * dNDArray.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCNDArray.cc: Ditto. - * fMatrix.cc: Ditto. - * fNDArray.cc: Ditto. - * int16NDArray.cc: Ditto. - * int32NDArray.cc: Ditto. - * int64NDArray.cc: Ditto. - * int8NDArray.cc: Ditto. - * uint16NDArray.cc: Ditto. - * uint32NDArray.cc: Ditto. - * uint64NDArray.cc: Ditto. - * uint8NDArray.cc: Ditto. - - * CColVector.cc: Update syntax where needed. - * CDiagMatrix.cc: Ditto. - * CMatrix.cc: Ditto. - * CRowVector.cc: Ditto. - * chMatrix.cc: Ditto. - * dColVector.cc: Ditto. - * dDiagMatrix.cc: Ditto. - * dMatrix.cc: Ditto. - * dRowVector.cc: Ditto. - * fCColVector.cc: Ditto. - * fCDiagMatrix.cc: Ditto. - * fCMatrix.cc: Ditto. - * fCRowVector.cc: Ditto. - * fColVector.cc: Ditto. - * fDiagMatrix.cc: Ditto. - * fMatrix.cc: Ditto. - * fRowVector.cc: Ditto. - -2009-08-19 Jaroslav Hajek - - * Array-util.cc (zero_dims_inquire): Add matching ndims case. - -2009-08-19 Jaroslav Hajek - - * MArrayN.cc (operator+=, operator-=): Test matching dimensions first. - * boolNDArray.cc (mx_el_and_assign, mx_el_or_assign): New functions. - * boolNDArray.h: Declare them. - -2009-08-19 Jaroslav Hajek - - * Array.cc (Array::clear): New method. - * Array.h: Declare it. - * MArray-decl.h (MARRAY_OP_ASSIGN_DECLS1, MARRAY_OP_ASSIGN_FWD_DECLS1, - MARRAY_OP_ASSIGN_FRIENDS1, MARRAY_OP_ASSIGN_FWD_DEFS1): New macros. - (MARRAY_OPS_FORWARD_DECLS, MARRAY_OPS_FRIEND_DECLS): Use them. - * MArray-defs.h (MARRAY_OP_ASSIGN_DEFS1): New macro. - (INSTANTIATE_MARRAY_FRIENDS): Use it. - (INSTANTIATE_MARRAY2_FRIENDS): Use it. - (INSTANTIATE_MARRAYN_FRIENDS): Use it. - * MArray.cc (operator+=, operator-=): - Operate out-of-place when this is shared copy. - (operator*=, operator/=): New operator overloads. - * MArray2.cc: Ditto. - * MArrayN.cc: Ditto. - * CNDArray.cc (operator *= (ComplexNDArray&, double), - operator /= (ComplexNDArray&, double)): New operators. - * CNDArray.h: Declare them. - * fCNDArray.cc (operator *= (FloatComplexNDArray&, double), - operator /= (FloatComplexNDArray&, double)): New operators. - * fCNDArray.h: Declare them. - -2009-08-17 John W. Eaton - - * Makefile.in (LINK_DEPS): List LIBS last. - -2009-08-16 Jaroslav Hajek - - * dMatrix.cc, fMatrix.cc, CMatrix.cc, fCMatrix.cc: Add more tests. - * CMatrix.cc (xgemm): Fix vector * matrix case. - * fCMatrix.cc (xgemm): Ditto. - -2009-08-16 Jaroslav Hajek - - * fMatrix.cc, fCMatrix.cc: Make tests use single precision. - -2009-08-16 Jaroslav Hajek - - * CMatrix.cc (xgemm): Fix typo. Add test. - * fCMatrix.cc (xgemm): Ditto. - -2009-08-14 John W. Eaton - - * Makefile.in (LINK_DEPS): Include BLAS_LIBS in the list. - -2009-08-13 John W. Eaton - - * CMatrix.cc, CNDArray.cc, dMatrix.cc, dNDArray.cc, fCMatrix.cc, - fCNDArray.cc, fMatrix.cc, fNDARray.cc, oct-fftw.cc, oct-fftw.h: - Update for new FFTW defines. - - * Makefile.in: Add library-specific CPPFLAGS and LDFLAGS variables - to CPPFLAGS and LDFLAGS for files that use sparse matrices or fftw. - -2009-08-12 Jaroslav Hajek - - * Makefile.in: Include LDFLAGS when linking shared executable. - -2009-08-11 John W. Eaton - - * oct-fftw.h, oct-fftw.cc (octave_fftw_planner): Convert to singleton. - (octave_float_fft_planner): Likewise. - -2009-08-11 John W. Eaton - - * Makefile.in (LINK_DEPS): Use READLINE_LIBS instead of - LIBREADLINE. Also link with TERM_LIBS and DL_LIBS. - -2009-08-11 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_diff): New overloaded template - function. - (get_extent_triplet): Use dim_vector::first_non_singleton. - (do_mx_diff_op): New template function. - * dNDArray.cc (NDArray::diff): New method. - * dNDArray.h: Declare it. - * fNDArray.cc (FloatNDArray::diff): New method. - * fNDArray.h: Declare it. - * CNDArray.cc (ComplexNDArray::diff): New method. - * CNDArray.h: Declare it. - * fCNDArray.cc (FloatComplexNDArray::diff): New method. - * fCNDArray.h: Declare it. - * intNDArray.cc (intNDArray::diff): New method. - * intNDArray.h: Declare it. - -2009-08-10 Jaroslav Hajek - - * dim-vector.h (dim_vector::first_non_singleton): New method. - -2009-08-06 Jaroslav Hajek - - * dim-vector.h (dim_vector): Rewrite. Use single-alloc implementation - aka GCC's basic_string class. - * Array.cc: Use dim_vector::alloc where fitting. - * Array-util.cc: Ditto. - -2009-08-05 John W. Eaton - - * oct-shlib.cc (octave_shl_load_shlib::open): Pass BIND_IMMEDIATE, - not BIND_DEFERRED to shl_load. - (octave_dlopen_shlib::open): Don't pass RTLD_GLOBAL to dlopen. - -2009-08-05 John W. Eaton - - * Makefile.in (LINK_DEPS): Omit $(BLAS_LIBS) from the list. - Include $(RLD_FLAG) in the list. - -2009-08-05 John W. Eaton - - * Makefile.in (LINK_DEPS): Include $(PTHREAD_LIBS) in the list. - -2009-08-04 Kristian Rumberg - - * cmd-edit.cc (gnu_readline::do_get_line_buffer, - default_command_editor::do_get_line_buffer): New functions. - (command_editor::get_line_buffer): New function. - * cmd-edit.h (command_editor::get_line_buffer): Provide decls. - (command_editor::do_get_line_buffer): New pure virtual function. - -2009-07-31 Jaroslav Hajek - - * idx-vector.h (idx_vector::is_range): New method. - (idx_vector::copy_data, idx_vector::unconvert): New method decls. - * idx-vector.cc (idx_vector::copy_data, idx_vector::unconvert): New - methods. - * Array-utils.cc (sub2ind, ind2sub): New functions. - -2009-07-29 John W. Eaton - - * fMatrix.cc (operator >>): Use template function to read value. - * fNDArray.cc (operator >>): Likeise. - * fCMatrix.cc (operator >>): Use template function to read value. - * fCNDArray.cc (operator >>): Likeise. - * dMatrix.cc (operator >>): Use template function to read value. - * dNDArray.cc (operator >>): Likeise. - * CMatrix.cc (operator >>): Use template function to read value. - * CNDArray.cc (operator >>): Likeise. - - * lo-utils.cc, lo-utils.h (octave_read_value): New template - (octave_read_value, octave_read_value): - Provide specializations. - (octave_read_double, octave_read_complex, octave_read_float, - octave_rread_float_complex): Define in terms of template functions. - * Sparse.h (read_sparse_matrix): New template function. - * dSparse.cc (operator >>): Call read_sparse_matrix. - * CSparse.cc (operator >>): Likewise. - * boolSparse.cc (operator >>): Likewise. - * sparse-util.cc, sparse-util.h (sparse_indices_ok): New function. - * Sparse.cc (Sparse::indices_ok, Sparse::SparseRep::indices_ok): - New member functions. - -2009-07-20 John W. Eaton - - * lo-ieee.cc (octave_ieee_init) [__NetBSD__]: Call nan to - initialize Octave_NaN and nanf, to initialize Octave_Float_NaN. - -2009-07-11 John W. Eaton - - * file-ops.cc (file_ops::symlink, file_ops::readlink): - Don't use incorrectly sized OCTAVE_LOCAL_BUFFER. - -2009-07-08 John W. Eaton - - * dim-vector.h (dim_vector::dim_vector_rep::dim_vector_rep - (octave_idx_type, const dim_vector_rep *, int)): - Enforce 2-d objects here. - (dim_vector::dim_vector_rep::dim_vector_rep): Simply copy object. - (dim_vector::resize): Allow N < 2. - -2009-07-03 Jaroslav Hajek - - * Sparse-op-defs.h (SPARSE_ALL_OP): Fix typo. - * dSparse.cc (SparseMatrix::prod): Ditto. - * CSparse.cc (ComplexSparseMatrix::prod): Ditto. - -2009-07-02 Jaroslav Hajek - - * Sparse-diag-op-defs.h (inner_do_add_sm_dm): Rewrite to ensure - ordering of row indices. - -2009-06-30 Jaroslav Hajek - - * oct-sort.cc (octave_sort::lookupb): Fix typo. - -2009-06-29 Jaroslav Hajek - - * oct-sort.cc (octave_sort::lookup_merge): Delete. - (octave_sort::lookup, - octave_sort::lookupm, - octave_sort::lookupb): Rewrite. - -2009-06-26 Michael Goffioul - - * pathsearch.h (class dir_path::static_members): Decorate with - OCTAVE_API. - -2009-06-26 Jaroslav Hajek - - * oct-sort.cc (octave_sort::lookup_merge): Slightly speed-up - the merge case. - -2009-06-26 Jaroslav Hajek - - * oct-sort.cc (octave_sort::lookup_merge): Fix lower-part - recursion. - -2009-06-24 Alexander Barth - - * eigs-base.cc (EigsRealSymmetricMatrix, - EigsRealSymmetricMatrixShift, EigsRealSymmetricFunc, - EigsRealNonSymmetricMatrix, EigsRealNonSymmetricMatrixShift, - EigsRealNonSymmetricFunc, EigsComplexNonSymmetricMatrix, - EigsComplexNonSymmetricMatrixShift, EigsComplexNonSymmetricFunc): - Use octave_idx_type for parameters of type LOGICAL in ARPACK. - -2009-06-22 Jaroslav Hajek - - * chMatrix.cc (charMatrix::charMatrix (const string_vector&)): - Optimize w.r.t. COW of std::string. - -2009-06-18 Jaroslav Hajek - - * oct-sort.cc (lookup_impl): New helper inline function. - (octave_sort::lookup_merge): New private template method. - (octave_sort::lookup): Rewrite. - (octave_sort::lookupm): use lookup_impl. - (octave_sort::lookupb): use lookup_impl. - (out_of_range_pred, out_of_range): Remove. - -2009-06-18 Jaroslav Hajek - - * dMatrix.cc (xgemm): Replace resize() with uninitialized allocations - where appropriate. - * fMatrix.cc (xgemm): Ditto. - * CMatrix.cc (xgemm): Ditto. - * fCMatrix.cc (xgemm): Ditto. - -2009-06-12 Jaroslav Hajek - - * oct-sort.cc (octave_sort::lookupm, octave_sort::lookupb): New - overloaded methods. - * oct-sort.h: Declare them. - * Array.cc (Array::lookupm, Array::lookupb): New methods. - * Array.h: Declare them. - -2009-06-09 Jaroslav Hajek - - * cmd-edit.cc (command_editor::force_default_editor): New static - method. - * cmd-edit.h: Declare it. - -2009-06-09 Jaroslav Hajek - - * lo-mappers.cc (xlog2 (const Complex&, int&), xlog2 (const - FloatComplex&, int&)): Use more robust expression. - -2009-06-07 Jaroslav Hajek - - * Array.cc (Array::find): Avoid allocating excessive memory. Fix - order for backward searches. - -2009-06-02 Jaroslav Hajek - - * Array-C.cc (class DiagArray2::Proxy): Only explicitly - instantiate DiagArray2::Proxy on MSVC. - * Array-d.cc (class DiagArray2::Proxy): Ditto. - * Array-f.cc (class DiagArray2::Proxy): Ditto. - * Array-fC.cc (class DiagArray2::Proxy): Ditto. - -2009-05-26 John W. Eaton - - * pathsearch.h (dir_path::path_sep_char (char), - dir_path::static_members::path_sep_char (char)): New functions. - -2009-05-21 Michael Goffioul - - * Array-C.cc (class DiagArray2::Proxy): Tag with OCTAVE_API. - * Array-d.cc (class DiagArray2::Proxy): Ditto. - * Array-f.cc (class DiagArray2::Proxy): Ditto. - * Array-fC.cc (class DiagArray2::Proxy): Ditto. - * Array.cc (class octave_sort): Ditto. - * CColVector.h (conj, operator*, operator>>, operator<<): Ditto. - * CDiagMatrix.h (class ComplexDiagMatrix, conj, operator*): Ditto. - * CMatrix.h (conj): Ditto. - * CNDArray.h (conj): Ditto. - * PermMatrix.h (class PermMatrix, operator*): Ditto. - * dDiagMatrix.h (class DiagMatrix): Ditto. - * fCColVector.h (conj, operator*, operator>>, operator<<): Ditto. - * fCDiagMatrix.h (class FloatComplexDiagMatrix, conj, operator*): - Ditto. - * fCMatrix.h (conj): Ditto. - * fCNDArray.h (conj): Ditto. - * fDiagMatrix.h (operator*): Ditto. - * oct-locbuf.h (octave_chunk_buffer::octave_chunk_buffer, - octave_chunk_buffer::~octave_chunk_buffer): Ditto. - * oct-inttypes.cc (octave_int_cmp_op::emulate_op): Ditto. - * DET.h (class base_det): Remove OCTAVE_API (cannot be applied on - templates). - * oct-inttypes.cc (octave_int_cmp_op::emulate_op): Ditto. - - * CmplxQR.cc (ComplexQR::insert_col, ComplexQR::delete_col): Copy - volatile variable to avoid MSVC compilation error (cannot pass - volatile variable as const& argument). - * dbleQR.cc (QR::insert_col, QR::delete_col): Ditto. - * fCmplxQR.cc (FloatComplexQR::insert_col, - FloatComplexQR::delete_col): Ditto. - * floatQR.cc (FloatQR::insert_col, FloatQR::delete_col): Ditto. - - * oct-mutex.cc: Exclude pthread.h inclusion under Win32. - - * base-aepbal.h (base_aepbal::operator=): Add missing return - statement. - -2009-05-20 Jaroslav Hajek - - * eigs-base.cc ( - EigsRealSymmetricMatrix, - EigsRealSymmetricMatrixShift, - EigsRealSymmetricFunc, - EigsRealNonSymmetricMatrix, - EigsRealNonSymmetricMatrixShift, - EigsRealNonSymmetricFunc, - EigsComplexNonSymmetricMatrix, - EigsComplexNonSymmetricMatrixShift, - EigsComplexNonSymmetricFunc): Update tests. - -2009-05-21 Jaroslav Hajek - - * CMatrix.cc - (ComplexMatrix::all, ComplexMatrix::any, ComplexMatrix::cumprod, - ComplexMatrix::cumsum, ComplexMatrix::prod, ComplexMatrix::sum, - ComplexMatrix::sumsq): Use explicit template qualifications - to workaround bugs in Intel C++ and MSVC++ compilers. - * CNDArray.cc - (ComplexNDArray::all, ComplexNDArray::any, ComplexNDArray::cumprod, - ComplexNDArray::cumsum, ComplexNDArray::prod, ComplexNDArray::sum, - ComplexNDArray::sumsq): Ditto. - * boolMatrix.cc - (boolMatrix::all, boolMatrix::any): Ditto. - * boolNDArray.cc - (boolNDArray::all, boolNDArray::any): Ditto. - * chMatrix.cc - (charMatrix::all, charMatrix::any): Ditto. - * chNDArray.cc - (charNDArray::all, charNDArray::any): Ditto. - * dMatrix.cc - (Matrix::all, Matrix::any, Matrix::cumprod, - Matrix::cumsum, Matrix::prod, Matrix::sum, - Matrix::sumsq): Ditto. - * dNDArray.cc - (NDArray::all, NDArray::any, NDArray::cumprod, - NDArray::cumsum, NDArray::prod, NDArray::sum, - NDArray::sumsq): Ditto. - * fCMatrix.cc - (FloatComplexMatrix::all, FloatComplexMatrix::any, FloatComplexMatrix::cumprod, - FloatComplexMatrix::cumsum, FloatComplexMatrix::prod, FloatComplexMatrix::sum, - FloatComplexMatrix::sumsq): Ditto. - * fCNDArray.cc - (FloatComplexNDArray::all, FloatComplexNDArray::any, FloatComplexNDArray::cumprod, - FloatComplexNDArray::cumsum, FloatComplexNDArray::prod, FloatComplexNDArray::sum, - FloatComplexNDArray::sumsq): Ditto. - * fMatrix.cc - (FloatMatrix::all, FloatMatrix::any, FloatMatrix::cumprod, - FloatMatrix::cumsum, FloatMatrix::prod, FloatMatrix::sum, - FloatMatrix::sumsq): Ditto. - * fNDArray.cc - (FloatNDArray::all, FloatNDArray::any, FloatNDArray::cumprod, - FloatNDArray::cumsum, FloatNDArray::prod, FloatNDArray::sum, - FloatNDArray::sumsq): Ditto. - * intNDArray.cc - (intNDArray::all, intNDArray::any, - intNDArray::cumsum, intNDArray::sum): Ditto. - -2009-05-20 Jaroslav Hajek - - * Makefile.in: Remove reference to ArrayN-idx.h. - -2009-05-20 Jaroslav Hajek - - * Array-voidp.cc: New source. - * Array.cc (NO_INSTANTIATE_ARRAY_SORT): const T& -> T const & - * Makefile.in: Include it. - -2009-05-15 Jaroslav Hajek - - * Array.cc (Array::instantiation_guard): New function - (INSTANTIATE_ARRAY): Always override it here. - * Array.h: Declare it. - -2009-05-15 Jaroslav Hajek - - * ArrayN-idx.h: Remove file. - * ArrayN.cc: Don't include it. - * MArrayN.cc: Dtto. - -2009-05-09 Jaroslav Hajek - - * Array-util.cc (zero_dims_inquire): Move j++ out of branch. - -2009-05-07 Marco Atzeri - - * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. - -2009-05-05 Robert T. Short - - * file-ops.h (file_ops::tail) New function. - -2009-05-05 Carsten Clark - - * Quad.cc (user_function): Use access_double and assign_double on - SPARC only, not on all Sun systems. - * sun-utils.h: Likewise, define these functions on SPARC only. - -2009-05-05 Jaroslav Hajek - - * Sparse.cc (assign1): Fix an old indexing bug. - -2009-05-04 Carsten Clark - - * Quad.cc (float_user_function): Remove Sun/GCC special case. - -2009-04-16 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_range_rep::idx_range_rep (const - Range&)): Check for positive integer indices. Unify gripes. - -2009-04-15 Jaroslav Hajek - - * Array.cc (rec_permute_helper::blk_trans): Declare as static. - (Array::transpose): Reuse it. - -2009-04-04 Jaroslav Hajek - - * Array.cc (Array::make_unique): Don't economize when unique. - (Array::resize_fill (octave_idx_type, const T&)): Optimize push & - pop operations. - (Array::delete_elements (const idx_vector&)): Do pop operation - using resize. - -2009-03-29 Jaroslav Hajek - - * Array.cc (Array::assign): Remove redundant checks after invalid - resize. - -2009-03-26 Jaroslav Hajek - - * Array.cc (Array::find): Reshape result for Matlab compatibility. - * Array.h (Array): Add friend template declaration. - -2009-03-27 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const - Array&): Use more M*b-compatible behaviour. - -2009-03-26 Jaroslav Hajek - - * dim-vector.h (dim_vector::numel): Add optional argument, simplify. - -2009-03-26 Jaroslav Hajek - - * Array.h (Array::dims): Return a const reference. - (Array::is_vector): New method. - -2009-03-26 Jaroslav Hajek - - * Array.cc (Array::find): New method. - * Array.h: Declare it. - -2009-03-25 John W. Eaton - - * EIG.cc (EIG::init (const Matrix&, bool), - EIG::init (const Matrix&, const Matrix&, bool)): - Avoid volatile declaration for tmp variable. - - * Makefile.in (MATRIX_INC): Add Sparse-diag-op-defs.h and - Sparse-perm-op-defs.h to the list. - -2009-03-25 Jaroslav Hajek - - * oct-inttypes.cc (INT_DOUBLE_BINOP_DECL (*, uint64), - INT_DOUBLE_BINOP_DECL (*, int64)): x -> y where appropriate. - -2009-03-25 Jaroslav Hajek - - * Array.cc (rec_permute_helper::use_blk): New field. - (rec_permute_helper::blk_trans): New method. - (rec_permute_helper::rec_permute_helper): Use smart reductions, - detect possibility of using blocked transpose. - (rec_permute_helper::do_permute): Use blocked transpose if possible. - -2009-03-23 Jaroslav Hajek - - * idx-vector.cc (convert_index(double,...)): Simplify. - -2009-03-21 Jaroslav Hajek - - * Array-d.cc: lo_ieee_isnan -> xisnan. - * Array-f.cc: Ditto. - * oct-inttypes.cc: Ditto. - * oct-inttypes.h: Ditto. - * CDiagMatrix.cc: Add missing include. - * fCDiagMatrix.cc: Ditto. - -2009-03-20 Jaroslav Hajek - - * CColVector.cc, CMatrix.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, - boolSparse.cc, dColVector.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, - dSparse.cc, fCColVector.cc, fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, - fColVector.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, intNDArray.cc: - Allow empty arrays in stream input operators. - -2009-03-20 Jaroslav Hajek - - * Array.h (Array::fastmap): New method. - * dNDArray.cc (NDArray::isnan, NDArray::isinf, NDArray::isfinite): - New methods. - * dNDArray.h: Declare them. - * fNDArray.cc (FloatNDArray::isnan, FloatNDArray::isinf, - FloatNDArray::isfinite): New methods. - * fNDArray.h: Declare them. - * CNDArray.cc (ComplexNDArray::isnan, ComplexNDArray::isinf, - ComplexNDArray::isfinite): New methods. - * CNDArray.h: Declare them. - * fCNDArray.cc (FloatComplexNDArray::isnan, FloatComplexNDArray::isinf, - FloatComplexNDArray::isfinite): New methods. - * fCNDArray.h: Declare them. - * lo-mappers.h (xisnan, xisinf, xfinite): If possible, use definitions - from . - -2009-03-18 Jaroslav Hajek - - * oct-norm.cc (get_eps): Remove that hack. - (higham): Use std::numeric_limits instead. - Include OCTAVE_QUIT. - -2009-03-16 Jason Riedy - - * Sparse.cc (transpose): Eliminate the workspace by computing in - retval.xcidx. - * CSparse.cc (hermitian): Eliminate the workspace by computing in - retval.xcidx. - -2009-03-14 Jaroslav Hajek - - * mx-op-decl.h (NDS_BOOL_OP_DECLS, SND_BOOL_OP_DECLS, NDND_BOOL_OP_DECLS): Support compound binary ops. - * mx-op-defs.h (NDS_BOOL_OPS, SND_BOOL_OPS, NDND_BOOL_OPS): Ditto. Optimize. - * mx-op-defs.h (NDS_CMP_OP, SND_CMP_OP, NDND_CMP_OP): Optimize. - -2009-03-14 Jaroslav Hajek - - * fNDArray.h (FloatMatrix::matrix_value): Fix return type. - * dNDArray.cc (Matrix::matrix_value): Simplify. - * fNDArray.cc (FloatMatrix::matrix_value): Simplify. - * CNDArray.cc (ComplexMatrix::matrix_value): Simplify. - * fCNDArray.cc (FloatComplexMatrix::matrix_value): Simplify. - -2009-03-13 Jaroslav Hajek - - * Range.h (Range::Range (double, double, octave_idx_type)): Remove - constructor body. - * Range.cc: Move it here. Check for invalid range op results. - (all operators): Validate cache for invalid range op results. - * idx-vector.h (idx_vector::index): Optimize zero-step range case. - * idx-vector.cc (idx_vector::maybe_reduce): Always reduce colon in - singleton dimension. - -2009-03-10 Jason Riedy - - * sparse-base-lu.cc (Pr_mat): New member function. Return the row - permutation as a PermMatrix. - (Pc_mat): New member function. Return the col permutation as a - PermMatrix. - - * sparse-base-lu.h (sparse_base_lu): Declare Pc_mat and Pr_mat - member functions. - -2009-03-09 Jason Riedy - - * Sparse-diag-op-defs.h (octave_impl::inner_do_add_sm_dm): New - template function. Implementation for adding sparse and diagonal - matrices. Takes two functional arguments, opa and opd, to - generate both subtraction variants. - (octave_impl::do_commutative_add_dm_sm): New template function. - Ensure A+D and D+A use the same generated code. - (octave_impl::do_add_dm_sm): New template function. Check - arguments for diag + sparse and call inner routine. - (octave_impl::do_sub_dm_sm): New template function. Check - arguments for diag - sparse and call inner routine. - (octave_impl::do_add_sm_dm): New template function. Check - arguments for sparse + diag and call inner routine. - (octave_impl::do_sub_sm_dm): New template function. Check - arguments for sparse - diag and call inner routine. - - * dSparse.h (operator +): Declare overrides for real diag + - sparse. - (operator -): Declare overrides for real diag - sparse, sparse - - diag. - - * dSparse.cc (operator +): Define overrides for real diag + - sparse. - (operator -): Define overrides for real diag - sparse, sparse - - diag. - - * CSparse.h (operator +): Declare overrides for complex and real - combinations of diag + sparse. - (operator -): Declare overrides for complex and real combinations - of diag - sparse, sparse - diag. - - * CSparse.cc (operator +): Define overrides for complex and real - combinations of diag + sparse. - (operator -): Define overrides for complex and real combinations - of diag - sparse, sparse - diag. - -2009-03-08 Jason Riedy - - * Sparse-diag-op-defs.h (octave_impl::do_mul_dm_sm) - (octave_impl::do_mul_sm_dm): New template - functions. Implementations for sparse * diag and diag * sparse. - - * CSparse.h (operator *, trans_mul, herm_mul): Add overloads for - DiagMatrix and ComplexDiagMatrix. - * CSparse.cc (operator *, trans_mul, herm_mul): Implement - operations by calling approprate functions in - Sparse-diag-op-defs.h. - * dSparse.h (operator *, trans_mul): Add overloads for DiagMatrix. - * dSparse.cc (operator *, trans_mul): Implement operations by - calling approprate functions in Sparse-diag-op-defs.h. - -2009-03-12 John W. Eaton - - * oct-inttypes.h (bitshift): Apply mask even if not shifting. - From Seb Astien . - -2009-03-11 Jaroslav Hajek - - * PermMatrix.cc (PermMatrix::power): New method. - * PermMatrix.h: Declare it. - -2009-03-11 Jaroslav Hajek - - * dNDArray.cc (NDArray::NDArray (const charNDArray&)): New - constructor. - * fNDArray.cc (FloatNDArray::FloatNDArray (const charNDArray&)): - Ditto. - * CNDArray.cc (ComplexNDArray::ComplexNDArray (const charNDArray&)): - Ditto. - * fCNDArray.cc (FloatComplexNDArray::FloatComplexNDArray - (const charNDArray&)): Ditto. - - * dNDArray.h (NDArray::NDArray (const charNDArray&)): Declare. - * fNDArray.h (FloatNDArray::FloatNDArray (const charNDArray&)): - Ditto. - * CNDArray.h (ComplexNDArray::ComplexNDArray (const charNDArray&)): - Ditto. - * fCNDArray.h (FloatComplexNDArray::FloatComplexNDArray - (const charNDArray&)): Ditto. - - * dMatrix.cc (Matrix::Matrix (const charMatrix&)): Cast to unsigned - chars. - * fMatrix.cc (FloatMatrix::FloatMatrix (const charMatrix&)): Likewise. - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const charMatrix&)): - Likewise. - * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix - (const charMatrix&)): Likewise. - -2009-03-10 Jason Riedy - - * Sparse-perm-op-defs.h (octinternal_do_mul_colpm_sm): New - template function. Logic for the column permutation * sparse - matrix operator. - (octinternal_do_mul_pm_sm): New template function. Logic for the - permutation matrix * sparse matrix operator. Note that there is - no special row perm * sparse routine; the permutation is inverted - and the col perm routine is called. - (octinternal_do_mul_sm_rowpm): New template function. Logic for - the sparse matrix * row permutation operator. - (octinternal_do_mul_sm_colpm): New template function. Logic for - the sparse matrix * column permutation operator. - (octinternal_do_mul_sm_pm): New template function. Logic for the - sparse matrix * permutation matrix operator. - - * dSparse.h (operator *): Declare sparse * permutation and - permutation * sparse. - * dSparse.cc (operator *): Define sparse * permutation and - permutation * sparse. - - * CSparse.h (operator *): Declare sparse * permutation and - permutation * sparse. - * CSparse.cc (operator *): Define sparse * permutation and - permutation * sparse. - -2009-03-10 Jason Riedy - - * sparse-base-lu.cc (Pc_vec): The column permutation should be - Ufact.cols ()-long, not Lfact.rows ()-long. - -2009-03-10 Jason Riedy - - * dSparse.cc (SparseMatrix::SparseMatrix (const PermMatrix&)): - Fix conversion to add values to the matrix as well as getting - structure correct. - -2009-03-10 John W. Eaton - - * Array.h, ArrayN.h, Bounds.h, CmplxAEPBAL.h, CmplxCHOL.h, - CmplxGEPBAL.h, CmplxHESS.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, - CmplxSVD.h, CollocWt.h, EIG.h, FEGrid.h, LinConst.h, Range.h, - Sparse.h, SparseCmplxQR.h, SparseQR.h, dbleAEPBAL.h, dbleCHOL.h, - dbleGEPBAL.h, dbleHESS.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, - dbleSVD.h, dim-vector.h, fCmplxAEPBAL.h, fCmplxCHOL.h, - fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxQR.h, fCmplxQRP.h, - fCmplxSCHUR.h, fCmplxSVD.h, fEIG.h, floatAEPBAL.h, floatCHOL.h, - floatGEPBAL.h, floatHESS.h, floatQR.h, floatQRP.h, floatSCHUR.h, - floatSVD.h, idx-vector.h, lo-utils.h, oct-inttypes.h, - oct-spparms.h, str-vec.h: Include instead of . - -2009-03-10 Jaroslav Hajek - - * mx-inlines.cc (OP_CUMMINMAX_FCN2): r -> r0 where appropriate. - -2009-03-08 Jaroslav Hajek - - * idx-vector.h (idx_vector::bloop): loop --> bloop. - (idx_vector::loop): New method. - * MArray.cc (MArray::idx_add (cons idx_vector&, T)) - (MArray::idx_add (cons idx_vector&, const MArray&)): New methods. - * MArray.h: Declare them. - -2009-03-05 Jason Riedy - - * Sparse.h (Sparse::elt_type): Remove typedef, replace with: - * Sparse.h (Sparse::element_type): Add typedef to be consistent - with Array.h - * DiagArray2.h (DiagArray2::elt_type): Likewise, removed. - * DiagArray2.h (DiagArray2::element_type): Define by using - Array::element_type. - * intNDArray.h (intNDArray::element_type): Remove, inherited - from MArrayN. - -2009-03-05 Jaroslav Hajek - - * dSparse.h (SparseMatrix::SparseMatrix(const PermMatrix&)): New - constructor. - (SparseMatrix::SparseMatrix(const DiagMatrix&)): Fix implementation. - * CSparse.h (SparseComplexMatrix::SparseComplexMatrix(const ComplexDiagMatrix&)): - Fix implementation. - -2009-03-04 Jaroslav Hajek - - * PermMatrix.h (PermMatrix::elem): Fix comparisons. - -2009-03-03 Jaroslav Hajek - - * lo-mappers.cc (xmin (float, float), xmax (float, float)): Simplify. - -2009-03-02 Jaroslav Hajek - - * mx-inlines.cc: Add missing #include. - -2009-02-25 John W. Eaton - - * Makefile.in: Make maintainer-clean and distclean the same. - -2009-02-25 Jaroslav Hajek - - * oct-inttypes.cc (pow (const octave_int&, const octave_int&)): - Simplify. - -2009-02-23 Jaroslav Hajek - - * oct-inttypes.h (octave_int_cmp_op::mop): Implement as simple - forwarders when OCTAVE_INT_USE_LONG_DOUBLE is not defined. - (octave_int_cmp_op::emulate_mop): New static overloaded template - member function. - * oct-inttypes.cc: Turn the octave_int_cmp_op::mop definitions into - defs for octave_int_cmp_op::emulate_mop. - (INSTANTIATE_INT64_DOUBLE_CMP_OP0): Instantiate - octave_int_cmp_op::emulate_op instead. - -2009-02-23 Jaroslav Hajek - - * dDiagMatrix.cc (DiagMatrix::pseudo_inverse): New method. - * dDiagMatrix.h: Declare it. - * fDiagMatrix.cc (FloatDiagMatrix::pseudo_inverse): New method. - * fDiagMatrix.h: Declare it. - * CDiagMatrix.cc (ComplexDiagMatrix::pseudo_inverse): New method. - * CDiagMatrix.h: Declare it. - * fCDiagMatrix.cc (FloatComplexDiagMatrix::pseudo_inverse): New method. - * fCDiagMatrix.h: Declare it. - -2009-02-20 Jaroslav Hajek - - * oct-sort.h (octave_sort::MergeState::MergeState): New - constructor. - (octave_sort::MergeState::~MergeState): New destructor. - (octave_sort::MergeState::reset, - octave_sort::MergeState::getmem, - octave_sort::MergeState::getmemi): New methods. - (octave_sort::sort, - octave_sort::merge_lo, octave_sort::merge_hi - octave_sort::merge_at): Reflect change. - -2009-02-19 Jaroslav Hajek - - * oct-types.h (sortmode): Move enum here. - * oct-sort.h (octave_sort::ms): Declare as pointer. - (octave_sort::lookup): New overloaded method. - * oct-sort.cc: Reflect change to ms. - (octave_sort::lookup): New overloaded method. - (out_of_range_pred): New helper class. - (out_of_range): New helper function. - * oct-lookup.h: Remove file. - * Array.cc (Array::lookup): New overloaded method. - * Array.h: Declare it. - -2009-02-18 John W. Eaton - - * dbleQR.cc (QR::init, QR::form): Cast int to octave_idx_type in - call to std::max. - * floatQR.cc (FloatQR::init, FloatQR::form): Ditto. - * CmplxQR.cc (ComplexQR::init, ComplexQR::form): Ditto. - * fCmplxQR.cc (FloatComplexQR::init, FloatComplexQR::form): Ditto. - - * dbleQRP.cc (QRP::init): Cast int to octave_idx_type in call to - std::max and as operand to -= operator. - * CmplxQRP.cc (ComplexQRP::init): Ditto. - * floatQRP.cc (FloatQRP::init): Ditto. - * fCmplxQRP.cc (FloatComplexQRP::init): Ditto. - - * CDiagMatrix.cc, CDiagMatrix.h (ComplexDiagMatrix::inverse): - Declare info as octave_idx_type, not int. - * dDiagMatrix.cc, dDiagMatrix.h (DiagMatrix::inverse): Ditto. - * fDiagMatrix.cc, fCDiagMatrix.h (FloatDiagMatrix::inverse): Ditto. - * fCDiagMatrix.cc, fCDiagMatrix.h (FloatComplexDiagMatrix::inverse): - Ditto. - - * dMatrix.cc (Matrix::determinant): - Declare local variables volatile as needed to avoid "maybe - clobbered by vfork" warning from GCC. - * fMatrix.cc (FloatMatrix::determinant): Likewise. - * CMatrix.cc (ComplexMatrix::determinant): Likewise. - * fCMatrix.cc (FloatComplexMatrix::determinant): Likewise. - * dbleQR.cc (QR::update, QR::insert_col, QR::delete_col): Likewise. - * floatQR.cc (FloatQR::update, FloatQR::insert_col, - FloatQR::delete_col): Likewise. - * CmplxQR.cc (ComplexQR::update, ComplexQR::insert_col, - ComplexQR::delete_col): Likewise. - * fCmplxQR.cc (FloatComplexQR::update, FloatComplexQR::insert_col, - FloatComplexQR::delete_col): Likewise. - - * dMatrix.cc (padec, solve_singularity_warning): Delete unused - static variable and function. - * CMatrix.cc (padec, solve_singularity_warning): Ditto. - * fMatrix.cc (padec, solve_singularity_warning): Ditto. - * fCMatrix.cc (padec, solve_singularity_warning): Ditto. - -2009-02-18 Jaroslav Hajek - - * Array.cc (Array::resize (const dim_vector&)): Check for negative - dimensions. - -2009-02-18 Jaroslav Hajek - - * oct-inttypes.cc (pow (const octave_int&, const octave_int&)): - Use octave_int comparisons to avoid warning for unsigned types. - -2009-02-17 Jaroslav Hajek - - * Array.cc (Array::resize (const dim_vector&)): Remove dead branch. - -2009-02-17 Jaroslav Hajek - - * mx-inlines.cc (OP_CUM_FCN, OP_CUM_FCN2, OP_CUM_FCNN): - Add TSRC/TRES parameters. - (mx_inline_cumcount): New function. - * intNDArray.cc (intNDArray::cumsum): New method. - * intNDArray.h: Declare it. - * boolNDArray.cc (boolNDArray::cumsum): New method. - * boolNDArray.h: Declare it. - -2009-02-17 Jaroslav Hajek - - * mx-inlines.cc (OP_CUMMINMAX_FCN, OP_CUMMINMAX_FCN2, - OP_CUMMINMAX_FCNN): New macros. - (mx_inline_cummax, mx_inline_cummin, do_mx_cumminmax_op): - New overloaded template functions. - - * dNDArray.cc (NDArray::cummin, NDArray::cummax): New methods. - * dNDArray.h: Declare them. - - * fNDArray.cc (FloatNDArray::cummin, FloatNDArray::cummax): New - methods. - * fNDArray.h: Declare them. - - * CNDArray.cc (ComplexNDArray::cummin, ComplexNDArray::cummax): New - methods. - * CNDArray.h: Declare them. - - * fCNDArray.cc (FloatComplexNDArray::cummin, - FloatComplexNDArray::cummax): New methods. - * fCNDArray.h: Declare them. - - * intNDArray.cc (intNDArray::cummin, intNDArray::cummax): New methods. - * intNDArray.h: Declare them. - -2009-02-17 Jaroslav Hajek - - * mx-inlines.cc (OP_MINMAX_FCN): Correct behaviour with NaNs. - -2009-02-17 Jaroslav Hajek - - * MArray-defs.h: Move declarative part to MArray-decl.h - * MArray-decl.h: New source. - - * mx-op-defs.h: Move declarative part to mx-op-decl.h. - * mx-op-decl.h: New source. - - * Makefile.in: Include new sources in build. - * mk-ops.awk: Include mx-op-decl.h in headers, mx-op-defs in .cc - files. - - * CMatrix.cc, CMatrix.h, CNDArray.cc, CNDArray.h, MArray.h, MArray2.h, - MArrayN.h, MDiagArray2.h, boolMatrix.cc, boolMatrix.h, boolNDArray.cc, - boolNDArray.h, chMatrix.cc, chMatrix.h, chNDArray.cc, chNDArray.h, - dMatrix.cc, dMatrix.h, dNDArray.cc, dNDArray.h, fCMatrix.cc, - fCMatrix.h, fCNDArray.cc, fCNDArray.h, fMatrix.cc, fMatrix.h, - fNDArray.cc, fNDArray.h, int16NDArray.cc, int16NDArray.h, - int32NDArray.cc, int32NDArray.h, int64NDArray.cc, int64NDArray.h, - int8NDArray.cc, int8NDArray.h, uint16NDArray.cc, uint16NDArray.h, - uint32NDArray.cc, uint32NDArray.h, uint64NDArray.cc, uint64NDArray.h, - uint8NDArray.cc, uint8NDArray.h: Ditto. - -2009-02-16 Jaroslav Hajek - - * Array.cc (Array::assign (const idx_vector& i, - const idx_vector& j,...)): Fix invalid dimension inquiry. - -2009-02-16 Jaroslav Hajek - - * mx-inlines.cc (OP_ROW_SHORT_CIRCUIT): New macro. - (mx_inline_any, mx_inline_all): Override row-reduction case. - (MX_CUMULATIVE_OP, MX_BASE_REDUCTION_OP, MX_REDUCTION_OP, - MX_ANY_OP, MX_ALL_OP, MX_ND_ANY_ALL, MX_ND_REDUCTION, - MX_ND_COMPLEX_OP_REDUCTION, MX_ND_CUMULATIVE_OP, - MX_ND_ANY_EVAL, MX_ND_ALL_EVAL, MX_ND_REAL_OP_REDUCTION): - Remove unused macros. - -2009-02-16 Jaroslav Hajek - - * mx-inlines.cc (OP_RED_FCNN): Use explicit type qualification. - (mx_inline_count): New overloaded template function. - * boolNDArray.h (boolNDArray::sum): Return NDArray. - * boolNDArray.cc (boolNDArray::sum): Return NDArray, use do_mx-red_op. - -2009-02-16 Jaroslav Hajek - - * Array-C.cc, Array-fC.cc: Don't redefine complex comparison. - * Sparse.cc (Sparse::sort): Don't use vec_index. - * Sparse-C.cc, Sparse-d.cc, Sparse-b.cc: Don't reinstantiate - octave_sort, reflect changes. - * sparse-sort.cc: Explicitly instantiate octave_sort for requested - pointer types. - -2009-02-16 Jaroslav Hajek - - * oct-cmplx.h (operator <, operator >): New operators. - * mx-inlines.cc (OP_MINMAX_FCN, OP_MINMAX_FCN2, OP_MINMAX_FCNN): - New macros. - (mx_inline_min, mx_inline_max, do_mx_minmax_op): New overloaded - template functions. - * dNDArray (NDArray::min, NDArray::max): Use do_mx_minmax_op. - * fNDArray (FloatNDArray::min, FloatNDArray::max): Ditto. - * CNDArray (ComplexNDArray::min, ComplexNDArray::max): Ditto. - * fCNDArray (FloatComplexNDArray::min, FloatComplexNDArray::max): - Ditto. - -2009-02-16 Jaroslav Hajek - - * chMatrix.cc (charMatrix::all, charMatrix::any): Use do_mx_red_op. - * chNDArray.cc (charNDArray::all, charNDArray::any): Ditto. - -2009-02-16 John W. Eaton - - * cmd-edit.cc (default_command_editor::do_readline): - Use fputs instead of fprintf. - -2009-02-14 Jaroslav Hajek - - * mx-inlines.cc (OP_RED_FCN, OP_RED_FCN2, OP_RED_FCNN, OP_CUM_FCN, - OP_CUM_FCN2, OP_CUM_FCNN): Include TRET parameter. - (OP_RED_ANYC, OP_RED_ANYR, OP_RED_ALLC, OP_RED_ALLR): New macros. - (is_true, is_false): New template functions. - (mx_inline_any, mx_inline_all): New template functions. - - * dMatrix.cc (Matrix::any, Matrix::all): Use do_mx_red_op and - do_mx_cum_op. - * fMatrix.cc (FloatMatrix::any, FloatMatrix::all): Use do_mx_red_op - and do_mx_cum_op. - * CMatrix.cc (ComplexMatrix::any, ComplexMatrix::all): Use - do_mx_red_op and do_mx_cum_op. - * fCMatrix.cc (FloatComplexMatrix::any, FloatComplexMatrix::all): Use - do_mx_red_op and do_mx_cum_op. - - * dNDArray.cc (NDArray::any, NDArray::all): Use do_mx_red_op and - do_mx_cum_op. - * fNDArray.cc (FloatNDArray::any, FloatNDArray::all): Use do_mx_red_op - and do_mx_cum_op. - * CNDArray.cc (ComplexNDArray::any, ComplexNDArray::all): Use - do_mx_red_op and do_mx_cum_op. - * fCNDArray.cc (FloatComplexNDArray::any, FloatComplexNDArray::all): - Use do_mx_red_op and do_mx_cum_op. - - * intNDArray.cc (intNDArray::any, intNDArray::all): Use do_mx_red_op and - do_mx_cum_op. - - * boolNDArray.cc (boolNDArray::any, boolNDArray::all): Use do_mx_red_op and - do_mx_cum_op. - - * boolMatrix.cc (boolMatrix::any, boolMatrix::all): Use do_mx_red_op and - do_mx_cum_op. - -2009-02-14 Jaroslav Hajek - - * intNDArray.cc: include mx-inlines.cc. - (intNDArray::sum): Use mx_do_red_op (..., mx_inline_sum). - * Range.cc (Range::is_sorted): Add missing return statement. - -2009-02-13 Jaroslav Hajek - - * mx-inlines.cc (OP_RED_SUM, OP_RED_PROD, OP_RED_SUMSQ, OP_RED_SUMSQC, - OP_RED_FCN, OP_RED_FCN2, OP_RED_FCNN, OP_CUM_FCN, OP_CUM_FCN2, - OP_CUM_FCNN): New macros. - (mx_inline_sum, mx_inline_prod, mx_inline_sumsq, mx_inline_cumsum, - mx_inline_cumprod, get_extent_triplet, do_mx_red_op, do_mx_cum_op): - New template functions. - * dMatrix.cc (Matrix::cumprod, Matrix::cumsum, Matrix::prod, - Matrix::sum, Matrix::sumsq): Use do_mx_red_op and do_mx_cum_op. - * fMatrix.cc (FloatMatrix::cumprod, FloatMatrix::cumsum, - FloatMatrix::prod, FloatMatrix::sum, FloatMatrix::sumsq): Use - do_mx_red_op and do_mx_cum_op. - * CMatrix.cc (ComplexMatrix::cumprod, ComplexMatrix::cumsum, - ComplexMatrix::prod, ComplexMatrix::sum, ComplexMatrix::sumsq): Use - do_mx_red_op and do_mx_cum_op. - * fCMatrix.cc (FloatComplexMatrix::cumprod, - FloatComplexMatrix::cumsum, FloatComplexMatrix::prod, - FloatComplexMatrix::sum, FloatComplexMatrix::sumsq): Use do_mx_red_op - and do_mx_cum_op. - -2009-02-12 Jaroslav Hajek - - * oct-inttypes.h (if_else_type): Remove - (octave_int_base::truncate_int): Use if_then_else. - -2009-02-12 John W. Eaton - - * lo-traits.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - - * Array.h (compare_fcn_type): New typedef. - * oct-sort.h (compare_fcn_type): Ditto. - - * oct-sort.h, oct-sort.cc (octave_sort::octave_sort, - octave_sort::set_compare, octave_sort::compare): - Use typedef to simplify decl. - (octave_sort::ascending_compare, - octave_sort::descending_compare): - Use ref_param::type for parameter decl. - - * Array.cc (sort_isnan): Use ref_param::type for parameter decl. - (Array::sort): Use explicit template parameter for sort_isnan calls. - - * Array.cc, Array-C.cc, Array-fC.cc, Array-d.cc, Array-f.cc - (sortrows_comparator): Rename from _sortrows_comparator. Change - all uses. Use typedef for return value to simplify decl. - (sort_isnan): Rename from _sort_isnan. Change all uses. - (NO_INSTANTIATE_ARRAY_SORT): Use typedef to simplify instantiation - of sortrows_comparator. - - * Array-C.cc, Array-fC.cc (sort_isnan, ascending_compare, - descending_compare, nan_ascending_compare, - nan_descending_compare): - -2009-02-11 Jaroslav Hajek - - * oct-sort.cc (octave_sort::is_sorted, octave_sort::sort_rows, - octave_sort::is_sorted_rows): New methods. - * oct-sort.h: Declare them. - - * Array.cc (Array::is_sorted): New method. - (INSTANTIATE_ARRAY_SORT, NO_INSTANTIATE_ARRAY_SORT, - INSTANTIATE_ARRAY_AND_ASSIGN, INSTANTIATE_ARRAY): Move macros here. - * Array.h: Reflect changes. - - * dim-vector.h (dim_vector::is_vector): New method. - * Array-C.cc, Array-fC.cc: Override _sort_isnan, don't check for - NaN in default comparators. Provide NaN-safe comparators, override - _sortrows_comparator. - * Array-d.cc, Array-f.cc: Provide NaN-safe comparators, override - _sortrows_comparator. - * Range.cc (Range::is_sorted): New method. - * Range.h: Declare it. - -2009-02-09 Jaroslav Hajek - - * oct-sort.cc (octave_sort): Rewrite for optimizations. Allow - inlined comparison functor and by-the-way indexed sorting. - * oct-sort.h (octave_sort): Update interface. - * Array.cc (Array::sort): Reflect changes. Use copy & partition - mechanism. - * Array-d.cc, Array-f.cc, Array-C.cc, Array-fC.cc, Array-s.cc, - Array-i.cc: Reflect changes. - -2009-02-05 John W. Eaton - - * file-stat.cc (base_file_stat::is_sock): - Use EXISTS instead of OK in previous change. - - * file-stat.cc (base_file_stat::is_blk, base_file_stat::is_chr, - base_file_stat::is_dir, base_file_stat::is_fifo, - base_file_stat::is_lnk, base_file_stat::is_reg, - base_file_stat::is_sock): Return false if object is not initialized. - From Rafael Laboissiere . - -2009-02-05 Jaroslav Hajek - - * idx-vector.h (idx_vector::idx_colon_rep, - idx_vector::idx_scalar_rep, idx_vector::idx_range_rep, - idx_vector::idx_vector_rep): Declare allocators. - * idx-vector.cc: Define them. - -2009-02-05 Jaroslav Hajek - - * str-vec.h (string_vector::sort): Remove implementation. - * str-vec.cc (string_vector::sort): Move here. Use in-place sorting. - * Array-str.cc: Fix order of header files. - * oct-sort.cc (octave_sort::merge_hi): std::copy -> - std::copy_backward where appropriate. - -2009-02-05 John W. Eaton - - * Array-util.cc (zero_dims_inquire): Eliminate unused variable MATCH. - - * Sparse.cc (assign (Sparse& lhs, const Sparse& rhs)): - Eliminate unused variable N. - - * MArray-f.cc (MArray::norm (float p) const, - MArray::norm (float p) const): Pass P to xnorm. - - * eigs-base.cc (EigsRealNonSymmetricFunc, EigsRealSymmetricFunc) - (EigsComplexNonSymmetricFunc): Avoid unused parameter warning. - * idx-vector.cc (idx_vector::freeze): Likewise. - -2009-02-04 Jaroslav Hajek - - * oct-locbuf.h: Specialize OCTAVE_LOCAL_BUFFER to use chunked - allocation for pointers and const pointers. - -2009-02-03 Benjamin Lindner - - * Makefile.in: Add missing library reference. - -2009-02-03 Jaroslav Hajek - - * Array.cc (Array::sort (octave_idx_type, sortmode)): - Copy array on-the-fly. - (Array::sort (Array &, octave_idx_type, sortmode)): - Copy array on-the-fly, use bare pointers rather than vec_index. - - * Array-d.cc (Array::sort (octave_idx_type, sortmode)): - Copy array on-the-fly. - (Array::sort (Array &, octave_idx_type, sortmode)): - Copy array on-the-fly, use bare pointers rather than vec_index. - - * Array-f.cc (Array::sort (octave_idx_type, sortmode)): - Copy array on-the-fly. - (Array::sort (Array &, octave_idx_type, sortmode)): - Copy array on-the-fly, use bare pointers rather than vec_index. - -2009-02-02 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_fabs_dup, mx_inline_cabs_dup): New funcs. - - * dMatrix.cc (real, imag, Matrix::abs): Simplify. - * fMatrix.cc (real, imag, FloatMatrix::abs): Simplify. - * CMatrix.cc (ComplexMatrix::abs, ComplexMatrix::conj): Simplify. - * fCMatrix.cc (FloatComplexMatrix::abs, FloatComplexMatrix::conj): Simplify. - - * CMatrix.h, fCMatrix.h (conj): Add missing decl. - - * dNDArray.cc (real, imag, NDArray::abs): Simplify. - * fNDArray.cc (real, imag, FloatNDArray::abs): Simplify. - * CNDArray.cc (ComplexNDArray::abs, ComplexNDArray::conj): Simplify. - * fCNDArray.cc (FloatComplexNDArray::abs, FloatComplexNDArray::conj): Simplify. - - * CMatrix.h, fCMatrix.h (conj): New decl. - -2009-01-29 John W. Eaton - - * intNDArray.h (intNDArray:any_element_is_nan): New function. - * boolNDArrah.h (boolNDArray::any_element_is_nan): New function. - * chNDArray.h (charNDArray::any_element_is_nan): New function. - -2009-01-28 John W. Eaton - - * Makefile.in (LIBRARIES, install, uninstall): Use SHLLIBPRE - and SHLBINPRE library prefixes. - From Marco Atzeri . - -2009-01-28 Jaroslav Hajek - - * dMatrix.cc (Matrix::Matrix (const RowVector&)): Use shallow copy. - (Matrix::Matrix (const ColumnVector&)): Ditto. - (Matrix::row): Ditto. - (Matrix::column): Ditto. - - * fMatrix.cc (FloatMatrix::FloatMatrix (const FloatRowVector&)): Use - shallow copy. - (FloatMatrix::FloatMatrix (const FloatColumnVector&)): Ditto. - (FloatMatrix::row): Ditto. - (FloatMatrix::column): Ditto. - - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const ComplexRowVector&)): - Use shallow copy. - (ComplexMatrix::ComplexMatrix (const ComplexColumnVector&)): Ditto. - (ComplexMatrix::row): Ditto. - (ComplexMatrix::column): Ditto. - - * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix (const FloatComplexRowVector&)): - Use shallow copy. - (FloatComplexMatrix::FloatComplexMatrix (const FloatComplexColumnVector&)): Ditto. - (FloatComplexMatrix::row): Ditto. - (FloatComplexMatrix::column): Ditto. - -2009-01-27 Benjamin Lindner - - * Makefile.in (LINK_DEPS): Include ARPACK_LIBS and REGEX_LIBS in - the list. - -2009-01-27 Jaroslav Hajek - - * dbleQR.cc (QR::init): Use form. Use local buffers. - Query for optimal block size. - (QR::form): New function. - * dbleQR.h: Declare it. - * dbleQRP.cc (QRP::init):Use form. Use local buffers. - Query for optimal block size. - - * floatQR.cc (FloatQR::init): Use form. Use local buffers. - Query for optimal block size. - (FloatQR::form): New function. - * floatQR.h: Declare it. - * floatQRP.cc (FloatQRP::init):Use form. Use local buffers. - Query for optimal block size. - - * CmplxQR.cc (ComplexQR::init): Use form. Use local buffers. - Query for optimal block size. - (ComplexQR::form): New function. - * CmplxQR.h: Declare it. - * CmplxQRP.cc (ComplexQRP::init):Use form. Use local buffers. - Query for optimal block size. - - * fCmplxQR.cc (FloatComplexQR::init): Use form. Use local buffers. - Query for optimal block size. - (FloatComplexQR::form): New function. - * fCmplxQR.h: Declare it. - * fCmplxQRP.cc (FloatComplexQRP::init):Use form. Use local buffers. - Query for optimal block size. - -2009-01-23 Jaroslav Hajek - - * Array.cc (Array::assign (const idx_vector&, const Array&)): - Optimize assignment to an empty array. - (Array::assign (const idx_vector&, const idx_vector&, const Array&)): - Optimize assignment to an empty array. - -2009-01-22 Jaroslav Hajek - - * Array2.h (Array2::index): Declare resize_ok as bool. - * ArrayN.h (ArrayN::index): Ditto. Declare index vectors as const - refs. - -2009-01-22 Jaroslav Hajek - - * Range.cc (sort_internal): Add missing test. - -2009-01-22 Jaroslav Hajek - - * Array.cc (Array::index (..., bool resize_ok)): - Optimize the all-scalar-indices cases. - -2009-01-22 Jaroslav Hajek - - * dbleQR.h: Optionally declare warn_qrupdate_once. - * dbleQR.cc: Define it. - * (CmplxQR.h, dbleQR.h, fCmplxQR.h, floatQR.h): Declare replacement - methods unconditionally. - * (CmplxQR.cc, dbleQR.cc, fCmplxQR.cc, floatQR.cc): Define - updating replacement methods. - * (CmplxCHOL.h, dbleCHOL.h, fCmplxCHOL.h, floatCHOL.h): Declare - replacement methods unconditionally. - * (CmplxCHOL.cc, dbleCHOL.cc, fCmplxCHOL.cc, floatCHOL.cc): Define - updating replacement methods. - -2009-01-21 Jaroslav Hajek - - * Range.cc ( operator + (double x, const Range& r), - operator + (const Range& r, double x), - operator - (double x, const Range& r), - operator - (const Range& r, double x), - operator * (double x, const Range& r), - operator * (const Range& r, double x)): New operators. - * Range.h: Declare them. - -2009-01-20 John W. Eaton - - * file-stat.h, file-stat.cc (class base_file_stat): New base class. - (class file_stat): Derive from base_file_stat. - (class file_fstat): New class, derived from base_file_stat. - -2009-01-17 Jaroslav Hajek - - * floatQR.h (FloatQR::update, FloatQR::insert_col, - FloatQR::insert_row, FloatQR::delete_col, FloatQR::delete_row, - FloatQR::shift_col): Update interfaces. - - * floatQR.cc: Update external decls for qrupdate routines. - (FloatQR::update, FloatQR::insert_col, FloatQR::insert_row, - FloatQR::delete_col, FloatQR::delete_row, FloatQR::shift_col): Reflect - changes in qrupdate interfaces, implement batch updates. - - * dbleQR.h (QR::update, QR::insert_col, QR::insert_row, - QR::delete_col, QR::delete_row, QR::shift_col): Update interfaces. - - * dbleQR.cc: Update external decls for qrupdate routines. - (QR::update, QR::insert_col, QR::insert_row, QR::delete_col, - QR::delete_row, QR::shift_col): Reflect changes in qrupdate - interfaces, implement batch updates. - - * fCmplxQR.h (FloatComplexQR::update, FloatComplexQR::insert_col, - FloatComplexQR::insert_row, FloatComplexQR::delete_col, - FloatComplexQR::delete_row, FloatComplexQR::shift_col): Update - interfaces. - - * fCmplxQR.cc: Update external decls for qrupdate routines. - (FloatComplexQR::update, FloatComplexQR::insert_col, - FloatComplexQR::insert_row, FloatComplexQR::delete_col, - FloatComplexQR::delete_row, FloatComplexQR::shift_col): Reflect - changes in qrupdate interfaces, - implement batch updates. - - * CmplxQR.h (ComplexQR::update, ComplexQR::insert_col, - ComplexQR::insert_row, ComplexQR::delete_col, ComplexQR::delete_row, - ComplexQR::shift_col): Update interfaces. - - * CmplxQR.cc: Update external decls for qrupdate routines. - (ComplexQR::update, ComplexQR::insert_col, - ComplexQR::insert_row, ComplexQR::delete_col, ComplexQR::delete_row, - ComplexQR::shift_col): Reflect changes in qrupdate interfaces, - implement batch updates. - - * floatCHOL.h (FloatCHOL::update, FloatCHOL::downdate, - FloatCHOL::insert_sym): Update interfaces. - * floatCHOL.cc: Update external decls for qrupdate routines. - (FloatCHOL::update, FloatCHOL::downdate, FloatCHOL::insert_sym, - FloatCHOL::delete_sym, FloatCHOL::shift_sym): Reflect changes in - qrupdate interfaces, - - * CHOL.h (CHOL::update, CHOL::downdate, CHOL::insert_sym): Update - interfaces. - * CHOL.cc: Update external decls for qrupdate routines. - (CHOL::update, CHOL::downdate, CHOL::insert_sym, CHOL::delete_sym, - CHOL::shift_sym): Reflect changes in qrupdate interfaces, - - * fCmplxCHOL.h (FloatComplexCHOL::update, FloatComplexCHOL::downdate, - FloatComplexCHOL::insert_sym): Update interfaces. - * fCmplxCHOL.cc: Update external decls for qrupdate routines. - (FloatComplexCHOL::update, FloatComplexCHOL::downdate, - FloatComplexCHOL::insert_sym, FloatComplexCHOL::delete_sym, - FloatComplexCHOL::shift_sym): Reflect changes in qrupdate interfaces, - - * CmplxCHOL.h (ComplexCHOL::update, ComplexCHOL::downdate, - ComplexCHOL::insert_sym): Update interfaces. - * CmplxCHOL.cc: Update external decls for qrupdate routines. - (ComplexCHOL::update, ComplexCHOL::downdate, ComplexCHOL::insert_sym, - ComplexCHOL::delete_sym, ComplexCHOL::shift_sym): Reflect changes in - qrupdate interfaces, - -2009-01-17 Jaroslav Hajek - - * Array.h (Array): Document internal use of slice_data and - slice_len. - -2009-01-15 John W. Eaton - - * Sparse.cc (Sparse::reshape): Include mismatched dimensions in - error message. - * Array.cc (Array::reshape): Likewise. - From Robert Millan . - -2009-01-14 Jaroslav Hajek - - * Array.h (Array::rep, Array::dimensions): Make protected. - * Array.cc (Array::make_unique): Move implementation here. - (Array::fill): Ditto. - * DiagArray2.h (DiagArray2): Reimplement without abusing - Array internals. - (DiagArray2::operator Array2): New method. - * DiagArray2.cc (DiagArray2): Update methods. - * MDiagArray2.h (MDiagArray2::operator Array2): Simplify. - * PermMatrix.h (PermMatrix): Reimplement without abusing - Array internals. - * PermMatrix.cc (PermMatrix): Update methods. - -2009-01-14 Jaroslav Hajek - - * Array.cc, Array.h (all Array constructors): Handle slice_data and - slice_len. - (Array::Array (const Array&, const dim_vector&, - octave_idx_type, octave_idx_type)): New constructor. - (Array::index): Use shallow copy when index reduces to a contiguous - range. - (Array::make_unique): Rewrite. - (Array::ArrayRep): Delete redundant methods. - (rec_index_helper::is_cont_range): New method. - (Array::maybe_economize): New method. - * DiagArray2.cc (DiagArray2::resize): Fix the mess. - -2008-01-15 Rafael Laboissiere - - * oct-md5.cc: Include . - -2009-01-13 Jaroslav Hajek - - * Array.h (Array::ArrayRep::qsort): Remove. - (Array::qsort): Remove. - * glob-match.cc (glob_match::glob): qsort -> sort. - * str-vec.cc (string_vector::compare): Remove. - * str-vec.h (string_vector::compare): Remove decl. - (string_vector::qsort): Rename to sort, call Array::sort. - -2008-12-23 David Bateman - - * eigs-base.cc: New file with template wrapper for ARPACK. - * Makefile.in (TEMPLATE_SRC): Add it here. - -2008-12-16 Jaroslav Hajek - - * Array.cc (rec_permute_helper): New class. - (Array::permute): Rewrite using the recursive algorithm. - -2008-12-12 David Bateman - - * sparse-base-chol.cc (inverse): Fix inversion based on cholesky - factorization. - -2008-12-12 Jaroslav Hajek - - * oct-locbuf.cc: New source. - * oct-locbuf.h (octave_chunk_buffer): New class. - (octave_local_buffer): Subclass from octave_chunk_buffer for selected - POD types. - -2008-12-11 Jaroslav Hajek - - * mx-op-defs.h (DMDM_BIN_OP): Fix invalid buffer length. - -2008-12-10 Jaroslav Hajek - - * dMatrix.h, dMatrix.cc (Matrix::expm): Remove. - * fMatrix.h, fMatrix.cc (FloatMatrix::expm): Remove. - * CMatrix.h, CMatrix.cc (ComplexMatrix::expm): Remove. - * fCMatrix.h, fCMatrix.cc (FloatComplexMatrix::expm): Remove. - -2008-12-09 Jaroslav Hajek - - * base-aepbal.h: New source. - * dbleAEPBAL.h, dbleAEPBAL.cc: Rebase AEPBAL on base_aepbal. - * floatAEPBAL.h, floatAEPBAL.cc: Rebase FloatAEPBAL on base_aepbal. - * CmplxAEPBAL.h, CmplxAEPBAL.cc: Rebase ComplexAEPBAL on base_aepbal. - * fCmplxAEPBAL.h, fCmplxAEPBAL.cc: Rebase FloatComplexAEPBAL on base_aepbal. - -2008-12-08 Jaroslav Hajek - - * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const - Sparse&)): New constructor. - * idx_vector.h: Declare it. - (idx_vector::idx_vector (const Sparse&)): New constructor. - * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const - Array&)): Fix extent calculation. - -2008-12-09 David Bateman - - * Makefile.in (INCLUDES): Add oct-locbuf.h - -2008-12-07 Jaroslav Hajek - - * mx-inlines.cc (mx_inline_fill_vs): New template function. - * mx-op-defs.h (everywhere): Replace int by octave_idx_type. - (MDM_MULTIPLY_OP): Use mx_inline_mul_vs and mx_inline_fill_vs. - (DMM_MULTIPLY_OP): Ditto. - * fDiagMatrix.cc (operator *): Remove redundant ifs. - * fCDiagMatrix.cc (operator *): Remove redundant ifs. - -2008-12-06 Jaroslav Hajek - - * oct-locbuf.h (OCTAVE_LOCAL_BUFFER_INIT): New macro. - -2008-10-29 Jaroslav Hajek - - * oct-locbuf.h: New header file. - * Array-d.cc, Array-f.cc, Array.cc, CMatrix.cc, CNDArray.cc, - CSparse.cc, CmplxCHOL.cc, CmplxGEPBAL.cc, MatrixType.cc, - Sparse-op-defs.h, Sparse.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, - SparseQR.cc, SparsedbleLU.cc, dMatrix.cc, dNDArray.cc, dSparse.cc, - data-conv.cc, dbleCHOL.cc, dbleGEPBAL.cc, fCMatrix.cc, fCNDArray.cc, - fCmplxCHOL.cc, fCmplxGEPBAL.cc, fMatrix.cc, fNDArray.cc, file-ops.cc, - floatCHOL.cc, floatGEPBAL.cc, lo-sysdep.cc, oct-fftw.cc, oct-md5.cc, - oct-rand.cc, regex-match.cc, sparse-dmsolve.cc: Include oct-locbuf.h. - -2008-12-04 Jaroslav Hajek - - * DiagArray2.h (DiagArray2): Inherit Array privately. - (DiagArray2::dim1, dim2, rows, columns, cols, length, - nelem, numel, byte_size, dims): New methods. - (DiagArray2::diag): New method decl. - * DiagArray2.cc (DiagArray2::diag): New method. - * MDiagArray2.h (MDiagArray2::diag): New method. - * dDiagMatrix.cc (DiagMatrix::diag): Remove. - * fDiagMatrix.cc (FloatDiagMatrix::diag): Remove. - * CDiagMatrix.cc (ComplexDiagMatrix::diag): Remove. - * fCDiagMatrix.cc (FloatComplexDiagMatrix::diag): Remove. - - * PermMatrix.h (PermMatrix): Inherit Array privately. - (PermMatrix::dim1, dim2, rows, columns, cols, length, - nelem, numel, byte_size, dims): New methods. - - -2008-12-04 Jaroslav Hajek - - * dDiagMatrix.cc (DiagMatrix::determinant, DiagMatrix::rcond): New - method. - * dDiagMatrix.h: Declare them. - * fDiagMatrix.cc (FloatDiagMatrix::determinant, - FloatDiagMatrix::rcond): New methods. - * fDiagMatrix.h: Declare them. - * CDiagMatrix.cc (ComplexDiagMatrix::determinant, - ComplexDiagMatrix::rcond): New methods. - * CDiagMatrix.h: Declare them. - * fCDiagMatrix.cc (FloatComplexDiagMatrix::determinant, - FloatComplexDiagMatrix::rcond): New methods. - * fCDiagMatrix.h: Declare them. - -2008-12-04 Jaroslav Hajek - - * idx-vector.cc (idx-vector::complement): Add missing delete. - -2008-12-04 Jaroslav Hajek - - * dbleQRP.cc (QRP::QRP): Call DGEQP3 rather than DGEQPF. - * floatQRP.cc (FloatQRP::FloatQRP): Call SGEQP3 rather than SGEQPF. - * CmplxQRP.cc (ComplexQRP::ComplexQRP): Call ZGEQP3 rather than ZGEQPF. - * fCmplxQRP.cc (FloatComplexQRP::FloatComplexQRP): Call CGEQP3 rather than CGEQPF. - -2008-12-03 Jaroslav Hajek - - * PermMatrix.h, PermMatrix.cc: New sources. - * MDiagArray2.cc (MDiagArray2::is_multiple_of_identity): New method. - * MDiagArray2.h (MDiagArray2::is_multiple_of_identity): Declare it. - * idx-vector.cc (idx_vector::is_permutation): New method. - * idx-vector.h (idx_vector::is_permutation): Declare it. - * base-lu.cc (base_lu::getp): New method. - (base_lu::P): Call getp. - (base_lu::Pvec): Call getp. - * base-lu.h (base_lu): Delcare P as PermMatrix. Remove unused template - params. - * dbleQRP.cc (dbleQRP::dbleQRP): Construct a permutation matrix. - (dbleQRP::Pvec): New method. - * dbleQRP.h: Declare new method. Declare P as PermMatrix. - * CmplxQRP.cc (ComplexQRP): Likewise. - * CmplxQRP.h (ComplexQRP): Likewise. - * floatQRP.cc (FloatQRP): Likewise. - * floatQRP.h (FloatQRP): Likewise. - * fCmplxQRP.cc (FloatComplexQRP): Likewise. - * fCmplxQRP.h (FloatComplexQRP): Likewise. - -2008-12-01 Jaroslav Hajek - - * DiagArray2.h (DiagArray2::DiagArray2 (const DiagArray2&)): New template - constructor. - (DiagArray2::elem, xelem, operator ()): Move to header file to - enable inlining. - * DiagArray2.cc (DiagArray2::elem, xelem, operator ()): Remove - implementations. - * MDiagArray2.h (MDiagArray2::MDiagArray2 (const DiagArray2&)): New template - constructor. - (MDiagArray2::nnz): New method. - * MDiagArray2.cc (MDiagArray2::nnz): Implement it. - - * dDiagMatrix.h (DiagMatrix::DiagMatrix (const DiagArray2&)): New template - constructor. - (DiagMatrix::abs): New method decl. - (real (const ComplexDiagMatrix&), imag (const ComplexDiagMatrix&)): - New decls. - * dDiagMatrix.cc (DiagMatrix::abs): New method. - (operator *(const DiagMatrix&, const DiagMatrix&)): Optimize. - (real (const ComplexDiagMatrix&), imag (const ComplexDiagMatrix&)): - New functions. - - * fDiagMatrix.h (FloatDiagMatrix::FloatDiagMatrix (const DiagArray2&)): New template - constructor. - (FloatDiagMatrix::abs): New method decl. - (real (const FloatComplexDiagMatrix&), imag (const FloatComplexDiagMatrix&)): - New decls. - * fDiagMatrix.cc (FloatDiagMatrix::abs): New method. - (operator *(const FloatDiagMatrix&, const FloatDiagMatrix&)): Optimize. - (real (const FloatComplexDiagMatrix&), imag (const FloatComplexDiagMatrix&)): - New functions. - - * CDiagMatrix.h (ComplexDiagMatrix::ComplexDiagMatrix (const DiagArray2&)): New template - constructor. - (ComplexDiagMatrix::abs): New method decl. - (conj (const ComplexDiagMatrix&)): Add missing decl. - (ComplexDiagMatrix::all_elements_are_real): New method decl. - - * CDiagMatrix.cc (CDiagMatrix::abs): New method. - (operator *(const DiagMatrix&, const ComplexDiagMatrix&)): Optimize. - (operator *(const ComplexDiagMatrix&, const DiagMatrix&)): Optimize. - (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): Optimize. - (ComplexDiagMatrix::all_elements_are_real): New method. - - * fCDiagMatrix.h (FloatComplexDiagMatrix::FloatComplexDiagMatrix (const DiagArray2&)): New template - constructor. - (FloatComplexDiagMatrix::abs): New method decl. - (conj (const FloatComplexDiagMatrix&)): Add missing decl. - (FloatComplexDiagMatrix::all_elements_are_real): New method decl. - - * fCDiagMatrix.cc (CDiagMatrix::abs): New method. - (operator *(const FloatDiagMatrix&, const FloatComplexDiagMatrix&)): Optimize. - (operator *(const FloatComplexDiagMatrix&, const FloatDiagMatrix&)): Optimize. - (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): Optimize. - (FloatComplexDiagMatrix::all_elements_are_real): New method. - - * dSparse.cc (SparseMatrix::SparseMatrix (const DiagMatrix&)): New - constructor. - * dSparse.h (SparseMatrix::SparseMatrix (const DiagMatrix&)): Declare - it. - - * CSparse.cc (SparseComplexMatrix::SparseComplexMatrix (const ComplexDiagMatrix&)): - New constructor. - * CSparse.h (SparseComplexMatrix::SparseComplexMatrix (const ComplexDiagMatrix&)): - Declare it. - * mx-op-defs.h (DMM_MULTIPLY_OP, MDM_MULTIPLY_OP): Optimize. - -2008-11-21 Jarkko Kaleva - - * EIG.h (EIG::EIG (const Matrix& a, const Matrix& b, - bool calc_eigenvectors = true)): New constructor. - (EIG::EIG (const Matrix& a, const Matrix& b, octave_idx_type& info, - bool calc_eigenvectors = true)): New constructor. - (EIG::EIG (const ComplexMatrix& a, const ComplexMatrix& b, - bool calc_eigenvectors = true)): New constructor. - (EIG::EIG (const ComplexMatrix& a, const ComplexMatrix& b, - octave_idx_type& info, bool calc_eigenvectors = true)): New - constructor. - * EIG.cc (EIG::init (const Matrix& a, const Matrix& b, - bool calc_eigenvectors)): New function. - (EIG::init (const ComplexMatrix& a, const ComplexMatrix& b, - bool calc_eigenvectors)): New function. - (EIG::symmetric_init (const Matrix& a, const Matrix& b, - bool calc_eigenvectors)): New function. - (EIG::hermitian_init (const ComplexMatrix& a, const ComplexMatrix& b, - bool calc_eigenvectors)): New function. - * fEIG.h (fEIG::fEIG (const FloatMatrix& a, const FloatMatrix& b, - bool calc_eigenvectors = true)): New constructor. - (fEIG::fEIG (const FloatMatrix& a, const FloatMatrix& b, - octave_idx_type& info, bool calc_eigenvectors = true)): New - constructor. - (fEIG::fEIG (const FloatComplexMatrix& a, const FloatComplexMatrix& b, - bool calc_eigenvectors = true)): New constructor. - (fEIG::fEIG (const FloatComplexMatrix& a, const FloatComplexMatrix& b, - octave_idx_type& info, bool calc_eigenvectors = true)): New - constructor. - (fEIG::init (const FloatMatrix& a, const FloatMatrix& b, - bool calc_eigenvectors)): New function. - (fEIG::init (const FloatComplexMatrix& a, const FloatComplexMatrix& b, - bool calc_eigenvectors)): New function. - (fEIG::symmetric_init (const FloatMatrix& a, const FloatMatrix& b, - bool calc_eigenvectors)): New function. - (fEIG::hermitian_init (const FloatComplexMatrix& a, - const FloatComplexMatrix& b, bool calc_eigenvectors)): New function. - -2008-11-19 Jaroslav Hajek - - * dMatrix.cc (Matrix::determinant), - fMatrix.cc (FloatMatrix::determinant), - CMatrix.cc (ComplexMatrix::determinant), - fCMatrix.cc (FloatComplexMatrix::determinant): - Use atmp(i,i) instead of elem(i,i). - -2008-11-19 Jaroslav Hajek - - * DET.h (base_det::square): New member function. - * dMatrix.cc (Matrix::determinant), - fMatrix.cc (FloatMatrix::determinant), - CMatrix.cc (ComplexMatrix::determinant), - fCMatrix.cc (FloatComplexMatrix::determinant): - Allow taking MatrixType argument. - * dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h: Update decls. - -2008-11-19 Jaroslav Hajek - - * DET.h: New source. - * CmplxDET.cc, CmplxDET.h, dbleDET.cc, dbleDET.h, fCmplxDET.cc, - fCmplxDET.h, floatDET.cc, floatDET.h: Remove. - * Makefile.in: Reflect changes. - * mx-defs.h: Remove DET decls. - * mx-ext.h, dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h, - dSparse.h, CSparse.h: Include only DET.h. - * dMatrix.cc (Matrix::determinant), - fMatrix.cc (FloatMatrix::determinant), - CMatrix.cc (ComplexMatrix::determinant), - fCMatrix.cc (FloatComplexMatrix::determinant), - dSparse.cc (SparseMatrix::determinant), - CSparse.cc (SparseComplexMatrix::determinant): Use new class. - -2008-11-18 David Bateman - - * file-ops.cc (std::string file_ops::tilde_expand (const - std::string&)): Check if the string contains a tilde and fast - return if not. - -2008-11-17 John W. Eaton - - * dir-ops.cc (dir_entry::read): Use std::list to - cache names before converting to string_vector. - -2008-11-14 David Bateman - - * Array2.h (Array2 Array2::index): Correct use of - resize_fill_value. - -2008-11-12 Michael Goffioul - - * MArray-C.cc, MArray-d.cc, MArray-f.cc, MArray-fC.cc: Declare - MArray::norm specialization before implicit MArray implicit - instantiation. - * idx-vector.h (class idx_vector::idx_base_rep, class - idx_vector::idx_range_rep, class idx_vector::idx_colon_rep, class - idx_vector::idx_scalar_rep, class idx_vector::idx_vector_rep): Add - OCTAVE_API tag. - * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep(T), - idx_vector::idx_vector_rep::idx_vector_rep(const Array&)): Ditto. - * oct-inttypes.cc (octave_int::type_name): Ditto. - * oct-inttypes.cc (powf(const octave_int&,const float&)): Cast 'b' - to double. - * oct-inttypes.h: Undefine min/max. - * oct-norm.h (xnorm, xfrobnorm, xcolnorms, xrownorms): Add OCTAVE_API - tag. - * oct-norm.cc (xnorm, xfrobnorm, xcolnorms, xrownorms): Ditto. - -2008-11-12 Jaroslav Hajek - - * DiagArray2.h (DiagArray2::maybe_delete_elements): Remove - declaration. - -2008-11-09 Jaroslav Hajek - - * oct-norm.cc: Don't include Array.cc. - (column_norms (const MArray2&, ...)): Use std::vector instead of Array for - accumulator containers. Use empty constructor instead of - Array::resize. - (row_norms (const MArray2&, ...)): Ditto. - (column_norms (const MSparse2&, ...)): Ditto. - (row_norms (const MSparse2&, ...)): Ditto. - -2008-10-31 Jaroslav Hajek - - * oct-norm.h: New header file. - * oct-norm.cc: New source. - * CSparse.cc (SparseComplexMatrix::row, SparseComplexMatrix::column): - New member functions. - * CSparse.h (SparseComplexMatrix): Declare them. - * dSparse.cc (SparseMatrix::row, SparseMatrix::column): - New member functions. - * dSparse.h (SparseMatrix): Declare them. - * MArray-C.cc (MArray::norm), - MArray-d.cc (MArray::norm), - MArray-fC.cc (MArray::norm), - MArray-f.cc (MArray::norm): Wrap a call to xnorm. - - * MArray-defs.h (MARRAY_NORM_BODY): Remove. - -2008-11-02 Jaroslav Hajek - - * idx-vector.cc (idx_vector::is_complement): Set resulting extent - correctly. - * Array.cc (Array::delete_elements (int, const idx_vector&)): - Fix check for invalid dim. - -2008-10-31 Jaroslav Hajek - - * idx-vector.h (idx_vector::idx_range_rep::extent): Don't change - extent when len is zero. - * idx-vector.h (idx_vector::idx_range_rep::idx_range_rep (void)): - Create empty range by default. - -2008-10-30 Jaroslav Hajek - - * oct-inttypes.h (octave_int_abs): New function. - (octave_int_arith_base::div): Use octave_int_abs instead of - std::abs. - * oct-inttypes.cc (octave_int_arith_base): Ditto. - -2008-10-28 Jaroslav Hajek - - * Array-C.cc Array-d.cc Array-f.cc Array-fC.cc Array-i.cc Array-s.cc: - Don't use semicolon after INSTANTIATE_ARRAY_ASSIGN. - * Array-util.h (zero_dims_inquire): New declarations. - (is_in, how_many_lgt, short_freeze): Remove declarations. - * Array-util.cc (zero_dims_inquire): New functions. - (is_in, how_many_lgt, short_freeze): Remove functions. - * Array.cc (Array::index, Array::resize_fill, Array::resize, - Array::assign, Array::delete_elements): - Rewrite. - * Array.h (Array::index, Array::resize_fill, Array::resize, - Array::assign, Array::delete_elements): - Rewrite interfaces. - * Array2.h (Array2::resize): Call Array::resize_fill. - * Array3.h (Array3::resize): Call Array::resize_fill. - * ArrayN.h (ArrayN::resize): Remove declarations. - (ArrayN::index): Fix call to resize_fill_value. - * Sparse.cc (assign, assign1): Use zero-based indices. - * chMatrix.h: Include mx-op-defs.h - * dim-vector.h (dim_vector::any_neg, dim_vector::chop_all_singletons, - dim_vector::redim): New member functions. - * idx-vector.cc: Mostly rewrite. - * idx-vector.h: Mostly rewrite. - -2008-10-29 Michael Goffioul - - * lo-specfun.cc (cbesj, cbesy, cbesi, cbesk, cbesh1, cbesh2): Do not - use std::complex::real() and std::complex::imag() as l-value, this is - not supported under MSVC. - -2008-10-28 John W. Eaton - - * lo-specfun.cc: Fix prototypes for the Fortran subroutines cbesh, - cbesi, cbesj, cbesk, and cbesy. - (cbesh, cbesi, cbesj, cbesk, cbesy): Fix calls to Fortran - subroutines. - -2008-10-28 Brian Gough - - * lo-specfun.cc (zbesi): Fix scaling factor for negative alpha. - (cbesi): Likewise. - -2008-10-23 John Swensen - - * oct-shlib.cc (octave_dyld_shlib::open): Call NSLinkEditError to - get better diagnostic if NSLinkModule fails. - -2008-10-23 John W. Eaton - - * oct-shlib.cc (octave_dlopen_shlib::open): Use RTLD_NOW instead - of RTLD_LAZY. - -2008-10-12 Jaroslav Hajek - - * CSparse.cc (ComplexMatrix::expm): Improve inverse preconditioning - according to Marco Caliari. - * dSparse.cc (Matrix::expm): Likewise. - * fCSparse.cc (FloatComplexMatrix::expm): Likewise. - * fSparse.cc (FloatMatrix::expm): Likewise. - -2008-10-10 Jaroslav Hajek - - * sparse-util.h (SparseCholPrint): Change char * argument to const - char *. - * sparse-util.cc (SparseCholPrint): Likewise. - -2008-10-09 Jaroslav Hajek - - * oct-sort.cc (octave_sort::merge_getmem, - octave_sort::merge_freemem): Replace malloc -> new [], free -> - delete []. - (octave_sort::merge_lo, octave_sort::merge_hi): Replace - std::memcpy and std::memmove with std::copy. - -2008-10-08 John W. Eaton - - * Sparse-op-defs.h (SPARSE_SMSM_BOOL_OPS): Duplicate code for scalar - sparse arguments rather than rely on extern function. - -2008-10-08 Jaroslav Hajek - - * oct-inttypes.h (octave_base_int::compute_threshold): Return - exclusive bounds rather than inclusive, be resistant to compiler - optimizations. - (octave_base_int::convert_real): Use exclusive bounds. - -2008-10-07 Jaroslav Hajek - - * oct-inttypes.h (OCTAVE_INT_DOUBLE_BIN_OP): Change octave_int64 to - octave_uint64 where appropriate. - -2008-10-06 David Bateman - - * Sparse-op-defs.h (SPARSE_SMSM_CMP_OPS): Duplicate code for scalar - sparse arguments rather than rely on extern function. - -2008-10-06 John W. Eaton - - * Spasre-op-defs.h: Undo previous change. - -2008-10-01 Jaroslav Hajek - - * oct-inttypes.h (octave_int::one, octave_int::zero): Declare - constants. - * oct-inttypes.cc: Define them. - * oct-inttypes.h: Define mixed operations via long double if possible. - * oct-inttypes.cc: Define alternative implementations for 64-bit - multiplication and mixed operations. - * mx-ops: Instantiate all 64-bit integer operations. - -2008-10-06 Jaroslav Hajek - - * oct-lookup.h: Mark functions inline. Add missing std:: qualifiers. - -2008-10-06 John W. Eaton - - * Sparse.h (Sparse::elt_type): New typedef. - * Sparse-op-defs.h (SPARSE_SMSM_BOOL_OP, SPARSE_MSM_CMP_OP): - Use it to call sparse-matrix/scalar operator instead of attempting - to instantiate mixed-type sparse-matrix/scalar operators. - -2008-10-03 Jaroslav Hajek - - * Array.h (Array::maybe_delete_elements): Remove rfv argument from - declaration. - * Array.cc (Array::maybe_delete_elements): Remove all usages of - rfv. - -2008-10-03 Jaroslav Hajek - - * Array.cc (assignN): Do not call maybe_delete_elements when - for empty matrix. - -2008-09-30 Jaroslav Hajek - - * oct-inttypes.h: Mostly rewrite. - * oct-inttypes.cc: Modstly rewrite. - -2008-09-29 Jaroslav Hajek - - * Array.cc (Array::maybe_delete_elements_2(idx_vector&)): Return on - empty index vector. - -2008-09-26 Jaroslav Hajek - - * Array.cc (assign1, assign2, assignN): Do not call - maybe_delete_elements. - (maybe_delete_elements (Array&)): Call the 1D and 2D - special handlers if possible. - * Sparse.cc (assign1, assign2, assignN): Do not call - maybe_delete_elements. - -2008-09-22 Brian Gough - - * oct-rand.cc (initialize_mersenne_twister): Use separate - initializations for each generator to avoid correlation. - -2008-09-12 Jaroslav Hajek - - * oct-inttypes.h (pow (const octave_int&, const octave_int&)): - -2008-09-19 John W. Eaton - - * Array.cc (assign1, assign2, assignN): - Clear lhs index before throwing error. - (Array::value): Clear index before throwing error. - -2008-09-18 Jaroslav Hajek - - * Array.cc (maybe_delete_elements_2 (idx_vector&)): Fix tests to get - better Matlab compatibility. - (maybe_delete_elements (idx_vector&, idx_vector&)): Fix tests to get - better Matlab compatibility, simplify, gripe on invalid 2-D deletion. - -2008-09-18 Jaroslav Hajek - - * Array.h (Array::coerce): Use octave_idx_type instead of int. - -2008-09-12 Jaroslav Hajek - - * oct-inttypes.h (pow (const octave_int&, const octave_int&)): - Handle negative exponent correctly. - -2008-08-19 David Bateman - - * oct-inttypes.h (template inline T2 - octave_int_fit_to_range (const T1&, const T2&, const T2&), - template inline T octave_int_fit_to_range (const - double&, const T&, const T&), template <> inline T2 - octave_int_fit_to_range (const T1&, const T2&, const T2&), - OCTAVE_S_US_FTR): Check and flag integer trunctation. - (OCTAVE_INT_FIT_TO_RANGE, OCTAVE_INT_FIT_TO_RANGE2): Adapt for the - above change. - (OCTAVE_INT_CONV_FIT_TO_RANGE): New macro for conversion to - integer types. - (octave_int::conv_error_type): New enum to flag conversion and - math warnings. - (octave_int::octave_int (U i), octave_int::octave_int - (double i), octave_int<>::octave_int (const octave_int& i)): - Flag conversion and math errors other than integer truncation. - (octave_int octave_int::operator - (void)): Flag truncation - error. - (static bool get_trunc_flag (void), static bool clear_trunc_flag - (void, static bool trunc_flag)): Delete. - (static int get_conv_flag (void), static bool get_trunc_flag (void), - static bool get_nan_flag (void), static bool get_non_int_flag (void), - static bool get_math_trunc_flag (void), static void - clear_conv_flag (void)): New functions to query and reset - conversion and mathw arning state. - (static int cov_flag): New parameter holding current conversion - and math warning state. Set it to zero. - (template octave_int powf (float, const - octave_int&), template octave_int powf (const - octave_int&, float)): New functions. - -2008-08-12 Jaroslav Hajek - - * lo-ieee.cc (octave_ieee_init): Try to ensure that octave_NaN is - classified as positive by lo_ieee_signbit. - -2008-08-11 Jaroslav Hajek - - * Array.cc (no_op_fcn): New static function. - (Array::hermitian): If fcn is null, set to no_op_fcn. - -2008-08-07 John W. Eaton - - * sprse-base-chol.h, oct-sparse.h: Don't include config.h. - - * cmd-edit.cc, file-ops.h, kpse.cc, oct-env.cc, pathsearch.cc: - Replace all uses of NPOS with std::string::npos. - - * fCmplxLU.h, CmplxLU.h: Fix typo in definition of - multiple-inclusion guard macro. - -2008-08-05 John W. Eaton - - * file-ops.h, file-ops.cc (file_ops::static_members): - New singleton class for static members of file_ops. - - * pathsearch.h, pathsearch.cc (class dir_path::static_members): - New singleton class for static members of dir_path. - - * pathsearch.cc (dir_path::init): Move octave_kpathsea_initialized - here from file scope. - -2008-08-04 John W. Eaton - - * oct-env.cc (octave_env::do_set_program_name, - octave_env::do_base_pathname): Fix usage of - file_ops::dir_sep_chars. - (octave_env::do_make_absolute): Fix usage of - file_ops::dir_sep_chars and file_ops::dir_sep_str. - (octave_env::do_get_home_directory): Fix usage of - file_ops::dir_sep_str. - - * file-ops.h (file_ops::do_is_dir_sep): New function. - (file_ops_::is_dir_sep): Call it. - * file-ops.cc (class file_ops): Make it a proper singleton object. - (file_ops::file_ops): New constructor. - (file_ops::instance_ok): New function. - (file_ops::xdir_sep_char): Now private. No longer static. Rename - from dir_sep_char. - (file_ops::xdir_sep_str): Likewise, from dir_sep_str. - (file_ops::xdir_sep_chars): Likewise, from dir_sep_chars. - (file_ops::dir_sep_char, file_ops::dir_sep_str, - file_ops::dir_sep_chars): New functions. - (file_ops::recursive_rmdir): Fix usage of file_ops::dir_sep_str. - (file_ops::concat): Fix usage of file_ops::dir_sep_char. - - * oct-env.cc (octave_env::instance_ok): Fix typo in error message. - -2008-07-30 John W. Eaton - - * oct-inttypes.h: Style fixes. - -2008-07-30 Jaroslav Hajek - - * oct-inttypes.h (octave_int::trunc_flag): New member static field. - (octave_int::get_trunc_flag, octave_int::clear_trunc_flag): New - member functions. - (octave_int::octave_int (const octave_int&)): set trunc_flag - on truncation. - (SPECIALIZE_WIDENING_CONVERSION): New macro. - (DECLARE_OCTAVE_INT_TYPENAME): New macro. - -2008-07-29 David Bateman - - * lo-ieee.h (LO_IEEE_NA_HW, LO_IEEE_NA_LW, LO_IEEE_NA_FLOAT): - Change definition so cast from single to double and visa versa - maintains NA value. - (LO_IEEE_NA_HW_OLD, LO_IEEE_NA_LW_OLD): Keep old values. - (extern OCTAVE_API int __lo_ieee_is_old_NA (double)): Function to - detect old NA value. - (extern OCTAVE_API double __lo_ieee_replace_old_NA (double)): - Function to replace old NA value with new new. - * lo-cieee.c (int __lo_ieee_is_old_NA (double)): Function to - detect old NA value. - (double __lo_ieee_replace_old_NA (double)): Function to replace - old NA value with new new. - * data-conv.cc (void read_doubles(std::istream&, double *, - save_type, int, bool, octave_mach_info::float_format)): Test if - loaded NA values is the old representation and replace it. - -2008-07-28 Jaroslav Hajek - - * lo-math.h: Ensure log2 is undefined from cmath in C++ mode. - -2008-07-21 Michael Goffioul - - * oct-mutex.h (octave_base_mutex::octave_base_mutex): Initialize - count to 1, not -1. - - * oct-mutex.cc (octave_base_mutex::lock, octave_base_mutex::unlock): - Replace error calls with (*current_liboctave_error_handler). - -2008-07-21 John W. Eaton - - * regex-match.cc (regex_match::init): Initialize err to 0. - -2008-07-19 John W. Eaton - - * oct-mutex.h (class octave_base_mutex): New class. - (class octave_mutex): Don't use union for rep and count. - (octave_mutex::rep): Declare as octave_base_mutex. - (octave_mutex::count): Delete. - (octave_mutex::lock, octave_mutex::unlock): No longer virtual. - (octave_mutex::~octave_mutex): No need to check that rep is - valid or set rep to zero after deleting. - (octave_mutex::operator =): No need to check that rep is valid. - * oct-mutex.cc (octave_w32_mutex, octave_pthread_mutex): Derive - from octave_base_mutex, not octave_mutex. - -2008-07-18 John W. Eaton - - * oct-mutex.h (octave_mutex::octave_mutex (int)): Initialize rep - to 0, not count. - * oct-mutex.cc (octave_mutex::octave_mutex (void)): Set rep->count - to 1 instead of incrementing it. - -2008-07-17 Michael Goffioul - - * dNDArray.cc: Do not include ctor NDArray(Array, - bool, bool) into conditional HAVE_FFTW3 preprocessor statement. - -2008-07-16 John W. Eaton - - * oct-mutex.h (octave_autolock::octave_autolock (void), - octave_autolock (const octave_autolock&), - octave_autolock::operator = (const octave_autolock&)): - Delete definitions. - -2008-07-16 Michael Goffioul - - * cmd-edit.cc (event_hook_lock): New static mutex variable. - (command_editor::event_handler): Lock and copy event_hook_set before - executing handlers. - (command_editor::add_event_hook, command_editor::remove_event_hook): - Autolock event_hook_lock. - -2008-07-15 Michael Goffioul - - * oct-mutex.h, oct-mutex.cc: New files. - * Makefile.in: Add them to appropriate lists. - -2008-07-15 John W. Eaton - - * oct-sort.cc, oct-sort.h (octave_sort::count_run): Declare - descending arg as bool&. - (octave_sort::sort): Pass bool to count_run for descending arg. - -2008-07-11 John W. Eaton - - * dDiagMatrix.cc (DiagMatrix::diag): Return empty ColumnVector if - number of rows or columns is 0. - * fDiagMatrix.cc (FloatDiagMatrix::diag): Likewise. - - * Array-util.cc (is_vector): Avoid GCC warning. - * Array-f.cc (Array::sort): Likewise. - * Array-d.cc (Array::sort): Likewise. - * dbleQR.cc (QR::QR (const Matrix&, const Matrix&)): Likewise. - * CmplxQR.cc (ComplexQR::ComplexQR (const ComplexMatrix&, const - ComplexMatrix&)): Likewise. - * floatQR.cc (FloatQR::FloatQR (const FloatMatrix&, const - FloatMatrix&)): Likewise. - * fCmplxQR.cc (FloatComplexQR::FloatComplexQR (const - FloatComplexMatrix&, const FloatComplexMatrix&)): Likewise. - * Quad.cc (IndefQuad::do_integrate (octave_idx_type&, - octave_idx_type&, float&), FloatIndefQuad::do_integrate, - DefQuad::do_integrate octave_idx_type&, octave_idx_type&, float&, - FloatIndefQuad::do_integrate): Likewise. - - * mx-op-defs.h (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, - SND_BOOL_OP, NDND_BOOL_OP): Detect NaN values. - * Array-util.cc (gripe_nan_to_logical_conversion): New function. - * Array-util.h: Provide decl. - * oct-inttypes.h (xisnan (octave_int)): New function. - * lo-mappers.h (xisnan (bool), xisnan (char)): New inline functions. - - * CMatrix.cc, CNDArray.cc, CSparse.cc, dMatrix.cc, dNDArray.cc, - dSparse.cc, fCMatrix.cc, fCNDArray.cc, fMatrix.cc, fNDArray.cc: - New member function, any_element_is_nan. - * CMatrix.h, CNDArray.h, CSparse.h, dMatrix.h, dNDArray.h, - dSparse.h, fCMatrix.h, fCNDArray.h, fMatrix.h, fNDArray.h: - Provide decl. - -2008-07-10 David Bateman - - * dNDArray.cc (NDArray::NDArray (const Array&, - bool, bool)): New constructor. - * dNDArray.h: Provide decl. - -2008-07-10 Michael Goffioul - - * lo-specfun.h: Fix typo in erff/erfcf declaration. - * lo-specfun.cc: Ditto. Add atanhf implementation. - -2008-06-20 Jaroslav Hajek - - * MatrixType.h: Add missing include statement. - -2008-06-13 Michael Goffioul - - * lo-mappers.cc (arg): Remove ambiguity about atan2(float,float) usage. - * fCmplxDET.cc (FloatComplexDET::initialize10): Likewise, for pow. - -2008-06-11 John W. Eaton - - * so-array.h, so-array.cc, Array-so.cc: Delete. - * Makefile.in: Remove them from the lists. - -2008-06-05 John W. Eaton - - * oct-shlib.cc (octave_base_shlib::remove): Only dereference - counter if iterator is valid. - -2008-06-02 David Bateman - - * fCmplxDET.cc (FloatComplexDET::value_will_overflow, - FloatComplexDET:value_will_underflow): Replace DBL_MIN and DBL_MAX - with FLT_MIN and FLT_MAX. - * floatDET.cc ((FloatDET::value_will_overflow, - FloatDET:value_will_underflow): Ditto. - * lo-cieee.c (__lo_ieee_float_is_NA): Check only a sngle word for - float NA value. - (lo_ieee_float_inf_value): Return correct float Infinity value. - (lo_ieee_float_NA_value): Return correct float NA value. - (lo_ieee_float_NaN_value): Return correct float NaN value. - * lo-ieee.cc (octave_ieee_init): Set float NA value correctly. - * lo-ieee.h (lo_ieee_float): value of union is of type float. - (LO_IEEE_NA_FLOAT): Make NA value a valid float NaN. - (LO_IEEE_NA_FLOAT_LW): Delete. - -2008-06-02 David Bateman - - * fCmplxLU.cc (class FloatComplexLU): Correct error in instantiation. - * floatLU.cc (class FloatLU): ditto. - * floatLU.h (class FloatLU): ditto. - - * floatAEPBAL.cc (octave_idx_type FloatAEPBALANCE::init (const - FloatMatrix&, const std::string&)): Use FloatMatrix to initialize - balancing_mat. - - * Makefile.in (MATRIX_INC): Add fCmplxAEPBAL.h and floatAEPBAL.h. - (MATRIX_SRC): Add fCmplxAEPBAL.cc and floatAEPBAL.cc. - -2008-05-21 David Bateman - - * Quad-opts.in: Handle single precision tolerances. - * Quad.cc (float_user_fcn): New static variable. - (quad_float_fcn_ptr): New typedef. - (qagp, quagi): New QUADPACK decls. - (float_user_function): New function. - (DefQuad::do_integrate, IndefQuad::do_integrate): Float versions. - (FloatDefQuad::do_integrate, FloatIndefQuad::do_integrate): - New functions. - * Quad.h (class Quad): Handle float type. - (class FloatDefQuad, class FloatIndefQuad): New classes. - -2008-05-21 Jaroslav Hajek - - * fCMatrix.h (xgemm): Provide decl. - (xcdotc, csyrk, cherk): New F77 decls. - * fMatrix.cc (xgemm): New function. - (operator * (const FloatMatrix&, const FloatMatrix&)): Simplify. - (get_blas_trans_arg): New function. - * fCMatrix.h (xgemm): Provide decl. - (ssyrk): New F77 decl. - * fCMatrix.cc (xgemm): New function. - (operator * (const FloatComplexMatrix&, const - FloatComplexMatrix&)): Simplify. - (get_blas_trans_arg): New function. - - * dMatrix.cc, CMatrix.cc, Sparse-op-defs.h: Add missing copyright. - - * Sparse-op-defs.h (SPARSE_FULL_MUL): Simplify scalar*matrix case. - Correct indenting. - (SPARSE_FULL_TRANS_MUL): New macro. - (FULL_SPARSE_MUL): Simplify scalar*matrix case. Correct indenting. - Move OCTAVE_QUIT one level up. - (FULL_SPARSE_MUL_TRANS): New macro. - * dSparse.h (mul_trans, trans_mul): Provide decl. - * dSparse.cc (mul_trans, trans_mul): New functions. - * CSparse.h (mul_trans, trans_mul, mul_herm, herm_mul): Provide decl. - * CSparse.cc (mul_trans, trans_mul, mul_herm, herm_mul): New functions. - - * dMatrix.h (xgemm): Provide decl. - * dMatrix.cc (xgemm): New function. - (operator * (const Matrix&, const Matrix&)): Simplify. - (get_blas_trans_arg): New function. - * CMatrix.h (xgemm): Provide decl. - * CMatrix.cc (xgemm): New function. - (operator * (const ComplexMatrix&, const ComplexMatrix&)): Simplify. - (get_blas_trans_arg): New function. - - * MatrixType.cc (matrix_real_probe, matrix_complex_probe): - New template functions. - (MatrixType::MatrixType (const Matrix&), - MatrixType::MatrixType (const FloatMatrix&)): - just call matrix_real_probe. - (MatrixType::MatrixType (const ComplexMatrix&), - MatrixType::MatrixType (const FloatComplexMatrix&)): - just call matrix_complex_probe. - - * MatrixType.cc (MatrixType::MatrixType (matrix_type, bool)): - add missing test for Unknown. - -2008-05-21 David Bateman - - * fCMatrix.cc (float rcond): Replace with float rcon everywhere - to avoid shadowed variable warning - (float ComplexMatrix::rcond (void) const): New method for - reciprocal condition number calculation. - (float ComplexMatrix::rcond (MatrixType &mattype) const): ditto. - * fCMatrix.h (float rcond): Replace with float rcon everywhere - to avoid shadowed variable warning - (float ComplexMatrix::rcond (void) const): New method for - reciprocal condition number calculation. - (float ComplexMatrix::rcond (MatrixType &mattype) const): ditto. - * fMatrix.cc (float rcond): Replace with float rcon everywhere - to avoid shadowed variable warning - (float Matrix::rcond (void) const): New method for - reciprocal condition number calculation. - (float Matrix::rcond (MatrixType &mattype) const): ditto. - * fMatrix.h (float rcond): Replace with float rcon everywhere - to avoid shadowed variable warning - (float Matrix::rcond (void) const): New method for - reciprocal condition number calculation. - (float Matrix::rcond (MatrixType &mattype) const): ditto. - - * Array.cc: Fix transpose tests. - - * CmplxGEBAL.cc (ComplexGEPBALANCE), dbleGEPBAL.cc (GEPBALANCE), - fCmplxGEPBAL.cc (FloatComplexGEPBALANCE), floatGEPBAL.cc - (FloatGEPBALANCE): New class for generalized eigenvalue balancing. - * CmplxGEBAL.h (ComplexGEPBALANCE), dbleGEPBAL.h (GEPBALANCE), - fCmplxGEPBAL.h (FloatComplexGEPBALANCE), floatGEPBAL.h - (FloatGEPBALANCE): Declare them. - * Makefile.in (MATRIX_INC): Include them here. - (MATRIX_SRC): and here. - - * floatAEPBAL.cc (FloatAEPBALANCE), fCmplxAEPBAL.cc - (FloatComplexAEPBALANCE): New classes for single precision - Algebraic eignvalue balancing. - * floatAEPBAL.h (FloatAEPBALANCE), fCmplxAEPBAL.h - (FloatComplexAEPBALANCE): Declare them. - * Makefile.in (MATRIX_INC): Include them here. - (MATRIX_SRC): and here. - - * floatHESS.cc (FloatHESS), fCmplxHESS.cc (FloatComplexHESS): New - classes for single precision Hessenberg decomposition. - * floatHESS.h (FloatHESS), fCmplxHESS.h (FloatComplexHESS): - Declare them. - * Makefile.in (MATRIX_INC): Include them here. - (MATRIX_SRC): and here. - - * floatQR.cc (FloatQR), fCmplxQR.cc (FloatComplexQR): New - classes for single precision QR decomposition. - * floatQR.h (FloatQR), fCmplxQR.h (FloatComplexQR): - Declare them. - * Makefile.in (MATRIX_INC): Include them here. - (MATRIX_SRC): and here. - - * floatQRP.cc (FloatQRP), fCmplxQRP.cc (FloatComplexQRP): New - classes for single precision permuted QR decomposition. - * floatQRP.h (FloatQRP), fCmplxQRP.h (FloatComplexQRP): - Declare them. - * Makefile.in (MATRIX_INC): Include them here. - (MATRIX_SRC): and here. - - * mx-defs (FloatAEPBALANCE, FloatComplexAEPBALANCE, - ComplexGEPBALANCE, FloatGEPBALANCE,FloatComplexGEPBALANCE, - FloatHESS, FloatComplexHESS, FloatQR, FloatComplexQR, QRP, - ComplexQRP, FloatQRP, FloatComplexQRP): Declare classes. - -2008-05-20 David Bateman - - * Array.cc (Array Array::transpose () const): Modify for tiled - transpose to limit the number of cache misses. - (Array Array::hermitian (T (*)(const&)) const): New method - for matrix conjugate transpose. - * Array.h (Array hermitian (T (*)(const&)) const): Declare it. - - * DiagArray2.cc (DiagArray2 DiagArray2::transpose () const): - Specialization for diagonal arrays. - (DiagArray2 DiagArray2::transpose (T (*) (const&)) const): - Ditto. - - * MArray.h (MArray hermitian transpose () const): Ditto. - * MArray2.h (MArray2 hermitian hermitian hermitian transpose () const): Ditto. - (MDiagArray hermitian - - * CMatrix.cc (double rcond): Replace with double rcon everywhere - to avoid shadowed variable warning - (double ComplexMatrix::rcond (void) const): New method for - reciprocal condition number calculation. - (double ComplexMatrix::rcond (MatrixType &mattype) const): ditto. - * CMatrix.h (double rcond): Replace with double rcon everywhere - to avoid shadowed variable warning - (double ComplexMatrix::rcond (void) const): New method for - reciprocal condition number calculation. - (double ComplexMatrix::rcond (MatrixType &mattype) const): ditto. - * dMatrix.cc (double rcond): Replace with double rcon everywhere - to avoid shadowed variable warning - (double Matrix::rcond (void) const): New method for - reciprocal condition number calculation. - (double Matrix::rcond (MatrixType &mattype) const): ditto. - * dMatrix.h (double rcond): Replace with double rcon everywhere - to avoid shadowed variable warning - (double Matrix::rcond (void) const): New method for - reciprocal condition number calculation. - (double Matrix::rcond (MatrixType &mattype) const): ditto. - - * regex-match.cc, regex-match.h: New class for simple regular - expression matching - * Makefile.in (INCLUDES): Add regex-match.h here, and - (LIBOCTAVE_CXX_SOURCES): regex-match.cc here. - -2008-05-19 David Bateman - - * dSparse.cc: Replace some DGBCON with GPBCON where they are - incorrectly used. - -2008-05-13 David Bateman - - * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): - If len is zero size the index vector in the same manner as if len - is not zero. - -2008-05-05 John W. Eaton - - * cmd-edit.cc (command_editor::re_read_init_file, - gnu_readline::do_re_read_init_file): New functions. - * cmd-edit.h (command_editor::re_read_init_file): Provide decl. - (command_editor::do_re_read_init_file): New function. - * oct-rl-edit.c (octave_rl_re_read_init_file): New function. - * oct-rl-edit.h: Provide decl. - -2008-05-05 Rafael Laboissiere - - * oct-rl-edit.c (octave_read_init_file): Simply call rl_read_init_file. - -2008-05-01 John W. Eaton - - * oct-shlib.h (octave_shlib::number_of_functions_loaded): - Return size_t instead of int value. - * oct-shlib.cc (octave_base_shlib::number_of_functions_loaded): - Likewise. - (octave_base_shlib::fcn_names): Now a std::map object. - Adjust all uses. - (octave_base_shlib::fcn_names_iterator, - octave_base_shlib::fcn_names_const_iterator): New typedefs. - (octave_base_shlib::add_to_fcn_names, octave_base_shlib::remove): - Perform reference counting for functions accessed. - -2008-04-30 Jaroslav Hajek - - * lo-mappers.cc (xlog2 (double)): Compute log (2), not log2 (2). - (xlog2 (Complex), xlog2 (double, int&), xlog2 (Complex, int&)): - New functions. - * lo-mappers.h: Provide decls. - -2008-04-25 Michael Goffioul - - * oct-lookup.h (seq_lookup): Do not use output value of fill_n (MSVC - does not support it). - -2008-04-24 Michael Goffioul - - * lo-sysdep.cc (octave_popen2): Don't set PIPE_NOWAIT for parentWrite. - -2008-04-21 John W. Eaton - - * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): - Fix for-loop condition. - -2008-04-19 Jaroslav Hajek - - * CmplxCHOL.cc, CmplxQR.cc, dbleCHOL.cc, dbleQR.cc: Fix calls to error() - -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-07 Jaroslav Hajek - - * dbleQR.h, dbleQR.cc (QR::shift_cols): New method. - * CmplxQR.h, CmplxQR.cc (ComplexQR::shift_cols): New method. - * dbleCHOL.h, dbleCHOL.cc (CHOL::insert_sym, CHOL::delete_sym, - CHOL::shift_sym): New methods. - * CmplxCHOL.h, CmplxCHOL.cc (ComplexCHOL::insert_sym, - ComplexCHOL::delete_sym, ComplexCHOL::shift_sym): New methods. - -2008-04-03 John W. Eaton - - * lo-sysdep.cc [__WIN32__ && ! __CYGWIN__]: Include windows.h. - -2008-03-27 Jaroslav Hajek - - * oct-lookup.h: New file. - -2008-03-26 David Bateman - - * Array.cc (assignN): Additional fix for vector assignments. - -2008-03-25 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-25 John W. Eaton - - * lo-mappers.cc (xtrunc): New function. - * lo-mappers.h: Provide decl. - -2008-03-25 Jaroslav Hajek - - * lo-specfun.cc (expm1, log1p): New functions. - * lo-specfun.h: Provide decls. - - * lo-mappers.cc (xroundb): New function. - * lo-mappers.h: Provide decl. - -2008-03-23 David Bateman - - * mx-ops: Definite binary operators for mixed integer array + - array case, except for 64bit cases. - -2008-03-21 David Bateman - - * oct-sparse.h: Add headers for amd.h. - -2008-03-20 David Bateman - - * Array.cc (Array Array::diag (octave_idx_type) const): New - method for diag function. - * Array.h (Array diag (octave_idx_type) const): Declare it. - * Array2.h (Array2 diag (octave_idx_type) const): New method. - * MArray2.h (MArray2 diag (octave_idx_type) const): ditto. - * ArrayN.h (ArrayN diag (octave_idx_type) const): ditto. - * MArrayN.h (MArrayN diag (octave_idx_type) const): ditto. - - * Sparse.cc (Sparse Sparse::diag (octave_idx_type) const): - New method for the diag function. - * Sparse.h (Sparse diag (octave_idx_type) const): Declare it. - * MSparse.h (MSparse diag (octave_idx_type) const): New method. - - * Range.cc (Matrix Range::diag (octave_idx_type) const): - New method for the diag function. - * Range.h (Matrix diag (octave_idx_type) const): Declare it. - - * CDiagMatrix.cc (ComplexColumnVector ComplexDiagMatrix::diag - (void) const): delete. - * dDiagMatrix.cc (ColumnVector DiagMatrix::diag (void) const): delete. - * dDiagMatrix.h (ColumnVector diag (void) const): ditto. - * CMatrix.cc (ComplexColumnVector ComplexMatrix::diag (void) const): - delete. - * CMatrix.h (ComplexColumnVector diag (void) const): ditto. - * dMatrix.cc (ColumnVector Matrix::diag (void) const): ditto. - * dMatrix.h (ColumnVector diag (void) const): ditto. - * boolMatrix.cc (boolMatrix boolMatrix::diag (void) const): ditto. - * boolMatrix.h (boolMatrix diag (void) const): ditto. - * chMatrix.cc (charMatrix charMatrix::diag (void) const): ditto. - * chMatrix.h (charMatrix diag (void) const): ditto. - * intNDArray.cc (intNDArray intNDArray::diag (void) const): ditto. - * intNDArray.h (intNDArray diag (void) const): ditto. - - * CMatrix.cc (ComplexMatrix ComplexMatrix::diag (octave_idx_type) - const): Rewrite in terms of template classes function. - * CMatrix.h (ComplexMatrix diag (octave_idx_type)const ): Change - return type. - * dMatrix.cc (Matrix Matrix::diag (octave_idx_type) const): Rewrite in - terms of template classes function. - * dMatrix.h (Matrix diag (octave_idx_type) const): Change return type. - * boolMatrix.cc (boolMatrix boolMatrix::diag (octave_idx_type) const): - Rewrite in terms of template classes function. - * boolMatrix.h (boolMatrix diag (octave_idx_type) const): Change - return type. - * chMatrix.cc (charMatrix charMatrix::diag (octave_idx_type) - const): Rewrite in terms of template classes function. - - * dSparse.cc (SparseMatrix SparseMatrix::diag (octave_idx_type) const): - Rewrite in terms of template classes function. - * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::diag - (octave_idx_type) const): ditto. - * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::diag - (octave_idx_type) const): ditto. - * intNDArray.cc (intNDArray intNDArray::diag - (octave_idx_type) const): ditto. - - * CNDArray.cc (ComplexNDArray ComplexNDArray::diag - (octave_idx_type) const): New method. - * CNDArray.h (ComplexNDArray diag (octave_idx_type) const): - Declare it. - * dNDArray.cc (NDArray NDArray::diag (octave_idx_type) const): New - method. - * dNDArray.h (NDArray diag (octave_idx_type) const): Declare it. - * chNDArray.cc (charNDArray charNDArray::diag - (octave_idx_type) const): New method. - * chNDArray.h (charNDArray diag (octave_idx_type) const): - Declare it. - - -2008-03-19 John W. Eaton - - * oct-env.cc (octave_env::do_base_pathname): Also handle rooted - relative filenames. - -2008-03-19 David Bateman - - * Array.cc (assignN): If orig_empty allow assignment like - a(1:10,1)=1:10 - - * Sparse.h (template Sparse map (F fcn) - const): New template function. - * MSparse.h (template MSparse map (F fcn) - const): ditto. - * dSparse.cc (SparseMatrix SparseMatrix::map (dmapper) const, - SparseComplexMatrix SparseMatrix::map (cmapper) const, - SparseBoolMatrix SparseMatrix::map (bmapper) const): Rewrite in - terms of the new template functor. - * CSparse.cc (SparseMatrix SparseComplexMatrix::map (dmapper) const, - SparseComplexMatrix SparseComplexMatrix::map (cmapper) const, - SparseBoolMatrix SparseComplexMatrix::map (bmapper) const): ditto. - -2008-03-18 David Bateman - - * lo-specfun.cc (Complex xlgamma (const Complex&)): New function. - * lo-specfun.h (Complex xlgamma (const Complex&)): Declare it. - * randpoison.c (xlgamma): Use lgamma if HAVE_LGAMMA is defined. - - * 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-08 John W. Eaton - - * Sparse.cc (Sparse::index, assign): Likewise. - * Array.cc (Array::index1, Array::index2, Array::indexN, - assign2): Eliminate use of idx_vector::is_one_zero method. - * idx-vector.cc, idx-vector.h - (idx_vector::maybe_convert_one_zero_to_idx, - IDX_VEC_REP::maybe_convert_one_zero_to_idx): Delete unused function. - (IDX_VEC_REP::one_zero): Delete data member. - (IDX_VEC_REP::is_colon_equiv): Delete one_zero check. - (idx_vector::is_one_zero, IDX_VEC_REP::is_one_zero): Delete function. - -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-05 Jaroslav Hajek - - * dbleQR.cc (QR::insert_col, QR::insert_row, - QR::delete_col, QR::delete_row): Use 0-based indexing. - * CmplxQR.cc (ComplexQR::insert_col, ComplexQR::insert_row, - ComplexQR::delete_col, ComplexQR::delete_row): Likewise. - - * dbleCHOL.cc: Small doc and declaration fixes. - * CmplxHOL.cc: Small doc and declaration fixes. - * CmplxQR.cc (ComplexQR::ComplexQR): Adjust code to match dbleQR.cc. - * dbleQR.cc (QR::delete_row): Fix incorrect test. - * CmplxQR.cc (ComplexQR::delete_row): Fix incorrect test. - -2008-03-04 Jaroslav Hajek - - * dbleCHOL.cc (CHOL::set, CHOL::update, CHOL::downdate): - New functions. - * dbleCHOL.h: Provide decls. - * CmplxCHOL.cc (ComplexCHOL::set, ComplexCHOL::update, - ComplexCHOL::downdate): New functions. - * CmplxCHOL.h: Provide decls. - - * dbleQR.cc (QR::update, QR::insert_col, QR::delete_col, - QR::insert_row, QR::delete_row): New methods. - (QR::QR (const Matrix&, const MAtrix&)): New constructor. - * dbleQR.h: Provide decls. - * CmplxQR.cc (ComplexQR::update, ComplexQR::insert_col, - ComplexQR::delete_col, ComplexQR::insert_row, - ComplexQR::delete_row): New methods. - (ComplexQR::ComplexQR (const ComplexMatrix&, const ComplexMAtrix&)): - New constructor. - * CmplxQR.h: Provide decls. - -2008-03-04 Jaroslav Hajek - - * Array-C.cc, Sparse-C.cc: Include oct-sort.cc after definitions - of < and > operators. - -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-27 John W. Eaton - - * oct-rand.cc (class octave_rand): Make it a proper singleton class. - -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-24 John W. Eaton - - * oct-inttypes.h (octave_int_helper): New class. Provide - specializations for signed and unsigned types. - (octave_int::operator >>=, octave_int::abs, - octave_int::signum): Use static functions from - octave_int_helper class. - - * oct-inttypes.h, oct-inttypes.cc (OCTAVE_US_TYPE1_CMP_OP, - OCTAVE_US_TYPE2_CMP_OP): Tag function declarations and definitions - with "template <>". - -2008-02-22 John W. Eaton - - * CSparse.cc, SparseCmplxLU.cc, SparsedbleLU.cc, dSparse.cc, - file-ops.cc, oct-group.cc, oct-shlib.cc, sparse-base-chol.h, - sparse-dmsolve.cc: Use 0 instead of NULL. - -2008-02-22 David Bateman - - * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::diag - (octave_idx_type) const): New method. - * boolSparse.h (SparseBoolMatrix SparseBoolMatrix::diag - (octave_idx_type) const): Declare it. - - * base-lu.h (lu_type Y (void) const): New method to return - factorization of xGETRF directly. - * sparse-base-lu.cc (template lu_type sparse_base_lu :: Y (void) const): New method - to simulate the retirn of xGETRF. - * sparse-base-lu.h (template lu_type sparse_base_lu :: Y (void) const): Declare it - (SparseMatrix R (void) const): Method to return scaling factors. - * SparsedbleLU.cc: Allow two element pivot thresholding and - scaling. - * SparseCmplxLU.cc: ditto. - * SparsedbleLU.h: Modify constructors to allow passing of two - element pivoting thresholds and flag for scaling - * SparseCmplxLU.h: ditto. - - * base-lu.cc (ColumnVector P_vec (void) const): New method to - return permutations as a vector. - * base-lu.h (ColumnVector P_vec (void) const): Declare it. - * sparse-base-lu.cc (ColumnVector Pr_vec (void) const): New method - return row permutations as a vector. - (ColumnVector Pc_vec (void) const): New method return column - permutations as a vector. - * sparse-base-lu.h (ColumnVector Pr_vec (void) const): Declare it. - (ColumnVector Pc_vec (void) const): Declare it. - - * oct-spparms.cc: Add sym_tol field. - -2008-02-20 David Bateman - - * SparseComplexQR.cc (ComplexMatrix - SparseComplexQR::SparseComplexQR_rep::Q - (void) const): New method. - * SparseComplexQR.h (ComplexMatrix - SparseComplexQR::SparseComplexQR_rep::Q - (void) const): Declare it. - * SparseQR.cc (Matrix SparseQR::SparseQR_rep::Q (void) const): ditto. - * SparseQR.h (Matrix SparseQR::SparseQR_rep::Q (void) const): ditto. - -2008-02-20 John W. Eaton - - * boolNDArray.h (boolNDArray (const Array2&)): Delete. - - * Marray2.h (MArray2 (const Array2&), - MArray2 (const MArray2&)): New templated constructors. - - * Array2.h (Array2 (const Array&), - Array2 (const Array&, const dim_vector&)): - New templated constructors. - - * CColVector.cc (ComplexColumnVector::map): Forward to MArray::map. - * dColVector.cc (ColumnVector::map): ditto. - * CRowVector.cc (ComplexRowVector::map): ditto. - * dRowVector.cc (RowVector::map): ditto. - * CMatrix.cc (ComplexMatrix::map): Forward to MArray2::map. - * dMatrix.cc (Matrix::map): ditto. - - * dNDArray.cc (NDArray::map): New functions. - * dNDArray.h: Provide decls. - - * CNDArray.cc (ComplexNDArray::map): New functions. - * CNDArray.h: Provide decls. - - * MArray2.h (MArray2::map): New function. - * Array2.h (Array2::map): New function. - * MArrayN.h (MArrayN::map): New function. - * ArrayN.h (ArrayN::map): New function. - * Array.h (Array::map): New function. - - * functor.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - -2008-02-20 David Bateman - - * CColVector.h, CColVector.cc (ComplexColumnVector::apply): Remove. - * dColVector.h, dColVector.cc (ColumnVector::apply): ditto. - * CRowVector.h, CRowVector.cc (ComplexRowVector::apply): ditto. - * dRowVector.h, dRowVector.cc (RowVector::apply): ditto. - * CMatrix.h, CMatrix.cc (ComplexMatrix::apply): ditto. - * dMatrix.h, dMatrix.cc (Matrix::apply): ditto. - - * CSparse.cc (apply): Remove. - (map): Replace old mapper code with code taken from ov-mapepr.cc - * CSparse.h (map): Reeclare them. - (dmapper, cmapper, bmapper): typedefs for mapper functions. - * dSparse.cc (apply): Remove. - (map): Replace old mapper code with code taken from ov-mapepr.cc - * dSparse.h (map): Reeclare them. - (dmapper, cmapper, bmapper): typedefs for mapper functions. - - * intNDArray.cc (abs, signum): Two new mapper functions. - * intNDArray.h (abs, signum): Declare them. - * oct-inttypes.h (abs, signum): Mapper functions on scalar integer - base type. - -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-14 John W. Eaton - - * CColVector.cc, CMatrix.cc, CRowVector.cc, CSparse.cc, - CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, - CmplxQR.cc, CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, DASPK.cc, - DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, Quad.cc, - dColVector.cc, dMatrix.cc, dRowVector.cc, dSparse.cc, - dbleAEPBAL.cc, dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, - dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc: - Don't check f77_exception_encountered. - -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 - - * Array.cc (ascending_compare, descending_compare): Remove - non-standard extern in the instantiations. - - * oct-sort.cc: Include and sprinkle with std:: as needed. - - * 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 DGELSD's broken lwork query, as with double. - -2008-02-12 John W. Eaton - - * sparse-sort.cc: Don't explicitly instantiate - class octave_sort, - class octave_sort, or - class octave_sort. - - * Sparse.h (INSTANTIATE_SPARSE_SORT): Delete macro. - * Sparse-C.cc, Sparse-b.cc, Sparse-d.cc: Don't use it. - - * Range.cc (Range::sort_internal): Avoid shadow warning from gcc. - -2008-02-11 John W. Eaton - - * Makefile.in ($(MAKEDEPS)): Skip dependencies if omit_deps is defined. - -2008-02-08 John W. Eaton - - * oct-sort.h (enum sortmode): Eliminate UNDEFINED. Change all - uses of UNDEFINED to ASCENDING. - -2008-02-07 John W. Eaton - - * Range.cc (Range::sort_internal): Rename from sort. New arg, - ASCENDING, with default value of true. - (Range::sort_internal (Array&, bool)): New function. - (Range::sort (octave_idx_type, sortmode) const): New function. - (Range::sort (Array&, octave_idx_type, sortmode) - const): New function. - * Range.h: Fix/provide decls. - - * intNDArray.cc (intNDArray::any (int)): Use != for comparison. - -2008-02-06 John W. Eaton - - * Makefile.in ($(OPTS_INC)): Use mv instead of move-if-change. - (stamp-prereq): Eliminate. - (clean): Don't remove stamp-prereq. - (libraries): Don't depend on stamp-prereq. - (PREREQ): New macro. - ($(MAKEDEPS)): Depend on $(PREREQ), not stamp-prereq. - (distclean): Simplify with $(PREREQ). - (OPT_BASE): New macro. - (OPT_IN): Rename from OPTS_INC_DATA. Define in terms of OPT_BASE. - (OPT_INC): Rename from OPTS_INC. Define in terms of OPT_BASE. - -2008-02-05 John W. Eaton - - * Makefile.in: Unconditionally include $(MAKEDEPS). - Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. - -2008-02-03 Michael Goffioul - - * Array.cc (ascending_compare, descending_compare, - Array::sort): Declare explicit specialization for T=double to - avoid symbol duplication error at link time. - * Array-d.cc (ascending_compare, descending_compare): Declare and - define as nonmember functions, not member functions of Array. - -2008-02-03 John W. Eaton - - * Array-i.cc: Also instantiate Arrays for long long type if it exists. - -2008-02-03 Michael Goffioul - - * Array.cc: Don't include Range.h. - -2008-01-31 David Bateman - - * oct-sort.cc: conversion of int to octave_idx_type where needed - for 64-bit builds. - (IFLT): Allow IFLT macro to be overridden. - * oct-sort.h: conversion of int to octave_idx_type where needed - for 64-bit builds. - (enum sortmode): Type of sort to perform. - (vec_index): Simple class to aid in indexed sorts. - - * Array.h ( Array sort (octave_idx_type, sortmode) const, - Array sort (Array &, octave_idx_type, - sortmode) const): Array sorting methods. - (INSTANTIATE_ARRAY_SORT, NO_INSTANTIATE_ARRAY_SORT): Macros to - instantiate the array sorting methods. - * Array.cc (ascending_compare, descending_compare): New template - functions for generic sort comparison. - ( Array Array::sort (octave_idx_type, sortmode) const, - Array Array::sort (Array &, octave_idx_type, - sortmode) const): Array sorting functions based of octave_sort - class. - * Array-C.cc: Instantiate the complex array sort methods. - (IFLT): New macro to override the one in the - octave_sort class to avoid need for Complex < and > operators. - (static double xabs (const Complex&)): Complex abs function - avoiding std::abs(Inf) returning NaN with some compilers. - (ascending_compare, descending compare): override template - functions for complex comparison. - * Array-d.cc: Instantiate the double array sort methods. - (Array Array::sort (octave_idx_type, - sortmode) const, Array Array::sort - (Array &, octave_idx_type, sortmode) const): - Array sorting functions based of octave_sort using uint64 sorting - on IEE754 doubles, for speed and correct sorting of Inf and NaN. - (ascending_compare, descending compare): override template - functions for double and uint64 comparison. - * Array-b.cc, Array-ch.cc, Array-i.cc, Array-s.cc, Array-str.cc: - Instantiate the array sort methods. - * Array-idx-vec.cc: Null instantiation of array sort methods. - * Array2.h, Array3.h, ArrayN.h (sort): 2, 3 and N-dimensional - versions of the sort methods based on Array::sort. - - * CSparse.cc, dSparse.cc: Remove inclusion of octa-sort.h. - * Sparse.h ( Sparse sort (octave_idx_type, sortmode) const, - Sparse sort (Array &, octave_idx_type, - sortmode) const): Sparse sorting methods. - (INSTANTIATE_ARRAY_SORT): Macro to instantiate the sparse sorting - methods. - * Sparse.cc: replace sort with lsort throughout to avoid shadowing - of new sort method. - (sparse_ascending_compare, sparse_descending_compare): New template - functions for generic sort comparison. - ( Sparse Sparse::sort (octave_idx_type, sortmode) const, - Sparse Sparse::sort (Sparse &, octave_idx_type, - sortmode) const): Sparse sorting functions based of octave_sort - class. - * Sparse-C.cc: Instantiate the complex sparse sort methods. - (IFLT): New macro to override the one in the - octave_sort class to avoid need for Complex < and > operators. - (static double xabs (const Complex&)): Complex abs function - avoiding std::abs(Inf) returning NaN with some compilers. - (sparse_ascending_compare, sparse_descending compare): override - template functions for complex comparison. - * Sparse-d.cc: Instantiate the cdouble sparse sort methods. - (sparse_ascending_compare, sparse_descending compare): override - template functions for double comparison. - * Array-b.cc: Instantiate the sparse sort methods. - -2008-01-25 Jaroslav Hajek - - * idx-vector.h (idx_vector::idx_vector_rep::range_base, - idx_vector::idx_vector_rep::range_step, - idx_vector::idx_vector_rep::range_step): New data members. - (idx_vector::idx_vector_rep::idx_vector_rep): Initialize them. - * idx-vector.cc (IDX_VEC_REP::sort, IDX_VEC_REP::is_colon_equiv, - IDX_VEC_REP::init_state, IDX_VEC_REP::operator =, - IDX_VECTOR_REP::idx_vector_rep): Handle range. - -2008-01-18 Marco Caliari - - * dMatrix.cc (Matrix::expm): Correctly perform reverse permutation. - * CMatrix.cc (ComplexMatrix::expm): Likewise. - -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-18 John W. Eaton - - * dMatrix.cc (solve_singularity_warning): New function. - (Matrix::expm): Pass pointer to solve_singularity_warning to - Matrix::solve method. Exit early if Matrix::solve fails. - Limit sqpow value to avoid overflowing scale factor. - * CMatrix.cc (solve_singularity_warning): New function. - (ComplexMatrix::expm): Pass pointer to solve_singularity_warning to - ComplexMatrix::solve method. Exit early if ComplexMatrix::solve fails. - Limit sqpow value to avoid overflowing scale factor. - From Marco Caliari . - -2008-01-10 Kim Hansen - - * Sparse.cc: New tests for slicing of sparse matrices. - -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. - -2007-12-18 David Bateman - - * Sparse.cc (template Sparse Sparse::index - (idx_vector&, int) const): Fix case indexing of non zero scalar - stored as a sparse matrix. - (template Sparse Sparse::index (idx_vector&, - idx_vector&, int) const): For the non permutated indexing case, - fix link list calculation and use. - -2007-12-17 John W. Eaton - - * Array.cc (Array::indexN): Correctly handle scalar indexed by - N-d array. - -2007-12-17 David Bateman - - * Sparse-op-defs.h (SPARSE_ANY_ALL_OP_ROW_CODE): Use ridx for row - index. - -2007-12-11 John W. Eaton - - * Sparse.cc (Sparse::index (idx_vector&, int) const): - If indexing scalar with empty matrix, return empty array with same - size as index. - -2007-12-10 John W. Eaton - - * NLEqn.h (NLEqn::fval): New data member. Adjust constructors - and assignment operator. - (NLEqn::function_value): New function. - * NLEqn.cc (NLEqn::solve): If solution is successful, compute - function value. - - * file-ops.cc (file_ops::concat): New function. - * file-ops.h: Provide decl. - -2007-12-07 John W. Eaton - - * oct-time.cc (octave_base_tm::init): Only assign t->tm_zone if it - is not 0. - -2007-12-07 David Bateman - - * Sparse-op-defs.h (SPARSE_SMS_CMP_OP, SPARSE_SMS_BOOL_OP, - SPARSE_SSM_CMP_OP, SPARSE_SSM_BOOL_OP, SPARSE_SMSM_CMP_OP, - SPARSE_SMSM_BOOL_OP, SPARSE_BASE_REDUCTION_OP): Use sparse - indexing where possible rather than the elem method. - (SPARSE_REDUCTION_OP_ROW_EXPR, SPARSE_REDUCTION_OP_COL_EXPR, - SPARSE_ANY_ALL_OP_ROW_CODE, SPARSE_ANY_ALL_OP_COL_CODE): - Replace for new version of SPARSE_BASE_REDUCTION_OP. - (SPARSE_ALL_OP): Specialize the initial value, and only treat dim - = 0 directly. - * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::sumsq (int) - const): Replace ROW_EXPR and COL_EXPR functions for new version of - SPARSE_BASE_REDUCTION_OP. - (SparseComplexMatrix SparseComplexMatrix::prod (int) const): - Specialize the initial value, and only treat dim = 0 directly. - * dSparse.cc (SparseMatrix SparseMatrix::sumsq (int) const): - ditto. - (SparseMatrix SparseMatrix::prod (int) const): ditto. - -2007-12-06 John W. Eaton - - * CMatrix.cc (ComplexMatrix::expm): Update pointers to internal - data for npp and dpp after assignments. - * dMatrix.cc (Matrix::expm): Use same method as ComplexMatrix::expm. - -2007-12-04 John W. Eaton - - * Sparse.cc (assign (Sparse&, const Sparse&)): - Do nothing if one index is empty. - -2007-12-04 David Bateman - - * Sparse.cc (assign (Sparse&, const Sparse&)): - Resize matrix as well if one dimension of lhs is zero and the rhs - index exceeds the lhs index. - * Sparse.cc (assign1 (Sparse&, const Sparse&)): - Don't resize to a smaller matrix for empty matrices with a max rhs - index smaller than the non zero lhs index. - -2007-12-04 Michael Goffioul - - * Array-util.h: Tag permute_vector_compare with OCTAVE_API. - -2007-12-03 Moritz Borgmann - - * Array-util.cc (permute_vector_compare): Move here from Array.cc. - * Array-util.h (permute_vector, permute_vector_compare): Provide decls. - * Array.cc (permute_vector, permute_vector_compare): Delete. - -2007-12-03 David Bateman - - * Sparse.cc (template int assign - (Sparse&, const Sparse&)): Only set return matrix size to - rhs values if both no. rows and columns are zero. - -2007-11-30 John W. Eaton - - * oct-sort.cc, oct-sort.h: Style fixes. - - * lo-math.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * Array2.h, ArrayN.h, CmplxDET.cc, DASPK.cc, DASPK.h, DASRT.cc, - DASRT.h, DASSL.cc, DASSL.h, LSODE.cc, LSODE.h, NLEqn.h, Quad.h, - Range.cc, dbleDET.cc, lo-cieee.c, lo-ieee.cc, lo-mappers.cc, - oct-time.cc, oct-time.h, randgamma.c, randmtzig.c, - randpoisson.c: Include lo-math.h instead of cmath or math.h. - * lo-mappers.h: Don't include sunmath.h here. - -2007-11-26 John W. Eaton - - * idx-vector.h (idx_vector::idx_vector_rep (const intNDArray&)): - Eliminate unnecessary second arg from call to tree_to_mat_idx. - - * oct-inttypes.h (operator bool, operator char): Delete. - (bool_value, char_value, double_value, float_value): New functions. - -2007-11-26 David Bateman - - * intNDArray.cc (template intNDArray - intNDArray::max (int) const, template intNDArray - intNDArray::max (ArrayN&, int) const, - template intNDArray intNDArray::min (int) const, - template intNDArray intNDArray::min - (ArrayN&, int) const): New methods for integer - classes. - * intNDArray.h (class intNDArray): Add min/max methods - * mx-op-defs.h (MIXMAX_DECLS, MINMAX_FCNS, SND_MINMAX_FCN, - NDS_MINMAX_FCN, NDND_MINMAX_FCN): New macro for instantiation of - min/max functions. - * int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, - uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h - (MINMAX_DECLS(T)): Declare the min/max functions for integer - types. - * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, - uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc - (MINMAX_FCNS(T)): Instantiate the min/max functions for integer - types. - - * Arrayc.cc (Array::index (idx_vector&, idx_vector&, int, - const T& rfv) const): If ndims != 2 call ND version of index. - -2007-11-14 John W. Eaton - - * oct-inttypes.h (opeator T (void) const): New conversion operator. - - * lo-specfun.cc (zbesi): When alpha is negative, don't limit - correction to half-integer values. From Eric Chassande-Mottin - . - -2007-11-07 Michael Goffioul - - * dMatrix.cc, CMatrix.cc: Help MSVC compiler to resolve - ambiguities related to math functions (in C++ mode). - -2007-11-06 David Bateman - - * intNDArray.cc (intNDArray intNDArray::sum (int) const): - New method. - * intNDarray.h (intNDArray sum (int) const): Declare it. - * boolNDArray.cc (boolNDArray boolNDArray::sum (int) const): - New method. - * boolNDarray.cc (boolNDArray sum (int) const): Declare it. - * MArray-def.h (MARRAY_NORM_BODY): Scale frobenius norm by infinity - norm to avoid issues of over- and underflow. From Rolf Fabian - . - -2007-10-30 David Bateman - - * DASRT-opts.in, LSODE-opts.in: Doc fixes for small book format. - -2007-10-30 John W. Eaton - - * CMatrix.cc (lssolve): Compute size of rwork and iwork arrays. - * dMatrix.cc (lssolve): Compute size of iwork array. - -2007-10-29 David Bateman - - * CMatrix.h (lssolve (const Matrix&, octave_idx_type&, - octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, - octave_idx_type&, octave_idx_type&, double&) const, lssolve - (const ColumnVector&, octave_idx_type&, octave_idx_type&, - double& rcond) const, lssolve (const ComplexColumnVector&, - octave_idx_type&, octave_idx_type&, double& rcond) const): New - declarations. - * CMatrix.cc (lssolve (const Matrix&, octave_idx_type&, - octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, - octave_idx_type&, octave_idx_type&, double&) const, lssolve - (const ColumnVector&, octave_idx_type&, octave_idx_type&, - double& rcond) const, lssolve (const ComplexColumnVector&, - octave_idx_type&, octave_idx_type&, double& rcond) const): New - methods. - (lssolve (const Matrix&, octave_idx_type&, octave_idx_type&, - double&) const, lssolve (const ComplexMatrix&, octave_idx_type&, - octave_idx_type&, double&) const): Also return rcond from the - singular values returned by XGELSD. - * dMatrix.h (lssolve (const Matrix&, octave_idx_type&, - octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, - octave_idx_type&, octave_idx_type&, double&) const, lssolve - (const ColumnVector&, octave_idx_type&, octave_idx_type&, - double& rcond) const, lssolve (const ComplexColumnVector&, - octave_idx_type&, octave_idx_type&, double& rcond) const): New - declarations. - * dMatrix.cc (lssolve (const Matrix&, octave_idx_type&, - octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, - octave_idx_type&, octave_idx_type&, double&) const, lssolve - (const ColumnVector&, octave_idx_type&, octave_idx_type&, - double& rcond) const, lssolve (const ComplexColumnVector&, - octave_idx_type&, octave_idx_type&, double& rcond) const): New - methods. - (lssolve (const Matrix&, octave_idx_type&, octave_idx_type&, - double&) const, lssolve (const ComplexMatrix&, octave_idx_type&, - octave_idx_type&, double&) const): Also return rcond from the - singular values returned by XGELSD. - -2007-10-26 David Bateman - - * dMatrix.cc (Matrix::lssolve): Use xGELSD for rank deficient - matrices to avoid reliability issues with xGELSY. - * CMatrix.cc (ComplexMatrix::lssolve): Likewise. - -2007-10-25 John W. Eaton - - * oct-time.cc (octave_gmtime::init, octave_localtime::init): - Call unix_time on arg instead of relying on conversion operator. - - * oct-time.h (octave_time::double_value): New function. - (octave_time::operator double () const): Delete. - (octave_time::operator time_t () const): Delete. - -2007-10-24 John W. Eaton - - * strptime.c: Also compile if OCTAVE_HAVE_BROKEN_STRPTIME is defined. - -2007-10-23 John W. Eaton - - * CRowVector.cc (operator * const ComplexRowVector&, const - ComplexColumnVector&)): Delete spurious code left from patch. - -2007-10-22 Kim Hansen - - * chMatrix.cc, lo-utils.cc, oct-env.cc, oct-uname.cc, - sparse-sort.cc: Include . - -2007-10-17 John W. Eaton - - * oct-sparse.h: Don't include metis.h. - - * dSparse.cc (SparseMatrix::fsolve): Delete special code for METIS. - * CSparse.cc (SparseComplexMatrix::fsolve): Likewise. - * sparse-base-chol.cc (sparse_base_chol::sparse_base_chol_rep::init): Likewise. - -2007-10-16 John W. Eaton - - * dMatrix.cc (Matrix::inverse): Only check rcond == 0 if the - matrix is hermitian or calc_cond is true. - * CMatrix.cc (ComplexMatrix::inverse): Likewise. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-11 Brian Gough - - * DASSL-opts.in, LSODE-opts.in: Spelling fixes. - -2007-10-10 Olli Saarela - - * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in: Spelling fixes. - -2007-10-10 John W. Eaton - - * LPsolve.h, LPsolve.cc: Delete. - * Makefile.in: Remove them from the INCLUDES and - LIBOCTAVE_CXX_SOURCES lists. - -2007-10-09 John W. Eaton - - * oct-time.cc (octave_strptime::init): Initialize t.tm_mon to -1 - and t.tm_year to INT_MIN before call to oct_strptime. Adjust - values to zero after call if they remain unchanged. - - * dSparse.cc (SparseMatrix::all_elements_are_zero): New function. - * dNDArray.cc (NDArray::all_elements_are_zero): New function. - -2007-10-09 David Bateman - - * oct-time.cc (octave_strptime::init): Only call mktime if mday is - valud and mon and year are also filled in. - - * Array2.h (Array2::Array2(const dim_vector&), - Array2::Array(const dim_vector&, const T&)): Check that - dim_vector is 2 dimensional. - - * Sparse.cc (Sparse Sparse::index (idx_vector&, idx_vector&, - int)): Remove a for loop in the random indexing case at the - expense of maintaining a set of linked lists of indices that point - to the same column in the original matrix. - (int assign (Sparse&, Sparse)): Take a const copy of lhs - and use it on the RHS of expressions to avoid unnecessary calls to - make_unique. - -2007-10-08 David Bateman - - * oct-rl-edit. (typedef rl_quoting_fcn_ptr, rl_dequoting_fcn_ptr, - rl_char_is_quoted_fcn_ptr, rl_command_fcn_ptr): New typedefs - for readline compatible functions. - (octave_rl_redisplay): Redisplay the current line of text. - (octave_rl_newline): Change interface to the same - as used by the equivalent readline function itself. - (octave_rl_filename_quoting_desired, - octave_rl_set_filename_quote_characters, - octave_rl_set_completer_quote_characters, - octave_rl_qet_quoting_function, octave_rl_qet_dequoting_function, - octave_rl_set_char_is_quoted_function): New functions to control - readline filename quoting and line acceptace. - * oct-rl-edit.c (octave_rl_newline): Change interface to the same - as used by the equivalent readline function itself. - (octave_rl_redisplay): Redisplay the current line of text. - (octave_rl_filename_quoting_desired, - octave_rl_set_filename_quote_characters, - octave_rl_set_completer_quote_characters, - octave_rl_qet_quoting_function, octave_rl_qet_dequoting_function, - octave_rl_set_char_is_quoted_function): New functions to control - readline filename quoting and line acceptace. - * cmd-edit.h (typedef quoting_fcn, typedef dequoting_fcn, - typedef char_is_quoted_fcn, user_accept_line_fcn): New typedefs - to map C++ function to readline compatible functions. - (set_filename_quote_characters): New function to set the - characters to if they appear in a filename that force the filename - to be quoted. - (set_completer_quote_characters): The characters that the readline - completion function considers as quotation characters. - (set_quoting_function, set_dequoting_function, - set_char_is_quoted_function, set_user_accept_line_function): - Functions to set the Octave functions to perform quoting and the - acceptance of a line of text by readline. - (get_quoting_function, get_dequoting_function, - get_char_is_quoted_function, get_user_accept_line_function): - Functions to get the above functions. - (accept_line): New method for the command_editor to accept a line - of text. - (file_quoting_desired): Function to set whether readline should - attempt to quote filenames. - (do_set_filename_quoting_characters, - do_set_completer_quote_characters, do_set_quoting_function, - do_set_dequoting_function, do_set_char_is_quoted_function, - do_set_user_accept_line_function, do_get_quoting_function, - do_get_dequoting_function, do_get_char_is_quoted_function, - do_get_user_accept_line_function, do_filename_quoting_desired): - Virtual functions to control the behavior of readline quoting and - acceptance of lines. - (do_accept_line): Virtual function for the accept line function. - * cmd-edit.cc (class gnu_readline do_set_filename_quote_characters, - do_completer_quote_characters, do_set_quoting_function, - do_set_dequoting_function, do_set_char_is_quoted_function, - do_set_user_accept_line_function, do_get_quoting_function, - do_get_dequoting_function, do_get_user_accept_line_function, - do_accept_line, do_filename_quoting_desired, command_quoter, - command_dequoter, command_char_is_quoted, command_accept_line): - New functions in gnu_readline class to control filename quoting - and line acceptance. - (quoting_function, dequoting_function, char_is_quoted_function, - user_accept_line_function): private variable to store functions - supplied for readline quoting and line acceptance. - (gnu_readline::gnu_readline): Also set the new function pointers - to zero. - (gnu_readline::do_newline): Adapt to new octave_rl_newline - interface. - (gnu_readeline::operate_and_get_next): Use new accept_line - function rather than newline. - (default_ommand_editor::do_accept_line): New method. - (class command_editor set_filename_quote_characters, - set_completer_quote_characters, set_quoting_function, - set_dequoting_function, set_char_is_quoted_function, - set_user_accept_line_function, get_quoting_function, - get_dequoting_function, get_user_accept_line_function, - accept_line, filename_quoting_desired): New functions checking - instance before calling virtual function. - - * CMatrix.h, dMatrix.h, boolMatrix.h, chMatrix.h, MArray2.h, - Array2.h: Add dim_vector constructors. - * charNDArray.h (charNDArray (const dim_vector&)): Add missing - const to dim_vector constructors. - * boolMatrix.cc, chMatrix.cc, intNDArray.cc (diag (void), diag - (octave_idx_type)): New methods to constructor diagonal matrices. - * boolMatrix.h, chMatrix.h, intNDArray.h (diag (void), diag - (octave_idx_type)): Declare them. - -2007-10-06 John W. Eaton - - * lo-specfun.cc: (zlgamma): Delete. - (xgamma): Use C library gamma function if available. - (xlgamma): Use C library lgamma function if available. - (xlgamma) [! HAVE_LGAMMA]: Allow calculation for any value of X - other than NaN or Inf. - -2007-10-05 John W. Eaton - - * lo-specfun.cc (zlgamma): New function. - -2007-10-04 John W. Eaton - - * oct-sort.cc (octave_sort::binarysort): Remove register - qualifiers on local variables. - -2007-10-04 Marco Caliari - - * CMatrix.cc (ComplexMatrix::expm): Limit shift to values less - than log(realmax) to avoid issues with NaN. - -2007-10-01 John W. Eaton - - * oct-time.cc (octave_strptime::init): Call mktime to propertly - initialize wday and yday. - From Matthias Drochner . - - * cmd-edit.cc (command_editor::do_decode_prompt_string): Don't - insert extra '\001' when decoding \[ and \]. - -2007-09-26 David Bateman - - * dMatrix.cc (lssolve): Replace the use of xGELSS with xGELSY with - is much faster and no less accurate. - * CMatrix.cc (lssolve): ditto. - -2007-09-25 David Bateman - - * dMatrix.cc (utsolve, ltsolve, fsolve, lssolve): Allow - zero dimensioned matrices. - * CMatrix.cc (utsolve, ltsolve, fsolve, lssolve): ditto. - * dSparse.cc (dsolve, utsolve, ltsolve, bsolve, trisolve, fsolve): - ditto. - * CSparse.cc (dsolve, utsolve, ltsolve, bsolve, trisolve, fsolve): - ditto. - * SparseQR.cc (SparseQR::SparseQR_rep::C, qrsolve): ditto. - * SparseCmplxQR.cc (SparseComplexQR::SparseComplexQR_rep::C, - qrsolve): ditto. - * sparse-dmsolve.cc (dmsolve): ditto. - -2007-09-21 John W. Eaton - - * Array.cc (assign1 (Array&, const Array&, const LT&)): - Also allow resizing empty LHS if it is 1x0 or 0xN. - -2007-09-19 John W. Eaton - - * cmd-edit.cc (command_editor::remove_startup_hook): - Fix cut-and-paste error. - (gnu_readline::set_startup_hook): Only set hook function if new - function is different from the current one. - -2007-09-18 John W. Eaton - - * cmd-edit.h, cmd-edit.cc (command_editor::startup_hook_set, - command_editor::event_hook_set): New static data. - (default_command_editor::set_startup_hook, - gnu_readline::set_startup_hook, - default_command_editor::restore_startup_hook, - gnu_readline_restore_event_hook): - Rename from do_set_startup_hook and do_set_event_hook. - (gnu_readline::operate_and_get_next): Call - command_editor::add_startup_hook, not - command_editor::set_startup_hook. - (command_editor::startup_handler, command_editor::event_handler): - New functions. - (command_editor::add_startup_hook, command_editor::add_event_hook, - command_editor::remove_startup_hook, - command_editor::remove_event_hook): Rename from set_startup_hook - and restore_startup_hook. Handle hook sets here. - * cmd-edit.cc (gnu_history::do_goto_mark): - Call remove_startup_hook instead of restore_startup_hook. - -2007-09-17 John W. Eaton - - * lo-utils.cc (octave_read_complex, octave_read_double): Skip - leading whitespace. - -2007-09-13 John W. Eaton - - * lo-utils.cc (read_inf_nan_na, octave_read_double, - octave_read_complex): Use istream::get instead of >> to read - individual characters. - -2007-09-10 John W. Eaton - - * Array.cc (assign1): Don't call make_unique for invalid assignment. - -2007-09-10 David Bateman - - * Array.h (Array::make_unique): Make public so that the - ::assign functions can access it directly. - * Array.cc (Array::maybe_delete_elements_1(idx_vector&), - Array::maybe_delete_elements_1(idx_vector&), - Array::maybe_delete_elements(idx_vector&, idx_vector&), - Array::maybe_delete_elements(Array&, const T&)): - Use xelem for non const RHS to avoid call to make_unique. - (int assign1 (Array&, const Array&, const LT&)): Use - xelem for LHS and call lhs.make_unique() only once. Special case - the is_colon index case and use Array::xelem(octave_idx_type) - rather than Array::xelem(octave_idx_type,octave_idx_type) and - bring the additional multiplication out of the inner loop. - (int assign2 (Array&, const Array&, const LT&)): ditto. - (int assignN (Array&, const Array&, const LT&)): ditto. - * idx-vector.h (idx_vector::idx_vector_rep::idx_vector_rep - (const Range& r)): Don't use init_state() method but special case - as with a Range can avoid exhaustive search. - -2007-09-07 John W. Eaton - - * Array.cc (Array::fortran_vec): Call make_unique instead of - manipulating rep directly. - - * Array.h (idx, idx_count): Declare mutable. - (Array::set_index, Array::clear_index, Array::value): - Now const. - -2007-09-06 David Bateman - - * Array-util.cc (increment_index): dimensions can have singleton - trailing dimensions. - * Array.h (range_error, xelem, checkelem, elem, operator ()): - Modify use of Array to Array and adjust - where necessary. - * Array.cc (range_error): ditto. - * MArrayN.h (permute, ipermute): ditto. - * ArrayN.h (permute, ipermute): ditto. - * so-array.cc (streamoff_array::compute_index): ditto. - * so-array.h (compute_index): ditto. - * CMattrix.cc (ComplexMatrix::exmpm): ditto. - -2007-08-29 David Bateman - - * dSparse.cc (SparseMatrix SparseMatrix::inverse (MatrixType &, - octave_idx_type&, double&, int, int)): Calculate with LU even for - matrices marked as singular. - * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::inverse ( - MatrixType &, octave_idx_type&, double&, int, int)): ditto. - * dMatrix.cc (Matrix Matrix::inverse (MatrixType &, octave_idx_type&, - double&, int, int)): ditto. If rcond==0 force matrix of infinities. - * dMatrix.cc (ComplexMatrix ComplexMatrix::inverse (MatrixType &, - octave_idx_type&, double&, int, int)): ditto. - -2007-08-27 John W. Eaton - - * oct-env.cc (octave_env::rooted_relative_pathname, - octave_env::do_rooted_relative_pathname): New functions. - * oct-env.h: Provide decls. - -2007-08-24 David Bateman - - * MSparse.h (MSparse& insert (const Sparse&, - const Array&)): New method. - (MSparse (const dim_vector&, octave_idx_type)): Ditto. - * dSparse.h (SparseMatrix& SparseMatrix::insert (const - SparseMatrix&, const Array&)): ditto. - (SparseMatrix (const dim_vector&, octave_idx_type)): ditto. - * dSparse.cc (SparseMatrix& SparseMatrix::insert (const - SparseMatrix&, const Array&)): ditto. - * boolSparse.h (SparseBoolMatrix& SparseBoolMatrix::insert (const - SparseBoolMatrix&, const Array&)): ditto. - * boolSparse.cc (SparseBoolMatrix& SparseBoolMatrix::insert (const - SparseBoolMatrix&, const Array&)): ditto. - * CSparse.h (SparseComplexMatrix& SparseComplexMatrix::insert (const - SparseMatrix&, const Array&), - SparseComplexMatrix& SparseComplexMatrix::insert (const - SparseComplexMatrix&, const Array&)): ditto. - (SparseComplexMatrix (const dim_vector&, octave_idx_type)): ditto. - * CSparse.cc (SparseComplexMatrix& SparseComplexMatrix::insert (const - SparseMatrix&, const Array&), - SparseComplexMatrix& SparseComplexMatrix::insert (const - SparseComplexMatrix&, const Array&)): ditto. - -2007-08-19 David Bateman - - * Sparse.cc (Sparse::permute): Avoid shadowing warning. - -2007-08-14 John W. Eaton - - * Sparse.cc (Sparse::permute): permutation vector is zero based. - Simplify. - (Sparse::reshape): Warn about reshaping to N-d array. - -2007-08-10 Michael Goffioul - - * file-stat.cc (file_stat::update_internal) [__WIN32__]: - Remove trailing dir separator when stat'ing directory except for - root directory. - -2007-07-25 David Bateman - - * Makefile.in: Adjust DISTFILES to allow out of tree "make dist" - to work. - -2007-06-04 David Bateman - - * oct-inttypes.h (octave_int& operator <<= (const T2&), - octave_int& operator >>= (const T2&)): Make shift operators - perform a twos complement arithmetic shift for both signed and - unsigned integers regardless of compiler implementations. - -2007-06-13 Michael Goffioul - - * SparseCmplxQR.cc (OCTAVE_C99_ZERO): For CXSparse 2.2 and greater - use cs_complex_t(0,0) for the complex zero. - - * MArray-ch.cc, MArray-d.cc, MArray-i.cc, MArray-s.cc: - Sprinkle class instantiations with OCTAVE_API as needed. - - * Array.h (INSTANTIATE_ARRAY_ASSIGN, INSTANTIATE_ARRAY, - INSTANTIATE_ARRAY_AND_ASSIGN): New arg, API. Change all uses. - * MArray-defs.h (MARRAY_OP_ASSIGN_DECL, MARRAY_OP_ASSIGN_DECLS, - MARRAY_OP_ASSIGN_FWD_DECLS, MARRAY_OP_ASSIGN_FRIENDS, - MARRAY_OP_ASSIGN_DEFS, MARRAY_UNOP, MARRAY_UNOP_DECLS, - MARRAY_UNOP_FWD_DECLS, MARRAY_UNOP_FRIENDS, MARRAY_UNOP_DEFS, - MARRAY_BINOP_DECL, MARRAY_BINOP_DECLS, MARRAY_AA_BINOP_DECLS, - MDIAGARRAY2_DAS_BINOP_DECLS, MDIAGARRAY2_SDA_BINOP_DECLS, - MDIAGARRAY2_DADA_BINOP_DECLS, MARRAY_BINOP_FWD_DECLS, - MDIAGARRAY2_BINOP_FWD_DECLS, MARRAY_BINOP_FRIENDS, - MDIAGARRAY2_BINOP_FRIENDS, MARRAY_BINOP_DEFS, - MDIAGARRAY2_BINOP_DEFS, MARRAY_OPS_FORWARD_DECLS, - MDIAGARRAY2_OPS_FORWARD_DECLS, MARRAY_OPS_FRIEND_DECLS, - MDIAGARRAY2_OPS_FRIEND_DECLS, INSTANTIATE_MARRAY_FRIENDS, - INSTANTIATE_MARRAY2_FRIENDS, INSTANTIATE_MARRAYN_FRIENDS, - INSTANTIATE_MDIAGARRAY2_FRIENDS): Ditto. - * MSparse-defs.h (SPARSE_OP_ASSIGN_DECL, SPARSE_OP_ASSIGN_DECLS, - SPARSE_OP_ASSIGN_FWD_DECLS, SPARSE_OP_ASSIGN_FRIENDS, - SPARSE_OP_ASSIGN_DEFS, SPARSE_UNOP, SPARSE_UNOP_DECLS, - SPARSE_UNOP_FWD_DECLS, SPARSE_UNOP_FRIENDS, SPARSE_UNOP_DEFS, - SPARSE_BINOP_DECL, SPARSE_BINOP_DECLS, SPARSE_AA_BINOP_DECLS, - SPARSE_BINOP_FWD_DECLS, SPARSE_BINOP_FRIENDS, SPARSE_BINOP_DEFS, - SPARSE_OPS_FORWARD_DECLS, SPARSE_OPS_FRIEND_DECLS, - INSTANTIATE_SPARSE_FRIENDS): Ditto. - * Sparse-op-defs.h (SPARSE_BIN_OP_DECL, SPARSE_CMP_OP_DECL, - SPARSE_BOOL_OP_DECL, SPARSE_SMS_BIN_OP_DECLS, - SPARSE_SMS_CMP_OP_DECLS, SPARSE_SMS_EQNE_OP_DECLS, - SPARSE_SMS_BOOL_OP_DECLS, SPARSE_SSM_BIN_OP_DECLS, - SPARSE_SMS_OP_DECLS, SPARSE_SSM_BIN_OP_DECLS, - SPARSE_SSM_CMP_OP_DECLS, SPARSE_SSM_EQNE_OP_DECLS, - SPARSE_SSM_BOOL_OP_DECLS, SPARSE_SSM_OP_DECLS, - SPARSE_SMSM_BIN_OP_DECLS, SPARSE_SMSM_CMP_OP_DECLS, - SPARSE_SMSM_EQNE_OP_DECLS, SPARSE_SMSM_BOOL_OP_DECLS, - SPARSE_SMSM_OP_DECLS, SPARSE_MSM_BIN_OP_DECLS, - SPARSE_MSM_CMP_OP_DECLS, SPARSE_MSM_EQNE_OP_DECLS, - SPARSE_MSM_BOOL_OP_DECLS, SPARSE_MSM_OP_DECLS, - SPARSE_SMM_BIN_OP_DECLS, SPARSE_SMM_CMP_OP_DECLS, - SPARSE_SMM_EQNE_OP_DECLS, SPARSE_SMM_BOOL_OP_DECLS, - SPARSE_SMM_OP_DECLS): Ditto. - * Sparse.h (INSTANTIATE_SPARSE_ASSIGN, INSTANTIATE_SPARSE, - INSTANTIATE_SPARSE_AND_ASSIGN): Ditto. - * mx-op-defs.h (BIN_OP_DECL, CMP_OP_DECL, NDCMP_OP_DECL, - BOOL_OP_DECL, NDBOOL_OP_DECL, VS_BIN_OP_DECLS, VS_OP_DECLS, - SV_BIN_OP_DECLS, SV_OP_DECLS, VV_BIN_OP_DECLS, VV_OP_DECLS, - MS_BIN_OP_DECLS, MS_CMP_OP_DECLS, MS_BOOL_OP_DECLS, MS_OP_DECLS, - SM_BIN_OP_DECLS, SM_CMP_OP_DECLS, SM_BOOL_OP_DECLS, SM_OP_DECLS, - MM_BIN_OP_DECLS, MM_CMP_OP_DECLS, MM_BOOL_OP_DECLS, MM_OP_DECLS, - NDS_BIN_OP_DECLS, NDS_CMP_OP_DECLS, NDS_BOOL_OP_DECLS, - NDS_OP_DECLS, SND_BIN_OP_DECLS, SND_CMP_OP_DECLS, - SND_BOOL_OP_DECLS, SND_OP_DECLS, NDND_BIN_OP_DECLS, - NDND_CMP_OP_DECLS, NDND_BOOL_OP_DECLS, NDND_OP_DECLS, - SDM_BIN_OP_DECLS, SDM_OP_DECLS, DMS_BIN_OP_DECLS, DMS_OP_DECLS, - MDM_BIN_OP_DECLS, MDM_OP_DECLS, DMM_BIN_OP_DECLS, DMM_OP_DECLS, - DMDM_BIN_OP_DECLS, DMDM_OP_DECLS): Ditto. - -2007-06-12 John W. Eaton - - * dMatrix.cc (Matrix::expm): Special case for scalar arg. - * CMatrix.cc (ComplexMatrix::expm): Likewise. - -2007-06-06 Michael Goffioul - - * file-ops.cc (tilde_find_suffix, isolate_tilde_prefix, - tilde_expand_word): Use file_ops::is_dir_sep instead of comparing - with file_ops::dir_sep_char. - - * MArray-C.cc: Sprinkle with OCTINTERP_API as needed. - -2007-06-04 David Bateman - - * file-ops.cc: Typo. - - * Sparse.cc (Sparse Sparse::reshape): If length of new - dimensions is greater than 2, collapse to 2-D. - -2007-06-02 David Bateman - - * SparseCmplxQR.cc: Changes to support CXSparse 2.2.0. - -2007-05-31 John W. Eaton - - * Array.cc (Array::get_size): Throw std::bad_alloc exception if - the computed size is too large for the size of Octave's index type. - -2007-05-23 John W. Eaton - - * oct-sparse.h: Don't surround included files with extern "C" { ... }. - -2007-05-16 David Bateman - - * dRowVector.cc (linspace): Return second argument if fewer than - two values are requested. - * CRowVector.cc (linspace): Likewise. - -2007-04-27 John W. Eaton - - * lo-mappers.cc (signum (const Complex&)): Special case for (0, 0). - -2007-04-25 John W. Eaton - - * oct-fftw.h (octave_fftw): Tag with OCTAVE_API. - -2007-04-20 John W. Eaton - - * Array.cc (assign1): For x(:) = RHS, require rhs_len == lhs_len, - not rhs_len == 1. - -2007-04-18 Michael Goffioul - - * oct-md5.h (oct_md5, oct_md5_file): Tag decls with OCTAVE_API. - -2007-04-13 John W. Eaton - - * Array.cc (Array::maybe_delete_elements_2): Don't return early - for empty matrix. Only check for colon index equivalence if not empty. - -2007-04-10 John W. Eaton - - * SparseCmplxQR.cc - (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): - Move GCC_ATTR_UNUSED before the parameter decl. - From Luis Ortiz . - -2007-04-06 John W. Eaton - - * MArray-defs.h (MARRAY_NORM_BODY): New macro. - * MArray.h (MArray::norm): New function. - * MArray.cc: Provide decl. - * MArray-d.cc (MArray::norm): Define double specialization. - * MArray-C.cc (MArray::norm): Define Complex specialization. - -2007-04-04 John W. Eaton - - * Range.cc (Range::nelem_internal): Likewise. - * lo-utils.cc (NINT): Use numeric_limits instead of INT_MAX. - (NINTbig): Use numeric_limits instead of INT_MAX. - From Scott Pakin . - -2007-04-04 David Bateman - - * dMatrix.cc (Matrix::inverse): If calc_cond is true, calculate - the condition number for positive definite matrices. - * CMatrix.cc (ComplexMatrix::inverse): Ditto. - * dbleChol.h (CHOL(const Matrix&, bool)): New arg, calc_cond. - (CHOL(const Matrix&, octave_idx_type&, bool): Ditto. - (octave_idx_type init (const Matrix&, bool)): Ditto. - (CHOL(const CHOL&)): Copy xrcond. - (CHOL& operator = (const CHOL&)): Copy xrcond. - (xrcond): New private data member. - * CmplxCHOL.h (ComplexCHOL(const ComplexMatrix&, bool)): New arg, - calc_cond. - (ComplexCHOL(const ComplexMatrix&, octave_idx_type&, bool): Ditto - (octave_idx_type init (const ComplexMatrix&, bool)): Ditto. - (ComplexCHOL(const ComplexCHOL&)): Copy xrcond. - (ComplexCHOL& operator = (const ComplexCHOL&)): Copy xrcond. - (xrcond): New private data member. - * dbleCHOL.cc (CHOL::init(const Matrix&, bool)): If calc_cond is - true, calculate the condition number with dpocon. - * CmplxCHOL.cc (ComplexCHOL::init(const ComplexMatrix&, bool)): If - calc_cond is true, calculate the condition number with zpocon. - -2007-04-03 John W. Eaton - - * intNDArray.cc (intNDArray): Delete spurious semicolon. - - * CMatrix.cc (ComplexMatrix::tinverse): Use Array and - fortran_vec method instead of OCTAVE_LOCAL_BUFFER to avoid - "maybe clobbered by vfork" warning. - - * Sparse-op-defs.h (SPARSE_CUMSUM): Add braces to avoid ambiguous - if/else. - - * oct-spparms.h (octave_sparse_params): Define copy constructor - and destructor. - - * Array.cc (assignN): Don't resize dimension if corresponding - index is empty. - -2007-04-02 John W. Eaton - - * dMatrix.h (Matrix::inverse): Reinstate versions without - MatrixType argument. - * CMatrix.h (ComplexMatrix::inverse): Likewise. - -2007-03-27 John W. Eaton - - * Makefile.in (DISTDIRS): Delete variable. - (dist): Delete action for DISTDIRS. Use ln instead of $(LN_S). - -2007-03-26 David Bateman - - * MatrixType.cc: Replace all uses of the method - octave_sparse_params::get_key ("bandden") with - octave_sparse_params::get_bandden (void). - (MatrixType::MatrixType (void)): Undo previous change but use - octave_sparse_params::get_bandden (void). - * oct-spparms.cc (get_bandden(void), do_get_bandden(void)): New - methods. - * oct-spparms.h (get_bandden(void), do_get_bandden(void)): - Declare them. - -2007-03-26 Luis Ortiz - David Bateman - - * idx-vector.h.cc (IDX_VEC_REP::idx_vector_rep (const Range&)): - Check that all elements are ints before doing anything. Simplify - calculation of index values. - -2007-03-26 David Bateman - - * Range.cc (Range::all_elements_are_ints): Improve check. - -2007-03-26 John W. Eaton - - * chNDArray.cc, chMatrix.cc: Also generate comparison and bool ops. - * chNDArray.h, chMatrix.h: Provide decls. - -2007-03-24 Luis Ortiz - - * MatrixType.cc (MatrixType::MatrixType (void)): Initialize - sp_bandden to zero for performance reasons as it's not used. - -2007-03-23 David Bateman - - * oct-rand.cc (octave_rand::seed): Seed differently for big and - little endian. - -2007-03-15 John W. Eaton - - * lo-mappers.cc (acos): Use formula similar to what we use for asin. - From Alexander Barth . - -2007-03-12 John W. Eaton - - * oct-inttypes.h (octave_int::octave_int (double)): - New Specialization. Round arg. - (operator / (const octave_int&, const octave_int&)): - Round result before converting type. - -2007-03-07 John W. Eaton - - * Array.cc (assign1): Avoid resizing if there is an error. - - * dMatrix.cc, CMatrix.cc (operator *): Only check - f77_exception_encountered immediately after calls that use F77_XFCN. - - * Array.cc (assign1 (Array&, const Array&, const LT&)): - Only allow resizing empty LHS if it is 0x0. - - * Array.cc (Array::maybe_delete_elements (Array&, - const T&)): Handle case of more indices than dimensions. - (assign (Array&, const Array&, const LT&)): Allow more - cases to be handled by assignN. - (assignN (Array&, const Array&, const LT&)): - Special cases for 2-d array assignments for speed. - Improve handling of scalar RHS and empty indices. - -2007-03-05 David Bateman - - * oct-md5.c (oct_md5_file (const std::string&)): New function. - * oct-md5.h (oct_md5_file (const std::string&)): Declare it. - -2007-03-02 John W. Eaton - - * str-vec.h (string_vector::empty): Return bool, not int. - -2007-03-01 David Bateman - - * md5.h, md5.c: New files from libmd5-rfc sourceforge project for - an independent implementation of RFC1321. - * oct-md5.h, oct-md5: New files for treating std::string class - with MD5. - * Makefile.in (INCLUDES): Add md5.h and oct-md5.h - (LIBOCTAVE_CXX_SOURCES): Add oct-md5.cc - (LIBOCTAVE_C_SOURCES): Add md5.c - -2007-02-27 John W. Eaton - - * Makefile.in (uninstall): Delete files listed in - $(INCLUDES_FOR_INSTALL), instead of $(INCLUDES). - From Thomas Treichl . - -2007-02-27 Michael Goffioul - - * file-ops.cc (file_ops::recursive_rmdir): - Close dir_entry object before calling rmdir. - -2007-02-26 Michael Goffioul - - * Makefile.in: Use $(LN_S) instead of ln or ln -s. - - * sparse-util.h (SparseCholPrint, SparseCholError): - Tag with OCTAVE_API. - -2007-02-18 David Bateman - - * oct-rand.cc (do_old_initialization()): call setcgn(1) prior to - calling setall and reset to the current generator after. - -2007-02-16 John W. Eaton - - * oct-shlib.h (octave_shlib::relative): New data member. - (octave_shlib::mark_relative, octave_shlib::is_relative): - New functions. - -2007-02-16 Michael Goffioul - - * lo-sysdep.cc (octave_popen2): New function to simulate popen2 on - windows platform. - * lo-sysdep.h (octave_popen2): Declare it. - * oct-syscalls.cc (octave_syscalls::popen2): New function. - * oct-syscalls.h (octave_syscalls::popen2): Declare it. - -2007-02-14 John W. Eaton - - * kpse.cc (expand_elt): Omit special treatment for //. - -2007-02-06 John W. Eaton - - * file-ops.cc (file_ops::canonicalize_file_name) [HAVE_REALPATH]: - Don't delete value returned from realpath. - -2007-02-05 Thomas Treichl - - * file-ops.cc (file_ops::canonicalize_file_name): - Provide implementation if realpath function is available. - -2007-01-29 Michael Goffioul - - * oct-fftw.h: Sprinkle with OCTAVE_API as needed. - -2007-01-17 Michael Goffioul - - * lo-sysdep.cc (octave_chdir): Handle directory names like "C:" on - Windows systems. - -2007-01-16 John W. Eaton - - * dSparse.cc: Fix dgbtrf decl for --enable-64. - (SparseMatrix::bsolve): Fix call to dgbtrf for --enable-64 - - * oct-fftw.h (fftw_planner): Provide decl. - -2007-01-11 Michael Goffioul - - * Makefile.in (LINK_DEPS): Include $(CAMD_LIBS) in the list. - -2007-01-10 John W. Eaton - - * oct-sparse.h: Use HAVE_CHOLMOD_CHOLMOD_H, not - HAVE_UMFPACK_CHOLMOD_H for case of "cholmod/cholmod.h". - -2007-01-08 David Bateman - - * oct-sparse.h: Replace sparsesuite with suitesparse and - SPARSESUITE with SUITESPARSE to match upstream name. - -2007-01-05 David Bateman - - * oct-fftw.cc: (octave_fftw_planner::method (void), - octave_fftw_planner (FftwMethod)): New methods to interrogate and - set the FFTW wisdom method used. - (octave_fftw_planner::create_plan) Modify to allow different - methods to be used. - (octave_fftw_planner): Move class definition from here. - * oct-fftw.h (octave_fftw_planner): To here. Add method methods - and FftwMethod enum. - -2007-01-03 David Bateman - - * MSparse.cc (SPARSE_A2A2_OP, SPARSE_A2A2_FCN_1, - SPARSE_A2A2_FCN_1): Modify macros so that scalars stored as - sparse matrices are special cased. - - * Sparse-op-defs.h: Include mx-ops.h to have access to mixed - matrix, sparse matrix operations. - (SPARSE_SMSM_BIN_OP_1, SPARSE_SMSM_BIN_OP_2, SPARSE_SMSM_BIN_OP_3, - SPARSE_SMSM_CMP_OP, SPARSE_SMSM_BOOL_OP, SPARSE_MSM_BIN_OP_1, - SPARSE_MSM_BIN_OP_2, SPARSE_MSM_CMP_OP, SPARSE_MSM_BOOL_OP, - SPARSE_SMM_BIN_OP_1, SPARSE_SMM_BIN_OP_2, SPARSE_SMM_CMP_OP, - SPARSE_SMM_BOOL_OP, SPARSE_SPARSE_MUL, SPARSE_FULL_MUL, - FULL_SPARSE_MUL): Modify macros so that scalars stored as - sparse matrices are special cased. - -2006-12-22 David Bateman - - * boolSparse.cc (SparseBoolMatrix::operator !): Fix off-by-one error. - -2006-12-22 John W. Eaton - - * dim-vector.h (dim_vector::dim_vector): Always start with at - least 2 dimensions. - (dim_vector::resize): Don't allow resizing to fewer than 2 dimensions. - -2006-12-06 Michael Goffioul - - * lo-sysdep.cc (opendir): Avoid passing \\* to FindFirstFile. - - * file-ops.cc (ops::canonicalize_file_name): Provide partial - implementation for Windows. - -2006-12-06 David Bateman - - * dSparse.cc (SparseMatrix::is_symmetric): Faster implementation. - * CSparse.cc (SparseComplexMatrix::is_symmetric): Ditto. - - * dMatrrix.cc (finverse): Old inverse method renamed inverse. - (tinverse): New method for triangular matrices. - (inverse): New function with matrix type probing. - * dMatrix.h (finverse, tinverse, inverse): New and modified - declarations. - * CMatrix.cc: Ditto. - * CMatrix.h: Ditto. - -2006-12-06 John W. Eaton - - * strptime.c (day_of_the_week): Use code from current glibc sources. - -2006-12-05 John W. Eaton - - * lo-utils.cc (octave_read_double): If we see '+' or '-' but not - followed by 'I' or 'i', try reading number after putting - characters back on input stream. - -2006-12-05 Paul Kienzle - - * randpoisson.c (oct_fill_randp): For lambda > 1e8, upper limit of - loop is n, not L. - -2006-11-30 John W. Eaton - - * lo-utils.cc (octave_read_double, read_inf_nan_na): - Also recognize [+-][Ii]nf. - -2006-11-28 David Bateman - - * oct-sparse.h: Allow sparse headers to also be in a sparsesuite - sub-directory. - - * dSparse.cc (SparseMatrix::inverse): Transpose the matrix type as - well when calling tinverse for lower triangular matrices. - * CSparse.cc (SparseComplexMatrix::inverse): - Ditto. - -2006-11-21 John W. Eaton - - * oct-env.cc (do_absolute_pathname): Undo previous change. - -2006-11-20 John W. Eaton - - * oct-env.cc (octave_env::do_absolute_pathname): Also return true - for ".", and names beginning with "./" or "../". - -2006-11-14 Luis F. Ortiz - - * CMatrix.cc, dMatrix.cc: New tests. - -2006-11-13 Michael Goffioul - - * Array-d.cc, dDiagMatrix.h: Sprinkle with OCTAVE_API as needed. - -2006-11-11 John W. Eaton - - * Makefile.in ($(OPTS_INC), mx-ops.h): - Use $(simple-move-if-change-rule) here. - -2006-11-09 David Bateman - - * sparse-base-chol.cc (sparse_base_chol_rep::Q): Cast perms(i) to - octave_idx_type, not int. - -2006-11-08 John W. Eaton - - * dir-ops.cc (dir_entry::read): Avoid rewinddir. - -2006-11-06 John W. Eaton - - * Array.cc (assignN): Exit early if invalid indices are found. - -2006-11-03 Michael Goffioul - - * strftime.c [HAVE_TZNAME]: Tag tzname with OCTAVE_IMPORT. - -2006-11-03 John W. Eaton - - * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. - (DLL_CDEFS): Rename from XTRA_CDEFS. - Substitute OCTAVE_DLL_DEFS, not XTRA_OCTAVE_DEFS. - -2006-10-28 Michael Goffioul - - * oct-shlib.cc: Undefine min and max after including windows.h. - * oct-syscalls.cc (syscalls::pipe (int *)): Avoid infinite recursion. - * lo-sysdep.h: Move opendir, readdir, etc. decls here from - lo-sysdep.cc. - -2006-10-27 John W. Eaton - - * oct-time.cc [! HAVE_STRFTIME]: Declare strftime. - -2006-10-26 Michael Goffioul - - * mx-op-defs.h (NDS_CMP_OP1, NDS_CMP_OPS1, NDS_CMP_OP2, - NDS_CMP_OPS2): New macros. - -2006-10-26 John W. Eaton - - * mx-ops (core-type): New field for integer types. - * mk-ops.awk: Handle core-type for integer comparison ops. - - * lo-cutils.c (octave_strcasecmp, octave-strncasecmp): - Move here from src/cutils.c. - * lo-utils.h: Provide decls. - * strcasecmp.c: Move here from src/strcasecmp.c. - * strncase.c: Move here from src/strncase.c. - * Makefile.in (LIBOCTAVE_C_SOURCES): Add them to the list. - -2006-10-26 Michael Goffioul - - * kpse.cc [! MSVC]: Don't include win32lib.h. - - * Array-C.cc, Array-b.cc, Array-ch.cc, Array-i.cc, Array-util.h, - Array.h, CColVector.h, CMatrix.h, CNDArray.h, CRowVector.h, - CSparse.h, CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, CmplxHESS.h, - CmplxLU.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, CmplxSVD.h, - CollocWt.h, DAE.h, DASPK.h, DASRT.h, DASSL.h, EIG.h, LSODE.h, - MArray-C.cc, MArray-defs.h, MSparse-C.cc, MSparse-d.cc, - MSparse-defs.h, MatrixType.h, NLEqn.h, Quad.h, Range.h, - Sparse-op-defs.h, Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, - SparseCmplxQR.h, SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, - boolMatrix.h, boolNDArray.h, boolSparse.h, chMatrix.h, - chNDArray.h, cmd-edit.h, cmd-hist.h, dColVector.h, dDiagMatrix.h, - dMatrix.h, dNDArray.h, dRowVector.h, dSparse.h, data-conv.h, - dbleAEPBAL.h, dbleCHOL.h, dbleDET.h, dbleHESS.h, dbleLU.h, - dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, dir-ops.h, - file-ops.h, file-stat.h, glob-match.h, idx-vector.h, - int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, - lo-cutils.c, lo-ieee.h, lo-mappers.h, lo-specfun.h, lo-utils.h, - mach-info.h, mx-op-defs.h, oct-alloc.h, oct-env.h, oct-group.h, - oct-inttypes.cc, oct-inttypes.h, oct-passwd.h, oct-rand.h, - oct-shlib.h, oct-spparms.h, oct-syscalls.h, oct-time.h, - oct-uname.h, pathsearch.h, prog-args.h, so-array.h, str-vec.h, - uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc, - uint8NDArray.cc: Sprinkle with OCTAVE_API as needed. - -2006-10-26 John W. Eaton - - * oct-inttypes.cc (INSTANTIATE_INTTYPE_BIN_OP): Provide explicit - type qualification for OP. - -2006-10-26 David Bateman - - * Sparse.cc (Sparse::resize_no_fill (octave_idx_type, - octave_idx_type)): Be more careful with the size of the input - matrix, and therefore don't create or read non existent data. - -2006-10-25 John W. Eaton - - * Sparse.cc (assign): Clear lhs index after error. - -2006-10-25 David Bateman - - * Sparse.cc (assign (Sparse&, const Sparse&)): - Fix previous patch so it works. - -2006-10-25 Michael Goffioul - - * glob-match.h (glob_match::glob_match (const std::string&, - unsigned int)): Delete initializer for first arg. - - * lo-sysdep.cc (opendir, readdir, rewinddir, closedir): - New functions. - - * Makefile.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. - - * oct-env.cc (octave_env::do_get_home_directory) [_MSC_VER]: Use - same code as __MINGW32__. - * syswait.h [_MSC_VER]: Define HAVE_WAITPID, WAITPID, and WNOHANG - the same as for __MINGW32__. - - * randpoisson.c: Undefine INFINITE before redefining. - -2006-10-24 David Bateman - - * Sparse.cc (assign (Sparse&, const Sparse&)): Resize the - lhs at the point we know the assignment can succeed if the lhs is - empty. - -2006-10-23 John W. Eaton - - * Array.cc (assign2): Don't require vector assignments to be oriented. - -2006-10-17 John W. Eaton - - * lo-cieee.c: If isnan is not available but _isnan is, then define - isnan to be _isnan, and define HAVE_ISNAN. Likewise for _finite - and _copysign. - -2006-10-17 Michael Goffioul - - * oct-syscalls.cc (syscalls::waitpid): Always declare and define retval. - - * CMatrix.cc (ComplexMatrix::solve): Avoid infinite recursion. - * CSparse.cc (SparseComplexMatrix::insert): Likewise. - - * oct-types.h.in: Include limits.h, for CHAR_BIT. - -2006-10-13 Michael Goffioul - - * Makefile.in: Adapt rules to use $(LIBPRE). - -2006-10-03 David Bateman - - * MatrixType.cc (MatrixType::MatrixType): Avoid crash if np == 0 - or p == 0. - -2006-10-02 John W. Eaton - - * dbleDET.cc (DET::initialize2): Ensure arg to log10 is double. - * CmplxDET.cc (ComplexDET::initialize2): Likewise. - -2006-09-22 David Bateman - - * MatrixType.h (MatrixType::MatrixType(const SparseComplexMatrix&)): - Remove spurious warning. - -2006-09-15 John W. Eaton - - * Array.cc (Array::index (Array&, int, const T&) const): - Handle resizing. - - * intNDArray.h (intNDArray:elt_type): New typedef. - -2006-09-11 John W. Eaton - - * dMatrix.cc (operator * (const Matrix&, const Matrix&))): - Handle M*v and rv*cv special cases. - * CMatrix.cc (operator * (const ComplexMatrix&, const - ComplexMatrix&))): Likewise. - From Luis F. Ortiz . - - * dRowVector.cc (operator * (const RowVector&, const - ColumnVector&)): Call xddot here instead of using a Fortran - function directly. - * CRowVector.cc (operator * (const ComplexRowVector&, const - ComplexColumnVector&)): Call xzdotu here. - -2006-09-05 John W. Eaton - - * chNDArray.cc (charNDArray::any, charNDArray::all): Compare - elements to '\0', not ' '. - -2006-08-25 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Special case for 0x0 arrays. - -2006-08-23 John W. Eaton - - * dMatrix.cc, dMatrix.h (Matrix::save_ascii): Delete function and decl. - * CMatrix.cc, CMatrix.h (ComplexMatrix::save_ascii): Likewise. - -2006-08-22 John W. Eaton - - * CMatrix.cc (ComplexMatrix::save_ascii): New function. - * dMatrix.cc (Matrix::save_ascii): New function. - - * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Correctly detect empty arrays. - If array is empty, return value is same size as array. - (MX_ND_REDUCTION): Correctly detect empty arrays. - If array is empty, produce correctly sized return value. - -2006-08-18 John W. Eaton - - * dMatrix.cc (Matrix::any_element_not_one_or_zero): New function. - * dMatrix.h: Provide decl. - * dNDArray.cc (NDArray::any_element_not_one_or_zero): New function. - * dNDArray.h: Provide decl. - * intNDArray.cc (intNDArray::any_element_not_one_or_zero): - New function. - * intNDArray.h: Provide decl. - - * Array.cc (Array::permute): Only rearrange values if array is - not empty. - -2006-07-26 John W. Eaton - - * dbleDET.cc (DET::initialize10, DET::value_will_underflow, - DET::value_will_overflow): Use xlog2 instead of log2. - (DET::initialize2, DET::initialize10): Use xround instead of round. - (DET::initialize2, DET::value): Use xexp2 instead of exp2. - * CmplxDET.cc (ComplexDET::initialize10, - ComplexDET::value_will_underflow, - ComplexDET::value_will_overflow): Use xlog2 instead of log2. - (ComplexDET::initialize2, ComplexDET::initialize10): - Use xround instead of round. - (ComplexDET::initialize2, ComplexDET::value): - Use xexp2 instead of exp2. - - * lo-mappers.cc (M_LOG10E): Delete unused macro. - (xlog2, xexp2): New functions. - * lo-mappers.h: Provide decls. - -2006-07-22 John W. Eaton - - * Sparse.h (Sparse::mex_get_data, Sparse::mex_get_ir, - Sparse::mex_get_jc): New functions. - -2006-07-21 John W. Eaton - - * oct-inttypes.h (octave_int::mex_get_data): New function. - * Array.h (Array::mex_get_data): New function. - -2006-07-19 John W. Eaton - - * oct-inttypes.h (octave_int::operator bool (void)): New function. - -2006-07-16 John W. Eaton - - * oct-spparms.h, oct-spparms.cc (class octave_sparse_params): - Rename from SparseParams. Use same implementation method as other - singleton classes in Octave. Change all uses of - Voctave_sparse_controls to use static functions from - octave_sparse_params class instead. - - * oct-spparms.h, oct-spparms.cc (SparseParams::set_key, - SparseParams::get_key): Pass std::string arg by const reference, - not const value. - -2006-07-15 John W. Eaton - - * data-conv.cc: Instantiante swap_bytes templates here. - - * MatrixType.cc (MatrixType::MatrixType): - Use complete initializer lists in constructors. - -2006-07-06 John W. Eaton - - * str-vec.cc (string_vector::string_vector (std::list&)): - New constructor. - * str-vec.h: Provide decl. - -2006-07-01 David Bateman - - * dSparse.cc (tinverse): Check for rows with no elements and zero - elements on the diagonal. Allow both Upper and Lower triangular - matrices to be treated. - * CSparse.cc (tinverse): ditto. - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Take into account 64-bit - constant assignment. - -2006-06-30 John W. Eaton - - * lo-sysdep.cc (octave_chdir): Perform tilde expansion here. - * cmd-edit.cc (editor::read_init_file): Ditto. - * dir-ops.cc (dir_entry::open): Ditto. - * file-stat.cc (stat::update_internal): Ditto. - * cmd-hist.cc (command_history::set_file): Ditto. - - * data-conv.cc (data_conv::string_to_data_type): - Correctly handle leading "*". - -2006-06-29 Atsushi Kajita - - * Sparse.cc (Sparse::SparseRep::elem): Avoid out of bounds - array access. - -2006-06-27 John W. Eaton - - * Makefile.in: Finish renaming of OBJECTS -> LIBOCTAVE_OBJECTS. - -2006-06-21 John W. Eaton - - * oct-shlib.cc (octave_dlopen_shlib::close, - octave_shl_load_shlib::close, octave_w32_shlib::close): - Skip do_close_hook if cl_hook is 0. - -2006-06-16 John W. Eaton - - * oct-sort.h: Don't include config.h, lo-mappers.h, or quit.h. - * randmtzig.h: Don't inlcude config.h. - -2006-05-31 David Bateman - - * Array.cc (assignN): Maybe reshape LHS before doing assignment. - -2006-05-23 John W. Eaton - - * oct-types.h.in: Include stdint.h or inttypes.h for integer - typedefs, or define them if those files are not available. - * oct-inttypes.h (octave_int8_t, octave_int16_t, octave_int32_t, - octave_int64_t, octave_uint8_t, octave_uint16_t, octave_uint32_t, - octave_uint64_t): Delete typedefs. Replace all uses of these - types with int8_t, int16_t, etc. - * data-conv.h (TWO_BYTE_INT, FOUR_BYTE_INT, EIGHT_BYTE_INT): - Delete definitions. Replace all uses of these macros with int8_t, - int16_t, etc. - * randmtzig.h: Delete integer typedefs. - -2006-05-18 John W. Eaton - - * EIG.cc (EIG::init): Trap Inf and NaN values here. - From Keith Goodman . - -2006-05-08 David Bateman - - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): fix bug in previous - modification. - -2006-05-09 David Bateman - - * sparse-dmsolve.cc: Remove reference to ov-re-sparse.h, - ov-cx-sparse. and error_state. - * SparseQR.cc, SparseCmplxQR.cc (qrsolve): Return info = -1 on error. - -2006-05-08 David Bateman - - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Set column pointers in - first pass and use to determine which algorithm to use on a - column-by-column basis. - -2006-05-04 David Bateman - - * SparseQR.cc, SparseQR.h, SparseCmplxQR.cc, SparseCmplxQR.h, - sparse-dmsolve.cc : Allow compilation with versions v2.0.0 of - CXSparse or later - -2006-05-03 David Bateman - - * CMatrix.cc (zpotrf, zpocon, zpotrs, ztrcon, ztrtrs): - External declaration of lapack triangular and Cholesky codes. - (ComplexMatrix::utsolve, ComplexMatrix::ltsolve, - ComplexMatrix::fsolve): New private solver codes for - upper, lower and LU/Cholesky solvers. - (ComplexMatrix::solve): New versions for cached matrix - type. Adapt old versions to call new versions - * CMatrix.h (utsolve, ltsolve, fsolve): Declaration of - new solvers. - (solve): New versions for cached matrix type. - * dMatrix.cc (dpotrf, dpocon, dpotrs, dtrcon, dtrtrs): - External declaration of lapack triangular and Cholesky codes. - (Matrix::utsolve, Matrix::ltsolve, - Matrix::fsolve): New private solver codes for - upper, lower and LU/Cholesky solvers. - (Matrix::solve): New versions for cached matrix - type. Adapt old versions to call new versions - * dMatrix.h (utsolve, ltsolve, fsolve): Declaration of - new solvers. - (solve): New versions for cached matrix type. - * CSparse.cc: Replace all uses of SparseType with MatrixType. - * CSparse.h: ditto. - * dSparse.cc: ditto. - * dSparse.h: ditto. - * SparseCmplxCHOL.cc: ditto. - * SparsedbleCHOL.cc: ditto. - * sparse-dmsolve.cc: ditto. - * SparseType.cc, SparseType.h: delete. - * MatrixType.cc: New file for class to cache matrix type, based on - old SparseType class but caching matrix and sparse types. - * MatrixType.h: ditto. - * Makefile.in (MATRIX_INC, MATRIX_SRC): Add MatrixType.h and - MatrixType.cc respectively. Delete SparseType.h and SparseType.cc - respectively. - * mx-base.h: Include MatrixTye.h as header file. - -2006-05-01 John W. Eaton - - * oct-shlib.h (octave_shlib::octave_shlib, octave_shlib::open): - Delete WARN_FUTURE arg. Change all uses. - * oct-shlib.cc (octave_base_shlib::stamp_time): Delete arg. - Change all uses. Use current_liboctave_warning_with_id_handler. - (octave_base_shlib::open): Delete arg. Change all derived classes - and uses. - -2006-04-29 John W. Eaton - - * Array-flags.cc, Array-flags.h: Delete. - * Makefile.in (MATRIX_SRC): Remove Array-flags.cc from the list. - (MATRIX_INC): Remove Array-flags.h from the list. - - * idx-vector.cc (IDX_VEC_REP::freeze): Delete warn_resize arg. - Use current_liboctave_warning_with_id_handler - with warning ID Octave:resize-on-range-error. - * idx-vector.h: Fix decl. - * Array.cc, Sparse.cc: Change all callers. - - * Array.cc (Array::maybe_delete_elements, Array::index2, - assign2, assignN): Use current_liboctave_warning_with_id_handler - with warning ID Octave:fortran-indexing instead of - liboctave_wfi_flag. - * Sparse.cc (assign, Sparse::index): Likewise. - -2006-04-26 John W. Eaton - - * pathsearch.cc (dir_path::path_sep_char, dir_path::path_sep_str): - New static data. - * pathsearch.h: Provide decls. - (dir_path::is_path_sep): New function. - -2006-04-18 John W. Eaton - - * randmtzig.c (randmt, randi53, randi54, randi64, randu32, randu53): - Omit inline from decl. - - * Sparse.cc (Sparse::index): Use std::vector to avoid - local array with variable dimension. - -2006-04-16 John W. Eaton - - * lo-sstream.h: Delete. - * Makefile.in (INCLUDES): Remove it from the list. - - * dim-vector.h (dim_vector::str): Use std::ostringstream directly. - * Sparse.cc (Sparse::range_error): Likewise. - * DASSL.cc (DASSL::error_message): Likewise. - * LSODE.cc (LSODE::error_message): Likewise. - * DASRT.cc (DASRT::error_message): Likewise. - * DASPK.cc (DASPK::error_message): Likewise. - * Array.cc (Array::range_error): Likewise. - - * kpse.cc (kpse_hash): Rename from hash. - (hash_lookup): Call kpse_hash instead of hash. - - * SparseType.cc (SparseType::SparseType): Use std::vector - to avoid local array with variable dimension. - -2006-04-13 David Bateman - - * Sparse.cc (assign (Sparse&, const Sparse&)): - Optimize assignment. - -2006-04-13 John W. Eaton - - * Sparse.cc (assign (Sparse&, const Sparse&)): - Eliminate unnecessary casts. - * SparsedbleLU.cc (SparseLU::SparseLU): Likewise. - - * kpse.cc (fopen): Use reinterpret_cast instead of C-style cast. - (log_search, dir_links): Use static_cast instead of C-style cast. - - * prog-args.cc (args::getopt): Use reinterpret_cast instead of X_CAST. - * oct-alloc.cc (allocator::grow): Likewise. - * CSparse.cc (SparseComplexMatrix::determinant, - SparseComplexMatrix::factorize, SparseComplexMatrix::fsolve): - Likewise. - * SparseCmplxLU.cc (SparseComplexLU::SparseComplexLU): Likewise. - - * oct-sort.cc (roundupsize, octave_sort::merge_getmem): - Use static_cast instead of C-style cast. - * CSparse.cc (SparseComplexMatrix::fsolve): Likewise. - * dSparse.cc (SparseMatrix::fsolve): Likewise. - - * data-conv.cc (LS_DO_WRITE): Use static_cast for value conversion. - Use OCTAVE_LOCAL_BUFFER instead of new/delete. - (LS_DO_READ): Allocate local buffer to avoid pointer tricks. - (write_doubles, read_doubles, LS_DO_WRITE, LS_DO_READ): - Use reinterpret_cast instead of X_CAST. - - * DiagArray2.h (DiagArray2::Proxy::operator&): No need to cast - return value here. - -2006-04-12 Rafael Laboissiere - - * ArrayN.h (ArrayN::ArrayN): Qualify fill with Array base class. - * DiagArray2.h (DiagArray2::DiagArray2): Likewise. - -2006-04-03 David Bateman - - * Sparse.cc (Sparse::resize): Use xcidx rather than cdix, etc - to avoid copy of original matrix. - - * Makefile.in (INCLUDES): Add randgamma.h, randpoisson.h and - randmtzig.h to the list. - (LIBOCTAVE_C_SOURCES): Add randgamma.c, randpoisson.c and - randmtzig.c to the list. - * oct-rand.cc (do_old_initialization): Rename from do_initialization. - (use_old_generators): New variable. - (old_initialized): Rename from initialized. - (new_initialized): New variable. - (oct_init_by_entropy): New function. - (maybe_initialize): Initialize new or old generator depending on - value of use_old_generators. - (octave_rand::state): New functions. - (octave_rand::distribution): Add gamma, exponential and poisson - distributions. - (octave_rand::exponential_distribution, - octave_rand::poisson_distribution, - octave_rand::gamma_distribution): New methods to select - exponential, poisson or gamma distribution. - (octave_rand::scalar, octave_rand::matrix, octave_rand::nd_array, - octave_rand::vector): Add new distributions. - * oct-rand.h: Provide decls for new functions. - (octave_rand::matrix, octave_rand::scalar, octave_rand:: - (octave_rand::scalar, octave_rand::matrix, octave_rand::nd_array, - octave_rand::vector): New arg A, for gamma and poisson distributions. - * randpoisson.c, randpoisson.h, randgamma.c, randmtzig.c, - randmtzig.h: New files. - -2006-03-24 John W. Eaton - - * dSparse.cc (SparseMatrix::bsolve): Integer work vector is - Array, so fortran_vec returns pointer to - octave_idx_type, not pointer to int. - - * CMatrix.cc, CMatrix.h (ComplexMatrix::row (char*), - ComplexMatrix::column (char*)): Delete. - * dMatrix.cc, dMatrix.h (Matrix::row (char*), - Matrix::column (char*)): Delete. - -2006-03-21 David Bateman - - * SparseQR.h: Publish externally used friends. - * SparseCmplxQR.h: ditto. - -2006-03-21 John W. Eaton - - * lo-specfun.cc (betainc): Use F77_XFCN instead of F77_FUNC for - call to xdbetai. - -2006-03-21 David Bateman - - * lo-specfun.cc (xlgamma, xgamma): Trap special values. - (xlgamma): Use F77_XFCN instead of F77_FUNC for call to dlgams. - - * dSparse.cc (solve): Add argument singular_fallback, to allow - fallback to QR solvers to be optional. - * CSparse.cc (solve): Ditto. - * dSparse.h (solve): update declaration for new argument. - * CSparse.h (solve): Ditto. - * sparse-dmsolve.cc (dmsolve): Use singular_fallback argument - to bypass QR solvers when solving the well determined part of - the problem. - -2006-03-17 John W. Eaton - - * str-vec.cc (vector::list_in_columns): New optional arg, width. - -2006-03-16 David Bateman - - * CSparse.cc: Change use of nzmax to nnz to allow automatic - reduction of matrix size, except for a couple of cases where nzmax - is needed. - (zpbcon): Correct declaration of lapack zpbcon function. - (dsolve, utsolve, ltsolve, trisolve, bsolve, factorize, fsolve): Add - an argument to allow the calculation of condition number to be - optional. - (bsolve): Add code for the calculation of the condition number - using zpbcon and zgbcon. - (dsolve): Bug fix for rectangular matrices with sparse RHS. - (utsolve, ltsolve, trisolve, bsolve, fsolve): Mark matrix type as - singular if singularity is detected. - (solve): Use optional argument to disable calculation of - condition number for all but fsolve, for speed. Add code to - allow rectnagular matrices or matrices identified as singular - to be treated. - (lssolve): delete. - (operator *): Don't recast real matrices as complex, but - rather use the macro directly on the real data. - * dSparse.cc: ditto. - * CSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, - fsolve, factorize): Update declaration for new argument to - calculate the condition number. - (lssolve): delete. - * dSparse.h: ditto. - * Msparse.h: Change use of nxmax to nnz to allow automatic - reduction of matrix size, except for a couple of cases where - nzmax is needed. - * Sparse.cc: Change use of nxmax to nnz to allow automatic - reduction of matrix size, except for a couple of cases where - nzmax is needed. - (Sparse::index (idx_vector&, idx_vector&, int) const): - Special case strict permutations for speed. - * Sparse-op-defs.h: Change use of nxmax to nnz to allow automatic - reduction of matrix size, except for a couple of cases where - nzmax is needed. - (SPARSE_SPARSE_MUL, SPARSE_FULL_MUL, FULL_SPARSE_MUL): Update - macros to allow mixed complex/real arguments. - * SparseCmplxQR.cc (OCTAVE_C99_ZERO): New macro for C99 zero - value. - (qrsolve): Use it to zero temporary buffers used bt CXSPARSE. - * SparseType.cc (SparseType::SparseType ()): Correct detection - of permutated triangular matrices to avoid seg-faults. Disable - detection of underdetermined lower and over-determined upper - matrix due to problems with non minimum norm solutions. - * sparse-dmsolve.cc: New file for Dulmage-Mendelsohn solver. - * Makefile.in: add sparse-dmsolve.cc to targets. - -2006-03-15 William Poetra Yoga Hadisoeseno - - * oct-time.cc (octave_strptime::init): Return useful character count. - -2006-03-08 David Bateman - - * SparseCmplxQR.cc: Updates for new upstream CXSPARSE release. Fix for - g++ 4.x stl_vector.h issue with C99 double _Complex type. - * SparseCmplxQR.h: Updates for new upstream CXSPARSE release. - * SparseQR.cc: ditto. - * SparseQR.h: ditto. - * oct-sparse.h: ditto. - * sparse-base-chol.cc (sparse_base_chol<>::sparse_base_chol_rep::init): - Declare info variable as volatile. - - * Sparse.cc (Sparse::transpose (void) const): Accelerate algorithm. - * CSparse.cc (SparseComplexMatrix::transpose (void) const): ditto. - -2006-03-01 John W. Eaton - - * CMatrix.cc (ComplexMatrix::determinant): - Scale result by factors of 2, not 10. - * dMatrix.cc (Matrix::determinant): Likewise. - - * dbleDET.h (DET::DET): Use initializer list. - (DET::coefficient2, DET::coefficient10, DET::exponent2, - DET::exponent10): New functions. - (DET::det): Delete. - (DET::c2, DET::c10, DET::e2, DET::e10, DET::base2): New data members. - Store value internally with double and int instead of 2-element - double vector. - (DET::initialize2, DET::initialize10): Provide decls. - * dbleDET.cc (DET::value_will_overflow, DET::value_will_underflow): - Return bool value, not int. - (DET::initialize2, DET::initialize10): New functions. - - * CmplxDET.h (ComplexDET::ComplexDET): Use initializer list. - (ComplexDET::coefficient2, ComplexDET::coefficient10, - ComplexDET::exponent2, ComplexDET::exponent10): New functions. - (ComplexDET::det): Delete. - (ComplexDET::c2, ComplexDET::c10, ComplexDET::e2, ComplexDET::e10, - ComplexDET::base2): New data members. - Store value internally with Complex and int instead of 2-element - Complex vector. - (ComplexDET::initialize2, ComplexDET::initialize10): Provide decls. - * dbleComplexDET.cc (ComplexDET::value_will_overflow, - ComplexDET::value_will_underflow): Return bool value, not int. - (ComplexDET::initialize2, ComplexDET::initialize10): New functions. - -2006-02-24 John W. Eaton - - * Array.cc (assignN): Clear index before reshaping. - - * Array.h (Array::operator =): Don't set idx to 0 if copying self. - -2006-02-20 David Bateman - - * dSparse.cc (dsolve, utsolve, ltsolve): Remove restriction that - matrix must be square in diagonal, permuted diagonal, triangular - and permuted triangular back/forward substitution code. Change - ambiguous use of no. rows and columns. - * CSParse.cc (dsolve, utsolve, ltsolve): ditto. - * SparseType.cc (SparseType::SparseType(const SparseMatrix&), - SparseType::SparseType(const SparseComplexMatrix&)): Recognize - rectangular diagonal, permuted diagonal, triangular and permuted - triangular matrices. - * Sparse.cc (Sparse::Sparse (octave_idx_type, octave_idx_type, T)): - Treat case where third argument is zero. - -2006-02-15 John W. Eaton - - * kpse.cc: Do define ST_NLINK_TRICK for Cygwin systems. - (do_subdir) [ST_NLINK_TRICK]: Check links != 2 instead of links > 2. - - * getopt.c: Use __CYGWIN__ instead of __CYGWIN32__. - -2006-02-13 David Bateman - - * Makefile.in (LINK_DEPS): Add missing dependencies on colamd, - ccolamd and cxsparse - -2006-02-13 John W. Eaton - - * kpse.cc (kpse_path_iterator::next): Reverse order of tests in - while loop condition. - (kpse_path_iterator::operator =): Declare as private function but - don't define to prevent attempts to use assignment operator. - Don't define ST_NLINK_TRICK for Cygwin systems. - -2006-02-10 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Store in cummulative - product of all dimensions in CP_SZ. - -2006-02-09 John W. Eaton - - * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Store in cummulative - product of all dimensions in CP_SZ. - -2006-02-09 David Bateman - - * SparseQR.cc: new file for real sparse QR class. - * SparseQR.h: declaration. - * SparseCmplxQR.cc: new file for complex sparse QR class. - * SparseCmplxQR.h: declaration. - * dSparse.cc (dinverse,tinverse,inverse): Remove unused input args. - (factorize, fsolve): Enable code code lssolve. - (lssolve): disable unused args, write based in above sparse QR class. - * CSparse.cc (dinverse,tinverse,inverse): Remove unused input args. - (factorize, fsolve): Enable code code lssolve. - (lssolve): disable unused args, write based in above sparse QR class. - * oct-sparse.h: fix location of colamd, ccolamd and metis headers. - Include CXSparse headers. - * Makefile.in (MATRIX_INC): Include SparseQR.h and SparseCmplxQR.h. - (MATRIX_SRC): Include SparseQR.cc and SparseCmplxQR.cc. - -2006-02-08 John W. Eaton - - * Array-util.h (calc_permutated_idx): Delete. - * Array.cc (permute_vector): New data structure. - (permute_vector_compare): New function. - (Array::permute): Rewrite to avoid calc_permutated_index for - improved performance. - -2006-02-04 David Bateman - - * COLAMD: Remove all files, as now unused. - -2006-01-31 John W. Eaton - - * Sparse.h (Sparse::nzmax): New function. - (Sparse::nnz): Rename from nonzero. - Change all uses of old nnz function to be nzmax. Change all uses - of nonzero to be nnz. - (Sparse::nzmx): Rename from nnz (data member). Change all uses. - -2006-01-21 David Bateman - - * sparse-sort.cc (bool octave_sparse_sidxl_comp): 64-bit fix. - (bool octave_idx_vector_comp): New function. - (template class octave_sort): Instantiate - indexed idx_vector sorting function. - * sparse-sort.h (class octave_sparse_sort_idxl): 64-bit fix. - (class octave_idx_vector_sort): New class for indexed idx_vector - sorting. - (bool octave_idx_vector_comp): Declaration. - * Sparse.cc (int assign1(Sparse&, Sparse&)): Treat cases of - unordered LHS indexes in assignment using new octave_idx_vector_sort - class. - (int assign(Sparse&, Sparse&)): ditto. - -2006-01-30 John W. Eaton - - * so-array.h (streamoff_array::nnz): New funtion. - * boolNDArray.h (boolNDArray::nnz): New function. - * MArrayN.h (MArrayN::nnz): New function. - * MArray.h (MArray::nnz): New function. - -2006-01-04 David Bateman - - * Spars-op-defs.h (SPARSE_SPARSE_MUL): Previous change resulted in - elements not being sorted in return matrix. Sort them, and make - solver select between two algorithms to further improve the - performance. - * dSparse.cc: include oct-sort.h. - * CSparse.cc: ditto. - * sparse-sort.cc: Instantiate octave_sort. - -2005-12-28 David Bateman - - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Improved algorithm that is - faster in all cases, and significantly so for low density or small - order problems. - -2005-11-30 John W. Eaton - - * LSODE.cc (LSODE::do_integrate (double)): Resize iwork and rwork - before setting any values in either array. - -2005-11-29 John W. Eaton - - * oct-uname.h, oct-uname.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2005-11-11 John W. Eaton - - * Array.cc (Array::indexN): Simplify. - -2005-11-09 John W. Eaton - - * oct-inttypes.h (octave_int::operator char (void) const): - New conversion op. - -2005-11-01 John W. Eaton - - * Makefile.in (distclean): Also remove oct-types.h. - From Quentin Spencer . - -2005-10-31 David Bateman - - * dSparse.cc, CSparse.cc: Use C++ true/false instead of - preprocessor defined TRUE/FALSE. - -2005-10-30 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Iterate in direction of DIM. - (MX_ND_CUMULATIVE_OP): Likewise. - -2005-10-29 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Avoid increment_index to speed - things up. Simplify. - - * Array.cc (Array::indexN): Simplify. Delete separate special - case for "vector_equivalent". - - * Array-util.cc (vector_equivalent): Arg is now dim_vector. - -2005-10-28 John W. Eaton - - * oct-sparse.h: Fix typo in HAVE_UFSPARSE_UMFPACK_H. - From Quentin Spencer . - - * sparse-base-chol.cc: Use C++ true/false instead of - preprocessor defined TRUE/FALSE. Use 0 instead of NULL. - -2005-10-27 John W. Eaton - - * Array.cc (assignN): Reshape to final size instead of resizing. - -2005-10-26 John W. Eaton - - * oct-sparse.h: New file. - * oct-sparse.h.in: Delete. - -2005-10-26 David Bateman - - * sparse-base-chol.h: Include cholmod specific code in HAVE_CHOLMOD - * sparse-base-chol.cc: ditto. - -2005-10-26 John W. Eaton - - Changes for GCC 4.1, tip from Arno J. Klaassen - : - - * dSparse.h (real (const SparseComplexMatrix&)): - Publish externally used friend function. - (imag (const SparseComplexMatrix&)): Likewise. - - * dColVector.h (real (const ComplexColumnVector&)): - Publish externally used friend function. - (imag (const ComplexColumnVector&)): Likewise. - - * dNDArray.h (real (const ComplexNDArray&)): - Publish externally used friend function. - (imag (const ComplexNDArray&)): Likewise. - - * dMatrix.h (operator * (const ComplexMatrix&)): - Move decl outside class. No need to be friend. - (real (const ComplexMatrix&)): Publish externally used friend function. - (imag (const ComplexMatrix&)): Likewise. - - * CMatrix.h: (operator * (const ColumnVector&, const - ComplexRowVector&)): Move decl outside class. No need to be friend. - (operator * (const ComplexColumnVector&, const RowVector&)): Likewise. - (operator * (const ComplexColumnVector&, const ComplexRowVector& b)): - Likewise. - -2005-10-23 David Bateman - - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Check whether trailing zero - elements need to be removed. - - * oct-sparse.h.in: Include metis headers and some macros for long/int - versions of cholmod. - - * CSparse.cc (tinverse): New private function for the inversion of - an upper triangular matrix. - (dinverse): ditto for diagonal matrices. - (inverse): Add SparseType as an argument. Implement matrix inverse - using tinverse and dinverse. - (fsolve): Use cholmod to implement Cholesky solver. - * CSparse.h (tinverse, dinverse): Declarations - (inverse): Alter declaration to include SparseType. - - * dSparse.cc (tinverse, dinverse, inverse, fsolve): ditto. - * dSparse.h (tinverse, dinverse, inverse): ditto. - - * SparseType.cc: Fix complex constructor for hermitian matrices. - - * sparse-util.cc: New file for sparse utility functions. - * sparse-util.h: New file with declarations of sparse utility - functions. - - * sparse-base-chol.cc: New file with sparse cholesky class based - on cholmod. - * sparse-base-chol.h: New file with declaration of sparse cholesky - class based on cholmod. - - * SparseCmplxCHOL.cc: Instantiate sparse cholesky class for Complex. - * SparseCmplxCHOL.h: Declaration of sparse cholesky class. - - * SparsedbleCHOL.cc: ditto. - * SparsedbleCHOL.h: ditto. - - * Makefile.in (MATRIX_INC): Include sparse-base-chol.h. - (INCLUDES): Include sparse-util.h - (TEMPLATE_SRC): Include sparse-base-chol.cc - (MATRIX_SRC): Include SparseCmplxCHOL.cc and SparsedbleCHOL.cc - -2005-10-12 John W. Eaton - - * oct-env.cc (octave_env::have_x11_display): New function. - * oct-env.h: Provide decl. - -2005-09-29 John W. Eaton - - * file-stat.h (file_stat::mode): New function. - - * file-stat.cc (file_stat::is_blk, file_stat::is_chr, - file_stat::is_dir, file_stat::is_fifo, file_stat::is_lnk, - file_stat::is_reg, file_stat::is_sock): New static functions. - * file-stat.h: Provide decls. - -2005-09-28 John W. Eaton - - * file-ops.cc (file_ops::recursive_rmdir): New function. - * file-ops.h: Provide decl. - -2005-09-19 David Bateman - - * oct-env.cc (octave_env::do_get_home_directory): - Also check HOMEDRIVE under mingw. - - * Makefile.in (LINK_DEPS): Include UFsparse libraries. - -2005-09-16 John W. Eaton - - * oct-syscalls.cc: Include lo-utils.h here. - (octave_syscalls::waitpid): Call octave_waitpid here. - - * lo-cutils.c (octave_waitpid): New function. - * lo-utils.h: Provide decl. Include syswait.h here, not in - oct-syscalls.cc - - - * syswait.h [__MINGW32__]: Define WAITPID here instead of defining - waitpid in src/sysdep.h. Make this header C-compatible. - - * oct-syscalls.cc (octave_syscalls::waitpid): New arg, status. - Change all uses. - -2005-09-15 John W. Eaton - - * Makefile.in (MAKEDEPS_2): Omit unnecessary variable. - - * oct-sparse.h.in: New file. - * Makefile.in (DISTFILES): Include it in the list. - (INCLUDES): Add oct-sparse.h to the list. - -2005-09-15 David Bateman - - * dSparse.cc : Include oct-sparse.h for probed umfpack, colamd etc - headers. Remove include of umfpack.h. - * CSparse.cc : ditto. - * SparsedbleLU.cc : ditto. - * SparseCmplxLU.cc : ditto. - - * COLAMD : Remove colamd files from octave. - * COLAMD.files : delete. - * COLAMD.README : delete. - * Makefile.in: Remove COLAMD. Add LIBGLOB. - (LN_S): Change to DESTDIR before LN_S to avoid lack of symlinks - under mingw. - - * kpse.cc (ENV_SEP, ENV_SEP_STRING): Use SEPCHAR and SEPCHAR_STR - in definition. - * lo-cutils.c (octave_w32_library_search): Call GetProcAddress with - change of cast not allowed under g++ 3.x. - * lo-utils.h (octave_w32_library_search): Declaration. - * oct-env.cc (do_get_home_directory): Also check HOMEPATH under mingw. - * oct-shlib.cc (octave_w32_shlib::search): Use octave_w32_library_search. - -2005-09-07 John W. Eaton - - * cmd-edit.cc (command_editor::do_decode_prompt_string): Update - based on current code in Bash. Handle a few more escape - sequences. Do a better job of decoding \W. - -2005-09-04 David Bateman - - * COLAMD: Update version of colamd to v2.4. - * COLAMD.files: Add colamd_global.c to COLAMD_SRC and second build of - colamd.c for long version. - -2005-08-25 David Bateman - - * Sparse-op-defs.h (FULL_SPARSE_MUL, SPARSE_FULL_MUL): Macro for - mixed sparse/full multiply. - * dSparse.cc (operator *), CSparse.cc (operator *): New operators for - mixed sparse/full multiply. - * dSparse.h (operator *), CSparse.h (operator *): Declaration of - mixed sparse/full multiply operators. - -2005-07-25 Erik de Castro Lopo - - * oct-inttypes.h (OCTAVE_S_US_FTR): Compare <= 0 instead of < 0 to - avoid warnings for unsigned types. - -2005-07-07 John W. Eaton - - * dSparse.cc (SparseMatrix::factorize): Initialize Numeric to 0. - * CSparse.cc (SparseComplexMatrix::factorize:) Likewise. - -2005-06-15 John W. Eaton - - * oct-rl-edit.c (flush_stdout): Rename from no_redisplay. - Flush stdout here. - (octave_rl_clear_screen): Set rl_redisplay_function to flush_stdout. - - * Array.h (Array::resize): Change int args to octave_idx_type. - -2005-06-14 John W. Eaton - - * CMatrix.cc, CNDArray.cc, CSparse.cc, dMatrix.cc, dNDArray.cc, - dSparse.cc, lo-cieee.c, lo-mappers.cc: Change all uses of - octave_is_NaN_or_NA to xisnan. - - * lo-mappers.h (octave_is_NaN_or_NA): Mark with GCC_ATTR_DEPRECATED. - * lo-ieee.h (lo_ieee_is_NaN_or_NA): Likewise. - - * lo-cieee.c (lo_ieee_is_NaN_or_NA): Now just a wrapper for - lo_ieee_isnan. - - * dMatrix.cc (Matrix::too_large_for_float): Only check if abs - value is greater than FLT_MAX. - * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. - * dNDArray.cc (NDArray::too_large_for_float): Ditto. - * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. - - * dMatrix.cc (Matrix::too_large_for_float): Special case Inf - values too. - * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. - - * dNDArray.cc (NDArray::too_large_for_float): Likewise for NaN, - NA, Inf values. - * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. - -2005-06-14 David Bateman - - * dMatrix.cc (Matrix::too_large_for_float): Special case NaN and - NA values. - * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. - -2005-06-02 John W. Eaton - - * Array.cc (assignN): Try harder to correctly resize previously - empty LHS. - -2005-05-16 David Bateman - - * dSparse.h: Change UMFPACK_LONG_IDX to IDX_TYPE_LONG. - * CSparse.h: ditto. - -2005-05-10 David Bateman - - * dSparse.cc (determinant): Free numeric factorization after - sucessful calculation. - * CSparse.cc (determinant): ditto. - -2005-05-06 John W. Eaton - - * dbleCHOL.cc (CHOL::init): Use xelem instead of elem for indexing - chol_mat. - (chol2mat_internal, chol2mat, CHOL::inverse): New functions. - * dbleCHOL.h (chol2mat_internal, chol2mat, CHOL::inverse): - Provide decls. - - * CmplxChol.cc (ComplexCHOL::init): Use xelem instead of elem for - indexing chol_mat. - (chol2mat_internal, chol2mat, ComplexCHOL::inverse): New functions. - * CmplxCHOL.h (chol2mat_internal, chol2mat, CmplxCHOL::inverse): - Provide decls. - -2005-05-05 John W. Eaton - - * Array.cc (Array::permute): Call chop_trailing_singletons on - retval before return. - -2005-05-04 John W. Eaton - - * cmd-edit.cc (gnu_readline::do_readline): Extract const char* - from prompt outside of INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE block. - -2005-05-02 John W. Eaton - - * Makefile.in (LINK_DEPS): List $(UMFPACK_LIBS) ahead of $(BLAS_LIBS). - From Dmitri A. Sergatskov . - -2005-04-29 David Bateman - - * dSparse.cc (trisolve): Diagonal passed to lapack zptsv is type - double. Correct indexing for upper diagonal elements for sparse - tridiagonal. - * CSparse.cc (trisolve): ditto. - - * CSparse.h (UMFPACK_ZNAME): Define macro to pick version of - UMFPACK for 64-bit. - * CSparse.cc (UMFPACK_ZNAME): Replace all umfpack_zi_* with - UMFPACK_ZNAME(*). - * SparseCmplxLU.cc (UMFPACK_ZNAME): ditto - - * dSparse.h (UMFPACK_DNAME): Define macro to pick version of - UMFPACK for 64-bit. - * dSparse.cc (UMFPACK_DNAME): Replace all umfpack_di_* with - UMFPACK_DNAME(*). - * SparsedbleLU.cc (UMFPACK_DNAME): ditto - - * dSparse.cc (ltsolve, utsolve): Correct permuted upper/lower - triangular back/forward substitution code. - * CSparse.cc (ltsolve, utsolve): ditto. - - * dSparse.cc (solve): Use mattype.type (false) to force messaging - from spparms("spumoni",1). - * CSparse.cc (solve): ditto - - * SparseType.cc (SparseType(void)): Print info for - spparms("spumoni",1). - (SparseType(const matrix_type), SparseType(const matrix_type, const - octave_idx_type, const octave_idx_type*), SparseType(const matrix_type, - const octave_idx_type, const octave_idx_type)): New constructors. - (SparseType (const SparseMatrix&), SparseType (SparseComplexMatrix&)): - Detect row permuted lower triangular and column permuted upper - triangular matrices. Remove one of the permutation vectors.. - - * SparseType.h: Simplify the permutation code. - (SparseType(const matrix_type), SparseType - (const matrix_type, const octave_idx_type, const octave_idx_type*), - SparseType(const matrix_type, const octave_idx_type, - const octave_idx_type)): Declarations. - -2005-04-25 John W. Eaton - - * str-vec.cc (string_vector::delete_c_str_vec): Correctly free - array and its contents. - -2005-04-22 John W. Eaton - - * oct-rl-edit.c (octave_rl_set_terminal_name): Don't cast away - const here now that rl_terminal_name is declared const char*. - -2005-04-21 John W. Eaton - - * Makefile.in (DISTFILES): Include oct-types.h.in in the list. - -2005-04-19 John W. Eaton - - * Array.cc (assignN): Don't crash if the index list is empty. - -2005-04-14 David Bateman - - * SparseCmplxLU.cc: Add flags for incomplete factorization. - * SparsedbleLU.cc: Ditto. - * SparseCmplxLU.h: Definition. - * SparsedbleLU.h: ditto. - - * SparseType.cc (transpose): New function. - * SparseType.h (transpose): Definition. - -2005-04-11 John W. Eaton - - * lo-specfun.cc: Use F77_XFCN instead of F77_FUNC for calls to - fortran code that could end up calling XSTOPX. - -2005-04-10 David Bateman - - * Makefile.in: include oct-types in INCLUDES so that it is - installed - -2005-04-08 John W. Eaton - - * Makefile.in (clean): Use exact filenames instead of *.xxx. - - * Initial merge of 64-bit changes from Clinton Chee: - - 2005-04-07 John W. Eaton - - * MArray-i.cc, Array-i.cc: Instantiate Array and MArray. - - * CSparse.cc, CSparse.h, MSparse.cc, MSparse.h, Sparse-op-defs.h, - Sparse.cc, Sparse.h, SparseCmplxLU.cc, SparseType.cc, - SparseType.h, SparsedbleLU.cc, boolSparse.cc, boolSparse.h, - dSparse.cc, dSparse.h, sparse-base-lu.cc: - Use octave_idx_type instead of int where needed. - - 2005-03-31 Clinton Chee - - * Array-util.cc, Array-util.h, Array.cc,Array.h, Array2.h, - Array3.h, ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, - CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, - CMatrix.h, CNDArray.cc, CNDArray.h, CRowVector.cc, CRowVector.h, - CmplxAEPBAL.cc, CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, - CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, - CmplxSCHUR.cc, CmplxSCHUR.h, CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, - CollocWt.h, DAEFunc.h, DASPK-opts.in,DASPK.cc,DASPK.h, - DASRT-opts.in, DASRT.cc, DASRT.h, DASSL-opts.in, DASSL.cc, - DASSL.h, DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, - FEGrid.h, LPsolve.cc, LPsolve.h, LSODE-opts.in, LSODE.cc, LSODE.h, - MArray-defs.h, MArray.cc, MArray.h, MArray2.cc, MArray2.h, - MArrayN.cc, MDiagArray2.cc, MDiagArray2.h, NLConst.h, NLEqn.cc, - NLEqn.h, Quad.cc, Quad.h, Range.cc,Range.cc, Range.h, base-de.h, - base-lu.cc, base-lu.h, base-min.h, boolMatrix.cc, boolMatrix.h, - boolNDArray.cc, boolNDArray.h, chMatrix.cc, chMatrix.h, - chNDArray.cc, chNDArray.h, dColVector.cc, dColVector.h, - dDiagMatrix.cc, dDiagMatrix.h, dMatrix.cc, dMatrix.h, - dNDArray.cc,dNDArray.cc, dNDArray.h, dRowVector.cc, dRowVector.h, - dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleHESS.cc, - dbleHESS.h, dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, - dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, dim-vector.h, idx-vector.cc, - idx-vector.h, intNDArray.cc, intNDArray.h, lo-specfun.cc, - lo-specfun.h, mach-info.cc, mx-inlines.cc, oct-fftw.cc, - oct-fftw.h, oct-rand.cc, oct-rand.h, so-array.cc, so-array.h, - str-vec.cc, str-vec.h: - Use octave_idx_type instead of int where needed. - - 2005-04-01 John W. Eaton - - * dim-vector.h, lo-utils.h: Include oct-types.h. - - * oct-types.h.in: New file. - - 2005-03-31 Clinton Chee - - * lo-utils.cc (NINTbig): New function. - * lo-utils.h: Provide decl. - -2005-04-06 David Bateman - - * Makefile.in: Link to UMFPACK_LIBS. - -2005-04-05 John W. Eaton - - * Array.cc (assignN): Avoid shadowed declaration in previous change. - -2005-04-01 John W. Eaton - - * Array.cc (assignN): For A(IDX-LIST) = RHS with A previously - undefined, correctly match colons in IDX-LIST with RHS dimensions - when resizing A. When performing the assignment, just check that - the number of elements in RHS matches the number of elements - indexed by IDX-LIST. - -2005-03-30 John W. Eaton - - * lo-mappers.cc (log10, tan, tanh): Delete functions. - * lo-mappers.h (log10, tan, tanh): Delete decls. - - * CColVector.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, - dSparse.cc: Use std:: for Complex functions instead of relying on - wrappers from oct-cmplx.h. - - * oct-cmplx.h: Provide typedef only. - - * DiagArray2.cc (xelem): Don't use initializer for static data. - * DiagArray2.h (DiagArray::Proxy::operator T ()): - Likewise. - -2005-03-26 John W. Eaton - - * cmd-edit.cc (do_readline): Wrap call to ::octave_rl_readline - with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. - -2005-03-15 John W. Eaton - - * Makefile.in (MATRIX_INC): Remove oct-spparms.h from the list. - -2005-03-14 John W. Eaton - - * Makefile.in (DISTFILES): Don't include $(UMFPACK_EXTRAS). - (DISTDIRS): Don't include UMFPACK. - (LIBOCTAVE_OBJECTS): Don't include $(UMFPACK_OBJ). - (UMFPACK_SPECIAL_1, UMFPACK_SPECIAL): No need for special include - flags for these files. - Don't include include $(srcdir)/UMFPACK.files. - Don't include include $(srcdir)/UMFPACK.rules. - - * UMFPACK.README, UMFPACK.files, UMFPACK.patch, UMFPACK.rules: - Delete files. - * UMFPACK: Delete directory tree. - - * dSparse.cc: Include instead of just "umfpack.h". - * CSparse.cc: Likewise. - * SparsedbleLU.cc: Likewise. - * SparseCmplxLU.cc: Likewise. - -2005-03-14 David Bateman - - * CSParse.cc, SparseCmplxLU.cc, SparsedbleLU.cc, dSparse.cc: - Allow compilation to succeed if UMFPACK is not available. - -2005-03-09 John W. Eaton - - * Makefile.in (bin-dist): Delete target. - (BINDISTLIBS, BINDISTFILES): Delete variables. - -2005-03-01 John W. Eaton - - * ODESSA.h, ODESSA.cc, ODESSA-opts.in: Delete. - * Makefile.in: Remove them from the lists. - -2005-02-28 John W. Eaton - - * Makefile.in (LINK_DEPS): Remove -lglob from the list. - -2005-02-27 David Bateman - - * Sparse.cc (Sparse::reshape): Set cidx for the N last elements - in the sparse matrix. - -2005-02-25 John W. Eaton - - Sparse merge. - - 2005-02-13 David Bateman - - * CSparse.cc (SparseComplexMatrix:dsolve, SparseComplexMatrix:utsolve, - SparseComplexMatrix::ltsolve, SparseComplexMatrix::trisolve, - SparseComplexMatrix::bsolve, SparseComplexMatrix:fsolve): Split sparse - solver into separate functions for the diagonal, upper, lower - triangular, tridiagonal, banded and full cases. - (SparseComplexMatrix::solve): rewrite to call the above function. One - version that probes the matrix type and another that assumes the type - is passed. - - * dSparse.cc (SparseMatrix:dsolve, SparseMatrix:utsolve, - SparseMatrix::ltsolve, SparseMatrix::trisolve, - SparseMatrix::bsolve, SparseMatrix:fsolve): Likewise - (SparseMatrix::solve): Likewise - - * CSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, fsolve): - Declaration of new functions - * dSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, fsolve): - Likewise - - * CSparse.cc (operator !): Reverse the sense of the test. - * dSpase.cc (operator !): Likewise - - * dSparse.h (type, band_size, is_dense, triangular_row_perm, - triangular_col_perm, sparse_info): Remove matrix type code - * CSparse.h (type, band_size, is_dense, triangular_row_perm, - triangular_col_perm, sparse_info): Likewise - * boolSparse.h (type, band_size, is_dense, triangular_row_perm, - triangular_col_perm, sparse_info): Likewise - * MSparse.h (type, band_size, is_dense, triangular_row_perm, - triangular_col_perm, sparse_info): Likewise - * Sparse.h (type, band_size, is_dense, triangular_row_perm, - triangular_col_perm, sparse_info, matrix_type): Likewise - - * Sparse.cc (type, sparse_info, band_size): Remove type code - - * SparseType.h: New class for the matrix type used in solvers - * SparseType.cc: methods of sparse matrix type class - - * Makefile.in: Add SparseType.cc - - 2005-02-01 David Bateman - - * UMFPACK: Update to version 4.4 - * UMFPACK.patch: Version 4.4 contains most of the previous patch. Only - keep octave specific test files - - 2005-01-23 David Bateman - - * dSparse.cc (SparseMatrix::solve): Include tridiagonal, cholesky - tridiagonal and banded cholesky solvers. Remove calculation of - condition number for banded solvers. - * CSparse.cc (SparseComplexMatrix::solve): ditto. - - * Sparse.h (int type (int) const, bool is_dense (void) const): - new functions. - * MSparse.h (int type (int) const, bool is_dense (void) const): ditto - * dSparse.h (int type (int) const, bool is_dense (void) const): ditto - * CSparse.h (int type (int) const, bool is_dense (void) const): ditto - * boolSparse.h (int type (int) const, bool is_dense (void) const): - ditto - - * Sparse.cc (int Sparse::type (int) const, - bool Sparse::is_dense (void) const): New functions definition - - * Sparse.h (matrix_type typ): Move caching of matrix type to SparseRep, - so it actually is cached, but disable - - * oct-spparms.cc (SparseParams::init_keys): Change spmoni to spumoni - for compatiability - - 2005-01-18 David Bateman - - * Array.cc (Array::insert (const Array&, const Array&)): - Modify calculation of number elements to skip between copied blocks. - - 2005-01-07 David Bateman - - * Sparse.h : Reverse definitions of numel and nelem. - * Sparse.cc (assign1): Use numel and not nelem - * Sparse-op-def.h: Replace all uses of nelem with numel - - 2005-01-07 David Bateman - - * dbleDET.h: Make SparseMatrix a friend of the class DET - * CmplexDET.h: Make SparseComplexMatrix a friend of the class - ComplexDET - * dSparse.cc (SparseMatrix::determinant): Replace use of SparseDET - by DET - * dSparse.h (determinant): ditto - * CSparse.cc (SparseComplexMatrix::determinant): Replace use of - SparseComplexDET by ComplexDET - * CSparse.h (determinant): ditto - * SparsedbleDET.h, SparsedbleDET.cc, SparseCmplxDET.h, - SparseCmplxDET.cc: delete files - * Makefile.in: Delete reference to SparsedbleDET.h, SparsedbleDET.cc, - SparseCmplxDET.h andSparseCmplxDET.cc. - - * CSparse.cc (SparseComplexMatrix::solve): Store matrix type in - local variable to avoid variable shadowing. - * dSparse.cc (SparseMatrix::solve): ditto. - - * boolSparse.cc boolSparse.h CSparse.cc CSparse.h dSparse.cc - dSparse.h MSparse.cc MSparse-C.cc MSparse-d.cc MSparse-defs.h - MSparse.h oct-spparms.cc oct-spparms.h Sparse-b.cc Sparse.cc - Sparse-C.cc SparseCmplxLU.cc SparseCmplxLU.h SparsedbleLU.cc - SparsedbleLU.h Sparse-d.cc Sparse.h Sparse-op-defs.h sparse-sort.cc - sparse-sort.h: Remove additional licensing clause with authors - permission. - - 2004-12-30 John W. Eaton - - * MSparse.cc (SPARSE_A2S_OP_2, SPARSE_SA2_OP_2): - Loop counter is int, not size_t. - - * oct-spparms.cc (SparseParams::operator =): Return *this. - - * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Delete unused variable tmpval. - - * dSparse.cc (operator << (ostream&, const SparseMatrix&), atan2): - Delete unused variables. - (SparseMatrix::solve): Avoid warnings about uninitialized - variables and variables that might be clobbered by longjmp. - - * CSparse.cc (operator << (ostream&, const SparseComplexMatrix&), - min, max): Delete unused variables. - (SparseComplexMatrix::solve): Avoid warnings about uninitialized - variables and variables that might be clobbered by longjmp. - - * Makefile.in (UMFPACK_SPECIAL): Include .d files in the list. - - * Sparse-op-defs.h (SPARSE_SMS_BIN_OP_2, SPARSE_SSM_BIN_OP_2): - Loop counter is int, not size_t. - - * CSparse.cc (SparseComplexMatrix::hermitian): Avoid shadow warnings. - * Sparse.cc (Sparse::Sparse, Sparse::type, assign): Likewise. - - * Sparse.h (Sparse::SparseRep): Order data members and initializer - lists consistently. - - * mx-base.h: Include boolSparse.h, dSparse.h, and CSparse.h. - - 2004-12-29 John W. Eaton - - * COLAMD.files (COLAMD_EXTRAS): New variable. - * UMFPACK.files (UMFPACK_EXTRAS): New variable. - * Makefile.in (DISTFILES): Add $(COLAMD_EXTRAS) and - $(UMFPACK_EXTRAS) to the list. - (DISTDIRS): New variable. - (dist): Handle $(DISTDIRS). - - Merge of sparse code from David Bateman and - Andy Adler . - - * Makefile.in (VPATH): ADD @srcdir@/COLAMD to the list. - - * Makefile.in (MAKEDEPS): Include $(COLAMD_SRC) and $(UMFPACK_SRC) - without directory prefix. - - * Makefile.in (LIBOCTAVE_OBJECTS): Add $(COLAMD_OBJ) and - $(UMFPACK_OBJ) to the list. - - * COLAMD: New directory. - * COLAMD.files: New file. - * Makefile.in: Include COLAMD.files. - (SOURCES): Add $(COLAMD_SOURCES) to the list. - (LIBOCTAVE_OBJECTS): Add $(COLAMD_OBJECTS) to the list. - (INCLUDES): Add $(COLAMD_INCLUDES) to the list. - - * UMFPACK: New directory. - * UMFPACK.patch, UMFPACK.README, UMFPACK.files, UMFPACK.rules: - New files. - * Makefile.in: Include UMFPACK.files and UMFPACK.rules. - (SOURCES): Add $(UMFPACK_SOURCES) to the list. - (LIBOCTAVE_OBJECTS): Add $(UMFPACK_OBJECTS) to the list. - (INCLUDES): Add $(UMFPACK_INCLUDES) to the list. - - * Makefile.in (SPARSE_MX_OP_INC): New variable. - (INCLUDES): Add it to the list. - (SPARSE_MX_OP_SRC): New variable. - (LIBOCTAVE_CXX_SOURCES): Add it to the list. - (distclean): Remove $(SPARSE_MX_OP_INC) and $(SPARSE_MX_OP_SRC). - (stamp-prereq): Depend on $(SPARSE_MX_OP_INC) and $(SPARSE_MX_OP_SRC). - - * sparse-mk-ops.awk, sparse-mx-ops: New files. - * Makefile.in (DISTFILES): Add them to the lists. - - * oct-spparms.h, sparse-sort.h: New files. - * Makefile.in (INCLUDES): Add them to the list. - - * oct-spparms.cc, sparse-sort.cc: New files. - * Makefile.in (LIBOCTAVE_CXX_SOURCES): Add them to the list. - - * sparse-base-lu.cc: New file. - * Makefile.in (TEMPLATE_SRC): Add it to the list. - - * boolSparse.cc, CSparse.cc, dSparse.cc, MSparse.cc, Sparse.cc, - SparseCmplxDET.cc, SparseCmplxLU.cc, SparsedbleDET.cc, - SparsedbleLU.cc: New files. - * Makefile.in (MATRIX_SRC): Add them to the list. - - * boolSparse.h, CSparse.h, dSparse.h, MSparse-defs.h, MSparse.h, - Sparse.h, oct-spparms.h, sparse-base-lu.h, SparseCmplxDET.h, - SparseCmplxLU.h, SparsedbleDET.h, SparsedbleLU.h, - Sparse-op-defs.h: New files. - * Makefile.in (MATRIX_INC): Add them to the appropriate lists. - - * MSparse-d.cc, MSparse-C.cc, Sparse-b.cc, Sparse-d.cc, - Sparse-C.cc: New files. - * Makefile.in (TI_SRC): Add them to the list. - -2005-02-18 John W. Eaton - - * file-ops.cc (file_ops::canonicalize_file_name) [HAVE_RESOLVEPATH]: - Pass current directory to octave_env::make_absolute. - Save value returned from octave_env::make_absolute in local var. - Pass const char*, not std::string as first arg of resolvepath. - Provide decl for resolved_len. - -2005-02-18 John W. Eaton - - * Array.cc (Array::permute): Allow permutation vector longer - than number of dimenensions of permuted matrix. - - * Array.cc (Array::permute): Use zero-based indexing for perm_vec. - * Array-util.cc (calc_permutated_idx): Likewise. - -2005-02-10 David Bateman - - * CNDArray.cc (ComplexNDarray::operator !): Change sense of test. - * CMatrix.cc (ComplexMatrix::operator !): Likewise. - -2005-02-09 John W. Eaton - - * file-ops.cc (file_ops::canonicalize_file_name): New functions. - * file-ops.h: Provide decls. - - * kpse.cc (kpse_tilde_expand): Simply return NAME if it is empty. - -2005-02-08 John W. Eaton - - * Array-util.cc (freeze): Improve error message. - -2005-01-26 David Bateman - - * Array.cc (Array::insert): Handle generic case, not just - special case for fast concatenation. - -2005-01-18 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Delete RET_ELT_TYPE arg. - Change all uses. Use VAL instead of RET_ELT_TYPE when resizing. - - * dNDArray.cc (NDArray::any): NaN does not count as a nonzero value. - * CNDArray.cc (ComplexNDArray::any): Likewise. - -2005-01-18 David Bateman - - * Array.cc (Array::insert (const Array&, const Array&)): - Modify calculation of number elements to skip between copied blocks. - -2005-01-18 John W. Eaton - - * idx-vector.cc (IDX_VEC_REP::freeze): Call warning handler, not - error handler, to warn about resizing. - -2004-12-27 Martin Dalecki - - * Array.cc, ArrayN.cc, base-lu.cc, boolMatrix.cc, boolNDArray.cc, - Bounds.cc, CColVector.cc, CDiagMatrix.cc, chMatrix.cc, - chNDArray.cc, CMatrix.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, - CmplxDET.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, - CmplxSCHUR.cc, CmplxSVD.cc, CNDArray.cc, CollocWt.cc, - CRowVector.cc, DASPK.cc, DASRT.cc, DASSL.cc, dbleAEPBAL.cc, - dbleCHOL.cc, dbleDET.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, - dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc, dColVector.cc, - dDiagMatrix.cc, DiagArray2.cc, dMatrix.cc, dNDArray.cc, - dRowVector.cc, EIG.cc, FEGrid.cc, idx-vector.cc, int16NDArray.cc, - int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, intNDArray.cc, - LinConst.cc, LPsolve.cc, LSODE.cc, MArray2.cc, MArray.cc, - MArrayN.cc, MDiagArray2.cc, NLEqn.cc, oct-alloc.cc, ODES.cc, - ODESSA.cc, Quad.cc, Range.cc, so-array.cc, uint16NDArray.cc, - uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: - Delete #pragma implementation. - - * Array2.h, Array3.h, Array.h, ArrayN.h, base-lu.h, boolMatrix.h, - boolNDArray.h, Bounds.h, CColVector.h, CDiagMatrix.h, chMatrix.h, - chNDArray.h, CMatrix.h, CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, - CmplxHESS.h, CmplxLU.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, - CmplxSVD.h, CNDArray.h, CollocWt.h, CRowVector.h, DASPK.h, - DASRT.h, DASSL.h, dbleAEPBAL.h, dbleCHOL.h, dbleDET.h, dbleHESS.h, - dbleLU.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, - dColVector.h, dDiagMatrix.h, DiagArray2.h, dim-vector.h, - dMatrix.h, dNDArray.h, dRowVector.h, EIG.h, FEGrid.h, - idx-vector.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, - int8NDArray.h, intNDArray.h, LinConst.h, LPsolve.h, LSODE.h, - MArray2.h, MArray.h, MArrayN.h, MDiagArray2.h, NLConst.h, NLEqn.h, - ODES.h, ODESSA.h, Quad.h, Range.h, so-array.h, uint16NDArray.h, - uint32NDArray.h, uint64NDArray.h, uint8NDArray.h: - Delete #pragma interface. - -2004-12-17 John W. Eaton - - * lo-cieee.c (lo_ieee_signbit): New function. - * lo-ieee.h: Provide decl. - Don't define lo_ieee_signbit as a macro here. - From Orion Poplawski . - -2004-11-18 John W. Eaton - - * int32NDArray.cc (pow): Delete instantiation. - * int16NDArray.cc (pow): Likewise. - * int8NDArray.cc (pow): Likewise. - * uint32NDArray.cc (pow): Likewise. - * uint16NDArray.cc (pow): Likewise. - * uint8NDArray.cc (pow): Likewise. - -2004-11-17 John W. Eaton - - * kpse.cc (str_llist_float, str_llist_add, kpse_var_expand): - Now static. - (DB_ENVS, DB_HASH_SIZE, DB_NAME, ALIAS_NAME, ALIAS_HASH_SIZE, - DEFAULT_TEXMFDBS): Delete unused macros. - - * Array.cc (Array::index): Call generic N-d indexing function - if idx_arg is N-d. - -2004-11-09 David Bateman - - * dNDArray.cc (concat): Delete. - (NDArray::concat): New methods. - * dNDArray.h: Provide decls. - - * CNDArray.cc (concat): Delete. - (ComplexNDArray::concat): New methods. - * CNDArray.h: Provide decls. - - * boolNDArray.cc (concat): Delete. - (boolNDArray::concat): New methods. - * boolNDArray.h: Provide decls. - - * chNDArray.cc (concat): Delete. - (charNDArray::concat): New methods. - * chNDArray.h: Provide decls. - - * oct-inttypes.h (OCTAVE_INT_CONCAT_FN, OCTAVE_INT_CONCAT_DECL): - Delete macros. - - * int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, - uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h - (OCTAVE_INT_CONCAT_DECL): Delete use of macro. - - * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, - uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc - (OCTAVE_INT_CONCAT_FN): Delete use of macro. - - * intNDArray.cc (intNDArray::concat): New method. - * intNDArray.h: Provide decl. - -2004-11-08 John W. Eaton - - * oct-inttypes.cc: New file. - * Makefile.in (TI_SRC): Add it to the list. - * oct-inttypes.h (OCTAVE_US_TYPE1_CMP_OP, OCTAVE_US_TYPE1_CMP_OPS, - OCTAVE_SU_TYPE1_CMP_OP, OCTAVE_SU_TYPE1_CMP_OPS, - OCTAVE_TYPE1_CMP_OPS, OCTAVE_US_TYPE2_CMP_OP, - OCTAVE_US_TYPE2_CMP_OPS, OCTAVE_SU_TYPE2_CMP_OP, - OCTAVE_SU_TYPE2_CMP_OPS, OCTAVE_TYPE2_CMP_OPS): - New macros for comparison operations. Avoid potential - problems with default conversions when comparing signed and - unsigned values. - -2004-11-03 John W. Eaton - - * dMatrix.cc (Matrix::inverse): Return info == -1 for any failure. - * CMatrix.cc (ComplexMatrix::inverse): Likewise. - -2004-10-19 John W. Eaton - - * Array.cc (assignN): Avoid resizing if assignment will fail. - -2004-10-18 John W. Eaton - - * Array.cc (assign2): Save result of squeeze operation. - Squeeze if ndims is > 2, not if length of RHS vector is > 2. - -2004-10-11 David Bateman - - * oct-fftw.cc (class octave_fftw_planner): Add inplace[2] to - flag whether transform in- or out-of-place. - (octave_fftw_planner::octave_fftw_planner): Initialize it. - (octave_fftw_planner::create_plan): Use it. - -2004-09-24 John W. Eaton - - * Array.cc (assign2, assignN): If index is empty, allow RHS to be - any empty matrix, not just []. - -2004-09-23 John W. Eaton - - * mx-ops: Include scalar zero value in type definitions. - Delete zero information from ops section. - * mk-ops.awk: Use type-specific zero info. - - * mx-op-defs.h (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, - SND_BOOL_OP, NDND_BOOL_OP): Args now include zero values for both - LHS and RHS. - (MS_BOOL_OPS2, SM_BOOL_OPS2, MM_BOOL_OPS2, NDS_BOOL_OPS2, - SND_BOOL_OPS2, NDND_BOOL_OPS2): New macros. - (MS_BOOL_OPS, SM_BOOL_OPS, MM_BOOL_OPS, NDS_BOOL_OPS, - SND_BOOL_OPS, NDND_BOOL_OPS): Define in terms of 2-zero versions. - - * idx-vector.h (idx_vector::idx_vector_rep::idx_vector_rep (const - intNDArray&)): Use explicit as_double () conversion in call to - tree_to_mat_idx. - - * oct-inttypes.h (octave_int::operator float): New conversion. - (pow): Instead of "if (b_val)", use "if (b_val != zero)". - Likewise for the "if (b_val & one)" test. - (operator <<, operator >>): Type of retval is octave_int, not T1. - -2004-09-23 David Bateman - - * oct-inttypes.h (OCTAVE_INT_DOUBLE_CMP_OP, OCTAVE_DOUBLE_INT_CMP_OP): - New macros. Use them to define mixed intX-double and double-intX ops. - -2004-09-22 Federico Zenith - - * DASPK-opts.in, DASRT-opts.in, ODESSA-opts.in: - Fix doc string layout to avoid overfull hbox in printed output. - -2004-09-21 John W. Eaton - - * mach-info.h (octave_mach_info::flt_fmt_native): Delete. - * mach-info.cc (octave_mach_info::string_to_float_format): - For "native", set actual native format. - (octave_mach_info::float_format_as_string): Delete flt_fmt_native case. - -2004-09-17 David Bateman - - * CmplxSCHUR.cc (CmplxSCHUR::init): New arg, calc_unitary to make the - calculation of the unitary matrix optional. - * dbleSCHUR.cc (SCHUR::init): Ditto. - * CmplxSCHUR.h, dbleSCHUR.h: Update decls. - -2004-09-15 David Bateman - - * oct-sort.h (octave_sort::set_compare (bool (*comp) (T, T))): - New function to set the comparison function for the sort. - -2004-09-10 John W. Eaton - - * lo-mappers.cc (xround): Fix typo. - -2004-09-08 John W. Eaton - - * Array.h (Array::~Array): Declare virtual. - - * idx-vector.h (idx_vector::idx_vector): Initialize rep in member - initializaion list. Don't set rep->count since the rep - constructor does that. - -2004-09-07 John W. Eaton - - * data-conv.cc (oct_data_conv::string_to_data_type): Handle dt_logical. - (oct_data_conv::data_type_as_string): Likewise. - - * data-conv.h (oct_data_conv::data_type): Add dt_logical to list. - - * Range.cc (round): Delete unused function. - - * lo-mappers.cc (xround): Rename from round. Change all uses. - If HAVE_ROUND, call round, otherwise fake with floor and ceil. - - * oct-inttypes.h: Include here. - -2004-09-03 David Bateman - - * boolNDArray.cc (boolNDArray::concat, boolNDArray::insert): - New functions for boolean matrix concatenation. - * boolNDArray.h: Provide decls. - -2004-09-03 John W. Eaton - - * oct-inttpes.h (OCTAVE_INT_CMP_OP): Convert operarands to double - to avoid signed/unsigned int comparison problems. - - * mx-ops: Generate CMP and BOOL ops for mixed integer types and - for mixed integer and double types. - - * mk-ops.awk: Output BIN_OP_DECLS, CMP_OP_DECLS, and BOOL_OP_DECLS - separately, and only if needed. - - * oct-inttypes.h (octave_fit_to_range): Use constructor instead of - static_cast for type conversion. - -2004-09-01 John W. Eaton - - * oct-inttypes.h (pow, operator +, operator -, operator *, - operator /): Handle mixed integer/double ops. If op generates a - NaN, set result to 0. - (octave_int::operator - (void)): Convert to double, then negate, - then fit to range. - - * mx-ops: Define integer types. Include declarations for mixed - integer/double ops. - -2004-08-31 John W. Eaton - - * oct-inttypes.h (pow): Args now const reference. - (octave_int::operator *=, octave_int::operator /=, - octave_int::operator <<=, octave_int::operator >>=): - New member functions. - (OCTAVE_INT_BITSHIFT_OP): Delete macro. - (operator >> (const octave_int& x, const T2& y)): - Define in terms of >>=. - (operator << (const octave_int& x, const T2& y)): - Define in terms of <<=. - (bitshift): Operate on octave_int objects, not the values, so - we get proper saturation properties. - -2004-08-31 David Bateman - - * oct-inttypes.h (pow (constT, T)): New template. - - * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, uint8NDArray.cc, - uint16NDArray.cc, uint32NDArray.cc: Instantiate power function. - -2004-08-31 John W. Eaton - - * oct-inttypes.h (octave_int::byte_size): New function. - -2004-08-31 John W. Eaton - - * Makefile.in (EXTRAS): Add intNDArray.cc to the list. - - * data-conv.h (oct_data_conv::data_type): Include sized types. - Explicitly number enum elements. - - * data-conv.cc (oct_data_conv::string_to_data_type (const - std::string&, int&, oct_data_conv::data_type&, - oct_data_conv::data_type&)): New function. - (oct_data_conv::string_to_data_type (const std::string&, int&, - oct_data_conv::data_type&)): New function. - (oct_data_conv::data_type_as_string): New function. - - * dMatrix.cc (read_int, do_read, Matrix::read): Delete. - (write_int, do_write, Matrix::write): Delete. - * dMatrix.h (Matrix::read, Matrix::write): Delete decls. - - * byte-swap.h: Use template functions and specialization. - Change all uses. - (swap_2_bytes, swap_4_bytes, swap_8_bytes): Delete. - -2004-08-30 John W. Eaton - - * oct-inttypes.h (octave_int_fit_to_range): Use template - specializations to avoid warnings about signed/unsigned comparisons. - -2004-08-28 John W. Eaton - - * data-conv.cc (do_float_format_conversion (unsigned char *, - size_t, int, oct_mach_info::float_format)): New function. - (GET_SIZED_INT_TYPE): New macro. - (string_to_data_type): Use it to return sized types corresponding - to Octave array data types. - (strip_spaces): New function. - (do_double_format_conversion, do_float_format_conversion): Pass - from_fmt and to_fmt. Don't always assume the to_fmt is the native - float format. - (do_double_format_conversion, - IEEE_big_double_to_IEEE_little_double, - VAX_D_double_to_IEEE_little_double, - VAX_G_double_to_IEEE_little_double, Cray_to_IEEE_little_double, - IEEE_little_double_to_IEEE_big_double, - VAX_D_double_to_IEEE_big_double, VAX_G_double_to_IEEE_big_double, - Cray_to_IEEE_big_double, IEEE_little_double_to_VAX_D_double, - IEEE_big_double_to_VAX_D_double, VAX_G_double_to_VAX_D_double, - Cray_to_VAX_D_double, IEEE_little_double_to_VAX_G_double, - IEEE_big_double_to_VAX_G_double, VAX_D_double_to_VAX_G_double, - Cray_to_VAX_G_double): - Pass data as void*, not double*. - (do_float_format_conversion, IEEE_big_float_to_IEEE_little_float, - VAX_D_float_to_IEEE_little_float, - VAX_G_float_to_IEEE_little_float, Cray_to_IEEE_little_float, - IEEE_little_float_to_IEEE_big_float, - VAX_D_float_to_IEEE_big_float, VAX_G_float_to_IEEE_big_float, - Cray_to_IEEE_big_float, IEEE_little_float_to_VAX_D_float, - IEEE_big_float_to_VAX_D_float, VAX_G_float_to_VAX_D_float, - Cray_to_VAX_D_float, IEEE_little_float_to_VAX_G_float, - IEEE_big_float_to_VAX_G_float, VAX_D_float_to_VAX_G_float, - Cray_to_VAX_G_float): - Pass data as void*, not float*. - -2004-08-27 John W. Eaton - - * byte-swap.h (swap_bytes): New template versions, with - specializations. - (swap_2_bytes, swap_4_bytes, swap_8_bytes): Delete. - Change all uses. - -2004-08-24 David Bateman - - * chNDArray.cc (concat): Check whether matrix to be inserted is - empty instead of checking final matrix. - * dNDArray.cc (concat): Likewise. - * CNDArray.cc (concat): Likewise. - -2004-08-23 David Bateman - - * dim-vector.h (dim_vector::concat): Correct incrementation for - non-existent dimensions. - -2004-08-09 John W. Eaton - - * idx-vector.h (idx_vector::idx_vector_rep::tree_to_mat_idx - (const octave_int&)): New member function. - (idx_vector::idx_vector_rep::tree_to_mat_idx (double, bool&), - idx_vector::idx_vector_rep::tree_to_mat_idx (int)): - Now member functions instead of static in idx-vector.cc. - (idx_vector::idx_vector_rep::idx_vector_rep (const octave_int&), - idx_vector::idx_vector_rep::idx_vector_rep (const intNDArray&)): - New template constructors. - -2004-08-05 John W. Eaton - - * EIG.cc (EIG::init): Add volatile qualifier to nvr decl. - - * intNDArray.cc (intNDArray::operator !, intNDArray::all, - intNDArray::any): Sprinkle with this-> as needed. - * mx-inlines.cc (MX_ND_REDUCTION, MX_ND_CUMULATIVE_OP): Likewise. - -2004-08-03 John W. Eaton - - * Array.cc (Array::squeeze): Do nothing for 2-d arrays. For - arrays with more than two dimensions and only one non-singleton - dimension, return a column vector. - -2004-07-28 John W. Eaton - - * oct-cmplx.h (pow (const Complex&, const double&): - Convert second arg to complex to avoid libstdc++ bug. - -2004-07-27 John W. Eaton - - * oct-inttypes.h (bitshift): New arg, MASK. - (OCTAVE_INT_BITSHIFT_OP): Bitshift does not saturate. - -2004-07-23 John W. Eaton - - * Array.cc (Array::reshape): Return *this if no change in size. - -2004-07-23 David Bateman - - * Array.cc, Array.h (cat_ra): Delete. - * Array.h, Array-C.cc, Array-d.cc, Array-ch.cc, Array-i.cc - (INSTANTIATE_ARRAY_CAT): Delete. - - * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, - chNDArray.h, intNDArray.cc, intNDArray.h (cat): Delete. - - * Array.cc (Array::insert): Copy data in NDArray version. - - * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, - chNDArray.h (concat): New function used for concatenation that does - an indexed copy of one array into another. - - * dim-vector.h (concat): New function to concatenate dim_vectors. - - * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, - chNDArray.h, intNDArray.cc, intNDArray.h (insert): New function for - insertion of one NDArray into another. - - * oct-inttype.cc (OCTAVE_INT_CONCAT_FN, OCTAVE_INT_CONCAT_DECL): New - macros to define the int/uint concatenation functions. - - * uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc - int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc - (OCTAVE_INT_CONCAT_FN): Instantiate the concatenation function . - - * uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h - int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h - (OCTAVE_INT_CONCAT_DECL): Declare the int/uint concatentaion - functions. - -2004-07-22 David Bateman - - * oct-sort.h: Don't include oct-obj.h. - - * lo-specfun.cc (is_integer_value): New function. - (zbesj, zbesi, zbesy): Special case negative integer or half - integer orders that cause overflow for small arguments. - -2004-07-12 John W. Eaton - - * oct-inttypes.h (octave_int::nbits): New function. - (bitshift (const octave_int&, int)): New function. - -2004-06-14 John W. Eaton - - * mx-base.h: Include headers for new int types. - - * dNDArray.h, dNDArray.cc (NDArray::NDArray (const boolNDArray&), - NDArray::NDArray (const charNDArray&)): Delete. - (template explicit NDArray (const intNDArray&)): New - constructor. - (NDArray::squeze): Call MArrayN::squeeze, not ArrayN::squeeze. - - * chMatrix.h (CharMatrix::transpose): New forwarding functions for - return type conversion. - - * ComplexNDArray.h, ComplexNDArray.cc - (ComplexNDArray::ComplexNDArray (const ArrayN&), - (ComplexNDArray::ComplexNDArray (const NDArray&), - (ComplexNDArray::ComplexNDArray (const boolNDArray&), - (ComplexNDArray::ComplexNDArray (const charNDArray&)): Delete. - - (ComplexNDArray::squeze): Call MArrayN::squeeze, not ArrayN::squeeze. - - * MArrayN.h: - (template explicit MArrayN::MArrayN (const Array2&), - (template MArrayN::MArrayN (const ArrayN&), - (template explicit MArrayN::MArrayN (const MArray&)): - New constructors. - (ArrayN::reshape, ArrayN::permute, ArrayN::ipermute, - ArrayN::squeeze): - New forwarding functions for return type conversion. - - * ArrayN.h: - (template explicit ArrayN::ArrayN (const Array2&), - (template explicit ArrayN::ArrayN (const ArrayN&), - (template explicit ArrayN::ArrayN (const Array&), - (template explicit ArrayN::ArrayN (const Array&, - const dim_vector&)): New constructors. - (ArrayN::reshape, ArrayN::permute, ArrayN::ipermute, - ArrayN::transpose): - New forwarding functions for return type conversion. - - * Array.h (template Array::Array (const Array&)): - New constructor. - (Array::coerce, Array::byte_size): New functions. - - * Array-i.cc, MArray-i.cc: Instantiate new integer types. - - * oct-inttypes.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, - int8NDArray.h , intNDArray.h, uint16NDArray.h, uint32NDArray.h, - uint64NDArray.h, uint8NDArray.h, int16NDArray.cc, int32NDArray.cc, - int64NDArray.cc, int8NDArray.cc, intNDArray.cc, uint16NDArray.cc, - uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2004-06-04 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): New arg, RET_ELT_TYPE. Use - "RET_ELT_TYPE ()" rather than "false" as fill value for retval - resize op. Change all uses. - -2004-06-03 David Bateman - - * Array.cc (assignN): Allow magic colon for dimensions lvalue - greater than the existing number of dimensions in lvalue. - -2004-04-30 David Bateman - - * dim_vector.h (dim_vector::dim_vector_rep::dim_vector_rep): - New arg, fill_value. - (dim_vector::resize): Allow optional fill_value argument. - - * Array.cc (Array::index (Array&, int, const T&)): - Don't chop trailing dimensions of Array if there is - more than one element in idx_vector. Resize the return value to - the size of Array. - - * Array-util.cc (short_freeze): Better freeze of last dimension of - idx_vector that is shorter than a dim_vector. - -2004-04-23 John W. Eaton - - * oct-sort.cc: Don't include oct-obj.h. - -2004-04-22 John W. Eaton - - * Array.cc (Array::index2, Array::indexN): - Don't set invalid dimensions on return value. - -2004-04-21 John W. Eaton - - * mx-inlines.cc (MX_ND_REDUCTION): Chop trailing singletons. - -2004-04-06 David Bateman - - * Array.cc (Array::resize_no_fill (const dim_vector& dv), - Array::resize_and_fill (const dim_vector& dv, const T& val)): - Make their behavior equivalent except for filling vs. not filling. - - * oct-sort.cc: New template class for arbitrary sorting. - * oct-sort.h: Declaration of sort class. - * Makefile: Add them to the appropriate lists. - -2004-04-02 John W. Eaton - - * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Fix off-by-one error. - -2004-04-02 David Bateman - - * lo-specfun.cc (besselj, bessely, besseli, besselk, besselh1, - besselh2, airy, biry, betainc, gammainc, do_bessel): - New N-d array versions. - (SN_BESSEL, NS_BESSEL, NN_BESSEL): New macros. - * lo-specfun.h (besselj, bessely, besseli, besselk, besselh1, - besselh2, airy, biry, betainc, gammainc): Provide decls. - - * dNDArray.cc (NDArray::min, NDArray::max, min, max): - New functions. - * dNDArray.h (NDArray::min, NDArray::max, min, max): Provide decls. - - * CNDArray.cc (ComplexNDArray::min, ComplexNDArray::max, min, max): - New functions. - * CNDArray.h (ComplexNDArray::min, ComplexNDArray::max, min, max): - Provide decls. - -2004-03-17 David Hoover - - * DASPK.cc (DASPK::do_integrate): Always add n*n elements to the - work vector, not just when using a numerical Jacobian. - -2004-03-11 John W. Eaton - - * so-array.cc (SND_CMP_OP, NDS_CMP_OP, NDND_CMP_OP): - Omit empty result args. - - * Array.cc (Array::Array (const Array&, const dim_vector&)): - Move here from Array.h, check that size of array arg is not - smaller than the size defined by the new dimensions. - -2004-03-10 John W. Eaton - - * Array.cc (Array::index2): Allow result to be N-d if indexing - a scalar or vector with an N-d array. - -2004-03-09 John W. Eaton - - * Array.cc (Array::index2): If scalar or vector is indexed by - matrix, return object that is the same size as the index. - - * mx-op-defs.h (NDND_CMP_OP, MM_CMP_OP): Require dimensions to agree. - Eliminate MT_RESULT args. Return value is always size of args. - (MS_CMP_OP, SM_CMP_OP, NDS_CMP_OP, SND_CMP_OP): - Eliminate EMPTY_RESULT arg. - Return value is always size of matrix or N-d array arg. - (TBM, FBM, NBM): Delete unused macros. - -2004-03-05 John W. Eaton - - * Array.cc (Array::maybe_delete_elements): Return immediately - if all LHS dimensions are zero. For one index case, freeze and - sort idx_vec before checking length, and do nothing if - num_to_delete is zero. - (Array::maybe_delete_elements_2): Omit Fortran-indexing warning. - -2004-03-04 David Bateman - - * dNDArray.cc (NDArray::ifourier): Arg is int, not const int. - * CNDArray.cc (ComplexNDArray::ifourier): Likewise. - -2004-03-03 Hans Ekkehard Plesser - - * base-lu.cc (base_lu<>::L): Check bounds before setting diagonal - element. - -2004-03-03 John W. Eaton - - * Range.h (Range::Range): Add cache to member initialization list. - (Range::clear_cache): New private function. - - * Range.h (Range::set_base, Range::set_limit, Range::set_inc): - Use clear cache. Don't do anything if range does not change. - * Range.cc (Range::sort): Likewise. - -2004-03-02 Paul Kienzle - - * Range.cc (Range::matrix_value): Cache result. - (Range::sort): Clear cache. - * Range.h (Range::cache): New data member. - (Range::set_base, Range::set_limit, Range::set_inc): Clear cache. - (Range::print_range): Delete. - -2004-03-02 David Bateman - - * oct-fftw.cc: Only two versions of plan, and avoid endless - changes between them. Faster for small fft's. - (octave_fftw_planner::simd_align, octave_fftw_planner::rsimd_align): - New member variables. - (octave_fftw_planner::ialign, octave_fftw_planner::oalign, - octave_fftw_planner::rialign, octave_fftw_planner::roalign): Delete. - Change all uses. - (CHECK_SIMD_ALIGNMENT): New macro. - (octave_fftw_planner::create_plan): Use it. - -2004-03-01 Petter Risholm - - * Array.cc (Array::insertN): Eliminate N-d indexing. - - * mx-inlines.cc (MX_ND_CAT): Delete macro. - - * dNDArray.h, chNDArray.h, CNDArray.h (cat): Change declaration. - * dNDArray.cc (NDArray::cat): Call new form of cat function. - * chNDArray.cc (charNDArray::cat): Ditto. - * CNDArray.cc (ComplexNDArray::cat): Ditto. - - * Array.h (cat_ra): Return int. Accept idx and move args, not add_dim. - * Array.cc (cat_ra): Speed up implementation by avoiding N-d indexing. - -2004-02-24 John W. Eaton - - * oct-rl-edit.c (octave_rl_set_startup_hook, - octave_rl_get_startup_hook, octave_rl_set_event_hook, - octave_rl_get_event_hook): Omit casts. - * oct-rl-edit.h (rl_startup_hook_fcn_ptr, rl_event_hook_fcn_ptr): - Return value for function pointer typedef is now int. - * cmd-edit.h (command_editor::startup_hook_fcn, - command_editor::event_hook_fcn): Likewise. - * cmd-hist.cc, cmd-hist.h (command_history::goto_mark, - command_history::do_goto_mark, gnu_history::do_goto_mark): - Return type is now int. Return 0. - - * EIG.cc (EIG::init, EIG::symmetric_init): - Query Lapack for workspace size. - -2004-02-23 John W. Eaton - - * Array.cc (Array::resize_and_fill (const dim_vector&, const T&)): - Fix thinko in extending dimensions. - -2004-02-20 John W. Eaton - - * Range.cc (Range::matrix_value, Range::min, Range::max): - Don't compute values beyond the limits of the range. - (operator << (std::ostream&, const Range&)): Likewise. - -2004-02-18 John W. Eaton - - * oct-fftw.cc (octave_fftw_planner::create_plan): - Cast IN and OUT args to ptrdiff_t instead of long before masking. - From Paul Kienzle . - - * Array.cc (Array::insertN (const Array&, int, int)): - Rename from Array::insert. - (Array::insert2 (const Array&, int, int)): - Reinstate old Array::insert function under this name. - (Array::insert (const Array&, int, int)): - New function. Dispatch to insert2 or insertN as appropriate. - -2004-02-17 John W. Eaton - - * oct-fftw.cc (convert_packcomplex_1d, convert_packcomplex_Nd): - Sprinkle with OCTAVE_QUIT. - -2004-02-16 David Bateman - - * oct-fftw.cc (octave_fftw_planner::create_plan, octave_fftw::fftNd): - Add support for FFTW 3.x. Include the ability to - use the real to complex transform for fft's of real matrices - (octave_fftw_planner::create_plan2d): Delete. - (octave_fftw::fft2d): Delete. - (convert_packcomplex_1d, convert_packcomplex_Nd): - New static functions. - * oct-fftw.h: Update decls. - - * dMatrix.cc (Matrix::fourier, Matrix::ifourier, - Matrix::fourier2d, Matrix::ifourier2d): FFT's use real to complex - transforms. 1D FFT of a matrix done as single call rather than - loop. Update for FFTW 3.x - * CMatrix.cc (ComplexMatrix::fourier, ComplexMatrix::ifourier, - ComplexMatrix::fourier2d, ComplexMatrix::ifourier2d): 1D fft of a - matrix done as single call rather than loop. Update for FFTW 3.x. - - * dNDArray.cc (NDArray::fourier, NDArray::ifourier, - NDArray::fourierNd, NDArray::ifouriourNd): New fourier transform - functions for Nd arrays. - * dNArray.h Provide decls. - * CNDArray.cc (ComplexNDArray::fourier, ComplexNDArray::ifourier, - ComplexNDArray::fourierNd, ComplexNDArray::ifouriourNd): New - fourier transform functions for complex Nd arrays. - * CNArray.h: Provide decls. - -2004-02-15 Petter Risholm - - * Array.cc (Array::insert (const Array&, int, int)): - Make it work for N-d arrays. - - * ArrayN.h (ArrayN::insert (const ArrayN& a, int, int)): - New function. - - * CNDArray.cc (ComplexNDArray::insert (const NDArray&, int, int), - ComplexNDArray::insert (const ComplexNDArray&, int, int)): - New functions. - * CNDArray.h: Provide decls. - -2004-02-14 John W. Eaton - - * Makefile.in (LINK_DEPS): Always define. - - * Array.cc (Array::squeeze): Always return an array with at - least two dimensions. - -2004-02-13 Petter Risholm - - * mx-inlines.cc (MX_ND_CAT): New macro. - * dNDArray.cc (NDArray::cat): New function. - * dNDArray.h: Provide decls. - * CNDArray.cc (complexNDArray::cat): New function. - * CNDArray.h: Provide decls. - * chNDArray.cc (charNDArray::cat): New function. - * chNDArray.h: Provide decls. - -2004-02-13 John W. Eaton - - * Array.cc (maybe_delete_elements_2): Allow X(n) = [] for 2-d X. - (Arrayassign2): Also call maybe_delete_elements for single - index when rows and columns or LHS are both greater than 1. - -2004-02-13 Petter Risholm - - * Array.cc (Array::maybe_delete_elements): - Check for index out of bounds. Handle one index. - - * Array.cc (Array::indexN): Use dim_vector (0, 0) instead of - dim_vector (0) to create empty return vector. - -2004-02-07 John W. Eaton - - * Array.cc (Array::assignN): Don't crash if trying to resize a - non-empty LHS when the number of lhs dimensions is less than the - number of indices. Detect error if attempting to resize non-empty - LHS with colon indices. - -2004-02-06 John W. Eaton - - * Array.cc (Array::resize_and_fill): Don't bother to assign any - values unless the length of the new array is greater than 0. - (Array::resize_no_fill): Likewise. - - * Array-util.cc (index_in_bounds): Also return false if ra_idx(i) - is equal to dimensions(i). - - * Array-util.h, Array-util.cc (equal_arrays, any_zero_len, - get_zero_len_size, number_of_elements): - Delete unused functions. - - * Array-util.cc (get_ra_idx): Use dim_vector::numel instead of - number_of_elements function. - * Array.cc (Array::indexN): Likewise. - - * Array.cc (Array::indexN): Use dim_vector::operator == instead - of equal_arrays function. - (Array::index, Array::indexN, Array::assignN) Use - dim_vector::any_zero instead of any_zero_len function. - - * Array.cc (Array::assignN): Eliminate special case for empty index. - Don't skip reshaping and resizing if RHS is empty. - - * Array.cc (Array::assignN): Simplify loop for array assignment. - Move body of MAYBE_RESIZE_ND_DIMS here since it is only used once. - Delete unused variables is_colon and is_colon_equiv. - Correctly resize for expressions like x(:,:,2) = ones(3,3) when - LHS is not yet defined. - Error for resizing if number of indices is less than number of LHS - dimensions. - - * Array.cc (Array::maybe_delete_elements): Maybe warn about - Fortran-style indexing. - -2004-02-05 John W. Eaton - - * Array.cc (Array::assignN): Simplify. - Allow assignments to succeed if number if indices is less than the - number of RHS dimensions. - -2004-02-05 Petter Risholm - - * Array.cc (Array::maybe_delete_elements): Reshape LHS - when number of indices is less than number of dimensions. - - * Array.cc (Array::assignN, Array::maybe_delete_elements): - Remove unsued variable lhs_inc. - - * Array.cc (Array::maybe_delete_elements): Declare idx_is_colon - and idx_is_colon_equiv Array instead of dim_vector. - - * Array.cc (Array::assignN): Compute new dims in a cleaner way. - - * Array.cc (Array::index): Check for frozen_lengths.length () - == n_dims before checking to see if all indices are colon_equiv. - -2004-02-05 John W. Eaton - - * Array.cc (Array::assignN): Require RHS == 0x0 matrix for - deleting elements. - (Array::index): Remove trailing singletons in ra_idx, but leave - at least ndims elements. - -2004-02-05 Petter Risholm - - * Array.cc (Array::assignN): Accept assignment of a vector - oriented differently from the index. - - * dim-vector.h (dim_vector::squeeze): Return value always has at - least two dimensions. - -2004-02-04 John W. Eaton - - * dim-vector.h (dim_vector::squeeze): New function. - (Array::assignN): Use it instead of chop_trailing_singltons for - deciding whether the assignment conforms. - - * Array.cc (Array::assignN): Simplify dimension check by - comparing rhs_dims and frozen_len sans trailing singletons. - -2004-02-03 John W. Eaton - - * idx-vector.cc (tree_to_mat_idx): New arg, conversion_error. - Call error handler and return conversion_error == true if arg is - not integer. - (IDX_VEC_REP::idx_vector_rep): Exit early if conversion_error. - -2004-02-02 John W. Eaton - - * boolNDArray.h (boolNDArray::boolNDArray): Declare dim_vector - reference arg const. - -2004-01-30 John W. Eaton - - * Array-flags.cc: Include Array-flags.h, not Array.h. Doh. - -2004-01-30 Jakub Bogusz - - * Array-flags.h (liboctave_wfi_flag, liboctave_wrore_flag): - Now bool, to match definition in Array-flags.cc. - -2004-01-23 John W. Eaton - - * file-ops.cc: Include instead of for new - definition of OCTAVE_LOCAL_BUFFER. - - * EIG.cc, EIG.h (EIG::init, EIG::symmetric_init, EIG::hermitian_init): - New arg, calc_eigenvectors. - * EIG.h (EIG:EIG): New optional arg, calc_eigenvectors. - Based on patch from David Bateman . - -2004-01-22 John W. Eaton - - * Array.cc (Array::assign2, Array::assignN): - For X(I) = RHS, don't restrict I to fewer elements than X. - - * Array.cc (Array::assign2): Simplify indexing for X(I) = RHS case. - -2004-01-22 Petter Risholm - - * mx-inlines.cc (MX_ND_REDUCTION, MX_ND_CUMULATIVE_OP): - Simplify calculation of number of elements in retval. - - * Array.cc (Array::assignN): Eliminate unnecessray code for - filling when RHS is scalar and dimension lengths agree. - -2004-01-22 John W. Eaton - - * Makefile.in (distclean): Remove mx-ops.h, $(MX_OP_INC), - $(VX_OP_INC), $(MX_OP_SRC), $(VX_OP_SRC), and $(OPTS_INC). - -2004-01-22 Petter Risholm - - * Array.cc (Array::resize_and_fill): Correctly copy old elements. - (Array::assign2): Check for RHS dimensions larger than 2. - -2004-01-21 Petter Risholm - - * Array.h (Array::chop_trailing_singletons): New function. - * Array.cc (Array::assignN): Use it on LHS. - - * Array.cc (Array::assignN): Fix incorrectly nested if statement. - Retrieve scalar element by passin 0 instead of an index array. - Check for singleton dimensions where RHS is matrix or higher dimension. - Make sure index is in bounds. - -2004-01-19 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Ensure that octave_Inf, - octave_NaN, and octav_NA values are always initialized. Check - floating point format, not HAVE_ISINF, HAVE_FINITE, or HAVE_ISNAN - to decide whether to do IEEE initialization. - -2004-01-06 David Bateman - - * CNDArray.cc (ComplexNDArray::any_element_is_inf_or_nan, - ComplexNDArray::all_elements_are_real, ComplexNDArray::all_integers, - ComplexNDArray::too_large_for_float): New functions - - * CNDArray.cc (operator <<, operator >>): New IO operators. - * CNDArray.h: Provide decls. - * dNDArray.cc (operator <<, operator >>): New IO operators. - * dNDArray.h: Provide decls. - -2003-12-10 John W. Eaton - - * mx-ops: Delete bnda x bnda, b x bnda, and bnda x b ops since - they are already defined in boolNDArray.cc. - - * Array-util.cc (get_zero_len_size): Delete. - * Array.cc (Array::index (Array&, int, const T&)): - Handle zero-length result dimensions the same as empty original - indices. - -2003-12-09 John W. Eaton - - * dim-vector.h (dim_vector::chop_trailing_singleton_dims, - dim_vector::dim_vector_rep::chop_trailing_singleton_dims): - New functions. - * Array.cc (ArrayN::indexN): Use it. - (ArrayN::index (Array&, int, const T&)): Likewise. - -2003-11-26 John W. Eaton - - * boolNDArray.cc: Define BOOL ops. Define mixed CMP ops. - * boolNDArray.h: Declare BOOL ops. Declare mixed CMP ops. - -2003-11-25 John W. Eaton - - * mk-ops.awk: Also emit #include "Array-util.h". - - * mx-ops: Add bool, boolMatrix, and boolNDarray types. - Add bnda x bnda, b x bnda, and bnda x b ops. - - * MArray-misc.cc: Delete. - * Makefile.in (MATRIX_SRC): Remove it from the list. - - * Array-util.h, Array-util.cc (gripe_nonconformant): Move here from - MArray.h, MArray2.h, MArrayN.h, and MArray-misc.cc. - -2003-11-24 John W. Eaton - - * dbleQR.cc (QR::init): Use separate pwork pointers. - * CmplxQR.cc (ComplexQR::init): Likewise. - - * oct-group.cc (octave_group::getgrnam): Pass correct args to - two-arg getgrnam version. - - * Array.cc (assignN): Allow single indexing to work. - (Array::range_error (const char*, const Array&)): - Report index values. - - * Array.cc (Array::index): Delete unused arg names. - * ODESSA.cc (odessa_j): Likewise. - * DASRT.cc (ddasrt_f, ddasrt_g): Likewise. - * DASPK.cc (ddaspk_psol): Likewise. - * lo-mappers.cc (imag): Likewise. - * Array-util.cc (get_zero_len_size): Likewise. - * kpse.cc (path_search, path_find_first_of): Likewise. - * cmd-edit.cc (do_generate_filename_completions): Likewise. - - * dim-vector.h (dim_vector::all_ones): New function. - -2003-11-23 John W. Eaton - - * idx-vector.h (idx_vector::orig_empty): Check orig_dims for - zeros, not orig_rows or orig_columns. - (idx_vector::idx_vector_rep::orig_rows): Define using orig_dims. - (idx_vector::idx_vector_rep::orig_columns): Likewise. - - * idx-vector.cc (idx_vector::idx_vector_rep::orig_nr, - (idx_vector::idx_vector_rep::orig_nc): Delete. - - * idx-vector.cc (idx_vector::idx_vector_rep): - Use initialization lists for constructors. - - * Array.cc (Array::indexN): Correctly handle single colon index. - Omit special case for ra_idx.capacity () == 1. - Always allow single index for matrix args with optional warning. - - * idx-vector.h, idx-vector.cc: Convert boolMatrix functions to use - boolNDArray. Likewise, convert Matrix functions to use NDArray. - - * Array-so.cc: New file. Move instantiations here from so-array.h. - * Makefile.in (TI_SRC): Add it to the list. - - * MArray-defs.h (DO_VS_OP2, DO_VV_OP2): Accept args for element - type and the names of the left and right operands. Change all uses. - - * so-array.cc, so-array.h: New files. Move streamoff_array here - from src/ov-streamoff.h and src/ov-streamoff.cc. - -2003-11-20 John W. Eaton - - * MArrayN.cc (operator -=, operator +=): Check dimensions, not - just length. - - * Array2.h, Array3.h, DiagArray2.h, DiagArray2.cc, MDiagArray2.h, - ArrayN.h: Add this-> or Base:: qualifiers for references to - non-dependent member functions and data as needed. - - * DiagArray2.h, DiagArray2.cc: Delete unused code. - - * Array2.h (Array2::operator =): Don't copy dimensions here. - * Array3.h (Array3::operator =): Likewise. - * DiagArray2.h (DiagArray2::operator =): Likewise. - Include Array.h, not Array2.h. - -2003-11-19 John W. Eaton - - * str-vec.cc (list_in_columns): Fix previous change. - - * dim-vector.h (dim_vector::num_ones): New function. - * Array.cc (maybe_delete_elements): Use it instead of - num_ones (const Array&). - - * Array.cc (assignN): Omit dubious check of singleton dimensions. - - * dNDArray.cc (NDArray::all_elements_are_int_or_inf_or_nan, - NDArray::any_element_is_inf_or_nan, NDArray::too_large_for_float): - New functions. - * dNDArray.h: Provide decls. - - * dMatrix.h (Matrix::any_element_is_negative, - Matrix::any_element_is_inf_or_nan, Matrix::too_large_for_float, - Matrix::all_elements_are_int_or_inf_or_nan, Matrix::all_integers): - Simplify. - - * dNDArray.cc (NDArray::abs): Make it work for N-d arrays. - * CNDArray.cc (ComplexNDArray::abs): Likewise. - - * dNDArray.cc (real, imag): New functions. - * dNDArray.h: Provide decls. - -2003-11-18 John W. Eaton - - * Makefile.in (TEMPLATE_SRC): Move MArrayN.cc here from MATRIX_SRC. - -2003-11-15 John W. Eaton - - * Array.h (Array::resize (int, const T&)): Reinstate. - * MArray.h (resize): Delete. - * MArray2.h (resize): Delete. - * DASRT.cc (DASRT::integrate): Use resize, not resize_and_fill. - * ODESSA (ODESSA::integrate): Likewise. - -2003-11-14 John W. Eaton - - * Makefile.in (dist): Depend on stamp-prereq. - -2003-11-12 John Eaton - - * mach-info.c (oct_mach_info::init_float_format) [CRAY]: - Kluge to make it work. - - * lo-ieee.cc (octave_ieee_init): Set octave_Inf, octave_NaN, and - octave_NA to DBL_MAX if native float format is vaxd, vaxg, or cray. - - * cmd-edit.cc (gnu_readline::do_generate_filename_completions, - default_command_editor::do_generate_filename_completions, - command_editor::generate_filename_completions): New functions. - * cmd-edit.h: Provide decls. - * oct-rl-edit.c (octave_rl_filename_completion_function): New - function. - * oct-rl-edit.h: Provide decl. - -2003-11-11 John W. Eaton - - * Array.h (INSTANTIATE_ARRAY_ASSIGN, INSTANTIATE_ARRAY_AND_ASSIGN, - INSTANTIATE_ARRAY): New macros. - * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-i.cc, - Array-idx-vec.cc, Array-s.cc, Array-str.cc, ODESSA.cc: Use them. - - * Array.h (Array::ipermute): New function. - -2003-11-11 Petter Risholm - - * Array.cc (Array::permute): New function. - * Array.h: Provide decl. - - * Array-util.cc (calc_permutated_idx): New function. - * Array-util.h: Provide decl. - -2003-11-10 John W. Eaton - - * Array.cc (Array::index2): Return value has orientation of - indexed value if indexing a vector with a bool matrix. - - * ArrayN.h (ArrayN::get_size): Delete. - - * Array.cc, ArrayN.cc, dNDArray.cc, CNDArray.cc, boolNDArray.cc, - chNDArray.cc: Include Array-util.h instead of ArrayN-inline.h. - - * ArrayN-inline.h: Delete. - * Array-util.h, Array-util.cc: New files, from ArrayN-inline.h. - * Makefile.in: Fix the appropriate lists. - - * Array.cc, Array.h, ArrayN.h, CMatrix.cc, CNDArray.h, - CRowVector.cc, CmplxQR.cc, CollocWt.h, DASPK.h, DASRT.h, DASSL.h, - FEGrid.cc, LP.h, LSODE.h, MArrayN.h, ODE.h, ODES.h, ODESSA.cc, - boolNDArray.h, chNDArray.h, dMatrix.cc, dNDArray.h, dRowVector.cc, - dbleQR.cc, kpse.cc, oct-rl-hist.c, str-vec.cc, str-vec.h: - Avoid -Wshadow warnings. - -2003-11-08 John Eaton - - * Array.h (Array::nil_rep): Qualify return type with typename. - - * mk-ops.awk: Delete elements of bool_headers array individually. - -2003-11-07 John W. Eaton - - * Array.cc (maybe_delete_elements): Rename arg idx to ra_idx. - -2003-10-31 Petter Risholm - - * mx-inlines.cc (MX_ND_CUMULATIVE_OP): New macro. - - * CNDArray.cc, CNDArray.h (ComplexNDArray::cumsum, - ComplexNDArray::cumprod): Return ComplexNDArray. Handle N-d arrays. - * dNDArray.cc, dNDArray.h (NDArray::cumsum, NDArray::cumprod): - Return NDArray. Handle N-d arrays. - -2003-10-31 John W. Eaton - - * LSODE.cc (LSODE::do_integrate): Avoid name conflict on systems - that upcase Fortran names by calling dlsode instead of lsode. - - * ODESSA.cc (ODESSA::do_integrate): Avoid name conflict on systems - that upcase Fortran names by calling dodessa instead of odessa. - - * file-ops.cc (file_ops::symlink): Cope with systems that expect - non-const args for symlink system call. - (file_ops::readlink): Likewise, for readlink. - - * DASRT.cc (DASRT::integrate): Fix typo in Fortran function name. - -2003-10-30 John W. Eaton - - * mach-info.h (oct_mach_info): Prefix enum elements with flt_fmt_. - Change all uses. - -2003-10-29 Petter Risholm - - * dNDArray.cc (NDArray::cumprod, NDArray::cumsum, NDArray::prod, - NDArray::sum, NDArray::sumsq, NDArray::abs): New functions. - * dNDArray.h: Provide decls. - * CNDArray.cc (ComplexNDArray::cumprod, ComplexNDArray::cumsum, - ComplexNDArray::prod, ComplexNDArray::sum, ComplexNDArray::sumsq, - ComplexNDArray::abs): New functions. - * CNDArray.h: Provide decls. - - * mx-inlines.cc (MX_ND_REDUCTION): Rename from MX_ND_ANY_ALL. - Generalize to handle other reduction operations. - (MX_ND_REAL_OP_REDUCTION, MX_ND_COMPLEX_OP_REDUCTION, - MX_ND_ALL_ANY_REDUCTION): New macros. - -2003-10-29 John W. Eaton - - * Array.cc (Array::reshape): New function. - * Array.h: Provide decl. - - * dim-vector.h (dim_vector::numel): New function. - - * dim-vector.h (dim_vector_rep::dim_vector_rep (int, const - dim_vector&)): Correctly handle case of n < dv->ndims. - -2003-10-28 John W. Eaton - - * dim-vector.h (dim_vector::any_zero): New function. - (dim_vector::str): New default arg, sep. - - * Array.h (Array::numel): New function. - -2003-10-27 Petter Risholm - - * mx-inlines.cc (MX_ND_ALL_EXPR, MX_ND_ANY_EXPR, - MX_ND_ALL_EVAL, MX_ND_ANY_EVAL, MX_ND_ALL_ANY): New macros. - * dNDArray.h (NDArray::all, NDArray::any): Return type now boolNDArray. - * CNDArray.h (ComplexNDArray::all, ComplexNDArray::any): Likewise. - * boolNDArray.h (boolNDArray::all, boolNDArray::any): Likewise. - * chNDArray.h (charNDArray::all, charNDArray::any): Likewise. - * dNDArray.cc (NDArray::all, NDArray::any): Make them work. - * CNDArray.cc (ComplexNDArray::all, ComplexNDArray::any): Likewise. - * boolNDArray.cc (boolNDArray::all, boolNDArray::any): Likewise. - * chNDArray.cc (charNDArray::all, charNDArray::any): Likewise. - -2003-10-27 John W. Eaton - - * Array.cc (Array::resize_and_fill): Allow number of dimensions - to change. From Petter Risholm . - - * oct-rand.cc, CColVector.cc, CMatrix.cc, CRowVector.cc, - CmplxAEPBAL.cc CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, - CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, - DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, ODESSA.cc, - Quad.cc, dColVector.cc, dMatrix.cc, dRowVector.cc, dbleAEPBAL.cc, - dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, - dbleSCHUR.cc, dbleSVD.cc, lo-specfun.cc: - Use new F77 arg macros in declarations of external Fortran - subroutines and for calling them. - -2003-10-25 John W. Eaton - - * Array.cc (Array::resize_no_fill (const dim_vector&)): - Allow number of dimensions to change. - (Array::resize_no_fill (int, int)): Require ndims to be 0 or 2. - (Array::resize_and_fill (int, int, const T&)): Likewise. - (Array::resize_no_fill (int, int, int)): Require ndims to be 0 or 3. - (Array::resize_and_fill (int, int, int, const T&)): Likewise. - (Array::transpose): Require ndims to be 2. - (Array::index2): Likewise. - (Array::index (idx_vector&, idx_vector&, int, const T&)): Likewise. - (Array::maybe_delete_elements_2): Likewise. - (Array::maybe_delete_elements (idx_vector&, idx_vector&)): Likewise. - (Array::index1): Use resize_and_fill. - (MAYBE_RESIZE_ND_DIMS): Likewise. - - * ODESSA.cc (ODESSA::integrate): Use resize_and_fill for x_s_out. - - * MArray2.h (MArray2::resize (int, int)): New function. - (MArray2::resize (int, int, const T&)): New function. - - * MArray.h (MArray::resize (int)): New function. - (MArray::resize (int, const T&)): New function. - - * DASRT.cc (DASRT::integrate): Use resize_and_fill for jroot. - - * DASPK-opts.in: Use single-arg resize for initial condition - heuristics. - - * dim-vector.h (class dim_vector): Now reference counted. - (dim_vector_rep::elem): Use assert to check that index is in bounds. - -2003-10-23 John W. Eaton - - * Array.cc (Array::squeeze): Delete redundant retval decl. - - * mx-cdm-cm.cc, mx-cdm-cm.h, mx-cdm-cs.cc, mx-cdm-cs.h, - mx-cdm-dm.cc, mx-cdm-dm.h, mx-cdm-m.cc, mx-cdm-m.h, mx-cdm-s.cc, - mx-cdm-s.h, mx-cm-cdm.cc, mx-cm-cdm.h, mx-cm-dm.cc, mx-cm-dm.h, - mx-cm-m.cc, mx-cm-m.h, mx-cm-s.cc, mx-cm-s.h, mx-cs-cdm.cc, - mx-cs-cdm.h, mx-cs-dm.cc, mx-cs-dm.h, mx-cs-m.cc, mx-cs-m.h, - mx-dm-cdm.cc, mx-dm-cdm.h, mx-dm-cm.cc, mx-dm-cm.h, mx-dm-cs.cc, - mx-dm-cs.h, mx-dm-m.cc, mx-dm-m.h, mx-dm-s.cc, mx-dm-s.h, - mx-m-cdm.cc, mx-m-cdm.h, mx-m-cm.cc, mx-m-cm.h, mx-m-cs.cc, - mx-m-cs.h, mx-m-dm.cc, mx-m-dm.h, mx-ops.h, mx-s-cdm.cc, - mx-s-cdm.h, mx-s-cm.cc, mx-s-cm.h, mx-s-dm.cc, mx-s-dm.h, - vx-ccv-cv.cc, vx-ccv-cv.h, vx-ccv-s.cc, vx-ccv-s.h, vx-crv-rv.cc, - vx-crv-rv.h, vx-crv-s.cc, vx-crv-s.h, vx-cs-cv.cc, vx-cs-cv.h, - vx-cs-rv.cc, vx-cs-rv.h, vx-cv-ccv.cc, vx-cv-ccv.h, vx-cv-cs.cc, - vx-cv-cs.h, vx-rv-crv.cc, vx-rv-crv.h, vx-rv-cs.cc, vx-rv-cs.h, - vx-s-ccv.cc, vx-s-ccv.h, vx-s-crv.cc, vx-s-crv.h: Delete. These - files are now automatically generated. - - * Makefile.in ($(VX_OP_INC), $(VX_OP_SRC), $(MX_OP_INC), - $(MX_OP_SRC)): Generate lists with new mk-ops.awk script. - Add rules to generate these files and mx-ops.h. - (stamp-prereq): Depend on these files. - - * mx-ops, vx-ops, mk-ops.awk: New files. - * Makefile.in (DISTFILES): Add them to the list. - -2003-10-17 John W. Eaton - - * NDArray.cc (NDArray::NDArray (const boolNDArray), - NDArray::NDArray (const charNDArray)): New constructors. - (NDArray::operator !): New function. - Provide NDS_CMP_OPS, NDS_BOOL_OPS, SND_CMP_OPS, SND_BOOL_OPS, - NDND_CMP_OPS, NDND_BOOL_OPS. - - * CNDArray.cc (ComplexNDArray::ComplexNDArray (const NDArray&), - ComplexNDArray::ComplexNDArray (const boolNDArray&), - ComplexNDArray::ComplexNDArray (const charNDArray&)): - New constructors. - (ComplexNDArray::operator !): New function. - Provide NDS_CMP_OPS, NDS_BOOL_OPS, SND_CMP_OPS, SND_BOOL_OPS, - NDND_CMP_OPS, NDND_BOOL_OPS. - - * ArrayN.h (resize (const dim_vector&)): Fix typo. - - * boolNDArray.cc (boolNDArray::operator !): New function. - Provide NDND_CMP_OPS. - - * MArrayN.cc (operator +=, operator -=): New functions. - Provide product and quotient functions. - - * MArray-misc.cc (gripe_nonconformant (const char *, dim_vector&, - dim_vector&)): New function. - - * dim-vector.h (dim_vector::str, dim_vector::all_zero, - operator ==, operator !=): New functions. - * ArrayN.cc (operator <<): Use dim_vector::str here. - - * Array.cc (Array::resize_no_fill, Array::resize_and_fill): - No need to save old dimensions. - - * oct-rand.cc (MAKE_RAND_ND_ARRAY): New macro. - (octave_rand::nd_array): New function. - * oct-rand.h (octave_rand::nd_array): Provide decl. - - * mx-op-defs.h (NDCMP_OP_DECL, NDBOOL_OP_DECL, NDS_BIN_OP_DECLS, - NDS_BIN_OP, NDS_BIN_OPS, NDS_CMP_OP_DECLS, NDS_CMP_OP, - NDS_CMP_OPS, NDS_BOOL_OP_DECLS, NDS_BOOL_OP, NDS_BOOL_OPS, - NDS_OP_DECLS, SND_BIN_OP_DECLS, SND_BIN_OP, SND_BIN_OPS, - SND_CMP_OP_DECLS, SND_CMP_OP, SND_CMP_OPS, SND_BOOL_OP_DECLS, - SND_BOOL_OP, SND_BOOL_OPS, SND_OP_DECLS, NDND_BIN_OP_DECLS, - NDND_BIN_OP, NDND_BIN_OPS, NDND_CMP_OP_DECLS, NDND_CMP_OP, - NDND_CMP_OPS, NDND_BOOL_OP_DECLS, NDND_BOOL_OP, NDND_BOOL_OPS, - NDND_OP_DECLS): New macros. - * mx-cm-m.h, mx-cm-s.h, mx-cs-m.h, mx-m-cm.h, mx-m-cs.h, - mx-s-cm.h, mx-cm-m.cc, mx-cm-s.cc, mx-cs-m.cc, mx-m-cm.cc, - mx-m-cs.cc, mx-s-cm.cc: Use them. - - * mx-defs.h (class NDArray, class ComplexNDArray, class - boolNDArray, class charNDArray): New forward decls. - -2003-10-15 John W. Eaton - - * Array.cc (assign2): No error (but don't do anything either) for - expressions like x([],j) = scalar. - -2003-10-09 John W. Eaton - - * Array.cc (assignN): Allow lhs(:) = scalar. - - * CNDArray.cc (ComplexNDArray::increment_index): New function. - * dNDArray.cc (NDArray::increment_index): Likewise. - * boolNDArray.cc (boolNDArray::increment_index): Likewise. - * chNDArray.cc (charNDArray::increment_index): Likewise. - - * dim-vector.h (rows, cols): Delete unused data members. - - * Array.cc (Array::get_size): Fix thinko. - -2003-10-08 John W. Eaton - - * Array.cc (Array::squeeze): New function. - * CNDArray.h (ComplexNDArray::squeeze): Likewise. - * dNDArray.h (NDArray::squeeze): Likewise. - * boolNDArray.h (boolNDArray::squeeze): Likewise. - * chNDArray.h (charNDArray::squeeze): Likewise. - -2003-10-06 Petter Risholm - - * Array.cc (ArrayN::indexN): New definition. - * Array.h (Array::indexN): Provide decl. - * Array.cc (ArrayN::index (idx_vector&, int, const T&): - Call indexN if more than 2 indices. - (ArrayN::index (Array&, int, const T&)): - Make it (mostly) work. - * ArrayN-inline.h (number_of_elements, get_ra_idx, short_freeze): - New functions. - -2003-10-02 John W. Eaton - - * cmd-edit.cc (do_readline): Pass eof to octave_fgetl. - * lo-utils.cc (octave_fgets, octave_fgetl): New overloaded - versions with eof arg. - -2003-09-20 John W. Eaton - - * Array.h (dimensions): Now public. - template - (assign (Array&, const Array&, const LT&), - assign1 (Array&, const Array&, const LT&), - assign2 (Array&, const Array&, const LT&), - assignN (Array&, const Array&, const LT&), - resize_no_fill (int), - resize_no_fill (int, int), - resize_no_fill (int, int, int), - resize_no_fill (const dim_vector&), - resize_and_fill (int, const T&), - resize_and_fill (int, int, const T&), - resize_and_fill (int, int, int, const T&), - resize_and_fill (const dim_vector&, const T&)): Now public. - - * Array.cc: Include . - -2003-09-19 John W. Eaton - - * Array.cc: Merge Array-idx.h. - * Array-idx.h: Delete. - - * chNDArray.h, chNDArray.cc, boolNDArray.h, boolNDArray.cc: New files. - - * Array.h, Array-idx.h, Array.cc: Fold all N-d functionality here. - Turn inheritance hierarchy upside down (2-d and 3-d arrays are now - just special cases of the general purpose N-d Array object). - - * dim-vector.h: New file. Use dim_vector objects instead of - ints or Array objects to represent the size of Array - objects. - - * MArray-defs.h (INSTANTIATE_MARRAYN_FRIENDS): New macro. - - * Array2-idx.h, Array3-idx.h, Array2.cc, Array3.cc: Delete. - - * mx-base.h: Include NDArray header files. - - * MArray-C.cc, MArray-d.cc: Also instantiate ArrayN objects. - - * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-i.cc, - Array-s.cc: Also instantiate ArrayN objects. - Don't instantiate assign funcitons for Array2 objects. - - * CDiagMatrix.cc (ComplexDiagMatrix::diag): Signal error with - liboctave_error_handler, not cerr. - * CMatrix.cc (ComplexMatrix::diag): Likewise. - * dDiagMatrix.cc (DiagMatrix::diag): Likewise. - * dMatrix.cc (Matrix::diag): Likewise. - - * Array-flags.cc, Array.cc, Array.h, Array2.h, Array3.h, ArrayN.h: - Omit checks for HEAVYWEIGHT_INDEXING. - -2003-09-12 John W. Eaton - - * mx-base.h: Include CNDarray.h. Include dNDArray.h, not NDArray.h. - - * CNDARray.h, CNDArray.cc: New files. - * Makefile.in: Add them to the appropriate lists. - - * dNDArray.h: Rename from NDArray.h. - * dNDArray.cc: Rename from NDArray.cc. - * Makefile.in: Rename them here too. - -2003-09-10 Petter Risholm - - * mx-base.h: Include NDArray.h, not ArrayN.h. - - * MArrayN.cc, MArrayN.h, NDArray.h, NDArray.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2003-09-09 David Bateman - - * lo-specfun.cc (zbesj, zbesy, zbesi, zbesk, zbesh1, zbesh2, airy, - biry): Always request scaled results from AMOS functions and - perform reverse scaling on results if scaled result not requested - by user. - -2003-09-04 John W. Eaton - - * lo-specfun.cc (xlgamma): Require nonnegative argument. - -2003-09-09 John W. Eaton - - * Array-d.cc: Instantiate assign functions. - -2003-09-09 Petter Risholm - - * ArrayN-idx.h (vector_equivalent, equal_arrays): New functions. - (get_elt_idx): Index ra_idx correctly. - - * ArrayN-inline.h (index_in_bounds): Index is also condidered in - bounds if it is exactly on the bound. - - * ArrayN.cc (ArrayN::maybe_delete_dims): New function. - * ArrayN.h: Provide decl. - - * ArrayN.h (ArrayN::ArrayN (const Matrix&)): New constructor. - - * idx-vector.h (idx_vector::orig_dims): New member variable. - (idx_vector::idx_vector_rep::orig_dimensions): New function. - (idx_vector::orig_dimensions): New function. - -2003-09-04 John W. Eaton - - * lo-specfun.cc (xlgamma): Require nonnegative argument. - -2003-09-04 Petter Risholm - - * ArrayN-idx.h (maybe_delete_elements): Implement function. - (is_in, how_many_lgt, all_ones): New functions. - -2003-09-03 John W. Eaton - - * Makefile.in (MATRIX_INC): Add ArrayN-inlines.h to the list. - -2003-09-03 Petter Risholm - - * ArrayN-inline.h: New file. - (index_in_bounds, increment_index): Move here. - * ArrayN.cc: From here. - - * ArrayN.h (maybe_delete_elements): New arg, resize_fill_value. - * ArrayN-idx.h (assign): New function. - -2003-08-28 John W. Eaton - - * lo-specfun.cc (zbesj, zbesy, zbesi, zbesk, airy, biry): - Also zero imaginary part of result if real part of input value is - zero. - -2003-07-30 Heine Kolltveit - - * mx-base.h: Include ArrayN.h. - -2003-30-07 Heine Kolltveit - - * ArrayN.cc (operator <<): Corrected output. - -2003-07-30 John W. Eaton - - * ArrayN.cc (increment_index): New arg, start_dimension. - -2003-07-29 Heine Kolltveit - - * ArrayN.cc (operator <<): Improve output readability. - -2003-07-29 Petter Risholm - - * ArrayN.cc (ArrayN::resize (const Array&, const T&)): - * ArrayN.cc (ArrayN::resize (const Array&)): - Initialize old_len before changing size. - -2003-07-29 John W. Eaton - - * Makefile.in (install-lib): Use $(INSTALL), not - $(INSTALL_PROGRAM) for $(SHLLIB) files. - -2003-07-25 John W. Eaton - - * lo-mappers.cc (xmin, xmax): Handle NaN in a Matlab-compatible - way. Handle NA in an R-compatible way. - - * lo-cieee.c (lo_ieee_is_NaN_or_NA): Also check for lo_ieee_is_NA. - (lo_ieee_is_NA): Don't call isnan unless HAVE_ISNAN is defined. - - * lo-mappers.h (octave_is_NA (const Complex&)): Provide decl. - (octave_is_NaN_or_NA (const Complex&)): Likewise. - - * dMatrix.cc (Matrix::row_min, Matrix::row_max, - Matrix::column_min, Matrix::column_max): Ignore NaNs. - * CMatrix.cc (ComplexMatrix::row_min, ComplexMatrix::row_max, - ComplexMatrix::column_min, ComplexMatrix::column_max): Likewise. - -2003-07-11 John W. Eaton - - * Array2-idx.h (assign (Array2&, const Array2&, const LT&)): - Pass true for resize_ok arg to freeze. - * Array-idx.h (assign (Array&, const Array&, const LT&)): - Likewise. - - * idx-vector.cc (IDX_VEC_REP::freeze): New arg, warn_resize; - resize_ok arg is now bool. - * idx-vector.h (idx_vector::freeze): Likewise. - - * Array-flags.cc, Array-flags.h (liboctave_wrore_flag): - Rename from liboctave_rre_flag. Now bool. - (liboctave_wfi_flag): Now bool. - - * Array2-idx.h (MAYBE_RESIZE_LHS): Don't check liboctave_rre_flag. - -2003-07-11 Russell Standish - - * Array.h (resize_fill_value): Now a top-level template function. - Accept object as argument. Change all uses. - -2003-07-09 John W. Eaton - - * Array-flags.cc, Array-flags.h (liboctave_pcv_flag): Delete. - - * Array2-idx.h (Array2::index): Use liboctave_wfi_flag, not - liboctave_dfi_flag. - (assign): Likewise. For indexed assignments like X(I) = RHS with - X undefined or empty, always create a row vector. - - * Array-flags.cc (liboctave_wfi_flag): Rename from liboctave_dfi_flag. - * Array-flags.h (liboctave_wfi_flag): Ditto. - -2003-06-24 John W. Eaton - - * Array2-idx.h (Array2::index (idx_vector&, int, const T&)): - Magic colon indexing always produces an object with one column. - -2003-06-21 Paul Kienzle - - * kpse-xfns.h (NAME_BEGINS_WITH_DEVICE): Arg is std::string, not char*. - - * lo-ieee.h (signbit): Eliminate redundant extern "C" decl. - -2003-06-18 John W. Eaton - - * dMatrix.cc (any_element_is_negative): If new optional arg - neg_zero is true, also return true for negative zero. - -2003-06-16 John W. Eaton - - * DASSL.cc (DASSL::do_integrate): Set liw to 21 + n, not 20 + n. - Handle step limit. - * DASSL-opts.in: New option for step limit. - -2003-06-16 Per Persson - - * oct-shlib.cc: Include mach-o/dyld.h, not Mach-O/dyld.h. - -2003-06-16 John W. Eaton - - * DASRT.cc (DASRT::integrate): Set liw to 21 + n, not 20 + n. - Store step limit in iwork(20), not iwork(18). - -2003-05-16 Paul Kienzle - - * oct-rand.cc: Use liboctave's clock layer instead of the system clock. - -2003-05-14 John W. Eaton - - * Makefile.in: Handle DESTDIR. - - * kpse.cc (kpse_path_iterator::next): Skip consecutive colons here. - (kpse_path_iterator::set_end): Don't miss last element when not - followed by a colon. - -2003-05-11 John W. Eaton - - * Array-idx.h (Array::index): Fix off-by-one error. - -2003-05-07 John W. Eaton - - * kpse.cc (kpse_absolute_p): Fix typo in translation. - (find_first_of): Also do an absolute search on each - name before looking in the path. - -2003-05-04 John W. Eaton - - * kpse.cc (dir_list_add): Ensure that directory ends with a - directory separator. - -2003-04-30 John W. Eaton - - * pathsearch.cc: Include kpse.cc here. - - * kpse.cc: All functions are now static. Massive surgery to - condense kpathsearch library to a single file of just the - essentials for Octave and convert to using C++ strings (no more - calls to malloc, very few calls to new, so there should be much - less potential for introducing memory leaks now). - - * Makefile.in (EXTRAS): Move kpse.cc here from - LIBOCT_PATHSEARCH_CXX_SOURCES. - - * kpse.h, kpse-config.h: Delete. - * Makefile.in (INCLUDES): Delete them from the list. - -2003-04-26 John W. Eaton - - * str-vec.cc (string_vector::append (const std::string&), - string_vector::append (const string_vector&)): New methods. - -2003-04-24 John W. Eaton - - * kpse.cc, kpse.h: Replace fn_type with std::string. - - * lo-ieee.h (lo_ieee_signbit): Provide signbit decl for MinGW systems. - - * kpse.cc (xclosedir): Don't define or declare for Windows. - (READABLE): Now a static function to avoid warnings from MinGW - compiler. - -2003-04-23 John W. Eaton - - * kpse.cc: Move most functions from kpse-xfns.c here and make - static. Include most of kpse-xfns.h directly, removing - unnecessary bits. - - * dMatrix.cc (Matrix::pseudo_inverse): Now const. - * CMatrix.cc (ComplexMatrix::pseudo_inverse): Likewise. - -2003-04-18 John W. Eaton - - * getopt.c, getopt1.c, getopt.h: Move here from kpathsea. - * Makefile.in: Add them to the appropriates lists. - - * oct-getopt.c: Include "getopt.h", not . - - * Makefile.in (liboctave.$(LIBEXT), liboctave.$(SHLEXT)): Adjust - for new locations of kpathsea objects. - Delete kpathsea targets. - - * pathsearch.cc (dir_path::set_program_name): Delete. - - * kpse.cc: New file. - * Makefile.in (LIBOCT_PATHSEARCH_CXX_SOURCES): Add it to the list. - - * kpse.c: New file. - * Makefile.in (LIBOCT_PATHSEARCH_C_SOURCES): Add it to the list. - - * kpse.h, kpse-config.h, kpse-xfns.h: New files. - * Makefile.in (INCLUDES): Add them to the list. - - * oct-kpse.h: Delete. - * Makefile.in (INCLUDES): Delete it from the list. - -2003-04-07 John W. Eaton - - * dbleSVD.h (SVD::SVD, SVD::operator =): Also copy type_computed. - * CmplxSVD.h (ComplexSVD::ComplexSVD, ComplexSVD::operator =): - Likewise. - From Quentin H. Spencer . - -2003-03-03 John W. Eaton - - * oct-getopt.c: Include , not "getopt.h". - -2003-02-21 John W. Eaton - - * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Handle systems with or - without placement delete. - - * CMatrix.cc (ComplexMatrix::all_elements_are_real): Don't lose -0 - imaginary parts. - - * lo-ieee.h (lo_ieee_signbit): New macro. - -2003-02-18 David Bateman - - * dMatrix.cc (Matrix::inverse, Matrix::determinant, Matrix::solve): - Use Lapack instead of Linpack. - * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::determinant, - ComplexMatrix::solve): Likewise. - - * dMatrix.cc (Matrix::determinant, Matrix::inverse): New arg, - calc_cond. If 0, skip condition number calculation. - * CMatrix.cc (ComplexMatrix::determinant, ComplexMatrix::inverse): - Likewise. - - * CmplxLU.cc (ComplexLU::ComplexLU): Allow non-square matrices. - * dbleLU.cc (LU::LU): Likewise. - * base-lu.cc (base_lu::L), base_lu::U, base_lu::P): Likewise. - -2002-10-31 John W. Eaton - - * octave.test/arith/prod-4.m, octave.test/arith/sum-4.m: - -2003-02-14 John W. Eaton - - * Array2-idx.h (Array2::index): Fix thinko. - Additional compatibility fix. - -2003-02-13 Arno Klaassen - - * Array2-idx.h, Array2.cc, Array2.h, Array3.cc, Array3.h, - ArrayN.cc, ArrayN.h, DiagArray2.cc, DiagArray2.h, MDiagArray2.h: - Sprinkle with Array:: as necessary for gcc 3.4. - -2003-02-13 John W. Eaton - - * Array2-idx.h (Array2::index (idx_vector&, int, const T&)): - Compatibility fix. - -2003-02-10 John W. Eaton - - * CColVector.cc (ComplexColumnVector::extract_n): New function. - * CRowVector.cc (ComplexRowVector::extract_n): Likewise. - * CMatrix.cc (ComplexMatrix::extract_n): Likewise. - * dColVector.cc (ColumnVector::extract_n): Likewise. - * dRowVector.cc (RowVector::extract_n): Likewise. - * dMatrix.cc (Matrix::extract_n): Likewise. - - * CColVector.cc (ComplexColumnVector::insert): Improve efficiency - with make_unique and xelem. - * CRowVector.cc (ComplexRowVector::insert): Likewise. - * CMatrix.cc (ComplexMatrix::insert, ComplexMatrix::fill, - ComplexMatrix::extract, ComplexMatrix::row, - ComplexMatrix::column): Likewise. - * dColVector.cc (ColumnVector::insert): Likewise. - * dRowVector.cc (RowVector::insert): Likewise. - * dMatrix.cc (Matrix::insert, Matrix::fill, Matrix::extract, - Matrix::row, Matrix::column): Likewise. - -2003-01-30 John W. Eaton - - * lo-mappers.cc (imag (double)): Return 0.0 for all args, even NaN. - -2003-01-28 John W. Eaton - - * CMatrix.cc, dMatrix.cc: Move min and max functions here, from - src/DLD-FUNCTIONS/minmax.cc, and make them extern. - * CMatrix.h, dMatrix.h: Provide decls. - -2003-01-24 John W. Eaton - - * oct-rand.h, oct-rand.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2003-01-23 John W. Eaton - - * Array2-idx.h (Array2::index): Fix off-by-one error. - -2003-01-16 Mumit Khan - - * oct-syscalls.cc: Include signal.h. - -2003-01-10 John W. Eaton - - * oct-syscalls.cc (octave_syscalls::kill): New function. - * oct-syscalls.h: Provide decl. - - -2003-01-06 John W. Eaton - - * dMatrix.cc (Matrix::read): Set size and return immediately if - there is nothing to read. - -2003-01-05 John W. Eaton - - * lo-cutils.c: Define _XOPEN_SOURCE. - -2003-01-04 John W. Eaton - - * getopt.h: Update to version from kpathsearch, so we will install - the version that we are using. - - * getopt.c, getopt1.c: Delete. - (INCLUDES): Delete them from the list. We'll get these files from - kpathsearch. - - * Makefile.in (liboctave.$(LIBEXT)): Link directly to - ../kpathsea/STATIC/*.o. - (liboctave.$(SHLEXT)): Link directly to ../kpathsea/SHARED/*.o. - -2003-01-03 John W. Eaton - - * dMatrix.cc (read_int, write_int): Avoid warnings about - unreachable code. - - * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Define operator delete - to correspond to placement new operator. - - * dbleDET.cc (DET::value_will_overflow): We want det[1], not det[2]. - (DET::value_will_underflow): Likewise. - * CmplxDET.cc (ComplexDET::value_will_overflow): Likewise. - (ComplexDET::value_will_underflow): Likewise. - - * Makefile.in (distclean): Also remove stamp-prereq. - - * Array2-idx.h (Array2::assign): If assignment conforms but the - RHS and index are empty matrices, don't do anything. - -2002-12-26 John W. Eaton - - * pathsearch.cc (make_retval, free_c_array, make_c_names, - delete_c_names): New helper functions. - (dir_path::find_first_of): New function. - (dir_path::find_all_first_of): Likewise. - * pathsearch.h: Provide decls. - - * oct-kpse.c (octave_kpse_path_find_first_of): New function. - (octave_kpse_all_path_find_first_of): Likewise. - * oct-kpse.h: Provide decls. - -2002-12-19 John W. Eaton - - * ODESSA.cc (ODESSA::integrate): Handle maxord. - * ODESSA-opts.in: Likewise. - - * LSODE.cc (ODESSA::integrate): Handle maxord. - * LSODE-opts.in: Likewise. - -2002-12-18 John W. Eaton - - * ODESSA.cc (ODESSA::ODESSA): Initialize "initialized" data member - in all constructors. - - * Makefile.in (liboctave.$(SHLEXT)): Include $(LIBKPATHSEA) here. - (LINK_DEPS): Not here. - -2002-12-06 John W. Eaton - - * str-vec.cc (string_vector::compare): New static member function. - * str-vec.h: Provide decl. - (string_vector::sort): Use it. - (str_vec_compare): Delete static function. - - * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Also declare and define - a placement operator new. - -2002-12-03 John W. Eaton - - * Matrix.h: Include mx-ops.h too. - * mx-ops.h: New file. - -2002-11-20 John W. Eaton - - * DASRT.cc, DASRT.h, Array.cc, ArrayN.h, Array.h, Array2.cc, - Array2.h, Array3.cc, Array3.h, Bounds.cc, Bounds.h, CRowVector.h, - CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, CMatrix.h, - CRowVector.cc, CColVector.h, ChangeLog, CmplxAEPBAL.cc, - CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, - CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, - CmplxQR.h, CmplxQRP.cc, ArrayN.cc, CmplxQRP.h, CmplxSCHUR.cc, - CmplxSCHUR.h, CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, dMatrix.cc, - CollocWt.h, EIG.h, DASSL.cc, FEGrid.h, DASSL.h, DiagArray2.cc, - DiagArray2.h, EIG.cc, FEGrid.cc, LSODE.cc, LPsolve.cc, LPsolve.h, - LSODE.h, LinConst.cc, LinConst.h, MArray.h, MArray.cc, MArray2.cc, - MArray2.h, MDiagArray2.cc, MDiagArray2.h, Range.cc, NLConst.h, - NLEqn.cc, Range.h, NLEqn.h, Quad.cc, dbleQR.h, Quad.h, base-lu.cc, - base-lu.h, boolMatrix.cc, boolMatrix.h, dColVector.cc, - dColVector.h, dDiagMatrix.cc, dDiagMatrix.h, dMatrix.h, - dRowVector.cc, dRowVector.h, dbleAEPBAL.cc, dbleAEPBAL.h, - dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, dbleDET.h, dbleHESS.cc, - dbleHESS.h, dbleLU.cc, dbleLU.h, dbleQR.cc, dbleQRP.cc, dbleQRP.h, - dbleSCHUR.cc, dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, - idx-vector.h, oct-alloc.cc, CColVector.cc, DASPK.h, DASPK.cc, - ODESSA.h, ODES.h, ODESSA.cc, ODES.cc, chMatrix.h, chMatrix.cc: - Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of - "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)". - -2002-11-15 John W. Eaton - - * oct-shlib.cc (octave_dlopen_shlib::open): Use RTLD_GLOBAL too. - From Remy Bruno - -2002-11-14 John W. Eaton - - * lo-specfun.cc: Use F77_FUNC instead of F77_XFCN for calls to - fortran code that should run fast enough that it is not worth all - the setup costs of F77_XFCN. - - * Quad.cc (user_function): Surround body of function with - BEGIN_INTERRUPT_WITH_EXCEPTIONS, END_INTERRUPT_WITH_EXCEPTIONS. - * ODESSA.cc (odessa_f, odessa_j, odessa_b): Likewise. - * NLEqn.cc (hybrd1_fcn, hybrj1_fcn): Likewise. - * LSODE.cc (lsode_f, lsode_j): Likewise. - * DASSL.cc (ddassl_f, ddassl_j): Likewise. - * DASRT.cc (ddasrt_f, ddasrt_j, ddasrt_g): Likewise. - * DASPK.cc (ddaspk_f, ddaspk_psol, ddaspk_j): Likewise. - -2002-11-11 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Check defined (__osf__) instead - of ! defined (linux). - -2002-11-09 Per Persson - - * oct-shlib.cc (octave_dyld_shlib): New class. - (make_shlib): Instantiate octave_dyld_shlib. - -2002-11-06 John W. Eaton - - * CMatrix.cc, dMatrix.cc: Sprinkle with OCTAVE_QUIT. - - * ODESSA.cc (odessa_f, odessa_j, odessa_b): Abort on error. - - * Array.h: Include here. - -2002-11-01 John W. Eaton - - * DASPK.cc (DASPK::do_integrate): Resize rwork and iwork before - using them. Accept inequality contraint option of 0. Assign - pabs_tol and prel_tol before calling DASPK. Don't redeclare - abs_tol and rel_tol. - - * cmd-edit.h (command_editor::filename_completion_desired): New - static function. - (command_editor::do_filename_completion_desired): New virtual function. - * oct-rl-edit.c (octave_rl_filename_completion_desired): New function. - * oct-rl-edit.h: Provide decl. - - * Array2.cc (Array2::get_size): #define MALLOC_OVERHEAD to - avoid OS X linker bug. - * ArrayN.cc (ArrayN::get_size): Likewise. - -2002-10-31 John W. Eaton - - * ODESFunc.h (ODESFunc::ODES_fsub, ODESFunc::ODES_bsub, - ODESFunc::ODES_jsub): Reorder args for consistency with other - solvers. - * ODESSA.cc: Fix all callers. - - * mx-inlines.cc (MX_BASE_REDUCTION_OP): Also return scalar - MT_RESULT if nr == 1 && nc == 0 && dim == -1 (i.e., - sum(zeros(1,0)) returns 0, not [](1x0)). - -2002-10-30 John W. Eaton - - * Makefile.in (LINK_DEPS): Include $(FLIBS) here too. - -2002-10-29 John W. Eaton - - * DASRT.cc (DASRT::integrate): Fix computation of lrw - (ddasrt_f): Combine loops. - - * NLEqn.cc (NLEqn::solve): Return current estimate of solution - instead of empty vector if user termninates iteration. - -2002-10-28 John W. Eaton - - * lo-utils.cc (read_inf_nan_na, octave_read_double, - octave_read_complex, octave_write_double, octave_write_complex): - New functions. - * CMatrix.cc (operator << (std::ostream&, const ComplexMatrix&)): - Use octave_write_complex. - (operator >> (std::istream&, const ComplexMatrix&)): - Use octave_read_complex. - * dMatrix.cc (operator << (std::ostream&, double)): - Use octave_write_double. - (operator >> (std::istream&, double)): Use octave_read_double. - -2002-10-25 John W. Eaton - - * oct-kpse.c (octave_kpse_clear_dir_cache): Delete. - * oct-kpse.h: Delete decl. - * pathsearch.cc (dir_path::init): Delete unnecessary call to - ::octave_kpse_clear_dir_cache. - -2002-10-24 John W. Eaton - - * lo-sstream.h: Undef HAVE_SSTREAM if using a version of g++ - earlier than 3.0. - - * Makefile.in (LINK_DEPS): Include $(LIBKPATHSEA) here. - (liboctave.$(SHLEXT)): Not here. - -2002-10-17 Paul Kienzle - - * oct-shlib.cc (octave_w32_shlib): New class to support Windows. - -2002-10-16 John W. Eaton - - * Makefile.in (install-lib): Don't bother with versions for - $(SHLBIN) files. - -2002-10-16 Paul Kienzle - - * Makefile.in (LIB_DEPS): Include $(LIBS). - -2002-10-14 John W. Eaton - - * lo-cieee.c: Move everything but lo_ieee_init here. - (lo_ieee_Inf_value, lo_ieee_NA_value, lo_ieee_NaN_value): - New functions. - - * Makefile.in (install): No need to use cd to create links. - (LINK_DEPS): Include $(LIBOCTAVE_LFLAGS) before list of libraries. - -2002-10-14 Paul Kienzle - - * Makefile.in: Merge liboctave with liboct-readline and - liboct-pathsearch. - Use link dependencies for shared libs if INCLUDE_LINK_DEPS. - (libraries): Depend on versioned library. - (liboctave.$(SHLEXT), liboctave.$(SHLEXT_VER)): Reverse actions -- - build unversioned library, symbolic link adds version info. - (install, uninstall): Handle link and load forms of the library - separately. - -2002-10-11 John W. Eaton - - * oct-time.cc: Use OCTAVE_USE_WINDOWS_API instead of __WIN32__ and - __CYGWIN__. - - * file-ops.cc (file_ops::dir_sep_char, file_ops::dir_sep_str, - file_ops::dir_sep_chars): New static functions to replace - OCTAVE_DIR_SEP_CHAR, OCTAVE_DIR_SEP_STR, OCTAVE_DIR_SEP_CHARS. - - * oct-env.cc (octave_env::do_set_program_name): - Use file_ops::dir_sep_chars instead of OCTAVE_DIR_SEP_CHARS. - (octave_env::do_base_pathname): Likewise. - (octave_env::do_make_absolute): Likewise. - - * oct-env.cc (octave_env::do_make_absolute): - Use file_ops::dir_sep_str instead of OCTAVE_DIR_SEP_STR. - (octave_env::do_get_home_directory): Likewise. - - * file-ops.cc (is_dir_sep): Use dir_sep_chars instead of embedding - that information here too. - (tilde_find_suffix, isolate_tilde_prefix, tilde_expand_word): - Use file_ops::dir_sep_char instead of OCTAVE_DIR_SEP_CHAR. - - * file-ops.h: Use OCTAVE_HAVE_WINDOWS_FILESYSTEM and - OCTAVE_HAVE_POSIX_FILESYSTEM instead of __WIN32__ and __CYGWIN__. - -2002-10-09 John W. Eaton - - * oct-env.h (octave_env::current_directory): Now mutable. - (octave_env:do_getcwd): Now const. - - * file-ops.h, file-ops.cc (file_ops::is_dir_sep): New function. - (OCTAVE_DIR_SEP_CHAR, OCTAVE_DIR_SEP_STR, OCTAVE_DIR_SEP_CHARS, - OCTAVE_CURRENT_DIR_STR): New macros. - * oct-env.cc (is_dir_sep): Delete. - (octave_env::do_base_pathname): Look for OCTAVE_DIR_SEP_CHARS, not '/'. - (octave_env::do_set_program_name): Likewise. - (octave_env::do_polite_directory_format): Use file_ops::is_dir_sep - instead of checking for '/'. - (octave_env::pathname_backup): Likewise. - (octave_env::do_absolute_pathname): Likewise. - (octave_env::do_make_absolute): Likewise. - If dot_path is empty, use getcwd to set current_dir. - (octave_env::do_get_home_directory): Use OCTAVE_DIR_SEP_STR - instead of "/". - -2002-10-07 Paul Kienzle - - * lo-cutils.c: On non-Posix Windows systems, include winsock.h. - -2002-10-07 Paul Kienzle - - * oct-env.cc (octave_env::do_absolute_pathname): Recognize - absolute path names under MinGW as well. - -2002-10-07 John W. Eaton - - * oct-env.cc: Include too. - -2002-10-04 John W. Eaton - - * oct-env.cc (octave_env::do_absolute_pathname): Handle Windows - filenames. - (octave_env::do_make_absolute): Check for absolute name with - do_absolute_path. - (octave_env::do_chdir): Likewise. - (is_dir_sep): New function. - -2002-10-03 Paul Kienzle - - * oct-time.cc (octave_time::stamp): Better resolution for Windows - systems. - -2002-10-02 John W. Eaton - - * dMatrix.cc (Matrix::read): Clean up error handling logic. - -2002-09-30 John W. Eaton - - * file-ops.cc (file_ops::mkdir): Handle one-arg mkdir here. - - * lo-specfun.cc (acosh): Call xdacosh, not dacosh. - -2002-09-27 Per Persson - - * oct-group.cc (octave_group::octave_group): Dont' forget to set - gr_gid too. - -2002-09-27 John W. Eaton - - * lo-mappers.cc (xisnan, xfinite, xisinf): Simply forward to - lo_ieee_* functions. - * Makefile.in (LIBOCTAVE_C_SOURCES): Add lo-cieee.c to the list. - * lo-ieee.cc (lo_ieee_double): Rename from ieee_double. - (LO_IEEE_NA_HW, LO_IEEE_NA_LW): Rename from NA_HW and NA_LW. - * lo-cieee.c: New file. - [SCO] (isinf, isnan): Move here from lo-ieee.cc. - * lo-ieee.h: Now all extern "C". - (lo_ieee_isnan, lo_ieee_finite, lo_ieee_isinf): Move here from - lo-mappers.cc and rename from xisnan, xfinite, xisinf. - - * lo-ieee.cc (lo_ieee_hw, lo_ieee_low): Rename from hw and lw. - Now extern. - -2002-09-26 John W. Eaton - - * Array.cc, Array.h, Array2.cc, Array2.h, Array3.cc, Array3.h, - ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, - CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, - CMatrix.h, CRowVector.cc, CRowVector.h, CmplxAEPBAL.cc, - CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, - CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, - CmplxQR.h, CmplxQRP.cc, CmplxQRP.h, CmplxSCHUR.cc, CmplxSCHUR.h, - CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DAE.cc, - DASPK.cc, DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, - DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, FEGrid.h, - LPsolve.cc, LPsolve.h, LSODE.cc, LSODE.h, LinConst.cc, LinConst.h, - MArray.cc, MArray.h, MArray2.cc, MArray2.h, MDiagArray2.cc, - MDiagArray2.h, NLConst.h, NLEqn.cc, NLEqn.h, ODES.cc, ODES.h, - ODESSA.cc, ODESSA.h, Quad.cc, Quad.h, Range.cc, Range.h, - base-lu.cc, base-lu.h, boolMatrix.cc, boolMatrix.h, chMatrix.cc, - chMatrix.h, dColVector.cc, dColVector.h, dDiagMatrix.cc, - dDiagMatrix.h, dMatrix.cc, dMatrix.h, dRowVector.cc, dRowVector.h, - dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, - dbleDET.h, dbleHESS.cc, dbleHESS.h, dbleLU.cc, dbleLU.h, - dbleQR.cc, dbleQR.h, dbleQRP.cc, dbleQRP.h, dbleSCHUR.cc, - dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, idx-vector.h, - oct-alloc.cc: - If __GNUG__, use pragma interface/implementation. Allow this to - be turned off by defining NO_PRAGMA_INTERFACE_IMPLEMENTATION. - -2002-09-26 Paul Kienzle - - * file-ops.cc (file_ops::readlink): Don't declare buffer if - system readlink function is not available. - - * lo-mappers.cc (xerf, xerfc): Delete. - * lo-mappers.h (xerf, xerfc): Delete decls. - - * lo-mappers.cc: Remove unused #define M_PI. - * lo-specfun.cc: Add #define M_PI if needed. - -2002-09-23 John W. Eaton - - * cmd-edit.cc (do_decode_prompt_string): Cope with possibility - that geteuid doesn't exist. - - * LP.h: Rename LP class to octave_LP. - LPsolve.h: Change all uses. - - * file-ops.cc, oct-passwd.cc oct-syscalls.cc oct-group.cc: Remove - incorrect token-pasting op. - - * statdefs.h [! S_ISLNK]: undef HAVE_LSTAT instead of trying to - define lstat. - -2002-09-19 John W. Eaton - - * Array.cc, Array.h, Array2.cc, Array2.h, Array3.cc, Array3.h, - ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, - CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, - CMatrix.h, CRowVector.cc, CRowVector.h, CmplxAEPBAL.cc, - CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, - CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, - CmplxQR.h, CmplxQRP.cc, CmplxQRP.h, CmplxSCHUR.cc, CmplxSCHUR.h, - CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DAE.cc, - DASPK.cc, DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, - DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, FEGrid.h, - LPsolve.cc, LPsolve.h, LSODE.cc, LSODE.h, LinConst.cc, LinConst.h, - MArray.cc, MArray.h, MArray2.cc, MArray2.h, MDiagArray2.cc, - MDiagArray2.h, NLConst.h, NLEqn.cc, NLEqn.h, ODES.cc, ODES.h, - ODESSA.cc, ODESSA.h, Quad.cc, Quad.h, Range.cc, Range.h, - base-lu.cc, base-lu.h, boolMatrix.cc, boolMatrix.h, chMatrix.cc, - chMatrix.h, dColVector.cc, dColVector.h, dDiagMatrix.cc, - dDiagMatrix.h, dMatrix.cc, dMatrix.h, dRowVector.cc, dRowVector.h, - dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, - dbleDET.h, dbleHESS.cc, dbleHESS.h, dbleLU.cc, dbleLU.h, - dbleQR.cc, dbleQR.h, dbleQRP.cc, dbleQRP.h, dbleSCHUR.cc, - dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, idx-vector.h, - oct-alloc.cc: - Use USE_PRAGMA_INTERFACE_IMPLEMENTATION instead of __GNUG__ - to decide whether to use the interface/implementation pragmas. - -2002-09-08 John W. Eaton - - * Makefile.in (INCLUDES): Add lo-sstream.h to the list. - -2002-08-17 Mumit Khan - - * CmplxCHOL.h, CollocWt.h, cmd-edit.h, oct-shlib.h: Don't use - qualified names. - -2002-08-17 John W. Eaton - - * Array.h, Array2-idx.h, DiagArray2.cc, Array2.cc, Array3.cc, - ArrayN.cc: Add typename where needed. - - * DASPK.cc: Include lo-sstream.h and use macros instead of using - strstream classes directly. - * DASRT.cc: Likewise. - * DASSL.cc: Likewise. - * LSODE.cc: Likewise. - * ODESSA.cc: Likewise. - - * cmd-hist.cc: Don't include . - * oct-shlib.cc: Likewise. - - * lo-sstream.h: New file. - -2002-08-16 John W. Eaton - - * LSODE.h (rel_tol, abs_tol, px, pabs_tol, piwork, prwork, itol): - New data members. - (LSODE::sanity_checked): Delete unused data member. - - * DASPKL.h (initialized, abs_tol, rel_tol, px, pxdot, pabs_tol, - prel_tol, pinfo, piwork, prwork): New data members. - * DASSL.h (DASSL): Likewise. - - * DASRT.h (DASRT::sanity_checked): Delete unused data member. - - * DASRT.cc (DASRT::integrate (double)): Better handling of - initialization, changes in options, etc. - * DASPK.cc (DASPK::do_integrate): Likewise. - * DASSL.cc (DASSL::do_integrate): Likewise. - * LSODE.cc (LSODE::do_integrate): Likewise. - -2002-08-15 John W. Eaton - - * DAEFunc.h (DAEFunc::reset): New data member. - * DAERTFunc.h (DAERTFunc::reset): Likewise. - - * base-de.h (base_diff_eqn::set_stop_time): Force restart here. - (base_diff_eqn::clear_stop_time): Likewise. - - * DASSL.cc (DASSL::do_integrate (double)): Handle more optoins. - * DASPK.cc (DASPK::do_integrate (double)): Likewise. - -2002-08-15 Paul Kienzle - - * DASPK-opts.in, DASPK.h: Move include to .in file. - * DASRT-opts.in, DASRT.h: Likewise. - * DASSL-opts.in, DASSL.h: Likewise. - * LSODE-opts.in, LSODE.h: Likewise. - * NLEqn-opts.in, NLEqn.h: Likewise. - * ODESSA-opts.in, ODESSA.h: Likewise. - -2002-08-14 John W. Eaton - - * LSODE.cc (LSODE::error_message): Also return current T on - failures when that makes sense. - * DASSL.cc (DASSL::error_message): Likewise. - * DASRT.cc (DASRT::error_message): Likewise. - * DASPK.cc (DASPK::error_message): Likewise. - * ODESSA.cc (ODESSA:error_message): Likewise. - - * Makefile.in (liboct-pathsearch.$(SHLEXT_VER)): Link to - $(LIBKPATHSEA) here. - -2002-08-08 John W. Eaton - - * lo-ieee.cc (lo_ieee_is_NA): New function. - (lo_ieee_is_NaN_or_NA): New function. - (octave_NA): New global value. - (octave_ieee_init): Initialize it. - * lo-mappers.cc (octave_is_NA): New function. - (octave_is_NaN_or_NA): New function. - (xisnan): Return false if NaN looks like a missing value. - (xisnan (const Complex&)): Use xisnan here. - -2002-08-02 John W. Eaton - - * CMatrix.h (ComplexMatrix::all, ComplexMatrix::any, - ComplexMatrix::cumprod, ComplexMatrix::cumsum, - ComplexMatrix::prod, ComplexMatrix::sum, ComplexMatrix::sumsq): - Default value for dim is -1, not 0. - * dMatrix.h (Matrix::all, Matrix::any, Matrix::cumprod, - Matrix::cumsum, Matrix::prod, Matrix::sum, Matrix::sumsq): Likewise. - * boolMatrix.h (boolMatrix:all, boolMatrix::any): Likewise. - * chMatrix.h (charMatrix::all, charMatrix::any): Likewise. - - * mx-inlines.cc (MX_ANY_ALL_OP_ROW_CODE, MX_ANY_ALL_OP_COL_CODE): - New macros. - (MX_ANY_ALL_OP): Define MX_ANY_ALL_OP using them and - MX_BASE_REDUCTION_OP. - (MX_CUMULATIVE_OP): Fix spelling. Change all uses. - -2002-08-01 John W. Eaton - - * chMatrix.h, chMatrix.cc (charMatrix::any, charMatrix::all): - Return boolMatrix, not Matrix. - - * mx-inlines.cc (MX_ANY_ALL_OP, MX_ALL_OP, MX_ANY_OP): New macros. - * dMatrix.cc (Matrix::any): Replace guts with MX_ANY_OP. - (Matrix::all): Replace guts with MX_ALL_OP. - * CMatrix.cc (ComplexMatrix::any): Replace guts with MX_ANY_OP. - (ComplexMatrix::all): Replace guts with MX_ALL_OP. - * boolMatrix.cc (boolMatrix::any): Replace guts with MX_ANY_OP. - (boolMatrix::all): Replace guts with MX_ALL_OP. - * chMatrix.cc (charMatrix::any): Replace guts with MX_ANY_OP. - (charMatrix::all): Replace guts with MX_ALL_OP. - - * dMatrix.h (Matrix::any): New arg, dim. - (Matrix::all): Likewise. - * CMatrix.h (ComplexMatrix::any): Likewise. - (ComplexMatrix::all): Likewise. - * boolMatrix.h (boolMatrix::any): Likewise. - (boolMatrix::all): Likewise. - * chMatrix.h (charMatrix::any): Likewise. - (charMatrix::all): Likewise. - - * Makefile.in: Use $@-t instead of $@.t. - -2002-07-25 John W. Eaton - - * lo-specfun.cc (gammainc): New arg, err, for scalar version. - Use it in matrix versions to avoid spewing multiple errors. - Call xgammainc instead of dgamit. - -2002-07-22 John W. Eaton - - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const boolMatrix&)): - Get rows and columns right in loop. - (ComplexMatrix::ComplexMatrix (const charMatrix&)): Likewise. - -2002-07-19 John W. Eaton - - * DASPK.cc (DASPK::do_integrate): Allow array tolerances. - * DASRT.cc (DASRT::integrate): Likewise. - * DASSL.cc (DASSL::do_integrate): Likewise. - - * Quad.cc: Don't pass tolerances in constructors. - - * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in, LSODE-opts.in, - NLeqn-opts.in, ODESSA-opts.in, Quad-opts.in: New files. - * DASPK-opts.h, DASRT-opts.h, DASSL-opts.h, LSODE-opts.h, - NLeqn-opts.h, ODESSA-opts.h, Quad-opts.h: Generate automatically - from corresponding .in files. - * LSODE.h, Quad.h: Replace options class definitions with included - file. - * Makefile.in (OPTS_INC_SRC, OPTS_INC): New variables, new rule to - create OPTS_INC files from OPTS_INC_SRC files. - (stamp-prereq): New target. - (libraries): Depend on stamp-prereq. - Include stamp-prereq along with $(MAKEDEPS). - -2002-07-17 John W. Eaton - - * base-de.h (base_diff_eqn::istate): New data member. - (base_diff_eqn::integration_state): New member function. - * LSODE.h, LSODE.cc, ODESSA.h, ODESSA.cc: Delete corresponding - data members and functions. - * DASPK.h, DASRT.h, DASSL.h: Delete idid data member. - * DASPK.cc, DASRT.cc, DASSL.cc: Use istate instead of idid. - -2002-07-16 John W. Eaton - - * base-de.h (base_diff_eqn::stop_time, - base_diff_eqn::stop_time_set, base_diff_eqn::restart, - base_diff_eqn::integration_error): New data members. - (base_diff_eqn::set_stop_time, base_diff_eqn::clear_stop_time, - base_diff_eqn::force_restart, base_diff_eqn::integration_ok, - base_diff_eqn::error_message): New member functions. - * LSODE.h, LSODE.cc, DASSL.h, DASSL.cc, DASPK.h, DASPK.cc, - DASRT.h, DASRT.cc, ODESSA.h, ODESSA.cc: Delete corresponding data - members and functions. - - * DASRT.h (DASRT::set_ng, DASRT::get_ng): Delete - * DASRT.cc (DASRT::DASRT): Set ng here. - (DASRT::integrate): Don't forget to set nn. - - * DAEFunc.h (DAEFunc): Jacobian function now follows format of DASSL. - * DASSL.cc (ddassl_j): Make it work. - * DASPK.cc (ddaspk_j): Likewise. - - * DAE.cc: Delete. - - * DAERT.h, DAERTFunc.h, DASRT.h, DASRT.cc: New files for DAE - solving with root finding. - * Makefile.in: Add them to the appropriate lists. - - * base-dae.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * DAE.h (DAE): Derive from base_diff_alg_eqn, not base_diff_eqn. - -2002-07-10 John W. Eaton - - * ODE.h: Move integrate and do_integrate method declarations and - definitions here. - * base-de.h: From here. - - * ODES.h, ODES.cc, ODESFunc.h, ODESSA.h, ODESSA.cc: New files. - * Makefile.in: Add them to the appropriate lists. - (LIBOCTAVE_CXX_SOURCES): - -2002-07-02 John W. Eaton - - * NLEqn.cc (NLEqn::error_message): New function. - * NLEqn.h (NLEqn::solution_state, NLEqn::solution_ok): New functions. - -2002-07-01 John W. Eaton - - * lo-utils.cc (octave_fgetl): New function. - * cmd-edit.cc (do_readline): Use it instead of octave_fgets. - -2002-05-24 John W. Eaton - - * LSODE.cc (LSODE::error_message): New function. - * LSODE.h: Provide decl. - (LSODE::integration_state): New function. - (LSODE::integration_ok): New function. - -2002-05-23 John W. Eaton - - * LSODE.cc (LSODE_options::x_integration_method): New data member. - (LSODE_options::set_integration_method, - LSODE_options::integration_method): New functions. - - * LSODE.h (LSODE_options::x_absolute_tolerance): Now Array. - Change all uses. - (LSODE_OPTIONS::absolute_tolerance): Return Array, not double. - (LSODE_OPTIONS::set_absolute_tolerance (const Array&)): - New function. - - * Array.h (Array::fortran_vec): New const version. - -2002-05-22 John W. Eaton - - * cmd-edit.cc (gnu_readline::history_search_backward): New function. - (gnu_readline::history_search_forward): Likewise. - (gnu_readline::gnu_readline): Use them instead of passing pointers - to extern "C" functions to octave_rl_ad_defun. - -2002-05-22 Mumit Khan - - * DASPK.cc (ddaspk_psol): Return value. - * oct-rl-edit.c: Use /* ... */ to comment. - -2002-05-20 John W. Eaton - - * DASSL.h (DASSL_options::init): Undo previous change. - (DASSL_options::set_absolute_tolerance): Likewise. - * LSODE.h (LSODE_options::init): Likewise. - (LSODE_options::set_absolute_tolerance): Likewise. - - * DASPK.h (DASPK_options::init): Use default absolute tolerance of - sqrt(eps), not eps^2. - DASPK_options::set_absolute_tolerance): Likewise. - -2002-05-17 Mumit Khan - - * Array.h (Array::resize_fill_value): Return default initialized - object. - -2002-05-14 John W. Eaton - - * oct-rl-edit.c (OCTAVE_RL_SAVE_STRING): New macro. - (octave_rl_set_name, octave_rl_set_basic_quote_characters): Use it. - (octave_rl_set_basic_word_break_characters, - octave_rl_set_completer_word_break_characters): New functions. - * oct-rl-edit.h: Provide decls. - * cmd-edit.cc (gnu_readline::do_set_basic_word_break_characters, - gnu_readline::do_set_completer_word_break_characters): New functions. - (command_editor::set_basic_quote_characters, - command_editor::set_completion_append_character): New static functions. - * cmd-edit.h: Provide decls. - (command_editor::do_set_basic_word_break_characters, - command_editor::do_set_completer_word_break_characters): - New virtual functions. - - * CMatrix.h, boolMatrix.h, chMatrix.h, dMatrix.h - (resize_fill_value): New static function. - - * Array-idx.h (Array::index): New args, resize_ok and - resize_fill_value. - * Array2-idx.h (Array2::index): Likewise. - * ArrayN-idx.h (ArrayN::index): Likewise. - - * Array2.cc (Array::print_info): New function. - * Array2.h: Provide decl. - - * Array.cc (Array::print_info): New function. - * Array.h: Provide decl. - -2002-05-03 John W. Eaton - - * idx-vector.h (idx_vector::idx_vector (int)): New function. - (idx_vector_rep::idx_vector_rep (int)): New decl. - * idx-vector.cc (idx_vector_rep::idx_vector_rep (int)): New function. - - * Array.h (Array::resize_fill_value (void)): New static function. - (assign (Array&, const Array&)): Use it. - * Array2.h (assign (Array2&, const Array2&)): Use it. - * ArrayN.h (assign (ArrayN&, const ArrayN&)): Use it. - -2002-05-02 Cai Jianming - - * Array3.h (Array3::checkelem): Improve error message. - * ArrayN.h (ArrayN::range_error): Likewise. - * DiagArray2.cc (DiagArray2::checkelem): Likewise. - * DiagArray2.cc (DiagArray2::operator ()): Likewise. - -2002-04-30 John W. Eaton - - * DASSL.h (DASSL_options::init): Undo previous change. - (DASSL_options::set_absolute_tolerance): Likewise. - -2002-04-27 John W. Eaton - - * DASPK.h, DASPK.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2002-04-23 John W. Eaton - - * Array2-idx.h (Array2::index (idx_vector&, idx_vector&) const): - Simplify indexing when one or both of the indices are empty. - -2002-04-11 John W. Eaton - - * DASSL.h (DASSL_options::init): Set absolute tolerance to eps ^ 2. - (DASSL_options::set_absolute_tolerance): Likewise. - * LSODE.h (LSODE_options::init): Likewise. - (LSODE_options::set_absolute_tolerance): Likewise. - -2002-04-03 Steven G. Johnson - - * f2c-main.c (MAIN_, MAIN__): Delete. Use F77_DUMMY_MAIN instead. - * file-stat.cc (file_stat::update_internal, file_stat::copy): - Use HAVE_STRUCT_STAT_ST_RDEV instead of HAVE_ST_RDEV. - Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of HAVE_ST_BLKSIZE. - Use HAVE_STRUCT_STAT_ST_BLOCKS instead of HAVE_ST_BLOCKS. - * file-stat.h: Likewise. - * oct-time.cc (octave_time::octave_time, octave_base_tm::strftime, - octave_base_tm::init, octave_strptime::init): Use HAVE_TM_ZONE - instead of HAVE_STRUCT_TM_TM_ZONE. - * strftime.c: Likewise. - * lo-specfun.cc, mach-info.cc, CColVector.cc, CMatrix.cc, - CRowVector.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxHESS.cc, - CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, - CollocWt.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, Quad.cc, - dColVector.cc, dMatrix.cc, dRowVector.cc, dbleAEPBAL.cc, - dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, - dbleSCHUR.cc, dbleSVD.cc: Use F77_FUNC instead of F77_FCN. - -2002-04-02 Paul Kienzle - - * CmplxQR.cc (ComplexQR::init): Use economy QR decomposition - internally when the user requests it. - * CmplxQRP.cc (ComplexQRP::init): Ditto. - * dbleQR.cc (QR::init): Ditto. - * dbleQRP.cc (QRP::init): Ditto. - -2002-02-22 John W. Eaton - - * oct-fftw.cc (octave_fftw::fft2d): Avoid having to find a - definition for NULL by passing 0 as the last arg to fftwnd_one. - (octave_fftw::ifft2d): Likewise. - -2002-02-22 Paul Kienzle - - * lo-mappers.cc (arg): Simply call atan2 (0.0, x). - -2001-12-17 John W. Eaton - - * data-conv.cc (LS_DO_READ): Don't do anything unless len > 0. - (LS_DO_WRITE): Likewise. - -2001-11-16 John W. Eaton - - * mx-inlines.cc (MX_CUMMULATIVE_OP): New macro. - * CMatrix.cc (ComplexMatrix::cumprod, ComplexMatrix::cumsum): Use it. - * dMatrix.cc (Matrix::cumprod, Matrix::cumsum): Likewise. - - * mx-inlines.cc (MX_REDUCTION_OP, MX_REDUCTION_OP_COL_EXPR, - MX_REDUCTION_OP_ROW_EXPR): New macros. - * dMatrix.cc (Matrix::prod, Matrix::sum): Use MX_REDUCTION_OP. - * CMatrix.cc (ComplexMatrix::prod, ComplexMatrix::sum): Likewise. - - * mx-inlines.cc (MX_BASE_REDUCTION_OP): New macro. - DIM == -1 now means no orientation for vector sums. - * dMatrix.cc (ComplexMatrix::sumsq): Use it. - * CMatrix.cc (ComplexMatrix::sumsq): Likewise. - -2001-11-08 John W. Eaton - - * Range.cc (Range::nelem_internal): Special case ranges that must - have zero elements. - -2001-11-06 John W. Eaton - - * Makefile.in: Split out readline and pathsearch functionality - into separate liboct-readline and liboct-pathsearch libraries. - - * oct-rl-edit.c (octave_rl_clear_screen): Call rl_clear_screen, - not _rl_clear_screen. Temporarily redefine rl_redisplay_function - to do nothing for this call to rl_clear_screen. - -2001-10-08 John W. Eaton - - * DASSL.cc (ddassl_f): Handle IRES returned from user supplied - function. - * DAEFunc.h (DAERHSFunc): Add IRES to prototype. - -2001-06-07 John W. Eaton - - * dMatrix.cc (Matrix::inverse, Matrix::solve, Matrix::determinant, - Matrix::inverse): Handle the case of rcond being a NaN the same as - a signular matrix. From "Jianming" . - * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::solve, - ComplexMatrix::determinant, ComplexMatrix::inverse): Likewise. - -2001-05-31 John W. Eaton - - * chMatrix.cc (charMatrix::row_as_string): New parameter, raw. - - * Array-i.cc, Array-s.cc, Array-d.cc, Array-ch.cc, Array-C.cc, - Array-b.cc: Instantiate three arg assign functions. - - * ArrayN.cc (assign (ArrayN&, const ArrayN&, const LT&)): - New arg, resize_fill_value. - * ArrayN.h: Provide declaration. - (assign (ArrayN&, const ArrayN&): Define here by calling - three arg version. - - * Array3.cc (assign (Array3&, const Array3&, const LT&)): - New arg, resize_fill_value. - * Array3.h: Provide declaration. - (assign (Array3&, const Array3&): Define here by calling - three arg version. - - * Array2.cc (assign (Array2&, const Array2&, const LT&)): - New arg, resize_fill_value. - * Array2.h: Provide declaration. - (assign (Array2&, const Array2&): Define here by calling - three arg version. - - * Array.cc (assign (Array&, const Array&, const LT&)): - New arg, resize_fill_value. - * Array.h: Provide declaration. - (assign (Array&, const Array&): Define here by calling - three arg version. - -2001-05-17 John W. Eaton - - * pathsearch.cc (dir_path::set_program_name): Set the environment - variables SELFAUTOLOC, SELFAUTODIR, SELFAUTOPARENT, and TEXMFDBS - to the empty string. - -2001-05-15 John W. Eaton - - * Array2.h (Array2::operator = (const Array2&)): - Don't check for rep != a.rep. - -2001-05-02 Mumit Khan - - * oct-fftw.h, oct-fftw.cc: New files. - * Makefile.in (INCLUDES, SOURCES): Add new files. - * CMatrix.cc (ComplexMatrix::{fourier, ifourier, fourier2d, - ifourier2d}): Use fftw if available. - * dMatrix.cc (Matrix::{fourier, ifourier, fourier2d, ifourier2d}): - Likewise. - -2001-04-25 John W. Eaton - - * Makefile.in (install-lib): Don't use mk-libdir-link. - (install-inc): Don't use mk-includedir-link. - -2001-02-28 John W. Eaton - - * lo-cutils.c (octave_gethostname): New function. - * lo-utils.h: Provide declaration. - * oct-env.cc (octave_env::do_get_host_name): - Call octave_gethostname, instead of gethostname. - - * lo-cutils.c (gethostname): Define here. - * lo-sysdep.cc: Not here. - -2001-02-07 John W. Eaton - - * lo-cutils.c: Don't declare strptime. - (oct_strptime): Cast return type of strptime to char*. - -2001-02-06 John W. Eaton - - * oct-rl-edit.c (octave_rl_newline): Call rl_newline with two args. - (octave_rl_set_name): call rl_re_read_init_file with two args. - (octave_rl_read_init_file): Ditto. - (octave_rl_clear_undo_list): Call rl_free_undo_list, not - free_undo_list. - (octave_rl_completion_matches): Call rl_completion_matches, not - completion_matches. - (octave_rl_enable_paren_matching): New function. - (octave_rl_set_blink_matching_paren_flag): Delete. - (octave_rl_get_blink_matching_paren_flag): Delete. - - * lo-mappers.h, lo-mappers.cc (log10 (const Complex&), - tanh (const Complex&)): Declare and define if not - CXX_ISO_COMPLIANT_LIBRARY. - -2001-02-05 John W. Eaton - - * lo-mappers.h (tanh (const Complex&)): Only declare if not - CXX_ISO_COMPLIANT_LIBRARY. - -2001-02-05 Mumit Khan - - * lo-mappers.cc (tanh (const Complex&)): Only define if not - CXX_ISO_COMPLIANT_LIBRARY. - - * Makefile.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Use to create - archive libraries containing templates. - - * ArrayN-idx.h (freeze, all_ok, any_orig_empty, any_zero_len, - get_zero_len_size, all_colon_equiv): Inline. - (ArrayN::index): Rename idx to arr_idx. - * ArrayN.cc (ArrayN::index, ArrayN::compute_index, - ArrayN::get_size, ArrayN::range_error, ArrayN::range_error, - increment_index, ArrayN::resize, ArrayN::insert): Likewise. - -2001-02-05 John W. Eaton - - * lo-mappers.h, lo-mappers.cc (tan (const Complex&), - log10 (const Complex&)): Delete. - - * oct-cmplx.h: Define forwarding functions for real, imag, abs, - arg, norm, conj, polar, cos, cosh, exp, log, log10, pow, sin, - sinh, sqrt, tan, and tanh. - -2001-01-31 John W. Eaton - - * file-ops.cc, help.cc, load-save.cc, pr-output.cc, utils.cc: - Add std:: namespace qualifier as needed. - - * mx-inlines.cc: Rename all functions with mx_inline_ prefix. - Change all uses to match. - -2001-01-29 John W. Eaton - - * lo-cutils.c: Don't delcare strptime. - -2001-01-02 John W. Eaton - - * CMatrix.cc (operator * (const ComplexMatrix&, const ComplexMatrix&): - Return correct size result for empty matrix case. - -2000-12-15 John W. Eaton - - * lo-mappers.cc (xmin (const Complex&, const Complex& y): - If args are equal in magnitude, return first arg instead of - second. - -2000-12-13 John W. Eaton - - * Range.cc (Range::nelem_internal): Call tfloor, not round, but - then try harder to compute correct number of elements. - - * dMatrix.cc (Matrix::lssolve): Ask DGELSS for size of work vector. - * CMatrix.cc (ComplexMatrix::lssolve): Likewise, for ZGELSS. - -2000-12-09 John W. Eaton - - * Range.cc (Range::nelem_internal): Call round here, not tfloor. - Rename n_intervals to be n_elt. - - * strptime.c: Surround everything after including config.h in - #ifndef HAVE_STRPTIME ... #endif. - -2000-11-29 John W. Eaton - - * Array-idx.h (assign): When resizing, cast fill value to LT. - * Array2-idx.h (MAYBE_RESIZE_LHS): Likewise. - -2000-11-28 John W. Eaton - - * MArray-defs.h: Protect against multiple inclusion. - -2000-11-20 John W. Eaton - - * data-conv.h (enum save_type): Move LS_U_LONG and LS_LONG to the - end of the list, to be compatible with previous versions of Octave. - -2000-11-16 Paul Kienzle - - * oct-time.cc (DEFINE_SET_INT_FIELD_FCN): Don't check limits here, - since mktime is supposed to `normalize' the results for us. - -2000-10-31 Paul Kienzle - - * Array2.cc (Array2::transpose): Avoid copy for empty matrices - and vectors. Use xelem for faster access to elements when copying. - -2000-10-18 John W. Eaton - - * CMatrix.cc (ComplexMatrix::cumsum, ComplexMatrix::cumprod): - Correct indexing for operation across rows. - * dMatrix.cc (Matrix::cumsum, Matrix::cumprod): Likewise. - -2000-10-12 Paul Kienzle - - * Array2-idx.h (Array2::index (idx_vector&)): Avoid copying - elements if arg is a colon. - -2000-10-12 Cai Jianming - - * dMatrix.cc (Matrix::cumprod (int) const): New arg, DIM. - (Matrix::cumsum (int) const): Likewise. - (Matrix::prod (int) const): Likewise. - (Matrix::sum (int) const): Likewise. - (Matrix::sumsq (int) const): Likewise. - * CMatrix.cc (ComplexMatrix::cumprod (int dim) const): Likewise. - (ComplexMatrix::cumsum (int) const): Likewise. - (ComplexMatrix::prod (int) const): Likewise. - (ComplexMatrix::sum (int) const): Likewise. - (ComplexMatrix::sumsq (int) const): Likewise. - -2000-10-10 John W. Eaton - - * Array2-idx.h (Array2::index (idx_vector&)): Correctly set - size if Array::index returns an empty array. - -2000-08-02 John W. Eaton - - * file-ops.cc (file_ops::link, file_ops::symlink, - file_ops::readlink): New functions. - -2000-08-01 John W. Eaton - - * Array2-idx.h (Array2::index (idx_vector&)): If a scalar is - indexed, always return an object the same size as the index arg. - - * oct-time.cc (octave_base_tm::strftime): Return empty string for - empty format. - -2000-07-25 John W. Eaton - - * lo-cutils.c (oct_strptime): New function. - * oct-time.cc (octave_strptime::init): Call it instead of strptime. - Don't declare strptime. Don't define _XOPEN_SOURCE or _BSD_SOURCE. - -2000-07-18 John W. Eaton - - * oct-time.cc: Comment out _BSD_SOURCE and _XOPEN_SOURCE definitions. - - * Makefile.in (MATRIX_INC): Add ArrayN-idx.h to the list. - -2000-06-29 John W. Eaton - - * dMatrix.h (read_int): Provide declaration. - -2000-06-29 James R. Van Zandt - - * data-conv.cc (read_doubles): Handle EIGHT_BYTE_INT cases. - (write_doubles): Ditto. - * data-conv.h: Ditto. - (enum save_type): New values, LS_U_LONG and LS_LONG. - -2000-06-27 John W. Eaton - - * boolMatrix.h: Declare MM_CMP_OPS here. - * boolMatrix.cc: Define them here. - -2000-06-08 John W. Eaton - - * Array2-idx.h (assign): Allow x(bool) = RHS to succeed if x is - previously undefined and set size of x to size of bool index. - * idx-vector.cc (IDX_VEC_REP::maybe_convert_one_zero_to_idx): - Allow z_len to be zero. - (IDX_VEC_REP::freeze): If z_len is zero, set frozen_at_z_len to len. - If frozen, don't assert that frozen_at_z_len == z_len. - -2000-05-20 John W. Eaton - - * oct-rl-edit.c (octave_rl_clear_screen): Call _rl_clear_screen - instead of rl_clear_screen. - -2000-05-11 John W. Eaton - - * Array-d.cc: Instantiate ArrayN here too. - * Array-idx-vec.cc, ArrayN-idx.h, ArrayN.cc, ArrayN.h: New files. - * Makefile.in: Add them to the appropriate lists. - -2000-04-06 John W. Eaton - - * Array.cc (Array::operator =): Don't set max_indices to 1 here. - -2000-03-23 John W. Eaton - - * lo-sysdep.h: octave_chdir returns int, not bool. - -2000-03-21 John W. Eaton - - * Makefile.in (liboctave.$(SHLEXT)): Delete target - before rebuilding. - -2000-03-21 Ben Sapp : - - * Makefile.in (liboctave.$(LIBEXT)): New target. - (libraries): Depend only on library targets, not archive members. - -2000-03-17 John W. Eaton - - * Makefile.in: (objects): New target. - - * lo-cutils.c: New file. - * Makefile.in (SOURCES): Add it to the list. - * lo-utils.h: Declare octave_qsort here. - * Array.h (Array::qsort): Use it here. - -2000-03-08 John W. Eaton - - * oct-time.cc: Include and , if available. - -2000-02-18 John W. Eaton - - * oct-rl-hist.c (octave_history_list): Do something when not - printing line numbers. Fix reallocation of retval. - -2000-02-11 John W. Eaton - - * Makefile.in (install-inc): Install files in - $(octincludedir)/octave. - (uninstall): Remove them from the correct directory too. - - * oct-time.cc: Temporarily define _BSD_SOURCE and _XOPEN_SOURCE if - they are not already defined. - -2000-02-08 John W. Eaton - - * CRowVector.cc, CRowVector.h, CColVector.cc, CColVector.h: - Delete declarations and definitions of mixed-type vector-vector ops. - -2000-02-07 John W. Eaton - - * CMatrix.h, CMatrix.cc: Add lssolve methods for real-valued RHS - matrix and vector objects. - - * mx-op-defs.h (DMM_BIN_OP): Explicitly request conversion to - return type from second arg type. - (MDM_BIN_OP): Likewise, for first arg type. - - * dMatrix.cc (Matrix::fourier, Matrix::ifourier, - Matrix::fourier2d, Matrix::ifourier2d): Likewise. - - * EIG.cc (EIG::symmetric_init, EIG::hermitian_init): Explicitly - request ColumnVector to ComplexColumnVector, and Matrix to - ComplexMatrix conversions. - - * CmplxAEPBAL.cc (ComplexAEPBALANCE::init): Give balancing_mat its - initial value using ComplexMatrix constructor. - - * CColVector.cc (product, quotient, - operator * (const DiagMatrix&, const ComplexColumnVetor&)): - Fix type of returned value. - * CDiagMatrix.cc (ComplexDiagMatrix::row, - ComplexDiagMatrix::column, ComplexDiagMatrix::inverse): Likewise. - - * Array.h, CColVector.h, CDiagMatrix.h, CMatrix.h, CRowVector.h, - MArray.h, MDiagArray2.h, dColVector.h, dDiagMatrix.h, dMatrix.h, - dRowVector.h: Declare some constructors explicit, to disallow - potentially problematic automatic type conversions. - -2000-02-05 John W. Eaton - - * vx-rv-crv.h, vx-cv-ccv.h, vx-crv-rv.h, vx-ccv-cv.h, - vx-rv-crv.cc, vx-cv-ccv.cc, vx-crv-rv.cc, vx-ccv-cv.cc: - More new files. - * Makefile.in: Add them to the appropriate lists. - - * vx-ccv-s.h, vx-crv-s.h, vx-cs-cv.h, vx-cs-rv.h, vx-cv-cs.h, - vx-rv-cs.h, vx-s-ccv.h, vx-s-crv.h, vx-ccv-s.cc, vx-crv-s.cc, - vx-cs-cv.cc, vx-cs-rv.cc, vx-cv-cs.cc, vx-rv-cs.cc, vx-s-ccv.cc, - vx-s-crv.cc:, New files. - * Makefile.in: Add them to the appropriate lists. - - * CRowVector.h, CRowVector.cc, CColVector.h, CColVector.cc: - Delete scalar by vector and vector by scalar binary ops. - - * MArray-defs.h: More new macros to handle MDiagArray operators. - * dDiagMatrix.h, CDiagMatrix.h: Use the op-forwarding macros. - -2000-02-04 John W. Eaton - - * oct-rl-edit.c (octave_rl_set_event_hook): Take address of - rl_event_hook before casting to void **. - (octave_rl_set_startup_hook): Likewise, for rl_startup_hook. - - * MArray-defs.h: Many new macros to make declaration and - definition of operators more consistent. - - * MArray.h, MArray2.h, dColVector.h, dRowVector.h, CColVector.h, - CRowVector.h, dMatrix.h, CMatrix.h: Use them. - -2000-02-03 John W. Eaton - - * dMatrix.cc (Matrix::ifourier): Cast divisor to double. - (Matrix::ifourier2d): Likewise. - * CMatrix.cc (ComplexMatrix::ifourier): Likewise. - (ComplexMatrix::ifourier2d): Likewise. - - * Array.h (Array::ArrayRep::qsort): Cast len to size_t. - -2000-02-01 John W. Eaton - - * oct-rl-edit.c, oct-rl-edit.h: New files for interface to GNU - readline library. - * Makefile.in: Add them to the appropriate lists. - - * oct-rl-hist.c, oct-rl-hist.h: New files for interface to GNU - readline history library. - * Makefile.in: Add them to the appropriate lists. - - * data-conv.cc (LS_DO_WRITE): Cast arg to ostream::write to char*. - (LS_DO_READ): Likewise, for istream::read. - (write_doubles): Likewise. - (read_doubles): Likewise. - - * oct-env.cc (octave_env::do_polite_directory_format): - Use operator== and substr method to do limited-length string - comparison. - - * Array2-idx.h, Array-idx.h: Avoid shadowing warnings for idx. - - * Quad.h: Use do_integrate as name of pure virtual function. - - * base-de.h: Use tt instead of t as arg names. - Add method with tcrit arg. - - * DAE.h, DAE.cc: Likewise, also xx for x. - - * DASSL.cc (dassl_fcn_ptr, dassl_jac_ptr): New typedefs. - * LSODE.cc: lsode_fcn_ptr, lsode_jac_ptr): Ditto. - * Quad.cc (quad_fcn_ptr): Ditto. - * NLEqn.cc (hybrd1_fcn_ptr, hybrj1_fcn_ptr): Ditto. - - * oct-getopt.h, oct-getopt.c: New files for interface to getopt. - * Makefile.in: Add them to the appropriate lists. - - * oct-kpse.h, oct-kpse.c: New files for interface to kpathsearch. - * Makefile.in: Add them to the appropriate lists. - - * dMatrix.cc (write_int, read_int): No longer declared static. - - * CDiagMatrix.h: Delete decls for friend operators that are - handled by MDiagArray2 class. Move others outside class decl and - strip friend status. - * dDiagMatrix.h: Likewise. - - * MArray.h: Delete decls for friend operators inside class decl. - * MArray2.h: Ditto. - * MDiagArray2.h: Ditto. - - * MArray-defs.h (DO_VS_OP,, DO_SV_OP, DO_VV_OP, NEGV): Pass all - necessary parameters. Don't allocate memory in the macro. Change - all uses. - - * dMatrix.h (class Matrix): Delete `friend class' decls. - * CMatrix.h (class ComplexMatrix): Ditto. - - * mx-op-defs (MS_BOOL_OP, MS_BOOL_OPS, SM_BOOL_OP, SM_BOOL_OPS, - MM_BOOL_OP, MM_BOOL_OPS, MDM_MULTIPLY_OP, MDM_BIN_OPS, - DMM_MULTIPLY_OP, DMM_BIN_OPS): Pass zero constant as final arg, to - avoid type conflicts. Change all uses. - - * strptime.c (__mon_yday): Fix size of array decl. - - * mx-inlines.cc: Use `xnot' instead of `not' for function name. - - * chMatrix.cc (charMatrix::row_as_string): Delete extraneous - default value for second arg. - - * Array2.cc (Array2::resize): Add Array:: qulaifier to - references to ArrayRep. - -2000-01-31 John W. Eaton - - * Array.h (Array::ArrayRep): Now protected, not private. - - * All source files: Include iostream, fstream, strstream, - etc. as needed instead of using forward declarations for these - classes. Add std:: qualifier as needed. - -2000-01-30 John W. Eaton - - * oct-time.cc: Declare strptime extern "C". - -2000-01-29 John W. Eaton - - * oct-time.cc [! HAVE_STRPTIME]: Provide declaration. - -2000-01-28 John W. Eaton - - * Array2.h (Array2::get_size): Now protected instead of private. - * Array3.h, Array3.cc: Use it in constructors and resize methods - to get total size to be allocated. - - * DASSL.cc (DASSL::integrate): Declare do_restart and save_output - as bool, not int. - -2000-01-26 John W. Eaton - - * Array2-idx.h (assign (Array2& lhs, const Array2& rhs)): - Allow A(idx) = RHS if idx is a boolean index with the same shape - as A, even when do_fortran_indexing is not enabled. - (Array2::index (idx_vector& idx) const): Likewise, for A(idx). - -2000-01-25 John W. Eaton - - * dMatrix.cc (Matrix::solve (...)): Add new variant with - function pointer as final arg. Passed function (if any) will be - called for singularity errors. - * CMatrix.cc (ComplexMatrix::solve (...)): Likewise. - - * dMatrix.cc (Matrix::pseudo_inverse): Use economy SVD. - * CMatrix.cc (ComplexMatrix::pseudo_inverse): Likewise. - - * lo-ieee.cc (octave_ieee_init): Don't include sunmath.h. - No longer bother with infinity or quiet_nan. - - * Array2.cc (Array2::get_size): New function. - (Array2::Array2, Array2::resize): Use it. - -2000-01-23 John W. Eaton - - * Array2-idx.h (Array2::maybe_delete_elements (idx_vector&)): - New function. - (assign (Array2& lhs, const Array2& rhs)): - Use it when indexing with one arg instead of faking a second one. - (Array2::maybe_delete_elements (idx_vector&, idx_vector&)): - Return empty matrices with the correct dimensions for A(:,:) = [] - and also A(:,idx) = [], and A(idx,:) = [] when idx enumerates all - rows or columns. - - * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Recognize a bool - vector that is all true values with a length equal to n as colon - equivalent. - -2000-01-22 John W. Eaton - - * strptime.c: Only include langinfo.h if _LIBC is defined. - -2000-01-21 A. Scottedward Hodel - - * CMatrix.cc (ComplexMatrix::expm): Apply permutation and scaling - operations directly in step 2 and reverse step 2. - * dMatrix.cc (Matrix::expm): Apply permutation and scaling - operations directly in step 2 and reverse step 2. - -2000-01-20 John W. Eaton - - * oct-time.h, oct-time.cc (octave_strptime): New class. - - * strptime.c: New file, from glibc 2.1.2. - * Makefile.in (SOURCES): Add strptime.c to the list. - -2000-01-11 John W. Eaton - - * MArray.h (MArray &)): New constructor. - -2000-01-10 John W. Eaton - - * pathsearch.cc (dir_path::all_directories): Avoid dereferencing - NULL directory list returned from kpse_element_dirs - -1999-12-08 John W. Eaton - - * dbleLU.cc (LU::LU): Call DGETRF directly instead of calling DGESV. - * CmplxLU.cc (ComplexLU::ComplexLU): Likewise, call ZGETRF - directly, instead of calling ZGESV. - -1999-11-18 John W. Eaton - - * data-conv.cc (init_sized_type_lookup_table): New function. - (string_to_data_type): Use it to improve lookup of data types. - -1999-11-16 John W. Eaton - - * dMatrix.cc (is_symmetric): Move here from Array2.cc. - * Array2.h (is_symmetric): Delete declaration. - -1999-11-10 John W. Eaton - - * oct-env.cc (do_get_user_name): Reverse sense of test. - -1999-11-07 John W. Eaton - - * oct-time.cc (Fstrftime): Undo previous change. - (octave_time::octave_time (const octave_base_tm&)): Likewise. - -1999-11-03 John W. Eaton - - * dbleSVD.cc (SVD::init): Let DGESVD determine work space requirement. - * CmplxSVD.cc (ComplexSVD::init): Likewise, for complex version. - - * dbleSCHUR.cc (SCHUR::init): IWORK is always referenced by dgeesx. - Don't forget to pass length of third string argument to dgeesx. - - * CmplxSCHUR.cc (ComplexSCHUR::init): Don't forget to pass length - of third string argument to zgeesx. - -1999-11-02 John W. Eaton - - * DiagArray2.cc (DiagArray2::operator () (int, int)): - On errors, simply return `T ()'. - (DiagArray2::checkelem (int, int)): Likewise. - -1999-11-02 A. Scottedward Hodel - - * dMatrix.cc (Matrix::expm): Do balancing here instead of using - AEPBALANCE class. - * CMatrix.cc (ComplexMatrix::expm): Likewise. - -1999-10-29 John W. Eaton - - * oct-shlib.cc, oct-shlib.h: New files. - * Makefile.in (INCLUDES, SOURCES): Add them to the lists. - -1999-10-26 John W. Eaton - - * CRowVector.cc (linspace): Allow npoints == 1 if x1 == x2. - * dRowVector.cc (linspace): Ditto. - - * oct-time.cc (Fstrftime): Don't save or delete tm_zone. - (octave_time::octave_time (const octave_base_tm&)): Likewise. - -1999-10-21 John W. Eaton - - * DASSL.cc (DASSL::do_integrate (double)): If we have a function - to evaluate the Jacobian, set info(4), not iwork(4). - Set rwork(1) to the maximum step size, not rwork(2). - -1999-10-14 John W. Eaton - - * oct-time.cc: Include . - -1999-10-13 John W. Eaton - - * cmd-edit.h (command_editor::do_resize_terminal): New function. - * cmd-edit.cc (command_editor::resize_terminal): New function. - (gnu_readline::do_resize_terminal): New function. - -Fri Sep 3 12:39:17 1999 John W. Eaton - - * lo-mappers.cc: Include ieeefp.h and sunmath.h if we have them. - * lo-ieee.c: Likewise. - Delete extern "C" declarations for infinity and quiet_nan. - -Fri Aug 20 07:58:00 1999 John W. Eaton - - * mx-inlines.cc (VS_OP, SV_OP, VV_OP): Delete `extern template' decls. - (VS_OP_FCN, SV_OP_FCN, VV_OP_FCN): Declare template functions - `inline', not `static inline'. - - * idx-vector.cc (intcmp): Declare args as const void *, not int *, - then cast to const int * to compare. - -Fri Jul 16 11:23:51 1999 John W. Eaton - - * DAEFunc.h: Remove useless preprocessor conditional. - -Thu Jul 15 14:10:33 1999 John W. Eaton - - * cmd-edit.cc (command_editor::do_decode_prompt_string): - Use octave_time object instead of time_t. - - * file-stat.h (file_stat::fs_atime, file_stat::fs_mtime, - file_stat::fs_ctime): Now octave_time objects. - (file_stat::atime, file_stat::mtime, file_stat::ctime): - Return octave_time objects. - (file_stat::is_newer): Args are now octave_time objects instead of - time_t. - - * oct-time.h (octave_time::as_double): Delete. - (octave_time::operator double ()): New function. - (octave_time::operator time_t ()): New function. - (octave_time::ctime): New function. - (octave_base_tm::strftime): Renamed from format_as_string. - (octave_base_tm::asctime): New function. - (operator == (const octave_time&, const octave_time&), - operator != (const octave_time&, const octave_time&), - operator < (const octave_time&, const octave_time&), - operator <= (const octave_time&, const octave_time&), - operator > (const octave_time&, const octave_time&), - operator >= (const octave_time&, const octave_time&)): - New comparison functions. - - * strftime.c: Move here from src directory. - * Makefile.in (SOURCES): Add it to the list. - - * oct-time.h (octave_time::octave_time (time_t)): New constructor. - -Wed Jul 14 17:38:07 1999 John W. Eaton - - * oct-time.h, oct-time.cc: New files. - * Makefile.in (INCLUDES, SOURCES): Add them to the lists. - - * systime.h: Move here from src directory. - * Makefile.in (INCLUDES): Add it to the list. - -Mon Jul 12 22:34:34 1999 John W. Eaton - - * mx-defs.h (b_d_Mapper, b_c_Mapper): New typedefs. - * dMatrix.cc (Matrix::map (b_d_Mapper)): New function. - * CMatrix.cc (ComplexMatrix::map (b_c_Mapper)): New function. - * lo-mappers.cc (xisinf, xisnan, xfinite): Return bool, not double. - - * lo-mappers.cc (xmin, xmax): New functions to correctly handle NaNs. - -Mon May 10 07:45:11 1999 John W. Eaton - - * MArray-defs.h (DO_VV_OP2): Fix macro definition to use arg. - -Wed May 5 20:06:10 1999 John W. Eaton - - * Array2-idx.h (Array2index (idx_vector& idx)): Always return a - column vector for A(:), for compatibility with Matlab. - -Fri Apr 23 11:52:23 1999 John W. Eaton - - * LSODE.cc (LSODE::do_integrate (double)): Don't forget to set - iopt when there are optional inputs in rwork or iwork. - -Fri Mar 26 11:26:32 1999 John W. Eaton - - * Makefile.in (libraries): Use the libfoo.a(objects) method of - creating static libs. - -Thu Mar 4 02:17:04 1999 James Macnicol - - * data-conv.cc (oct_data_conv::string_to_data_type): Handle uint16 - and uint32 data types. - -Thu Mar 4 01:51:37 1999 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Don't use __alpha__-specific code - for Linux. Remove old Linux-specific code. - -Tue Jan 19 09:34:55 1999 John W. Eaton - - * dMatrix.cc (operator * (const ColumnVector& v, const RowVector& a)): - Don't require lengths to be equal. - * CMatrix.cc (operator * (const ComplexColumnVector& v, const - ComplexRowVector& a)): Likewise - -Tue Nov 24 23:38:19 1998 Eric Norum - - * statdefs.h: Only define mode_t if not already defined. - -Tue Nov 24 17:24:52 1998 john - - * lo-specfun.cc (airy, biry): Set imaginary part of result to zero - when appropriate. - -Mon Nov 23 09:57:05 1998 John W. Eaton - - * cmd-edit.cc (gnu_readline::gnu_readline): Set terminal name - before calling rl_initialize. - -Tue Nov 17 23:47:24 1998 John W. Eaton - - * lo-specfun.cc (besselh, airy, biry): New functions. - Update Bessel function support to use library by D. E. Amos. - -Thu Nov 12 17:44:15 1998 John W. Eaton - - * cmd-edit.h (command_editor::readline): Add new variation that - allows EOF information to be passed back to caller. - - * dMatrix.cc (Matrix::read): Do the right thing for EOF when - amount of data to read is unspecified. - -Tue Nov 10 07:53:15 1998 John W. Eaton - - * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): New macro. - (DEFINE_OCTAVE_ALLOCATOR): Ditto. - - * byte-swap.h (swap_bytes, swap_2_bytes, swap_4_bytes, swap_8_bytes): - Add volatile qualifier to void* arg. - Cast volatile void* arg to volatile char*. - -Mon Nov 9 08:28:31 1998 John W. Eaton - - * cmd-edit.h (command_editor::do_set_event_hook): New function. - (command_editor::do_restore_event_hook): Ditto. - * cmd-edit.cc (command_editor::set_event_hook): Ditto. - (command_editor::restore_event_hook): Ditto. - (gnu_readline::do_set_event_hook): Ditto. - (gnu_readline::do_restore_event_hook): Ditto. - (gnu_readline::previous_event_hook): New data member. - (gnu_readline::gnu_readline): Initialize previous_event_hook. - -Mon Nov 2 13:36:04 1998 John W. Eaton - - * Makefile.in (BINDISTLIBS): Don't include .$(SHLEXT_VER) in name. - - * Makefile.in (stmp-pic): New target. - ($(PICOBJ)): Depend on stmp-pic, not pic. - (clean): Remove stmp-pic - - * Makefile.in: Undo previous change to avoid optmization when - compiling lo-ieee.cc. - -Sun Nov 1 10:10:40 1998 John W. Eaton - - * lo-mappers.cc (xfinite): Define in terms of xfinite for real and - imaginary parts. - (xisinf): Define in terms of xisinf for real and imaginary parts. - -Thu Oct 29 18:57:50 1998 John W. Eaton - - * boolMatrix.cc (boolMatrix::operator !): New function. - -Fri Oct 23 21:46:20 1998 John W. Eaton - - * pathsearch.h (dir_path::default_path): New data member. - * pathsearch.cc (dir_path::init): Use it. - - * Makefile.in: Avoid optmization when compiling lo-ieee.cc. - -Fri Oct 16 01:08:30 1998 John W. Eaton - - * chMatrix.cc (charMatrix::extract): New function. - (charMatrix::charMatrix (char c)): New constructor. - -Tue Oct 13 22:11:08 1998 John W. Eaton - - * cmd-edit.h: (command_editor::do_read_init_file): New function. - * cmd-edit.cc (command_editor::read_init_file): New function. - (gnu_readline::do_read_init_file): Likewise. - -Fri Sep 25 14:26:44 1998 John W. Eaton - - * oct-env.cc (octave_env::do_get_home_directory): - If HOME can't be found, set it to "/". - (octave_env::do_get_user_name) - If user name can't be found, set it to "unknown". - (octave_env::do_get_host_name) - If host name can't be found, set it to "unknown". - - * pathsearch.h (dir_path::rehash): New function. - * pathsearch.cc (dir_path::init): Clear kpathsea's internal - diretcory cache before doing initialization. - -Thu Sep 24 13:23:25 1998 John W. Eaton - - * dMatrix.cc (Qzval): Delete. - (qzhes, qzit, qzval): Delete F77_FCN declarations. - * dMatrix.h (Qzval): Delete declaration. - - * dbleGEPBAL.h, dbleGEPBAL.cc: Delete. - * Makefile.in (MATRIX_INC, MATRIX_SRC): Delete them from the lists. - * mx-ext.h: Don't include dbleGEPBAL. - - * lo-ieee.cc (octave_ieee_init): For now, use X_CAST instead of - static_cast. - -Fri Sep 4 10:58:22 1998 John W. Eaton - - * dMatrix.cc (Matrix::read): Skip after reading, not before. - From: Dr.-Ing. Torsten Finke . - -Wed Sep 2 09:50:21 1998 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): For Linux on arm, don't rely on - HUGE_VAL and NAN. - -Wed Aug 26 15:04:57 1998 John W. Eaton - - * Array2-idx.h (assign (Array2& lhs, const Array2& rhs)): - Handle x(i) = scalar for do_fortran_indexing == 1. - -Thu Jul 30 00:34:10 1998 John W. Eaton - - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const charMatrix&)): - Alloctate space before attempting to use it. - (ComplexMatrix::ComplexMatrix (const boolMatrix&)): Likewise. - -Mon Jun 22 17:04:27 1998 Tomislav Goles - - * EIG.cc (EIG::init): Move invariant code outside loop. - -Thu Jun 18 11:08:23 1998 John W. Eaton - - * MArray2.cc (MARRAY_A2A2_OP): If operands are empty, make result - have the same size as the operands. - -Thu May 28 10:41:04 1998 John W. Eaton - - * DASSL.cc (DASSL::do_integrate): If an exception occurs in the - call to ddassl, set integration_error to 1 before calling the - error handler and returning. - * LSODE.cc (LSODE::do_integrate): Likewise. - -Wed May 27 13:46:30 1998 John W. Eaton - - * Array2-idx.h (assign): Allow A([],[]) = scalar and, if - do_fortran_indexing is set, A([]) = scalar. - * Array-idx.h (assign): Allow A([]) = scalar. - -Thu May 14 11:50:24 1998 John W. Eaton - - * mx-op-defs.h (MDM_MULTIPLY_OP): Compute result if dm_nc > 0, not - if dm_nc == 0. - -Thu Apr 23 16:15:37 1998 John W. Eaton - - * pathsearch.h (dir_path::p_orig): New field. - * pathsearch.cc (dir_path::init): Perform variable and tilde - expansion on the original path here. - (dir_path::find_all): Don't do anything if not initialized. - -Tue Apr 14 14:41:30 1998 John W. Eaton - - * Array2-idx.h (index): Allow x(:) even when do_fortran_indexing - is not set. - (index): Allow x = zeros (2, 0); x(1,:) to work. - - * lo-specfun.cc (gammainc): Use dgamit to compute - (\int_0^x exp(-t) t^(a-1) dt)/gamma(a), not just - \int_0^x exp(-t) t^(a-1) dt. - -Wed Apr 8 22:50:44 1998 John W. Eaton - - * Array-C.cc, Array-b.cc, Array-ch.cc, Array-i.cc, Array-d.cc, - Array-s.cc: Change return types of all `assign' explicit - instantiations to be int, not void, to match the template decl in - Array.h. - -Mon Apr 6 00:27:06 1998 John W. Eaton - - * lo-specfun.cc (gammainc): Reorder args in call to xdgami. - -Thu Feb 19 01:16:38 1998 John W. Eaton - - * lo-specfun.cc (xgamma, xlgamma): Define here. - * lo-mappers.cc: Not here. - - * lo-specfun.h: Declare xgamma and xlgamma here. - * lo-mappers.h: Not here. - - * lo-specfun.h: Never declare gamma or lgamma. - -Tue Feb 10 16:14:36 1998 John W. Eaton - - * Array-idx.h (assign): Allow A([]) = X to succeed if X is an - empty matrix of any dimension. - -Thu Feb 5 02:12:38 1998 John W. Eaton - - * oct-syscalls.cc (octave_syscalls::vfork): New function. - - * lo-specfun.cc: Don't include dbleBessel.h. - - * Makefile.in (INCLUDES): Delete oct-math.h from the list. - - * dir-ops.h (dir_entry::operator bool ()): Return bool, not void*. - * file-stat.h (file_stat::operator bool ()): Likewise. - * idx-vector.h (idx_vector::operator bool ()): Likewise. - * oct-group.h (octave_group::operator bool ()): Likewise. - * oct-passwd.h (octave_passwd::operator bool ()): Likewise. - - * data-conv.cc (IEEE_little_double_to_IEEE_big_double): - Don't cast arg in call to swap_8_bytes. - (IEEE_big_double_to_IEEE_little_double): Ditto - (IEEE_big_float_to_IEEE_little_float): Don't cast arg in call to - swap_4_bytes. - (IEEE_little_float_to_IEEE_big_float): Ditto - - * oct-alloc.cc (grow): Use X_CAST, not static_cast. - * prog-args.cc (prog_args::getopt): Likewise. - * dMatrix.cc (read_int, do_read, write_int, do_write): Likewise. - * cmd-edit.cc (gnu_readline::do_set_completion_function): Likewise. - * data-conv.cc (LS_DO_READ, LS_DO_WRITE, read_doubles, write_doubles): - Likewise. - - * byte-swap.h (swap_bytes, swap_2_bytes, swap_4_bytes, - swap_8_bytes): Declare ptr arg as void*, then use cast. - -Mon Feb 2 01:42:56 1998 John W. Eaton - - * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). - Use $(mk-libdir-link). - - * file-stat.cc (file_stat::update_internal): Use stat and lstat, - not SAFE_STAT and SAFE_LSTAT. - (lstat): New function, defined if HAVE_LSTAT is not defined. - * safe-xstat.hin, safe-xstat.cin: Delete. - * Makefile.in: Delete rules for safe-stat.h, safe-stat.c, - safe-lstat.h, and safe-lstat.cc. - -Fri Jan 30 23:48:43 1998 John W. Eaton - - * chMatrix.cc (charMatrix::all, charMatrix::any): New functions. - -Tue Jan 20 16:30:00 1998 John W. Eaton - - * dMatrix.cc (Matrix::expm): Skip trace normalization step if the - trace is negative. - * CMatrix.cc (ComplexMatrix::expm): Skip trace normalization if - the real part of the trace is negative. - -Mon Jan 19 16:01:59 1998 John W. Eaton - - * dMatrix.cc (Matrix::expm): Call xdlange instead of dlange. - * CMatrix.cc (ComplexMatrix::expm): Call xzlange instead of zlange. - - * Array2-idx.h (assign): Allow operations like a = 1; a(2:3) = [1;2] - to succeed. - -Thu Dec 18 14:53:45 1997 John W. Eaton - - * idx-vector.cc (IDX_VEC_REP::sort): Don't do anything unless len > 1. - (make_uniq): Likewise. - -Fri Dec 12 10:58:33 1997 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Check for linux before __alpha__. - -Sun Nov 30 14:59:12 1997 John W. Eaton - - * lo-mappers.cc: Include cmath and lo-specfun.h, not oct-math.h. - - * lo-specfun.h, lo-specfun.cc: New files. - * Makefile.in (INCLUDES, SOURCES): Add them to the lists. - - * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c, - oct-math.h: Delete. - * Makefile.in (SOURCES): Delete them from the list. - -Wed Nov 26 20:02:13 1997 John W. Eaton - - * lo-sysdep.cc (octave_getcwd): Prefer getcwd over getwd. - -Wed Nov 19 02:30:04 1997 Mumit Khan - - Changes to make support egcs snapshots that implement explicit - specification of template functions according to CD2. - - * MArray.h: If NEED_TEMPLATE_FCN_SPECS is defined, add explicit - template function specs for template friends. - * MArray2.h: Likewise. - * MDiagArray2.h: Likewise. - -Thu Nov 13 21:57:16 1997 John W. Eaton - - * CMatrix.cc (sumsq): Compute equivalent of sum (x .* conj (x)) - -Thu Oct 2 17:13:02 1997 Mumit Khan - - * CRowVector.cc (linspace): Removed attempt for implicit conversion - to complex(int) instead of complex(double). - - * lo-mappers.cc (atanh): Ditto. - -Thu Jul 31 22:13:54 1997 John W. Eaton - - * idx-vector.cc (IDX_VEC_REP::sort): New function. - * idx-vector.h (idx_vector::sort): Ditto. - * Array2-idx.h (Array2::maybe_delete_elements): Use it before - trying to delete elements specified by the index vectors. - -Fri Jul 25 17:31:26 1997 John W. Eaton - - * dMatrix.cc (Matrix::lssolve): Increase lwork by factor of 16. - * CMatrix.cc (ComplexMatrix::lssolve): Ditto. - -Thu Jul 24 14:32:48 1997 John W. Eaton - - * file-ops.cc (tilde_expand_word): Fix off-by-one error. - -Wed Jul 9 19:40:23 1997 John W. Eaton - - * lo-sysdep.cc (octave_getcwd): If getwd is available, use it. - Call error handler if we can't find the current directory. - -Mon Jul 7 21:14:41 1997 John W. Eaton - - * lo-mappers.cc (xisnan (double)): Return only 1 or 0. - (xfinite (double)): Ditto. - - * dbleQR.cc (QR::init): Don't forget to initialize Q when type is raw. - * CmplxQR.cc (ComplexQR::init): Ditto. - -Sun Jun 15 21:06:37 1997 John W. Eaton - - * lo-mappers.cc (acos (const Complex&)): Select branch that is - compatible with Matlab. - -Tue Jun 10 10:58:05 1997 John W. Eaton - - * Array2-idx.h: Correctly handle empty matrices indexed by a - single colon. - -Fri Jun 6 04:27:40 1997 John W. Eaton - - * lo-mappers.cc (xlgamma): Use F77_XFCN function to call dlgams. - (xgamma): Likewise, for calling xdgamma. - - * FSQP.h, NPSOL.h, QPSOL.h, FSQP.cc, NPSOL.cc, QPSOL.cc: Delete - * Makefile.in (INCLUDES, SOURCES): Remove them from the lists. - - * file-ops.cc (file_ops::tilde_expand): Steal more code from bash - to do better job expanding tildes. - - * str-vec.cc (string_vector::string_vector (const char * const *): - Use temporary variable to compute length. - -Thu Jun 5 01:44:43 1997 John W. Eaton - - * Makefile.in: Make building of static library optional. - (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. - - * Makefile.in (stamp-picdir): Delete. - (pic): New target. Don't worry so much about creating pic - directory only when it is really needed. - (stamp-interp): Delete. - (libraries): New target. Depend on shared library directly. - -Wed Jun 4 00:08:55 1997 John W. Eaton - - * pathsearch.h, pathsearch.cc (dir_pat::set_program_name): - New static function. - -Mon Jun 2 12:44:14 1997 John W. Eaton - - * lo-mappers.cc (fix): Use floor and ceil instead of casting to int. - -Thu May 22 16:20:43 1997 John W. Eaton - - * cmd-edit.h, cmd-edit.cc: Rename set_paren_string_delimiters to - set_basic_quote_characters, to match new version of readline. - - * cmd-edit.cc (do_restore_terminal_state): Call readline function - for restoring terminal state through rl_deprep_term_function, now - declared in readline.h - (rl_deprep_terminal): Delete declaration. - -Wed May 21 16:30:25 1997 John W. Eaton - - * Makefile.in (install-in): Use new mk-includedir-link macro. - (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. - -Thu May 15 11:46:42 1997 John W. Eaton - - * cmd-edit.cc (command_editor::increment_current_command_number): - New static function. - -Mon May 12 02:14:13 1997 John W. Eaton - - * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Make it work when - the vector is not sorted. - - * CMatrix.cc (ComplexMatrix::operator !): Return boolMatrix. - * dMatrix.cc (Matrix::operator !): Likewise - -Wed May 7 21:14:06 1997 John W. Eaton - - * oct-syscalls.h, oct-syscalls.cc: New files. - - * cmd-edit.h, cmd-edit.cc: Handle completion function. - - * str-vec.h, str-vec.cc (string_vector::uniq): New function. - -Tue May 6 00:52:02 1997 John W. Eaton - - * Makefile.in (INCLUDES_FOR_INSTALL): New variable. - (install-inc): Use it. - - * file-ops.h, file-ops.cc (tempnam): Add DIR and PREFIX args. - Handle errors and missing functions consistently. - - * oct-group.h, oct-group.cc: New files. - - * oct-passwd.cc: Handle errors and missing functions consistently. - - * str-vec.h, str-vec.cc (c_str_vec, delete_c_str_vec): New functions. - -Mon May 5 17:53:01 1997 John W. Eaton - - * file-ops.cc: (file_ops::tilde_expand): Use new octave_passwd class. - * oct-env.cc (octave_env::do_get_user_name): Likewise. - - * oct-passwd.h, oct-passwd.cc: New files. - -Sun May 4 22:17:08 1997 John W. Eaton - - * statdefs.h: Only include sys/types.h if HAVE_SYS_STAT_H is defined. - - * mach-info.h, mach-info.cc: Add missing const qualifiers. - (instance_ok ()): New function. - - * glob-match.h, glob-match.cc: Rename from oct-glob.h, oct-glob.cc. - - * cmd-hist.h, cmd-hist.cc: Make it work without GNU readline. - - * lo-utils.h, lo-utils.cc (strsave, octave_putenv): Move here from - src/utils.h and src/utils.cc. - (octave_fgets): New function, extracted from src/input.cc. - - * cmd-edit.h, cmd-edit.cc: New files. Provide wrapper class for - GNU readline, and allow Octave to work without GNU readline. - - * lo-sysdep.h, lo-sysdep.cc: New files for miscellaneous - system-dependent functions. - - * oct-env.h, oct-env.cc: New files for process environment stuff. - - * file-stat.h, file-stat.cc: New files. Extract file_stat class - from file-ops.h and file-ops.cc and move here. - - * file-ops.h, file-ops.cc: Wrap functions in struct. Move - tilde_expand functions here from src/dirfns.cc. - -Fri May 2 19:50:12 1997 John W. Eaton - - * pathlen.h: New file, from ../src. - -Tue Apr 29 04:39:01 1997 John W. Eaton - - * Array2-idx.h (Array2::maybe_delete_elements): Prevent - out-of-bounds indexing of the index array. - * Array-idx.h (Array::maybe_delete_elements): Likewise. - -Fri Mar 28 15:37:09 1997 John W. Eaton - - * LSODE.h (x_step_limit): New field. - (LSODE_options::init): Initialize it. - (LSODE_options::copy): Copy it. - (LSODE_options::set_step_limit, LSODE_options::step_limit): - New functions. - (LSODE::working_too_hard): Delete. - * LSODE.cc (LSODE::do_integrate): Handle step limit. - -Wed Mar 26 15:31:57 1997 John W. Eaton - - * MArray-b.cc: Delete. - * Makefile.in: Delete it from the lists. - - * boolMatrix.h (class bboolMatrix): Derive from Array2, not - MArray2, since most of the numeric ops don't really make sense. - -Tue Mar 25 17:37:25 1997 John W. Eaton - - * boolMatrix.cc (boolMatrix::all, boolMatrix::any): New functions. - - * dMatrix.cc (Matrix::all, Matrix::any): Return boolMatrix. - * CMatrix.cc (ComplexMatrix::all, ComplexMatrix::any): Likewise. - - * idx-vector.h (idx_vector::idx_vector_rep::freeze, - idx_vector::freeze): Delete prefer_zero_one arg. - * Array-idx.h, Array2-idx.h: Change all callers. - - * Array-flags.h, Array-flags.cc (liboctave_pzo_flag): Delete. - - * mx-op-defs.h: New file for operator definitions. - * mx-cdm-cm.h, mx-cdm-cs.h, mx-cdm-dm.h, mx-cdm-m.h, mx-cdm-s.h, - mx-cm-cdm.h, mx-cm-dm.h, mx-cm-m.h, mx-cm-s.h, mx-cs-cdm.h, - mx-cs-dm.h, mx-cs-m.h, mx-dm-cdm.h, mx-dm-cm.h, mx-dm-cs.h, - mx-dm-m.h, mx-dm-s.h, mx-m-cdm.h, mx-m-cm.h, mx-m-cs.h, mx-m-dm.h, - mx-s-cdm.h, mx-s-cm.h, mx-s-dm.h, mx-cdm-cm.cc, mx-cdm-cs.cc, - mx-cdm-dm.cc, mx-cdm-m.cc, mx-cdm-s.cc, mx-cm-cdm.cc, mx-cm-dm.cc, - mx-cm-m.cc, mx-cm-s.cc, mx-cs-cdm.cc, mx-cs-dm.cc, mx-cs-m.cc, - mx-dm-cdm.cc, mx-dm-cm.cc, mx-dm-cs.cc, mx-dm-m.cc, mx-dm-s.cc, - mx-m-cdm.cc, mx-m-cm.cc, mx-m-cs.cc, mx-m-dm.cc, mx-s-cdm.cc, - mx-s-cm.cc, mx-s-dm.cc: - New files for mixed-type operations. - * Makefiles.in: Add them to the appropriate lists. - - * mx-inlines.cc: Add bool by bool EQ ops. - - * idx-vector.h, idx-vector.cc: Add constructors for bool and - boolMatrix types. - (idx_vector::maybe_convert_one_zero_to_idx, - idx_vector::idx_vector_rep::maybe_convert_one_zero_to_idx): - Delete second arg, prefer_zero_one. Change all callers. - - * boolMatrix.h, boolMatrix.cc: New files. - * mx-base.h: Include boolMatrix.h here. - * mx-defs.h: Provide forward declaration for boolMatrix here. - - * chMatrix.h, chMatrix.cc: Delete unused junk. - - * dMatrix.h, CMatrix.h: Delete friend declarations for operator+, - operator-, operator*, product, and quotient functions. - Add constructor for boolMatrix type. - * dMatrix.cc, CMatrix.cc: Delete operator+, operator-, operator*, - product, and quotient functions. - - * CDiagMatrix.h: Delete friend declarations for operator+, - operator-, and product functions. - * CDiagMatrix.h: Delete operator+, operator-, and product functions. - - * Array-b.cc: Also instantiate 2d and 2d diagonal arrays. - -Fri Mar 14 00:29:46 1997 John W. Eaton - - * EIG.cc (EIG::hermitian_init (const ComplexMatrix&)): New function. - (EIG::init (const ComplexMatrix&)): Call it if arg is hermitian. - (EIG::symmetric_init (const Matrix&)): New function. - (EIG::init (const Matrix&)): Call it if arg is symmetric. - - * CMatrix.cc (ComplexMatrix::is_hermitian): New function. - -Thu Mar 13 17:04:26 1997 John W. Eaton - - * Array2.cc (is_symmetric): New function. - * Array2.h (is_square): New function. - -Wed Mar 12 16:59:49 1997 John W. Eaton - - * Makefile.in (install-strip): New target. - -Mon Mar 10 22:34:22 1997 John W. Eaton - - * CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, - CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, EIG.cc, dbleCHOL.cc, - dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, - dbleSVD.cc: Don't include mx-inlines.cc. - - * mx-inlines.cc: Abuse the preprocessor to eliminate lots of - duplicate code. - -Sun Mar 9 03:44:52 1997 John W. Eaton - - * dbleQR.h (QR): Delete extra comma at end of list. - - * prog-args.cc (prog_args::getopt): Add missing const in cast. - - * dbleSVD.h (SVD::type): Delete extra comma at end of list. - - * idx-vector.h (idx_vector): Delete unnecessary idx_vector:: and - idx_vecotr_rep:: qualifiers. - - * Array.h (class Array): Delete unnecessary Array:: qualifiers. - - * data-conv.h (save_type): Delete extra comma at end of list. - - * CMatrix.cc, FEGrid.cc, Range.cc, dMatrix.cc, data-conv.cc, - dir-ops.cc, file-ops.h, idx-vector.cc, idx-vector.h, lo-ieee.cc, - lo-mappers.cc, oct-alloc.cc: Use `static_cast (val)' instead of - old C-style `(T) val' casts. - -Thu Mar 6 20:20:01 1997 John W. Eaton - - * dMatrix.cc (operator >>): Return if an error occurs instead of - just breaking out of the innermost loop. - * CMatrix.cc (operator >>): Likewise. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Fri Feb 28 20:11:23 1997 John W. Eaton - - * CmplxQR.cc (ComplexQR::init): New function. - (ComplexQR::ComplexQR): Use it. Use initializer list too. - * CmplxQRP.cc (ComplexQRP::init): New function. - Get sizes right in all cases. - (ComplexQR::ComplexQRP): Use it. Use initializer list too. - - * dbleQR.cc (QR::init): New function. - (QR::QR): Use it. Use initializer list too. - * dbleQRP.cc (QRP::init): New function. - Get sizes right in all cases. - (QR::QRP): Use it. Use initializer list too. - -Wed Feb 26 15:46:28 1997 John W. Eaton - - * mach-info.cc (oct_mach_info::string_to_float_format): - Recognize "vaxg", not "vax_g". - -Fri Feb 21 16:07:56 1997 John W. Eaton - - * Array2-idx.h (Array2::maybe_delete_elements): Use correct - dimension in check for colon equivalent index. - * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): A single-element - index whose value is 0 is also colon eqivalent for n == 1. - - * lo-ieee.cc (octave_ieee_init): Reorder #ifdef stuff to put - system-specific tests first. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Wed Feb 19 09:42:30 1997 John W. Eaton - - * lo-ieee.cc: D'oh, it's `extern "C"', not `#extern "C"'. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Version 2.0.3 released. - -Fri Feb 14 16:23:47 1997 John W. Eaton - - * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. - -Thu Feb 13 14:35:19 1997 John W. Eaton - - * Makefile.in (stamp-prereq): Depend on stamp-picdir. - (all): Don't depend on stamp-prereq or stamp-picdir. - (liboctave.a, stamp-shared): Do depend on stamp-prereq. - (stamp-picdir): Silence noise about making pic. - (stamp-shared): Use $(SH_LD) $(SH_LDFLAGS) instead of $(CXX) -shared. - - * Array2-idx.h (Array2::index (idx_vector&, idx_vector&)): - Fix typo in last change. - - * CColVector.cc (ComplexColumnVector::map (d_c_mapper)): - Convert from friend (moved from dColVector.cc). - * CMatrix.cc (ComplexMatrix::map (d_c_mapper)): - Likewise (moved from dMatrix.cc). - * CRowVector.cc (ComplexRowVector::map (d_c_mapper)): - Likewise (moved from dRowVector.cc). - - * dColVector.cc (ColumnVector::map (d_d_mapper)): Convert from friend. - * dMatrix.cc (Matrix::map (d_d_mapper)): Likewise. - * dRowVector.cc (RowVector::map (d_d_mapper)): Likewise. - * CColVector.cc (ComplexColumnVector::map (c_c_mapper)): Likewise. - * CMatrix.cc (ComplexMatrix::map (c_c_mapper)): Likewise. - * CRowVector.cc (ComplexRowVector::map (c_c_mapper)): Likewise. - - * dColVector.cc (ColumnVector::apply): Rename from map, return *this. - * dMatrix.cc (Matrix::apply): Likewise. - * dRowVector.cc (RowVector::apply): Likewise. - * CColVector.cc (ComplexColumnVector::apply): Likewise. - * CMatrix.cc (ComplexMatrix::apply): Likewise. - * CRowVector.cc (ComplexRowVector::apply): Likewise. - -Tue Feb 11 19:44:28 1997 John W. Eaton - - * lo-ieee.cc: Declare quiet_nan() and infinity(). - -Mon Feb 10 01:17:45 1997 John W. Eaton - - * file-ops.cc (oct_unlink (const string&, string&)): - New two-arg version. - (oct_rmdir (const string&, string&)): New two-arg version. - (oct_mkdir (const string&, mode_t, string&)): New three-arg version. - (oct_mkfifo (const string&, mode_t, string&)): New three-arg version. - (oct_rename (const string&, const string&, string&)): - New three-arg version. - -Fri Feb 7 13:15:55 1997 John W. Eaton - - * idx-vector.h (idx_vector::orig_empty): New function. - - * Array2-idx.h (Array2::index (idx_vector&, idx_vector&)): - Don't always resize to [](0x0) if one of the indices is empty or - zero. - -Sun Feb 2 22:33:44 1997 John W. Eaton - - * cmd-hist.cc (command_history::read): New arg, must_exist. - Set line_in_file here too. - (command_history::read_range): New arg, must_exist. - -Fri Jan 31 09:21:57 1997 John W. Eaton - - * f2c-main.c: Change C++-style comments to C-style comments. - -Tue Jan 28 10:46:02 1997 John W. Eaton - - * Makefile.in (install-inc): Create a relative symbolic link. - -Mon Jan 27 15:52:27 1997 John W. Eaton - - * Version 2.0.2 released. - -Sat Jan 25 22:36:21 1997 John W. Eaton - - * Makefile.in (bin-dist): New target. - -Wed Jan 22 16:18:53 1997 John W. Eaton - - * dbleSVD.cc (SVD::init): Work around apparent dgesvd() bug. - * CmplxSVD.cc (ComplexSVD::init): Work around apparent zgesvd() bug. - -Mon Jan 20 18:44:11 1997 John W. Eaton - - * chMatrix.cc (charMatrix::charMatrix (const string&)): - If the number of columns is zero, also set the number of rows to zero. - (charMatrix::charMatrix (const char *)): Likewise. - -Tue Jan 7 00:16:57 1997 John W. Eaton - - * Version 2.0.1 released. - -Sun Jan 5 12:07:45 1997 John W. Eaton - - * dMatrix.cc (Matrix::read): Correctly compute the number of - columns for resizing when the number of rows is specified but the - number of columns is not. - -Wed Dec 18 16:18:58 1996 John W. Eaton - - * Range.cc (operator -): New function. - - * lo-ieee.cc: Include on all systems that have it. - -Fri Dec 13 02:01:32 1996 John W. Eaton - - * Array2-idx.h (assign): Delay resizing left hand side until we - know if the assignment conforms. - -Tue Dec 10 01:43:09 1996 John W. Eaton - - * Version 2.0 released. - -Fri Dec 6 14:41:15 1996 John W. Eaton - - * Array2-idx.h (assign): If index is a colon, set number of - elements to the lhs dimension if the lhs dimension is greater than - zero. Otherwise, set it to the rhs dimension. - - * Version 1.94. - - * Array2-idx.h (assign): Test for rhs scalar case first. - If index is colon, set number of elements to lhs dimension, not - rhs dimension. - -Thu Dec 5 13:05:18 1996 John W. Eaton - - * sun-utils.h: Don't declare MAIN_ or MAIN__ here. - * sun-utils.cc: Delete. - * f2c-main.c: New file - - * Makefile.in: Fix file name lists. - - * CMatrix.cc (lssolve): Don't redeclare retval, resize it. - -Wed Dec 4 12:24:24 1996 John W. Eaton - - * dMatrix.cc (Qzval): Don't try to use same memory three times. - Create result using Complex constructor, not multiplication. - Order elements as they are returned from Eispack. - -Mon Dec 2 00:26:41 1996 John W. Eaton - - * lo-ieee.cc (octave_ieee_init): Kluge for octave_Inf on SCO. - Only include nan.h if SCO is defined. Define _IEEE before - including it and undefine it afterward. - [SCO] (isnan): Don't mistake Inf as NaN. - - * Array-idx.h (assign): Only resize if assignment conforms. - -Wed Nov 20 01:00:40 1996 John W. Eaton - - * Makefile.in (INCLUDES): Delete lo-error.h. - * lo-error.h: Delete (moved to libcruft/misc). - - * Version 1.93. - -Tue Nov 19 23:07:45 1996 John W. Eaton - - * oct-glob.cc (glob_match::match): Don't expect our flag values to - be the same as they are in fnmatch.h. - - * f77-fcn.c, f77-fcn.h: Move to libcruft/misc directory. - - * Makefile.in (INCLUDES): Delete f77-fcn.h. - (SOURCES): Delete f77-fcn.c. - -Fri Nov 15 13:47:34 1996 John W. Eaton - - * lo-ieee.h: [SCO]: Declare isinf and isnan. - -Thu Nov 14 00:06:53 1996 John W. Eaton - - * Version 1.92. - -Wed Nov 13 11:19:22 1996 John W. Eaton - - * cmd-hist.cc (command_history::add): Ignore empty input lines, or - lines that have only carriage return or newline. - - * lo-ieee.cc (isnan, isinf): Provide functions for SCO. - -Tue Nov 12 11:11:21 1996 John W. Eaton - - * idx-vector.cc (idx_is_inf_or_nan): New function. - (IDX_VEC_REP::idx_vector_rep): Use it. - -Sun Nov 10 17:09:24 1996 John W. Eaton - - * str-vec.h, str-vec.cc: Add constructors to make string vectors - from vectors of C strings. - - * oct-glob.h, oct-glob.cc (glob_match): Allow pat to be a string - vector. - (glob_match::match): Allow match string to be a string vector. - (glob_match::glob): New function. - - * chMatrix.cc (charMatrix::row_as_string): New arg, strip_ws. - - * Array-b.cc: New file. - * Makefile.in (TI_SRC): Add it to the list. - -Fri Nov 8 18:09:12 1996 John W. Eaton - - * file-ops.cc: Change #include "" to #include <> for safe-lstat.h - and safe-stat.h, to avoid getting them from $srcdir when we really - want the version from the build directory. (Maybe this should be - done for all the include files, not just those that are - auto-generated? Hmm.) - -Thu Nov 7 10:45:11 1996 John W. Eaton - - * Version 1.91. - - * Array3.cc (Array3::resize): Make it work. - -Wed Nov 6 22:44:33 1996 John W. Eaton - - * oct-alloc.h, oct-alloc.cc: New files. - * Makefile.in: Add them to the lists. - -Mon Nov 4 21:49:51 1996 John W. Eaton - - * dbleQRP.cc (QRP::QRP): Don't pass tmp data to unsafe constructor. - * CmplxQRP.cc (ComplexQRP::ComplexQRP): Ditto. - -Sun Nov 3 15:45:37 1996 John W. Eaton - - * file-ops.cc (file_stat::is_blk, file_stat::is_chr, - file_stat::is_dir, file_stat::is_fifo, file_stat::is_lnk, - file_stat::is_reg, file_stat::is_sock): Just return false if the - underlying macro is not defined. - - * oct-math.h (lgamma, gamma): Delete declarations. - (asinh, acosh, atanh, erf, erfc): Declare arg types too. - Protect declarations with #ifdef HAVE_*. - -Wed Oct 30 11:42:58 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - - * cmd-hist.cc: Only include fcntl.h if HAVE_FCNTL_H. - - * Matrix-ext.cc: Include , not . - - * CMatrix.cc, cmd-hist.cc, file-ops.cc, file-ops.h, filemode.c, - mkdir.c, rename.c, rmdir.c, safe-xstat.cin, statdefs.h, sysdir.h, - tempname.c, utils.cc: Only include sys/types.h if HAVE_SYS_TYPES_H. - - * Array3.h (T Array3::checkelem): Return T() for bogus value, - since that is now accepatble syntax, even for built-in types. - * Array2.h (T Array2::checkelem): Likewise - -Sat Oct 26 23:37:34 1996 John W. Eaton - - * file-ops.cc (mkfifo) [! HAVE_MKFIFO]: Just print an error - message and return -1. - -Fri Oct 25 01:24:51 1996 John W. Eaton - - * str-vec.h (str_vec_compare): Declare args as const void *, then - cast them to const string * in the body of the function. - - * file-ops.cc (file_stat::mode_as_string): Explicitly construct - string from buf. - - * Array3.h (Array3::checkelem): Tag bogus return value with - GCC_ATTRIBUTE_UNUSED. - * Array2.h (Array2::checkelem): Likewise. - -Thu Oct 24 19:40:36 1996 John W. Eaton - - * Quad.h (Quad): Define virtual destructor. - -Tue Oct 15 11:34:48 1996 John W. Eaton - - * CMatrix.cc (ComplexMatrix::all_elements_are_real): new function. - -Sun Oct 13 11:19:00 1996 John W. Eaton - - * sun-utils.h: Conditionally declare MAIN__ too. Declare MAIN_ - and MAIN__ extern "C". - * sun-utils.cc: Include sun-utils.h here. Delete extern "C" stuff. - -Sat Oct 12 12:40:00 1996 John W. Eaton - - * MArray-misc.cc: New file. - * Makefile.in (MATRIX_SRC): Add it to the list. - - * mx-inlines.cc (equal): Return bool, not int. - - * idx-vector.h (idx_vector (double)): New constructor. - - * chMatrix.h, chMatrix.cc, CMatrix.h, CMatrix.cc, dMatrix.h, - dMatrix.cc, dDiagMatrix.h, dDiagMatrix.cc, dRowVector.h, - dRowVector.cc, dColVector.h, dColVector.cc, CColVector.h, - CColVector.cc, CDiagMatrix.h, CDiagMatrix.cc, CRowVector.h, - CRowVector.cc: Logical operators return bool, not int. - - * CMatrix.h, CMatrix.cc (ComplexMatrix::any_element_is_inf_or_nan): - New function. - - * dMatrix.h, dMatrix.cc (Matrix::any_element_is_negative, - Matrix::any_element_is_inf_or_nan, Matrix::abs, - Matrix::all_elements_are_inf_or_nan): New functions. - - * Range.h, Range.cc (Range::all_elements_are_ints): New function. - - * MArray.cc, MArray2.cc, MDiagArray2.cc: Call gripe_nonconformant - for errors. Simplify macros by converting FCN to string for error - messages. - - * Array-idx.h (Array::index): New function. Don't call - clear_index() here. - (Array::value): Call it, do call clear_index() here. - * Array2-idx.h (Array::value, Array::index): Likewise, for - one and two arg index functions. - -Tue Sep 17 21:21:16 1996 John W. Eaton - - * DAEFunc.h: Delete #pragma interface since there is no longer a - separate implementation file. - -Tue Aug 20 17:38:46 1996 John W. Eaton - - * Makefile.in (stamp-picdir): Only create a pic subdirectory if - SHARED_LIBS is true AND CPICFLAG or CXXPICFLAG is not empty. - - * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Rename arg sort to - sort_uniq. If sort_uniq is nonzero, sort the elements and make - them uniq. - - * CMatrix.cc (ComplexMatrix::row_max, ComplexMatrix::row_min, - ComplexMatrix::column_max, ComplexMatrix::column_min): - Rewrite. Also return index as a reference arg. - (ComplexMatrix::row_max_loc, ComplexMatrix::row_min_loc, - ComplexMatrix::column_max_loc, ComplexMatrix::column_min_loc): - Delete. - - * dMatrix.cc (Matrix::row_max, Matrix::row_min, - Matrix::column_max, Matrix::column_min): - Rewrite. Also return index as a reference arg. - (Matrix::row_max_loc, Matrix::row_min_loc, - Matrix::column_max_loc, Matrix::column_min_loc): Delete. - -Fri Aug 9 05:01:04 1996 John W. Eaton - - * dMatrix.cc (Matrix::row_min, Matrix::row_min_loc, - Matrix::row_max, Matrix::row_max_loc, Matrix::column_min, - Matrix::column_min_loc, Matrix::column_max, - Matrix::column_max_loc): Ignore leading NaNs. - * CMatrix.cc (ComplexMatrix::row_min, ComplexMatrix::row_min_loc, - ComplexMatrix::row_max, ComplexMatrix::row_max_loc, - ComplexMatrix::column_min, ComplexMatrix::column_min_loc, - ComplexMatrix::column_max, ComplexMatrix::column_max_loc): Ignore - leading NaNs. - -Thu Aug 8 16:04:17 1996 John W. Eaton - - * QPSOL.cc (QPSOL::do_minimize): Insert linear constraint bounds - starting at n, not 0. - -Sat Jul 27 02:54:44 1996 John W. Eaton - - * dMatrix.cc (Matrix::Matrix (const RowVector&), - Matrix::Matrix (const ColumnVector&)): New constructors. - - * CMatrix.cc (ComplexMatrix::ComplexMatrix (const RowVector&), - ComplexMatrix::ComplexMatrix (const ColumnVector&), - ComplexMatrix::ComplexMatrix (const ComplexRowVector&), - ComplexMatrix::ComplexMatrix (const ComplexColumnVector&)): - New constructors. - - * chMatrix.cc (charMatrix::charMatrix (const string_vector&)): - New constructor. - -Wed Jul 24 16:39:16 1996 John W. Eaton - - * LSODE.cc (do_integrate): Check to make sure that the state and - derivative vectors are the same size. - * DASSL.cc (do_integrate): Likewise. - -Sun Jul 14 17:30:37 1996 John W. Eaton - - * dMatrix.cc (Matrix::read, Matrix::write): Convert to use - iostreams and handler data format conversions. Delete old methods - that used stdio. - - * data-conv.h, data-conv.cc (oct_data_conv): New class. - -Fri Jul 12 13:52:44 1996 John W. Eaton - - * mach-info.h: Rename from float-fmt.h. - * mach-info.cc: Rename from float-fmt.cc. - Handle machine information using a singlton class. - * Makefile.in: Update appropriate lists. - -Tue Jul 9 11:49:10 1996 John W. Eaton - - * Array-flags.cc: Provide definitions for the flags even if - OCTAVE_SOURCE is not defined. - - * Array.h, Array2.h, Array3.h: BOUNDS_CHECKING now affects - operator(), not elem(). - * Array3.h: Move indexing methods here from Array3.cc. - -Mon Jun 24 02:30:05 1996 John W. Eaton - - * Array3.cc (checkelem): Fix typo in call to Array2::elem(). - - * Makefile.in (install-lib): Use INSTALL_PROGRAM instead of - INSTALL_DATA for shared libs. - -Thu Jun 6 09:59:06 1996 John W. Eaton - - * Quad.cc: Include lo-error.h here too. - -Mon May 27 12:41:07 1996 John W. Eaton - - * file-ops.h: Include sys/types.h here. - -Wed May 22 00:20:24 1996 John W. Eaton - - * chMatrix.cc (charMatrix::transpose): Provide definition. - - * Array-idx.h (maybe_delete_elements): Correctly compute number of - elements in result. - * Array2-idx.h (maybe_delete_elements): Likewise for number of - rows and columns in result. - -Tue May 21 23:46:09 1996 John W. Eaton - - * dbleQR.cc (QR::QR): Don't create result from to-be-deleted data. - * CmplxQR.cc (ComplexQR::ComplexQR): Likewise. - -Fri May 17 03:06:02 1996 John W. Eaton - - * Makefile.in (install-inc): Install in octincludedir, not includedir. - -Sun May 12 03:40:01 1996 John W. Eaton - - * Makefile.in (uninstall): Also delete shared library. - Split install into install-libs and install-includes. - (install-inc): If linkdir is a directory, leave it alone. - - * sun-utils.cc (MAIN__): Define for Linux/ELF systems. - -Thu May 2 20:19:01 1996 John W. Eaton - - * Array-idx.h (assign): Handle A(:) = X for A undefined or empty. - * Array2-idx.h (assign): Likewise. - -Tue Apr 30 05:43:06 1996 John W. Eaton - - * Array2.cc (Array2::range_error): New functions. - - * Array.h (class Array): elem() and operator() are now - equivalent, and do bounds checking by default. - * Array2.cc (class Array2): Likewise. - -Sat Apr 6 21:26:11 1996 John W. Eaton - - * Makefile.in (maintainer-clean, distclean): Also delete - stamp-picdir, stamp-shared, and pic directory. - (stamp-prereq): New target. - -Fri Mar 29 13:44:13 1996 John W. Eaton - - * NPSOL.h (NPSOL_options::set_option (const char *, int)): - New function. - - * Array.h, Array.cc (Array::range_error ()): New functions. - * Array.h (Array::checkelem): Use them. - - * base-lu.h, base-lu.cc: Parameterize based on types of matrix - elements too. - * dbleLU.h, dbleLU.cc, CmplxLU.h, CmplxLU.cc: Change to match. - - * MDiagArray2.h (MDiagArray2 (const MArray& a)): Delete. - - * Makefile.in (distclean): Delete so_locations, which is created - on DEC Alpha systems. - -Sat Mar 23 04:02:53 1996 John W. Eaton - - * Array.h (HEAVYWEIGHT_INDEXING): Do define this here if it is not - already defined. - -Fri Mar 22 23:53:58 1996 John W. Eaton - - * pathsearch.cc: Include config.h. - -Wed Mar 20 04:54:03 1996 John W. Eaton - - * Array2-idx.h (assign (Array2&, const Array2&)): Don't - allow M(I, J) = scalar if I or J is empty. - - * Array-idx.h: Delete Array2 and Array3 code (now in Array2-idx.h - and Array3-idx.h). - -Thu Mar 7 10:20:12 1996 John W. Eaton - - * lo-error.h: Make comments C friendly. - -Sun Mar 3 14:04:32 1996 John W. Eaton - - * Array2.h (make_unique): Move all indexing functions here. - * Array2.cc: From here. - - * Array.h, Array2.h (NO_BOUNDS_CHECKING): New macro to control - whether operator() calls elem or checkelem. - - * Array.h (make_unique): New private function. - Move all indexing functions here. - * Array.cc: From here. - - * pathsearch.cc (dir_path::find_all): Index tmp, don't dereference - it too. - - * Array-d.cc, Array-ch.cc, Array-C.cc, Array-s.cc, Array-str.cc, - Array-i.cc, MArray-i.cc, MArray-s.cc, MArray-d.cc, MArray-ch.cc, - MArray-C.cc: Include config.h. - - * Array.h, Array2.h, DiagArray2.h, Array3.h: - Don't define HEAVYWEIGHT_INDEXING here. - -Sat Mar 2 18:39:35 1996 John W. Eaton - - * base-lu.h, base-lu.cc: New files. - * Makefile.in: Add them to the appropriate lists. - * dbleLU.h, dbleLU.cc, CmplxLU.h, Cmplx.cc: Derive from base_lu. - -Fri Mar 1 08:30:58 1996 John W. Eaton - - * Array2.h, Array3.h, DiagArray2.h: New files, extracted from Array.h - * Array2-idx.h, Array3-idx.h: New files, extracted from Array-idx.h - * Array2.cc, Array3.cc, DiagArray2.cc: New files, from Array.cc. - * MArray2.h, MDiagArray2.h: New files, extracted from MArray.h. - * MArray2.cc, MDiagArray2.cc, MArray-defs.h: New files, from MArray.cc. - - * MArray.h (INSTANTIATE_MARRAY_FRIENDS): New macro. - (INSTANTIATE_MARRAY2_FRIENDS): Likewise. - (INSTANTIATE_MDIAGARRAY_FRIENDS): Likewise. - * MArray-C.cc, MArray-ch.cc, MArray-c.cc, MArray-i.cc, MArray-s.cc: - Simplify using new macros. - -Mon Feb 26 03:04:29 1996 John W. Eaton - - * Makefile.in (install): If $(includedir) ends in version string, - make link to name that does not include version info. - - * lo-ieee.cc: Include here. - -Fri Feb 16 20:52:34 1996 John W. Eaton - - * lo-ieee.cc, lo-ieee.h: New files. - * lo-mappers.cc, lo-mappers.h: New files. - * lo-utils.cc, lo-utils.h: New files. - * Makefile.in: Add them to the appropriate lists. - -Thu Feb 15 22:02:17 1996 John W. Eaton - - * dMatrix.cc (all_integers, too_large_for_float): New functions. - * CMatrix.cc (all_integers, too_large_for_float): New functions. - - * byte-swap.h, data-conv.h, data-conv.cc, float-fmt.h, - float-fmt.cc: New files. - * Makefile.in: Include them in the appropriate lists. - -Wed Feb 14 01:49:47 1996 John W. Eaton - - * dMatrix.cc (Qzval): New function. - -Tue Feb 13 12:41:54 1996 John W. Eaton - - * NPSOL.cc (NPSOL_options::set_option): Arg key is now string, not - char*. - - * DASSL.h, DASSL.cc: Do better management of temporary workspace. - Use F77_XFCN to call Fortran subroutine. - * dColVector.cc, CColVector.cc: Likewise. - * dRowVector.cc, CRowVector.cc: Likewise. - * NPSOL.h, NPSOL.cc: Likewise. - * CmplxCHOL.cc: Likewise. - * dbleCHOL.cc: Likewise. - * CMatrix.cc: Likewise. - * dMatrix.cc: Likewise. - * QPSOL.cc: Likewise. - * LSODE.cc: Likewise. - -Sun Feb 11 14:14:26 1996 John W. Eaton - - * dbleHESS.cc (HESS::init): Dimension of tau is n-1, not n+1. - - * dbleSCHUR.h, dbleSCHUR.cc: Do better management of temporary - workspace. Use F77_XFCN to call Fortran subroutine. - * CmplxAEPBAL.h, CmplxAEPBAL.cc: Likewise. - * CmplxSCHUR.h, CmplxSCHUR.cc: Likewise. - * dbleGEPBAL.h, dbleGEPBAL.cc: Likewise. - * dbleAEPBAL.h, dbleAEPBAL.cc: Likewise. - * CmplxHESS.h, CmplxHESS.cc: Likewise. - * CmplxSVD.h, CmplxSVD.cc: Likewise. - * dbleHESS.h, dbleHESS.cc: Likewise. - * dbleSVD.h, dbleSVD.cc: Likewise. - * EIG.h, EIG.cc; Likewise. - * CollocWt.cc: Likewise. - * NLEqn.cc: Likewise. - * Quad.cc: Likewise. - -Sat Feb 10 12:14:59 1996 John W. Eaton - - * dbleLU.h, dbleLU.cc: Do better management of temporary workspace. - Use F77_XFCN to call Fortran subroutine. - * CmplxLU.h, CmplxLU.cc: Ditto. - * dbleQR.h, dbleQR.cc: Ditto. - * CmplxQR.h, CmplxQR.cc: Ditto. - * dbleQRP.h, dbleQRP.cc: Ditto. - * CmplxQRP.h, CmplxQRP.cc: Ditto. - - * dir-ops.h (dir_entry::dir): Declare as void*, not DIR*. - (struct DIR): delete forward declaration. - (dir_entry::operator = (const dir_entry$)): Protect against - copying same object. - * dir-ops.cc: Cast dir appropriately. - -Fri Feb 9 16:12:44 1996 John W. Eaton - - * lo-error.cc: Moved to libcruft/misc. - * Makefile.in: Delete it from the list. - - * f77-fcn.c (f77_context, f77_exception_encountered): Delete - definitions (they have been moved to libcruft/misc/f77-extern.cc). - - * Array-flags.h: New file. - * Array-idx.h: Include it here. - * Makefile.in (MATRIX_INC): Add it to the list. - - * Array-flags.cc: Renamed from Array-ext.cc. - (liboctave_dfi_flag): Renamed from dfi_flag. - (liboctave_pcv_flag): Renamed from pcv_flag. - (liboctave_pzo_flag): Renamed from pzo_flag. - (liboctave_rre_flag): Renamed from rre_flag. - * Array-idx.h: Change all uses of dfi_flag, etc. - * Makefile.in (MATRIX_SRC): Change file name here too. - - * Makefile.in (LIBOCTAVE_LFLAGS, LIBOCTAVE_LIBS): New variables. - (stamp-shared): Use them here. - -Tue Feb 6 09:53:41 1996 John W. Eaton - - * cmd-hist.cc (command_history::ignore_entries): Delete default - argument value. - -Mon Feb 5 12:07:50 1996 John W. Eaton - - * CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, CmplxHESS.h, CmplxLU.h, - CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, CmplxSVD.h, dbleAEPBAL.h, - dbleCHOL.h, dbleDET.h, dbleGEPBAL.h, dbleHESS.h, dbleLU.h, - dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h: - Clean up constructors, assigment operator. - -Sun Feb 4 03:12:04 1996 John W. Eaton - - * NPSOL.cc (do_minimize): Use F77_XFCN to call npsol. - Check f77_exception_encountered on return. - - * f77-fcn.c (f77_exception_encountered): New variable. - (F77_XFCN): Set it. - * f77-fcn.h: Provide declaration. - - * QPSOL.h (QPSOL_options::set_options): Renamed from copy(). - - * NPSOL.h (NPSOL_options::set_options): Renamed from copy(). - - * NLEqn.h (NLEqn_options::set_options): New function. - * Quad.h (Quad_options::set_options): Likewise. - - * LP.h (class LP): Add accessors for LP data. - - * NLEqn.h (NLEqn::n): Delete. - - * NLEqn.h (class NLEqn::n): Likewise. - - * NLP.h (class NLP): Add accessors for NLP data. - - * NPSOL.h (class NPSOL_options): Move constructors, set, and - access functions here. - * NPSOL.cc.cc: From here. - - * QLD.h (class QLD): Add destructor definition. - * Objective.h (class Objective): Likewise. - * ODEFunc.h (class ODEFunc): Likewise. - * NLFunc.h (class NLFunc): Likewise. - * NLEqn.h (class NLEqn): Likewise. - * NLConst.h (class NLConst): Likewise. - * LinConst.h (class LinConst): Likewise. - * LSODE.h (class LSODE_options): Likewise. - * CollocWt.h (class CollocWt): Likewise. - * Bounds.h (class Bounds): Likewise. - - * QLD.cc (QLD::set_default_options): Delete. - - * QP.h (QP): Add accessors for QP data. - Add copy constructor, operator =, and destructor definitions. - - * Range.h, Quad.h, QP.h, QLD.h, Objective.h, NLP.h, NLFunc.h, - NLConst.h, LinConst.h, LSODE.h, LP.h, FEGrid.h, EIG.h, DASSL.h, - DAEFunc.h, CollocWt.h, Bounds.h: - Clean up constructors, assigment operator. - - * dRowVector.cc (RowVector::transpose): Use magic of reference - counting to avoid duplicating the data immediately. - * dColVector.cc (ColumnVector::transpose): Likewise. - * CRowVector.cc (ComplexrowVector::transpose): Likewise. - * CColVector.cc (ComplexColumnVector::transpose): Likewise. - -Sat Feb 3 01:02:36 1996 John W. Eaton - - * prog-args.h (prog_args::option_argument): New enum. - - * f77-fcn.h: Rename from f77-uscore.h. - (F77_XFCN_ERROR, F77_XFCN): New macros. - * f77-fcn.c: New file. - * Makefile.in (SOURCES): Add it to the list. - - * ODEFunc.h: Clean up. - - * DASSL.cc, DASSL.h: New files. - * Makefile.in: Add them to the appropriate lists. - - * LSODE.cc, LSODE.h: New files. - * Makefile.in: Add them to the appropriate lists. - - * ODE.cc: Delete. - * Makefile.in (SOURCES): Remove from list. - - * base-de.h, DAE.cc: New files. - * Makefile.in: Add them to the appropriate lists. - * ODE.h: Only define interface for ODE classes. - * DAE.h: Only define interface for ODE classes. - - * LPsolve.cc (do_minimize): Print sorry not implemented message. - (LPsolve::set_default_options)): Delete - * LPsolve.h (class LPsolve): Add operator =, copy constructor, and - destructor. - - * LP.h (class LP): Add operator =, copy constructor, and destructor. - - * QPSOL.h (QPSOL::QPSOL (const QPSOL&)): New constructor. - (QPSOL::operator =): Call base class operator = instead of assuming - we know what to copy. - - * base-min.h (size): New function. - - * NLP.h (NLP::size): Delete. - (NLP::NLP (const NLP&)): New constructor. - (NLP::operator =): Call base class operator = instead of assuming - we know what to copy. - - * NPSOL.h, NPSOL.cc (NPSOL::option): Delete. - (class NPSOL): Add operator = and destructor. - - * NPSOL.h: Add NPSOL_options() to list of constructor initalizers. - -Fri Feb 2 22:52:55 1996 John W. Eaton - - * Makefile.in (liboctave.a): Depend on $(PICOBJ). - -Wed Jan 31 05:29:25 1996 John W. Eaton - - * dMatrix.cc (Givens, Sylvester, Matrix::expm): New functions. - * CMatrix.cc (Givens, Sylvester, ComplexMatrix::expm): Ditto. - -Mon Jan 29 00:00:12 1996 John W. Eaton - - * prog-args.h, prog-args.cc: New files. - * Makefile.in: Add them to lists. - - * getopt.h, getopt.c, getopt1.c: New files. - * Makefile.in: Add them to the lists. - - * oct-term.h, oct-term.cc: New files. - * Makefile.in: Add them to the lists. - - * str-vec.cc: New file. - * Makefile.in (SOURCES): Add it to the list. - - * file-ops.cc (oct_tmpnam): Move here from src/utils.cc. - - * tempname.c, tempnam.c: Move here from src directory. - * Makefile.in: Add to lists. - -Sun Jan 28 23:06:19 1996 John W. Eaton - - * cmd-hist.h, cmd-hist.cc: New files. - * Makefile.in: Add them to lists. - -Thu Jan 25 20:36:05 1996 John W. Eaton - - * oct-glob.h, oct-glob.cc: New files. - * Makefile.in: Add them to lists. - -Wed Jan 24 01:55:08 1996 John W. Eaton - - * pathsearch.h, pathsearch.cc: New files. - * Makefile.in: Add them to lists. - - * dir-ops.h, dir-ops.cc: New files. - * sysdir.h: Move here from src directory. - * Makefile.in: Add them to lists. - - * Array.h (Array::qsort): Return *this, not void. - * str-vec.h (string_vector::qsort): Likewise. - - * chMatrix.cc (row_as_string): Resize result to eliminate - unnecessary NULs. - -Tue Jan 23 00:40:58 1996 John W. Eaton - - * safe-xstat.hin, safe-xstat.cin, statdefs.h, file-ops.h, - file-ops.cc, filemode.c, mkdir.c, rmdir.c, rename.c: - Files moved here from src directory. - * Makefile.in: Add them to lists. Include appropriate rules. - - * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: - Use pointers, not references (this is C code!). - - * oct-math.h: New file. - * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: - Files moved here from src directory. - * Makefile.in: Add them to lists. - -Sun Jan 21 22:53:37 1996 John W. Eaton - - * idx-vector.cc (make_uniq): Fix major brain-o. - - * CmplxSCHUR.h, CmplxSCHUR.cc, dbleSCHUR.h, dbleSCHUR.cc: - Convert to use string class instead of char*. - - * str-vec.h, Array-str.cc: New files. - - * Array.h (Array::qsort): New function. - -Fri Jan 12 01:45:10 1996 John W. Eaton - - * Array.h: Nest ArrayRep class inside Array class. - Refer to ArrayRep, not ArrayRep. - Move all ArrayRep functions inline. - Don't declare other Array classes as friends of ArrayRep. - * Array.cc: Delete ArrayRep functions. - * Array-idx.h: Refer to ArrayRep, not ArrayRep. - - * Array-C.cc, Array-ch.cc, Array-d.cc, Array-i.cc, Array-s.cc: - Don't instantiate ArrayRep objects. - -Wed Jan 10 04:40:21 1996 John W. Eaton - - * chMatrix.cc (charMatrix::charMatrix (const string&)): - New constructor. - -Tue Jan 9 04:44:56 1996 John W. Eaton - - * dbleGEPBAL.cc (GEPBALANCE::init): Use string instead of char* - for balance_job arg. - * dbleAEPBAL.cc (AEPBALANCE::init): Likewise. - * CmplxAEPBAL.cc (ComplexAEPBALANCE::init): Likewise. - - * chMatrix.cc (row_as_string): Return string, not const char*. - -Mon Jan 8 03:20:01 1996 John W. Eaton - - * Makefile.in (clean): If $(SHARED_LIBS), also remove shared libs. - - * chMatrix.cc (row_as_string): Undo previous change. - -Sun Jan 7 19:50:16 1996 John W. Eaton - - * chMatrix.cc (row_as_string): Do memory management here. Caller - is expected to save string if necessary. - -Sat Jan 6 19:28:20 1996 John W. Eaton - - * Array.h (class DiagArray): Enable nested Proxy class for all - platforms. - - * Array.cc (Array::operator = (const Array&)): If rep == - a.rep, don't mess with count. - * Array.h (Array2& operator = (const Array2&)): Likewise, - don't do anything if reps are the same. - (Array3& operator = (const Array3&) - - * Array.h (ArrayRep::operator = (const ArrayRep&)): - Declare private with no definition to prevent misuse. - - * Array.cc (Array2::insert (const Array2&, int, int)): - Get range check right. - * dMatrix.cc (Matrix::insert (const RowVector&, int, int)): Ditto. - (Matrix::insert (const ColumnVector&, int, int)): Ditto. - (Matrix::insert (const DiagMatrix&, int, int)): Ditto. - * CMatrix.cc (ComplexMatrix::insert (const Matrix&, int, int)): Ditto. - (ComplexMatrix::insert (const RowVector&, int, int)): Ditto. - (ComplexMatrix::insert (const ColumnVector&, int, int)): Ditto. - (ComplexMatrix::insert (const DiagMatrix&, int, int)): Ditto. - (ComplexMatrix::insert (const ComplexRowVector&, int, int)): Ditto. - (ComplexMatrix::insert (const ComplexColumnVector&, int, int)): Ditto. - (ComplexMatrix::insert (const ComplexDiagMatrix&, int, int)): Ditto. - * dRowVector.cc (RowVector::insert (const RowVector&, int)): Ditto. - * dColVector.cc - (ColumnVector::insert (const ColumnVector&, int)): Ditto. - * CRowVector.cc - (ComplexRowVector::insert (const RowVector&, int)): Ditto. - (ComplexRowVector::insert (const ComplexRowVector&, int)): Ditto. - * CColVector.cc - (ComplexColumnVector::insert (const ColumnVector&, int)): Ditto. - (ComplexColumnVector::insert (const ComplexColumnVector&, int)): Ditto. - - * dMatrix.cc (Matrix::insert (const DiagMatrix&, int, int)): - Also fill in zeros, not just the diagonal. - - * CDiagMatrix.cc (ComplexDiagMatrix::fill (double, int, int)): - Use END parameter properly. - (ComplexDiagMatrix::fill (const Complex&, int, int)): Ditto. - * dDiagMatrix.cc (DiagMatrix::fill (double, int, int)): Ditto. - - * Array.h (ArrayRep::ArrayRep (void)): Set count to 1 here. - (ArrayRep::ArrayRep (T *, int)): Likewise. - * Array.cc (ArrayRep::ArrayRep (const ArrayRep&)): - Don't copy count. Set it to 1. - (ArrayRep::ArrayRep (int)): Set count to 1 here. - - * Array.h (Array::Array (T *, int)): After constructing rep, - don't set rep->count to 1 here (now handled by ArrayRep - constructors). - (Array::Array (void)): Ditto. - (Array::Array (int)): Ditto. - (Array::T& elem (int)): Ditto. - * Array-idx.h (Array::maybe_delete_elements (idx_vector&)): Ditto. - (Array2::maybe_delete_elements (idx_vector&, idx_vector&)): Ditto. - * Array.cc: (Array::Array (int, const T&)): Ditto. - (Array::resize (int)): Ditto. - (Array::resize (int, const T&)) :Ditto. - (Array::fortran_vec (void)): Ditto. - (Array2::resize (int, int)): Ditto. - (Array2::resize (int, int, const T&)): Ditto. - (DiagArray::resize (int, int)): Ditto. - (DiagArray::resize (int, int, const T&)): Ditto. - -Sun Dec 31 21:23:26 1995 John W. Eaton - - * Array-ch.cc: Rename from Array-c.cc. - * MArray-ch.cc: Rename from MArray-c.cc. - * chMatrix.cc: Rename from cMatrix.cc. - * chMatrix.h: Rename from cMatrix.h. - * Makefile.in (TI_SRC): Use new names here. - * mx-base.h: Likewise. - -Fri Dec 29 21:45:00 1995 John W. Eaton - - * Makefile.in: Handle shared libraries. - -Thu Dec 28 14:18:34 1995 John W. Eaton - - * CRowVector.cc (operator * (ComplexRowVector, ComplexMatrix)): - Correctly compute length of return value. Correct rows and - columns in zgemv call. - * dRowVector.cc (operator * (RowVector, Matrix)): Likewise. - -Tue Dec 26 00:37:57 1995 John W. Eaton - - * Makefile.in (stamp-picdir): New target. - (all): Depend on it. - -Sun Dec 24 03:10:41 1995 John W. Eaton - - * Makefile.in (INCLUDES): Remove QLD.h. - (SOURCES): Remove QLD.cc. - -Wed Dec 20 00:43:46 1995 John W. Eaton - - * dMatrix.cc (Matrix::inverse): New arg, force. - If force is nonzero, invert even if matrix is singular. - (ComplexMatrix::inverse): Likewise. - - * dRowVector.cc, mx-inlines.cc, dMatrix.cc, dDiagMatrix.cc, - dColVector.cc,MArray-C.cc, CmplxDET.cc, CRowVector.cc, CMatrix.cc, - CDiagMatrix.cc, CColVector.cc, Array-C.cc, CmplxDET.h, CMatrix.h: - Include "oct-cmplx.h" instead of . - - * mx-defs.h: Include oct-cmplx.h in place of forward declaration - for class Complex. - - * oct-cmplx.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - - * idx-vector.cc (IDX_VEC_REP::idx_vector_rep): Don't redeclare len. - (IDX_VEC_REP::maybe_convert_one_zero_to_idx): Don't redeclare count. - (IDX_VEC_REP::freeze): Don't redeclare max_val and min_val. - (intcmp, sort_data, make_uniq, copy_data, IDX_VEC_REP::print): - Avoid g++ bugs. - -Tue Nov 14 14:24:16 1995 John Eaton - - * Array-idx.h (maybe_delete_elements): Give useful error message. - - * dbleSCHUR.cc, dbleSVD.cc: Include iostream.h. - -Mon Nov 13 08:35:07 1995 John Eaton - - * CDiagMatrix.cc (inverse): Return retval, not *this. - * dDiagMatrix.cc (inverse): Use same method as for Complex case. - -Sat Nov 4 05:06:12 1995 John Eaton - - * Array.h, Array.cc, Array-idx.h [HEAVYWEIGHT_INDEXING]: Keep - index vector object with Array, not ArrayRep. - -Fri Nov 3 06:52:38 1995 John Eaton - - * Array-idx.h (assign (Array2&, const Array2&): Don't fail - if index is a colon and resizing is maybe needed. - -Tue Oct 31 17:40:01 1995 John Eaton - - * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Don't return true - if we have a vector of 1's. - - * Array-idx.h (assign (Array2&, Array2&): If lhs has no - current orientation, require index and rhs to conform unless - do_fortran_indexing flag is set. - -Sun Oct 15 23:32:08 1995 John Eaton - - * Array-d.cc, Array-C.cc, mx-base.h, mx-inlines.cc, dDiagMatrix.h, - CDiagMatrix.h, CMatrix.cc, CMatrix.h, dMatrix.h, mx-defs.h, - cMatrix.h, MArray.cc, MArray.h, MArray-i.cc, MArray-c.cc, - MArray-s.cc, Array.h, Array.cc, Array-c.cc, Array-i.cc, - Array-s.cc, cMatrix.cc, Array-idx.h, dMatrix.cc: - Massive changes to support additional data types. Only charMatrix - is currently used in Octave. - -Thu Oct 12 02:22:36 1995 John Eaton - - * Array.cc (Array2::insert (Array2&, int, int): New function. - * CMatrix.cc (ComplexMatrix::insert (ComplexMatrix&, int, int): - Simply call Array2 version. - * dMatrix.cc (Matrix::insert (Matrix&, int, int): Similarly, just - call Array2 version. - - * Array-C.cc, Array-d.cc: Instantiate new assign functions too. - - * Array.h, Array.cc: Massive overhaul to support new way of - handling indexing. - * idx-vector.h, idx-vector.cc: Likewise. - * Array-ext.cc, Array-idx.h: New files. - * Makefile.in: Add them to the appropriate lists. - -Wed Oct 11 00:49:58 1995 John Eaton - - * Range.cc (nelem_internal): Use tfloor here, not round. - -Sun Oct 8 18:21:02 1995 John Eaton - - * idx-vector.h, idx-vector.cc: New files, moved from ../src. - * Makefile.in (SOURCES, INCLUDES): Include them in the lists. - -Sat Oct 7 19:07:02 1995 John Eaton - - * CMatrix.cc (pseudo_inverse): Avoid bogus g++ warning. - - * Array.h: Move simple member functions here. - * Array.cc: From here. - -Fri Oct 6 00:36:04 1995 John Eaton - - * Range.cc (tfloor, tceil, round): New static functions. - (Range::nelem_internal): Rewrite to use better method. - - * dbleSVD.h (SVD::type): New item, sigma_only. - (type_computed): New var. - * dbleSVD.cc (left_singular_matrix, right_singular_matrix): - Handle possible error condition. - (init): Allow for SVD::sigma_only, save type computed. - * CmplxSVD.cc (left_singular_matrix, right_singular_matrix): - Handle possible error condition. - (init): Allow for SVD::sigma_only, save type computed. - -Wed Oct 4 15:33:35 1995 John Eaton - - * Nearly all non-matrix .h and .cc files: - Move short function bodies into class declarations for inlining. - Generally clean up. - - * base-min.h: New file. - * LP.h (class LP): Derive from base_minimizer. - * QLP.h (class QLP): Derive from base_minimizer. - * NLP.h (class NLP): Derive from base_minimizer. - * Makefile.in (INCLUDES): Add base-min.h to the list. - - * Makefile.in (SOURCES): Delete DAEFunc.cc, LP.cc, NLConst.cc, - NLFunc.cc, Objective.cc and QP.cc from list. - -Tue Sep 26 04:14:23 1995 John Eaton - - * dbleSCHUR.cc (select_ana): Remove name of unused parameter. - (SCHUR::SCHUR): Delete unused parameter ord. - * CmplxSCHUR.h (ComplexSCHUR::CmplxSCHUR): Likewise. - - * CRowVector.cc - (ComplexRowVector::operator+ (const Complex&, const RowVector&), - (ComplexRowVector::operator- (const Complex&, const RowVector&), - (ComplexRowVector::operator* (const Complex&, const RowVector&), - (ComplexRowVector::operator/ (const Complex&, const RowVector&)): - Actually do something. - - * dMatrix.cc (Matrix::lssolve (ComplexMatrix&)): Use dummy vars. - (Matrix::lssolve (ComplexMatrix&, int&)): Likewise. - (Matrix::lssolve (ComplexMatrix&, int&, int&)): Likewise. - - * Quad.cc (Quad_options::Quad_options (double, double)): New function. - * (Quad::Quad (integrand_fcn, double, double): Properly initialize - tolerances. - - * DAE.cc (ddassl_f, ddassl_j): Remove names of unused parameters. - * LPsolve.cc (LPsolve::minimize): Likewise. - * NPSOL.cc (NPSOL::option, npsol_confun, npsol_objfun): Likewise. - * ODE.cc (lsode_f, lsode_j): Likewise. - * QPSOL.cc (qphess): Likewise. - -Fri Sep 22 04:14:51 1995 John Eaton - - * dMatrix.cc: Include . - - * Array.cc: Try harder to avoid warnings from gcc in functions - that return bogus values after calling the error handler. - -Thu Sep 14 00:56:00 1995 John Eaton - - * Makefile.in: Use `ifndef omit_deps', not `ifndef $(omit_deps)'. - - * Makefile.in (TEMPLATE_SRC): Add Array-i.cc to the list. - -Tue Aug 22 00:41:06 1995 John Eaton - - * DAE.cc (dassl_f): Add UNUSED attribute for unused parameters. - (dassl_j): Likewise. - - * DAE.cc, NLEqn.cc, NPSOL.cc, ODE.cc, CColVector.cc, CMatrix.cc, - dColVector.cc, dMatrix.cc, CmplxLU.cc, dbleLU.cc, QPSOL.cc, - Array.cc, CollocWt.cc, FEGrid.h, LinConst.h: - Update for change in for loop variable scope for gcc 2.7.0. - -Mon Aug 21 19:34:53 1995 John Eaton - - * Makefile.in: Only include dependency files if $(omit_deps) is - not set. - -Mon May 1 13:26:00 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) - - * dbleSCHUR.h dbleSVD.h dbleQRP.h dbleQR.h dbleHESS.h dbleLU.h - dbleCHOL.h dbleGEPBAL.h dbleAEPBAL.h dbleDET.h dDiagMatrix.h - dColVector.h dMatrix.h dRowVector.h Quad.h Range.h QPSOL.h QLD.h - ODEFunc.h QP.h Objective.h NPSOL.h ODE.h NLEqn.h NLFunc.h - NLConst.h LinConst.h LPsolve.h LP.h FSQP.h FEGrid.h EIG.h - DAEFunc.h CollocWt.h DAE.h CmplxSVD.h CmplxQRP.h CmplxSCHUR.h - CmplxHESS.h CmplxDET.h CmplxLU.h CmplxQR.h CmplxCHOL.h - CmplxAEPBAL.h CRowVector.h CDiagMatrix.h Bounds.h CColVector.h - CMatrix.h dbleSCHUR.cc dbleSVD.cc dbleQRP.cc dbleQR.cc - dbleGEPBAL.cc dbleLU.cc dbleHESS.cc dbleDET.cc dbleCHOL.cc - dbleAEPBAL.cc dColVector.cc dRowVector.cc dMatrix.cc - dDiagMatrix.cc QPSOL.cc Range.cc Quad.cc QP.cc ODEFunc.cc QLD.cc - Objective.cc NLEqn.cc ODE.cc NPSOL.cc NLFunc.cc LPsolve.cc - NLConst.cc LinConst.cc FSQP.cc FEGrid.cc LP.cc DAE.cc EIG.cc - CollocWt.cc DAEFunc.cc CmplxSVD.cc CmplxSCHUR.cc CmplxQRP.cc - CmplxLU.cc CmplxQR.cc CmplxHESS.cc CmplxDET.cc CmplxCHOL.cc - CmplxAEPBAL.cc CRowVector.cc CColVector.cc CMatrix.cc - CDiagMatrix.cc Bounds.cc MArray.h MArray.cc Array.cc Array.h - NLP.h: Use pragma interface/implementation. Don't surround - contents in extern "C++". - * lo-error.h sun-utils.h: Don't surround contents in extern "C++". - -Tue Apr 11 10:59:24 1995 John Eaton - - * f77-uscore.h (F77_FCN): Allow for possibility of uppercase - identifiers. - * utils.cc dbleSVD.cc dbleSCHUR.cc dbleQRP.cc dbleQR.cc dbleLU.cc - dbleHESS.cc dbleGEPBAL.cc dbleAEPBAL.cc dRowVector.cc - dColVector.cc QLD.cc CmplxSVD.cc CmplxCHOL.cc CmplxHESS.cc - CmplxQR.cc CmplxQRP.cc QPSOL.cc CmplxAEPBAL.cc CmplxLU.cc - CmplxSCHUR.cc dMatrix.cc CColVector.cc CRowVector.cc dbleCHOL.cc - CollocWt.cc NLEqn.cc EIG.cc DAE.cc ODE.cc CMatrix.cc NPSOL.cc - Quad.cc: Change usage of F77_FCN to match new definition - - * utils.cc dbleSVD.cc dbleSCHUR.cc dbleQRP.cc dbleQR.cc dbleLU.cc - dbleHESS.cc dbleGEPBAL.cc dbleAEPBAL.cc dRowVector.cc - dColVector.cc QLD.cc CmplxSVD.cc CmplxCHOL.cc CmplxHESS.cc - CmplxQR.cc CmplxQRP.cc QPSOL.cc CmplxAEPBAL.cc CmplxLU.cc - CmplxSCHUR.cc dMatrix.cc CColVector.cc CRowVector.cc dbleCHOL.cc - CollocWt.cc NLEqn.cc EIG.cc DAE.cc ODE.cc CMatrix.cc NPSOL.cc - Quad.cc: Where appropriate, declare Fortran subroutines to take - args by reference instead of pointer. Change all callers. - -Sun Apr 9 20:11:56 1995 John Eaton - - * MArray.h (MArray2::~MArray2, MDiagArray::~MDiagArray): New - functions. Make += and -= operators friend functions. - - * Array.h (Array2::~Array2, Array3::~Array3, - DiagArray::~DiagArray): New functions. - -Wed Apr 5 21:21:13 1995 John Eaton - - * Makefile.in (EXTRAS): Don't distribute mx-kludge.cc. - (MATRIX_INC): Don't distribute mx-kludge.h. - - * CColVector.h CColVector.cc CDiagMatrix.h CDiagMatrix.cc - CMatrix.h CMatrix.cc CRowVector.h CRowVector.cc dColVector.h - dColVector.cc dDiagMatrix.h dDiagMatrix.cc dMatrix.h dMatrix.cc - dRowVector.h dRowVector.cc: - Derive classes from MArray, MArray2, and MDiagArray, not Array, - Array2, and DiagArray2. - Don't use functions defined in mx-kludge.cc for arithmetic - like-type operations on arrays. - - * MArray.cc: Use the classes defined here like-type mathematical - operations on Array objects. Abuse CPP more. - * Makefile.in (TEMPLATE_SRC): Add it to the list. - (EXTRAS): Delete it from this list. - - * MArray-C.cc, MArray-d.cc: New files. - * Makefile.in (TI_SRC): Add them to the list. - -Tue Apr 4 14:13:46 1995 John Eaton - - * mx-kludge.cc: Abuse CPP even more. - -Mon Apr 3 21:05:30 1995 John Eaton - - * Objective.h (objective_function): Add missing const. - (gradient_function): Likewise. - - * CColVector.h CColVector.cc CDiagMatrix.h CDiagMatrix.cc - CMatrix.h CMatrix.cc CRowVector.h CRowVector.cc dColVector.h - dColVector.cc dDiagMatrix.h dDiagMatrix.cc dMatrix.h dMatrix.cc - dRowVector.h dRowVector.cc: - Reorganize to declare and define friends where they should be, - based on the use of private constructors. - -Fri Mar 31 10:09:40 1995 John Eaton - - * CRowVector.h (linspace): Add declaration. - * dRowVector.h (linspace): Likewise. - - * dMatrix.cc (Matrix::inverse, Matrix::determinant, Matrix::solve): - Force result of rcond + 1.0 to be stored. - * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::determinant, - ComplexMatrix::solve): Likewise. - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/scripts-ChangeLog --- a/OLD-ChangeLogs/scripts-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17465 +0,0 @@ -2011-04-13 David Bateman - - * plot/colstyle.m : New function. - * plot/module.mk plot_FCN_FILES) : Add it here. - -2011-04-12 Ben Abbott - - * miscellaneous/getappdata.m: If no property name is provided, return - a structure representing the appdata. - -2011-04-12 Marco Caliari - - * general/quadgk.m: Fix problem with -Inf bound on integral (bug - #33055). - -2011-04-11 Ben Abbott - - * miscellaneous/getappdata.m: If appdata propery does not exist, return - an empty matrix. - -2011-04-08 Rik - - * linear-algebra/cond.m, linear-algebra/expm.m, linear-algebra/logm.m, - linear-algebra/null.m, linear-algebra/orth.m, linear-algebra/rank.m, - linear-algebra/rref.m: Improve docstrings. - -2011-04-06 Rik - - * miscellaneous/pack.m: Improve docstring. - -2011-04-06 Rik - - * signal/module.mk: Make spectral density helper functions private. - (rectangle_sw, rectangle_lw, triangle_sw, triangle_lw) - -2011-04-06 Rik - - * optimization/fminunc.m, plot/isocolors.m, plot/isonormals.m: - Clean up operator and function indices. - -2011-04-04 Rik - - * miscellaneous/symvar.m, miscellaneous/warning_ids.m, - optimization/fminunc.m: Spellcheck documentation for 3.4.1 release. - -2011-04-04 Rik - - * @ftp/mget.m, audio/loadaudio.m, audio/playaudio.m, audio/record.m, - audio/saveaudio.m, general/circshift.m, general/cumtrapz.m, - general/dblquad.m, general/quadgk.m, general/quadl.m, - general/shiftdim.m, general/triplequad.m, geometry/convhull.m, - geometry/delaunay3.m, geometry/dsearch.m, geometry/dsearchn.m, - geometry/tsearchn.m, geometry/voronoi.m, image/brighten.m, - io/textscan.m, miscellaneous/getappdata.m, - miscellaneous/namelengthmax.m, miscellaneous/rmappdata.m, - miscellaneous/setappdata.m, miscellaneous/swapbytes.m, - miscellaneous/symvar.m, miscellaneous/warning_ids.m, - pkg/private/get_forge_pkg.m, plot/clabel.m, plot/colorbar.m, - plot/cylinder.m, plot/daspect.m, plot/linkprop.m, plot/pbaspect.m, - plot/plotyy.m, plot/private/__add_default_menu__.m, plot/sphere.m, - plot/subplot.m, plot/view.m, polynomial/polyreduce.m, - polynomial/ppder.m, polynomial/ppint.m, signal/periodogram.m, - sparse/colperm.m, sparse/nonzeros.m, sparse/spaugment.m, - sparse/speye.m, sparse/treelayout.m, sparse/treeplot.m, - statistics/base/kurtosis.m, statistics/base/mean.m, - statistics/base/meansq.m, statistics/base/median.m, - statistics/base/mode.m, statistics/base/moment.m, - statistics/base/ranks.m, statistics/base/skewness.m, - statistics/base/statistics.m, statistics/base/var.m, time/datenum.m, - time/datetick.m, time/now.m: Grammarcheck m-files for 3.4.1 release. - -2011-04-04 Rik - - * deprecated/module.mk, general/module.mk: Deprecate perror, strerror - functions. - -2011-04-02 Rik - - * statistics/base/prctile.m, statistics/base/quantile.m: Improve - docstrings. - -2011-03-31 Rik - - * pkg/module.mk, pkg/pkg.m, pkg/private/get_forge_pkg.m: Add - documentation for '-forge' option (bug #32464). Make get_forge_pkg - a private function. - -2011-03-31 Marco Caliari - - * sparse/spdiags.m: Treat empty vector (1x0 or 0x1) the same as diag(). - -2011-03-31 Rik - - * statistics/base/cor.m: Increase tolerance of %!tests using random - data to guarantee passage. - -2011-03-31 Rik - - * deprecated/module.mk, deprecated/cquad.m: Add deprecated entry for - cquad() pointing to quadcc(). - -2011-03-31 Rik - - * statistics/base/cor.m: Fix operation with only single input - (bug #32961) - -2011-03-29 John W. Eaton - - * special-matrix/wilkinson.m: Update test for 'wilkinson(1)' to reflect - changes to diag(). - -2011-03-29 Michael Creel - - * statistics/base/ols.m: Fix erroneous degrees of freedom when - computing the covariance estimator (closes: bug #32892). - -2011-03-28 Rik - - * linear-algebra/cross.m, plot/ishold.m, signal/fftfilt.m: Improve - docstrings. - -2011-03-26 Robert T. Short - - * signal/ifftshift.m: Add tests. - -2011-03-26 Robert T. Short - - * signal/fftshift.m: Add tests. - -2011-03-21 Rik - - * signal/ifftshift.m: Fix bug #32873, ifftshift fails. - -2011-03-19 Rik - - * general/module.mk, statistics/base/module.mk: Move runlength.m - to statistics/base directory. - * statistics/base/runlength.m: Add input validation and tests. - Improve docstring. - -2011-03-19 Rik - - * statistics/models/logistic_regression.m: Do not split function - declaration with line continuation. - * statistics/models/private/logistic_regression_likelihood.m, - statistics/models/private/logistic_regression_derivatives.m: Make - helper functions private. - * statistics/models/module.mk: Make helper functions private. - -2011-03-19 Rik - - * plot/isocolors.m, plot/isonormals.m, plot/isosurface.m: Improve - docstrings. - -2011-03-19 Rik - - * miscellaneous/dump_prefs.m: Close @deftypefn macro left open. - -2011-03-19 Rik - - * miscellaneous/dump_prefs.m: Improve docstring. - -2011-03-19 Rik - - * plot/daspect.m, plot/pbaspect.m: Use newline between @deftypefnx - macros to get correct appearance. - -2011-03-19 Ben Abbott - - * plot/patch.m: Add demo. - * geometry/trisurf.m: Set default edgecolor as Matlab does. Add demos. - -2011-03-18 Rik - - * plot/uigetdir.m, plot/uigetfile.m, plot/uimenu.m, plot/uiputfile.m: - Improve docstrings. Check for error conditions (missing FLTK, wrong - number of arguments) at top of code. - -2011-03-18 Rik - - * general/curl.m, general/divergence.m, linear-algebra/cross.m: - Update seealso cross references. - -2011-03-18 Rik - - * help/get_first_help_sentence.m: Improve docstring. Add tests. - -2011-03-17 Rik - - * scripts/sparse/svds.m: Fix bug #32818, nonconformant arguments - in svds. - -2011-03-17 Rik - - * io/fileread.m: Add seealso reference to sscanf. - -2011-03-05 Ben Abbott - - * plot/colorbar.m: Allow location to be specified as a property. - -2011-03-03 Rik - - * miscellaneous/bunzip2.m, miscellaneous/bzip2.m, - miscellaneous/gunzip.m, miscellaneous/gzip.m, miscellaneous/unpack.m, - miscellaneous/untar.m, miscellaneous/unzip.m: Improve docstrings - - * miscellaneous/tar.m, miscellaneous/zip.m: Check for invalid arguments - at the top, rather than bottom, of code. - -2011-03-03 Rik - - * miscellaneous/gzip.m: Use same functional form as bzip, zip, etc. - * miscellaneous/private/__xzip__.m: Allow use of character arrays of - filenames. - * miscellaneous/unpack.m: Allow use of character arrays of filenames. - Add capability for gunzip to work recursively on a directory. - Fix bug where unzip returned the archive name in addition to the list - of files unzipped. - -2011-03-03 Rik - - * deprecated/module.mk, general/module.mk: Deprecate is_duplicate_entry. - -2011-03-03 Rik - - * miscellaneous/movefile.m: Fix copy&paste bug affecting Windows - platform. (bug #32443) - -2011-03-02 Rik - - * statistics/distributions/unidcdf.m, - statistics/distributions/unidinv.m, statistics/distributions/unidpdf.m, - statistics/distributions/unidrnd.m: Correctly refer to distribution as - discrete uniform in docstring. - -2011-03-02 Konstantinos Poulios - - * plot/subplot.m: Remove redundant calls. - For gnuplot set "activepositionproperty" to "position" always. - -2011-03-01 Rik - - * general/isscalar.m, general/isvector.m: Use modern warning function - rather than deprecated built-in variable to set warning state. - -2011-02-28 Rik - - * general/iscolumn.m, general/isrow.m: Add 2 new utility functions - to check for row or column vector. - -2011-02-28 Rik - - * sparse/treeplot.m: Use 'o' plot style as default for nodes - -2011-02-27 Rik - - * special-matrix/pascal.m: Fix incorrect statement in documentation - for pascal.m. Bug #32523. - -2011-02-26 Andy Buckle - - * testfun/demo.m, testfun/example.m: Allow command forms of example - and demo. - -2011-02-26 Robert T. Short - - * polynomial/polyval.m: Compute offset/normalization only when needed. - -2011-02-26 Robert T. Short - - * polynomial/polyval.m: Minor simplification in polynomial evaluation. - -2011-02-22 Rik - - * general/bitcmp.m, general/bitget.m, general/bitset.m, - miscellaneous/license.m, special-matrix/pascal.m, - statistics/base/quantile.m, statistics/tests/cor_test.m, - strings/substr.m: Uppercase variables in error strings. - -2011-02-25 Jordi Gutiérrez Hermoso - - * miscellaneous/warnings_ids.m: Add a warning description for - Matlab-style short-circuiting - -2011-02-24 Ben Abbott - - * plot/subplot.m: Document using INDEX as a vector. - -2011-02-24 Robert T. Short - - * polynomial/polyval.m: Properly evaluate constant polynomials. - -2011-02-24 John W. Eaton - - * strings/strchr.m: Avoid implicit string to number conversion. - Bug #32546. From Kim Hansen . - -2011-02-22 Ben Abbott - - * plot/subplot.m: Use new looseinset property introduced by changeset - 12467. Decrease spacing between subplots rows / columns. Clean up and - add comments. - -2011-02-22 Rik - - * io/strread.m, plot/whitebg.m, strings/regexptranslate.m, - testfun/runtests.m: Use single quotes around regexp patterns. - -2011-02-20 Karsten Trulsen - - * signal/fftshift.m: Fix broken function. Bug 32442. - -2011-02-21 Carlo de Falco - - * pkg/get_forge_pkg.m: Fix typo in new PCRE style regular expression. - -2011-02-20 Thomas Weber - - * miscellaneous/warning_ids.m: Document - Octave::autoload-relative-file-name warning. - -2011-02-19 Rik - - * io/dlmwrite.m, pkg/get_forge_pkg.m, plot/__gnuplot_ginput__.m, - plot/__go_draw_axes__.m, testfun/runtests.m: Use PCRE regular - expressions to simplify scripts. - -2011-02-19 Ben Abbott - - * plot/__print_parse_opts__.m, plot/private/__ghostscript__.m: Improve - warnings when shell utilties are missing. - -2011-02-19 Thorsten Meyer - - * general/interp1.m: Fix tests according to spline update of - changeset 07e102029d2a (see bug 31780) - -2011-02-17 Kai Habel - - * plot/private/__add_default_menu__.m: Rename fltk_gui_mode here - as well. - -2011-02-16 Ben Abbott - - * plot/subplot.m: Decrease spacing between subplots rows / columns. - Clean up and add comments. - -2011-02-16 Thorsten Meyer - - * statistics/base/mean.m: Fix tests according to changeset 0f21f258aa17. - -2011-02-15 Konstantinos Poulios - - * plot/__fltk_print__.m: Forward pipeline to drawnow instead of - invoking a process here. Bug #32319. - -2011-02-14 Rik - - * plot/semilogxerr.m, plot/semilogyerr.m, special-matrix/pascal.m, - special-matrix/rosser.m, special-matrix/wilkinson.m: Add missing - commas in @seealso macro. - -2011-02-14 David Bateman - - * testfun/test.m: More explicit error message when source of a - dynamically linked function is not found. Bug #30341. - -2011-02-14 David Bateman - - * plot/private/__scatter__.m: Correctly set the facevertexcdata and - faces properties in the patch objects. Bug #31801. - -2011-02-14 Marco Caliari - - * polynomial/spline.m: Allow length(x) == 2 and unsorted x values. - -2011-02-13 Konstantinos Poulios - - * plot/legend.m: Ignore outerposition. - -2011-02-10 Ben Abbott - - * plot/legend.m, plot/plotyy.m, plot/sombrero.m, plot/shading.m, - plot/text.m: Modify demo scripts to allow conventient conversion - to Matlab compatible syntax. - -2011-02-10 John W. Eaton - - * statistics/base/mean.m: Also accept logical values. - -2011-02-10 Carlo de Falco - - * linear-algebra/gmres.m: New file implementing the GMRES - iterative method for solving linear systems. - -2011-02-08 Ben Abbott - - * plot/__go_draw_axes__.m: Properly set fontspec for legends. - -2011-02-05 David Bateman - - * plot/legend.m: Allow the location and orientation to be set - without modifiying the legend keys. - * plot/legend.m: Add padding to legend positions. Fix for - outerposition for southeastoutside and southwestoutside. - Bug #32374. - -2011-02-06 Ben Abbott - - * plot/legend.m: Align legends to plot box, add demo. Bug 32373. - * plot/legend.m: "legend off" should delete the legend object. - -2011-02-06 David Bateman - - * plot/legend.m : Delete old legend before probing the position and - outerposition. Reshape lpos correct if the legend locqtion is - "southeast". Bug #32343. - -2011-02-06 Ben Abbott - - * plot/legend.m: Add demo for replacing existing legend. - -2011-02-06 John W. Eaton - - * general/circshift.m: New tests. - -2011-02-05 Rik - - * miscellaneous/version.m, path/matlabroot.m: Correct spelling. - -2011-02-05 Rik - - * help/help.m, linear-algebra/onenormest.m, plot/graphics_toolkit.m, - plot/pie3.m, plot/view.m, signal/periodogram.m: Grammarcheck docstrings. - -2011-02-05 Ben Abbott - - * plot/legend.m: Add demo for inline keys created by two plot commands. - -2011-02-05 David Bateman - - Bug #32022 and #32343. - - * plot/legend.m (updatelegend): Don't flip plots when resetting the - legend. Use unwind_protect to ensure that the resursive flag is reset - in case of an error. - (getlegenddata): Remove this function and replace its use with the - function __getlegenddata__. - * plot/privata/__getlegenddata__.m: New function - * plot/module.mk (plot_PRIVATE_FCN_FILES): Add it here. - * plot/private/__plt__.m: Set initial values of hlgnd and tlgnd - if a legend exists already. - -2011-02-02 Rik - - * sparse/svds.m: Use testif to only run some sparse tests when - necessary libraries are installed. - -2011-02-01 Ben Abbott - - * plot/__gnuplot_has_feature__.m: Don't throw an error if gnuplot - isn't installed. - -2011-02-01 John W. Eaton - - * plot/scatter3.m: Pass h to set, not ax. - -2011-01-31 John W. Eaton - - * plot/private/__axis_label__.m: Don't call __fltk_redraw__. - -2011-01-31 John W. Eaton - - * plot/__fltk_ginput__.m: Remove line that should have been - removed in previous change. - -2011-01-31 Rik - - * plot/private/__gnuplot_has_terminal__.m: Simplify regular expression - to eliminate word-boundary assertion. - -2011-01-30 Rik - - * deprecated/module.mk, optimization/module.mk: Deprecate glpkmex - function. - -2011-01-30 John W. Eaton - - * plot/__gnuplot_drawnow__.m: Rename from gnuplot_drawnow.m - Update doc string and error message with new name. - * plot/module.mk (plot_FCN_FILES): Update list. - -2011-01-30 Petr Mikulik - - * plot/__fltk_ginput__.m (ginput_aggregator): New arg, button. - Change all uses. - (ginput_keypressfcn): Save keypress info. - -2011-01-29 Rik - - * plot/gnuplot_binary.in: Improve docstring - -2011-01-29 Rik - - * general/accumarray.m: Add seealso reference to accumdim. - -2011-01-29 Rik - - * set/powerset.m: Improve docstring. - -2011-01-29 Rik - - * miscellaneous/copyfile.m, miscellaneous/movefile.m, - miscellaneous/tempname.m: Improve docstrings - -2011-01-29 Rik - - * deprecated/module.mk, image/module.mk: Deprecate saveimage.m. - -2011-01-29 Rik - - * optimization/glpkmex.m: Add seealso reference to glpk. - -2011-01-29 Rik - - * miscellaneous/compare_versions.m: Allow only "==" equality operator. - Add input validation tests. Improve docstring. - - * miscellaneous/ver.m, miscellaneous/version.m, path/matlabroot.m: - Improve docstring. - -2011-01-29 Ben Abbott - - * miscellaneous/edit.m: As most editors open their own window, change - mode to "async". - -2011-01-28 Ben Abbott - - * plot/__fltk_print__.m, plot/print.m: Fix {eps,ps,pdf}latexstandalone - printing for fltk, bug 32262. - -2011-01-28 John W. Eaton - - * sparse/svds.m: Use "test" instead of "testif HAVE_ARPACK". - -2011-01-27 Rik - - * plot/whitebg.m: Improve docstring. - -2011-01-27 Rik - - * geometry/trimesh.m, geometry/triplot.m, geometry/trisurf.m: Add - undocumented function trisurf to documentation. Update seealso - strings. - -2011-01-27 John W. Eaton - - * general/rat.m: Move @seealso inside @deftypefn in docstring. - -2011-01-27 Kai Habel - - * plot/uigetfile.m, plot/uiputfile.m, plot/uigetdir.m: Check - for __fltk_uigetfile__. - -2011-01-27 John W. Eaton - - * Makefile.am (check-missing-semicolon): New rule. - -2011-01-26 Rik - - * scripts/general/interp1.m, scripts/general/interp2.m, - scripts/general/interp3.m, scripts/general/interpn.m: Use em-dash - rather than en-dash. - * scripts/miscellaneous/mkoctfile.m: Use @code to prevent option - turning to en-dash. - -2011-01-26 John W. Eaton - - * mkdoc: Untabify. - - * mkdoc, gethelp.cc: Strip trailing whitespace. - -2011-01-26 John W. Eaton - - * general/curl.m: Simplify processing of outptut values. - -2011-01-26 Olaf Till - - * pkg/pkg.m: Export environment variables MKOCTFILE and - OCTAVE_CONFIG for configure and make, to configure also OCTAVE. - -2011-01-24 John W. Eaton - - * audio/lin2mu: Doc fix. - - * audio/mu2lin.m: Doc fix. - For compatibility with Matlab, change default for N to be 8. - -2011-01-22 Rik - - * miscellaneous/info.m: Use reference to bug tracker rather than - octave-dev mailing list. - -2011-01-22 Ben Abbott - - * plot/meshc.m: Add note: gnuplot does not support filled 3D patches, - or mixing non-filled contours with filled surfaces. - * plot/subplot.m: Set "box" to "on" by default (same as Matlab). - * plot/cylinder.m: Remove console output from demo. - -2011-01-22 Konstantinos Poulios - - * plot/plotyy.m: Set box property to off to allow both y-axes colors - to be visible for OpenGL backends. - -2011-01-22 John W. Eaton - - * plot/private/__scatter__.m: Don't accept "filled" as a color. - * plot/scatter.m: Doc fix. - Bug #32204. - -2011-01-21 Konstantinos Poulios - - * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Setting axis label - color from axis color. - -2011-01-20 Jordi Gutiérrez Hermoso - - * image/imshow.m: Fix handling of clim and display_range so that - images are more faithfully reproduced. - -2011-01-20 Rik - - * scripts/image/imshow.m, scripts/image/saveimage.m, - scripts/io/dlmwrite.m, scripts/io/strread.m, - scripts/miscellaneous/license.m, scripts/optimization/glpk.m, - scripts/plot/refreshdata.m, scripts/plot/shading.m, - scripts/plot/slice.m, scripts/plot/surfl.m, scripts/plot/uimenu.m, - scripts/statistics/base/mean.m, scripts/statistics/base/moment.m, - scripts/strings/isstrprop.m: Prevent doubled quotes around @table - items in Info. - -2011-01-20 Rik - - * mkdoc: Mark all scripts as coming from 'scripts/' directory - in Texinfo '@c func location' comments. - -2011-01-20 Rik - - * scripts/linear-algebra/condest.m, - scripts/linear-algebra/onenormest.m, scripts/linear-algebra/qzhess.m, - scripts/polynomial/polyfit.m, scripts/special-matrix/pascal.m: Use - non-breaking spaces between certain adjectives and their linked nouns - in docstrings - -2011-01-20 Rik - - * image/imread.m, image/imwrite.m, signal/periodogram.m, - strings/isstrprop.m: Use @nospell macro on certain words in docstring. - -2011-01-20 John W. Eaton - - * @ftp/loadobj.m, @ftp/saveobj.m, audio/record.m, - general/accumarray.m, general/accumdim.m, general/arrayfun.m, - general/bicubic.m, general/curl.m, general/divergence.m, - general/gradient.m, general/interp2.m, general/rat.m, - image/imagesc.m, io/strread.m, io/textscan.m, - linear-algebra/krylov.m, miscellaneous/getappdata.m, - miscellaneous/isappdata.m, miscellaneous/rmappdata.m, - miscellaneous/setappdata.m, miscellaneous/what.m, - optimization/qp.m, path/savepath.m, pkg/pkg.m, - plot/__fltk_print__.m, plot/__gnuplot_print__.m, - plot/__go_draw_axes__.m, plot/__print_parse_opts__.m, - plot/axis.m, plot/caxis.m, plot/cla.m, plot/clabel.m, - plot/clf.m, plot/colorbar.m, plot/cylinder.m, plot/daspect.m, - plot/gnuplot_drawnow.m, plot/meshc.m, plot/newplot.m, - plot/orient.m, plot/pbaspect.m, plot/plotyy.m, plot/print.m, - plot/private/__actual_axis_position__.m, - plot/private/__axis_label__.m, plot/private/__bar__.m, - plot/private/__clabel__.m, plot/private/__errplot__.m, - plot/private/__ezplot__.m, plot/private/__ghostscript__.m, - plot/private/__patch__.m, plot/private/__pie__.m, - plot/private/__quiver__.m, plot/private/__scatter__.m, - plot/private/__stem__.m, plot/private/__tight_eps_bbox__.m, - plot/refresh.m, plot/spinmap.m, plot/subplot.m, plot/surfc.m, - plot/uigetfile.m, polynomial/polyout.m, sparse/spaugment.m, - sparse/svds.m, sparse/treeplot.m, statistics/base/histc.m, - statistics/distributions/hygecdf.m, - statistics/distributions/hygeinv.m, statistics/tests/manova.m, - strings/deblank.m, testfun/runtests.m: Add missing semicolons. - -2011-01-20 John W. Eaton - - * deprecated/cellidx.m, deprecated/dmult.m, - deprecated/intwarning.m, deprecated/str2mat.m, general/curl.m, - general/divergence.m, general/gradient.m, geometry/griddata.m, - help/gen_doc_cache.m, io/dlmwrite.m, miscellaneous/getappdata.m, - miscellaneous/isappdata.m, miscellaneous/rmappdata.m, - miscellaneous/setappdata.m, miscellaneous/unpack.m, - optimization/lsqnonneg.m, optimization/pqpnonneg.m, - pkg/get_forge_pkg.m, pkg/pkg.m, plot/__fltk_print__.m, - plot/__gnuplot_get_var__.m, plot/__gnuplot_open_stream__.m, - plot/__gnuplot_print__.m, plot/daspect.m, - plot/gnuplot_drawnow.m, plot/pbaspect.m, - plot/private/__errplot__.m, plot/private/__fltk_file_filter__.m, - plot/private/__ghostscript__.m, plot/uigetfile.m, - plot/uiputfile.m, polynomial/polyaffine.m, sparse/pcg.m: - Style fixes for error and warning messages. - -2011-01-20 John W. Eaton - - * @ftp/dir.m, @ftp/mget.m, @ftp/mput.m, ChangeLog, - audio/lin2mu.m, audio/setaudio.m, audio/wavread.m, - audio/wavwrite.m, deprecated/autocor.m, deprecated/autocov.m, - deprecated/betai.m, deprecated/create_set.m, - deprecated/dispatch.m, deprecated/gammai.m, - deprecated/intwarning.m, deprecated/replot.m, elfun/cosd.m, - elfun/sind.m, elfun/tand.m, general/accumarray.m, - general/accumdim.m, general/arrayfun.m, general/bicubic.m, - general/bitcmp.m, general/bitget.m, general/bitset.m, - general/cart2pol.m, general/cart2sph.m, general/cell2mat.m, - general/celldisp.m, general/circshift.m, general/cplxpair.m, - general/cumtrapz.m, general/curl.m, general/dblquad.m, - general/deal.m, general/del2.m, general/divergence.m, - general/flipud.m, general/gradient.m, general/idivide.m, - general/int2str.m, general/interp1.m, general/interp2.m, - general/interp3.m, general/interpft.m, general/interpn.m, - general/isdir.m, general/loadobj.m, general/logspace.m, - general/num2str.m, general/pol2cart.m, general/polyarea.m, - general/quadgk.m, general/quadl.m, general/quadv.m, - general/randi.m, general/rat.m, general/repmat.m, - general/rot90.m, general/rotdim.m, general/saveobj.m, - general/shift.m, general/sortrows.m, general/sph2cart.m, - general/structfun.m, general/subsindex.m, general/trapz.m, - general/triplequad.m, geometry/convhull.m, geometry/delaunay.m, - geometry/delaunay3.m, geometry/delaunayn.m, geometry/dsearch.m, - geometry/dsearchn.m, geometry/griddata3.m, geometry/griddatan.m, - geometry/inpolygon.m, geometry/rectint.m, geometry/trimesh.m, - geometry/trisurf.m, geometry/tsearchn.m, geometry/voronoi.m, - help/__makeinfo__.m, help/__strip_html_tags__.m, help/doc.m, - help/gen_doc_cache.m, help/get_first_help_sentence.m, - help/help.m, help/lookfor.m, help/print_usage.m, help/type.m, - image/autumn.m, image/bone.m, image/brighten.m, image/cool.m, - image/copper.m, image/flag.m, image/gmap40.m, image/gray.m, - image/hot.m, image/hsv.m, image/hsv2rgb.m, image/image.m, - image/imread.m, image/imshow.m, image/imwrite.m, - image/ind2rgb.m, image/jet.m, image/ntsc2rgb.m, image/ocean.m, - image/pink.m, image/prism.m, image/rainbow.m, image/rgb2hsv.m, - image/rgb2ind.m, image/rgb2ntsc.m, image/spring.m, - image/summer.m, image/winter.m, io/dlmwrite.m, io/fileread.m, - io/strread.m, io/textread.m, linear-algebra/cond.m, - linear-algebra/condest.m, linear-algebra/cross.m, - linear-algebra/expm.m, linear-algebra/isdefinite.m, - linear-algebra/krylov.m, linear-algebra/logm.m, - linear-algebra/normest.m, linear-algebra/onenormest.m, - linear-algebra/rref.m, linear-algebra/subspace.m, - miscellaneous/ans.m, miscellaneous/bincoeff.m, - miscellaneous/bunzip2.m, miscellaneous/bzip2.m, - miscellaneous/computer.m, miscellaneous/copyfile.m, - miscellaneous/debug.m, miscellaneous/edit.m, - miscellaneous/getappdata.m, miscellaneous/getfield.m, - miscellaneous/gunzip.m, miscellaneous/gzip.m, - miscellaneous/isappdata.m, miscellaneous/ls.m, - miscellaneous/mkoctfile.m, miscellaneous/movefile.m, - miscellaneous/namelengthmax.m, miscellaneous/orderfields.m, - miscellaneous/private/__xzip__.m, miscellaneous/rmappdata.m, - miscellaneous/setappdata.m, miscellaneous/substruct.m, - miscellaneous/swapbytes.m, miscellaneous/tar.m, - miscellaneous/unimplemented.m, miscellaneous/unpack.m, - miscellaneous/untar.m, miscellaneous/unzip.m, - miscellaneous/ver.m, miscellaneous/warning_ids.m, - miscellaneous/what.m, miscellaneous/zip.m, - optimization/__all_opts__.m, optimization/fminbnd.m, - optimization/fminunc.m, optimization/fsolve.m, - optimization/fzero.m, optimization/glpk.m, - optimization/lsqnonneg.m, optimization/optimget.m, - optimization/pqpnonneg.m, optimization/qp.m, optimization/sqp.m, - path/pathdef.m, path/savepath.m, pkg/pkg.m, - plot/__fltk_ginput__.m, plot/__gnuplot_ginput__.m, - plot/__gnuplot_has_feature__.m, plot/__gnuplot_open_stream__.m, - plot/__gnuplot_print__.m, plot/__go_draw_axes__.m, - plot/__go_draw_figure__.m, plot/__marching_cube__.m, - plot/__next_line_color__.m, plot/__next_line_style__.m, - plot/__plt_get_axis_arg__.m, plot/__print_parse_opts__.m, - plot/area.m, plot/axis.m, plot/bar.m, plot/barh.m, plot/caxis.m, - plot/cla.m, plot/clabel.m, plot/colorbar.m, plot/comet.m, - plot/comet3.m, plot/compass.m, plot/contour.m, plot/contour3.m, - plot/contourc.m, plot/cylinder.m, plot/daspect.m, - plot/diffuse.m, plot/ellipsoid.m, plot/errorbar.m, - plot/ezcontour.m, plot/ezcontourf.m, plot/ezmesh.m, - plot/ezmeshc.m, plot/ezplot.m, plot/ezplot3.m, plot/ezpolar.m, - plot/ezsurf.m, plot/ezsurfc.m, plot/feather.m, plot/findobj.m, - plot/fplot.m, plot/gnuplot_drawnow.m, plot/gtext.m, plot/hist.m, - plot/hold.m, plot/ishghandle.m, plot/isocolors.m, - plot/isonormals.m, plot/isosurface.m, plot/isprop.m, - plot/legend.m, plot/loglog.m, plot/loglogerr.m, plot/meshc.m, - plot/meshz.m, plot/ndgrid.m, plot/orient.m, plot/pareto.m, - plot/patch.m, plot/pbaspect.m, plot/pcolor.m, plot/peaks.m, - plot/pie.m, plot/pie3.m, plot/plot.m, plot/plot3.m, - plot/plotmatrix.m, plot/plotyy.m, plot/polar.m, plot/print.m, - plot/private/__actual_axis_position__.m, - plot/private/__axis_label__.m, plot/private/__bar__.m, - plot/private/__clabel__.m, plot/private/__contour__.m, - plot/private/__errplot__.m, plot/private/__ezplot__.m, - plot/private/__fltk_file_filter__.m, - plot/private/__ghostscript__.m, - plot/private/__gnuplot_has_terminal__.m, - plot/private/__patch__.m, plot/private/__pie__.m, - plot/private/__pltopt__.m, plot/private/__quiver__.m, - plot/private/__scatter__.m, plot/private/__stem__.m, - plot/private/__tight_eps_bbox__.m, plot/quiver.m, - plot/quiver3.m, plot/refreshdata.m, plot/rose.m, plot/saveas.m, - plot/scatter.m, plot/scatter3.m, plot/semilogx.m, - plot/semilogxerr.m, plot/semilogy.m, plot/semilogyerr.m, - plot/shading.m, plot/slice.m, plot/specular.m, plot/sphere.m, - plot/stairs.m, plot/stem.m, plot/stem3.m, plot/subplot.m, - plot/surface.m, plot/surfc.m, plot/surfl.m, plot/surfnorm.m, - plot/uigetdir.m, plot/uigetfile.m, plot/uimenu.m, - plot/uiputfile.m, plot/view.m, plot/waitforbuttonpress.m, - plot/whitebg.m, plot/xlim.m, plot/ylim.m, plot/zlim.m, - polynomial/mkpp.m, polynomial/mpoles.m, polynomial/pchip.m, - polynomial/poly.m, polynomial/polyaffine.m, - polynomial/polyderiv.m, polynomial/polyfit.m, - polynomial/polyreduce.m, polynomial/polyval.m, - polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, - polynomial/ppval.m, polynomial/residue.m, polynomial/roots.m, - polynomial/spline.m, polynomial/unmkpp.m, set/ismember.m, - set/private/validargs.m, set/setdiff.m, set/setxor.m, - set/union.m, set/unique.m, signal/arma_rnd.m, signal/fftconv.m, - signal/fftshift.m, signal/filter2.m, signal/freqz.m, - signal/ifftshift.m, signal/unwrap.m, sparse/bicgstab.m, - sparse/cgs.m, sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, - sparse/spaugment.m, sparse/spdiags.m, sparse/speye.m, - sparse/spfun.m, sparse/sprand.m, sparse/sprandn.m, - sparse/sprandsym.m, sparse/spstats.m, sparse/spy.m, - sparse/svds.m, sparse/treelayout.m, sparse/treeplot.m, - specfun/bessel.m, specfun/betaln.m, specfun/factor.m, - specfun/legendre.m, specfun/nchoosek.m, specfun/nthroot.m, - specfun/primes.m, specfun/reallog.m, specfun/realpow.m, - specfun/realsqrt.m, special-matrix/hadamard.m, - special-matrix/invhilb.m, special-matrix/magic.m, - special-matrix/pascal.m, special-matrix/toeplitz.m, - startup/__finish__.m, statistics/base/cov.m, - statistics/base/histc.m, statistics/base/iqr.m, - statistics/base/kendall.m, statistics/base/kurtosis.m, - statistics/base/mean.m, statistics/base/meansq.m, - statistics/base/median.m, statistics/base/mode.m, - statistics/base/moment.m, statistics/base/ols.m, - statistics/base/prctile.m, statistics/base/qqplot.m, - statistics/base/quantile.m, statistics/base/ranks.m, - statistics/base/run_count.m, statistics/base/skewness.m, - statistics/base/statistics.m, statistics/base/std.m, - statistics/base/studentize.m, statistics/base/var.m, - statistics/distributions/betainv.m, - statistics/distributions/betapdf.m, - statistics/distributions/betarnd.m, - statistics/distributions/binoinv.m, - statistics/distributions/binornd.m, - statistics/distributions/cauchy_cdf.m, - statistics/distributions/cauchy_inv.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/exprnd.m, - statistics/distributions/fcdf.m, - statistics/distributions/frnd.m, - statistics/distributions/gamrnd.m, - statistics/distributions/lognrnd.m, - statistics/distributions/nbincdf.m, - statistics/distributions/nbininv.m, - statistics/distributions/nbinpdf.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/normrnd.m, - statistics/distributions/poissrnd.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/tpdf.m, - statistics/distributions/trnd.m, - statistics/distributions/unifcdf.m, - statistics/distributions/unifrnd.m, - statistics/distributions/wblrnd.m, - statistics/tests/bartlett_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, - statistics/tests/kruskal_wallis_test.m, - statistics/tests/t_test_regression.m, strings/blanks.m, - strings/dec2base.m, strings/dec2hex.m, strings/findstr.m, - strings/index.m, strings/isstrprop.m, strings/mat2str.m, - strings/regexptranslate.m, strings/str2num.m, strings/strchr.m, - strings/strjust.m, strings/strmatch.m, strings/strsplit.m, - strings/strtok.m, strings/untabify.m, testfun/assert.m, - testfun/demo.m, testfun/example.m, testfun/fail.m, - testfun/speed.m, testfun/test.m, time/datenum.m, time/datestr.m, - time/datetick.m, time/datevec.m, time/etime.m: - Strip trailing whitespace. - - * statistics/distributions/betapdf.m: Untabify. - -2011-01-20 Petr Mikulik - - * plot/uigetdir.m: Use correct variable name for argument check. - Remove unneeded white spaces. - * plot/uigetfile.m, plot/uiputfile.m: Remove unneeded white spaces. - Bug #32190. - -2011-01-20 John W. Eaton - - * plot/ginput.m, plot/gnuplot_drawnow.m, plot/uiputfile.m, - plot/subplot.m, plot/axis.m, plot/colorbar.m, - plot/__print_parse_opts__.m, plot/uigetdir.m, - plot/__fltk_print__.m, plot/print.m, plot/__gnuplot_print__.m, - plot/uigetfile.m, plot/private/__actual_axis_position__.m: - Update for backend -> graphics_toolkit change. - - * plot/graphics_toolkit.m: Rename from backend.m. - * plot/module.mk (plot_FCN_FILES): Update list. - -2011-01-19 Rik - - * general/curl.m, general/divergence.m, io/strread.m, - miscellaneous/mkoctfile.m, plot/bar.m, plot/errorbar.m, plot/hist.m, - plot/mesh.m, plot/surf.m, polynomial/polyaffine.m: Correct spelling - in docstrings. - -2011-01-19 John W. Eaton - - * help/help.m: New option --list. Bug #31905. - -2011-01-19 John W. Eaton - - * io/strread.m: Avoid PCRE-ism in regexp. Bug #32066. - -2011-01-17 Rik - - * audio/wavread.m, deprecated/spqr.m, elfun/lcm.m, general/bitget.m, - general/curl.m, general/divergence.m, general/interp3.m, - general/quadv.m, geometry/delaunayn.m, geometry/griddata.m, - help/help.m, io/textread.m, io/textscan.m, linear-algebra/cond.m, - miscellaneous/mkoctfile.m, miscellaneous/orderfields.m, - miscellaneous/run.m, miscellaneous/setappdata.m, plot/axis.m, - plot/caxis.m, plot/daspect.m, plot/ellipsoid.m, plot/errorbar.m, - plot/gnuplot_binary.in, plot/hist.m, plot/hold.m, plot/ishold.m, - plot/legend.m, plot/mesh.m, plot/pbaspect.m, plot/pie3.m, plot/print.m, - plot/private/__add_default_menu__.m, plot/scatter.m, plot/scatter3.m, - plot/shg.m, plot/slice.m, plot/surf.m, plot/surfl.m, plot/uigetdir.m, - plot/uigetfile.m, plot/uimenu.m, plot/uiputfile.m, plot/view.m, - set/unique.m, signal/periodogram.m, sparse/pcg.m, sparse/pcr.m, - sparse/spfun.m, specfun/legendre.m, - statistics/distributions/poisspdf.m, statistics/distributions/wblpdf.m, - strings/strjust.m, strings/untabify.m, testfun/assert.m, - testfun/demo.m, testfun/example.m, testfun/fail.m, testfun/test.m: - Grammarcheck m-files for 3.4 release. - -2011-01-17 Rik - - * general/dblquad.m, general/quadgk.m, general/quadl.m, - general/quadv.m, general/triplequad.m: Improve docstring with seealso - links to quadcc. - -2011-01-17 John W. Eaton - - * miscellaneous/isdeployed.m: New function. - * miscellaneous/module.mk (miscellaneous_FCN_FILES): Add it to - the list. Bug #32151. - -2011-01-17 John W. Eaton - - * miscellaneous/inputname.m: Use __varval__ to lookup ".argn." - instead of "argn". - -2011-01-16 Ben Abbott - - * plot/print.m: For DOS, connect the pipe to ghostscript (bug 31967), - and redirect to NUL instead of /dev/null. - -2011-01-16 John W. Eaton - - * gethelp.cc (main): Write function name along with file name in - comment. - -2011-01-16 David Bateman - - * plot/__go_draw_axes__.m: Use "{}" as the default font. - -2011-01-15 Rik - - * scripts/help/doc.m, scripts/help/which.m, - scripts/miscellaneous/comma.m, scripts/miscellaneous/ls.m, - scripts/miscellaneous/paren.m, scripts/miscellaneous/semicolon.m, - scripts/pkg/pkg.m: Eliminate @deffn macros. - -2011-01-15 John W. Eaton - - * deprecated/krylovb: Move here from linear-algebra. - * deprecated/module.mk (deprecated_FCN_FILES): - Include krylovb.m in the list. - * linear-algebra/module.mk (linear_algebra_FCN_FILES): - Remove krylovb.m from the list. - -2011-01-14 Rik - - * general/postpad.m, general/prepad.m: Improve docstring. - -2011-01-14 Rik - - * ploynomial/polyaffine.m: Improve docstring. - -2011-01-14 Rik - - * general/interp1.m, general/interp2.m, polynomial/mkpp.m, - polynomial/pchip.m, polynomial/ppder.m, polynomial/ppint.m, - polynomial/ppjumps.m, polynomial/ppval.m, polynomial/spline.m, - polynomial/unmkpp.m: Improve docstrings - -2011-01-14 Rik - - * miscellaneous/flops.m: Delete function which was unimplemented - in Octave and has been removed from Matlab since version 5. - -2011-01-14 Rik - - * specfun/nthroot.m: Add Seealso references to docstring. - -2011-01-14 Rik - - * miscellaneous/module.mk: Remove texas_lotto.m from build system. - -2011-01-14 Rik - - * miscellaneous/texas_lotto.m: Remove Easter Egg function. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2011-01-13 Michael Godfrey - - * plot/contourc.m: Correct one argument case. - -2011-01-12 John W. Eaton - - * strings/mat2str.m: Handle logical arguments. New tests. - Bug #32102. - -2011-01-10 John W. Eaton - - * linear-algebra/expm.m: Validate nargin. New tests. - -2011-01-10 John W. Eaton - - * linear-algebra/logm.m: Handle scalar and diagonal matrix - arguments specially. Call logm_pade_pf only if m > 1. New tests. - Special case suggested by Marco Caliari . - -2011-01-10 John W. Eaton - - * general/private/__isequal__.m: Use builtin ("struct", ...) to - convert objects to a structs to avoid possible overloading of - the struct function. Bug #32071. - -2011-01-09 Rik - - * plot/orient.m, statistics/tests/kolmogorov_smirnov_test.m, - strings/strtrunc.m: Correct failing tests due to change in - capitalization of error strings from previous changeset. - -2011-01-09 Rik - - * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, audio/saveaudio.m, - audio/wavwrite.m, deprecated/split.m, deprecated/values.m, - general/accumarray.m, general/bitcmp.m, general/cell2mat.m, - general/circshift.m, general/curl.m, general/divergence.m, - general/genvarname.m, general/interpft.m, general/interpn.m, - general/nextpow2.m, general/polyarea.m, general/repmat.m, - general/rot90.m, general/rotdim.m, general/shiftdim.m, - general/strerror.m, general/trapz.m, geometry/griddata.m, - geometry/griddata3.m, geometry/griddatan.m, geometry/rectint.m, - image/brighten.m, image/colormap.m, image/contrast.m, image/imagesc.m, - image/imfinfo.m, image/imread.m, linear-algebra/commutation_matrix.m, - linear-algebra/condest.m, linear-algebra/cross.m, - linear-algebra/duplication_matrix.m, linear-algebra/isdefinite.m, - linear-algebra/vech.m, miscellaneous/bincoeff.m, miscellaneous/cast.m, - miscellaneous/compare_versions.m, miscellaneous/fileparts.m, - miscellaneous/license.m, miscellaneous/private/__xzip__.m, - miscellaneous/substruct.m, miscellaneous/unpack.m, miscellaneous/xor.m, - optimization/sqp.m, pkg/get_forge_pkg.m, plot/backend.m, - plot/contourc.m, plot/cylinder.m, plot/hidden.m, plot/hold.m, - plot/orient.m, plot/private/__interp_cube__.m, plot/refreshdata.m, - plot/subplot.m, plot/surface.m, plot/surfnorm.m, plot/text.m, - plot/uimenu.m, polynomial/mkpp.m, polynomial/pchip.m, - polynomial/polyfit.m, polynomial/ppval.m, signal/arch_fit.m, - signal/arch_rnd.m, signal/arch_test.m, signal/arma_rnd.m, - signal/autoreg_matrix.m, signal/bartlett.m, signal/blackman.m, - signal/diffpara.m, signal/durbinlevinson.m, signal/fftfilt.m, - signal/fractdiff.m, signal/hamming.m, signal/hanning.m, signal/hurst.m, - signal/sinetone.m, signal/synthesis.m, signal/unwrap.m, - sparse/spaugment.m, specfun/factor.m, specfun/factorial.m, - specfun/legendre.m, specfun/nthroot.m, specfun/primes.m, - special-matrix/hadamard.m, special-matrix/magic.m, - statistics/distributions/betacdf.m, statistics/distributions/betainv.m, - statistics/distributions/betapdf.m, statistics/distributions/betarnd.m, - statistics/distributions/binocdf.m, statistics/distributions/binoinv.m, - statistics/distributions/binopdf.m, statistics/distributions/binornd.m, - statistics/distributions/cauchy_cdf.m, - statistics/distributions/cauchy_inv.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2cdf.m, statistics/distributions/chi2inv.m, - statistics/distributions/chi2pdf.m, statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_cdf.m, - statistics/distributions/discrete_inv.m, - statistics/distributions/discrete_pdf.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/empirical_cdf.m, - statistics/distributions/empirical_inv.m, - statistics/distributions/empirical_pdf.m, - statistics/distributions/empirical_rnd.m, - statistics/distributions/expcdf.m, statistics/distributions/expinv.m, - statistics/distributions/exppdf.m, statistics/distributions/exprnd.m, - statistics/distributions/fcdf.m, statistics/distributions/finv.m, - statistics/distributions/fpdf.m, statistics/distributions/frnd.m, - statistics/distributions/gamcdf.m, statistics/distributions/gaminv.m, - statistics/distributions/gampdf.m, statistics/distributions/gamrnd.m, - statistics/distributions/geocdf.m, statistics/distributions/geoinv.m, - statistics/distributions/geopdf.m, statistics/distributions/geornd.m, - statistics/distributions/hygecdf.m, statistics/distributions/hygeinv.m, - statistics/distributions/hygepdf.m, statistics/distributions/hygernd.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/laplace_rnd.m, - statistics/distributions/logistic_rnd.m, - statistics/distributions/logncdf.m, statistics/distributions/logninv.m, - statistics/distributions/lognpdf.m, statistics/distributions/lognrnd.m, - statistics/distributions/nbincdf.m, statistics/distributions/nbininv.m, - statistics/distributions/nbinpdf.m, statistics/distributions/nbinrnd.m, - statistics/distributions/normcdf.m, statistics/distributions/norminv.m, - statistics/distributions/normpdf.m, statistics/distributions/normrnd.m, - statistics/distributions/poisscdf.m, - statistics/distributions/poissinv.m, - statistics/distributions/poisspdf.m, - statistics/distributions/poissrnd.m, - statistics/distributions/stdnormal_cdf.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/tcdf.m, statistics/distributions/tinv.m, - statistics/distributions/tpdf.m, statistics/distributions/trnd.m, - statistics/distributions/unidrnd.m, statistics/distributions/unifcdf.m, - statistics/distributions/unifinv.m, statistics/distributions/unifpdf.m, - statistics/distributions/unifrnd.m, statistics/distributions/wblcdf.m, - statistics/distributions/wblinv.m, statistics/distributions/wblpdf.m, - statistics/distributions/wblrnd.m, statistics/distributions/wienrnd.m, - statistics/models/logistic_regression.m, statistics/tests/anova.m, - statistics/tests/chisquare_test_homogeneity.m, - statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, - statistics/tests/hotelling_test.m, statistics/tests/hotelling_test_2.m, - statistics/tests/kolmogorov_smirnov_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, - statistics/tests/manova.m, statistics/tests/mcnemar_test.m, - statistics/tests/prop_test_2.m, statistics/tests/sign_test.m, - statistics/tests/t_test.m, statistics/tests/t_test_2.m, - statistics/tests/t_test_regression.m, statistics/tests/u_test.m, - statistics/tests/var_test.m, statistics/tests/welch_test.m, - statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, - statistics/tests/z_test_2.m, strings/blanks.m, strings/index.m, - strings/strtrunc.m, strings/validatestring.m, time/addtodate.m, - time/datenum.m, time/datetick.m, time/datevec.m: Use uppercase for - variable names in error() strings to match Info documentation. - - * general/interp2.m, image/imshow.m, image/ind2rgb.m, - image/saveimage.m, io/dlmwrite.m, io/strread.m, io/textscan.m, - linear-algebra/expm.m, linear-algebra/krylov.m, linear-algebra/logm.m, - miscellaneous/delete.m, miscellaneous/run.m, plot/__marching_cube__.m, - sparse/bicgstab.m, sparse/cgs.m, strings/strmatch.m, - testfun/rundemos.m, testfun/runtests.m: Rewrite error string - - * @ftp/ftp.m, help/gen_doc_cache.m, miscellaneous/unix.m, - plot/__gnuplot_open_stream__.m, plot/private/__add_default_menu__.m, - polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, - signal/periodogram.m: Correct use of @deftypefn macro - - * miscellaneous/paren.m: Space @deffnx macro for readability - -2011-01-09 Rik - - * general/arrayfun.m, general/blkdiag.m, general/structfun.m, - image/imagesc.m, linear-algebra/cond.m, linear-algebra/condest.m, - linear-algebra/expm.m, linear-algebra/logm.m, - linear-algebra/onenormest.m, linear-algebra/qzhess.m, - optimization/glpk.m, optimization/glpkmex.m, polynomial/poly.m, - sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, sparse/spaugment.m, - sparse/spdiags.m, sparse/svds.m: Use uppercase 'A' to refer to matrix - argument. - - * io/dlmwrite.m: Use uppercase 'M' to refer to matrix argument. - - * io/textscan.m: Use uppercase 'C' to refer to Cell Array output. - Improve docstring. - - * signal/unwrap.m: Use 'x' instead of 'a' for vector input argument. - -2011-01-09 Rik - - * general/bicubic.m, general/nargchk.m, general/nargoutchk.m, - linear-algebra/krylov.m, linear-algebra/krylovb.m, - linear-algebra/normest.m, linear-algebra/null.m, linear-algebra/orth.m, - linear-algebra/rank.m: Use common names for variables in documentation - and code. - -2011-01-09 Rik - - * audio/loadaudio.m, audio/mu2lin.m, audio/saveaudio.m, - general/accumdim.m, general/bitget.m, general/bitset.m, general/del2.m, - general/isequal.m, general/isequalwithequalnans.m, general/logspace.m, - general/repmat.m, general/strerror.m, general/structfun.m, - geometry/delaunayn.m, geometry/dsearchn.m, image/ind2gray.m, - image/ind2rgb.m, image/rgb2ind.m, io/csvread.m, io/csvwrite.m, - linear-algebra/rref.m, linear-algebra/subspace.m, - linear-algebra/trace.m, miscellaneous/dir.m, miscellaneous/dos.m, - miscellaneous/menu.m, miscellaneous/perl.m, miscellaneous/unix.m, - path/savepath.m, plot/allchild.m, plot/diffuse.m, plot/fplot.m, - plot/refreshdata.m, plot/specular.m, plot/subplot.m, - polynomial/polyreduce.m, set/ismember.m, signal/arch_fit.m, - signal/arch_rnd.m, signal/arch_test.m, signal/diffpara.m, - signal/fftfilt.m, signal/filter2.m, signal/sinetone.m, - signal/spectral_xdf.m, signal/stft.m, signal/synthesis.m, - sparse/spfun.m, sparse/spones.m, sparse/spstats.m, sparse/treelayout.m, - sparse/treeplot.m, specfun/isprime.m, - statistics/distributions/expcdf.m, statistics/distributions/expinv.m, - statistics/distributions/exppdf.m, statistics/distributions/exprnd.m, - statistics/distributions/poisscdf.m, - statistics/distributions/poissinv.m, - statistics/distributions/poisspdf.m, - statistics/distributions/poissrnd.m, - statistics/tests/chisquare_test_independence.m, - statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, - statistics/tests/t_test_regression.m, strings/base2dec.m, - strings/dec2base.m, strings/regexptranslate.m, strings/strjust.m, - strings/strmatch.m, time/asctime.m, time/datenum.m: - Use common names for variables in documentation and code. - - * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, @ftp/delete.m, - @ftp/dir.m, @ftp/ftp.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/mput.m, - @ftp/rename.m, @ftp/rmdir.m, general/chop.m, geometry/dsearch.m, - signal/spencer.m, specfun/primes.m, time/etime.m: Use common names for - variables in documentation and code. Improve docstring - - * elfun/acot.m, elfun/acoth.m, elfun/acsc.m, elfun/acsch.m, - elfun/asec.m, elfun/asech.m, elfun/cot.m, elfun/coth.m, elfun/csc.m, - elfun/csch.m, elfun/sec.m, elfun/sech.m: Use common names for variables - in documentation and code. Change output variable to 'y' rather than - 'w'. - - * miscellaneous/bunzip2.m, miscellaneous/gunzip.m, - miscellaneous/unpack.m, miscellaneous/untar.m, miscellaneous/unzip.m: - Use common names for variables in documentation and code. Use default - on input argument to simplify input validation. - - * general/accumarray.m: Use common names for variables in - documentation, code and tests. - - * geometry/inpolygon.m: Use common names for variables in - documentation, code and tests. Improve docstring. - - * general/bitcmp.m: Use common names for variables in documentation and - code. Switch tests to %!test blocks rather than %!shared variables and - %!asserts for clarity. - - * general/int2str.m: Switch to input variable name 'n' rather than 'x'. - - * general/isdir.m: Switch to input variable name 'f' rather than 'x'. - Switch output variable to 'retval' rather than 'y'. - - * general/perror.m: Switch to input variable name 'funcname' rather - than 'name'. Use common names for variables in documentation and - code. - - * general/rot90.m: Switch to input variable name 'A' rather than 'x'. - Break very long %!assert line into multiple asserts for readability. - - * general/sortrows.m: Use common names for variables in documentation - and code. Break very long %!assert line into multiple asserts for - readability. - - * geometry/voronoin.m: Switch to input variable name 'options' rather - than 'opt'. - - * help/lookfor.m: Switch to input variable name 'arg2' rather than - 'extra'. - - * image/brighten.m: Switch to input variable name 'arg1' rather than - 'm'. Eliminate CamelCase in output variable 'Rmap'. - - * image/rgb2hsv.m: Switch to variable name 'hsv_map' rather than - 'hsval'. - - * image/saveimage.m: Switch to input variable name 'fname', rather than - 'file'. Use common names for variables in documentation and code. - - * io/strread.m, io/textread.m, io/textscan.m: Switch to input variable - name 'format' rather than 'formatstr' - - * miscellaneous/run.m: Switch to input variable 'script' rather than - 's'. - - * miscellaneous/ver.m: Switch to input variable 'package' rather than - 'pack'. Use default on input argument to simplify input validation. - - * plot/saveas.m: Switch to input variable 'fmt' rather than 'ext'. - Improve docstring. - - * plot/title.m: : Switch to input variable 'string' rather than 'title'. - - * plot/uigetdir.m: Improve docstring. Re-order input validation. - Eliminate unnecessary use of cellfun to compare strings. - - * polynomial/polyder.m, polynomial/polyderiv.m: Switch ouput variable - name 'r' to 'd'. Improve docstring. - - * polynomial/polyint.m: Switch input variable name 'c' to 'p'. - - * signal/fftconv.m: Switch input variable names to 'x','y' instead of - 'a','b' for vectors. - - * signal/fftshift.m, signal/ifftshift.m: Switch input variable name to - 'x' instead of 'v'. - - * sparse/etreeplot.m: Switch input variable name to 'A' rather than - 'tree' for matrix. - - * specfun/factor.m: Use common names for variables in documentation and - code. Uncomment and re-instate test code. - - * statistics/distributions/cauchy_cdf.m, - statistics/distributions/cauchy_inv.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m: Switch to input variables - 'location','scale' rather than 'lambda','sigma'. - - * statistics/tests/manova.m: Switch to input variable 'x' rather than - 'y'. - - * strings/untabify.m: Switch to input variable 'dblank' rather than - 'db'. - - * time/datestr.m: Improve docstring - - * time/weekday.m: Switch to input variable name 'format' rather than - 'form'. Improve docstring. - -2011-01-08 John Hunt - - * plot/legend.m, plot/private/__plt__.m: legend with more than two - inline keys (bug 31991). Add/modifyy demos. - -2011-01-07 John W. Eaton - - * general/private/__isequal__.m: Compare objects as if they are - structures. Bug #32071. - -2011-01-07 John W. Eaton - - * linear-algebra/logm.m: Style fixes. - -2011-01-06 John W. Eaton - - * optimization/optimset.m: Remove "i" option from call to - lookup. Bug #31392. - -2011-01-05 Rik - - * general/isa.m: Add tests against logical values. - -2011-01-04 Rik - - * testfun/demo.m: Add newline to error output for better formatting. - -2011-01-03 Rik - - * statistics/base/center.m, statistics/base/corrcoef.m, - statistics/base/kendall.m, statistics/base/mean.m, - statistics/base/meansq.m, statistics/base/skewness.m, - statistics/base/studentize.m, statistics/base/var.m, - statistics/base/run_count.m, statistics/base/ranks.m: Improve input - validation. Add function tests. Improve docstring. - - * statistics/base/moment.m, statistics/base/prctile.m, - statistics/base/spearman.m, statistics/base/std.m : Improve input - validation. Add input validation tests. Improve docstring. - - * statistics/base/cloglog.m: Add function tests. - - * statistics/base/cor.m: Replace with call to corrcoef, now only an - alias. - - * statistics/base/cov.m: Add normalization option. Improve input - validation. Add function tests. Improve docstring. - - * statistics/base/cut.m: Use lowercase variable names. Improve - docstring. - - * statistics/base/histc.m, statistics/base/median.m: Use same variable - name in documentation and in function. Add input validation tests. - Improve docstring. - - * statistics/base/iqr.m, statistics/base/mode.m: Add input validation - tests. Improve docstring. - - * statistics/base/kurtosis.m: Return same class as input variable. Add - input validation tests. Improve docstring. - - - * statistics/base/logit.m, statistics/base/range.m: Add function tests. - Improve docstring. - - * statistics/base/mahalanobis.m: Use lower case variable names. - Improve input validation. Add input validation tests. - - * statistics/base/ols.m, statistics/base/gls.m: Use isargout to only - calculate necessary outputs. Use lowercase variable names. Add - functional tests. Improve docstring. - - * statistics/base/ppplot.m: Add input validation tests. - - * statistics/base/qqplot.m: Add ability to call "XXXinv" or "XXX_inv" - functions. Improve input validation. Improve docstring. - - * statistics/base/quantile.m: Use defaults for input arguments to - simplify code. Improve input validation. Add input validation tests. - Improve docstring. - - * statistics/base/statistics.m: Use lowercase variable names. Improve - input validation. Add input validation tests. Improve docstring. - - * statistics/base/table.m: Switch from deprecated function 'values' to - 'unique'. Add input validation tests. Improve docstring. - -2011-01-02 Ben Abbott - - * plot/legend.m: Only one legend per axes (bug 32022). Add / modify - demos to test addional features. - -2010-12-31 Rik - - * general/is_duplicate_entry.m , general/isdir.m, general/isscalar.m, - general/issquare.m, general/isvector.m, linear-algebra/isdefinite.m, - linear-algebra/ishermitian.m, linear-algebra/issymmetric.m, - miscellaneous/isappdata.m, miscellaneous/ismac.m, miscellaneous/ispc.m, - miscellaneous/isunix.m, plot/isfigure.m, plot/ishold.m, plot/isprop.m, - set/ismember.m, specfun/isprime.m, strings/isletter.m, - time/is_leap_year.m : Improve docstring - * general/isa.m: Improve docstring. Change function variable name to - match documentation variable name. - * strings/isstrprop.m: Improve docstring. Change function variable - name to match documentation variable name. Add new test cases. - -2010-12-31 Rik - - * plot/module.mk: Add isprop.m to list of function files for Automake. - -2010-12-31 Kai Habel - - * general/curl.m, general/divergence.m: New functions. - * general/module.mk: Add new file to list. - * miscellaneous/unimplemented.m: Remove curl and divergence from list. - -2010-12-31 Ben Abbott - - * plot/scatter3.m: Grid on by default for 3D plots. - -2010-12-30 Ben Abbott - - * plot/contour3.m, plot/mesh.m, plot/meshc.m, plot/surfc.m: Grid on - by default for 3D plots. - * plot/surfc.m, plot/meshc.m: Place contour for meshc/surfc at - zlim(1). - * plot/__go_draw_axes__.m: Tweak vertical alignment of text objects - for gnuplot to favor eps/ps output. - -2010-12-29 Ben Abbott - - * plot/text.m: New demo for 3D plot and text with verticalalignment. - * plot/__go_draw_axes__.m: Enable vertical alignment of text objects - for gnuplot. - -2010-12-28 Ben Abbott - - * plot/private/__plt__.m: Fix to allow inline legend keys. Bug 31991. - -2010-12-28 Rik - - * image/autumn.m, image/bone.m, image/cool.m, image/copper.m, - image/flag.m, image/gray.m, image/hot.m, image/hsv.m, image/jet.m, - image/ocean.m, image/pink.m, image/prism.m, image/rainbow.m, - image/spring.m, image/summer.m, image/white.m, image/winter.m: Use - same variable name for documentation and function call. Change demo - code to explicitly use colormap size. Update docstring. - - * image/gmap40.m: Use same variable name for documentation and function - call. Change demo code to use colormap size of 6 rather than 64. - Update docstring. - -2010-12-28 Ben Abbott - - * plot/legend.m: Add demo to legend for inline key. - -2010-12-27 Ben Abbott - - * plot/text.m: Add demo for text rotation and alignment. - -2010-12-26 Michael Godfrey - - * specfun/legendre.m: Add @tex blocks to docstring. - -2010-12-24 Rik - - * testfun/test.m: Use 'Command' for deftype in docstring. - -2010-12-24 Rik - - * audio/setaudio.m: Re-write docstring. - -2010-12-23 Soren Hauberg - - * signal/detrend.m: Also accept polynomial order as a string - ("constant" or "linear") for compatibility with Matlab. - -2010-12-22 Konstantinos Poulios - - * plot/private/__axis_label__.m: Trigger fltk graphics redraw - immediately after setting an axis label. - -2010-12-22 John W. Eaton - - * optimization/optimset.m, optimization/optimget.m, - optimization/__all_opts__.m: Consistently use lower case for - storing and searching option names. - -2010-12-22 John W. Eaton - - * statistics/base/skewness.m: Make returned value have the same - class as the input. - -2010-12-21 John W. Eaton - - * time/datevec.m: Style fixes. - -2010-12-20 Ben Abbott - - * plot/__fltk_print__.m: Update figure for FLTK printing. Bug #31884. - -2010-12-19 John W. Eaton - - * miscellaneous/run.m: Use source to execute script. - -2010-12-18 Ben Abbott - - * plot/view.m: Return azimuth and elevation for nargin == 0. - -2010-10-28 Rik - - * deprecated/module.mk, sparse/module.mk, deprecated/sphcat.m, - deprecated/spvcat.m: Deprecate sphcat and spvcat functions. - -2010-12-17 John W. Eaton - - * plot/comet3.m: New function. - * plot/module.mk: Add comet3.m to the list - * miscellaneous/unimplemented.m: Remove comet3 from the list. - -2010-12-17 John W. Eaton - - * plot/comet.m: Use __plt_get_axis_arg__ to extract axis - argument. Only switch to specified axis temporarily. - -2010-12-16 Ben Abbott - - * miscellaneous/unimplemented.m: Remove isprop() from list of - unimplemented functions. - * plot/isprop.m: New function. - -2010-12-16 Olaf Till - - * optimization/sqp.m: Fix indexing error in sqp bounds selection. - -2010-12-14 Doug Stewart - - * plot/bar.m: Improve the docstring. - -2010-12-14 John W. Eaton - - * plot/private/__quiver__.m: Use high contrast color black for arrows - in quiver3 plots. Bug #31802. - -2010-12-14 Rik - - * plot/compass.m, plot/errorbar.m, plot/legend.m, plot/rose.m, - plot/scatter.m, plot/scatter3.m, plot/stairs.m: Assign data used in - demo plots for reproducibility between runs. - -2010-12-13 Rik - - * statistics/median.m: Add NaN test case from bug #29930. - -2010-12-13 Rik - - * general/isequalwithequalnans.m: Add test case from bug #31239. - -2010-12-13 Ben Abbott - - * plot/__print_parse_opts__.m: Fix indexing bug for varargin. - Bug #31862. - -2010-12-13 Rik - - * statistics/distributions/betapdf.m: Add test for large values of - alpha and beta. - -2010-12-13 Rik - - * strings/strmatch.m: Add test with null search pattern. - -2010-12-13 Doug Stewart - - * plot/hist.m: Improved the help section. - -2010-12-13 Kai Habel - - * plot/private/__add_default_menu__.m: New function. - * plot/figure.m: Call __add_default_menu__ function. - * plot/module.mk: Add new file to list. - -2010-12-13 Rik - - * optimization/sqp.m: Change docstring to refer to x0 as the initial - seed vector. - -2010-12-13 Olaf Till - - * optimization/sqp.m: Remove never violated Inf bounds from - computation in function for inequality constraints (bug - #31742). Remove non-functional check for inequality constraints - being +Inf in each iteration. - -2010-12-12 Jaroslav Hajek - - * optimization/optimget.m: Use explicit toupper conversion rather than - lookup(..., "i"). - * optimization/optimset.m: Ditto. - * miscellaneous/parseparams.m: Ditto. - -2010-12-12 Kai Habel - - * plot/view.m: Fix bugs with respect to number if inputs and argument - handling. - -2010-12-12 Kai Habel - - * plot/view.m: Make view more compatible. Allow cartesian - coordinates and axes handle arguments. - -2010-12-10 Ben Abbott - - * io/strread.m: Don't require space between format specifiers. - -2010-12-10 Rik - - * testfun/speed.m: Eliminate line continuation in function definition. - -2010-12-10 Kai Habel - - * plot/private/__pie__.m: Add missing slice option to pie and - pie3 function. - * plot/pie.m, plot/pie3.m: Add new demo. - -2010-12-10 Thorsten Meyer - - * statistics/tests/kolmogorov_smirnov_test.m: Add tests. - -2010-12-09 John W. Eaton - - * plot/private/__pie__.m: Provide diagnositc for invalid - optional arguments. Use caller name instead of __pie__ in error - messages. - -2010-12-09 John W. Eaton - - * statistics/tests/kolmogorov_smirnov_test.m: Try both DIST_cdf - and DISTcdf functions. Always use feval to call CDF function. - Bug #31838. - -2010-12-09 John W. Eaton - - * plot/__go_draw_axes__.m: Set major and grid linewidths from - axis linewidth property. Bug #31755. - -2010-12-09 Rik - - * plot/__print_parse_opts__.m: Convert print resolution from char to - double. Fixes Bug #31834. - -2010-12-09 Rik - - * plot/private/__pie__.m: Allow logical indices for 'explode' variable. - -2010-12-09 Kai Habel - - * plot/pie3.m, plot/private/__pie__.m: New functions. - * plot/pie.m: Move __pie__ function to plot/private, in order to - be used by pie and pie3. - * miscellaneous/unimplemented.m: Remove pie3.m from list of - unimplemented functions. - -2010-12-09 John W. Eaton - - * time/datestr.m: Don't call localtime (mktime (tm)) to fill in - missing elements of time strcture. Bug #31079. - -2010-12-08 Ben Abbott - - * plot/fill.m: Fix bug that implies nextplot = "add". - * image/imshow.m: Flip y-axis. - -2010-12-08 John W. Eaton - - * strings/strmatch.m: Avoid passing length of zero to strncmp. - Bug #31774. - -2010-12-07 John W. Eaton - - * general/repmat.m: Handle special case of replicating scalar - using an index vector containing zeros. Bug #31775. - -2010-12-06 Rik - - * plot/plot.m: Eliminate present tense in first sentence of docstring. - -2010-12-06 Rik - - * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Add additional calling - form to docstring which returns handle (h) - -2010-12-06 Rik - - * scripts/testfun/speed.m: Overhaul documentation string. - -2010-12-03 Ben Abbott - - * plot/private/__stem__.m: Create a baseline for each stem hggroup. - * plot/__go_draw_axes__.m: If not set, then unset the gnuplot - {tblr}margins. Needed when using subplots with differing - activepositionproperty. - -2010-12-03 Konstantinos Poulios - - * plot/pbaspect.m, plot/daspect.m: Fix handling of input array of - length 2. - -2010-12-02 Ben Abbott - - * image/image.m: Only flip y-axis if nextplot property equal - "replace". Fixes bug 31745. - * plot/contour3.m: Modify demo to avoid clipping mesh. Fixes bug - 31744. - * plot/fill.m: Allow multiple filled polygons. Fixes bug 31750. - * plot/subplot.m: Add suppport for "align" and "replace" options. - Partial fix for bug 31610. - -2010-11-26 John W. Eaton - - * pkg/pkg.m: Append directories to EXEC_PATH instead of - prepending them. Use pathsep instead of ":". - - * miscellaneous/copyfile.m, miscellaneous/movefile.m, - miscellaneous/ls_command.m, plot/__print_parse_opts__.m: - Search PATH for programs, not EXEC_PATH. - - * plot/print.m: Refer to PATH, not EXEC_PATH in error messages. - * plot/__print_parse_opts__.m: Likewise. - -2010-11-25 Kai Habel - - * (plot/uimenu.m): Simplify code, add further check. - * (plot/uigetdir.m, plot/uigetfile.m, plot/uiputfile.m): - Fix error messages. - -2010-11-25 John W. Eaton - - * time/datetick.m: Add missing semicolon. - -2010-11-21 Rik - - * optimization/sqp.m: Use correct stopping tolerance in documentation. - -2010-11-21 Kai Habel - - * (plot/uigetdir.m, plot/private/__fltk_file_filter__.m:): Check if - file argument is a valid path, don't use fileparts in this case. - -2010-11-21 Ben Abbott - - * plot/__go_draw_axes__.m: Fix plot titles so they are visible for - gnuplot 4.4.x (31711). - * general/cell2mat.m: Return empty matrix for empty cell. - -2010-11-21 Kai Habel - - * (plot/uigetfile.m, plot/uiputfile.m): Set default directory to pwd. - -2010-11-21 Kai Habel - - * plot/uigetdir.m, plot/uigetfile.m, plot/uiputfile.m, - plot/private/__fltk_file_filter__.m: New files. - * plot/module.mk: Add new files. - * miscellaneous/unimplemented.m: Remove uigetdir.m, uigetfile.m, - and uiputfile.m from list of unimplemented functions. - -2010-11-20 Rik - - * plot/gnuplot_drawnow.m: Remove spurious line causing 'ans=1' to be - returned when printing plots. - -2010-11-19 Ben Abbott - - * plot/__gnuplot_has_feature__.m: Since there is not gnuplot 4.3.x - release, replace reference to version 4.3 with 4.4. - -2010-11-18 Ben Abbott - - * plot/text.m: Ensure text position property is set after units - property. - * plot/__go_draw_axes__.m: Fix bug setting zscale to yscale (31693). - -2010-11-18 Christos Dimitrakakis - - * statistics/distributions/betapdf.m: Use lgamma to compute - normalising constant in log space in order to handle large - parameters a and b. Ensure correct values at x == 0 or x == 1. - -2010-11-18 Ben Abbott - - * plot/__print_parse_opts__.m: For tests, allow __print_parse_opts__ - to run with no inputs. - -2010-11-17 Ben Abbott - - * general/subsindex.m: Fix typo in doc-string. - -2010-11-17 John W. Eaton - - * strings/strchr.m: Style fixes. - -2010-11-17 Kim Hansen - - * strings/strchr.m: New tests. - -2010-11-16 Ben Abbott - - * miscellaneous/unimplemented.m: Update unimplemented functions list. - -2010-11-15 Rik - - * plot/saveas.m: Add function name to error messages. Use semicolons - to prevent unnecessary output. Use common terms 'ext' for extension - and 'filename' for filename in docstring. - -2010-11-15 Kai Habel - - * plot/saveas.m: New file. - * plot/module.mk: Add saveas.m - * plot/__print_parse_opts__.m: Parse arguments correctly when first - argument is a figure handle. - * plot/print.m: Add saveas to seealso entry. - -2010-11-14 Michael Goffioul - - * plot/print.m: Use "del" instead of "delete" in DOS shell, and - replace forward slashes with backslashes. - * plot/__gnuplot_print__.m: Likewise. - -2010-11-14 Jaroslav Hajek - - * optimization/__all_opts__.m: Ensure that the array is always - case-insensitively sorted. - -2010-11-13 John W. Eaton - - * plot/gnuplot_drawnow.m (have_non_legend_axes): New function. - Use it to avoid errors if there are no axes. - * plot/legend.m: Avoid indexing beyond end of varargin array. - -2010-11-10 John W. Eaton - - * gethelp.cc: Eliminate special case for __DECCXX. - -2010-11-10 John W. Eaton - - * scripts/deprecated/dispatch.m: Don't set warning state in tests. - -2010-11-10 John W. Eaton - - * deprecated/dispatch.m: Deprecate dispatch function. - * deprecated/module.mk (deprecated_FCN_FILES): Add it to the list. - -2010-11-09 John W. Eaton - - * help/help.m: Call missing_function_hook with output argument - and print message here. - * miscellaneous/unimplemented.m: Return message if nargout > 0. - Fixes bug #31597. - -2010-11-08 Ben Abbott - - * plot/__go_draw_axes__.m: Check for z/y/zdata before converting - negative values to NaNs. Bug fix for changeset 11201. - * plot/daspect.m: Fix demo using both daspect and pbaspect. - -2010-11-08 David Bateman - - * plot/__go_draw_axes__.m: Remove foreground color earlier. - * plot/__go_draw_figure__.m: Don't set the foreground color here. - -2010-11-08 Rik - - * sparse/sprand.m: Add input validation to function. - -2010-11-08 Ben Abbott - - * plot/private/__bar__.m: Permit bar() to be called with scalar inputs. - * plot/__go_draw_axes__.m, plot/axis.m: Set proper tight axis limits - for log scale. - -2010-11-07 David Bateman - - * plot/legend.m: Remove call to drawnow. - - * plot/__go_draw_axes__.m: Pass the legend axes as a structure. - Test whether the legend axis has any children before using it. - * plot/__go_draw_figure.m: Setup a fake axis to handle multi-parent - legend axes and delete this fake axiss when we're done with it. - * plot/gnuplot_drawnow.m: Don't cound legend axes when decidong if - multiplot should be used or not. - * plot/legend.m: Handle correctly plotyy as a multi-parented axis. - Reuse existing legend axis if possible. Setup listeners to propagate - changes in the lines to the legend. Setup listeners that handle the - properties that need to legend to be recreated. - * plot/plotyy.m: Cross-references the axes of the plotyy in the userdata - of the axes. - -2010-11-07 Konstantinos Poulios - - * plot/colorbar.m: Make colorbar function aware of dataaspect settings. - -2010-11-06 Marco Caliari - - * polynomial/spline.m: Fit a parabola for input with 3 - elements (bug #31098). - -2010-11-04 Rik - - * plot/__fltk_ginput__.m: Use semicolons to prevent internal - function evaluations being output to screen. - -2010-11-04 Rik - - * plot/module.mk: Add __fltk_ginput__.m to list of scripts - -2010-11-04 Rik - - * Makefile.am: Update check-m-sources target to include generated - function files. - -2010-11-04 Rik - - * general/accumarray.m, general/accumdim.m, general/blkdiag.m, - general/cell2mat.m, general/common_size.m, - general/private/__isequal__.m, general/private/__splinen__.m, - geometry/voronoi.m, io/textscan.m, miscellaneous/private/__xzip__.m, - pkg/pkg.m, plot/axis.m, plot/pareto.m, plot/private/__patch__.m, - statistics/base/mode.m, strings/deblank.m, strings/strcat.m, - strings/strmatch.m, strings/strtrim.m, strings/untabify.m: - Reverse previous changeset. Use all lower case for "uniformoutput" - option. - -2010-11-03 Rik - - * general/accumdim.m, general/cell2mat.m, general/common_size.m, - general/structfun.m, pkg/pkg.m, strings/untabify.m: Use CamelCase - for 'UniformOutput' option to cellfun. - -2010-11-03 Rik - - * scripts/plot/plotyy.m, scripts/plot/xlim.m, scripts/plot/ylim.m, - scripts/plot/zlim.m: Fix typos in docstring and demo string. - -2010-11-03 Rik - - * general/common_size.m, miscellaneous/private/__xzip__.m, - miscellaneous/what.m, plot/pareto.m, plot/private/__patch__.m: - Use function handle as input to cellfun rather than quoted function - name or anonymous function wrapper. - -2010-11-03 Konstantinos Poulios - - * plot/axis.m: Making 'axis equal' equivalent to 'daspect([1,1,1])'. - -2010-11-03 Konstantinos Poulios - - * plot/private/__actual_axis_position__.m: Remove temporary - calculation of plotboxratio for the gnuplot backend when - dataaspectratiomode, xlimmode and ylimmode are all set to manual. - Now this case is handled in src/graphics.cc . - -2010-11-03 Konstantinos Poulios - - * plot/axis.m: Leave zlim unchanged during "axis tight" on 2D plots - -2010-11-03 Ben Abbott - - * plot/private/__patch__.m: Don't index an empty array; bug introduced - by changeset 11175. - -2010-11-03 Ben Abbott - - * miscellaneous/getappdata.m, miscellaneous/isappdata.m, - miscellaneous/rmappdata.m, miscellaneous/setappdata.m: - Add new appdata function. - -2010-11-01 David Bateman - - * plot/__private__/__contour__.m: Use __go_patch__ rather than patch - to avoid the cost of the patch callback functions. Ensure that the - properties that are normally set by patch are correctly set in the - call to __go_patch__. - -2010-11-01 Ben Abbott - - * plot/axis.m: Exclude hggroup {x,y,z}data properties when determing - tight axis limits. - -2010-10-31 Rik - - * strings/base2dec.m, strings/bin2dec.m, strings/dec2base.m, - strings/dec2bin.m, strings/dec2hex.m, strings/hex2dec.m: - Improve docstrings, use more descriptive variable names, - add more tests for functions used to convert between bases. - -2010-10-31 Konstantinos Poulios - - * plot/__go_draw_axes__.m: Removing deprecated code handling the case - of both plotboxaspectratiomode and dataaspectratiomode set to manual - for the gnuplot backend. Now this case is handled already in - src/graphics.cc where xlim, ylim, zlim are recalculated if necessary. - -2010-10-30 Gunnar Farnebäck - - * strings/dec2base.m: Update algorithm to handle numbers up to 2^64-1. - -2010-10-28 Rik - - * deprecated/module.mk, signal/module.mk, deprecated/autocov.m, - deprecated/autocor.m: Deprecate autocov and autocor functions. - -2010-10-27 David Bateman - - * plot/__go_draw_axes__.m: Don't attempt to plot patch outlines if - the marker property is set to none. - -2010-10-28 Ben Abbott - - * plot/daspect.m, plot/pbaspect.m: Add demos setting both data and - plotbox aspect ratios. - -2010-10-27 David Bateman - - * plot/private/__patch__.m (setdata, setvertexdata): If argments are - repeated, take the last argument only into account. Set cdata and - facevertexcdata properties always. - -2010-10-26 Kai Habel - - * plot/uimenu.m: Add simple demo - -2010-10-25 David Bateman - - * statistics/distributions/discrete_pdf.m: Sort values before calling - the lookup function. - -2010-10-25 Kai Habel - - * plot/uimenu.m: New function - * plot/__go_draw_figure__.m: Ignore uimenu objects for gnuplot - backend - * plot/module.mk (plot_FCN_FILES): Add it to the list. - -2010-10-24 Rik - - * miscellaneous/compare_versions.m, plot/ylabel.m, plot/ylim.m, - plot/zlabel.m, plot/zlim.m: Docstring improvements. - -2010-10-24 Rik - - * specfun/module.mk, deprecated/module.mk, deprecated/betai.m, - deprecated/gammai.m, deprecated/is_global.m: Deprecate betai, - gammai, and is_global functions. - -2010-10-23 John W. Eaton - - * strings/untabify.m, strings/strjust.m, io/strread.m: - Docstring fixes. - -2010-10-23 John W. Eaton - - * statistics/distributions/nbinrnd.m: Use | instead of || in - argument to find. - - * deprecated/intwarning.m, general/bicubic.m, general/postpad.m, - general/prepad.m, general/private/__splinen__.m, - general/shift.m, miscellaneous/swapbytes.m, pkg/pkg.m, - plot/clabel.m, plot/colorbar.m, plot/fill.m, plot/legend.m, - plot/plotmatrix.m, plot/plotyy.m, plot/private/__clabel__.m, - plot/private/__ezplot__.m, plot/private/__quiver__.m, - plot/subplot.m, signal/unwrap.m, statistics/base/histc.m, - statistics/base/iqr.m, statistics/base/kurtosis.m, - statistics/base/mode.m, statistics/base/ranks.m, - statistics/base/run_count.m, statistics/base/skewness.m, - statistics/base/statistics.m, statistics/base/studentize.m, - statistics/distributions/exprnd.m, - statistics/distributions/frnd.m, - statistics/distributions/geornd.m, - statistics/distributions/lognrnd.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/poissrnd.m, - statistics/distributions/trnd.m, - statistics/distributions/wblrnd.m, strings/strcat.m, - time/datestr.m, time/datetick.m: Break lines before && and ||, - not before. - -2010-10-23 John W. Eaton - - * io/strread.m: Docstring fixes. - -2010-10-23 John W. Eaton - - * io/is_valid_file_id.m: Ensure that FID is a scalar before - calling fopen to get info. New tests. - -2010-10-23 John W. Eaton - - * io/is_valid_file_id.m: New function. - * io/module.mk (io_FCN_FILES): Add it to the list. - -2010-10-23 Ben Abbott - - * io/textscan.m, miscellaneous/unimplemented.m, io/module.mk: - New function. - -2010-10-22 Ben Abbott - - * plot/legend.m: Trivial fix to allow legend handle to be returned. - -2010-10-21 John W. Eaton - - * statistics/base/quantile.m: Fix typo in previous change. - -2010-10-21 Rik - - * statistics/distributions/wblcdf.m, statistics/distributions/wblinv.m, - statistics/distributions/wblpdf.m, statistics/distributions/wblrnd.m: - Fix reversed documentation for shape and scale parameters. - -2010-10-21 Ben Abbott - - * io/strread.m: Improve compatibility with Matlab. - -2010-10-21 John W. Eaton - - * general/private/__isequal__.m: Style fixes. - -2010-10-20 Iain Murray - - * general/private/__isequal__.m: Fix bug #31239 where - isequalwithequalnans is incorrect. - -2010-10-20 Rik - - * polynomial/conv.m: Remove redundant test. - * signal/fftconv.m: Add tests used by conv.m code. - -2010-10-20 Olaf Till - - * optimization/optimset.m: Use cell2struct instead of struct to - handle cell arrays as options. - -2010-10-20 John W. Eaton - - * io/strread.m, optimization/sqp.m, plot/daspect.m, - plot/pbaspect.m, plot/gnuplot_drawnow.m, plot/isocolors.m, - plot/isonormals.m, plot/legend.m, plot/print.m, - plot/private/__interp_cube__.m, plot/__fltk_print__.m, - plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, - statistics/base/quantile.m: Style fixes. - -2010-10-19 John W. Eaton - - * strings/module.mk (strings_FCN_FILES): Include - strings/untabify.m in the list. - * strings/untabify.m: Escape { and } characters in docstring. - -2010-10-19 Ben Abbott - - * strings/strjust.m: Add "untabify" and "strrep" to @seealso{} in the - doc-string. - -2010-10-18 Thorsten Meyer - - * general/gradient.m, linear-algebra/normest.m, - plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, - plot/daspect.m, plot/gnuplot_drawnow.m, plot/pbaspect.m, - plot/print.m, signal/periodogram.m: - Style fix, replace end by endfor. - -2010-10-18 Marco Caliari - - * polynomial/polyval.m: Use Horner's method. - -2010-10-18 John W. Eaton - - * plot/__go_draw_axes__.m: Always use gnuplot to display images. - * image/image.m: Delete references to image_viewer. - * image/image_viewer.m: Delete obsolete function. - * image/module.mk (image_FCN_FILES): Remove image/image_viewer.m - from the list. - -2010-10-18 Gunnar Farneback - - * general/interp2.m: Fix input checks for cubic - interpolation (bug #31352, part 1). - -2010-10-18 Ben Abbott - - * plot/print.m: Add examples to the docstring. - -2010-10-18 John W. Eaton - - * plot/private/__errplot__.m: Remove debugging statement from - previous change. - -2010-10-17 John W. Eaton - - * miscellaneous/edit.m: Use version 3 in GPL notice. - - * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, - @ftp/delete.m, @ftp/dir.m, @ftp/display.m, @ftp/ftp.m, - @ftp/loadobj.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/mput.m, - @ftp/rename.m, @ftp/rmdir.m, @ftp/saveobj.m, - help/__makeinfo__.m, help/__strip_html_tags__.m, - help/gen_doc_cache.m, help/get_first_help_sentence.m, - help/help.m, help/lookfor.m, help/print_usage.m, - help/private/__additional_help_message__.m, help/type.m, - help/which.m, io/fileread.m, io/strread.m, io/textread.m, - pkg/get_forge_pkg.m, plot/__gnuplot_has_feature__.m, - plot/__gnuplot_open_stream__.m, plot/__marching_cube__.m, - plot/cla.m, plot/comet.m, plot/daspect.m, plot/isocolors.m, - plot/isonormals.m, plot/isosurface.m, plot/pbaspect.m, - plot/private/__interp_cube__.m, plot/private/__ghostscript__.m, - plot/private/__tight_eps_bbox__.m, - plot/private/__gnuplot_has_terminal__.m, - polynomial/polyaffine.m, sparse/svds.m, strings/strsplit.m: - Use Octave copyright notice instead of generic "This program is - free software" notice. - -2010-10-18 Ben Abbott - - * strings/untabify.m: New function to untabify text. - -2010-10-17 Ben Abbott - - * plot/mesh.m, plot/surf.m: Include the 4th input (color) in the - docstring. - -2010-10-16 Ben Abbott - - * plot/private/__errplot__.m, plot/errorbar.m: Allow line and marker - types to be set. - -2010-10-14 John W. Eaton - - * special-matrix/rosser.m: New tests. - * special-matrix/wilkinson.m: Fix error message. New tests. - * special-matrix/pascal.m: Error if T is out of range. - New tests. - -2010-10-14 John W. Eaton - - * set/unique.m: Remove check for issparse existence since it is - now a built-in function. - -2010-10-14 Ben Abbott - - * strings/strjust.m: Clarify that justification applies to spaces and - null characters. - -2010-10-09 Ben Abbott - - * plot/__go_draw_axes__.m: Enable linetypes for gnuplot. - -2010-10-09 John W. Eaton - - * statistics/distributions/geornd.m, - * statistics/distributions/hygecdf.m, - * statistics/distributions/hygeinv.m, - * statistics/distributions/poissrnd.m, - * statistics/distributions/wblrnd.m: - Use || instead of | and && instead of & in IF conditions - involving scalars. - -2010-10-09 John W. Eaton - - * plot/__fltk_ginput__.m: Use || instead of | in IF condition. - -2010-10-08 Ben Abbott - - * image/image.m, plot/__go_draw_axes__.m: Do not store flipped image - property values when x/ydata descends. - -2010-10-07 John W. Eaton - - * signal/periodogram.m: Fix parse errors. - -2010-10-07 John W. Eaton - - * time/datevec.m: Use endfunction to mark end of primary - function and subfunctions. - -2010-10-07 Rik - - * polynomial/conv.m: Improve docstring. - * signal/fftconv.m: Improve docstring and error messages. - -2010-10-07 John W. Eaton - - * polynomial/conv.m: Handle optional third argument. New - tests. Update doc string. - -2010-10-06 Ben Abbott - - * image/image.m: Allow x/ydata to imply a flip of the image. - Modify demos. - -2010-10-05 Carlo de Falco - - * general/quadv.m: Fix help string and add a test for vector - valued functions. - -2010-10-04 Shai Ayal - - * image/image.m (__img__): Use __image_pixel_size__ to calculate - limits - -2010-09-28 John P. Swensen - - * image/imwrite.m: Call __magick_format_list__ to get list of - accepted formats. - -2010-09-28 Rik - - * linear-algebra/logm.m, plot/legend.m, signal/periodogram.m: - Untabify scripts. - -2010-09-27 Rik - - * io/dlmwrite.m: Replace non-POSIX '\d' regex pattern. - - * miscellaneous/edit.m, path/savepath.m, - plot/__gnuplot_get_var__.m, - plot/private/__gnuplot_has_terminal__.m, plot/refreshdata.m, - plot/whitebg.m, testfun/runtests.m, time/datestr.m: - Use single quotes for regular expression patterns when possible. - - * miscellaneous/ls.m, plot/__gnuplot_ginput__.m, - plot/__go_draw_axes__.m, plot/private/__ezplot__.m, - testfun/test.m: Remove uses of shorthand character classes - within list operators which is unsupported by POSIX regex. - - * pkg/get_forge_pkg.m: Select desired output from regexp - rather than ignoring most outputs. - -2010-09-28 Ben Abbott - - * plot/__print_parse_opts__.m: Fix test. - -2010-09-27 Jaroslav Hajek - - * elfun/lcm.m: Simplify. - -2010-09-27 Ben Abbott - - * plot/__print_parse_opts__.m: Properly crop eps image and fix tests. - - * plot/__go_draw_axes__.m, plot/private/__ezplot__.m, - testfun/test.m: Remove uses of shorthand character classes - within list operators which is unsupported by POSIX regex. - - * pkg/get_forge_pkg.m: Select desired output from regexp - rather than ignoring most outputs. - -2010-09-26 Rik - - * testfun/runtests.m (has_tests): Recode to remove requirement for PCRE. - Bug #31025. - -2010-09-25 Ben Abbott - - * plot/__print_parse_opts__.m: Recongize gs devices {eps/pdf/ps}write. - -2010-09-23 John W. Eaton - - * miscellaneous/bug_report.m: Display information about how to - submit bug reports instead of creating and mailing a bug report. - -2010-09-22 Ben Abbott - - * plot/private/__ghostscript__.m, plot/print.m: When appending, delete - temporay files at the end of the ghostscript pipeline. - -2010-09-21 Ben Abbott - - * plot/__fltk_print__.m, plot/private/__ghostscript__.m, - plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, - plot/print.m: Print via a pipeline. - -2010-09-20 Ben Abbott - - * plot/legend.m: Index location cellstr to obtain a string. - -2010-09-19 Ben Abbott - - * plot/colorbar.m, plot/axis.m, - plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: - Special treatment activepositionproperty = outerposition for the - gnuplot backend. This allows the gnuplot key to be placed outside - the plotbox. - * plot/private/__plt__.m: Trivial fix for recent legend changeset. - * plot/legend.m: Treat line, patch, and surface objects differetly. - * plot/__go_draw_axes__.m: Remove left over debug code. - * miscellaneous/mkoctfile.m: Change help text to be consistent with - the shell version. - -2010-09-18 David Bateman - - * plot/__go_draw_axes__.m: Modify legend code to use data from legend - axes. - * plot/__go_draw_figure__.m: Draw draw figure axes, but pass their - data to the axis they are associated with. - * plot/__get_plt_axes_arg__.m: Ignores axes tagged with "legend". - * plot/legend.m: Rewrite to use line and text primitives in a seperate - axis. - * plot/plot3.m: Support old legend format (eg "-;title'") with new - legend code. - * plot/private/__plt__.m: Ditto. - -2010-09-16 Ben Abbott - - * plot/__go_draw_axes__.m: Ensure text objects have units of "data". - -2010-09-16 John Swensen - - * imwrite.m: Accept more image formats. - -2010-09-16 Jaroslav Hajek - - * signal/periodogram.m: Support additional inputs: - win, nfft, Fs, range. Thanks to Alois Schlögl. - -2010-09-13 Ben Abbott - - * plot/gnuplot_drawnow.m: Use new function __gnuplot_has_terminal__(). - * plot/private/__gnuplot_has_terminal__.m: New function. - -2010-09-13 Jaroslav Hajek - - * general/common_size.m: Partially rewrite using cellindexmat. - -2010-09-13 Jaroslav Hajek - - * general/accumarray.m: Use @vec instead of @(x) x(:) for faster call. - -2010-09-11 Jaroslav Hajek - - * pkg/get_forge_pkg.m: Allow underscores in pkg names. - -2010-09-08 Ben Abbott - - * plot/__fltk_print__.m, plot/private/__ghostscript__.m, - plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, - plot/print.m: Consolidate gs code into print.m. - * plot/colorbar.m, plot/axis.m, - plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: - Revert treatment of activepositionproperty from the gnuplot backend. - * image/image.m: Fix axis limits for single dimension images, add - demo. - -2010-09-07 David Bateman - - * plot/plotyy.m: Don't add the __plotyy_axes__ property to the - axes handles if iit already exists. - -2010-09-06 Petr Mikulik - - * geometry/griddata.m: Allow x, y to be vectors, and z a matrix. - -2010-09-03 David Bateman - - * geometry/delaunay.m: Allow the delaunay function to treat - matrices of the same size for compatibility. - -2010-09-03 Ben Abbott - - * image/image.m: Matlab compatible axis limits, add demo. - -2010-09-01 Jaroslav Hajek - - * io/dlmwrite.m: Don't fclose if file ID is supplied. - -2010-09-01 Jaroslav Hajek - - * io/dlmwrite.m: Support file IDs. - -2010-07-07 David Bateman - - * miscellaneous/what.m: Off by one error. - - * plot/__go_draw_axes__.m: Improve matlab compatibility for "." - marker. - -2010-08-31 Ben Abbott - - * plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m, - plot/axis.m, plot/colorbar.m, plot/daspect.m, plot/plotyy.m, - plot/subplot.m: Treatment of activepositionproperty for gnuplot. - * plot/__go_draw_axes__.m: Missing part of last changeset. - * plot/__go_draw_axes__.m: Fix specification of pointtype for patches - (bug introduced in rev 2f9de135e7f9). - -2010-08-30 Ben Abbott - - * plot/__go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'. - -2010-08-27 Ben Abbott - - * plot/colorbar.m, * plot/__go_draw_axes__.m, - plot/private/__actual_axis_position__.m: Don't pass figure handle to - __calc_dimensions__. - * plot/private/__ghostscript__.m: Don't set anti-aliasing options for - vector formats. - * plot/__print_parse_opts__.m: Fix tests. - -2010-08-27 Jordi Gutiérrez Hermoso - - * plot/__go_draw_axes__.m (__calc_dimensions__): Delete. - * plot/__actual_axis_position__.m (__calc_dimensions__): Delete. - -2010-08-27 Pascal A. Dupuis - - * plot/hold.m: If arg is axis handle, get corresponding figure - handle from axis parent property. - -2010-08-27 Ben Abbott - - * plot/__gnuplot_print__.m: Properly restore fontsize after eps output. - * plot/plotyy.m: Modified demo for changeset 10912 9abc67b4bd4f. - * plot/__fltk_print__.m, plot/__go_draw_axes__.m, - plot/__go_draw_figure__.m, plot/__gnuplot_print__.m, - plot/gnuplot_drawnow.m, plot/print.m, plot/private/__ghostscript__.m, - plot/private/__tight_eps_bbox__.m: Unify gnuplot printing with the - the fltk backend. Turn figure background color off when printing. - Improve the axes font spacing for most gnuplot terminals. - -2010-08-26 Ben Abbott - - * plot/__go_draw_axes__.m: For yaxislocation == 'right' associate text - position with 'second' coordinate system. - -2010-08-25 Ben Abbott - - * plot/__go_draw_axes__.m: Revert erroneous portion of changeset - 10910 40cf7cc4ea62. - -2010-08-24 Ben Abbott - - * plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: - Properly interpret plotboxaspectratio when 3D objects are viewed as 2D. - * plot/colorbar.m: Add demo. - -2010-08-23 Jaroslav Hajek - - * general/interp2.m: Don't use bicubic for consistency (can't handle - non-grid interpolation). - -2010-08-17 Rik - - * general/randi.m: Add IMAX check for class "single" numbers. - -2010-08-15 Rik - - * general/randi.m: Add new script for random integers. - * general/module.mk: Add randi to build file list. - * miscellaneous/unimplemented.m: Remove randi from unimplemented list. - -2010-08-15 Rik - - * image/imwrite.m: Allow writing of 1-bit (B&W) images. - Improve documentation string. Add input validation tests. - -2010-08-13 Ben Abbott - - * plot/__print_parse_opts__.m: Double quote paths with spaces. - -2010-08-11 Rik - - * set/unique.m: Handle corner case where sparse matrix is actually full. - -2010-08-10 Rik - - * set/unique.m: Check whether outputs are used before calculating. - -2010-08-10 Rik - - * statistics/base/module.mk, deprecated/module.mk, - statistics/base/values.m, deprecated/values.m: Deprecate values.m - -2010-08-08 Rik - - * miscellaneous/unimplemented.m: Add newlines to format output for - easier reading. Format all lines < 80 characters. Remove - 'whitebg' function from unimplemented list. - -2010-08-08 Rik - - * @ftp/PKG_ADD: Remove temporary build file from hg version control. - -2010-08-09 Ben Abbott - - * plot/__print_parse_opts__.m: Default pstex suffix should be '.ps'. - -2010-08-08 Rik - - * Makefile.am: Create .DOCSTRINGS quietly and avoid screen clutter - during build. - -2010-08-08 Rik - - * Makefile.am: Run do_subst macro quietly without cluttering screen - during build. - -2010-08-08 Ben Abbott - - * plot/print.m: Include 'colormap' when converting RGB to mono. - -2010-08-07 Ben Abbott - - * plot/__fltk_print__.m: When running pstoedit, crop eps file after it - is created. Correctly check error status. - -2010-08-06 Jaroslav Hajek - - * general/cell2mat.m: Allow cells of struct arrays. - -2010-08-05 Ben Abbott - - * plot/__print_parse_opts__.m, plot/__fltk_print__.m: Don't warn on - absence of fig2dev or pstoedit until they are needed. - * plot/__print_parse_opts__.m, plot/__fltk_print__.m: Add epslatex, - pslatex, and pdflatex output for fltk backend. Use the gs png16m device - instead of png256. - * plot/print.m: Modify texinfo. Add unwind_protect block. - -2010-08-01 Marco Caliari - - * general/bicubic.m: Fix bug #30400 when bicubic called with small - numbers of arguments. - -2010-08-04 Jaroslav Hajek - - * general/sortrows.m: Don't actually permute the rows if not - requested. - -2010-08-04 Ben Abbott - - * plot/print.m, plot/__print_parse_opts__.m, plot/__gnuplot_print__.m, - plot/private/__ghostscript__.m: plot/__fltk_print__.m: Add ps and pdf - output for fltk backend, improved use of ghostscript, and minor - improvements. - -2010-08-01 Rik - - * deprecated/intwarning.m, general/arrayfun.m, general/cplxpair.m, - general/interp1.m, general/interpn.m, general/quadgk.m, - general/structfun.m, image/image_viewer.m, io/strread.m, - miscellaneous/warning_ids.m, optimization/lsqnonneg.m, pkg/pkg.m, - plot/__marching_cube__.m, plot/bar.m, plot/contourc.m, plot/errorbar.m, - plot/ezplot.m, plot/isocolors.m, plot/isonormals.m, plot/isosurface.m, - plot/stem.m, plot/stem3.m, polynomial/compan.m, polynomial/ppval.m, - signal/arch_rnd.m, sparse/pcg.m, sparse/svds.m, - special-matrix/invhilb.m, statistics/distributions/wblcdf.m, - testfun/assert.m, testfun/demo.m, testfun/speed.m: - Grammarcheck documentation. Add @noindent lines and ensure line - length is less than 80. - -2010-08-01 Martin Helm - - * plot/isosurface.m: Swap rows and columns of matrix in call to - meshgrid. - -2010-08-01 Rik - - * plot/print.m: Update documentation string. Change to active voice. - -2010-07-30 Rik - - * Makefile.am: add .DOCSTRINGS to the DISTCLEANFILES list - -2010-07-29 Ben Abbott - - * plot/print.m, plot/__print_parse_opts__.m, plot/__fltk_print__.m, - plot/__gnuplot_print__.m: Improved printing for the fltk backend. - * plot/private/__ghostscript__.m, plot/private/__tight_eps_bbox__.m: - New files to support printing. - -2010-07-29 Jaroslav Hajek - - * linear-algebra/expm.m: Special-case scalars and diagonal matrices. - Suggested by M. Caliari. - -2010-07-26 Rik - - * linear-algebra/logm.m: Improve documentation string. Add GPL header. - Add additional test block. - -2010-07-28 Jaroslav Hajek - - * linear-algebra/logm.m: Rewrite. Thanks to M. Caliari and R. T. Guy. - -2010-07-26 Rik - - * deprecated/complement.m, deprecated/intwarning.m, general/arrayfun.m, - general/circshift.m, general/colon.m, general/common_size.m, - general/del2.m, general/flipdim.m, general/fliplr.m, general/flipud.m, - general/idivide.m, general/interp1.m, general/interp2.m, - general/interp3.m, general/interpn.m, general/loadobj.m, - general/quadgk.m, general/rat.m, general/saveobj.m, general/shiftdim.m, - geometry/delaunayn.m, image/image_viewer.m, image/imfinfo.m, - io/csvread.m, io/csvwrite.m, io/strread.m, linear-algebra/condest.m, - linear-algebra/housh.m, linear-algebra/onenormest.m, - linear-algebra/qzhess.m, miscellaneous/bincoeff.m, - miscellaneous/compare_versions.m, miscellaneous/computer.m, - miscellaneous/edit.m, miscellaneous/fileattrib.m, - miscellaneous/getfield.m, miscellaneous/license.m, miscellaneous/ls.m, - miscellaneous/parseparams.m, miscellaneous/swapbytes.m, - miscellaneous/ver.m, miscellaneous/warning_ids.m, - optimization/fminbnd.m, optimization/fminunc.m, optimization/fsolve.m, - optimization/fzero.m, optimization/glpk.m, optimization/lsqnonneg.m, - optimization/pqpnonneg.m, optimization/qp.m, optimization/sqp.m, - path/pathdef.m, pkg/pkg.m, plot/__marching_cube__.m, plot/axis.m, - plot/colorbar.m, plot/contourc.m, plot/contourf.m, plot/cylinder.m, - plot/ezplot.m, plot/isocolors.m, plot/isonormals.m, plot/legend.m, - plot/print.m, plot/refreshdata.m, plot/slice.m, plot/subplot.m, - plot/surfl.m, polynomial/compan.m, polynomial/mpoles.m, - polynomial/poly.m, polynomial/polyaffine.m, polynomial/polyfit.m, - polynomial/polygcd.m, polynomial/polyout.m, polynomial/residue.m, - polynomial/roots.m, polynomial/unmkpp.m, set/union.m, signal/filter2.m, - signal/stft.m, sparse/spdiags.m, specfun/bessel.m, specfun/beta.m, - specfun/betaln.m, specfun/nchoosek.m, specfun/nthroot.m, - specfun/perms.m, special-matrix/hadamard.m, special-matrix/hankel.m, - special-matrix/hilb.m, special-matrix/invhilb.m, - special-matrix/toeplitz.m, special-matrix/vander.m, - statistics/base/cloglog.m, statistics/base/cor.m, - statistics/base/corrcoef.m, statistics/base/kendall.m, - statistics/base/kurtosis.m, statistics/base/logit.m, - statistics/base/mean.m, statistics/base/median.m, - statistics/base/quantile.m, statistics/base/skewness.m, - statistics/base/std.m, statistics/base/var.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/wblcdf.m, statistics/tests/cor_test.m, - statistics/tests/hotelling_test_2.m, strings/bin2dec.m, - strings/cstrcat.m, strings/dec2bin.m, strings/dec2hex.m, - strings/findstr.m, strings/hex2dec.m, strings/index.m, - strings/isstrprop.m, strings/regexptranslate.m, strings/rindex.m, - strings/strcat.m, strings/substr.m, testfun/demo.m, time/asctime.m, - time/clock.m, time/ctime.m, time/date.m, time/datenum.m, - time/is_leap_year.m: Grammarcheck documentation of m-files. - Add newlines between @items for readability. - -2010-07-26 Ben Abbott - - * general/interp1.m: When absent set X equal to the inices of Y. - * general/interpn.m: Convert interpolation vectors of non-equal - length to nd-arrays. - -2010-07-26 Soren Hauberg - - * image/image.m: Replace parenthesis with curly bracket in Texinfo. - -2010-07-25 Rik - - * image/image.m: Always reverse 'ydir' property when displaying images. - -2010-07-19 Rik - - * help/__makeinfo__.m: Add support to process @nopsell macro. - Fix bug when more than one @seealso block exists. - -2010-07-19 Rik - - * general/repmat.m: Add seealso to new repelems function. - -2010-07-19 Jaroslav Hajek - - * specfun/nchoosek.m: Optimize. - -2010-07-18 Rik - - * @ftp/ftp.m, @ftp/mget.m, audio/lin2mu.m, audio/loadaudio.m, - audio/mu2lin.m, audio/playaudio.m, audio/saveaudio.m, - audio/wavwrite.m, deprecated/create_set.m, - deprecated/intwarning.m, deprecated/lchol.m, - deprecated/spchol.m, deprecated/spdiag.m, deprecated/spfind.m, - deprecated/splchol.m, deprecated/splu.m, deprecated/spmax.m, - deprecated/spmin.m, deprecated/spqr.m, deprecated/weibcdf.m, - deprecated/weibrnd.m, general/accumarray.m, general/bitset.m, - general/colon.m, general/deal.m, general/del2.m, - general/genvarname.m, general/gradient.m, general/interp1.m, - general/interp2.m, general/interp3.m, general/interpft.m, - general/interpn.m, general/nargchk.m, general/nargoutchk.m, - general/nextpow2.m, general/num2str.m, general/pol2cart.m, - general/polyarea.m, general/prepad.m, general/quadgk.m, - general/quadl.m, general/quadv.m, general/rat.m, - general/repmat.m, general/shiftdim.m, general/structfun.m, - general/trapz.m, geometry/convhull.m, geometry/delaunay.m, - geometry/delaunay3.m, geometry/delaunayn.m, geometry/dsearch.m, - geometry/dsearchn.m, geometry/griddata.m, geometry/trimesh.m, - geometry/triplot.m, geometry/trisurf.m, geometry/voronoi.m, - geometry/voronoin.m, help/__makeinfo__.m, help/gen_doc_cache.m, - help/get_first_help_sentence.m, help/print_usage.m, help/type.m, - image/brighten.m, image/colormap.m, image/image.m, - image/imagesc.m, image/imfinfo.m, image/imshow.m, - image/imwrite.m, image/ind2rgb.m, io/dlmwrite.m, io/fileread.m, - io/strread.m, io/textread.m, linear-algebra/cond.m, - linear-algebra/condest.m, linear-algebra/ishermitian.m, - linear-algebra/onenormest.m, miscellaneous/bzip2.m, - miscellaneous/dir.m, miscellaneous/dos.m, miscellaneous/edit.m, - miscellaneous/gzip.m, miscellaneous/mkoctfile.m, - miscellaneous/orderfields.m, miscellaneous/parseparams.m, - miscellaneous/perl.m, miscellaneous/unix.m, - miscellaneous/unpack.m, miscellaneous/version.m, - miscellaneous/zip.m, optimization/fminbnd.m, - optimization/fminunc.m, optimization/fsolve.m, - optimization/glpk.m, optimization/glpkmex.m, - optimization/lsqnonneg.m, optimization/optimget.m, - optimization/optimset.m, optimization/pqpnonneg.m, - optimization/private/__fdjac__.m, optimization/qp.m, - pkg/get_forge_pkg.m, pkg/pkg.m, plot/__fltk_print__.m, - plot/__gnuplot_print__.m, plot/ancestor.m, plot/area.m, - plot/axes.m, plot/axis.m, plot/bar.m, plot/barh.m, plot/box.m, - plot/caxis.m, plot/cla.m, plot/clabel.m, plot/close.m, - plot/colorbar.m, plot/comet.m, plot/compass.m, plot/contour.m, - plot/contour3.m, plot/contourc.m, plot/contourf.m, - plot/cylinder.m, plot/ellipsoid.m, plot/ezcontour.m, - plot/ezcontourf.m, plot/ezmesh.m, plot/ezmeshc.m, plot/ezplot.m, - plot/ezplot3.m, plot/ezpolar.m, plot/ezsurf.m, plot/ezsurfc.m, - plot/feather.m, plot/figure.m, plot/fill.m, plot/findall.m, - plot/findobj.m, plot/fplot.m, plot/gcbo.m, plot/grid.m, - plot/hggroup.m, plot/hidden.m, plot/line.m, plot/meshgrid.m, - plot/ndgrid.m, plot/pareto.m, plot/patch.m, plot/pcolor.m, - plot/peaks.m, plot/pie.m, plot/plotmatrix.m, plot/plotyy.m, - plot/print.m, plot/private/__actual_axis_position__.m, - plot/quiver.m, plot/quiver3.m, plot/refresh.m, plot/rose.m, - plot/scatter.m, plot/scatter3.m, plot/shading.m, plot/slice.m, - plot/specular.m, plot/sphere.m, plot/subplot.m, plot/surfl.m, - plot/surfnorm.m, plot/text.m, plot/title.m, plot/view.m, - plot/whitebg.m, plot/xlabel.m, plot/xlim.m, plot/ylabel.m, - plot/ylim.m, plot/zlabel.m, plot/zlim.m, polynomial/compan.m, - polynomial/mkpp.m, polynomial/mpoles.m, polynomial/pchip.m, - polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, - polynomial/ppval.m, polynomial/spline.m, set/intersect.m, - set/powerset.m, set/setdiff.m, set/setxor.m, set/union.m, - set/unique.m, signal/fftshift.m, signal/filter2.m, - signal/ifftshift.m, sparse/bicgstab.m, sparse/cgs.m, - sparse/etreeplot.m, sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, - sparse/spdiags.m, sparse/speye.m, sparse/sprand.m, - sparse/sprandn.m, sparse/sprandsym.m, sparse/spstats.m, - sparse/spy.m, sparse/treelayout.m, sparse/treeplot.m, - specfun/bessel.m, specfun/legendre.m, specfun/pow2.m, - statistics/base/center.m, statistics/base/histc.m, - statistics/base/kendall.m, statistics/base/meansq.m, - statistics/base/prctile.m, statistics/base/quantile.m, - statistics/base/range.m, statistics/base/std.m, - statistics/base/table.m, statistics/distributions/betacdf.m, - statistics/distributions/betarnd.m, - statistics/distributions/binornd.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/empirical_rnd.m, - statistics/distributions/exprnd.m, - statistics/distributions/fcdf.m, - statistics/distributions/frnd.m, - statistics/distributions/gamrnd.m, - statistics/distributions/geornd.m, - statistics/distributions/hygernd.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/laplace_rnd.m, - statistics/distributions/logistic_rnd.m, - statistics/distributions/lognrnd.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/normrnd.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/tcdf.m, - statistics/distributions/trnd.m, - statistics/distributions/unidrnd.m, - statistics/distributions/unifcdf.m, - statistics/distributions/unifrnd.m, - statistics/distributions/wblcdf.m, - statistics/distributions/wblrnd.m, - statistics/tests/kolmogorov_smirnov_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, - statistics/tests/wilcoxon_test.m, strings/base2dec.m, - strings/index.m, strings/mat2str.m, strings/strchr.m, - strings/substr.m, strings/validatestring.m, testfun/assert.m, - testfun/example.m, testfun/fail.m, testfun/speed.m, - testfun/test.m, time/calendar.m, time/date.m, time/datenum.m, - time/datetick.m, time/datevec.m: - Grammarcheck documentation of m-files. - -2010-07-17 Rik - - * audio/lin2mu.m, general/common_size.m, general/interp1.m, - general/interp2.m, general/interpn.m, general/quadl.m, - geometry/dsearchn.m, geometry/voronoi.m, geometry/voronoin.m, - image/hsv2rgb.m, image/imread.m, image/rgb2hsv.m, - linear-algebra/commutation_matrix.m, linear-algebra/condest.m, - linear-algebra/expm.m, linear-algebra/krylov.m, - linear-algebra/onenormest.m, miscellaneous/perl.m, - plot/linkprop.m, plot/plot.m, plot/print.m, plot/stem3.m, - signal/diffpara.m, signal/stft.m, sparse/pcg.m, sparse/pcr.m, - specfun/primes.m, special-matrix/hadamard.m, special-matrix/hankel.m, - special-matrix/invhilb.m, special-matrix/pascal.m, - special-matrix/rosser.m, special-matrix/toeplitz.m, - special-matrix/vander.m, special-matrix/wilkinson.m, - testfun/speed.m: Spellcheck documentation. - -2010-07-15 Jaroslav Hajek - - * general/flipdim.m: Suuport flipping about trailing singleton - dimension. - -2010-07-14 Ben Abbott - - * plot/__gnuplot_print__.m: Fix broken options "-orientation", - "-special_flag", "-debug_file", "-tight_flag", and "-printer". - -2010-07-14 Rik - - * linear-algebra/normest.m: Improve documentation. Add better input - validation. Use same variable names in code as in documentation. - -2010-07-14 Marco Caliari - - * linear-algebra/normest.m: Set the "state" of the random number - generator to trace(A). - -2010-07-12 Jaroslav Hajek - - * general/cell2mat.m: Optimize so as to minimize the number of - concats. - -2010-07-12 John W. Eaton - - * general/display.m: Print usage message if nargin != 1. - Bug #30421. - -2010-07-09 Thorsten Meyer - - * general/interp2.m: improve input argument handling and - allow not equally spaced griddata (bug #29601) - -2010-07-08 Jaroslav Hajek - - * general/accumarray.m: Fix incorrect handling of nondefault fill - values in min/max reductions of integers. - -2010-07-07 David Bateman - - * __next_line_color__.m: Allow conditional initialisation of the - color_rotation variable. - * __next_line_style__.m: Allow conditional initialisation of the - style_rotation variable. - * hold.m: Support "hold all". - * newplot.m: Conditionally initialisation the line style and color - based on the __hold_all__ axes property. - -2010-07-04 Soren Hauberg - - * polynomial/deconv.m: ensure that the orientation of the third - input to 'filter' matches the orientation of 'y'. - -2010-07-02 Rik - - * audio/wavread.m: Correctly handle non-word aligned data chunks. - (bug #30309). - -2010-06-16 Rik - - * plot/stairs.m: Add additional calling forms to documentation. - -2010-06-24 John W. Eaton - - * plot/private/__plt__.m: Replace usage message with error. - * plot/loglog.m, plot/plot.m, plot/polar.m, plot/semilogx.m, - plot/semilogy.m: Call print_usage if no args are supplied. - Add additional calling forms to documentation. - -2010-06-24 Shai Ayal - - * plot/print.m: convert to wrapper for backend specific print functions - * plot/__gnuplot_print__.m: New gnuplot specific print function, - largely based on the former print.m - * plot/__fltk_print__.m: New fltk specific print function - * plot/__print_parse_opts__.m: New option parser for print - functions, largely based on the former print.m - * plot/module.mk: Add new m-files here - -2010-06-23 David Bateman - - * whitebg.m: New function. - * module.mk (plot_FCN_FILES): Add it here. - * __go_draw_figure__.m: Set the border color to the inverse of the - background color. - -2010-06-17 Brad Froehle - - * sparse/spy.m: Fix typo. - -2010-06-16 Rik - - * set/union.m: Remove seealso reference to deprecated function. - -2010-06-16 Rik - - * @ftp/dir.m, @ftp/ftp.m, @ftp/mget.m, @ftp/mput.m, @ftp/rename.m, - deprecated/fstat.m, general/accumdim.m, general/interp1.m, - linear-algebra/ishermitian.m, linear-algebra/issymmetric.m, - miscellaneous/substruct.m, optimization/fminbnd.m, - optimization/fsolve.m, plot/bar.m, plot/daspect.m, plot/pbaspect.m, - plot/print.m, polynomial/mkpp.m, polynomial/ppval.m, set/union.m, - signal/unwrap.m, specfun/nthroot.m: Periodic grammar check of - documentation to ensure a common format. - -2010-06-14 Rik - - * plot/image.m: Flip data, rather than y-axis, for images. (bug #30033) - -2010-06-12 Ben Abbott - - * plot/scatter.m: New demo. - * plot/private/__scatter__.m: Properly set default value markersize - and marker type. - -2010-06-12 Rik - - * plot/scatter.m: Add new calling forms of function to documentation. - -2010-06-10 Ben Abbott - - * plot/private/__scatter__.m, plot/scatter.m: Honor Matlab color - settings. - * general/prepad.m: Fix typo 'dimm' -> 'dim'. - -2010-06-10 Jaroslav Hajek - - * linear-algebra/vec.m: Remove (make built-in). - * linear-algebra/module.mk: Update. - -2010-06-09 Rik - - * general/flipdim.m, general/accumdim.m: Use > 1 test to find - first non-singleton dimension rather than != 1. - -2010-06-08 Rik - - * general/cumtrapz.m, general/postpad.m, general/prepad.m, - general/shift.m, general/trapz.m, signal/unwrap.m: Use common - method to find first non-singleton dimension. - -2010-06-08 Rik - - * general/rotdim.m: Modify function to use same variable names - as documentation. - -2010-06-08 Rik - - * general/cart2pol.m, general/cart2sph.m, general/pol2cart.m, - general/sph2cart.m: Add option to operate on column matrix of - coordinates. - -2010-06-08 Rik - - * general/arrayfun.m, general/cart2pol.m, general/cart2sph.m, - general/idivide.m, general/logspace.m, general/sph2cart.m, - general/structfun.m, image/imagesc.m, io/csvread.m, io/csvwrite.m, - linear-algebra/cond.m, linear-algebra/condest.m, - linear-algebra/isdefinite.m, linear-algebra/null.m, - linear-algebra/orth.m, miscellaneous/list_primes.m, - optimization/fminunc.m, optimization/fzero.m, path/matlabroot.m, - plot/axis.m, plot/plot.m, plot/semilogx.m, plot/semilogxerr.m, - plot/semilogy.m, plot/semilogyerr.m, plot/stem.m, polynomial/poly.m, - polynomial/polyder.m, polynomial/polyderiv.m, polynomial/polyfit.m, - polynomial/polyout.m, polynomial/polyval.m, set/ismember.m, - sparse/spfun.m, specfun/betaln.m, statistics/base/mean.m, - statistics/base/median.m, statistics/base/mode.m, statistics/base/ols.m, - statistics/base/ranks.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/wblpdf.m: Improve documentation strings - -2010-06-07 Jaroslav Hajek - - * pkg/pkg.m: Support pkg list -forge. - -2010-06-07 Jaroslav Hajek - - * pkg/get_forge_pkg.m: New function. - * pkg/module.mk: Add it here. - * pkg/pkg.m: Support -forge switch for auto-downloading OctaveForge - packages. - -2010-06-03 Alois Schlögl - - * signal/arch_test.m, statistics/tests/bartlett_test.m, - statistics/tests/chisquare_test_homogeneity.m, - statistics/tests/chisquare_test_independence.m, - statistics/tests/manova.m, statistics/tests/mcnemar_test.m, - statistics/tests/run_test.m, statistics/distributions/chi2pdf.m: - Replace calls to obsolete chisquare_cdf with chi2cdf. - -2010-06-03 Rik - - * plot/private/__plt__.m: Add newline to usage message. - -2010-06-02 Rik - - * optimization/sqp.m: Overhaul sqp code. - Guarantee equivalent results if sqp called with or wihout bounds - (bug #29989). Simplify input option handling and add %tests - to check validation code. Rewrite documentation string. - -2010-06-01 Rik - - * optimization/fminbnd.m: Remove unused persistent variable. - -2010-06-01 Rik - - * plot/private/__contour__.m: Correctly size X and Y when only Z - specified (bug #30002). - -2010-05-31 Rik - - * specfun/legendre.m: Orient row vector correctly (bug #29997). - Add input validation for negative values and %tests to check - validation routines. - -2010-05-30 Rik - - * sparse/svds.m: Overhaul code. - Return smallest singular values if sigma == 0 (Bug #29721). - Avoid calculating U and V matrices unless requested. - Correctly handle zero matrix input. - Improve documentation string. - -2010-05-26 Rik - - * statistics/base/histc.m, statistics/base/iqr.m, - statistics/base/kurtosis.m, statistics/base/mode.m, - statistics/base/ranks.m, statistics/base/run_count.m, - statistics/base/skewness.m, statistics/base/statistics.m, - statistics/base/studentize.m: Improve validation of input arguments. - -2010-05-26 Jaroslav Hajek - - * specfun/isprime.m: Fix and further optimize. - -2010-05-26 Rik - - * plot/legend.m: Improve documentation string. - -2010-05-26 Rik - - * sparse/svds.m: Check struct input arguments. Overhaul documentation. - -2010-05-26 Ben Abbott - - * plot/legend.m: Key labels for specified objects. - * plot/ancestor.m: Support vectors of handles. - -2010-05-26 Rik - - * sparse/svds.m: Initialize ARPACK starting vector in svds test code. - Bug #29721. - -2010-05-25 Ben Abbott - - * polynomial/spline.m: Ignore NaNs within input vectors. - -2010-05-25 Jaroslav Hajek - - * specfun/primes.m: Use logical masks rather than numeric. - * specfun/isprime.m: Rewrite using isprime. - -2010-05-25 Jaroslav Hajek - - * miscellaneous/unimplemented.m: Don't mention onCleanup (supported). - -2010-05-25 Jaroslav Hajek - - * statistics/base/median.m: Ensure NaNs where needed. Simplify first - non-singleton dimension computation. - -2010-05-24 Rik - - * general/private/__isequal__.m, image/image.m, - statistics/base/ranks.m: Replace calls to deprecated functions. - -2010-05-23 Rik - - * image/imshow.m: Scale image point color according to colormap. - Bug #29926. - -2010-05-16 Rik - - * plot/semilogx.m, plot/semilogy.m: Plot minor ticks for semilog plots. - -2010-05-16 Rik - - * audio/loadaudio.m, audio/playaudio.m, audio/saveaudio.m, - audio/wavread.m, general/bicubic.m, general/bitcmp.m, general/bitget.m, - general/bitset.m, general/cplxpair.m, general/del2.m, - general/gradient.m, general/interp2.m, general/interp3.m, - general/interpn.m, general/postpad.m, general/prepad.m, - general/private/__splinen__.m, image/image_viewer.m, image/imagesc.m, - image/saveimage.m, linear-algebra/expm.m, linear-algebra/krylov.m, - miscellaneous/edit.m, miscellaneous/private/__xzip__.m, - miscellaneous/what.m, optimization/glpk.m, optimization/optimset.m, - optimization/pqpnonneg.m, path/pathdef.m, plot/__go_draw_axes__.m, - plot/__marching_cube__.m, plot/gnuplot_drawnow.m, plot/ishold.m, - plot/isocolors.m, plot/isonormals.m, plot/print.m, - plot/private/__add_datasource__.m, plot/private/__color_str_rgb__.m, - plot/private/__errplot__.m, plot/private/__interp_cube__.m, - plot/shading.m, plot/specular.m, polynomial/deconv.m, - polynomial/polyint.m, polynomial/ppint.m, set/powerset.m, - signal/arch_fit.m, signal/arch_test.m, signal/durbinlevinson.m, - special-matrix/hadamard.m, statistics/distributions/unidrnd.m, - statistics/distributions/unifinv.m, - statistics/models/logistic_regression.m, strings/strjust.m, - testfun/rundemos.m, testfun/runtests.m, testfun/test.m, time/datenum.m: - Print name of function in error() string messages. - -2010-05-16 Rik - - * plot/contourc.m, plot/private/__contour__.m, - plot/surface.m, plot/surfnorm.m: Check input - arguments for size and type (bug #29861). - -2010-05-13 John W. Eaton - - * help/help.m: Avoid unnecessary use of varargout. - -2010-05-13 Qianqian Fang - - * miscellaneous/tempdir.m: Add filesep to end of tempdir (bug #29864). - -2010-05-11 Jaroslav Hajek - - * io/textread.m: Fix typo. - -2010-05-08 David Gesswein - - * io/dlmwrite.m: Correctly set output precision (#29870). - -2010-05-12 Jordi Gutiérrez Hermoso - - * help/help.m: Allow docstring to be returned as output, and - correct docstring. - -2010-05-08 Rik - - * testfun/test.m: Don't abort testing when skipping a testif block - -2010-05-05 Rik - - * statistics/tests/cor_test.m, statistics/tests/t_test.m, - statistics/tests/t_test_2.m, statistics/tests/t_test_regression.m, - statistics/tests/welch_test.m: Replace deprecated function calls. - Patch provided by Alois Schlögl. - -2010-05-02 Rik - - * linear-algebra/cond.m: Add TeX equation to documentation - -2010-05-02 Peter van den Biggelaar - - * plot/close.m: No error on "close([])". - -2010-05-01 Ben Abbott - - * plot/__go_draw_axes__.m: Remove gnuplot errorbar code. - -2010-04-30 Ben Abbott - - * plot/loglogerr.m, plot/semilogxerr.m, plot/semilogyerr.m: - Add demos. - * plot/private/__errplot__.m: Fix bug parsing errorbar style. - * plot/private/__errplot__.m: Implement errorbars in the Matlab style. - -2010-04-29 Ben Abbott - - * plot/errorbar.m: Modify demo. - * plot/private/__errplot__.m: Fix bug for boxxy errorbar. - * plot/errorbar.m: Add demos. - -2010-04-27 David Bateman - - * plot/private/__errplot__.m: Update the marker in a seperate - listener function. - -2010-04-27 Rik - - * plot/private/__go_draw_axes__.m: Use "." for marker when plotting - with errorbars. (bug #29057) - -2010-04-27 Ben Abbott - - * plot/private/__errplot__.m: Add missing semicolon line terminations. - -2010-04-27 David Bateman - - * plot/private/__default_plot_options_.m: New option errorstyle. - * plot/private/__pltopt__.m: Use errorstyle here seperately from - the linestyle so that both can be set. - * plot/private/__errcomm__.m: Allow for the fact that matrices - to __errplot__ with return a vector of handles. - * plot/private/__errplot__.m: Allow for default linestyles. - - * plot/private/__errplot__.m: Set the errorbar marker to "none". - -2010-04-26 David Bateman - - * plot/bar.m: Document the use of the colormap for the color of - the bars. - - * plot/private/__errplot__.m: Allow x, box and xy errorbars with - different syntax. - - * plot/private/__errplot__.m: Allow matlab style linestyles, and - support setting the markers. - -2010-04-24 David Bateman - - * plot/private/__patch__.m: Correct order of calling setdata and - setvertexdata. - -2010-04-25 Ben Abbott - - * plot/__go_draw_figure__.m: Hidden axes may have visible children. - -2010-04-24 Ben Abbott - - * plot/print.m: Set figure color property to 'none' when printing. - -2010-04-24 David Bateman - - * plot/__go_draw_axes__.m: Correct fill of diamond markers - -2010-04-24 Ben Abbott - - * plot/__go_draw_axes__.m: Consistent placement of axes for ps vs - other gnuplot terminals. - -2010-04-23 Ben Abbott - - * plot/colorbar.m: Fix colorbar() bugs for manual plotboxaspectratio. - * plot/axis.m: For 'axis normal' restore plotboxaspectratio. - -2010-04-23 John W. Eaton - - * gethelp.cc (extract_help_text): Use C++ static_cast instead of - C-style cast. - -2010-04-23 Rik - - * audio/loadaudio.m, audio/mu2lin.m, audio/playaudio.m, - audio/saveaudio.m, audio/wavread.m, audio/wavwrite.m, - deprecated/cellidx.m, deprecated/intwarning.m, - deprecated/lchol.m, deprecated/spatan2.m, deprecated/spchol.m, - deprecated/spchol2inv.m, deprecated/spcholinv.m, - deprecated/spcumprod.m, deprecated/spcumsum.m, - deprecated/spdet.m, deprecated/spdiag.m, deprecated/spfind.m, - deprecated/spinv.m, deprecated/spkron.m, deprecated/splchol.m, - deprecated/split.m, deprecated/splu.m, deprecated/spmax.m, - deprecated/spmin.m, deprecated/spprod.m, deprecated/spqr.m, - deprecated/spsum.m, deprecated/spsumsq.m, elfun/lcm.m, - general/bicubic.m, general/cell2mat.m, general/circshift.m, - general/cplxpair.m, general/cumtrapz.m, general/dblquad.m, - general/del2.m, general/gradient.m, general/idivide.m, - general/int2str.m, general/interp1.m, general/interp2.m, - general/interp3.m, general/interpn.m, general/isa.m, - general/num2str.m, general/postpad.m, general/prepad.m, - general/private/__isequal__.m, general/quadgk.m, - general/quadl.m, general/quadv.m, general/rat.m, - general/rotdim.m, general/shift.m, general/sortrows.m, - general/structfun.m, general/trapz.m, geometry/griddata.m, - geometry/griddata3.m, geometry/inpolygon.m, geometry/rectint.m, - geometry/trimesh.m, geometry/triplot.m, geometry/trisurf.m, - geometry/voronoi.m, help/doc.m, help/help.m, help/which.m, - io/dlmwrite.m, io/strread.m, linear-algebra/condest.m, - linear-algebra/cross.m, linear-algebra/krylov.m, - linear-algebra/null.m, linear-algebra/onenormest.m, - linear-algebra/orth.m, linear-algebra/rank.m, - linear-algebra/rref.m, miscellaneous/bincoeff.m, - miscellaneous/cast.m, miscellaneous/compare_versions.m, - miscellaneous/copyfile.m, miscellaneous/dir.m, - miscellaneous/dump_prefs.m, miscellaneous/edit.m, - miscellaneous/fileattrib.m, miscellaneous/fileparts.m, - miscellaneous/fullfile.m, miscellaneous/license.m, - miscellaneous/ls.m, miscellaneous/ls_command.m, - miscellaneous/mkoctfile.m, miscellaneous/movefile.m, - miscellaneous/orderfields.m, miscellaneous/perl.m, - miscellaneous/run.m, miscellaneous/substruct.m, - miscellaneous/swapbytes.m, miscellaneous/tar.m, - miscellaneous/unpack.m, miscellaneous/what.m, - miscellaneous/zip.m, optimization/fminunc.m, - optimization/fsolve.m, optimization/glpk.m, optimization/qp.m, - optimization/sqp.m, path/pathdef.m, path/savepath.m, pkg/pkg.m, - plot/__gnuplot_get_var__.m, plot/__gnuplot_ginput__.m, - plot/__go_draw_axes__.m, plot/__next_line_color__.m, - plot/__next_line_style__.m, plot/__plt_get_axis_arg__.m, - plot/ancestor.m, plot/area.m, plot/axes.m, plot/axis.m, - plot/box.m, plot/cla.m, plot/clabel.m, plot/clf.m, plot/close.m, - plot/colorbar.m, plot/comet.m, plot/compass.m, plot/contourf.m, - plot/cylinder.m, plot/ellipsoid.m, plot/feather.m, plot/fill.m, - plot/findobj.m, plot/fplot.m, plot/gnuplot_drawnow.m, - plot/grid.m, plot/gtext.m, plot/hidden.m, plot/hist.m, - plot/hold.m, plot/ishold.m, plot/isonormals.m, - plot/isosurface.m, plot/legend.m, plot/linkprop.m, plot/meshz.m, - plot/newplot.m, plot/pareto.m, plot/pie.m, plot/plot3.m, - plot/plotmatrix.m, plot/plotyy.m, plot/polar.m, - plot/private/__actual_axis_position__.m, - plot/private/__add_datasource__.m, - plot/private/__axes_limits__.m, plot/private/__axis_label__.m, - plot/private/__bar__.m, plot/private/__clabel__.m, - plot/private/__contour__.m, plot/private/__errcomm__.m, - plot/private/__errplot__.m, plot/private/__ezplot__.m, - plot/private/__patch__.m, plot/private/__plt__.m, - plot/private/__pltopt__.m, plot/private/__quiver__.m, - plot/private/__scatter__.m, plot/private/__stem__.m, - plot/refreshdata.m, plot/ribbon.m, plot/rose.m, plot/slice.m, - plot/sombrero.m, plot/sphere.m, plot/stairs.m, plot/subplot.m, - plot/surf.m, plot/surface.m, plot/surfl.m, plot/surfnorm.m, - plot/text.m, plot/view.m, polynomial/polyderiv.m, - polynomial/polygcd.m, polynomial/polyout.m, polynomial/spline.m, - set/intersect.m, set/setdiff.m, set/setxor.m, signal/unwrap.m, - sparse/pcg.m, sparse/pcr.m, sparse/spaugment.m, - sparse/spconvert.m, sparse/sprand.m, sparse/sprandsym.m, - sparse/svds.m, sparse/treelayout.m, sparse/treeplot.m, - specfun/nchoosek.m, specfun/primes.m, special-matrix/toeplitz.m, - statistics/base/iqr.m, statistics/base/kurtosis.m, - statistics/base/qqplot.m, statistics/base/quantile.m, - statistics/base/ranks.m, statistics/base/run_count.m, - statistics/base/skewness.m, statistics/base/statistics.m, - statistics/base/studentize.m, statistics/base/var.m, - statistics/distributions/betapdf.m, - statistics/distributions/betarnd.m, - statistics/distributions/binocdf.m, - statistics/distributions/binoinv.m, - statistics/distributions/binornd.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/exprnd.m, - statistics/distributions/fcdf.m, - statistics/distributions/finv.m, - statistics/distributions/fpdf.m, - statistics/distributions/frnd.m, - statistics/distributions/gampdf.m, - statistics/distributions/gamrnd.m, - statistics/distributions/geornd.m, - statistics/distributions/hygepdf.m, - statistics/distributions/laplace_inv.m, - statistics/distributions/lognrnd.m, - statistics/distributions/nbincdf.m, - statistics/distributions/nbininv.m, - statistics/distributions/nbinpdf.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/normrnd.m, - statistics/distributions/poissinv.m, - statistics/distributions/poissrnd.m, - statistics/distributions/tinv.m, - statistics/distributions/tpdf.m, - statistics/distributions/trnd.m, - statistics/distributions/unidrnd.m, - statistics/distributions/unifrnd.m, - statistics/distributions/wblpdf.m, - statistics/distributions/wblrnd.m, strings/cstrcat.m, - strings/deblank.m, strings/findstr.m, strings/isstrprop.m, - strings/regexptranslate.m, strings/strtok.m, testfun/assert.m, - testfun/example.m, testfun/fail.m, testfun/rundemos.m, - testfun/runtests.m, testfun/speed.m, testfun/test.m, - time/datestr.m, time/weekday.m: Untabify. - -2010-04-23 Rik - - * geometry/griddata.m, geometry/griddatan.m, geometry/tsearchn.m: - Replace nan with NaN for nice visual cue. - -2010-04-23 Rik - - * optimization/gplot.m: Eliminate parsing error for NaN inside - of matrix declaration. - -2010-04-22 Rik - - * optimization/sqp.m: Return correct value (101) on succes. - Fixes bug #29577. - -2010-04-22 Rik - - * optimization/glpk.m: Eliminate repmat (Inf, x , y) and just - use Inf (x,y). - -2010-04-22 Rik - - * general/rat.m, sparse/gplot.m, strings/base2dec.m, - geometry/triplot.m, optimization/sqp.m, optimization/qp.m, - statistics/base/run_count.m, statistics/base/ranks.m: - Eliminate NaN*ones and Inf*ones constructs and just use Nan() - and Inf(). - -2010-04-19 Ben Abbott - - * plot/colorbar.m: Allow 'peer' option to be specified. - * plot/colorbar.m: Consistent treatment of plotboxaspectratio, and - add listener for plotboxaspectratiomode. - * plot/axis.m: Consistent treatment of plotboxaspectratio. - * plot/__go_draw_axes__.m: Consistently determine axes position. - -2010-04-17 Ben Abbott - - * plot/private/__actual_axis_position__.m: Fix bug when restoring - figure position property to its original value. - -2010-04-16 David Bateman - - * plot/__go_draw_figure__.m: Pass bg_is_set to __go_draw_axes__. Don't - unset the background figure color. - * plot/__go_draw_axes__.m: Unset the background figure color here. - - * statistics/distributions/*: Replace constructs like "NaN * one()" - with "NaN()" and "Inf * ones ()" with "Inf()". - -2010-04-15 David Bateman - - * statistics/distributions/discrete_pdf.m: Reimplement using lookup. - * statistics/distributions/discrete_inv.m: Reimplement using lookup. - * statistics/distributions/discrete_cdf.m: typo in last patch. - -2010-04-15 Jaroslav Hajek - - * statistics/distributions/stdnormal_cdf.m: Calculate using erfc. - -2010-04-13 David Bateman - - * statistics/discrete_cdf.m: Reimplement using lookup. - -2010-04-13 Shai Ayal - - * plot/__fltk_ginput__.m: New functions, implement ginput for - fltk backend. - -2010-04-13 Jaroslav Hajek - - * sparse/spalloc.m: Remove. - * sparse/module.mk: Update. - -2010-04-16 Ben Abbott - - * plot/plotyy.m: Add listener for dataaspectratiomode. - -2010-04-12 Ben Abbott - - * plot/loglog.m: Minor ticks on by default for loglog plots. - * plot/__plt_get_axis_arg__.m, plot/newplot.m: Respect the nextplot - property value of 'new' for axes and 'replacechildren' for axes and - figures. - -2010-04-10 Ben Abbott - - * plot/__go_draw_figure__.m: Don't set background for non-visible axes. - -2010-04-07 John W. Eaton - - * testfun/runtests.m: New function. - * testfun/module.mk (testfun_FCN_FILES): Add it to the list. - -2010-02-19 Rik - - * statistics/cut.m: Modify cut to use the same decision criteria - as histc when deciding whether a data point is inside or outside - interval. - -2010-04-02 Marc Vinyals - - * signal/arma_rnd.m: fix typo in test. - -2010-04-02 Marc Vinyals - - * signal/arma_rnd.m: fix typo in test. - -2010-03-30 Jaroslav Hajek - - * specfun/factor.m: Use rem to check divisibility. - -2010-03-27 Ben Abbott - - * plot/__go_draw_figure__.m: Untabify. - * plot/print.m: Provide default suffixes & validate hardcopy format. - -2010-03-27 Jaroslav Hajek - - * optimization/fzero.m: Handle the breakdown if initial bracketing - contains an exact root. Improve docstring. - -2010-03-26 Jaroslav Hajek - - * miscellaneous/module.mk: Add unimplemented.m here. - -2010-03-25 Ben Abbott - - * general/cell2mat.m: Add test for cells of cells. - -2010-03-24 Petr Mikulik - - * plot/__go_draw_axes__.m: Unset logscale also for unused gnuplot - axis locations. - -2010-03-24 Jaroslav Hajek - - * help/help.m: Maybe warn about unimplemented Matlab functions. - -2010-03-24 Jaroslav Hajek - - * miscellaneous/unimplemented.m: New function. - -2010-03-24 Jaroslav Hajek - - * general/cell2mat.m: Support cells of cells. - -2010-03-23 John W. Eaton - - * plot/refreshdata.m: Don't use cell2mat on cell array of cell arrays. - -2010-03-22 Soren Hauberg - - * image/gmap40.m, image/hot.m, image/hsv2rgb.m, image/image.m, - image/image_viewer.m, image/imfinfo.m, image/imread.m, image/imshow.m, - image/saveimage: Detabify. - -2010-03-21 Soren Hauberg - - * general/quadv.m: Replace 'quadl' with 'quadv' in help text. - -2010-03-20 Soren Hauberg - - * general/interp2.m: For nearest neighbour interpolation ceil - (instead of floor) at the center of the data intervals to be - compatible with Matlab. Add test. - * general/interpn.m: Ditto. - -2010-03-19 Jaroslav Hajek - - * strings/strmatch.m (strtrimr): Rewrite for correct behavior. - Add test. - -2010-03-18 Petr Mikulik - - * plot/print.m: Add '-append' option. - -2010-03-18 Ben Abbott - - * plot/print.m: print.m: Detabify. - -2010-03-16 Jaroslav Hajek - - * general/nthroot.m: Remove. - * general/module.mk: Update. - * specfun/nthroot.m: New source. - * specfun/module.mk: Update. - -2010-03-16 Jaroslav Hajek - - * miscellaneous/intwarning.m: Deprecate. - -2010-03-11 Jaroslav Hajek - - * strings/index.m: Make it a wrapper for strfind. - -2010-03-11 Jaroslav Hajek - - * strings/strchr.m: Optimize. - -2010-03-05 Soren Hauberg - - * pkg/pkg.m (write_index): include classes in autogenerated - INDEX files. - -2010-03-05 Soren Hauberg - - * plot/fplot.m: Ensure that 'limits' is a 2 or 4 vector, and - that 'fn' is a function. - -2010-03-05 Jaroslav Hajek - - * testfun/test.m: Support catching warnings and errors by IDs. - -2010-03-05 Jaroslav Hajek - - * general/accumdim.m: Optimize the summation case. - -2010-03-05 Jaroslav Hajek - - * general/accumdim.m: New function. - -2010-03-05 Jaroslav Hajek - - * optimization/fzero.m: Avoid division by zero. - -2010-03-04 Jaroslav Hajek - - * optimization/fminbnd.m: Fix tests. - -2010-03-04 Jaroslav Hajek - - * optimization/fminbnd.m: Fix termination tolerances. - -2010-03-02 Jaroslav Hajek - - * polynomial/convn.m: Remove. - * polynomial/module.mk: Update. - -2010-02-28 John W. Eaton - - * set/unique.m: If the argument is sparse and we are not - operating on rows and we don't need indices, convert nonzero - elements to a full matrix and work on that instead, converting - back to sparse when done. - -2010-02-28 John W. Eaton - - * set/unique.m: Return 0x1 arrays for empty arrays with some - nonzero dimensions. Return object with the same class as the - argument. New tests. - -2010-02-27 Liam Groener - - * time/datetick.m: Fix 'keepticks' bug, and untabify. - -2010-02-25 Jaroslav Hajek - - * strings/str2double.m: Remove. - -2010-02-24 John W. Eaton - - * plot/private/__contour__.m (get_lvl_eps): New function. - Handle case of single level value. Use sqrt (eps) instead of 1e-6. - (update_text, add_patch_children): Use it. - -2010-02-19 Rik - - * optimization/fzero.m: Add test for discontinuity at the end. - -2010-02-18 John W. Eaton - - * image/imfinfo.m: Don't handle file time stamp here. - -2010-02-17 Jaroslav Hajek - - * statistics/base/center.m: Convert integer inputs to doubles. - -2010-02-17 Jaroslav Hajek - - * general/interp2: Slightly optimize linear interpolation. - -2010-02-12 Jaroslav Hajek - - * general/interp2: Remove debug stub. - -2010-02-12 Jaroslav Hajek - - * optimization/optimget.m: Simplify. - -2010-02-11 Jaroslav Hajek - - * miscellaneous/parseparams.m: Extend to allow direct parsing of - options. - -2010-02-10 Jaroslav Hajek - - * optimization/fminbnd.m: Undocument impossible info values. - * optimization/fzero.m: Ditto. - - * optimization/fzero.m: Make default TolX consistent with fminbnd. -2010-02-10 Jaroslav Hajek - - * optimization/fminbnd.m: New function. - * optimization/module.mk: Add it here. - * optimization/fzero.m: Make default TolX consistent with fminbnd. - -2010-02-10 Jaroslav Hajek - - * general/private/__isequal__.m: Remove list-related stub. - -2010-02-09 John W. Eaton - - * image/imshow.m: Allow logical values for images. - -2010-02-09 Jaroslav Hajek - - * general/accumarray.m: Use != instead of diff to compare indices in - dense case. Set explicit mode in sparse case to aid optimization. - -2010-02-09 Jaroslav Hajek - - * miscellaneous/menu.m: Use sscanf rather than eval. - -2010-02-09 Jaroslav Hajek - - * miscellaneous/substruct.m: Vectorize. - -2010-02-08 Jaroslav Hajek - - * general/accumarray.m: Document complexity. - -2010-02-08 Jaroslav Hajek - - * general/accumarray.m: Add new test that also forces index cache - generation for faster sorting. - -2010-02-08 Jaroslav Hajek - - * general/accumarray.m: 1 more small fix. - -2010-02-06 Jaroslav Hajek - - * general/accumarray.m: Small fixes. - -2010-02-05 Jaroslav Hajek - - * general/accumarray.m: Rewrite. Split sparse and dense case. Treat - cell-valued subs efficiently. Optimize dense case for @sum, @max and - @min. Optimize the @(x){x} reduction. Add tests. - -2010-02-04 Jaroslav Hajek - - * miscellaneous/dir.m: Fix month passed to datenum. - -2010-02-03 Jaroslav Hajek - - * general/private/__isequal__.m: Handle function handles. - -2010-02-01 David Bateman - - * plot/__go_draw_axes__.m (get_old_gnuplot_color): Remove as - no longer used (for gnuplot 4.0). - - * plot/private/__scatter__.m: Treat "flat" colored patches as - a single patch. - * plot/__go_draw_axes__.m: If a patch object is flat, treat its - outline with the gnuplot "palette". - -2010-01-30 Thorsten Meyer - - * statistics/tests/kruskal_wallis_test.m: Replace chisquare_cdf - by chi2cdf. - -2010-01-29 Ben Abbott - - * plot/axis.m, plot/__go_draw_axes__.m, plot/colorbar.m, - plot/isocolors.m, plot/isonormals.m, plot/isosurface.m, - plot/plotyy.m, plot/polar.m, plot/surfl.m, - plot/private/__actual_axis_position.m: - Replace dataaspectratio and dataaspectratiomode properties with - plotboxaspectratio and plotboxaspectratio properties. - -2010-01-29 John W. Eaton - - * polynomial/compan.m, polynomial/conv.m, polynomial/deconv.m, - polynomial/mpoles.m, polynomial/polyderiv.m, - polynomial/polygcd.m, polynomial/polyout.m, - polynomial/polyreduce.m, polynomial/polyval.m, - polynomial/polyvalm.m, polynomial/residue.m: - Point to polyint in @seealso, not polyinteg. - - * deprecated/module.mk (deprecated_FCN_FILES): - Remove delete files from the list. - - * 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/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/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/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/weibull_cdf.m, - deprecated/weibull_inv.m, deprecated/weibull_pdf.m, - deprecated/weibull_rnd.m, deprecated/wiener_rnd.m: - Delete functions deprecated in version 3.0.0. - - * deprecated/weibcdf.m, deprecated/weibinv.m, - deprecated/weibpdf.m, deprecated/weibrnd.m: - Note that Matlab still has these functions, so they probabl - should not be removed with other functions deprecated in 3.0.0. - -2010-01-28 Ben Abbott - - * plot/daspect.m, plot/pbaspect.m: New functions. - -2010-01-28 John W. Eaton - - * general/Makefile.am (general_FCN_FILES): Add chop.m to the list. - -2010-01-28 John W. Eaton - - * deprecated/isstr.m, deprecated/clg.m, deprecated/setstr.m: - Note that Matlab still has these functions, so they probabl - should not be removed with other functions deprecated in 3.0.0. - -2010-01-27 Thorsten Meyer - - * plot/gnuplot_drawnow.m: Add "emf" to the list of enhanced - terminals for the gnuplot backend. - -2010-01-26 John W. Eaton - - * general/chop.m: New function. - -2010-01-26 Jaroslav Hajek - - * optimization/fsolve.m: Support TypicalX, autoscale only if - AutoScaling is on, off by default. Fix default tolerances. - * optimization/fminunc.m: Support TypicalX, autoscale only if - AutoScaling is on, off by default Fix default tolerances.. - * optimization/private/__fdjac__.m: Accept typicalx as a parameter. - -2010-01-26 Jaroslav Hajek - - * optimization/pqpnonneg.m: If Cholesky update failed, switch off - updating but continue. - -2010-01-26 Jaroslav Hajek - - * pkg/pkg.m: More complement -> setdiff changes. - -2010-01-23 Jaroslav Hajek - - * pkg/pkg.m: Use setdiff rather than complement. - -2010-01-20 John W. Eaton - - * gethelp.cc: Untabfy. - -2010-01-20 Ben Abbott - - * plot/__go_draw_figure__.m: Reverse order axes are drawn. - -2010-01-20 David Bateman - - * plot/private/__contour__.m: Set default linestyle if pltopt returns - an empty style. - -2010-01-20 John W. Eaton - - * time/datetick.m: Make form arg optional. - From Philip Nienhuis . - -2010-01-20 David Bateman - - * plot/__go_draw_axes__.m: Correct an error in drawing of patch - objects where unrequested markers were drawn. - - * plot/__go_draw_figure__.m: Also plot white foreground and - background colors. - * plot/plotyy.m: Set axes colors to "none". - - * plot/__go_draw_axes__.m (next_marker): Remove and all uses of - this function. - Partially respect the markeredgecolor and markerfacecolor properties. - * plot/private/__color__str_rgb__.m: New function - * plot/module.mk: Add it here. - * plot/__next_line_style__.m: New function selected next line style - using the axes linestyleorder property. - * plot/__next_line_color.m: Increment next line style here. - * plot/newplot.m: Reset next line style here. - * plot/module.mk: Add __next_line_style__.m here. - * plot/plot3.m: Use __next_line_style__ here. - * plot/private/plt.m: And here. - * plot/private/stem.m: And here. - * plot/private/scatter.m: And here. Correctly handle nargin == 3. Use - matlab compatible edgecolor, markeredgecolor and markerfacecolor - property values. - * plot/private/pltopt.m: Remove "@" marker as an option. - * plot/private/__default_plot_options__.m: Default plot options - are empty signalling that __next_line_color__ and - __next_line_style should be used. - -2010-01-19 Jaroslav Hajek - - * general/structfun.m: Error when invalid options are specified. - -2010-01-19 Jaroslav Hajek , Thorsten Meyer - - * general/structfun.m: Correctly support multiple arguments with - non-uniform output. Correct test for non-uniform output. - -2010-01-19 Jaroslav Hajek - - * help/print_usage.m: Try determining whether called from top level. - If not, don't print additional help and enable backtrace instead. - -2010-01-18 John W. Eaton - - * testfun/test.m: Undo previous change. - -2010-01-18 David Grundberg - - * testfun/test.m: Append endfunction to function test blocks. - -2010-01-17 Thorsten Meyer - - * general/celldisp.m: Add example, add demo. - - * general/structfun.m, miscellaneous/getfield.m, - miscellaneous/orderfields.m, miscellaneous/setfield.m, - miscellaneous/substruct.m: Update documentation string. - -2010-01-16 David Bateman - - * plot/__go_draw_axes__.m (next_marker): New function to find a - new marker. Use it to support the "@" marker. - * plot/private/__pltopt__.m: Don't convert "@" marker ro "+"; - -2010-01-15 David Bateman - - plot/__go_draw_figure__.m: Respect the figure and axes color - properties. - -2010-01-14 David Bateman - - * plot/__go_draw_axes__.m: Fix for markerfacecolor and - markeredgecolor for unfillable points like '+'. - -2010-01-14 Jaroslav Hajek - - * io/fileread.m: Add missing semicolon. - -2010-01-14 Jaroslav Hajek - - * strings/strcmpi.m: Remove. - * strings/strncmpi.m: Remove. - * strings/module.mk: Update. - -2010-01-13 John W. Eaton - - * miscellaneous/inputname.m: Use isvarname instead of regexp. - -2010-01-13 John W. Eaton - - * miscellaneous/inputname.m: Return "" if argument name is not a - valid identifier. Update docstring. - -2010-01-12 David Bateman - - * plot/__go_draw_axes_.m: Allow patch markerfacecolor and - markeredgecolor properties to be used and set the marker colors - appropriately. - -2010-01-12 Jaroslav Hajek - Ben Barrowes - - * set/private/validargs.m: New function. - * set/module.mk: Add it here. - * set/ismember.m: Use it here. - * set/intersect.m: Ditto. - * set/union.m: Ditto. - * set/setdiff.m: Ditto. - * set/setxor.m: Ditto. - -2010-01-11 Rik - - * Makefile.am: Update DOCSTRINGS rules to avoid - simple_move_if_change_rule and allow Make to update timestamps. - -2010-01-11 Jaroslav Hajek - - * plot/private/__scatter__.m: Use patch objects instead of lines, - switch at 100 points. - -2010-01-11 Jaroslav Hajek - - * plot/private/__scatter__.m: Fix typos. - -2010-01-11 Jaroslav Hajek - - * io/fileread.m: New source. - -2010-01-10 Jaroslav Hajek - - * plot/private/__scatter__.m: Use alternative strategy for larger - point sets. - -2010-01-06 Ben Abbott - - * optimization/qp.m: Add missing semicolon. - -2010-01-11 Ben Barrowes - - * set/: allow set scripts to handle cell inputs - -2010-01-05 Jaroslav Hajek - - * optimization/qp.m: Supply default values on request and register - options. - -2010-01-05 John W. Eaton - - * qp.m: Allow linear term and constraint arguments to be - optional. - -2010-01-05 Joshua Redstone - - * qp.m: Handle optimset options struct argument. - -2010-01-04 Jaroslav Hajek - - * strings/strmatch.m: Optimize. - -2010-01-04 Jaroslav Hajek - - * strings/strrep.m: Remove. - * strings/module.mk: Update. - -2010-01-02 Jaroslav Hajek - - * optimization/fsolve.m: Support old style jacobian passing. - -2010-01-01 Jaroslav Hajek - - * set/powerset.m: New function. - * set/module.mk: Include it. - -2009-12-30 Jaroslav Hajek - - * general/common_size.m: Use named function rather than a handle. - -2009-12-29 Jaroslav Hajek - - * set/complement.m: Deprecate. - -2009-12-28 Jaroslav Hajek - - * strings/strcat.m: Further simplify. - -2009-12-27 Jaroslav Hajek - - * general/common_size.m: Optimize. - -2009-12-27 Jaroslav Hajek - - * strings/strcat.m: Vectorize. - -2009-12-26 Jaroslav Hajek - - * miscellaneous/xor.m: Optimize. - -2009-12-25 Jaroslav Hajek - - * general/issquare.m: Do not check type. - * linear-algebra/issymmetric.m: Strengthen test. - * linear-algebra/ishermitian.m: Strengthen test. - -2009-12-25 Jaroslav Hajek - - * strings/strfind.m: Remove. - * strings/module.mk: Update. - -2009-12-24 Jaroslav Hajek - - * strings/strjust.m: Rewrite. - -2009-12-23 Jaroslav Hajek - - * strings/strjust.m: Special-case string and empty argument. - -2009-12-19 Rik - - * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake - variables of top_builddir and top_srcdir. - -2009-12-18 Rik - - * Makefile.am: Use Automake syntax to build helper program gethelp - -2009-12-17 Rik - - * testfun/test.m: Add newline to message output. - -2009-12-14 John W. Eaton - - * specfun/isprime.m: Produce logical result. Error if nargin > 1. - New tests. - -2009-12-14 John W. Eaton - - * help/__makeinfo__.m: Use fullfile to concatenate file name - components. Use hyphens instead of underscores in tmp file name. - -2009-12-14 Jaroslav Hajek - - * help/__makeinfo__.m: Use P_tmpdir to create temporary file. - -2009-12-09 Rik - - * polynomial/module.mk: Correct typo and distribute newly - created ppder.m. - -2009-12-13 Jaroslav Hajek - - * ppder.m: New function. - * ppint.m: New function. - * ppjumps.m: New function. - -2009-12-09 Rik - - * Makefile.am: remove install-images target and use automake - syntax to distribute image data. - -2009-12-11 John W. Eaton - - * Makefile.am (DOCSTRINGS): Use $(cp_update_rule) instead of - cp -a --update. - -2009-12-09 Rik - - * Makefile.am: Copy DOCSTRINGS from srcdir to builddir if it does not - exist. Enables VPATH builds. - -2009-12-08 Petr Mikulik - - * plot/gnuplot_drawnow.m: Prune prompt lines from dumb terminal output. - * plot/__go_draw_figure__.m: Add missing 'unset multiplot' to restore - hotkey and mouse functionality for 2D plots. - -2009-12-09 Rik - - * Makefile.am: Distribute DOCSTRINGS in tar.gz file. - * mkdoc: Pass current directory, "./", when running mkdoc on - local files. - -2009-12-07 Jaroslav Hajek - - * general/interp1q.m: Use more optimal code. - -2009-12-08 John W. Eaton - - * Makefile.am (DOCSTRINGS): Depend on $(GEN_FCN_FILES) instead - of $(FCN_FILES_IN). Pass $(GEN_FCN_FILES) to mkdoc instead of - $(FCN_FILES_IN). Use mv instead of $(simple_move_if_change_rule). - (EXTRA_DIST): Include $(GEN_FCN_FILES) in the list. - -2009-12-07 Jaroslav Hajek - - * general/interp1.m: Allow discontinuities (jumps) for the - "nearest" and "linear" methods. Document the feature and add a - few tests. - -2009-12-06 Rik - - * Makefile.am: Distribute DOCSTRINGS so that documentation will - not require rebuild after merely untarring a distribution. - * mkdoc: Change output to refer to mfiles as "scripts/..." rather than - "$srcdir/...". Otherwise, distributed DOCSTRINGS file will not match - DOCSTRINGS created under a VPATH build and documentation will be - unnecessarily rebuilt. - -2009-12-05 Jaroslav Hajek - - * set/ismember.m: Simplify. - -2009-12-03 John W. Eaton - - * audio/wavwrite.m: Delete generated a.wav file after each test. - - * Makefile.am (DIRSTAMP_FILES, DISTCLEANFILES): New variables. - (DOCSTRINGS): Also depend on $(FCN_FILES_IN). Pass - $(FCN_FILES_IN) to mkdoc instead of $(GEN_FCN_FILES). Tell mkdoc - to look for $(FCN_FILES_IN) files in $(srcdir), not build - directory. - (DISTCLEANFILES): New variable. - Don't silence dirstamp, DOCSTRINGS, $(GEN_FCN_FILES), and PKG_ADD - rules. - - * audio/module.mk, deprecated/module.mk, elfun/module.mk, - help/module.mk, general/module.mk, geometry/module.mk, - image/module.mk, io/module.mk, linear-algebra/module.mk, - miscellaneous/module.mk, @ftp/module.mk, optimization/module.mk, - path/module.mk, pkg/module.mk, plot/module.mk, - polynomial/module.mk, set/module.mk, signal/module.mk, - sparse/module.mk, specfun/module.mk, special-matrix/module.mk, - startup/module.mk, statistics/base/module.mk, - statistics/distributions/module.mk, statistics/models/module.mk, - statistics/tests/module.mk, strings/module.mk, testfun/module.mk, - time/module.mk: Append to DIRSTAMP_FILES. - -2009-12-02 Rik - - * image/imread.m: Run test case only if underlying GraphicMagick - library exists. - -2009-12-02 John W. Eaton - - * help/module.mk: Fix typo in previous change. - -2009-12-01 John W. Eaton - - * help/module.mk (help_PRIVATE_FCN_FILES): New list. - (help_FCN_FILES): Remove new private functions from the list. - Include $(help_PRIVATE_FCN_FILES) in the list. - * help/private/__additional_help_message__.m: Rename from - help/__additional_help_message__.m. - - * statistics/base/module.mk (statistics_base_FCN_FILES): - Remove statistics/base/__quantile__.m from the list. - * statistics/base/__quantile__.m: Now a subfunction of - statistics/base/quantile.m. - * statistics/base/quantile.m: Remove redundant tests. - - * miscellaneous/__xzip__.m: Comment out tests until we have a way - to test private functions directly. - - * general/isequal.m, general/isequalwithequalnans.m: - Convert tests from __isequal__. - - * optimization/module.mk (optimization_PRIVATE_FCN_FILES): New list. - (optimization_FCN_FILES): Remove new private functions and new - subfunctions from the list. Include - $(optimization_PRIVATE_FCN_FILES) in the list. - - * optimization/private/__fdjac__.m: Rename from - optimization/__fdjac__.m. - - * optimization/__dogleg__.m: Now a subfunction of path/fsolve.m. - * optimization/__doglegm__.m: Now a subfunction of path/fminunc.m. - - * general/module.mk (general_PRIVATE_FCN_FILES): New list. - (general_FCN_FILES): Remove new private functions from the list. - Include $(general_PRIVATE_FCN_FILES) in the list. - - * general/private/__isequal__.m: Rename from general/__isequal__.m. - * general/private/__splinen__.m: Rename from general/__splinen__.m. - - * image/module.mk (image_FCN_FILES): Remove image/__img__.m and - image/__img_via_file__.m from the list. - - * image/__img__.m: Now a subfunction of image/image.m. - * image/__img_via_file__.m: Now a subfunction of image_viewer.m. - - * path/module.mk (path_FCN_FILES): Remove path/__extractpath__.m - from the list. - - * path/__extractpath__.m: Now a subfunction of path/pathdef.m. - - * miscellaneous/module.mk (miscellaneous_PRIVATE_FCN_FILES): New list. - (miscellaneous_FCN_FILES): Remove __xzip__.m from the list. - Include $(miscellaneous_PRIVATE_FCN_FILES) in the list. - - * miscellaneous/private/__xzip__.m: Rename from - miscellaneous/__xzip__.m. - -2009-12-01 David Bateman - - * @ftp/ftp.m: Treat empty constructor and construction from - another FTP object. - * @ftp/loadobj.m: Allow and remove the matlab specific fields - of FTP objects allowing matlab FTP objects to be loaded in Octave. - * @ftp/display.m: user -> username. - -2009-12-01 John W. Eaton - - * plot/module.mk (plot_PRIVATE_FCN_FILES): New list. - (plot_FCN_FILES): Include $(plot_PRIVATE_FCN_FILES) in the list. - Remove new private functions and new subfunctions from the list. - - * plot/private/__actual_axis_position__.m: Rename from - plot/__actual_axis_position__.m. - * plot/private/__add_datasource__.m: Rename from - plot/__add_datasource__.m. - * plot/private/__axes_limits__.m: Rename from plot/__axes_limits__.m. - * plot/private/__axis_label__.m: Rename from plot/__axis_label__.m. - * plot/private/__bar__.m: Rename from plot/__bar__.m. - * plot/private/__clabel__.m: Rename from plot/__clabel__.m. - * plot/private/__contour__.m: Rename from plot/__contour__.m. - * plot/private/__default_plot_options__.m: Rename from - plot/__default_plot_options__.m. - * plot/private/__errcomm__.m: Rename from plot/__errcomm__.m. - * plot/private/__errplot__.m: Rename from plot/__errplot__.m. - * plot/private/__ezplot__.m: Rename from plot/__ezplot__.m. - * plot/private/__interp_cube__.m: Rename from plot/__interp_cube__.m. - * plot/private/__line__.m: Rename from plot/__line__.m. - * plot/private/__patch__.m: Rename from plot/__patch__.m. - * plot/private/__plt__.m: Rename from plot/__plt__.m. - * plot/private/__pltopt__.m: Rename from plot/__pltopt__.m. - * plot/private/__quiver__.m: Rename from plot/__quiver__.m - * plot/private/__scatter__.m: Rename from plot/__scatter__.m. - * plot/private/__stem__.m: Rename from plot/__stem__.m. - - * plot/__pltopt1__.m: Now a subfunction of plot/__pltopt__.m. - - * plot/__bars__.m: Now a subfunction of plot/__bar__.m. - * plot/__bar__.m (bars): Rename from __bars__. - (__bar__): Call bars insteaad of __bars__. - - * plot/__area__.m: Now a subfunction of plot/area.m. - - * plot/__plr1__.m, plot/__plr2__.m: Now subfunctions of polar.m. - - * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, - plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2sv__.m, - plot/__plt2vm__.m, plot/__plt2vs__.m, plot/__plt2vv__.m: - Now subfunctions of __plt__.m. - -2009-11-30 John W. Eaton - - * mkdoc: Handle classes in function names. - -2009-11-27 David Bateman - - * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, - @ftp/delete.m, @ftp/dir.m, @ftp/display.m, @ftp/ftp.m, - @ftp/loadobj.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/module.mk, - @ftp/mput.m, @ftp/rename.m, @ftp/rmdir.m, @ftp/saveobj.m: New files - * Makefile.am: Add the @ftp to the build. - -2009-11-26 Jaroslav Hajek - - * linear-algebra/cross.m: Avoid doing indexing twice. - -2009-11-26 Jaroslav Hajek - - * linear-algebra/normest.m: Randomize initial vector. - -2009-11-26 Jaroslav Hajek - - * linear-algebra/dot.m: Remove. - * linear-algebra/module.mk: Update. - -2009-11-26 Jaroslav Hajek - - * optimization/qp.m: Fix matrix tests. - * optimization/condest.m: Ditto. - * optimization/krylov.m: Ditto. - -2009-11-26 Jaroslav Hajek - - * sparse/normest.m: Move to linear-algebra. - * linear-algebra/normest.m: Simplify. Don't form A'*A explicitly. - -2009-11-25 Jaroslav Hajek - - * linear-algebra/isdefinite.m: Use Cholesky factorization. - -2009-11-24 Jaroslav Hajek - - * general/issymmetric.m: Move to linear-algebra. - * general/isdefinite.m: Ditto. - * linear-algebra/issymmetric.m: Use 0 as default tolerance. Optimize - this case. Check for symmetry, not hermitianness. - * linear-algebra/ishermitian.m: New function. - * linear-algebra/isdefinite.m: Use ishermitian instead of issymmetric. - -2009-11-24 Jaroslav Hajek - - * general/cellidx.m: Deprecate. - -2009-11-24 Jaroslav Hajek - - * general/issquare.m: Change to return consistent result for empty - matrices. - -2009-11-24 Jaroslav Hajek - - * general/cell2mat.m: Check type of all elements. Slightly optimize. - Add tests. - -2009-11-24 Jaroslav Hajek - - * general/accumarray.m: Use num2cell instead of mat2cell. Use repmat. - -2009-11-20 Jaroslav Hajek - - * script/miscellaneous/getfield: Deblank field names, gripe on invalid - index. - * script/miscellaneous/setfield: Rewrite using subsasgn. - -2009-11-22 Michael Goffioul - - * plot/print.m: Properly set the default ghostscript_binary - under Windows. Modify the search for the ghostscript binary - so that it works for Win32, mingw, Cygwin, and Unix systems. - -2009-11-20 Jaroslav Hajek - - * strings/dec2base.m: Fix division. - -2009-11-20 Lukas Reichlin - - * linear-algebra/krylov.m: Add missing swap routine. - -2009-11-20 Jaroslav Hajek - - * general/__isequal__.m: Check for isnumeric|islogical. - * testfun/assert.m: Ditto. - -2009-11-19 Jaroslav Hajek - - * specfun/perms.m: Avoid recursion. Simplify assignments. Allow empty - vectors. - -2009-11-19 Jaroslav Hajek - - * specfun/erfinv.m: Remove. - * specfun/module.mk: Update. - -2009-11-18 Ben Abbott - - * plot/orient.m: Flip papersize and paperposition when orientation - changes. Add support for 'tall' option. Add tests. - -2009-11-18 Jaroslav Hajek - - * io/textread.m: strncmp->strcmpi. - -2009-11-14 Jaroslav Hajek - - * linear-algebra/expm.m: Fix typo. - -2009-11-11 John W. Eaton - - * miscellaneous/intwarning.m: Doc fix. - -2009-11-11 John W. Eaton - - * plot/stairs.m (__stairs__): Correct nargin check. New demos. - From Jakub Kasse . - -2009-11-11 John W. Eaton - - * help/help.m (help): Return immediately after calling do_contents. - (do_contents): Find all matching directories, not just the first. - Call get_help_text_from_file to avoid looking in path. - Handle printing here. - -2009-11-10 John W. Eaton - - * Makefile.am, audio/module.mk, deprecated/module.mk, - elfun/module.mk, general/module.mk, geometry/module.mk, - help/module.mk, image/module.mk, io/module.mk, - linear-algebra/module.mk, miscellaneous/module.mk, - optimization/module.mk, path/module.mk, pkg/module.mk, - plot/module.mk, polynomial/module.mk, set/module.mk, - signal/module.mk, sparse/Makefile.in, specfun/Makefile.in, - special-matrix/Makefile.in, startup/Makefile.in, - statistics/Makefile.in, statistics/base/module.mk, - statistics/distributions/module.mk, statistics/models/module.mk, - statistics/tests/module.mk, strings/module.mk, testfun/module.mk, - time/module.mk: New files. - * Makefile.in, move-if-change, configure.ac, audio/Makefile.in, - deprecated/Makefile.in, elfun/Makefile.in, general/Makefile.in, - geometry/Makefile.in, help/Makefile.in, image/Makefile.in, - io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, optimization/Makefile.in, - path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, set/Makefile.in, signal/Makefile.in, - skip-autoheader, sparse/module.mk, specfun/module.mk, - special-matrix/module.mk, startup/module.mk, - statistics/base/Makefile.in, statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: - Delete. - * mk-pkg-add: Rename from mkpkgadd. - * mkdoc, mk-pkg-addd: Operate on explicit lists of files instead - of directory names. - * mkdoc: Skip files not ending in .m. - -2009-11-10 Ben Abbott - - * plot/__go_draw_axes__.m: No 'with linestyle' when linestyle == 'none'. - -2009-11-09 Jaroslav Hajek - - * general/arrayfun.m: Fix nargout=0 case. - -2009-11-08 Petr Mikulik - - * plot/gnuplot_drawnow.m: Support gnuplot's dumb terminal. - -2009-11-02 Stefan Hepp - - * plot/gnuplot_drawnow.m (gnuplot_default_term): Don't set term to - x11 unless DISPLAY is set. - -2009-11-02 Jaroslav Hajek - - * general/interp1.m: Simplify. - -2009-11-02 Jaroslav Hajek - - * polynomial/mkpp.m: Improve Matlab compatibility. - * polynomial/ppval.m: Ditto. - * polynomial/unmkpp: Update. - * polynomial/pchip.m: Update and optimize. - * polynomial/spline.m: Update. - * general/__splinen__.m: Update. - -2009-10-23 Jaroslav Hajek - - * general/tril.m, general/triu.m: Remove sources. - * general/Makefile.in: Update. - -2009-10-20 Soren Hauberg - - * general/interp2.m: improved error checking and support for bicubic - interpolation when X and Y are meshgrid format. - -2009-10-22 Jaroslav Hajek - - * general/interp1.m: Perform optimizations, improve code (use switch - instead of multiple ifs). - * polynomial/pchip.m: Employ more optimized formulas (from SLATEC). - -2009-10-22 Soren Hauberg - - * image/autumn.m, image/bone.m, image/cool.m, image/copper.m, - image/flag.m, image/gmap40.m, image/gray.m, image/hot.m, - image/hsv.m, image/jet.m, image/ocean.m, image/pink.m, - image/prism.m, image/rainbow.m, image/spring.m, image/summer.m, - image/white.m, image/winter.m: Add demos. - -2009-10-20 Soren Hauberg - - * general/interp2.m: improved error checking and support for bicubic - -2009-10-19 Soren Hauberg - - * io/strread.m, io/textread.m: New functions. - -2009-10-20 Jaroslav Hajek - - * statistics/base/center.m: Rewrite using bsxfun. - -2009-10-15 David Bateman - - * plot/__go_draw_axes__.m: Allow line and surface markerfacecolor - and markeredgecolor properties to be used and set the marker colors - appropriately. - -2009-10-14 Jaroslav Hajek - - * statistics/base/median.m: Rewrite using nth_element. - -2009-10-01 John W. Eaton - - * image/__img__.m: Adjust xlim and ylim correctly. - -2009-10-01 John W. Eaton - - * Makefile.in (plot/gnuplot_binary.m): New rule. - (DOCSTRINGS): Depend on plot/gnuplot_binary.m. - (ALL_M_FILES): Define with =, not :=. - -2009-10-01 Jaroslav Hajek - - * geometry/griddata.m: Fix handling vector xi, yi. - -2009-09-30 Jaroslav Hajek - - * general/arrayfun.m: Simplify. - -2009-09-30 John W. Eaton - - * mkdoc: Work on list of file names instead of a directory. - * Makefile.in (ALL_M_FILES): Don't strip directories. - Also search build directory if it is different from $(srcdir). - Pass $(ALL_M_FILES) to mkdoc. - -2009-09-30 Michael D. Godfrey - - * plot/clabel.m: Spelling fix. - * plot/newplot.m: Update docstring. - -2009-09-28 John W. Eaton - - * general/sortrows.m: Also use old algorithm for sparse matrices. - -2009-09-21 Jaroslav Hajek - - * set/union.m: Fix docstring. - * set/setxor.m: Fix docstring. - -2009-09-16 Jaroslav Hajek - - * general/randperm.m: Remove. - * general/Makefile.in: Update. - -2009-09-15 John W. Eaton - - * confiugre.ac: Rename from configure.in - * Makefile.in: Rename all instances of configure.in to - configure.ac. - -2009-09-11 Jaroslav Hajek - - * optimization/Makefile.in: Include __doglegm__.m. - -2009-09-11 Jaroslav Hajek - - * optimization/fminunc.m: Simplify damped BFGS calculation. - -2009-09-09 Tatsuro Matsuoka - - * plot/gnuplot_drawnow.m: Avoid flickering windows by avoding - 'set multiplot' / 'unset multiplot' for gnuplot's windows and - wxt terminals. - -2009-09-06 Jaroslav Hajek - - * optimization/__dogleg__.m: Revert to revision 22c8272af34b. - * optimization/__doglegm__.m: New source. - * optimization/fminunc.m: Use it. - -2009-09-08 John W. Eaton - - * io/dlmwrite.m: Fix typo. - -2009-09-06 Jaroslav Hajek - - * optimization/fsolve.m: Change initial TR step strategy. - * optimization/fminunc.m: Change initial TR step strategy. - -2009-09-08 Jaroslav Hajek - - * optimization/fminunc.m: Correct extra output params handling. - -2009-09-06 Jaroslav Hajek - - * optimization/fsolve.m: Update initial factor. - * optimization/fminunc.m: Update initial factor. - -2009-09-06 Jaroslav Hajek - - * general/arrayfun.m: Fix test. - -2009-09-05 John W. Eaton - - * plot/hold.m: Correctly toggle hold state. Set both figure and - axes "nextplot" property when turning hold state on. - * plot/ishold.m: Check figure and axes nextplot properties. - Accept axes or figure handle argument. - -2009-09-01 Christophe Tournery - - * audio/wavread.m: Rename data_size from obsolete ck_size. - -2009-08-31 David Bateman - - * general/quadgk.m: More care with the interval length and - convergence of contour integrals. - -2009-08-29 John W. Eaton - - * time/datestr.m: Add missing semicolon. - -2009-08-17 Jaroslav Hajek - - * general/int2str.m: Convert to double before calling log10. - -2009-08-26 E. Joshua Rigler - - * time/datestr.m: Set tm.isdst to -1 before calling mktime. - -2009-08-25 John W. Eaton - - * plot/__gnuplot_open_stream__.m: Save pid in __plot_stream__ property. - * plot/gnuplot_drawnow.m: Wait for gnuplot subprocess when printing. - From Ben Abbott , Rob Mahurin , and - Dmitri Sergatskov . - -2009-08-22 David Bateman - - * plot/__add_datasource__.m: Correct test for "datasource" argument - * plot/__countour__.m: Add edgecolor properties and make it an alias - for linecolor with the value "auto" being "flat" for the edgecolor. - -2009-08-17 John W. Eaton - - * help/print_usage.m: Make it work again if an argument is given. - -2009-08-17 Jaroslav Hajek - - * help/print_usage: Allow calling from methods. - -2009-08-11 Jaroslav Hajek - - * general/diff.m: Remove. - * general/Makefile.in: Update. - -2009-08-07 Jaroslav Hajek - - * general/flipdim.m: Fix omitted check. - -2009-08-07 Jaroslav Hajek - - * general/flipdim.m: Simplify. - -2009-08-07 Olli Saarela - - * plot/__gnuplot_ginput__.m: If read fails to return data, sleep - before trying again. - -2009-08-06 John W. Eaton - - * plot/compass.m, plot/feather.m: Simplify argument processing. - -2009-08-06 John W. Eaton - - * statistics/base/std.m: Correctly work along singleton dimension. - From Christoph Ellenberger . - -2009-08-06 Jaroslav Hajek - - * geometry/griddata.m: Optimize. - -2009-08-06 Olaf Till - - * geometry/griddata.m: Linearize arrays. - -2009-08-04 Pieter Eendebak - - * set/setxor.m: Added test for cell arrays of strings. - -2009-08-05 Olli Saarela - - * plot/__gnuplot_get_var__.m: If read fails to return data, sleep - before trying again. - -2009-08-04 Pieter Eendebak - - * set/setxor.m: Support cell arrays of strings. - -2009-08-03 Jaroslav Hajek - - * general/sub2ind.m: Remove source. - * general/ind2sub.m: Remove source. - * general/Makefile.in: Update. - -2009-08-02 Ben Abbott - - * plot/gnuplot_drawnow.m: Avoid the flickering x11 window seen with - rapid replots by avoidng setting multiplot mode. This fix only - functions for a single axes with no image objects. - * plot/__go_draw_figure__.m: Move 'set multiplot' to gnuplot_drawnow. - -2009-07-31 Jaroslav Hajek - - * general/common_size: Optimize. - -2009-07-29 Ben Abbott - - * plot/__go_draw_axes__.m: Fix ticklabels specified as 2D character - array. - * plot/__go_draw_axes__.m: Ignore fontnames for the Lua-TikZ terminal. - * plot/gnuplot_drawnow.m: Support the gnuplot terminal Lua-TikZ. - * plot/print.m: Support the gnuplot terminal Lua-TikZ. - -2009-07-29 Jaroslav Hajek - - * plot/gnuplot_binary.m: Fix typo. - -2009-07-27 Jaroslav Hajek - - * optimization/fzero.m: Use "global" parameter in str2func. - * optimization/fsolve.m: Ditto. - * optimization/fminunc.m: Ditto. - -2009-07-24 John W. Eaton - - * plot/gnuplot_binary.in: Accept arguments in addition to program name. - * plot/__gnuplot_open_stream__.m: Pass additional args to gnuplot. - -2009-07-23 Ben Abbott - - * plot/legend.m: Add an hggroup demo using bar(). Include clf() - in each demo. - -2009-07-23 John W. Eaton - - * image/imread.m: Fix test. - - * plot/legend.m: Process arguments in order, child objects in - reverse. Remove special case for single label. New demos. - -2009-07-23 Thorsten Meyer - - * testfun/assert.m: Fix string comparison bug. - -2009-07-20 Jaroslav Hajek - - * testfun/assert.m: Use less strict checking for exact matches. - -2009-07-17 John W. Eaton - - * plot/__go_draw_axes__.m: Use "layer" property to decide whether - to send "set border front" or "set border layerdefault" to plot - stream. Don't send "set border front" to plot stream for image data. - -2009-07-15 Robert T. Short - - * polynomial/conv.m: Fix Matlab incompatibility. New tests. - -2009-07-09 John W. Eaton - - * plot/axis.m: Return 4-element vector for 2-d view. - From David Woodburn . - - * sparse/nonzeros.m: Always return a column vector. New tests. - -2009-06-25 Ben Abbott - - * plot/gnuplot_drawnow.m: Apply feature 'wxt_has_size'. - * plot/__gnuplot_has_feature__.m: Add feature 'wxt_has_size' for - gnuplot >= 4.3.0. - -2009-06-24 Ben Abbott - - * plot/__go_draw_figure__.m: Modify the implicit margin when gnuplot's - output is landscape. - * plot/gnuplot_drawnow.m: Simplify handling of the figure's paper - properties, and rely upon listeners for units conversion. Minor code - improvements. - * plot/print.m: Reimplement -landscape and -portrait to modify the - properties papersize and paperposition. Produce compatible results - when paperpositionmode=='auto'. Simplfy units conversion and - restoration of initial figure properties. - -2009-06-24 Marco Caliari - - * general/repmat.m: Call kron, not spkron. - -2009-06-24 Alexander Mamonov - - * plot/plot3.m: Correctly compute offsets for property/value pairs. - -2009-06-23 Alexander Mamonov - - * image/imread.m: New test. - -2009-06-22 Ben Abbott - - * plot/grid.m: Add missing semi-colon. Allow grid to be toggled - on/off for each axis independently. Gnuplot requires that minor - ticks accompany minor ticks. Add demo. - * plot/__go_draw_axes__.m: For {x,y,z}scale == 'log' use 10 minor - ticks. - -2009-06-22 John W. Eaton - - * statistics/base/var.m: Return zero for scalar case. Handle - empty arguments in a Matlab compatible way. New tests. - -2009-06-19 Jaroslav Hajek - - * set/ismember.m: Properly handle NaNs. Fix test. - -2009-06-18 Ben Abbott - - * plot/__go_draw_axes__.m: Change the default x11 fontspec from '*,0' - to ',0' to avoid delays searching the fontpath for a font named '*'. - -2009-06-18 Daniel Gualberto - - * polynomial/mpoles.m: Fix infinite loop for a multiplicity of - poles at zero. Test added. - -2009-06-17 Bertrand Roessli - - * plot/axis.m: Fix bug for 'axis tight' with multiple surface plots, - add demo. - -2009-06-15 Ben Abbott - - * plot/quiver.m: Add 'clf' to demos. - * plot/plotyy.m: Consider dataaspectratiomode before changing - dataaspectratio. - -2009-06-14 Ben Abbott - - * plot/plotyy.m: Fix compatibility with subplot, add listeners for - dataaspectratio, and add a demo. - -2009-06-14 Eric Chassande-Mottin - - * plot/plotyy.m: Correct behavior when there is no currentfigure. - -2009-06-14 Jaroslav Hajek - - * set/ismember.m: Reimplement using lookup & unique. - -2009-06-11 Ben Abbott - - * plot/print.m: Fix logic associated with 'have_ghostscript'. - * plot/gnuplot_drawnow.m: Add support for pdfcairo and pngcairo - terminals. Minor code improvements. - * plot/print.m: Associate '-mono' with devices ps, ps2, eps, & eps2. - Have '-mono' render all objects in monochrome. - For pdf or png output, favor gnuplot's cairo terminals. - -2009-06-10 Marco Caliari - - * plot/hold.m: Add demo including a hggroup. - * plot/__go_draw_axes__.m: Fix order when pushing group children onto - the axes kid list. - * general/quadgk.m: Better waypoint transform. - -2009-06-09 David Bateman - - * general/quadgk.m: Add test case and fixed doubly infinite - waypoint transform for x = 0 case. - -2009-06-09 Marco Caliari - - * general/quadgk.m: Fix doubly infinite transformation to the finite - interval. - -2009-06-08 Ben Abbott - - * plot/axis.m: Fix bug for 'axis tight' with multiple lines, modify - demo. - -2009-06-07 Thorsten Meyer - - * testfun/assert.m: Fix texinfo bug. - -2009-06-04 Ben Abbott - - * plot/__go_draw_axes__.m: Change strncmpi(scale,'lo') to - strcmp(scale,'log'). - * plot/__go_draw_axes__.m: For log-scale axes use format '10^{%T}'. - -2009-06-03 Ben Abbott - - * plot/colorbar.m: Colorbar 'handlevisibility' should be 'on'. - Add additional demos which illustrate problems with the present - implementation. - * plot/__gnuplot_has_feature__.m: Change version for - "x11_figure_position" from ">=4.3.0" to ">=4.2.5". - * plot/__scatter__.m: If the color spec is empty, set using - __next_line_color__. - * plot/scatter3.m: Add demos. - -2009-06-03 Jaroslav Hajek - - * polynomial/polyfit.m: Fix test. - -2009-06-02 Rafael Laboissiere - - * help/doc.m: In test, look also for the gzipped version of the - info_file - -2009-05-29 John W. Eaton - - * plot/__gnuplot_get_var__.m: Insert missing semicolon. - -2009-05-28 Ben Abbott - - * plot/__go_draw_axes__.m: Set x2range when xaxislocation=='top' - and set y2range when yaxislocation=='right'. Simplify support - for ticklabel separator '|'. - * plot/__go_draw_figure__.m: Change 'autoscale fix' to - 'autoscale keepfix'. - * plot/colorbar.m: Add demos. - -2009-05-28 Ben Abbott - - * plot/__go_draw_axes__.m: Add support for ticklabel separator '|'. - -2009-05-28 Jaroslav Hajek - - * sparse/bicgstab.m: Improve preconditioning; avoid explicit inverse. - * sparse/cgs.m: Improve preconditioning; avoid explicit inverse. - -2009-05-28 Radek Salac - - * sparse/bicgstab.m: New output when calling without arguments. - Time optimization - remove certain checks linked to - preconditioner which are unacceptably slow. - * sparse/cgs.m: New output when calling without arguments. - Time optimization - remove certain checks linked to - preconditioner which are unacceptably slow. Rename internal - variable to match bicgstab. - -2009-05-27 Rik Wehbring - - * plot/axis.m: Update documentation to reflect addition of - "tight" option. - -2009-05-27 Rik Wehbring - - * ismember.m: Update examples to remove incorrect reference to - residue function. - -2009-05-27 John W. Eaton - - * image/imwrite.m: Convert indexed images to RGB before calling - __magick_write__. - - * image/imshow.m: In demo, convert image to rgb before scaling - components. Use imread instead of loadimage. - -2009-05-26 Ben Abbott - - * plot/__go_draw_axes__.m: Fix rendering of overlaping images and - line objects. Add demos as well. - -2009-05-27 S�ren Hauberg - - * geometry/delaunay.m: Support cellstr's as options. - -2009-05-27 Jaroslav Hajek - - * plot/imshow.m: Fix handling of indexed images. - -2009-05-26 S�ren Hauberg - - * help/__makeinfo__.m: Support several @seealso's in one text. - -2009-05-26 John W. Eaton - - * plot/colorbar.m: Downcase location argument. - -2009-05-26 Carlo de Falco - - * pkg/pkg.m: Add "version" field to the structure returned by "pkg - describe". - -2009-05-25 Ben Abbott - - * plot/__go_draw_axes__.m: Properly render TeX symbols for x11, when - using the anonymous fontname="*". - -2009-05-24 Benjamin Lindner - - * plot/gnuplot_drawnow.m: single-quote output name to allow backslash - characters as filesep under windows - * plot/print.m: Support ps->pdf using ghostscript under windows, check - for %GSC% environment variable. - -2009-05-24 Benjamin Lindner - - * plot/__gnuplot_version__.m: quote gnuplot_binary to allow spaces - in file name - -2009-05-22 John W. Eaton - - * general/interp3.m: Don't require interpolation grid to have same - size as data. From Kris Thielemans . - -2009-05-19 Carlo de Falco - - * pkg/pkg.m: Fix a bug when quering only one non installed package - with "pkg describe". - -2009-05-14 Jaroslav Hajek - - * optimization/__fdjac__.m: Support central differences. - * optimization/fsolve.m: Support central differences. Add FinDiffType - option. - * optimization/fminunc.m: Ditto. - -2009-05-17 Rik Wehbring - - * *.m: Simplify Texinfo documentation in .m scripts by removing - redundant @iftex calls - -2009-05-17 Jaroslav Hajek - - * optimization/fminunc.m: Improve TR updating strategy. - * optimization/fsolve.m: Ditto. - -2009-05-15 John W. Eaton - -v * general/nargchk.m: Don't generate error if output is struct. - Uncomment some additional tests. - From Alois Schloegl - -2009-05-14 Jaroslav Hajek - - * optimization/fminunc.m: Import the step adaptation strategy - improvements from fsolve. - -2009-05-08 Ben Abbott - - * plot/__gnuplot_has_feature__.m: Add feature "key_has_font_properties". - * plot/__go_draw_axes__.m: Have legend inherit the axis font-name/size. - -2009-05-04 Peter O'Gorman - - * miscellaneous/tar.m, miscellaneous/unpack.m: - Pass "xvf" to tar instead of "-x -v -f". - -2009-04-30 Ben Abbott - - * plot/__gnuplot_has_feature__.m: Change version for - "x11_figure_position", >4.2.4 to >=4.3.0. - -2009-04-30 Ben Abbott - - * plot/gnuplot_drawnow.m: For figure position, treat 'wxt' as 'x11'. - -2009-04-30 Jaroslav Hajek - - * statistics/base/range.m: Fix behavior when dim is specified. - -2009-04-28 Ben Abbott - - * plot/print.m: Fix typo: 'gswin23c' -> 'gswin32c'. Suppress stderr - when printing. New sub-function: fix_eps_bbox(). Add option, "-tight", - to replace the gnuplot bbox with a tight bbox for eps-files. - -2009-04-23 Ben Abbott - - * plot/print.m: Use Ghostscript rather than ImageMagick's 'convert'. - Support printing to non-postscript printers. Do not change the output - filename when using Ghostscript. When using lpr to print the output, - send it without filtering (unix), or as if it were binary (pc). - -2009-04-22 Robert T. Short - - * general/isa.m: Correctly report multiple layers of class hierarchy. - -2009-04-20 John W. Eaton - - * special-matrix/vander.m: Update tests. - -2009-04-20 Jaroslav Hajek - - * special-matrix/vander.m: Allow second argument. - * special-matrix/polyfit.m: Simplify. - -2009-04-17 Rik - - * plot/__marching_cube__.m: Correct help Texinfo so manual will compile - -2009-04-16 Marco Caliari - - * toeplitz.m: Treat separately the sparse case. - -2009-04-14 Thomas Treichl - - * plot/__marching_cube__.m: Add help text. - * plot/isonormals.m: Add help text and tests. - -2009-04-14 David Bateman - - * plot/__patch__.m: Set default facecolor to [0,1,0]. - -2009-04-12 Aravindh Krishnamoorthy - - * special-matrix/hadamard.m: Fix a documentation mistake. - -2009-04-14 Jaroslav Hajek - - * polynomial/polyaffine.m: New function. - * polynomial/polyscale.m: Remove. - * polynomial/polytrans.m: Remove. - -2009-04-12 Ben Abbott - - * plot/__gnuplot_open_stream__.m: New function. - * plot/__gnuplot_get_var__.m: If not open, open the gnuplot plot stream. - * plot/gnuplot_drawnow.m: Replace internal function open_gnuplot_stream - with new __gnuplot_open_stream__. - -2009-04-11 David Bateman - - * geometry/trisurf.m: New file. - * geometry/Makefile.in (SOURCES): Add it here. - * geometry/trimesh.m: Convert to using 3D patches. - * plot/__go_draw_axes__.m: Allow 3D filled triangular patches. - * plot/__patch__.m: Rewrite to allow update of dependent variables - with listener functions amongst themselves. - * plot/patch.m: Add 3D demo. Update the documentation. - -2009-04-11 Martin Helm - - * plot/__interp_cube__.m, plot/__marching_cube__.m, isocolors.m, - isonnormals.m, isosurface.m: New files. - * plot/Makefile.in (SOURCES): Add them here. - -2009-04-11 Jaroslav Hajek - - * set/intersect.m: Add missing branch. - -2009-04-10 Ben Abbott - - * plot/print.m: If no pdf support in gnuplot, then "convert" from - postscript to pdf. For gnuplot 4.2.x use "convert", if it is present, - to produce pdf output. Only render a full page for ps/pdf output. - Rename variable, "size" to "canvas_size". Reformat help text to - eliminate unintended spaces. Minor improvements to the code. - * plot/gnuplot_drawnow.m: Place canvas size at the end of the terminal - spec, and remove trailing semicolon. Minor improvments to the code. - * plot/__gnuplot_get_var__.m: If fifo fails to open, try 2nd time. - -2009-04-08 Jaroslav Hajek - - * special-matrix/vander.m: Optimize. - -2009-04-07 Ben Abbott - - * plot/Makefile.in: Remove __gnuplot_default_font__.m from SOURCES. - -2009-04-06 Ben Abbott - - * plot/__gnuplot_get_var__.m: Correct misleading error messages, and - remove dangling/commented code. - * plot/__gnuplot_default_font__.m: Remove file from archive. - * plot/__go_draw_axes__.m, plot/__go_draw_figure__.m: Allow - fontsize to be specified for all terminals with fontname == "*". - -2009-04-06 Jaroslav Hajek - - * polynomial/polyscale.m: New function. - * polynomial/polytrans.m: New function. - -2009-04-06 Jaroslav Hajek - - * special-matrix/pascal.m: Fix, optimize & extend. - -2009-04-06 Jaroslav Hajek - - * linear-algebra/vech.m: Optimize. - -2009-04-06 Jaroslav Hajek - - * special-matrix/toeplitz.m: Optimize. - -2008-04-03 David Bateman - - * plot/__scatter__.m: correct indexing of cdata.x - -2009-04-03 Jaroslav Hajek - - * optimization/fminunc.m: New function. - * optimization/Makefile.in: Update. - * optimization/__dogleg__: Allow general quadratics. - -2009-04-02 Ben Abbott - - * plot/__go_draw_axes__.m: Include gnuplot command termination when - plotting image. - -2009-04-02 Ben Abbott - - * plot/__go_draw_axes__.m: Fix title placement for gnuplot 4.2.x. - -2009-04-02 Jaroslav Hajek - - * optimization/fsolve.m: Fix test. - -2009-03-30 Ben Abbott - - * plot/__go_draw_axes__.m: New subfunction create_fontspec(). Allow - fontsize to be specified when the fontname is anonymous. - -2009-03-30 Ben Abbott - - * plot/__gnuplot_default_font__.m: New function: determine gnuplot's - terminal dependent default font. - * plot/__go_draw_figure__.m: Substitute gnuplot default font when - "fontname" = "*". - -2009-03-29 John W. Eaton - - * testfun/Makefile.in (SOURCES): Add rundemos.m to the list. - -2009-03-29 Ben Abbott - - * plot/print.m: For eps output the bounding box should represent the - figure's position. - -2009-03-28 Ben Abbott - - * plot/gnuplot_drawnow.m: Always set figure property "__plot_stream__" - to the active gnuplot steam. Permits __gnuplot_get_var__ to return to - proper result for all gnuplot streams. - -2009-03-27 Ben Abbott - - * plot/__go_draw_axes__.m: Properly position the title for 3D plots - when using the gnuplot (v4.3+) backend. - -2009-03-27 Jaroslav Hajek - - * linear-algebra/expm.m: Fix order of outputs from balance. - -2009-03-25 Kai Habel - - * general/gradient.m: Fix calculation for more than two - dimensions. Change interpretation of vector arguments from - spacing to coordinates. New tests. - -2009-03-25 John W. Eaton - - * mkdoc: Pass full file name to gethelp. - * gethelp.cc (main): Handle second argument. Write comment with - full file name to output. - -2009-03-24 Ben Abbott - - * plot/gnuplot_drawnow.m: When printing, pass scalar plot_stream - to __gnuplot_draw_figure__, and close all plot streams when done. - -2009-03-24 John W. Eaton - - * general/isa.m: Handle parent classes. - -2009-03-23 Ben Abbott - - * plot/gnuplot_drawnow.m: Check that gnuplot has internal variable - "GPVAL_TERMINALS". - * plot/__gnuplot_has_feature__.m: Add "variable_GPVAL_TERMINALS". - -2009-03-21 Ben Abbott - - * plot/gnuplot_drawnow.m: Verify the gnuplot terminal is supported. - * plot/__gnuplot_get_var__.m: Add function to get gnuplot variables. - * plot/print.m: Restore the behavior for option -S,. - -2009-03-19 Jaroslav Hajek - - * optimization/fsolve.m (guarded_eval): Simplify & fix missing - semicolon. - -2009-03-17 Jaroslav Hajek - - * optimization/__fdjac__.m: Pass in fvec to save one evaluation. - * optimization/fsolve.m: Avoid redundant reevaluation when using - FD jacobians. Document how it can be done with user jacobians. Make - first iteration special and call outputfcn after it. Skip updates - unless two successful iterations have occured. - * optimization/__dogleg__.m: Add missing alpha in the zero-gradient - case. - * optimization/fsolve.m: Remove autodg (not used), simplify. - -2009-03-14 Jaroslav Hajek - - * statistics/base/var.m: a -> x. - -2009-03-13 Jaroslav Hajek - - * statistics/base/mean.m: Simplify. - * statistics/base/meansq.m: Optimize. - * statistics/base/center.m: Fix behvaior with vectors, simplify. - * statistics/base/std.m: Simplify using `center'. - * statistics/base/var.m: Ditto. - * statistics/base/cov.m: Ditto. - -2009-03-13 Jaroslav Hajek - - * general/repmat.m: Use subscript pairs rather than forming Kronecker - products. - -2009-03-11 Ben Abbott - - * plot/__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing - each axis. Set ticklabels when the ticklabels are empty and when - ticklabelmode=="manual". - -2009-03-11 Marco Caliari - - * plot/axis.m: Implement "square" and "equal" options, conditional - on how octave positions gnuplot axes. Place the "title()" and - "axis()" commands after "plot()" in the demos. - -2009-03-09 Ben Abbott - - * plot/__go_draw_axes__.m (do_tics): Fix typo (xaxislocation -> - yaxislocation). - -2009-03-09 John W. Eaton - - * help/lookfor.m (search_cache): Also match function names. - - * pkg/pkg.m, help/gen_doc_cache.m, help/lookfor.m: - Use doc-cache instead of DOC for doc cache file. - -2009-03-09 Jaroslav Hajek - - * general/accumarray.m: Reorder tests. Call either "sparse" or - __accumarray_sum__ for the default summation case. - * statistics/base/histc.m: Reimplement using lookup & accumarray. - -2009-03-08 S�ren Hauberg - - * statistics/base/histc.m: New function. - -2009-03-06 Ben Abbott - - * plot/__go_draw_axes__.m: Preserve the order of axes' children - when pruning the handles for the {x,y,z}labels and title. - * plot/legend.m: Change demo to add colors to lines. This change - reveals the problem (above) with the ordering of the axes' children. - -2009-03-05 Jaroslav Hajek - - * linear-algebra/condest.m: Use lu rather than splu. Use relative tols - for tests. - -2009-03-05 John W. Eaton - - * deprecated/spdiag.m: Ensure sparse result. - -2009-03-05 Ben Abbott - - * plot/__go_draw_axes__.m: Preserve column vector orientation for - the axes children while removing the axis label & title handles. - -2009-03-03 Jaroslav Hajek - - * polynomial/polyval.m: Implement using Horner scheme. - -2009-03-03 Ben Abbott - - * plot/gnuplot_drawnow.m: Fix unintended shift of plot image for - the gnuplot postscript+eps terminal. - -2009-03-02 Jaroslav Hajek - - * pkg/pkg.m (fix_depends): Fix & simplify splitting the string. - -2009-03-02 Thorsten Meyer - - * set/complement.m, set/union.m: Remove reference to deprecated - function create_set. - -2009-03-01 Ben Abbott - - * plot/__go_draw_axes__.m: Do not render axis labels twice when - their handles are visible, but do render objects with hidden - handles. - -2009-03-01 Ben Abbott - - * general/num2str.m: Trivial bug fix. Recent switch from split() - to strsplit() produced cells rather than character data. - -2009-03-01 Ben Abbott - - * plot/colorbar.m: Bug fix. Allow hidden colorbars to be deleted, - and replace existing colorbar when a new one is created. Additional - demos are included to verify these behaviors. - -2009-02-28 Ben Abbott - - * plot/__actual_axis_position__.m: Include file missed in prior - changeset. - -2009-02-28 Ben Abbott - - * plot/print.m, plot/gnuplot_drawnow.m: Add compatible support for - specificying resolution of bitmap terminals, "-r". - - * plot/gnuplot_drawnow.m: Check that canvas size is only specified - one time. - - * plot/gnuplot_drawnow.m, plot/__go_draw_figure__.m: Support papersize, - paperposition properties. Accommodate gnuplot's implicit margins for - postscript terminals. Remove internal function get_canvassize(). - - * plot/gnuplot_drawnow.m: - Terminate gnuplot "set term ..." with semicolon. - Specify vector terminals sizes in floating point. - Rename internal function isbackend() to output_to_screen(). - Rename internal function gnuplot_term() to gnuplot_default_term(). - Rename internal function isbitmap() to term_units_are_pixels(). - Minor changes for coding conventions. - - * plot/__actual_axis_position__.m, Makefile.in: New function to - determine position of rendered axes, including the effect of the - aspect ratio. - * plot/__gnuplot_has_feature__.m: Add new feature - "screen_coordinates_for_{lrtb}margin". - * plot/__go_draw_axes__.m, plot/colorbar.m: Enable axes to be - positioned using {lrtb}margins. - * plot/colorbar.m: Add to, and modify, demos. - - * plot/print.m: Remove non-functional/commented code. - * plot/__go_draw_figure__.m: Remove non-functional code. - * plot/__gnuplot_has_feature__.m: Remove non-functional code. - - * plot/quiver3.m: Add "clf" and "colormap(jet(64))" to demo. - -2009-02-27 John W. Eaton - - * set/complement.m: Call unique, not create_set. - * set/unique.m: Style fix for docstring. - * deprecated/create_set.m: Move here from set/create_set.m. - Always return a row vector, as documented. - - * set/Makefile.in (SOURCES): Remove create_set.m from the list. - * deprecated/Makefile.in (SOURCES): Add create_set.m to the list. - - * general/num2str.m: Call strsplit instead of split. - - * strings/strsplit.m: Style fixes. - -2009-02-27 Jaroslav Hajek - - * strings/strsplit.m: Check also nargin. - -2009-02-26 John W. Eaton - - * deprecated/split.m: Add warning, not about version. - -2009-02-26 Jaroslav Hajek - - * strings/strsplit.m: New function. - * strings/split.m: Move to deprecated/. - * strings/Makefile.in: Update. - * deprecated/Makefile.in: Update. - - * general/int2str.m: Use strsplit instead of split. - * general/num2str.m: Ditto. - * help/__makeinfo__.m: Ditto. - * help/lookfor.m: Ditto. - * miscellaneous/compare_versions.m: Ditto. - * miscellaneous/tar.m: Ditto. - * miscellaneous/unpack.m: Ditto. - * miscellaneous/what.m: Ditto. - * miscellaneous/zip.m: Ditto. - * pkg/pkg.m: Ditto. - * strings/strtok.m: Ditto. - * testfun/rundemos.m: Ditto. - -2009-02-25 John W. Eaton - - * Makefile.in (distclean maintainer-clean): Remove tags and TAGS - in distclean target. - -2009-02-25 Jaroslav Hajek - - * help/lookfor.m: Vectorize the path splitting using mat2cell. - Extract new path elements using setdiff. - -2009-02-25 John W. Eaton - - * plot/pie.m: Use numel to check sizes of X and LABELS instead of - using size_equal. From Andy Buckle . - - * help/lookfor.m: Split original path into cell array and compare - elements with strcmp. Suppress warnings and errors when getting - help text from function files. - -2009-02-24 John W. Eaton - - * help/gen_doc_cache.m: Don't compress output file. By default, - write to DOC, not DOC.gz. Don't save empty cache. - - * help/lookfor.m: Use doc_cache_file to get location of DOC file. - -2009-02-24 Jason Riedy - - * pkg/pkg.m (generate_lookfor_cache): Generate a DOC file for each - directory. - - * help/gen_doc_cache.m: Call __makeinfo__, not makeinfo. - -2009-02-24 Jaroslav Hajek - - * optimization/fsolve.m: Update niter after each iteration, not just - a succesful one. - -2009-02-08 Thorsten Meyer - - * configure.in: AC_SUBST ac_config_files - - * Makefile.in: Add make targets for configuration files - and config.status. - -2009-02-23 John W. Eaton - - * plot/fplot.m: Fix nargin check. - From Joel Parker . - -2009-02-20 Steffen Groot - - * plot/__patch__.m: Correct indexing of varargin. - -2009-02-20 Jaroslav Hajek - - * linear-algebra/dmult.m: Remove. - * linear-algebra/Makefile.in: Update. - * deprecated/dmult.m: Move here; revert to the 3.0.x version. - * deprecated/Makefile.in: Update. - * statistics/models/logistic_regression_derivatives.m: Replace dmult - by diagonal matrices. - -2009-02-19 Ben Abbott - - * plot/gnuplot_drawnow.m: Only send figure position info to gnuplot - when the plot stream is first opened. Revert usage of hidden axes - to store prior figure "position" property. - -2009-02-19 John W. Eaton - - * general/__isequal__.m, general/__splinen__.m, image/__img__.m, - image/__img_via_file__.m, miscellaneous/__xzip__.m, - optimization/__all_opts__.m, optimization/__dogleg__.m, - optimization/__fdjac__.m, path/__extractpath__.m, - plot/__add_datasource__.m, plot/__area__.m, - plot/__axes_limits__.m, plot/__axis_label__.m, plot/__bar__.m, - plot/__bars__.m, plot/__clabel__.m, plot/__contour__.m, - plot/__default_plot_options__.m, plot/__errcomm__.m, - plot/__errplot__.m, plot/__ezplot__.m, - plot/__gnuplot_has_feature__.m, plot/__gnuplot_version__.m, - plot/__go_close_all__.m, plot/__go_draw_axes__.m, - plot/__go_draw_figure__.m, plot/__line__.m, - plot/__next_line_color__.m, plot/__patch__.m, plot/__plr1__.m, - plot/__plr2__.m, plot/__plt1__.m, plot/__plt2__.m, - plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, - plot/__plt2vv__.m, plot/__plt__.m, plot/__plt_get_axis_arg__.m, - plot/__pltopt1__.m, plot/__pltopt__.m, plot/__quiver__.m, - plot/__scatter__.m, plot/__stem__.m, startup/__finish__.m, - statistics/base/__quantile__.m: Consistent doc strings for - internal fucntions. - -2009-02-18 Ben Abbott - - * plot/subplot.m: Fix unintended deletion of axes. - -2009-02-18 Frederick Umminger - - * audio/wavread.m: Improve search for data chunks. - -2009-02-18 Ivan Sutoris - - * miscellaneous/edit.m: Expand documentation about editor mode. - -2009-02-18 John W. Eaton - - * plot/__gnuplot_version__.m: Don't use regexp to extract version - number. - -2009-02-18 John W. Eaton - - * plot/gnuplot_drawnow.m (gnuplot_set_term): - Adjust nargin checks for new signature. - -2009-02-17 Ben Abbott - - * plot/contourc.m: Convert demo to test. - * plot/surfnorm.m: Add another demo. - * plot/surfnorm.m, plot/pareto.m: Add "colormap(jet)" to 1st demo. - * plot/plotyy.m, plot/patch.m, plot/pareto.m, plot/legend.m, - plot/fill.m, plot/comet.m, plot/colorbar.m, plot/clabel.m: - Replace "close all" with "clf" in demo. - -2009-02-17 Ben Abbott - - * plot/gnuplot_drawnow.m: Only close the gnuplot window and send - position/size info when the figure's position property has changed. - (gnuplot_set_term): New arg, NEW_STREAM. Change all uses. - (open_gnuplot_stream): Delete unused output ENHANCED. - -2009-02-17 John W. Eaton - - * plot/plotyy.m: Handle case of existing figure with no axes. - -2009-02-16 John W. Eaton - - * help/__makeinfo__.m: Rename from help/makeinfo.m. Delete tmp file. - * help/Makefile.in (SOURCES): Add __makeinfo__.m, delete makeinfo.m. - * help/get_first_help_sentence.m, help/help.m, help/lookfor.m, - help/print_usage.m: Call __makeinfo__ instead of makeinfo. - * help/__strip_html_tags__.m, help/__additional_help_message__.m: - Doc fix. - -2009-02-16 Ben Abbott - - * plot/shading.m: No new figure windows for the demos. - * plot/surfl.m: Clear figure before running demos. - -2009-02-16 Jaroslav Hajek - - * linear-algebra/expm.m: Fix invalid unscaling. - * help/which.m: Do not add "function" here. - * optimization/fsolve.m: Update comments. - -2009-02-16 John W. Eaton - - * help/help.m: Shorten default help text. - -2009-02-15 John W. Eaton - - * help/doc.m, help/help.m, help/lookfor.m, help/type.m, - help/which.m, image/colormap.m, miscellaneous/delete.m, - miscellaneous/dir.m, miscellaneous/edit.m, - miscellaneous/intwarning.m, miscellaneous/ls.m, - miscellaneous/mex.m, miscellaneous/mkoctfile.m, - miscellaneous/run.m, miscellaneous/what.m, path/savepath.m, - pkg/pkg.m, plot/axis.m, plot/box.m, plot/caxis.m, plot/cla.m, - plot/close.m, plot/colorbar.m, plot/grid.m, plot/hidden.m, - plot/hold.m, plot/legend.m, plot/orient.m, plot/print.m, - plot/shading.m, plot/title.m, plot/xlabel.m, plot/ylabel.m, - plot/zlabel.m, testfun/demo.m, testfun/example.m, testfun/fail.m, - testfun/rundemos.m, testfun/test.m: - Delete "PKG_ADD: mark_as_command" directive. - - * edit.m: Avoid command-style function call syntax when - assigning results in tests. - - * deprecated/mark_as_rawcommand.m, deprecated/unmark_rawcommand.m, - deprecated/israwcommand.m, deprecated/mark_as_command.m, - deprecated/unmark_command.m, deprecated/iscommand.m: - New functions. - * deprecated/Makefile.in (SOURCES): Add them to the list. - -2009-02-15 Ben Abbott - - * plot/subplot.m: Compatible placement of subplots. - -2009-02-13 Ben Abbott - - * plot/__go_draw_axes__.m: Respect axes ticklength property. - -2009-02-12 John W. Eaton - - * general/sortrows.m: Call __sort_rows_idx__, not __sortrows_idx__. - -2009-02-12 Soren Hauberg - - * help/gen_doc_cache.m: Change API so we only handle one directory per - call to this function. - -2009-02-12 Soren Hauberg - - * help/lookfor.m: Adapt to new cache scheme. - -2009-02-11 Jaroslav Hajek - - * general/sortrows.m: Employ __sortrows_idx__ when applicable, - gripe for sparse matrices. - -2009-02-11 John W. Eaton - - * miscellaneous/news.m: Look in octetcdir for NEWS file. - -2009-02-09 Jaroslav Hajek - - * general/interp2.m: Added support for pchip bicubic interpolation. - Also simplified code and added support for natural extrapolation via - "extrap". - -2009-02-09 John W. Eaton - - * miscellaneous/Makefile.in (SOURCES): Include __xzip__.m in the list. - - * testfun/rundemos.m: Error if fopen fails. - -2009-02-08 John W. Eaton - - * Makefile.in (install install-strip): Don't install ls-R file. - (uninstall): Don't uninstall ls-R file. - -2009-02-06 Jaroslav Hajek - - * optimization/fsolve.m: Document support for complex holomorphic - systems. Improve guarded evaluation. - -2009-02-05 John W. Eaton - - * miscellaneous/news.m: Use puts instead of printf. - -2009-02-05 Thomas D. Dean - - * polynomial/polyout.m: Replace com2str with num2str, and minor - style changes. - -2009-02-04 John W. Eaton - - * help/which.m: Still print something sensible if type is empty. - -2009-02-04 Soren Hauberg - Thomas Treichl - - * miscellaneous/Makefile.in (SOURCES): Add bzip2.m to the list. - -2009-02-04 Frederick Umminger - - * signal/freqz.m: Ensure causal phase response. - Handle long input correctly. - -2009-02-04 Petr Mikulik - - * plot/__go_draw_axes__.m: Pass "interpolate 0, 0" to gnuplot - instead of "interpolate 4, 4". - -2009-02-04 John W. Eaton - - * audio/wavwrite.m, deprecated/splu.m, general/bitcmp.m, - general/fliplr.m, general/flipud.m, general/genvarname.m, - general/nargchk.m, general/nargoutchk.m, general/quadgk.m, - general/rot90.m, geometry/griddata.m, geometry/rectint.m, - geometry/voronoi.m, geometry/voronoin.m, - help/__strip_html_tags__.m, image/brighten.m, image/imfinfo.m, - image/imread.m, linear-algebra/cond.m, linear-algebra/condest.m, - linear-algebra/dmult.m, linear-algebra/dot.m, - linear-algebra/expm.m, linear-algebra/housh.m, - linear-algebra/onenormest.m, linear-algebra/subspace.m, - miscellaneous/compare_versions.m, optimization/__all_opts__.m, - optimization/optimget.m, pkg/pkg.m, plot/__bar__.m, - plot/__plr2__.m, plot/ribbon.m, plot/slice.m, polynomial/pchip.m, - polynomial/roots.m, set/unique.m, signal/fractdiff.m, - signal/hurst.m, specfun/beta.m, specfun/legendre.m, - statistics/base/__quantile__.m, statistics/base/quantile.m, - statistics/tests/cor_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, strings/base2dec.m, - strings/dec2base.m, strings/strcat.m, strings/validatestring.m, - time/addtodate.m: Style fixes. - -2009-02-04 Jaroslav Hajek - - * optimization/fsolve.m: remove redundant line. - -2009-02-03 Jaroslav Hajek - - * optimization/Makefile.in: Add missing source. - -2009-02-02 Rob Mahurin - - * general/interpft.m: Increase tolerance in tests, for FFTPACK. - -2009-02-03 Jaroslav Hajek - - * optimization/__all_opts__.m: Yield empty list in recursive calls. - mlock to avoid unloading. - -2009-01-30 John W. Eaton - - * optimization/PKG_ADD: Delete. - * optimization/fsolve.m, optimization/fzero.m, - optimization/lsqnonneg.m: Use PKG_ADD: comment to call __all_opts__. - -2009-01-30 Jaroslav Hajek - - * optimization/__all_opts__.m: New source. - * optimization/optimset.m: Implement checking for registered options. - * optimization/optimget.m: Ditto. - * optimization/fsolve.m: Fix misspelled option. - * optimization/PKG_ADD: New startup file. - -2009-01-30 Kai Habel - - * plot/__go_draw_axes__.m: Add support for transparent surfaces. - * plot/__gnuplot_has_feature__.m: Add feature 'transparent_surface', - Require gnuplot 4.3 for transparent patches and surfaces. - -2009-01-30 Benjamin Lindner - - * time/datestr.m: Convert YYYY to %Y instead of %C%y. - Convert [Dd][Dd] to %d instead of %e. - -2009-01-30 Ben Abbott - - * plot/print.m: Use __gnuplot_has_feature__ instead of - compare_versions. - - * plot/gnuplot_drawnow.m: Respect x11 figure position property. - -2009-01-29 John W. Eaton - - * miscellaneous/fileparts.m: Match all possible file separators. - -2009-01-29 Kai Habel - - * plot/__go_draw_axes__.m: Add support for transparent patches. - -2009-01-29 S�ren Hauberg - - * help/help.m, help/print_usage.m, help/get_first_help_sentence.m: - print sensible error message when function is found but not documented. - - * help/help.m: Allow displaying 'Contents.m' files. - -2009-01-29 Kai Habel - - * plot/Makefile.in (SOURCES): Include diffuse.m, specular.m, and - surfl.m in the list. - -2009-01-28 Ben Abbott - - * plot/gnuplot_drawnow.m: Style fixes. - - * plot/__gnuplot_has_feature__.m: New file, checks for supported - feature. - -2009-01-28 Jaroslav Hajek - - * optimization/fsolve.m: Don't use pivoting at all (for the time - being). - -2009-01-28 Jaroslav Hajek - - * optimization/fsolve.m: Use more adaptive rescaling. - Put back the default tolerances based on machine eps respecting - the used precision. Partially reflect this in the default optimset - values. - -2009-01-28 Jaroslav Hajek - - * miscellaneous/ordefields.m: Use indexed assignment instead of a - loop. Fix for multidimensional cases. - -2009-01-27 John W. Eaton - - * general/arrayfun.m, image/imwrite.m, plot/axis.m, plot/clf.m, - plot/ribbon.m, plot/gnuplot_drawnow.m, plot/cla.m, set/unique.m: - Use endif or endfor instead of "end". - - * path/savepath.m: Call command_line_path instead of commandlinepath. - -2009-01-27 Jason Riedy - - * miscellaneous/orderfields.m: Really fix the indexing for struct - arrays. - -2009-01-27 Carlo de Falco - - * polynomial/spline.m: Doc fix. - -2009-01-27 S�ren Hauberg - - * general/gradient.m: Handle computing the gradient of a function - handle. - -2009-01-27 Jaroslav Hajek - - * optimization/lsqnonneg.m: Reimplement using QR updating for - square and overdetermined systems. - -2009-01-27 Jaroslav Hajek - - * optimization/fsolve.m: Provide default values on request. - Adjust some defaults. - * optimization/fzero.m: Ditto. - * optimization/optimset.m: Query optimal values via the M*b way. - -2009-01-26 Jason Riedy - - * miscellaneous/orderfields.m: Also avoid loop for non-empty structs. - -2009-01-17 Jaroslav Hajek - - * optimization/fsolve.m: Disable Broyden updates for sparse jacobians. - -2009-01-17 Jaroslav Hajek - - * optimization/__fsolve_defopts__.m: Remove. - * optimization/Makefile.in: Reflect change. - -2009-01-17 Jaroslav Hajek - - * optimization/__fdjac__.m: Fix setting up h. - * optimization/fsolve.m: Allow underdetermined systems. Use QR for - large enough square and overdetermined systems, with pivoting in the - first step. Simplify options. Adjust defaults - make TR radius - tolerance less stringent. Support DisplayFcn. - -2008-12-24 Ben Abbott - - * path/savepath.m: Respect cmd-line and env paths. - -2009-01-24 Ben Abbott - - * sparse/svds.m: svds.m: skip tests if ARPACK is missing. - -2009-01-23 S�ren Hauberg - - * help/type.m: Make 'type X' work, when X is the name of a variable. - -2009-01-22 John W. Eaton - - * help/which.m: New function. - * help/Makefile.in (SOURCES): Add it to the list. - - * help/help.m: Also display location of the file before the help text. - * help/print_usage: Also display additional help text. - * help/__additional_help_message__.m: Return message instead of - displaying it. - -2009-01-22 S�ren Hauberg - - * help: New directory. - * configure.in (AC_CONFIG_FILES): Add help/Makefile to the list. - * Makefile.in (SUBDIRS): Add it to the list. - * help/__additional_help_message__.m, help/__strip_html_tags__.m, - help/gen_doc_cache.m, help/get_first_help_sentence.m, help/help.m, - help/lookfor.m, help/makeinfo.m, help/print_usage.m, help/type.m: - New functions. - * help/Makefile.in (SOURCES): Add them to the list. - * help/doc.m: Move here from miscellaneous/doc.m. - * miscellaneous/Makefile.in (SOURCES): Remove doc.m from the list. - * miscellaneous/pkg.m: Generate documentation cache during install. - -2009-01-22 Jaroslav Hajek - - * optimization/fsolve.m: Undo the last change. - -2009-01-18 Thorsten Meyer - - * miscellaneous/doc.m: Add test for existence of info file. - -2009-01-21 John W. Eaton - - * plot/__axis_label__.m: Set properties in existing axis label - object instead of creating a new text object. - * plot/ylabel.m: Don't set rotation property here. - * plot/title.m: Don't set horizontalalignment property here. - - * plot/ylabel.m: Insert rotation property in varargin before - passing it on to __axis_label__. - * plot/__axis_label__.m: Don't set rotation for ylabel here. - - * plot/title.m: Insert horizontalalignment property in varargin - before passing it on to __axis_label__. - -2009-01-21 Jaroslav Hajek - - * strings/strchr.m: New function. - * strings/Makefile.in: Add it. - -2009-01-20 Jaroslav Hajek - - * optimization/fsolve.m: Only use qrupdate if available. - -2009-01-20 John W. Eaton - - * general/postpad.m: Doc fix. - * general/prepad.m: Doc fix. - * image/pink.m: Spelling fix. - * image/hsv.m: Doc fix. - From Francesco Potorti` . - - * testfun/assert.m: Use isfield instead of struct_contains. - -2009-01-17 Ben Abbott - - * general/cart2sph.m, cart2pol.m, sph2cart.m pol2cart.m: - Permit scalars when transforming coordinates. - -2009-01-17 Steven Verstoep - - * plot/__quiver__.m: __quiver__.m: Fix auto-size of (x,y) coord. - -2009-01-16 Daniel J Sebald - - * plot/gnuplot_drawnow.m: Fix for handling options. - -2009-01-16 Daniel J Sebald - - * plot/legend.m: Fix legend order for both horizontal and - vertical string cell. - -2008-01-15 Ben Abbott - - * plot/grid.m: Document handle argument. - -2009-01-15 Peter L. S�ndergaard - - * general/nargoutchk.m: Doc fix. - * general/nargchk.m: Improve compatibility. New tests. - -2008-01-15 Rafael Laboissiere - - * gethelp.cc: Include . - -2009-01-14 Ben Abbott - - * plot/__go_draw_axes__.m (ticklabel_to_cell): New function. - Use it to handle non-cell ticklabels. - -2009-01-14 S�ren Hauberg - - * general/diff.m, general/logspace.m, general/nextpow2.m, - linear-algebra/commutation_matrix.m, - linear-algebra/duplication_matrix.m, linear-algebra/expm.m, - miscellaneous/bincoeff.m, miscellaneous/list_primes.m, - optimization/fsolve.m, plot/subplot.m, polynomial/pchip.m, - polynomial/polyout.m, polynomial/residue.m, polynomial/spline.m, - signal/freqz.m, signal/sinc.m, specfun/beta.m, specfun/betaln.m, - specfun/nchoosek.m, specfun/pow2.m, special-matrix/hankel.m, - special-matrix/hilb.m, special-matrix/invhilb.m - special-matrix/sylvester_matrix.m, special-matrix/toeplitz.m, - special-matrix/vander.m, statistics/base/gls.m, - statistics/base/kendall.m, statistics/base/kurtosis.m, - statistics/base/mean.m, statistics/base/median.m, - statistics/base/ols.m, statistics/base/skewness.m, - statistics/distributions/kolmogorov_smirnov_cdf.m: - Use ifnottex instead of ifinfo. - -2009-01-14 John W. Eaton - - * linear-algebra/expm.m: - - * optimization/fsolve.m: Doc fix. - - * plot/__go_draw_axes__.m: Scale markersize by 1/3, not 1/6. - - * io/dlmwrite.m: Use '%c' format for character data. - -2009-01-13 John W. Eaton - - * general/repmat.m: Handle negative row or column dimension. - - * elfun/lcm.m, general/accumarray.m, general/bicubic.m, - general/cellidx.m, general/cplxpair.m, general/dblquad.m, - general/gradient.m, general/interp1.m , general/pol2cart.m, - general/quadgk.m, general/quadv.m, general/repmat.m, - general/structfun.m, geometry/griddata.m, geometry/inpolygon.m, - image/brighten.m, image/hsv2rgb.m, image/imread.m, - image/imwrite.m, linear-algebra/dmult.m, - linear-algebra/onenormest.m, miscellaneous/getfield.m, - miscellaneous/setfield.m, miscellaneous/what.m, - optimization/fsolve.m, optimization/fzero.m, - optimization/lsqnonneg.m, optimization/qp.m, pkg/pkg.m, - plot/__area__.m, plot/__clabel__.m, plot/__stem__.m, plot/axis.m, - plot/colorbar.m, plot/contour3.m, plot/findall.m, plot/findobj.m, - plot/fplot.m, plot/grid.m, plot/hist.m, polynomial/convn.m, - polynomial/polyreduce.m, set/intersect.m, set/setxor.m, - set/union.m, signal/arch_fit.m, signal/durbinlevinson.m, - signal/fftshift.m, signal/freqz_plot.m, signal/ifftshift.m, - signal/spectral_adf.m, sparse/bicgstab.m, sparse/cgs.m, - sparse/gplot.m, sparse/normest.m, sparse/pcg.m, sparse/pcr.m, - sparse/spy.m, sparse/svds.m, sparse/treelayout.m, - sparse/treeplot.m, specfun/primes.m, special-matrix/hadamard.m, - statistics/base/center.m, statistics/base/quantile.m, - statistics/base/ranks.m, statistics/base/std.m, - statistics/distributions/hygepdf.m, - statistics/tests/kruskal_wallis_test.m, strings/index.m, - strings/mat2str.m, strings/str2double.m, strings/strrep.m, - testfun/assert.m, testfun/example.m, testfun/fail.m, - testfun/speed.m, testfun/test.m: Style fixes. - - * audio/wavread.m, general/__splinen__.m, general/bicubic.m, - general/rat.m, linear-algebra/expm.m, linear-algebra/krylov.m, - linear-algebra/onenormest.m, miscellaneous/edit.m, - optimization/__dogleg__.m, pkg/pkg.m, plot/__errplot__.m, - plot/__go_draw_axes__.m, plot/__stem__.m, plot/findobj.m, - set/ismember.m, signal/arma_rnd.m, signal/freqz.m, signal/stft.m, - sparse/pcg.m, sparse/sprandsym.m, sparse/treelayout.m, - specfun/factor.m, specfun/nchoosek.m, specfun/primes.m, - statistics/base/quantile.m, statistics/base/values.m, - strings/findstr.m, strings/str2double.m, strings/strrep.m, - testfun/assert.m, testfun/fail.m, testfun/speed.m, testfun/test.m, - time/datestr.m, time/datevec.m: Comment style fixes. - -2009-01-13 Daniel J Sebald - - * set/unique.m: Fix for vertical array inputs. - -2009-01-12 John W. Eaton - - * optimization/fzero.m, optimization/fsolve.m: Style fixes. - Use strcmpi to compare options. - -2009-01-12 Thorsten Meyer - - * strings/strvcat.m: Remove. - * strings/Makefile.in (SOURCES): Remove strvcat.m. - -2009-01-12 John W. Eaton - - * plot/diffuse.m, plot/surfl.m, plot/specular.m: Style fixes. - -2009-01-11 Jaroslav Hajek - - * general/sortrows.m: Fix invalid `{x:y} = z' assignment. - * miscellaneous/orderfields.m: Ditto. - * miscellaneous/what.m: Ditto. - * pkg/pkg.m: Ditto. - * plot/ndgrid.m: Ditto. - * strings/strcat.m: Ditto. - -2009-01-09 Kai Habel - - * plot/surfl.m: New function - * plot/diffuse.m: Ditto. - * plot/specular.m: Ditto. - -2009-01-05 John W. Eaton - - * mkdoc: Set defaults for FIND and PERL. Check usage. - -2009-01-01 Thorsten Meyer - - * miscellaneous/__xzip__.m: Fix error messages, add tests. - -2008-12-26 Thorsten Meyer - - * general/int2str.m, general/num2str.m, strings/base2dec.m, - strings/blanks.m, strings/cstrcat.m, strings/findstr.m, - strings/isstrprop.m, strings/mat2str.m, strings/regexptranslate.m, - strings/split.m, strings/str2double.m, strings/str2num.m, - strings/strcat.m, strings/strcmpi.m, strings/strfind.m, - strings/strjust.m, strings/strmatch.m, strings/strncmpi.m, - strings/strrep.m, strings/strtok.m, strings/strtrim.m, - strings/strtrunc.m, strings/strvcat.m, strings/substr.m: - Fix documentation strings, add examples, references and tests. - * general/int2str.m: Add missing semicolon. - * strings/regexptranslate.m: add nargin check. - * strings/str2double.m: fix nargin check. - -2008-12-29 David Bateman - - * goemetry/voronoi.m: Speed up and handle dense grids. - -2008-12-28 Jaroslav Hajek - - * miscellaneous/delete.m: Allow filename globs. Display warnings if - operation fails. - -2008-12-26 Francesco Potortì - - * general/prepad.m: Add reference to postpad. - - * miscellaneous/bincoeff.m: Make reference to nchoosek. - - * general/postpad.m: Use @seealso. Add reference to resize. - - * statistics/base/statistics.m: Correct help string. - - * plot/hist.m: Doc string now mentions matrix input argument. - Correct error message. - -2008-12-30 Ben Abbott - - * plot/__contour__.m: __contour__.m: correct order of patches - -2008-12-30 Ben Abbott - - * plot/__contour__.m: __contour__.m: correct order of patches - -2008-12-24 Doug Stewart - - * plot/grid.m: Handle "minor" option. - -2008-12-24 John W. Eaton - - * testfun/test.m: Print "has no tests" message if there are demos - but no tests instead of printing PASSES 0 out of 0 tests. - -2008-12-23 David Bateman - - * sparse/svds.m: New function. - * sparse/Makefile.in (SOURCES): Add it here. - -2008-11-21 Radek Salac - - * sparse/bicgstab.m: New function. - * sparse/Makefile.in (SOURCES): Add it here. - -2008-12-18 Daniel J Sebald - - * time/datevec.m (__date_vfmt2sfmt__): New helper function. - (datevec): Avoid repeated parsing of the format string. - * set/unique.m: Only check for options if nargin > 1. - -2008-12-15 Jaroslav Hajek - - * optimization/lsqnonneg.m: Preprocess using QR for over-determined - systems. Simplify & fix indexing. Use left division for step problem. - Fix output args. - -2008-12-13 Francesco Potort� - - * specfun/nchoosek.m: Check for input arguments, signal loss of - precision, correctly handle k==0 and k==n cases, add proper tests. - -2008-12-11 Jaroslav Hajek - - * optimization/fsolve.m: Optionally allow pivoted qr factorization. - -2008-12-10 Jaroslav Hajek - - * linear-algebra/expm.m: New source. - -2008-12-09 Jaroslav Hajek - - * specfun/nchoosek.m: Use a recursionless approach. - -2008-12-09 Jaroslav Hajek - - * general/repmat.m: Optimize & simplify the scalar & 2d matrix case. - -2008-12-07 Thorsten Meyer - - * strings/lower.m: Remove. - * strings/upper.m: Remove. - * strings/Makefile.in: Remove lower.m, upper.m. - -2008-12-02 Thorsten Meyer - - * strings/str2mat.m: Make it a simple wrapper around - char() and move it to deprecated/str2mat.m, remove - obsolete tests, move remaining test to src/strfns.cc (Fchar). - * strings/Makefile.in: Remove str2mat.m. - * deprecated/Makefile.in: Add str2mat.m. - * strings/strvcat.m: Remove reference to str2mat. - -2008-11-28 David Bateman - - * plot/__go_draw_axes__.m: Set two point clipping mode to be on. - -2008-11-26 Francesco Potortì - - * specfun/nchoosek.m: Set max_recursion_depth and use a subfunction. - -2008-11-29 Thorsten Meyer - - * miscellaneous/gzip.m: Remove @seealso reference to __xzip__, - improve tests. - * miscellaneous/bzip2.m: Remove @seealso reference to __xzip__, - fix handling of output argument, add test. - * miscellaneous/__xzip__.m: Improve error messages, fix cleanup - of temporary directories, remove tab characters - -2008-11-24 Ben Abbott - - * plot/legend.m: Correct ording of legend labels. - -2008-11-24 Ben Abbott - - * plot/__go_draw_axes__.m: Correct order for rendering children. - -2008-11-21 Radek Salac - - * sparse/cgs.m, sparse/treelayout.m: New functions. - * sparse/Makefile.in (SOURCES): Add them here. - -2008-11-14 David Bateman - - * plot/__go_draw_axes__.m (do_tics_1): Support the minorick properties - of the axis object. - -2008-11-14 Ben Abbott - - * plot/gnuplot_drawnow.m: Add support of properites to gp backend. - -2008-11-13 John W. Eaton - - * statistics/distributions/chi2rnd.m: Fix another missing semicolon. - From sven.mattisson@insatnet.nu. - -2008-11-12 David Bateman - - * plot/__quiver__.m: Only autoscale if more than one element to - plot. Modify callbacks for change in order of children. - * plot/__stem__.m: Modify callbacks for change in order of children. - -2008-11-10 John W. Eaton - - * polynomial/spline.m: Delete debugging statements. From - Sebastian Sch�ps . - -2008-11-07 Thorsten Meyer - - * mkdoc: do not remove white space before @ within @example - environment - -2008-11-05 Thorsten Meyer - - * plot/subplot.m: fix texi bug - -2008-11-04 Thorsten Meyer - - * miscellaneous/unpack.m: return directly after recursive handling - of cell-strings - -2008-11-03 Ben Abbott - - * plot/__go_draw_axes__.m: xticklabel should accept a numeric vector. - -2008-09-28 Jaroslav Hajek - - * optimization/__fdjac__.m: New function file. - * optimization/__dogleg__.m: New function file. - * optimization/fsolve.m: New function file. - * optimization/Makefile.in: Include the new sources. - -2008-09-28 Jaroslav Hajek - - * optimization/fzero.m: Replace tabs by spaces. - -2008-09-28 Jaroslav Hajek - - * optimization/fzero.m: Simplify exception handling. - -2008-10-31 Jaroslav Hajek - - * optimization/fzero.m: New function file. - * optimization/Makefile.in: Add it. - -2008-10-31 Jaroslav Hajek - - * optimization/optimset.m: Don't include empty options in option - structure. - * optimization/optimget.m: New function file. - * optimization/Makefile.in: Add it. - * optimization/lsqnonneg.m: Query options using optimget. - -2008-10-31 Jaroslav Hajek - - * linear-algebra/__norm__.m: Remove. - -2008-10-25 Thorsten Meyer - - * miscellaneous/bzip2.m, miscellaneous/__xzip__.m: new commands. - * miscellaneous/gzip.m: change to use __xzip__ for actual compression, - add tests. - -2008-10-31 David Bateman - - * plot/__contour__.m: Exclude infinite values when calculating contour - levels. - * plot/clabel.m: Close previous plots in demos to avoid pollution - between other plot demos. - * plot/plotyy.m: Ditto. - -2008-10-30 David Bateman - - * plot/legend.m: Add support for the "left" and "right" options. - * plot/__go_draw_axes__.m: If the axes property keyreverse is set, - reverse the key and labelling text. - - * plot/__clabel__.m, plot/clabel.m: New functions. - * plot/Makefile.in (SOURCES): Add them here. - * plot/__contour__.m: Rewrite to use contour groups. - * plot/contourf.m: Call __contour__ instead of using specific code. - * plot/contour.m, plot/contour3.m: Minor modification to allow for - new interface to __contour__. - -2008-10-29 Thorsten Meyer - - * set/create_set.m, set/ismember.m, set/union.m, set/complement.m: - Fix @seealso references to deprecated function intersection. - * polynomial/polyvalm.m, polynomial/polyout.m, - polynomial/polyint.m, polynomial/polygcd.m, - deprecated/polyinteg.m: Remove "and" from @seealso string. - * specfun/betaln.m: Change @seealso reference from deprecated - betai to betainc. - * plot/plot.m, plot/xlabel.m, plot/ylabel.m, plot/zlabel.m, - plot/plot3.m: Fix @seealso references to ylabel and zlabel. - * general/issymmetric.m, image/imagesc.m, specfun/realpow.m, - polynomial/polyfit.m, time/eomday.m: Remove @seealso references to - non-existent functions. - -2008-10-29 John W. Eaton - - * plot/cla.m: In test, set visible off when creating figure. - -2008-10-28 Gabriele Pannocchia - - * optimization/qp.m: Convert bounds of the form b <= x <= b and - constraints of the form b <= A*x <= b to equality constraints. - -2008-10-27 S�ren Hauberg - - * plot/ellipsoid.m: Check nargin == 6, not nargin == 5. - -2008-10-22 Ben Abbott - - * plot/cla.m: Fix error when no children to clear. - - * plot/findobj.m: Allow handle to be empty. - -2008-10-22 John W. Eaton - - * plot/allchild.m: Move call to get showhiddenhandles outside of - unwind_protect block. - -2008-10-22 David Bateman - - * plot/refreshdata.m: Modify demo so that "y" is evaluated in the - "caller" workspace. - - * plot/__errplot__.m: Add errorbar series objects. - * plot/errbar.m: Add some demos. - - * plot/__add_line_series__.m: Remove - * plot/Makefile.in (SOURCES): Remove it here too. - * plot/__add_datasource__.m: Allow for more than one character in - source name. - * plot/refreshdata.m: Ditto. - * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vv__.m, - plot/__plt2vs__.m, plot3.m: Remove previous line series changes. - * plot/__scatter__.m: Add scatter series objects and data sources. - * plot/legend.m: Update type in loop and remove debugging messages. - -2008-10-21 Ben Abbott - - * specfun/legendre.m: Warn once on under/overflow. - - * plot/clf.m: Improve Matlab compatibility. - -2008-10-21 John W. Eaton - - * plot/quiver3.m: Turn hold off after demo. - - * plot/newplot.m: Delete stray debugging code. - - * plot/gnuplot_drawnow.m: Pass handle to __go_draw_figure__, not - struct. Use get instead of examining struct fields directly. - * plot/__go_draw_figure__.m: First arg is now handle, not figure - object struct. Use get instead of examining struct elements - directly. Use allhild instead of looking at children field of - figure object struct. - -2008-10-20 Ben Abbott - - * plot/orient.m: Fix syntax error. - -2008-10-20 David Bateman - - * testfun/rundemos.m: Pause between files, as demo itself doesn't. - - * plot/fill.m, plot/quiver.m: Quiet the demos. - * plot/stair.m: Treat a line style argument correctly. - -2008-10-20 John W. Eaton - - * plot/surfnorm.m: Save and restore hold state. - From Daniel J. Sebald and - Ben Abbott . - -2008-10-20 Ben Abbott - - * plot/closereq.m: Respect property tag. - - * plot/__stem__.m: Respect new ordering of children when setting - baseline. - - * plot/orient.m, plot/print.m: Properly validate figure handle. - - * plot/hold.m, plot/comet.m: Properly validate axes handle. - - * plot/__go_draw_axes__.m: Fix for binary xfer of suface plots. - -2008-10-20 David Bateman - - * plot/plotyy.m: Test that an axes handle actually is one before - setting it. - -2008-10-17 David Bateman - - * plot/__plt_get_axis_arg__.m: Exclude non-numeric and root figure - from potential axis handles. - * plot/colorbar.m: Remove debug output. - * plot/comet.m: Close plot before demo - * plot/contourc.m: No output if nargout == 0. - -2008-10-16 David Bateman - - * plot/subplot.m: Allow for column vector of children for figure. - -2008-10-16 John W. Eaton - - * testfun/rundemos.m: New function. - -2008-10-16 Ben Abbott - - * plot/contourf.m: Correct order of patch object handles. - -2008-10-16 David Bateman - - * plot/colorbar.m (colorbar:resetaxis): Uncomment the reseting of - the axes. - - * plot/newplot.m: Don't preserve axes properties here, but rather - do it in the graphics handle code so that the preservation can be - done after callbacks are executed. - - * plot/__go_draw_axes__.m: If current plot is an image, don't flag - the plot as binary, as the binary specification is already in the - "usingclause". - - * plot/__go_draw_figure__.m: Always use multiplot and create an - enclosing axis to ensure bounding box of postscript is correct. - -2008-10-16 Ben Abbott - - * plot/__go_draw_axes__.m (do_tics_1): New arg, interpreter. - (do_tics): Pass interpreter to do_tics_1. - -2008-10-15 David Bateman - - * general/colon.m: Small typo. - * general/loadobj.m: Ditto. - -2008-10-14 Ben Abbott - - * plot/__go_draw_axes__.m (do_tics_1): New args, fontname and fontsize. - Pass fontspec for tic marks to gnuplot. - (do_tics): Pass axes fontname and fontsize to do_tics_1. - - * plot/newplot.m: Perserve fontangle, fontname, fontsize, - fontunits, fontweight, position, outerposition, and - activepositionproperty axes properties when replacing plot. - -2008-10-15 Daniel J. Sebald - - * plot/__go_draw_axes__.m: Make previous change work for surface - plots. - -2008-10-14 Daniel J. Sebald - - * plot/__go_draw_axes__.m: Send binary data to gnuplot. - -2008-10-13 Ben Abbott - - * plot/__go_draw_axes__.m: Fix concatenation of handles. - -2008-10-12 David Bateman - - * general/colon..m: New function. - * general/Makefile.in (SOURCES): Add it here. - -2008-10-10 David Bateman - - * image/__img__.m: Manually set the limits of th eimage - * plot/__go_draw_axes__.m: Base window position in the axis - position property and not the outerposition property. Remove - colorbar code based on the gnuplot colorbox. Allow images to be a - vector to support image based colorbars. Also check labelmode for - manual tics. - * plot/__go_draw_figure__.m: Remove gnuplot colorbox based - colorbar code. - * plot/colorbar.m: Rewrite to use an image and callbacks to link - it to the principal axis. - * plot/legend.m: Support an axis handle as the first - argument. Support hggroups. - * plot/pareto.m: Don't support an axis handle as the first - argument as the plotyy command in fact needs two axis handles. - * plot/plotyy.m: Rewrite to use listeners and callbacks to - synchronize the two axes. - * plot/subplot.m: Also skip axes that are tagged as being a - colorbar. Don't break in search of overlapping axes to delete. Set - both the position and the outerposition. - -2008-10-09 Ben Abbott - - * plot/__axis_label__.m: Inherit font properties from axes. - -2008-10-09 David Bateman - - * general/loadobj.m, general/saveobj.m, general/display: New functions - * general/Makefile.in (SOURCES): Add then here. - -2008-10-08 John W. Eaton - - * miscellaneous/fileparts.m: Handle "/file" properly. - Improve compatibility. - -2008-10-07 Ben Abbott - - * plot/cla.m: New function. - * plot/Makefile.in (SOURCES): Add it to the list. - -2008-10-07 John W. Eaton - - * miscellaneous/delete.m: Pass array of handles to __go_delete__. - -2008-10-06 John W. Eaton - - * plot/__add_datasource__.m, plot/__axes_limits__.m, - plot/__bar__.m, plot/__bars__.m, plot/__contour__.m, - plot/__go_draw_axes__.m, plot/__go_draw_figure__.m, - plot/__patch__.m, plot/__quiver__.m, plot/__scatter__.m, - plot/__stem__.m, plot/ancestor.m, plot/axis.m, plot/box.m, - plot/caxis.m, plot/close.m, plot/colorbar.m, plot/fill.m, - plot/findobj.m, plot/grid.m, plot/hidden.m, plot/hold.m, - plot/ishold.m, plot/legend.m, plot/linkprop.m, plot/orient.m, - plot/plotmatrix.m, plot/shading.m: Use case-insensitive comparison - for properties. Misc style fixes. - -2008-10-06 Ben Abbott - - * plot/orient.m: Figure handle must be scalar. - * plot/hold.m: Axis handle must be scalar. - * plot/axes.m: Axis handle must be scalar. - * plot/__plt_get_axis_arg__.m: Handle must be scalar. - - * miscellaneous/delete.m: Permit a vector of handles to be deleted. - -2008-10-02 John W. Eaton - - * pkg/pkg.m (configure_make): Handle filenames with spaces. - -2008-10-02 Benjamin Lindner - - * pkg.m (configure_make): Enclose building directory in quotes. - -2008-10-02 Ben Abbott - - * plot/__go_draw_axes__.m: Remove depdenence on gnuplot version. - -2008-09-30 Jaroslav Hajek - - * string/split.m: New tests. - -2008-09-30 Ben Abbott - - * plot/__go_draw_axes__.m: Fix interpolation of facecolors. - - * plot/shading.m: New demo. - -2008-09-29 John W. Eaton - - * plot/__go_draw_axes__.m: Eliminate have_newer_gnuplot variable. - - * plot/__gnuplot_version__.m: Also include patchlevel. - -2008-09-29 Ben Abbott - - * polynomial/deconv.m: Fix row/col orientation & length of output. - - * polynomial/conv.m: Correct row/col orientation of output. - -2008-09-27 Ivan Sutoris - - * optimization/sqp.m: Document additional parameters. - -2008-09-26 David Bateman - - * general/subsindex.m: Dummy subsindex function for help string - and to throw error for use outside of a class - * general/Makefile.in (SOURCES): Include it here. - -2008-09-26 John W. Eaton - - * image/imfinfo.m: Delete temporary file. - -2008-09-25 S�ren Hauberg - - * image/imread.m, image/imwrite.m: Doc fix. - -2008-09-24 John W. Eaton - - * plot/fplot.m: Call axis after calling plot. - -2008-09-24 S�ren Hauberg - - * image/imfinfo.m: New function. - * image/Makefile.in (SOURCES): Add it to the list. - -2008-09-24 Ben Abbott - - * strings/strcat.m: Improve Matlab compatibility for non-character - data. - -2008-09-24 John W. Eaton - - * general/interpft.m: Increase tolerance in tests. - -2008-09-23 Francesco Potorti` - - * plot/pcolor.m: Improve doc string. - -2008-09-22 Ben Abbott - - * plot/comet.m: New file. - * plot/Makefile.in (SOURCES): Add it here. - -2008-09-22 David Bateman - - * plot/plotmatrix.m: New function. - * plot/Makefile.in (SOURCES): Add it here. - - * general/quadgk.m: No function count in quadgk and so don't try and - print it when given trace argument. - -2008-09-18 Jaroslav Hajek - - * general/blkdiag.m: Skip assignment if rhs is empty. - -2008-09-18 Kris Thielemans - - * image/imshow.m: Fix for display_range. - - * general/interpn.m: Fixe for extrapval and documentation of - extrapval. - -2008-09-17 David Bateman - - * time/datetick.m: New function. - * time/Makefile.in (SOURCES): Add it here. - * time/datestr.m: More careful check for datevec format with 6 - column arguments. - * plot/__go_draw_axes__ (do_tics_1): Use %.15g format rather than - %g format. Also use manual mode if xlabelmode is manual. - - * general/cell2mat.m: Backout previous change. Special case 2D - case for speed. - -2008-09-11 David Bateman - - * general/cell2mat.m: Improve the speed. - -2008-09-09 John W. Eaton - - * time/datestr.m: Convert format and use strftime to do most of - the actual conversion. - -2008-09-08 Tatsuro MATSUOKA - - * plot/plot.m: Doc fix. - -2008-09-08 Mark van Rossum - - * statistics/distributions/binornd.m: Handle zero values of n - correctly. - -2008-09-08 Kai Habel - - * plot/contourf.m: Fix case for equal-sized matrices - of X and Y. - -2008-09-02 David Bateman - - * plot/__add_datasource__.m: Fix indexing of varargin. - - * plot/__line__.m: Remove empty clause fof if/then/else test - * plot/plot3.m: Correctly plot matrices. - -2008-08-31 Michael Goffioul - - * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, - plot/__plt2vv__.m: Do not call "set" with empty arguments. - -2008-08-29 David Bateman - - * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, - plot/__plt2vv__.m, plot/plot3.m, plot/__area__.m, plot/__bars__.m, - plot/__quiver__.m, plot/__stem__.m, plot/stairs.m : - Pass additional prop/val pairs to hggroup rather than underlying - objects. If a baseline existings specifically associate it with - the parent of the created hggroup to allow things like "stem(..., - 'parent', hg)" to work correctly. - * plot/hold.m: If currentaxes if figure doesn't exist, create it. - - * plot/plot3.m: Pass hline to __add_line_series__. - * plot/__add_datasource__.m: Fix off by one error. - -2008-08-28 David Bateman - - * plot/__add_line_series__.m, plot/ishghandle.m, plot/linkprop.m, - plot/refresh.m, plot/refreshdata.m: New functions - * Makefile.in (SOURCES): Add them here. - - * plot/__area__.m, plot/__bars__.m, plot/__quiver__.m, - plot/__stem__.m, plot/stairs.m, plot/stem.m: Add data sources. - - * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, - plot/__plt2vv__.m, plot/plot3.m: Add line series and data sources. - -2008-08-28 Martin Weiser - - * plot/scatter3.m: Doc fix. - -2008-08-26 John W. Eaton - - * plot/hold.m: If hold is applied to a figure, set state for all - child axes objects. - -2008-08-26 Michael Goffioul - - * plot/backend.m: New function to handle backend switch. - * plot/Makefile.in: Add it. - -2008-08-26 David Bateman - - * plot/__area__.m: Use __next_line_color__ rather than fixed set - of colors. Convert to use area series objects. - * plot/area.m: Update documentation to correspond to - the area series usage. - * plot/__bar.m: Pass the original rather than scaled width to - __bars__. - * plot/__bars__.m: Convert to use bar series objects. - * plot/bar.m, plor/barh.m: Update documentation to correspond to - the bar series usage. - * plot/__quiver__.m: Convert to use quiver series objects. Change - the default scaling and arrowsize for compatibility. - * plot/quiver.m: Update documentation to correspond to - the quiver series usage. - * plot/stairs.m: Convert to use stair series objects. - * plot/stem.m: Don't include baseline in xlim calculation. Correct - test of whether baseline xdata needs updating in the update_xlim - callback. - -2008-08-25 Thomas L. Scofield - - * image/imwrite.m: Add ras and tiff to the list of accepted formats. - Handle parameter-value options. Untabify. - -2008-08-25 David Bateman - - * plot/__stem__.m: Use property inheritance and don't explicitly - call drawnow. - - * plot/__go_draw_axes__.m: Respect the "visible" property of object and - don't draw them if the object is not visible. - - * plot/__stem__.m: Convert to use stem series object. - * plot/stem.m, plot/stem3.m: Update documentation to correspond to - the stem series usage. - -2008-08-22 John W. Eaton - - * statistics/distributions/chi2rnd.m: Fix missing semicolon. - -2008-08-21 John W. Eaton - - * plot/__go_draw_axes__.m: Fix test for have_data. - (__gnuplot_write_data__): Write "Inf Inf\n" if all data pairs - contain NaN values. - -2008-08-21 Thomas Treichl - - * optimization/sqp.m: Increase test script tolerance. - -2008-08-21 David Bateman - - * plot/ezplot.m : New function. - * plot/Makefile.in (SOURCES): Add ezplot.m to the list. - * plot/__ezplot__.m: Adapt to allow for use with the ezplot function. - -2008-08-20 Jaroslav Hajek - - * pkg/pkg.m (configure_make): Pass handle to is_architecture_dependent - directly. - -2008-08-20 David Bateman - - * plot/__go_draw_axes__.m: Don't set pm3d implicit if the plot - contains a surface. Fixes things like meshc(peaks()). - -2008-08-19 Jaroslav Hajek - - * optimization/glpk.m: Fix invalid call to zeros. - -2008-08-19 David Bateman - - * miscellaneous/intwarning.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it here. - - * statistics/base/ranks.m: Doc fix. - -2008-08-08 John W. Eaton - - * general/Makefile.in (SOURCES): Add cellidx.m to the list. - -2008-08-07 John W. Eaton - - * gethelp.cc: Delete definition of NPOS. - -2008-08-04 John W. Eaton - - * strings/strtok.m: Include TAB, LF, VT, FF, and CR in default - list of delim characters. Update tests. - -2008-07-29 Thomas Treichl - - * general/arrayfun.m: Minor bug fixes, update help text and tests - -2008-07-29 John W. Eaton - - * plot/axis.m (__get_tight_lims__): Use strcat instead of []. - Don't fail if data is not a vector. - -2008-07-29 David Bateman - - * general/cellidx.m: reinclude from control toolbox, as used by - print command. Replace is_signal_list with iscellstr. - * general/quadqk.m, linear-algebra/planeror.m, - miscellaneous/namelengthmax.m, specfun/realpow.m: Miscellaneous - documentation fixes. - - * control, finance, quaternion: Remove directories and all of the - files they contain. - * Makefile.in: Remove all references to the above directories. - * configure.in: ditto. - -2008-07-28 Ben Abbott - - * plot/hold.m: Clarify help text. - - * specfun/reallog.m: Fix help string. - -2008-07-28 David Bateman - - * strings/regexptranslate.m: Add real documentation. - - * plot/contourf.m: Allow X,Y to be unequal vectors. - - * plot/shading.m: Clarify help string. - - * general/genvarname.m: Trivial documentation fix. - -2008-07-28 John W. Eaton - - * image/imwrite.m: New function. - * image/Makefile.in (SOURCES): Add it to the list. - -2008-07-24 Ben Abbott - - * time/datestr.m: New xtest. - -2008-07-21 Michael Goffioul - - * plot/closereq.m: Use first gcbf to get the handle of the figure to - be closed. - * plot/close.m: Call __go_execute_callback__. - -2008-07-17 John W. Eaton - - * general/fliplr.m: Fix usage test. - * testfun/test.m: Fix usage tests. - -2008-07-17 Jaroslav Hajek - - * statistics/base/cov.m: Fix test that should no longer work. - -2008-07-16 Michael Goffioul - - * plot/gcbo.m, plot/gcbf.m: New functions. - * plot/Makefile.in (SOURCES): Add them to the list. - -2008-07-16 John W. Eaton - - * deprecated/loadimage.m: New file. - * deprecated/Makefile.in (SOURCES): Add it to the list. - * image/loadimage.m: Delete. - * image/Makefile.in (SOURCES): Remove it from the list. - * image/imread.m: Incorporate loadimage functionality here. - Simplify. - * image/imshow.m: Call imread, not loadimage. - - * image/__img__.m: Set clim for true-color integer data. - - * image/imshow.m: Don't convert integer true-color data to double. - - * plot/__go_draw_axes__.m: Recognize 3-d cdata as a true-color image. - -2008-07-14 John W. Eaton - - * image/Makefile.in (SOURCES): Add imread.m to the list. - -2008-07-14 Thomas L. Scofield - - * image/imread.m: New file from Octave Forge. - -2008-07-10 Jaroslav Hajek - - * set/unique.m: Implement 'first' and 'last', some simplifications. - * set/union.m: Implement output indices. - * set/intersect.m: Implement 'rows'. - * set/setdiff.m: Implement output indices. - * set/setxor.m: Implement 'rows' and output indices. - Add tests and adjust docs in all of the above. - -2008-06-11 John W. Eaton - - * set/ismember.m: Fix fail tests. - - * general/rat.m: Properly initialize steps when all elements of - input array are integers. Append spaces as necessary when - building character array. - -2008-06-05 Jaroslav Hajek - - * plot/__go_draw_axes__.m: Use fprintf for formatted output. - -2008-06-04 Michael Goffioul - - * plot/__go_draw_axes__.m: Support hggroup objects. - * plot/hggroup.m: New file. - * plot/Makefile.in: Handle it. - -2008-06-02 David Bateman - - * miscellaneous/debug.m: New file.. - * Makefile.in (SOURCES): Add it to the list. - - * general/interp1q.m: Remove spaces between functions and args in - []. Fix test code to actually test interp1q. - -2008-06-02 Jaroslav Hajek - - * strings/strcat.m: Add tests. - -2008-06-02 Kim Hansen - - * strings/mat2str.m: Change is_complex to iscomplex, add tests, add - missing ; - -2008-05-20 David Bateman - - * miscellaneous/single.m: Remove. - * Makefile.in (SOURCES): Remove it here as well. - -2008-05-20 David Bateman - - * general/interp1q.m: New function. - * general/Makefile.in (SOURCES): Add it here. - -2008-05-20 Bill Denney - - * time/datenum.m: Allow mixed scalar and vector/matrix input. - New tests. - -2008-05-19 John W. Eaton - - * general/isa.m: Fix tests. - -2008-05-13 Bill Denney - - * general/isa.m: Use persistent cell arrays to hold class names - instead of multiple strcmp calls. - -2008-05-12 David Bateman - - * control/base/__stepimp__.m, control/base/bode_bounds.m, - control/base/damp.m, control/base/dlqr.m, control/base/lsim.m, - control/base/tzero.m, control/hinf/hinfsyn.m, - control/hinf/is_dgkf.m, control/system/d2c.m, - control/system/is_controllable.m, control/system/is_detectable.m, - control/system/is_stabilizable.m, control/system/is_stable.m, - control/system/sysconnect.m, general/bicubic.m, - general/cplxpair.m, general/isdefinite.m, general/issymmetric.m, - general/quadgk.m, general/quadl.m, general/quadv.m, - geometry/delaunayn.m, linear-algebra/krylov.m, - linear-algebra/null.m, linear-algebra/onenormest.m, - linear-algebra/orth.m, linear-algebra/rank.m, - linear-algebra/rref.m, optimization/qp.m, optimization/sqp.m, - polynomial/polygcd.m, polynomial/residue.m, sparse/normest.m, - specfun/erfinv.m, statistics/distributions/betainv.m, - statistics/distributions/gaminv.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/tests/manova.m: Modify calls to eps to allow for single - precision types. - - * general/isa.m: Also treat "float: and "numeric" as the class - argument. - - * general/dblquad.m, general/quadgk.m, general/quadv.m, - general/triplequad.m: New functions. - - * testfun/assert.m: Allow assert(cond, errmsg, ...) and - assert(cond, msgid, errmsg, ...) syntax for compatibility. - -2008-05-09 Thomas Weber - - * miscellaneous/news.m: Replace deprecated isstr call. - -2008-05-06 David Bateman - - * miscellaneous/symvar.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - -2008-05-04 John W. Eaton - - * miscellaneous/dbstack.m: Delete. - * miscellaneous/Makefile.in (SOURCES): Remove it from the list. - -2008-05-03 Rafael Laboissiere - - * linear-algebra/cond.m, miscellaneous/version.m, - miscellaneous/version.m, plot/feather.m, plot/__bar__.m, - plot/compass.m, plot/__quiver__.m, plot/__scatter__.m: Use ischar - instead of deprecated isstr. - -2008-05-01 David Bateman - - * plot/plot.m: Remove documentation of 'L' option. - * plot/stairs.m: Allow axis handles, properties and linespecs to - be passed. - -2008-04-30 John W. Eaton - - * elfun/acot.m, elfun/acsc.m, elfun/acsch.m, elfun/asec.m, - elfun/asech.m, specfun/pow2.m: Fix tests. - -2008-04-30 Jaroslav Hajek - - * specfun/log2.m: Delete. - * specfun/Makefile.in (SOURCES): Delete it from the list. - -2008-04-29 David Bateman - - pkg/pkg.m: Also set archprefix with the -local and -global options. - -2008-04-29 Jonathan Stickel - - * statistics/distributions/tcdf.m, statistics/distributions/tinv.m: - Doc fix. - -2008-04-25 John W. Eaton - - * miscellaneous/dbstack.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - -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 S�ren 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-15 David Bateman - - * plot/__patch__.m: Fix for NaN values in faces of patches. - -2008-04-14 David Bateman - - * plot/rose.m: Add missing comment mark that causes issues with - octave-forge function referencing. - * deprecated/lchol.m, deprecated/splchol.m: Fix texinfo errors. - -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/lchol.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/spatan2.m, deprecated/spchol.m, - deprecated/spchol2inv.m, deprecated/spcholinv.m, - deprecated/spcumprod.m, deprecated/spcumsum.m, deprecated/spdet.m, - deprecated/spdiag.m, deprecated/spfind.m, deprecated/spinv.m, - deprecated/spkron.m, deprecated/splchol.m, deprecated/splu.m, - deprecated/spmax.m, deprecated/spmin.m, deprecated/spprod.m, - deprecated/spqr.m, deprecated/spsum.m, deprecated/spsumsq.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 John W. Eaton - - * strings/Makefile.in (SOURCES): Add isstrprop.m to the list. - - * Makefile.in, audio/Makefile.in, control/Makefile.in, - * Makefile.incontrol/base/Makefile.in, control/hinf/Makefile.in, - * Makefile.incontrol/obsolete/Makefile.in, - * Makefile.incontrol/system/Makefile.in, control/util/Makefile.in, - * Makefile.indeprecated/Makefile.in, elfun/Makefile.in, - * Makefile.infinance/Makefile.in, general/Makefile.in, - * Makefile.ingeometry/Makefile.in, image/Makefile.in, - * Makefile.inio/Makefile.in, linear-algebra/Makefile.in, - * Makefile.inmiscellaneous/Makefile.in, optimization/Makefile.in, - * Makefile.inpath/Makefile.in, pkg/Makefile.in, plot/Makefile.in, - * Makefile.inpolynomial/Makefile.in, quaternion/Makefile.in, - * Makefile.inset/Makefile.in, signal/Makefile.in, - * Makefile.insparse/Makefile.in, specfun/Makefile.in, - * Makefile.inspecial-matrix/Makefile.in, startup/Makefile.in, - * Makefile.instatistics/Makefile.in, statistics/base/Makefile.in, - * Makefile.instatistics/distributions/Makefile.in, - * Makefile.instatistics/models/Makefile.in, - * Makefile.instatistics/tests/Makefile.in, strings/Makefile.in, - * Makefile.intestfun/Makefile.in, time/Makefile.in - * Makefile.in(check-m-sources): New target. - -2008-04-04 Bill Denney - - * optimization/lsqnonneg.m: Use optimset, correctly index - Z and P in main loop. - -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-03 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/lchol.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/spatan2.m, deprecated/spchol.m, - deprecated/spchol2inv.m, deprecated/spcholinv.m, - deprecated/spcumprod.m, deprecated/spcumsum.m, deprecated/spdet.m, - deprecated/spdiag.m, deprecated/spfind.m, deprecated/spinv.m, - deprecated/spkron.m, deprecated/splchol.m, deprecated/splu.m, - deprecated/spmax.m, deprecated/spmin.m, deprecated/spprod.m, - deprecated/spqr.m, deprecated/spsum.m, deprecated/spsumsq.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. - - * deprecated/splchol.m deprecated/lchol.m deprecated/spfind.m - deprecated/spchol.m deprecated/spmin.m deprecated/spmax.m - deprecated/spdet.m deprecated/splu.m deprecated/spqr.m - deprecated/spatan2.m deprecated/spchol2inv.m - deprecated/spcholinv.m deprecated/spcumprod.m deprecated/spdiag.m - deprecated/spinv.m deprecated/spcumsum.m deprecated/spprod.m - deprecated/spsum.m deprecated/spsumsq.m: New files - * deprecated/Makefile.in (SOURCES): Add them here. - -2008-04-03 Ben Abbott - - * sparse/spaugment.m: Increase test script tolerance. - -2008-04-02 John W. Eaton - - * deprecated/Makefile.in (SOURCES): Add spkron.m to the list. - - * general/Makefile.in (SOURCES): Add runlength.m to the list. - -2008-04-02 Bill Denney - - * optimization/lsqnonneg.m: New function. - * optimization/Makefile.in (SOURCES): Add it to the list. - -2008-04-02 David Bateman - - * sparse/spaugment.m: New function - * sparse/Makefile.in (SOURCES): Add it here. - - * plot/__gnuplot_ginput__.m: Use the gnuplot stream itself for - communication rather than a chat file if mkfifo is not available. - * plot/gnuplot_drawnow.m: Open stream with popen2 to allow two way - communication with the gnuplot process. - -2008-04-01 Richard Bovey - - * general/sortrows.m: Handle negative column arguments. - -2008-04-01 Julian Schnidder - - * miscellaneous/perl.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - -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. - - * plot/gtext.m: New function to place text on a plot. - * plot/waitforbuttonpress.m: New function. - * plot/Makefile.in (SOURCES): Add them to the list. - * plot/__gnuplot_ginput__.m: Bug fix for nargin==1. Workaround for - missing mkfifo under Windows. - * plot/ginput.m: Eliminate setting of n. - - * plot/ginput.m: New function. - * plot/__gnuplot_ginput__.m: New function based on a version of - ginput.m from Petr Mikulik . - * plot/Makefile.in (SOURCES): Add them to the list. - -2008-03-31 Dmitri A. Sergatskov - - * miscellaneous/run.m: Fix check for existence of file. - -2008-03-27 Jaroslav Hajek - - * general/lookup.m: Remove (lookup moved to DLD-FUNCTIONS). - * general/Makefile.in (SOURCES): Delete lookup.m from the list. - * general/interp1.m, general/interp2.m, general/interpn.m, - polynomial/ppval.m: Fix buggy lookup calls. - * general/interp1.m: New test. - -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-28 Julian Schnidder - - * miscellaneous/info.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - -2008-03-27 S�ren Hauberg - - * plot/xlim.m, plot/ylim.m, plot/zlim.m, strings/strtrim.m: - Doc fixes. - -2008-03-27 David Bateman - - * plot/__plt2__.m: Test if args are empty first so that - plot(zeros(1,0),zeros(1,0)) works as expected. - - * plot/plotyy.m: The axis handle is a two element vector and - so needs special treatment. Call newplot for the second axis. - -2008-03-27 Bill Denney - - * time/datenum.m: Allow vector inputs in any orientation. - - * strings/validatestring.m: New function. - * strings/Makefile.in (SOURCES): Add it to the list. - - * general/nargoutchk.m: New function. - * general/Makefile.in (SOURCES): Add it to the list. - - * general/genvarname.m: New function. - * general/Makefile.in (SOURCES): Add it to the list. - - * time/addtodate.m: New function. - * time/Makefile.in (SOURCES): Add it to the list. - - * geometry/rectint.m: Vectorize and add more tests. - -2008-03-27 John W. Eaton - - * plot/__axis_label__.m: Use name of caller in error message. - -2008-03-27 David Bateman - - * linear-algebra/planerot.m: Givens rotation function. - -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. - - * control/hinf/h2syn.m, general/__splinen__.m, general/gradient.m, - geometry/inpolygon.m, geometry/trimesh.m, geometry/triplot.m, - image/imagesc.m, io/csvread.m, io/csvwrite.m, - miscellaneous/edit.m, miscellaneous/tempname.m, plot/fill.m, - plot/patch.m, plot/ribbon.m, plot/surface.m, polynomial/mkpp.m, - polynomial/pchip.m, polynomial/spline.m, set/unique.m: - Texinfo fixes. - -2008-03-26 Jaroslav Hajek - - * linear-algebra/dmult.m: Handle scaling along arbitrary dimension. - -2008-03-26 S�ren Hauberg - - * polynomial/convn.m: New tests. - -2008-03-20 Ben Abbott - - * statistics/base/statistics.m: Calculate median and quantiles in - a manner consistent with method #7 used by GNU R. - * statistics/base/__quantile__.m, statistics/base/quantile.m, - statistics/base/prctile.m: New functions. - * statistics/base/Makefile.in (SOURCES): Add them to the list. - -2008-03-25 S�ren Hauberg - - * polynomial/convn.m: New function. - * polynomial/Makefile.in (SOURCES): Add it to the list. - -2008-03-25 David Bateman - - * image/contrast.m: New function. - * image/Makefile.in (SOURCES): Add it to the list. - -2008-03-24 Thomas Weber - - * pkg/pkg.m: Allow installation of already extracted packages. - -2008-03-24 David Bateman - - * general/idivide.m: New function. - * general/Makefile.in (SOURCES): Add it to the list. - - * miscellaneous/namelengthmax.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - - * strings/regexptranslate.m: New function. - * strings/Makefile.in (SOURCES): Add it to the list. - -2008-03-21 David Bateman - - * specfun/reallog.m, specfun/realpow.m, specfun/realsqrt.m: - New functions. - * specfun/Makefile.in (SOURCES): Add them to the list. - -2008-03-20 David Bateman - - * general/tril.m, general/triu.m: Fail if input is a structure. - - * miscellaneous/cast.m: Also allow cast to "char". - - * general/rotdim.m: Ensure k is an integer scale. - - * general/circshift.m: If matrix is empty fast return. - -2008-03-20 Jaroslav Hajek - - * linear-algebra/subspace.m: Check number of arguments, number - of dimensions of arguments and matching dimensions. - -2008-03-19 Jaroslav Hajek - - * linear-algebra/subspace.m: New function. - * linear-algebra/subspace.m: New function. - -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 Jaroslav Hajek - - * statistics/distributions/exppdf.m, - statistics/distributions/expcdf.m, - statistics/distributions/expinv.m, - statistics/distributions/exprnd.m: Doc fix. - -2008-03-19 David Bateman - - * statistics/base/mode.m: Fix for row vectors. - - * plot/__scatter__.m: Modify for change of markersize in - __go_draw_axes__.m and for compatibility. - * plot/__go_draw_axes__.m: Don't divide the marker size by 6 - twice. - * plot/scatter3.m: Doc fix. - -2008-03-18 Ben Abbott - - * specfun/beta.m: Fix for negative inputs. - -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. - - * io/csread.m, io/csvwrite.m, io/dlmwrite.m: Style fixes. - -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. - -2008-03-11 David Bateman - - * io/dlmwrite.m, io/csvread.m, io/csvwrite.m: Files ported from - octave-forge. - * io/Makefile.in (SOURCES): Add them here. - -2008-03-07 John W. Eaton - - * plot/contourf.m: Set axes layer property to "top". - - * plot/__go_draw_axes__.m: Handle tickdir property. - -2008-03-06 John W. Eaton - - * plot/hist.m: Avoid temporaries. - Allow matrix arguments when number of bins > 30. - From Robert S. Mahurin . - - * plot/ChangeLog: Handle axes linewidth property. - - * plot/__go_draw_axes__.m: Adjust markersize by a factor of 1/6. - - * general/interpn.m: New test. - -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-03-04 John W. Eaton - - * plot/print.m: Fix oops in applying last change. - -2008-03-04 Bill Denney - - * plot/allchild.m, plot/findall.m: New functions. - * plot/Makefile.in (SOURCES): Add them to the list. - - * geometry/rectint.m: New function. - * geometry/Makefile.in (SOURCES): Add it to the list. - -2008-03-04 Michael Goffioul - - * pkg/pkg.m (pkg:configure_make): Make it work with recent changes in - isspace handling with cell arrays of strings. - -2008-03-04 Ben Abbott - - * polynomial/polyfit.m: Modified tests to respect a relative tolerance. - - * plot/print.m: Accept a figure handle as an optional input. - -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_old_gnuplot_color): New subfunction. - Use it to replace repeated if/elseif blocks. - -2008-02-28 Kai Habel - - * plot/__go_draw_axes__.m: If facecolor property of a surface is - "none", don't use pm3d mode and set linestyle correctly. - -2008-02-25 Ben Abbott - - * control/system/zpout.m, finance/irr.m, general/int2str.m, - general/num2str.m, miscellaneous/bug_report.m, - miscellaneous/copyfile.m, miscellaneous/dir.m, - miscellaneous/edit.m, miscellaneous/fullfile.m, - miscellaneous/mkoctfile.m, miscellaneous/movefile.m, - miscellaneous/tempdir.m, miscellaneous/unpack.m, - path/__extractpath__.m, pkg/pkg.m, plot/__ezplot__.m, - plot/__go_draw_axes__.m, plot/legend.m, plot/print.m, - signal/spectral_adf.m, signal/spectral_xdf.m, - statistics/tests/z_test.m, statistics/tests/z_test_2.m, - strings/Makefile.in, strings/strcat.m, strings/strvcat.m, - testfun/assert.m, testfun/demo.m, testfun/speed.m, - testfun/test.m: Use cstrcat instead of strcat. - - * strings/strcat.m: New compatible version. - - * strings/cstrcat.m: Rename from strings/strcat.m. - -2008-02-25 John W. Eaton - - * strings/isstrprop.m: New file. - -2008-02-25 Ryan Hinton - - * miscellaneous/unpack.m: Use "-f -" args for tar. - -2008-02-24 John W. Eaton - - * specfun/log2.m: Ensure returned value of F strictly less than 1. - From Dave Hawthorne . - -2008-02-22 Ben Abbott - - * specfun/legendre.m: Doc fix. - -2008-02-22 David Bateman - - * sparse/pcg.m, sparse/spdiags, spstats.m: Remove references to - spdiag. - -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 Marco Caliari - - * specfun/legendre.m: Accept normalization options ("sch", "norm"), - and improve stability for higher orders. - -2008-02-20 John W. Eaton - - * strings/strcat.m: Detect cellstr args. - -2008-02-20 David Bateman - - * sparse/colperm.m, sparse/nonzero.m, sparse/spdiags.m, - sparse/spfun.m, sparse/spones.m, sparse/sprand.m, - sparse/sprandn.m, sparse/sprandsym.m, sparse/spy.m: Use generic - version of find rather than spfind. - -2008-02-19 Ben Abbott - - * miscellaneous/edit.m: New option EDITINPLACE. Prefer file list - rather than path list. Return option structure with "get all". - - * polynomial/polyfit.m: Use QR decomposition. Handle - normalization option. - * polynomial/polyval.m: Normalize dependent variable. Optionally - generate 50% prediction intervals. - - * miscellaneous/ver.m: Include package version information in - output. Improve consistency with Matlab. - -2008-02-19 John W. Eaton - - * pkg/pkg.m: Style fixes. - -2008-02-19 Carlo de Falco - - * pkg/pkg.m: Handle 'describe' command. - (parse_pkg_idx, print_package_description): New subfunctions. - -2008-02-19 Bill Denney - - * time/datestr.m: Avoid confusion for datenum vectors that are 6 - elements wide. - -2008-02-18 David Bateman - - * general/rem.m, general/mod.m: Treat integer types correctly. - -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-12 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-02-08 David Bateman - - * plot/__contour__.m: Respect the graphic handle options that are - passed. - * plot/__go_draw_axes__.m: Respect the linewidth for patch objects. - -2008-02-01 Dave Goel - - * signal/arch_rnd.m: Correctly index E and Y vectors. - -2008-02-01 Bill Denney - - * time/weekday.m: Allow vector inputs and speed up. - * time/eomday.m: Return column vector for column vector inputs. - -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-29 John W. Eaton - - * strings/str2double.m: Delete unused variable FLAG_OCTAVE. - -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 Alexander Barth - - * general/interpn.m: Compatibility fix. Don't ndgrid vector - abscissa. - -2008-01-25 David Bateman - - * general/__splinen__.m: Treat mixed orientation vectors. - * plot/__scatter__.m: Remove NaN values from data. - * plot/__patch__.m: Vectorize treatment of trailing NaN values. - -2008-01-25 Thomas Weber - - * linear-algebra/trace.m: Test cases for non 2-d args. - -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-22 Thomas Weber - - * linear-algebra/cond.m, linear-algebra/trace.m: - Move tests here from test/test_linalg.m. - - * general/diff.m, general/fliplr.m, general/flipud.m, - general/logspace.m, general/rot90.m, general/shift.m, general/tril.m, - general/triu.m, linear-algebra/vec.m, linear-algebra/vech.m, - special-matrix/hankel.m, special-matrix/hilb.m, - special-matrix/invhilb.m, special-matrix/sylvester_matrix.m, - special-matrix/toeplitz.m, special-matrix/vander.m: - Move tests here from test/test_matrix.m. - - * general/isscalar.m, general/issquare.m, general/isvector.m: - Move tests here from test/test_number.m. - - * deprecated/polyinteg.m, polynomial/compan.m, polynomial/conv.m, - polynomial/deconv.m, polynomial/poly.m, polynomial/polyderiv.m, - polynomial/polyfit.m, polynomial/polyreduce.m, polynomial/polyval.m, - polynomial/polyvalm.m, polynomial/roots.m: - Move tests here from test/test_poly.m. - - * signal/unwrap.m: - Move tests here from test/test_signal.m. - - * statistics/base/corrcoef.m, statistics/base/cov.m, - statistics/base/kurtosis.m, statistics/base/mahalanobis.m, - statistics/base/mean.m, statistics/base/median.m, - statistics/base/skewness.m, statistics/base/std.m: - Move tests here from test/test_stats.m. - - * general/int2str.m, general/num2str.m, strings/bin2dec.m, - strings/blanks.m, strings/deblank.m, strings/dec2bin.m, - strings/dec2hex.m, strings/findstr.m, strings/hex2dec.m, - strings/index.m, strings/rindex.m, strings/split.m, strings/str2mat.m, - strings/str2num.m, strings/strcat.m, strings/strrep.m, - strings/substr.m: - Move tests here from test/test_string.m. - - * miscellaneous/computer.m, miscellaneous/ls.m, - miscellaneous/version.m, time/asctime.m, time/clock.m, time/ctime.m, - time/date.m, time/etime.m, time/is_leap_year.m: - Move tests here from test/test_system.m. - -2008-01-22 Schloegl Alois - - * specfun/erfinv.m: Replace z_old and z_new by a single variable z. - Simplify initial checks on argument values. - -2008-01-22 Michael Goffioul - - * plot/gnuplot_drawnow.m: New function corresponding to the - implementation of the gnuplot-based graphics backend (derived from - drawnow.m). - * plot/drawnow.m: Deleted (converted to C++). - -2008-01-15 Rolf Fabian - - * linear-algebra/__norm__.m: Only scale if inf norm is finite. - New tests. - -2008-01-18 John W. Eaton - - * optimization/sqp.m: End each function with endfunction. - -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-17 John W. Eaton - - * path/savepath.m: Print newline before initial comment line. - Double up single quote characters. - * path/__extractpath__.m: Return just the path as a string. - Undo single quote character doubling. - - * path/pathdef.m: Avoid eval. Simplify. - - * path/pathdef.m: Use fullfile instead of concatenating with filesep. - * path/__extractpath__.m, path/savepath.m: Use unwind_protect to - avoid possible file descriptor leak. - -2008-01-17 Ben Abbott - - * path/savepath.m: Warn if modified file is not explicitly specified. - * startup/main-rcfile: Call atexit ("__finish__"). - -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. - - * startup/Makefile.in (SOURCES): Add __finish__.m to the list. - (install install-strip, uninstall): Handle function files. - -2008-01-16 Ben Abbott - - * startup/__finish__.m: New file. - * path/__extractpath__.m, path/matlabroot.m, - path/pathdef.m: New files. - * path/Makefile.in (SOURCES): Add them to the list. - -2008-01-15 Thomas Weber - - * special-matrix/vander.m: Vectorize. New test. - - * elfun/acot.m, elfun/acoth.m, elfun/acsc.m, elfun/acsch.m, - elfun/asec.m, elfun/asech.m, elfun/cot.m, elfun/coth.m, - elfun/csc.m,elfun/csch.m, elfun/lcm.m, elfun/sec.m, elfun/sech.m, - general/rem.m, miscellaneous/bincoeff.m, miscellaneous/xor.m, - specfun/beta.m, specfun/log2.m, specfun/pow2.m: - Move tests here from test/test_arith.m. - -2008-01-15 John W. Eaton - - * linear-algebra/__norm__.m: Use sum(abs(x),2), not sum(abs(x.')). - -2008-01-15 Michael Goffioul - - * plot/drawnow.m, plot/__go_draw_figure__.m, plot/__go_draw_axes__.m: - Call __get__ instead of get. - -2008-01-15 Ben Abbott - - * linear-algebra/__norm__.m: Avoid divide by zero error for - Frobenius norm if matrix is all zeros. Use transpose instead of - hermitian operator. - -2008-01-14 Bill Denney - - * plot/axis.m: Correctly handle "tight" and "image" options. - -2008-01-14 S�ren Hauberg - - * image/hsv2rgb.m, image/ntsc2rgb.m, image/rgb2hsv.m, - image/rgb2ntsc.m: Also accept images as input. - - * image/gray2ind.m: Handle image type other than double. - Improve error checking and documentation. - -2008-01-14 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. - - * optimization/sqp.m: Fix function definitions in test code. - -2008-01-12 John W. Eaton - - * plot/gnuplot_binary.in: New file. - * plot/gnuplot_binary.m: Delete. - * plot/Makefile.in (SOURCES): Remove gnuplot_binary.m from the list. - (SOURCES_IN, GEN_M): New macros. - (DISTFILES): Include $(SOURCES_IN) in the list. - (FCN_FILES): Include $(GEN_M) in the list. - (all): Depend on $(GEN_M). - ($(GEN_M): %.m : $(TOPDIR)/Makeconf): New pattern rule. - (distclean): Also remove $(GEN_M). - -2008-01-11 John W. Eaton - - * optimization/sqp.m: New test from example in doc string. - -2008-01-10 Ben Abbott - - * polynomial/mpoles.m: Avoid cases where poles could be assigned - to more than one multiplicity group. - -2008-01-10 John W. Eaton - - * plot/gnuplot_binary.m: New file. - * plot/Makefile.in (SOURCES): Add it to the list. - -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-04 Muthiah Annamalai - - * general/sub2ind.m, general/ind2sub.m: Doc fix. - -2008-01-04 S�ren Hauberg - - * set/create_set.m, set/union.m: Accept "rows" argument. - -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 David Bateman - - * ezcontourf.m, ezcontour.m, ezmeshc.m, ezmesh.m, ezplot3.m, - __ezplot__.m, ezpolar.m, ezsurfc.m, ezsurf.m: New functions. - * Makefile.in (SOURCES): Add to the sources. - -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. - -2007-12-21 S�ren Hauberg - - * image/imshow.m: Accept empty value for display_range. - -2007-12-20 Michael Goffioul - - * pkg/pkg.m: Add .lib as architecture-dependent suffix. - -2007-12-19 S�ren Hauberg - - * image/imshow.m: Store uint8 images as doubles. Handle default - display ranges correctly. - -2007-12-19 Alexander Barth - Peter A. Gustafson - - * plot/contourc.m: Allow usage of irregular spaced x, y data. - -2007-12-19 John W. Eaton - - * miscellaneous/edit.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - -2007-12-19 Michael Goffioul - - * plot/__bar__.m: Handle "basevalue" option. - * plot/__bars__.m: New arg, base_value. - -2007-12-17 David Bateman - - * plot/rose.m, plot/feather.m, plot/compass.m: New functions - * plot/Makefiles (SOURCES): Add them to the sources - * plot/polar.m: Set the x and y limits to the maximum polar - radius. Set the axes to be square. - * plot/__go_draw_axes__.m: Allow {x|y}axislocation to be "zero" - and print axis at zero if this is used. - - * plot/__go_draw_axes__.m: Use "set pm3d explicit" so that - contours can overlay pcolor plots. Priveldge no hidden line - removal when there are multiple objects in the plot. - -2007-12-17 Peter A. Gustafson - - * plot/__go_draw_axes__.m: Fix mirrored tics and borders for - set (gca (), "[xy]axislocation", "{right|top}", "box", "off"). - -2007-12-17 Ben Abbott - - * miscellaneous/run.m: Replace script with f when looking for - file to run. - -2007-12-14 David Bateman - - * plot/contour3.m, plot/__contour__.m: Handle linespec. - * plot/contour.m: Doc fix. - * plot/__go_draw_axes__.m (case "patch"): Include "lt" in lt string. - Include linetype in withclause. - - * plot/__go_draw_axes__.m (__calc_dimensions__): New function. - Use it to determine dimensions. Consolidate all 3-d settings. - -2007-12-13 John W. Eaton - - * image/imshow.m: Turn axis visibility off. - Don't scale true color images. - * image/image.m: Set axis layer property to "top". - -2007-12-12 John W. Eaton - - * image/loadimage.m: Avoid calling eval. Avoid calling exist. - - * plot/pie.m: Avoid calling "exist". - - * linear-algebra/condest.m: Use nargin instead of size(varargin,2). - Condense argument processing logic. Allow 6 arguments. - Use issquare. Avoid calling "exist". - - * plot/__go_draw_axes__.m: Handle the axes layer property. - -2007-12-12 David Bateman - - * plot/ellipsoid.m: Port from octave-forge, editing for style. - * plot/Makefile.in (SOURCES): Add to the sources. - -2007-12-11 John W. Eaton - - * plot/surf.m: Set xgrid, ygrid, and zgrid on here. - * plot/surface.m: Not here. - - * plot/__go_draw_axes__.m: Always use "set grid front". Send a - subsequent "unset grid" if there is no grid. - - * plot/__go_draw_axes__.m: Include "front" in "set label" options. - - * plot/surface.m: Don't set facecolor property in call to - __go_surface__. - - * plot/__plt2vs__.m, plot/__plt2sv__.m: New functions. - * plot/__plt2__.m: Handle scalar-vector and vector-scalar cases. - -2007-12-11 Kai Habel - - * plot/__patch__.m: Fix typo. Improve argument checking, so that a - color string is not taken as z value. - - * plot/slice.m: Remove unused variable, set xgrid, ygrid, and - zgrid to "on" and box to "off" for used axes. - - * plot/__go_draw_axes__.m, plot/plot3.m, plot/ribbon.m, - plot/slice.m: Use size_equal(var1,var2,...) when possible. - -2007-12-11 David Bateman - - * miscelleaneous/fullfile.m: Ignore empty arguments. - - * sparse/spstats.m: Drop argument to Fsparse to force mutation. - * statistics/base/mode.m: Ditto. - - * plot/__plt_get_axis_arg__.m: Ignore integer valued handles as - object handles are all now non integer. - -2007-12-10 John W. Eaton - - * plot/sombrero.m, plot/peaks.m: Use surf instead of mesh. - - * general/issymmetric.m: Use ' instead of .' for compatibility - with previous versions of Octave. - * general/ishermitian.m: Delete. - * general/Makefile.in (SOURCES): Remove ishermitian.m from the list. - - * plot/fplot.m: In N is not specified, increase initial number of - points from 3 and 5 to 5 and 8. - - * signal/detrend.m: Move tests here from test/test_signal.m. - Loosen tolerance on first test from 10*eps to 20*eps. - - * finance/rate.m: Don't request info from fsolve. - -2007-12-10 Michael Goffioul - - * plot/__line__.m: Pass initial property/value pairs to __go_line__. - * plot/surface.m: Pass initial property/value pairs to __go_surface__. - -2007-12-10 David Bateman - - * image/image.m: Rewritten to allow trailing properties to be - passed to underlying image object. - * image/__img__.m: Pass additional arguments to __go_image__. - * plot/__patch__.m: Don't set clim, rely on autoscaling. - -2007-12-10 John W. Eaton - - * plot/__go_draw_axes__.m: If we have a grid, send "set grid - front" to gnuplot. - -2007-12-10 David Bateman - - * plot/__go_draw_axes__.m: Issue "set view map" for pcolor, and "set - border front" from images. - * plot/__go_draw_figure__.m: Issue "set autoscale fix" for gnuplot. - * plot/pcolor.m: Set axis "box" property. - * plot/title.m, plot/xlabel.m, plot/ylabel.m, plot/xlabel.m: - Mark as commands. - -2007-12-07 David Bateman - - * plot/surf.m: Don't set facecolor property. - -2007-12-06 John W. Eaton - - * plot/print.m: Pass mono to drawnow. - * plot/drawnow.m: New arg, mono. Pass it to __go_draw_figure__. - * plot/__go_draw_figure__.m: New arg, mono. Pass it to __go_draw_axes. - * plot/__go_draw_axes__.m: New arg, mono. If mono is true, - disable color specifications. - - * general/issymmetric.m: Move tests here from test/test_number.m - -2007-12-06 Jason Riedy - - * general/issymmetric.m: To keep its argument sparse and the - function quick, use the infinity norm rather than the 2-norm. - Also measure the symmetric part rather than the Hermitian part. - * general/ishermitian.m: New file. Measure the Hermitian part. - * general/Makefile.in: Add ishermitian.m to SOURCES. - -2007-12-04 John W. Eaton - - * plot/__go_draw_axes__.m: Omit "font \"NAME,SIZE\"" in gnuplot - text and label commands if font is "*". - - * linear-algebra/krylov.m: Doc fixes. - From Marco Caliari . - -2007-12-04 Kai Habel - - * plot/shading.m: Use __plt_get_axis_arg__ for optional axes argument. - Add "## PKG_ADD: mark_as_command axis" line. - -2007-12-03 John W. Eaton - - * contour.m, contour3.m, contourc.m, contourf.m, cylinder.m, - fplot.m, plot3.m, plotyy.m, quiver3.m, scatter.m, scatter3.m, - slice.m, sombrero.m, stairs.m, stem.m, stem3.m: - Generate demos from examples. - -2007-12-03 David Bateman - - * testfun/test.m: Disable "testif" test block to avoid spurious - skipped test for "make check". Avoid printing variables for - skipped tests. - - * testfun/test.m: Add "testif" type to allow for conditional tests. - - * plot/plotyy.m: Use activepositionproperty property of axes - object. Set second axis color to "none". - * plot/__go_draw_axes__.m: Respect the activepositionproperty - property of the axis objects. - -2007-12-03 Thomas Treichl - - * linear-algebra/condest.m: Loosen tolerance in test. - -2007-12-02 John W. Eaton - - * plot/__go_draw_axes__.m: Remove unnecessary call to - get_data_limits. - -2007-11-30 John W. Eaton - - * plot/__go_draw_axes__.m: Don't compute data or axis limits. - (get_data_limits, get_axis_limits): Delete. - -2007-11-30 David Bateman - - * plot/__scatter__.m: Avoid out of bounds varargin element access. - - * plot/__go_draw_axes__.m (do_tics_1): regexprep the cell array of - tick labels rather than one by one on the labels themselves. - * plot/pareto.m: Bug in numerical labels fixed. Bug in search for - 95% crossing fixed. - -2007-11-29 David Bateman - - * plot/pareto.m: New file. - * plot/Makefile.in (SOURCES): Add it to the sources. - * plot/__go_draw_axes__.m (do_tics1): Replace "%" with "%%" in tic - marks to avoid gnuplot error about formating. More colorspec to - after the tics. - * plot/plotyy.m: More generic check for appropriate axis color. - - * plot/__stem__.m: New file based on old stem.m expanded to treat - 2- and 3-D. - * plot/stem3.m: New function. - * plot/Makefile.in (SOURCES): Add them to the sources. - * plot/stem.m: Adapt to use __stem__. - -2007-11-29 John W. Eaton - - * plot/contour.m, plot/contour3.m, plot/fill.m, plot/patch.m, - plot/surf.m, plot/surface.m: Don't return handle value unless - requested. - - * plot/patch.m: Omit isnan check on handle returned from - __plt_get_axis_arg__. - - * plot/__plt_get_axis_arg__.m: Don't fail if current figure exists - but has no axes. - -2007-11-28 David Bateman - - * __plt_get_axis_handle__.m: Also allow hggroup and return axes - ancestor. If leading argument is logical set variable nogca to see - if gca() should be called if there is no active handle found. - * __bar__.m, caxis.m, scatter.m, contourf.m, __axes_limits__.m, - fill.m, surf.m, meshz.m, axis.m, pie.m, contour.m, - quiver.m, area.m, grid.m, cylinder.m, contour3.m, surface.m, - patch.m, scatter3.m, plot.m, sphere.m, quiver3.m, plotyy.m, - xlabel.m, ylabel.m, surfnorm.m, zlabel.m: Adapt to use - __plt__get_axis_arg__ to find axis handle. - * polar.m: Typo. - -2007-11-28 John W. Eaton - - * plot/__go_draw_axes__.m (get_data_limits): Delete unused arg TX. - -2007-11-28 Michael Goffioul - - * plot/drawnow.m: Fix typo. - -2007-11-27 David Bateman - - * plot/errorbar.m, plot/loglog.m, plot/loglogerr.m, plot/polar.m, - plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, - plot/semilogyerr.m: Treat an axis handle as the first argument. - - * plot/meshz.m: New function. - * plot/Makefile.in (SOURCES): Add it to the list. - * plot/surface.m: Allow surface to accept an axis handle as the - first argument. - * plot/meshc.m: Extract z from the the surface object rather than - varargin so that we can rely on code in surface to treat leading - axis handles. - - * plot/__go_draw_axes__.m: Add nomirror to "set ytics" and "set - y2tics" in the case of a plotyy plot. - * plot/plotyy.m: ensure the position property is set correct for - the second axis, by setting it after the plot itself. In the case - of a plot that returns multiple handles, base the color selection - on the first. - -2007-11-27 Kai Habel - - * plot/__go_draw_axes__.m: Set quadrilateral color according to - z-value of vertex 'c3'. - -2007-11-27 John W. Eaton - - * image/image.m: Allow nargin == 0 case to work again. - -2007-11-27 David Bateman - - * plot/__go_draw_figure__.m: Force a multiplot mode with a - colorbar, to ensure that the colorbar is on the canvas for png and - postscipt outputs. - -2007-11-26 David Bateman - - * sparse/spstats.m, statistics/base/mode.m: More care with sparse - return values. - - * plot/plotyy.m: New function - * plot/Makefile.in (SOURCES): Add it here. - * plot/__go_draw_axes__.m: Force axis margins for plotyy. Set text - color for {x|y|z}label and {x|y|z}tics. Also force the label of - {x|y}label to respect the axis position. - * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Accept an axis - handle as the first argument. - - * pkg/pkg.m (pkg:install): When loading the installed packages - index into installed_pkgs_lst and not descriptions.. - - * plot/quiver3.m, plot/surfnorm.m, plot/__quiver__.m: New functions. - * plot/Makefile.in (SOURCES): Add them to the sources. - * plot/quiver.m: Modify to use __quiver__.m. - - * plot/hist.m: Avoid saturation when the x values are in an - inetger type. - -2007-11-26 Jason Riedy - - * linear-algebra/condest.m, linear-algebra/onenormest.m: New - functions. - * linear-algebra/Makefile.in (SOURCES): Add them to the sources. - -2007-11-26 David Bateman - - * plot/__go_draw_axes__.m: Prevent the cbrange from being of zero - extent. - - * plot/colorbar.m: New function. - * plot/Makefile.in (SOURCES): Add it to the sources. - * plot/__go_draw_axes__.m: Calculate the colorbar position, - precalculate the clim, set pm3d except for mesh. - * plot/__contour__.m: Don't scale the contours to clim, but rather - save the real values so that colorbar corresponds to the contour - levels. - - * plot/stem.m: Set marker color the same as the line color. Draw - a single discontinous line object for the stems. - - * plot/sphere.m: New function ported from JHandles. - * plot/Makefile.in (SOURCES): Add it to the sources. - - * plot/__go_draw_axes__.m: Pass the have_newer_gnuplot arg to - __maybe_munge_text__. Use it to reforce fontname for gnuplot 4.0 - to get enhanced mode to work correctly for the X11 terminal. - - * plot/imagesc.m, plot/image.m: Scale colormap to image and not - the reverse. Allow an axes handle to be passed and/or returned. - * plot/__go_draw_axes__.m: Autoscale colormap for images. - - * plot/__go_draw_axes__.m: Add depthorder flag to "set pm3d" to - sort surface patches by their depth and not the order they are - rendered in. - - * plot/__patch__.m: Set clim correctly. - * plot__go_draw_axes__.m: Allow patch objects to have markers, and - the marker color is determined by the cmap. - * plot/scatter.m: New function to 2D scatter plots. - * plot/scatter3.m: New function to 3D scatter plots. - * plot/__scatter__.m: Support function for scatter plots - * Makefile.in (SOURCES): Ad dnew functions here. - - * plot/drawnow.m (open_gnuplot_stream, init_gnuplot_stream): - Return whether the terminal supports enhanced text or not. - (drawnow:enhanced_term): New sub-function to determine if terminal - supports enhanced mode. - * plot/__go_draw_figure__.m: Accept enhanced flag and pass to - __go_draw_axes__. - * plot/__go_draw_axes__.m: Accept enhanced flag and munge text if - needed to support the enhanced mode. - * plot/print.m: Remove "enhanced" option as this is now treated in - drawnow.m. - - * plot/caxis.m: New function to control the color axis limits. - * plot/Makefile.in (SOURCES): Include it. - * plot/axis.m: Allow the first argument to be an axes handle. - * plot/__go_draw_axes__.m: Move the setting of the caxis, also - autoscale caxis for patches. If any(isinf(clim)) don't set the - caxis limits. - - * image/gmap40.m: New gnuplot 4.0 specific colormap fucntion. - * image/Makefile.in (SOURCES): Include it. - * plot/__bar__.h: Allow axis handles to be passed. Set the color - of the bars for the colormap. - * plot/bar.m, plot/barh.m: Document that axis handles can be - passed. - * plot/__contour.m: Avoid possible divide by zero error. - * plot/contour.m: Missing semicolon. - * plot/surface.m: Don't attempt to set additional arguments if - there are none. - * plot/Makefile.in (SOURCES): Include __bars__.m - -2007-11-19 Michael Goffioul - - * plot/__bar__.m: put bar creation code into separate function - to allow easy hook up from other graphic backends - - * plot/__bars__.m: new function containing bar creation code - -2007-11-26 Alexander Barth - - * general/accumarray.m: Correct dimension check. - -2007-11-26 John W. Eaton - - * polynomial/residue.m: Prepad along second dimension. - From Doug Stewart . - -2007-11-26 Kai Habel - - * plot/cylinder.m, plot/slice.m: New functions. - * plot/Makefile.in (SOURCES): Add them to the list. - -2007-11-14 Michael Goffioul - - * plot/patch.m: Handle arg may also be hggroup object. - Use ancestor to find parent axes object. - -2007-11-14 David Bateman - - * plot/__contour__.m: Treat unclosed contours by adding NaN to - flag to patch that it is not closed. Allow z to take string - arguments and use it to flag that the contours are placed at the - z level of the contour itself. - * plot/__go_draw_axes__.m: Treat hidden line removal in patch - objects as well. Let hidden removal take precedence in case of a - conflict. - * plot/surface.m: Allow surface to treat handles being passed or - returned. Any additional arguments arr used to set the surface - handle. - * plot/contour3.m: New function - * plot/Makefile.in (SOURCES): Add it to the sources. - -2007-11-14 John W. Eaton - - * specfun/bessel.m: Update doc string from - src/DLD-FUNCTIONS/besselj.cc. - -2007-11-12 David Bateman - - * plot/contour.m: Allow handles to be passed and returned. Split - the countour function itself into __contour__.m to be shared with - surfc and meshc. - * plot/__contour__.m: New file - * plot/Makefile.in (SOURCES): Add it to the sources. - * plot/__go_draw_axes.m: For patch objects don't attempt to patch - the face or edge if the facecolor or edge color are marked as - "none". Allow the edgecolor to be determined by the cdata in the - same manner as the facecolor. Fail if facecolor is not "none" and - a 3-D plot is desired, rather than ignoring zdata. Make the - storage of 3D/4D data consistent between line, surface and patch - objects. - * plot/meshc.m: Use new __contour__.m to plot the contours. - * plot/surfc.m: Use new __contour__.m to plot the contours. - - * plot/__go_draw_axes__.m (get_fontname_and_size): - Handle fontweight and fontangle properties. - -2007-11-12 Kai Habel - - * plot/spinmap.m, plot/ribbon.m: New functions. - * plot/Makefile.in (SOURCES): Add them to the list. - -2007-11-12 John W. Eaton - - * plot/__go_draw_axes__.m (get_fontname_and_size): New subfunction. - Use it to avoid duplicated code. - -2007-11-12 David Bateman - - * plot/title.m: Fix return value for nargout > 0. - - * plot/__go_draw_axes.m: Allow the font and fontsize to be - specified for the title, xlabel, ylabel and text objects. - - * plot/__go_draw_axes.m: Allow arbitrary colormaps with gnuplot - 4.0 and surface plots. - -2007-11-12 Michael Goffioul - - * plot/__patch__.m: Fix computation of faces when patch is defined - with X/Y/Z data. - -2007-11-09 John W. Eaton - - * plot/__go_draw_axes__.m: Correct test for have_data. - Correct logic in setting palette data. - - * audio/wavread.m, control/base/__bodquist__.m, - control/base/dare.m, control/base/dlqr.m, control/hinf/h2norm.m, - control/system/c2d.m, control/system/is_detectable.m, - control/system/is_signal_list.m, control/system/is_stabilizable.m, - control/system/tfout.m, general/isdefinite.m, - linear-algebra/krylov.m, miscellaneous/compare_versions.m, - optimization/glpk.m, path/savepath.m, plot/findobj.m, - plot/shading.m, polynomial/mpoles.m, polynomial/polyint.m, - signal/freqz.m, signal/hurst.m, sparse/spfun.m, sparse/spones.m, - sparse/spstats.m, testfun/assert.m, testfun/fail.m, - testfun/test.m: Use specific end keywords. - - * plot/surfc.m, plot/meshc.m: Don't change view if hold is on. - -2007-11-09 Kai Habel - - * plot/mesh.m, plot/pcolor.m, plot/surf.m, plot/surface.m: - Don't change view if hold is on. - -2007-11-09 David Bateman - - * plot/hidden.m: New function. - * plot/Makefile.in (SOURCES): Add it here. - * plot/meshc.m, plot/mesh.m: Set facecolor to White for hidden - line removal. - * plot/__go_draw_axes__.m: If facecolor is white flag hidden line - removal and if it is "none" don't do hidden line removal. - - * plot/legend.m: Also allow labels for surface and patch types. - * plot/__bar__.m: Split into separate patch pbjects to allow - setting of the legend. - * plot/__go_draw_axes__.m: Set titlespec from keylabel for patch - objects as well. - - * plot/area.m, plot/__area__.m: New functions - * plot/Makefile.in (SOURCES): Add them to the list of files. - - * plot/patch.m: Correctly handle case of axis handle as first arg. - -2007-11-09 Joseph P. Skudlarek - - * sparse/spdiags.m: Tweak documentation entries to match other uses. - -2007-11-08 John W. Eaton - - * control/base/dcgain.m, control/base/dre.m, - control/base/impulse.m, control/base/step.m, - control/system/dmr2d.m, control/system/ord2.m, - control/system/sys2ss.m, control/system/sysdimensions.m, - control/system/sysgetsignals.m, control/system/sysout.m, - control/system/tfout.m, control/system/ugain.m, - control/system/zpout.m, control/util/strappend.m: - Don't fail with usage message if nargout is too large. - - * control/hinf/h2syn.m, control/hinf/hinf_ctr.m, - control/hinf/hinfnorm.m, control/hinf/hinfsyn.m, - control/hinf/hinfsyn_chk.m, control/hinf/is_dgkf.m, - control/hinf/wgt1o.m, control/obsolete/dezero.m, - control/obsolete/dlqg.m, control/obsolete/minfo.m, - control/obsolete/packsys.m, control/obsolete/qzval.m, - control/obsolete/rotg.m, control/obsolete/series.m, - control/obsolete/swapcols.m, control/obsolete/swaprows.m, - control/obsolete/syschnames.m, control/obsolete/unpacksys.m, - control/system/__syschnamesl__.m, - control/system/__syscont_disc__.m, - control/system/__sysdefioname__.m, control/system/__sysgroupn__.m, - control/system/__tf2sysl__.m, control/system/__zp2ssg2__.m, - control/system/abcddim.m, control/system/buildssic.m, - control/system/c2d.m, control/system/cellidx.m, - control/system/d2c.m, control/system/dmr2d.m, - control/system/fir2sys.m, control/system/is_abcd.m, - control/system/is_controllable.m, control/system/is_detectable.m, - control/system/is_digital.m, control/system/is_observable.m, - control/system/is_stabilizable.m, control/system/is_stable.m, - control/system/jet707.m, control/system/listidx.m, - control/system/parallel.m, control/system/ss.m, - control/system/ss2sys.m, control/system/ss2zp.m, - control/system/starp.m, control/system/sys2ss.m, - control/system/sys2tf.m, control/system/sys2zp.m, - control/system/sysadd.m, control/system/sysappend.m, - control/system/sysconnect.m, control/system/syscont.m, - control/system/sysdimensions.m, control/system/sysdisc.m, - control/system/sysdup.m, control/system/sysgetsignals.m, - control/system/sysgroup.m, control/system/sysmin.m, - control/system/sysmult.m, control/system/sysout.m, - control/system/sysprune.m, control/system/sysreorder.m, - control/system/sysscale.m, control/system/syssetsignals.m, - control/system/syssub.m, control/system/sysupdate.m, - control/system/tf.m, control/system/tf2ss.m, - control/system/tf2sys.m, control/system/tfout.m, - control/system/zp.m, control/system/zp2ss.m, - control/system/zp2sys.m, control/system/zp2tf.m, - control/system/zpout.m, control/util/__outlist__.m, - control/util/__zgpbal__.m, control/util/axis2dlim.m, - control/util/prompt.m, control/util/sortcom.m, - control/util/zgfmul.m, control/util/zgfslv.m, - control/util/zginit.m, control/util/zgreduce.m, - control/util/zgrownorm.m, control/util/zgscal.m: Style fixes. - -2007-11-08 David Bateman - - * plot/quiver.m: Fix arrowheads. - -2007-11-07 Ben Abbott - - * set/ismember.m: Call cell_ismember to handle cellstr args. - Handle "rows" argument. New tests. - (cell_ismember): New function. - -2007-11-07 John W. Eaton - - * control/base/__bodquist__.m, control/base/__freqresp__.m, - control/base/__stepimp__.m, control/base/are.m, - control/base/ctrb.m, control/base/damp.m, control/base/dare.m, - control/base/dcgain.m, control/base/dgram.m, control/base/dlqr.m, - control/base/dre.m, control/base/impulse.m, control/base/lqe.m, - control/base/lqg.m, control/base/lqr.m, control/base/lsim.m, - control/base/ltifr.m, control/base/nichols.m, - control/base/nyquist.m, control/base/obsv.m, control/base/place.m, - control/base/rlocus.m, control/base/step.m, control/base/tzero.m: - Style fixes. - -2007-11-07 Muthiah Annamalai - - * control/base/bode_bounds.m, control/base/dgram.m, - control/base/dlyap.m, control/base/freqchkw.m, - control/base/gram.m, control/base/place.m, - control/hinf/hinf_ctr.m, control/hinf/hinfsyn_chk.m, - control/hinf/hinfsyn_ric.m, control/system/is_sample.m, - control/system/is_signal_list.m, control/system/ss2tf.m, - control/system/sys2fir.m, control/system/sysgettsam.m, - control/system/sysgettype.m, control/system/sysreorder.m, - control/system/tf2sys.m, control/system/zp2tf.m, - control/util/axis2dlim.m, control/util/swap.m, - control/util/zgfmul.m, control/util/zgfslv.m, - control/util/zginit.m, control/util/zgreduce.m, - control/util/zgrownorm.m, control/util/zgscal.m, - control/util/zgsgiv.m, control/util/zgshsr.m, general/isa.m, - geometry/inpolygon.m, linear-algebra/housh.m, - miscellaneous/compare_versions.m, miscellaneous/inputname.m, - miscellaneous/run.m, quaternion/qconj.m, - quaternion/qcoordinate_plot.m, quaternion/qderiv.m, - quaternion/qderivmat.m, quaternion/qinv.m, quaternion/qmult.m, - quaternion/qtrans.m, quaternion/qtransvmat.m, signal/fractdiff.m, - signal/freqz_plot.m, signal/periodogram.m, signal/rectangle_lw.m, - signal/rectangle_sw.m, signal/sinc.m, signal/triangle_lw.m, - signal/triangle_sw.m, signal/yulewalker.m, sparse/colperm.m, - sparse/etreeplot.m, sparse/nonzeros.m, sparse/spalloc.m, - sparse/spones.m, sparse/spy.m, specfun/isprime.m, - statistics/distributions/empirical_cdf.m, - statistics/distributions/empirical_inv.m, - statistics/distributions/empirical_pdf.m, - statistics/models/logistic_regression_derivatives.m, - statistics/models/logistic_regression_likelihood.m: Check nargin. - -2007-11-07 David Bateman - - * general/gradient.m: Correctly convert deltax and deltay scalar - values are scalars to vectors. - - * plot/__go_draw_axes__.m: Fix surfaces for gnuplot 4.0 and for - the meshc.m function. - * plot/meshc.m: Also use the surface function. - - * plot/meshc.m, plot/quiver.m, plot/surfc.m, : New files. - * plot/Makefile.in (SOURCES): Add them to the list. - Also add pcolor.m, shading.m, surf.m, and surface.m to the list. - -2007-11-07 Michael Zeising - - * audio/wavwrite.m, audio/wavwrite.m: Correct sample scaling. - -2007-11-07 John W. Eaton - - * plot/__go_draw_axes__.m: Also set have_data to false if any of - the data limits are infinite. - (get_data_limits): Don't do anything if xdat or tx are empty. - (get_axis_limits): Don't do anything if min_val or max_val are - infinite. - -2007-11-06 David Bateman - - * plot/hist.m: Pass any additional arguments to bar for - treatment. Create a default x value that is always a vector. - -2007-11-06 Thomas Treichl - - * pkg/pkg.m.m: Check for environment variables CC, CXX, AR, RANLIB - when calling ./configure and add quotes to preserve spaces. - -2007-11-06 Kai Habel - - * plot/pcolor.m, plot/shading.m, plot/surf.m, plot/surface.m: - New files. - * plot/mesh.m: Call surface to do the real work. - * plot/__go_draw_axes__.m: Use pm3d mode to handle new surface - properties. - - * image/colormap.m: Also return current colormap if nargout and - nargin are both 0. - -2007-11-05 Michael Goffioul - - * startup/inputrc: Delete key bindings starting with \340 code. - -2007-11-05 David Bateman - - * linear-algebra/__norm__.m: Scale frobenius norm by infinity norm - to avoid issues of over- and underflow. From Rolf Fabian - . - -2007-11-02 Olli Saarela - - * time/asctime.m, general/structfun.m: Fix broken @examples in - help texts. - -2007-11-02 Kai Habel - - * plot/bar.m, plot/barh.m: Doc fix. - -2007-10-31 John W. Eaton - - * plot/__go_draw_axes__.m: Call undo_string_escapes on obj.keylabel. - -2007-10-31 Michael goffioul - - * plot/subplot.m: Ignore legend objects when parsing existing axes - objects and legend objects are implemented with a separate axes - object. - -2007-10-30 David Bateman - - * control/base/DEMOcontrol.m: Doc fixes for small book format. - - * plot/__go_draw_axes__.m (do_linestyle_command): - Use point type 0 for ".". - -2007-10-26 John W. Eaton - - * image/imshow.m: Improve compatibility. - * image/image.m: Return handle if nargou > 0. - - * pkg/pkg.m: Delete PKG_ADD directive for autoloading packes. - -2007-10-25 John W. Eaton - - * miscellaneous/compare_versions.m: Style fixes. - -2007-10-24 John W. Eaton - - * image/saveimage.m: Use functional form of save instead of eval. - Use -text instead of -ascii. - - * plot/__go_draw_axes__.m: Handle visible = "off" for axes objects. - -2007-10-23 Peter A. Gustafson - - * plot/legend.m: Also extract location string from varargin (lost - when 2007-10-08 patch was applied). - -2007-10-23 David Bateman - - * plot/xlim.m, plot/ylim.m, plot/zlim.m, plot/__axes_limits__.m, - miscellaneous/what.m: New functions - * plot/Makefile.in, miscellaneous/Makefile.in (SOURCES): Add new - functions. - -2007-10-22 David Bateman - - * miscellaneous/cputime.m, time/tic.m, time/toc.m: Delete. - * miscellaneous/Makefile.in (SOURCES): remove cputim.m - * time/Makefile.in (SOURCES): Remov tic.m and toc.m - -2007-10-19 Kai Habel - - * plot/contourf.m: New function. - * plot/Makefile.in (SOURCES): Add it to the list. - -2007-10-19 John W. Eaton - - * plot/subplot.m: Doc fix. - -2007-10-19 David Bateman - - * plot/__bar__.m, plot/fill.m: Call newplot as needed. - -2007-10-17 Carlo de Falco - - * plot/print.m: Handle -textspecial and -textnormal flags for fig - output. - -2007-10-15 S�ren Hauberg - - * general/rat.m, sparse/pcg.m, sparse/pcr.m, optimization/sqp.m, - statistics/models/logistic_regression.m, polynomial/polygcd.m, - control/system/ss.m, signal/arch_rnd.m, control/system/ss2sys.m, - control/system/syssetsignals.m, control/base/lqg.m, - strings/str2double.m, control/system/sysscale.m, - control/hinf/hinfdemo.m, general/cplxpair.m: - Make help text fit on pages when using smallbook. - -2007-10-15 David Bateman - - * plot/print.m: Call drawnow before printing to ensure the plot is - on the screen. - - * testfun/test.m: In error/warning blocks test for an error before - a warning to avoid unexpected failures. - -2007-10-15 Kim Hansen i - - * testfun/assert.m: Correct documentation of absolution versus - relative error tolerance and add tests. - -2007-10-14 David Bateman - - * pkg/pkg.m (pkg:configure_make): Treat case of no files to install in - src directory. - * plot/Makefile.in (SOURCES): Add fill.m. - -2007-10-13 David Bateman - - * plot/__patch__.m: Allow multiple patches to be defined and - return a single patch object. Allow Faces/Vertices form of - patch. Flag failure so the patch can call print_usage. - * plot/patch.m: Update help string for Faces/Vertices - call. Respect the fail flag returned by __patch__. Add demo code - that tests the functionality of patch. - * plot/__go_draw_axes__.m: Treat an array of patches in a single - patch object. - * plot/fill.m: New function. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-11 John W. Eaton - - * plot/__go_draw_axes__.m (get_axis_limits): - Return lim = [] if logscale and no positive values. - (__go_draw_axes__): Skip plotting if computed axis limits are empty. - Set initial min and min positive values to Inf, max values to -Inf. - (get_data_limits): Correctly handle xminp when no positive values - are found. - -2007-10-11 Ben Abbott - - * polynomial/residue.m: New optional input for pole multiplicity. - Doc fix. Fix tests. - -2007-10-11 Thomas Treichl - - * toplev.cc (Foctave_config_info): Add field "mac". - - * miscellaneous/ismac.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to the list. - * miscellaneous/ispc.m, miscellaneous/isunix.m: Doc fix. - -2007-10-11 Arno Onken - - * statistics/distributions/hygernd.m: Allow size to be specified - as a scalar. Handle three argument case. Allow T, M, and N to be - scalars or matrices of a common size. - -2007-10-11 Brian Gough - - * control/csrefcard.lt, control/system/is_detectable.m, - control/system/sysgroup.m, geometry/voronoin.m, - miscellaneous/dir.m, sparse/pcg.m, sparse/treeplot.m, - statistics/base/mode.m, statistics/distributions/betarnd.m, - statistics/distributions/binornd.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/exprnd.m, - statistics/distributions/frnd.m, - statistics/distributions/gamrnd.m, - statistics/distributions/geornd.m, - statistics/distributions/laplace_rnd.m, - statistics/distributions/logistic_rnd.m, - statistics/distributions/lognrnd.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/normrnd.m, - statistics/distributions/poissrnd.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/trnd.m, - statistics/distributions/unifrnd.m, - statistics/distributions/wblrnd.m: Spelling fixes. - -2007-10-10 Thomas Treichl - - * time/tic.m: New optional output value. - - * general/int2str.m: Doc fix. - -2007-10-10 Arno Onken - - * statistics/distributions/hygecdf.m, - statistics/distributions/hygeinv.m, - statistics/distributions/hygepdf.m, - statistics/distributions/hygernd.m: - Swap order of T and M args for compatibility. - -2007-10-10 Olli Saarela - - * control/hinf/hinfsyn.m, control/hinf/wgt1o.m, - control/system/buildssic.m, control/system/c2d.m, - control/system/d2c.m, control/system/ord2.m, control/system/ss.m, - control/system/ss2sys.m, control/system/ss2tf.m, - control/system/syscont.m, control/system/sysdimensions.m, - control/system/sysdisc.m, control/system/sysmult.m, - control/system/sysrepdemo.m, control/system/tf2ss.m, elfun/lcm.m, - finance/fv.m, general/cumtrapz.m, general/gradient.m, - general/interp1.m, general/interp2.m, general/interp3.m, - general/interpft.m, general/interpn.m, general/polyarea.m, - general/rat.m, general/structfun.m, general/trapz.m, - geometry/tsearchn.m, image/rgb2hsv.m, linear-algebra/krylov.m, - miscellaneous/ans.m, miscellaneous/gzip.m, optimization/glpk.m, - optimization/sqp.m, plot/findobj.m, plot/legend.m, plot/peaks.m, - plot/plot3.m, plot/stem.m, polynomial/deconv.m, - polynomial/pchip.m, polynomial/spline.m, polynomial/unmkpp.m, - sparse/pcr.m, sparse/spalloc.m, sparse/spconvert.m, - specfun/factor.m, specfun/legendre.m, statistics/base/mean.m, - statistics/base/meansq.m, statistics/base/var.m, - statistics/tests/chisquare_test_independence.m, - statistics/tests/t_test.m, statistics/tests/u_test.m, - strings/dec2base.m, strings/mat2str.m, testfun/speed.m, - testfun/test.m: Spelling fixes. - -2007-10-10 Ben Abbott - - * polynomial/mpoles.m: Return indx = ordr(indx), not indx(ordr). - -2007-10-10 John W. Eaton - - * general/num2str.m: Always allow for sign for automatically - computed format widths. - -2007-10-09 David Bateman - - * plot/patch.m: Accept a handle as the first argument. - -2007-10-09: Kim Hansen - - * general/repmat.m: Handle sparse input. Add tests. - -2007-10-09 John W. Eaton - - * audio/wavwrite.m: Accept arguments in compatible order. - -2007-10-08 David Bateman - - * general/interp2.m: Relax test for values outside the grid to - allow monotonically decreasing abscissa as well. - -2007-10-08 Ben Abbott - - * polynomial/residue.m: Doc fix. Add tests. Restore multiplicity - as output parameter. - -2007-10-08 Peter A. Gustafson - - * plot/__go_draw_axes__.m, plot/legend.m: - Handle compatible position specifiers as strings. - -2007-10-08 John Swensen - - * general/num2str.m: Eliminate extra whitespace in output. - * strings/strtrim.m: New function. - * strings/Makefile.in (SOURCES): Add it to the list. - -2007-10-06 John W. Eaton - - * polynomial/residue.m: New test from test/test_poly.m. - -2007-10-06 S�ren Hauberg - - * image/saveimage.m: Handle saving color images without a colormap. - * image/__img_via_file__.m: Add missing semicolon. - -2007-10-06 Bill Denney - - * general/__splinen__.m, general/isscalar.m, general/rat.m, - strings/dec2base.m: Use numel(x) instead of prod(size(x)). - -2007-10-06 Francesco Potorti` - - * plot/print.m: Handle svg output type. Accept new -S option to - specify size for PNG and SVG output types. - -2007-10-05 Ben Abbott - - * polynomial/mpoles.m: New function. - * polynomial/residue.m: Modified to behave in reciprocal - manner. No longer compute 4th output, "e". No longer accept - tolerance input. Explicitly set tolerance parameter to 0.001. - Respect maximum relative difference in poles when determining - their multiplicity. Use mpoles to determine the multiplicity of - poles. - -2007-10-05 Peter A. Gustafson - - * plot/__go_draw_axes__.m: Add cbrange to the plot stream - for surface plots. - -2007-10-05 John W. Eaton - - * plot/__next_line_color__.m: Get color_rotation from axes - colororder property. - -2007-10-03 John W. Eaton - - * miscellaneous/dir.m: Handle symbolic links in compatible way. - Use S_ISDIR (st.mode) instead of checking st.modestr(1) == "d". - - * linear-algebra/Makefile.in (SOURCES): Rename norm.m to __norm__.m. - * linear-algebra/__norm__.m: Rename from norm.m. Eliminate - special for __vnorm__. - -2007-10-03 Quentin Spencer - - * linear-algebra/norm.m: Special case vector 1-norm and 2-norm. - -2007-10-03 David Bateman - - * pkg/pkg.m (is_architecture_dependent): New function to identify - if a file is architecture dependent based on a list of file - extensions. - (configure_make): Simplify the search for architecture dependent - files based on this function. - (load_pakages_and_dependencies): Also look for bin directory in - the architecture dependent directory. - -2007-10-03 John W. Eaton - - * miscellaneous/dir.m: Create empty struct with field names. - Include datenum in struct. - -2007-10-02 David Bateman - - * miscellaneous/ls.m: If nargout return string array of files - returned by ls. - -2007-10-01 John W. Eaton - - * plot/__go_draw_axes__.m: Use %.15e instead of %.15g when setting - range values. - -2007-10-01 David Bateman - - * linear-algebra/norm.m: Inline the isvector(x) calculation for - speed with small vectors. - * pkg/pkg.m (archprefix): Set using octave_config_info("libexecdir") - rather than OCTAVE_HOME(). - -2007-09-30 Ben Abbott - - * plot/findobj.m: New function. - * plot/Makefile.m (SOURCES): Add it to SOURCES. - -2007-09-26 David Bateman - - * pkg/pkg.m: Add second argument to setting for prefix for - architecture dependent files. Use throughout. - (pkg:issuperuser): New function, use through to check for - root user. - (pkg:getarchprefix): function to give the archiecture dependent - prefix for a package. - (pkg:getarchdir): New function giving location of architetcure - dependent directory. Use through out. - (pkg:install): Treat architecture dependent directory separately - as in might not be a sub-directory of the package directory. - (pkg:uninstall): ditto. - (pkg:create_pkgadddel): Check for global or local install for - architecture dependent directory. - (pkg:finish_installation): ditto. - (pkg:write_INDEX): ditto. - (pkg:load_packages_and_dependencies): ditto. - (pkg:copy_files): ditto. Add step to copy architecture dependent - files to a new location if user is root. - (pkg:rm_rf): Check if file or directory exists before removing. - (pkg:dirempty): Check if directory exists before checking. - - * plot/___patch__.m: Allow face colors to be passed as strings - - * plot/__plt_get_axis_arg__.m: Treat case of empty "varargin" - needed for calls to "hold" without an argument. - -2007-09-21 John W. Eaton - - * optimization/sqp.m: Fix typo. - - * plot/__go_draw_axes__.m (do_tics_1): Use %g, not %.15g here. - -2007-09-21 Luther Tychonievich - - * control/hinf/h2norm: Compute d*d', not d'*d. - -2007-09-21 Thomas Weber - - * statistics/distributions/Makefile.in (SOURCES): Add unidcdf.m, - unidpdf.m and unidinv.m - -2007-09-18 John W. Eaton - - * plot/__go_draw_axes__.m: Use %.15g throughout. - (do_tics_1): Set numeric axes formats to "%.15g". - -2007-09-18 David Bateman - - * plot/__go_draw_axes__.m (__gnuplot_write_data__): Use %e instead - of %g when writing data. - -2007-09-17 John W. Eaton - - * plot/__go_draw_axes__.m: Omit linestyle clause for errorbar plots. - -2007-09-14 Ulrich Tipp - - * miscellaneous/bincoeff.m: Fix calculation of bincoeff (n, k) for - noninteger N with N-K < 1. - -2007-08-04 Jean-Francois Cardoso - - * strings/index.m: Correct for strings differing after the third - position (bug reported by Maude Martin). - -2007-09-13 John W. Eaton - - * plot/__default_colormap__.m: Delete. - * plot/Makefile (SOURCES): Remove from the list. - -2007-09-13 Christof Zeile - - * pol2cart.m: Make it work with mixed scalar/nonscalar arguments. - -2007-09-10 David Bateman - - * plot/__go_draw_axes__.m: Allow gnuplot 4.0 with patches, but - limit the selection of colors in the same way as for lines. - * plot/__patch__.m: Allow matrix arguments with one patch per - column. - * plot/__bar__.m: Adapt to use "patch". - -2007-09-06 John W. Eaton - - * plot/drawnow.m (drawnow): New arg, debug_file. - (init_plot_stream): Split from open_plot_stream. - * plot/print.m: Accept -debug=FILE argument. - -2007-09-06 David Bateman - - * general/celldisp.m: New function. - * general/Makefile.in (SOURCES): Add celldisp.m. - * miscellaneous/swapbytes.m: New function. - * miscellaneous/gzip.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add swapbytes.m and gzip.m. - -2007-09-05 David Bateman - - * general/structfun.m: New function. - * general/Makefile.in (SOURCES): Add it to sources. - * miscellaneous/run.m: New function. - * miscellaneous/Makefile.in (SOURCES): Add it to sources. - * statistics/base/mode.m: New function. - * statistics/base//Makefile.in (SOURCES): Add it to sources. - -2007-09-05 John W. Eaton - - * miscellaneous/orderfields.m: Use numel instead of length. - -2007-09-05 Michael goffioul - - * miscellaneous/orderfields.m: Handle empty structs. - -2007-09-05 John W. Eaton - - * plot/__go_draw_axes__.m: Consistently index PARAMETRIC with - DATA_IDX. - -2007-09-04 David Bateman - - * general/isdir.m: Return a logical value. - -2007-09-04 David Bateman - - * statistics/distributions/chi2pdf.m, - statistics/distributions/chi2cdf.m, - statistics/distributions/chi2inv.m: Modifiy the call to the gamma - distribution functions to account for inverse of scale factor in - gamma functions. - -2007-09-01 John W. Eaton - - * plot/Makefile.in (SOURCES): Add ancestor.m to the list. - -2007-09-01 David Bateman - - * polynomial/polyint.m: New function like polyinteg but with - explicit integration constant. - * polynomial/polyinteg.m: Remove. - * polynomial/Makefile.in (SOURCES): Add polyint.m and remove - polyinteg.m. - * deprecated/polyinteg.m: Move version here. - * deprecated/Makefile.in (SOURCES): Add polyinteg.m. - - * geometry/voronoi.m: Add large box around data to get a good - approximation of the rays to infinity. - -2007-08-31 Michael goffioul - - * plot/axes.m: Allow parent to be specified when creating axes - objects. Support non-figure parents. - -2007-08-31 John W. Eaton - - * plot/ancestor.m: New function, adapted from Octave Forge. - -2007-08-31 S�ren Hauberg - - * polynomial/polygcd.m: Better layout of example. - * polynomial/compan.m: Remove unnecessary check. - * polynomial/roots.m: Added example to help text. - * polynomial/polyderiv.m: Change 'polyder' to 'polyderiv' in help text. - * polynomial/poly.m: Added example to help text. - -2007-08-30 John W. Eaton - - * optimization/qp.m: Increase maxit to 200. - -2007-08-30 David Bateman - - * geometry/inpolygon.m: New file. - * geometry/Makefile.in (SOURCES): Add inpolygon.m. - -2007-08-29 Peter A. Gustafson - - * plot/__go_draw_axes__.m: Disable linetype in do_linestyle_command. - -2007-08-24 David Bateman - - * plot/__go_draw_axes__.m: Treat text color property. - -2007-08-24 John W. Eaton - - * plot/subplot.m, plot/plot.m, plot/grid.m: - Use p = get (h, "prop") instead of obj = get (h); p = obj.prop. - - * miscellaneous/movefile.m: Separate second and third args and - use p1 and p2, not f1 and f2 when constructing arguments for - calls to system. From Michael Goffioul . - -2007-08-24 Michael Goffioul - - * set/intersect.m: Make it work with cell arrays of strings. - -2007-08-24 David Bateman - - * geometry/convhull.m, geometry/delaunay.m, geometry/delaunay3.m, - geometry/griddata.m, geometry/voronoi.m, geometry/voronoin.m: New - functions ported from octave-forge. - * geometry/delaunayn.m, geometry/dsearch.m, geometry/dsearchn.m, - geometry/griddata3.m, geometry/griddatan.m, geometry/trimesh.m, - geometry/triplot.m, geometry/tsearchn.m: - New functions. - * geometry/voronoi.m: Remove duplicate edges from Voronoi diagram. - * geometry/Makefile.in (SOURCES): Add functions above. - * configure.in (AC_CONFIG_FILES): Add new file geometry/Makefile. - -2007-08-23 John W. Eaton - - * pkg/pkg.m: Avoid using installed_packages for both function and - variable name. - -2007-08-23 David Bateman - - * plot/plot.m: Allow first arg to be axes handle. - -2007-08-22 David Bateman - - * control/base/nichols.m: Correct for misnamed variable, and ensure - outputs are returned only if requested. - -2007-08-22 Donald Parsons - - * control/base/nichols.m: Fix typo. - -2007-08-13 John W. Eaton - - * plot/meshgrid.m: Use repmat instead of multiplication. - -2007-08-10 Peter A. Gustafson - - * plot/__go_draw_axes__.m: Add axes position to the usingclause, - use axes position in each appropriate gnuplot set statement. - -2007-08-10 John W. Eaton - - * image/Makefile.in (DISTFILES): Also include $(IMAGES) in the list. - (install install-strip): Use $(IMAGES), not $(IMAGE_FILES_NO_DIR). - (uninstall): Use $(IMAGES), not $(IMAGE_FILES_NO_DIR). - (IMAGE_FILES, IMAGE_FILES_NO_DIR): Delete obsolete variables. - -2007-08-10 Kai Habel - - * plot/patch.m, plot/__patch__.m: New files. - * plot/Makefile.in (SOURCES): Add them to the list. - -2007-08-07 John W. Eaton - - * path/savepath.m: Use single quotes for argument to PATH command - that is inserted in file. - -2007-07-27 John W. Eaton - - * plot/drawnow.m: Only set default value for term if GNUTERM is - not set in the environment. - -2007-07-25 David Bateman - - * Makefile.in, audio/Makefile.in, control/Makefile.in, - control/base/Makefile.in, control/hinf/Makefile.in, - control/obsolete/Makefile.in, control/system/Makefile.in, - control/util/Makefile.in, deprecated/Makefile.in, - elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, - image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, optimizaton/Makefile.in, - path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, quaternion/Makefile.in, - set/Makefile.in, signal/Makefile.in, sparse/Makefile.in, - specfun/Makefile.in, special-matrix/Makefile.in, - startup/Makefile.in, statistics/Makefile.in, - statistics/base/Makefile.in, statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: - Adjust DISTFILES to allow out of tree "make dist" to work. - -2007-07-25 John W. Eaton - - * plot/__plt2__.m: Return [](0x1) if both X and Y are empty. - -2007-07-24 David Bateman - - * image/flag.m: New colormap function. - * images/Makefile.in: Include it in SOURCES. - - * image/autumn.m image/bone.m image/cool.m image/copper.m - image/hot.m image/hsv.m image/jet.m image/pink.m image/prism.m - image/rainbow.m image/spring.m image/summer.m image/white.m - image/winter.m, image/brighten.m: Use isscalar and not is_scalar. - * image/gray.m, image/ocean.m: Use the same means of finding the - number of colormap elements as the other colormap functions. - -2007-07-24 Kai Habel - - * plot/__go_draw_axes__.m: Handle patch. - -2007-07-23 David Bateman - - * general/rat.m: New function for ration approximation imported - from octave-forge. - * general/del2.m: New function for discrete laplacian operator. - * general/Makefile.in: Include rat.m and del2.m in SOURCES. - - * image/autumn.m image/bone.m image/cool.m image/copper.m - image/hot.m image/hsv.m image/jet.m image/pink.m image/prism.m - image/rainbow.m image/spring.m image/summer.m image/white.m - image/winter.m, image/brighten.m: Port image functions from - octave-forge. - * image/Makefile.in: Add ported functions to SOURCES. - * image/gray.m, image/ocean.m: Don't set the colormap for - compatibility with matlab. - - * plot/meshc.m, plot/peaks.m: Port plotting function from - octave-forge - * plot/Makefile.in: Add ported functions to SOURCES. - * plot/__go_draw_axes__.m: Set the palette for the surfaces if - using gnuplot 4.2 or greater. - -2007-07-23 Claudio Belotti - - * general/cart2sph.m: Fix unbalanced paranthesis. - -2007-07-19 David Bateman - - * plot/fplot.m: More compatible version. - -2007-07-18 Michael Goffioul - - * plot/clf.m: Check for valid handle before deleting. - - * plot/figure.m: Pass "figure" property/value pairs directly to - __go_figure__ instead of using regular "set" call. - -2007-07-18 Paul Kienzle - - * plot/drawnow.m: Prefer GNUTERM to DISPLAY when choosing terminal - type for gnuplot. - -2007-07-18 John W. Eaton - - * plot/__go_draw_axes__.m: Unconditionally send "unset label" to - gnuplot for each set of axes. - -2007-07-18 David Bateman - - * statistics/distributions/gamcdf.m, statistics/distributions/gaminv.m, - statistics/distributions/gampdf.m, statistics/distributions/gamrnd.m, - statistics/distributions/expcdf.m, statistics/distributions/expinv.m, - statistics/distributions/exppdf.m, statistics/distributions/exprnd.m: - Use standard scale factor rather than one on the scale factor for - compatibility. - - * deprecated/gamma_cdf.m, deprecated/gamma_inv.m, - deprecated/gamma_pdf.m, deprecated/gamma_rnd.m, - deprecated/exponential_cdf.m, deprecated/exponential_inv.m, - deprecated/exponential_pdf.m, deprecated/exponential_rnd.m: - Preserve backward compatibility. - -2007-07-17 Michael Goffioul - - * pkg/pkg.m (pkg:installed_packages): Use findstr rather than regexp - to avoid issues with regexp special characters in the path strings. - -2007-07-06 David Bateman - - * general/accumarray.m: New function to create an array by - accumulating the elements. - -2007-06-29 Marcus W. Reble - - * optimization/sqp.m (sqp): New args, lb, ub, maxiter, and tolerance. - (fdjac): Set nx outside of if block. - (cf_ub_lb, cigrad_ub_lb): New subfunctons. - -2007-06-28 Michael Goffioul - - * plot/subplot.m: Add 'ishandle' check when parsing the existing axes. - - * plot/axis.m: Also set "visible" property when setting axes to - on/off. - -2007-06-27 Michael Goffioul - - * image/colormap.m: Only return colormap if nargout > 0. - Mark as command. - -2007-06-25 John W. Eaton - - * plot/drawnow.m, plot/__go_draw_axes__.m: Use strcmpi instead of - strcmp for selected property comparisons. - -2007-06-25 S�ren Hauberg - - * image/imshow.m: Fix check for colormap arguments. - -2007-06-25 Joel Keay - - * plot/drawnow.m: Handle GNUTERM=aqua if DISPLAY is not set. - -2007-06-25 S�ren Hauberg - - * statistics/base/median.m: Update help text to mention 'dim' - argument, and note that the data should be sorted for the - definition of the median to be correct. - - * statistics/base/std.m: Add missing square to definition of - standard deviation. - - * statistics/base/cov.m: Add definition of covariance to the help text. - - * statistics/base/kurtosis.m, statistics/base/skewness.m, - statistics/base/std.m: - Note that \bar{x} is the mean value of x in the help text. - - * specfun/nchoosek.m: Add alternative definition of the binomial - coefficient to the help text. - - * specfun/perms.m, statistics/base/values.m: Add example in help text. - - * statistics/base/var.m: Put N in @math in help text. - - * statistics/base/qqplot.m, statistics/base/ppplot.m, - statistics/tests/kolmogorov_smirnov_test.m: - Write about possible values of 'dist' in help text. - - * statistics/base/corrcoef.m, statistics/base/cor.m: - Add definition of correlation to the help text. - - * statistics/base/logit.m, statistics/base/kendall.m, - statistics/base/cloglog.m, statistics/tests/hotelling_test_2.m, - statistics/distributions/wblcdf.m, statistics/distributions/wblpdf.m: - TeXification of help text. - - * statistics/tests/hotelling_test.m: Write T^2 in @math in help text. - - * statistics/tests/var_test.m, statistics/tests/welch_test.m: - Add missing @var's to help text. - - * statistics/models/logistic_regression.m: Fix typos in help text. - - * statistics/distributions/kolmogorov_smirnov_cdf.m: Fix TeX part - of help text. - - * statistics/distributions/unidinv.m: Add a missing 'discrete' to - help text. - - * statistics/distributions/unidpdf.m, - statistics/distributions/discrete_pdf.m: - Replace 'pDF' with 'PDF' in help text. - -2007-06-25 John W. Eaton - - * strings/substr.m: Use offset consistently in code and doc string. - From Rafael Laboissiere . - -2007-06-25 Pete Gustafson - - * plot/__go_draw_axes__.m: Handle units for text objects. - -2007-06-25 John W. Eaton - - * plot/__go_draw_axes__.m: Handle char arrays for tic labels. - Recycle tic labels if necessary. From Juhani Saastamoinen - . - -2007-06-20 John W. Eaton - - * strings/index.m: Allow strings to be empty. - From Hartmut Wziontek - - * plot/__go_draw_axes__.m (do_tics_1): Fix typo (xtic -> tics). - -2007-06-19 Vittoria Rezzonico - - * sparse/pcg.m: Allow the preconditioner to be passed as two - separate matrices. - -2007-06-19 David Bateman - - * plot/axis.m: Prefer to use legend rather than the older Octave - only ";;" legend syntax. - * polynomial/mkpp.m: ditto. - * polynomial/pchip.m: ditto. - * signal/freqz_plot.m: ditto. - * sparse/gplot.m: ditto. - * sparse/treeplot.m: ditto. - -2007-06-19 John W. Eaton - - * plot/__go_draw_axes__.m (do_tics, do_tics_1): New functions. - (__go_draw_axes__): Call do_tics to handle tic marks. - -2007-06-18 S�ren Hauberg - - * general/interp1.m, general/interp2.m, general/interp3.m, - general/interpn.m: Replace, NaN with NA. Use isna instead of == - to check for NA. - -2007-06-18 S�ren Hauberg - - * optimization/glpk.m: TeXified the help text. - * optimization/qp.m: TeXified the help text. - * optimization/sqp.m: TeXified the help text. - -2007-06-16 S�ren Hauberg - - * plot/legend.m: Replace 'vargin' with 'varargin'. - -2007-06-15 John W. Eaton - - * plot/__go_draw_axes__.m: Only attempt label rotation if - have_newer_gnuplot is true. - -2007-06-15 Pete Gustafson - - * plot/__go_draw_axes__.m Handle rotation arg for axis labels. - * plot/__axis_label__.m Assign ylabel default rotation property - to 90, all others 0. - - * plot/__errplot__.m: Set ifmt from fmt.linestyle. - * plot/__go_draw_axes__.m: Removed undefined tx from call to - get_data_limits. - * plot/__plotopt1__.m: Intercept and strip format string when - called by __errplot__. - -2007-06-15 John W. Eaton - - * testfun/test.m: Also return number of expected failures. - -2007-06-14 John W. Eaton - - * set/ismember.m: Mark two tests known to fail with xtest. - - * plot/__go_draw_axes__.m: Handle text rotation property. - -2007-06-14 Paul Kienzle - - * testfun/test.m: Add xtest support for tests known to fail. - -2007-06-14 Sebastian Schubert - - * plot/print.m: Handle pstex, pslatex, epslatex, and - epslatexstandalone terminals. - -2007-06-14 David Bateman - - * general/__splinen__.m: Check also for ND vectors. Fix for N > 2, - as permutation of results was incorrect. - * general/interp1.m: Add demo on second derivative - * general/interpn.m: Convert "y" to vectors for __splinen__ - call. Add 3D demo. Fix typos - * general/interp3.m: Fix typos. Correct permutation for use of - interpn. - * polynomial/mkpp.m: Correction for matrices of 3 or more dimensions. - -2007-06-13 John W. Eaton - - * miscellaneous/mkoctfile.m: Quote args too. - -2007-06-13 Michael Goffioul - - * miscellaneous/mkoctfile.m: Quote script name for call to system. - -2007-06-12 Michael Goffioul - - * plot/__pltopt1__.m: Set linestyle to "none" instead of "". - Set have_linestyle to true if two character linestyle is found. - -2007-06-12 David Bateman - - * general/Makefile.in (SOURCES): Include __spline__.m, interp3.m - and interpn.m. - - * pkg/pkg.m (pkg:load_package_dirs): Check for field "loaded" in - structure before using it. - -2007-06-12 David Bateman - - * general/interp1.m: Change examples to use new graphics interface. - * general/__splinen__.m: New support function for N-dimensional - spline interpolation. - * general/bicubic.m: Allow definition of extrapolation - value. Adapt tests to use new graphics interface - * general/interp2.m: Call __splinen__ for 2-D spline - interpolation. Make the lookup table code only be called for - linear and nearest methods. - * general/interpn.m: New function for N-dimensional, linear, nearest - and spline interpolation. - * general/interp3.m: New function for 3-dimensional, linear, nearest - and spline interpolation. - * polynomial/spline.m: Change examples to use new graphics interface. - -2007-06-12 Steve M. Robbins - - * statistics/tests/wilcoxon_test.m: Error if N <= 25. - -2007-06-12 S�ren Hauberg - - * plot/fplot.m: If function is inline, vectorize it. - -2007-06-10 David Bateman - - * pkg/pkg.m (pkg:installed_packages): truncate start of package - directory if need to, so that it fits on a line. - -2007-06-07 David Bateman - - * pkg/pkg.m (pkg): For rebuild target, force package order in - saved file so that dependent packages are loaded first, and if - nargout==0 don't return any arguments. - (pkg:install): Only load packages that are marked autoload after - install. Various fixes. Save in order. - (pkg:uninstall): Save in order - (pkg:load_packages): Use load_package_and_dependencies to load - packages. - (pkg:save_order): New function to sort package list with dependent - packages first. - (pkg:load_packages_and_dependencies): New function to load both a - list of packages and their dependencies. - (pkg:load_package_dirs): New function that returns a vector of the - indexes into the installed package list indicating the packages to - load and the order to load them in to respect the dependencies. - -2007-06-03 S�ren Hauberg - - * plot/axes.m: Eliminate redundant else clause. - -2007-06-03 David Bateman - - * polynomial/spline.m: Add a small tolerance to spline tests. - * pkg/pkg.m: Protect against multiple actions being define. - -2007-06-01 David Bateman - - * pkg.m (pkg:is_superuser): Remove function used in one place and - incorporate into main pkg function. - (pkg:install): Check for existence of files to install before - globbing and warn the user if they don't exist. - -2007-05-31 David Bateman - - * miscellaneous/copyfile.m: Split copying of multiple files to a - directory over several copy command to limit the line length. - * miscellaneous/movefile.m: Ditto. - - * pkg.m: Add build option to allow binary Octave packages to be - built from source packages. Probe absolute path of prefix, global - and local lists. Use strcat, rather that [] for strings. - (pkg:build): New function to binary binary package. - (pkg:absolute_pathname): Use fileattrib to probe absolute path. - (pkg:repackage): Package binary Octave package from installation. - (pkg:create_pkgadddel): Extract PKG_ADD and PKG_DEL directives - from m-files into main installation directory. - (pkg:shell): Suppress verbose messages from shell and only display - them with the verbose flag. - (pkg:installed_packages): Also include the loaded flag in the - local and global packages. - (pkg:uninstall): On uninstall, only rmpath the package if it is - flagged as loaded. - -2007-05-31 Michael Goffioul - - * pkg.m (pkg:load_packages): Correctly load a mix of packages - with and without architecture dependent directories. - (pkg:installed_packages): Probe the global_list file even if it is - the same as the local_list. - -2007-05-29 John W. Eaton - - * sparse/spy.m: Set axis to "ij" mode. - -2007-05-24 John W. Eaton - - * set/ismember.m: Quote first arg of "fail" tests. - -2007-05-24 David Bateman - - * pkg/pkg.m (pkg:rebuild): Thinko in rebuild logic. - -2007-05-22 David Bateman - - * pkg/pkg.m: Use rethrow(lasterror()) throughout rather than - error(lasterr()(8:end)). - (pkg:install): Warning for empty packages being removed. Suppress - spurious output. Warning rather than error for uninstalling a - package that is not installed to avoid RPM issue. - (pkg:configure_make): Fix for parsing of src/FILES. Don't create - inst or architecture dependent directory if it exists. - -2007-05-22 Thomas Weber - - * ChangeLog, control/system/is_stabilizable.m, general/bicubic.m, - image/ind2gray.m, image/saveimage.m, plot/box.m, plot/grid.m, - signal/freqz.m: Fix typos. - -2007-05-21 David Bateman - - * pkg/pkg.m: Add rebuild target, and -local, -global option to - force installation location. - (rebuild): New subfunction to rebuild package database from - installed packages. Also allows changing of autoload status - (install): Warn use if attempting to install from non existent - file. - (issuperuser): Use 'geteuid() == 0' instead of 'strcmp (getenv( - "USER", "root"))' for root test. - -2007-05-21 Michael Goffioul - - * miscellaneous/copyfile.m: check for cp.exe on Windows platforms - and replace "\" characters with "/". - * pkg/pkg.m: Use shell rather than system throughout. Replace "\" - characters with "/" throughout. - (shell): New subfunction that wraps system and is careful with the - shell on windows platforms. - (configure_make): Explictly pass complier etc to configure - process. - (issuperuser): Force default to global install for Windows machines. - -2007-05-19 Kristan Onu - - * plot/Makefile.in (SOURCES): Remove hbar.m and add barh.m. - -2007-05-18 David Bateman - - * pkg/pkg.m (install): More verbosity. - (configure_make): Ditto. - (create_pkgadddel): Install in architecture dependent directory if - it exists to address issues with autoload/mfilename. - (write_INDEX): Check in archiecture dependent directories as well. - -2007-05-17 David Bateman - - * plot/hbar.m: Remove. - * plot/barh.m: and move it here. - -2007-05-16 S�ren Hauberg - - * general/sub2ind.m, general/ind2sub.m: Doc fix. - -2007-05-16 John W. Eaton - - * general/logspace.m: Return second arg if fewer than two values - are requested. - -2007-05-14 John W. Eaton - - * plot/__go_draw_figure__.m: Ensure that a reset commands starts - on a new line. - -2007-05-14 Tarmigan Casebolt - - * statistics/distributions/norminv.m, - statistics/distributions/norminv.m, - statistics/distributions/normpdf.m, - statistics/distributions/normrnd.m: - Use standard deviation, not variance. - * statistics/distributions/lognpdf.m: Adapt to change in norminv. - * statistics/distributions/logninv.m: Refer to norminv, not normal_inv. - * deprecated/normal_cdf.m, deprecated/normal_inv.m, - deprecated/normal_pdf.m, deprecated/normal_rnd.m: Preserve - backward compatibility. - -2007-05-14 David Bateman - - * pkg/pkg.m: Mark loaded packages with "*". - -2007-05-13 S�ren Hauberg - - * miscellaneous/single.m: Doc fix. - Convert to double instead of returning argument unchanged. - - * miscellaneous/doc.m: Doc fix. - - * miscellaneous/ver.m: Doc fix. - Don't display information about Octave Forge. - -2007-05-12 David Bateman - - * pkg/pkg.m: Add a "-verbose" option that allows all output of an - install to be printed. An error in the on_uninstall script causes - a failure to uninstall. Place oct- and mex-files in an - architecture dependent directory. - -2007-05-09 John W. Eaton - - * plot/__go_draw_axes__.m: Break plot command over multiple lines. - -2007-05-09 G. D. McBain - - * statistics/distributions/normcdf.m: Use standard deviation - instead of variance for compatibility. - -2007-05-08 John W. Eaton - - * set/unique.m, set/ismember.m: Use numel(x) instead of prod(size(x)). - - * set/ismember.m: Always return logical values. - - * set/ismember.m: Return early if no matches are found. New tests. - From David Grohmann . - - * general/__isequal__.m: Allow numeric values of different classes - to compare equal. - -2007-05-07 David Bateman - - * sparse/spy.m: Reverse Y axis for new graphics code. Make more - compatiable, accepting LineSpec and markersize arguments. - -2007-05-02 John W. Eaton - - * plot/__go_draw_axes__.m: Convert NA to NaN before writing. - -2007-05-02 G. D. McBain - - * contour.m: Rewrite help string. - -2007-04-28 John W. Eaton - - * miscellaneous/unzip.m, miscellaneous/untar.m, - miscellaneous/bunzip2.m, miscellaneous/gunzip.m: - Special case nargout == 0. - -2007-04-27 Kim Hansen - - * general/sub2ind.m: Handle empty input, add tests. - -2007-04-27 G. D. McBain - - * plot/contourc.m: Doc fix. - -2007-04-26 David Bateman - - * plot/hist.m: Partially remove previous patch. - -2007-04-26 David Bateman - - * plot/hist.m: Support returning of handle - * plot/__bar__.m: __pltopt__ should only be called on strings or - cells. - -2007-04-25 John W. Eaton - - * plot/__go_draw_axes__.m: For images, set titlespec{data_idx} to - "title \"\"", not "". - - * plot/legend.m: Initialize WARNED to false. - -2007-04-24 John W. Eaton - - * io/beep.m: Fix cut and paste error. - From S�ren Hauberg . - -2007-04-23 John W. Eaton - - * plot/box.m: Delete extra endfunction keyword. - -2007-04-23 David Bateman - - * plot/plot3.m: Call newplot. - -2007-04-20 John W. Eaton - - * plot/Makefile.in (SOURCES): Fix typo in adding __bar__.m to the list. - -2007-04-19 John W. Eaton - - * miscellaneous/unpack.m: Use gzip -d and bzip2 -d instead of - gunzip and bunzip. From Michael Goffioul . - -2007-04-19 A. S. Hodel - - * control/util/axis2dlim.m: Delete extraneous line. - -2007-04-18 John W. Eaton - - * specfun/factorial.m: Increase tolerance in large value test. - -2007-04-18 David Bateman - - * __bar__.m: New support function for bar/hbar to support graphic - handles, and additional arguments. - * bar.m: Convert to use __bar__. - * hbar.m: New function - * hist.m: Explicitly set the width of the bar plot. - -2007-04-17 John W. Eaton - - * plot/stem.m (stem_line_spec): Pass false as third arg to __pltopt__. - - * set/ismember.m: New tests. - From David Grohmann - -2007-04-17 Paul Kienzle - - * specfun/factorial.m: Use gamma function instead of cumprod. - Add tests. - -2007-04-16 John W. Eaton - - * gethelp.cc (looks_like_octave_copyright): Use same logic as in - looks_like_copyright in src/help.cc. - From S�ren Hauberg . - - * plot/__go_draw_axes__.m: For log plots, omit zero values too. - -2007-04-13 John W. Eaton - - * optimization/sqp.m: Initialize info to 0. - - * optimization/qp.m: Undo previous change. - -2007-04-13 Geordie McBain - - * spdiags.m: Fixed the four-argument case to work for columns of - length one. - -2007-04-12 John W. Eaton - - * optimization/qp.m: Avoid Octave indexing bug. - -2007-04-12 Carlo de Falco - - * miscellaneous/menu.m, control/base/bddemo.m, - control/hinf/dgkfdemo.m, control/system/packedform.m, - control/system/sysrepdemo.m: - Adapt to page_screen_output as a function. - -2007-04-11 John W. Eaton - - * miscellaneous/not.m: Delete. - * miscellaneous/Makefile.in (SOURCES): Delete it from the list. - -2007-04-11 A. S. Hodel - - * control/util/axis2dlim.m: Try harder to handle min and max vals - that are close but not exactly equal. - -2007-04-11 David Bateman - - * general/bitcmp.m: Make it work again. - -2007-04-10 John W. Eaton - - * plot/__go_draw_axes__.m: Try harder to handle min and max vals - that are close but not exactly equal. - -2007-04-09 Daniel J. Sebald - - * plot/stem.m: Add back the baseline line and let it be not adjustable - in response to a change in x limits for now. - -2007-04-09 John W. Eaton - - * plot/__go_draw_axes__.m (__gnuplot_write_data__): New function. - (__go_draw_axes__): Use it to write data to plot stream. - -2007-04-09 Daniel J Sebald - - * plot/stem.m: Fix typos in doc string. Fix typo in call to - zeros. Set markerfacecolor property in call to plot. - -2007-04-06 John W. Eaton - - * linear-algebra/norm.m: Use new __vnorm__ function for vector args. - -2007-04-06 Daniel J Sebald - - * plot/stem.m: Use plot instead of a series of calls to line. - -2007-04-05 John W. Eaton - - * sparse/nonzeros.m, sparse/normest.m, sparse/spconvert.m, - sparse/spdiags.m, sparse/speye.m, sparse/spfun.m, sparse/spones.m, - sparse/sprand.m, sparse/sprandn.m, sparse/sprandsym.m, - sparse/spstats.m, sparse/treeplot.m: Style fixes. - - * pkg/pkg.m: Use "strcat (...)" instead of "[...]". - Use strcmpi instead of strcmp+tolower. - Style fixes. - - * testfun/speed.m: Use "strcat (...)" instead of "[...]". - Plotting fixes. Style fixes. - - * testfun/test.m: Use "strcat (...)" instead of "[...]". - Style fixes. - - * testfun/fail.m: No need to check for evalin and lastwarn. - Style fixes. - - * testfun/demo.m, testfun/example.m: Style fixes. - Use "strcat (...)" instead of "[...]". - Use format specifiers in calls to warning. - - * testfun/assert.m: Use "numel (x)" instead of "prod (size (x))". - Use "strcat (...)" instead of "[...]". - Use "x(end)" instead of "x(length (x))". - Check NA before NaN. - Style fixes. - -2007-03-29 John W. Eaton - - * plot/stem.m (stem, set_default_values): Use RGB triple for color. - -2007-03-27 John W. Eaton - - * Makefile.in, audio/Makefile.in, control/Makefile.in, - control/base/Makefile.in, control/hinf/Makefile.in, - control/obsolete/Makefile.in, control/system/Makefile.in, - control/util/Makefile.in, deprecated/Makefile.in, - elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, - image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, optimization/Makefile.in, - path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, - signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, - special-matrix/Makefile.in, startup/Makefile.in, - statistics/Makefile.in, statistics/base/Makefile.in, - statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: - Use ln instead of $(LN_S) in dist target. - -2007-03-27 David Bateman - - * plot/__go_draw_axes__.m: Allow linewidth settings to work with - gnuplot 4.0. - -2007-03-26 John W. Eaton - - * plot/__go_draw_axes__.m: Send image data to gnuplot via plot stream. - -2007-03-26 Daniel J Sebald - - * plot/__go_draw_axes__.m: Always end palette data to gnuplot via - plot stream and using binary data. - -2007-03-26 John W. Eaton - - * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, - lot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, - plot/__plt2vv__.m: Accept properties in addtition to options struct. - -2007-03-26 David Bateman - - * plot/__go_draw_axes__.m: Send "set ticslevel 0" to plot stream. - - * plot/plot3.m: Handle line properties. - * plot/plot.m: Update docstring. - * plot/__plotopt__.m, plot/__pltopt1__.m: New arg, err_on_invalid. - * plot/__plt__.m: Also gather properties. - -2007-03-26 Kim Hansen - - * testfun/assert.m: Delete special check for empty objects. - Add test. - -2007-03-26 John W. Eaton - - * plot/drawnow.m: Exit early if call is recursive. - - * plot/__go_draw_axes__.m (get_data_limits): New function. - Check for Inf too. - (__go_draw_axes__): Use get_data_limits. - -2007-03-24 John W. Eaton - - * plot/drawnow.m: If GNUTERM is set to wxt in the environment, - send terminal setting command with title option to plot stream. - - * plot/legend.m: Correctly increment index into list of children.. - -2007-03-23 John W. Eaton - - * general/interp2.m, general/bicubic.m, control/base/rldemo.m, - control/hinf/hinfdemo.m, control/hinf/dhinfdemo.m, - control/base/nyquist.m, control/base/nichols.m, - control/base/frdemo.m, signal/freqz_plot.m, - control/base/__stepimp__.m, control/base/bode.m, - quaternion/demoquat.m, quaternion/qcoordinate_plot.m, - statistics/base/qqplot.m, statistics/base/ppplot.m, sparse/spy.m: - Update plotting code. - - * control/base/bode.m: Unwrap phase angle. - - * miscellaneous/dump_prefs.m: Remove automatic_replot from the list. - - * plot/axis.m: Don't check automatic_replot, or call replot. - - * quaternion/demoquat.m: Delete comments with obsolete plotting - commands. - - * plot/__pltopt1__.m: Handle "@" marker same as "+". - Handle numeric color specs. - * plot/plot.m: Remove "-@" and "@" from docstring. - - * plot/orient.m: Fix tests to avoid creating a plot window. - - * elfun/acosd.m, elfun/acotd.m, elfun/acscd.m, elfun/asecd.m, - elfun/asind.m, elfun/atand.m, elfun/cosd.m, elfun/cotd.m, - elfun/cscd.m, elfun/secd.m, elfun/sind.m, elfun/tand.m, - general/arrayfun.m, miscellaneous/compare_versions.m, - path/savepath.m, pkg/pkg.m, plot/__gnuplot_version__.m, - plot/contour.m, plot/contourc.m, plot/legend.m, plot/stem.m, - polynomial/pchip.m: Fix copyright notice, correct FSF address. - - * plot/__go_draw_figure__.m: Send reset to gnuplot before every - plot, not just multiplots. - - * plot/__go_draw_axes__.m: Use %g for label coordinates, not %d. - - * plot/contour.m: Don't call drawnow. - -2007-03-22 John W. Eaton - - * plot/drawnow.m: Check and optionally, set, the __modified__ - property of each figure. - - * plot/__go_draw_axes__.m: If no real data, plot a point at Inf, - Inf to show axes. From Daniel J Sebald . - -2007-03-21 John W. Eaton - - * linear-algebra/null.m: Set elements of retval with magnitudes - less than eps to 0. - -2007-03-21 David Bateman - - * plot/__go_draw_axes__.m: Handle some colors with older gnuplot. - * testfun/speed.m: Documentation and example fix. - -2007-03-21 John W. Eaton - - * plot/subplot.m: If we find an existing subplot region, set - it to be the "currentaxes" property for the current figure. - Delete old axes objects if the new axes object overlaps the old. - -2007-03-20 David Bateman - - * general/Makefile.in: Include arrayfun.m in SOURCES. - -2007-03-20 Bill Denney - - * general/arrayfun.m: New function. - -2007-03-20 John W. Eaton - - * plot/newplot.m: Call __request_drawnow__ after initializing axes. - * plot/text.m: Call __request_drawnow__ after creating text objects. - - * plot/clf.m: Don't call drawnow. - -2007-03-20 Daniel J Sebald - - * image/__img__.m: Maybe set yaxis to reverse for images. - * plot/__go_draw_axes__.m: Don't add flipy to gnuplot command for - images. - - * plot/drawnow.m: Make __go_close_all_registered__ persistent - instead of global. Only register __go_close_all__ with atexit if - the plot stream is successfully opened. - -2007-03-15 John W. Eaton - - * plot/__go_draw_axes__.m: Make have_newer_gnuplot persistent. - From Daniel J Sebald . - -2007-03-15 Daniel J Sebald - - * plot/__go_draw_axes__.m (do_linestyle_command): Fix marker types. - Use numeric line types. - - * control/base/rlocus.m: Add asymptotes to the plot. Use wider - lines and larger markers. Remove key titles from line type - properties. - -2007-03-14 John W. Eaton - - * plot/__axis_label__.m: Accept additional property-value pairs - and pass them to __go_text__. Simply return the handle obtained - from __go_text__ instead of calling get on the current axis. - * plot/xlabel.m, plot/zlabel.m, plot/zlabel.m: Check args here. - Allow for extra property value pairs to be passed along. - * plot/title.m: Implement with __axis_label__ since it does all - that title needs to do. - - * plot/clf.m: Set currentaxes property for current figure to []. - - * plot/__axis_label__.m: Convert arg to text handle before calling set. - - * plot/__plt__.m: Return line handles from all calls to __plt1__ - and __plt2__, not just the last. - - * plot/Makefile.in (SOURCES): Rename from SOURCES_M. - (SOURCES_IN, GEN_M): Delete. - (FCN_FILES): Don't include $(GEN_M). - (all): Don't depend on $(GEN_M). - ($(GEN_M) : %.m : %.in): Delete pattern rule. - - * plot/text.m: Use __go_text__ instead of __uiboject_text_ctor__. - - * plot/newplot.m: Call __go_axes_init__ instead of - __uiobject_axes_init__. - - * plot/mesh.m: Use __go_surface__ instead of - __uiobject_surface_ctor__. Don't access object fields directly. - - * plot/line.m: Use __line__ to do actual work. - * plot/__line__.m: New function. - - * plot/axes.m: Use __go_axes__ to create axes graphics handle. - Use get and set instead of accessing object fields directly. - - * plot/figure.m: Use __go_figure__ to create figure graphics - handle. - - * plot/drawnow.m: Register __go_close_all__ with atexit instead of - __uiobject_close_all. Call __go_draw_figure__ instead of - __uiobject_draw_figure__. - - * plot/clf.m: Use get instead of accessing object fields - directly. Simply delete children. Don't set currentaxes. - - * plot/close.m (close_all_figures): New subfunction. - Use it instead of getting list of figures to close from - __uiobject_figures__. - - * plot/closereq.m: Simply delete the current figure. Don't set - currentfigure. - - * plot/__errplot__.m: Call __line__ instead of - __uiobject_line_ctor__. Use set instead of accesing object fields - directly. Don't call __uiobject_adopt__. - - * plot/__uiobject_adopt__.m, plot/__uiobject_alloc__.in, - plot/__uiobject_axes_ctor__.m, plot/__uiobject_axes_dtor__.m, - plot/__uiobject_axes_init__.in, plot/__uiobject_axes_setr__.m, - plot/__uiobject_delete__.m, plot/__uiobject_figure_ctor__.m, - plot/__uiobject_figures__.in, plot/__uiobject_free__.in, - plot/__uiobject_get_handle__.in, plot/__uiobject_globals__.m, - plot/__uiobject_grow_list__.in, plot/__uiobject_handle2idx__.in, - plot/__uiobject_image_ctor__.m, plot/__uiobject_init_figure__.in, - plot/__uiobject_init_root_figure__.in, - plot/__uiobject_line_ctor__.m, plot/__uiobject_make_handle__.in, - plot/__uiobject_root_figure_ctor__.m, - plot/__uiobject_surface_ctor__.m, plot/__uiobject_text_ctor__.m: - plot/get.in, plot/include-globals.awk, plot/ishandle.m, - plot/set.in: Delete. - * plot/Makefile.in (SOURCES_M, SOURCES_IN): Remove from lists. - - * plot/__go_close_all__.m: Rename from __uiobject_close_all.m. - Pass "hidden" as second arg to close. - * plot/__go_draw_axes__.m: Rename from __uiobject_draw_axes.m. - * plot/__go_draw_figure__.m: Rename from __uiobject_draw_figure.m. - * plot/Makefile.in (SOURCES_M): Rename in list. - - * image/__img__.m: Use __go_image__ to create image graphics - handle. - - * miscellaneous/delete.m: Call __go_delete__, not - __uiobject_delete__. Check that arg is a graphics handle before - calling __go_delete__. - -2007-03-13 John W. Eaton - - * miscellaneous/cast.m: Use feval and strcmp with cell to check - arg instead of switch statement. - From S�ren Hauberg . - -2007-03-12 John W. Eaton - - * miscellaneous/cast.m: New function. - - * miscellaneous/delete.m: Call __go_delete__, not __uiobject_delete__. - -2007-03-08 John W. Eaton - - * miscellaneous/copyfile.m, miscellaneous/movefile.m: Perform - tilde expansion on target filename before passing it to the shell. - - * statistics/base/Makefile.in (SOURCES): Remove unidrnd.m from list. - * statistics/distributions/Makefile.in (SOURCES): Add it here. - -2007-03-08 David Bateman - - * statistics/base/unidrnd.m: Move to statistics/distributions - replacing slower version based on dicrete_rnd. - -2007-03-07 John W. Eaton - - * control/base/rlocus.m: Update for current plotting functions. - -2007-03-07 A. S. Hodel - - * control/base/rlocus.m: Improve display. - -2007-03-07 John W. Eaton - - * plot/legend.m: Only handle positions -1:4. - * plot/__pltopt1__.m: Don't set linestyle if only marker style is - found in option string - * plot/__uiobject_draw_axes__.m: Handle key position. - - * plot/newplot.m: Always reset next line color. - - * testfun/assert.m: Check that number of dimensions match before - checking dimensions. - -2007-03-07 Muthiah Annamalai - - * specfun/perms.m, specfun/factorial.m: Check args. - -2007-03-07 John W. Eaton - - * plot/mesh.m: Call newplot before doing anything. - - * plot/__uiobject_draw_axes__.m: Send "e\n" at end of data, not - just "e". Only flush plot stream once. - From Daniel J Sebald . - - * strings/blanks.m: Omit first index in assignment. - -2007-03-07 Paul Kienzle - - * set/setdiff.m: Some code cleanup and a fix for setdiff on rows. - -2007-03-06 David Bateman - John W. Eaton - - * set/setdiff.m: Ignore "rows" for cell array args. - Handle cellstr args. - -2007-03-05 John W. Eaton - - * optimization/sqp.m: Defer first call to obj_hess until after - calling obj_fun. - -2007-03-02 Bob Weigel - - * specfun/nchoosek.m: Fix nargin check. - -2007-03-01 Daniel J Sebald - - * image/__img__.m: Don't set xlim and ylim properties. - -2007-03-01 Paul Kienzle - - * general/interp1.m: Fix *style cases for decreasing x. - -2007-03-01 Muthiah Annamalai - - * polynomial/roots.m: Check nargin before accessing arg. - -2007-02-28 John W. Eaton - - * plot/__uiobject_draw_axes__.m: If looking at image data, Don't - increment data_idx unless using gnuplot for display. - -2007-02-28 Daniel J Sebald - - * plot/__uiobject_draw_axes__.m: Improve calculation of limits for - plots with images. - * image/image.m, image/imagesc.m, image/imshow.m: - Deprecate zoom argument. - -2007-02-28 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Use fullfile to generate - temporary file names. Keep image and colormap file ids separate. - - * general/interp1.m: Correctly compute min and max values when - values are decreasing and not evenly spaced. - From Ricardo Marranita . - -2007-02-27 John W. Eaton - - * testfun/test.m (test): Handle possibility of file_in_loadpath - returning an empty cell array. - -2007-02-27 Michael Goffioul - - * pkg/pkg.m: Use fullfile to create filenames from parts. - -2007-02-26 Michael Goffioul - - * Makefile.in, audio/Makefile.in, control/Makefile.in, - control/base/Makefile.in, control/hinf/Makefile.in, - control/obsolete/Makefile.in, control/system/Makefile.in, - control/util/Makefile.in, deprecated/Makefile.in, - elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, - image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, optimization/Makefile.in, - path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, - signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, - special-matrix/Makefile.in, startup/Makefile.in, - statistics/Makefile.in, statistics/base/Makefile.in, - statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: - Use $(LN_S) instead of ln or ln -s. - -2007-02-24 David Bateman - - * pkg/pkg.m (configure_make): Ignore blank lines and trailing - '\n' in FILES file. - (configure_make): Also install any mex files. - -2007-02-24 David Bateman - - * statistics/distributions (SOURCES): Add nbincdf.m, - nbininv.m, nbinpdf.m and nbinrnd.m. - -2007-02-23 John W. Eaton - - * statistics/distributions/Makefile.in (SOURCES): Remove - pascal_cdf.m pascal_inv.m pascal_pdf.m pascal_rnd.m from the list. - - * deprecated/Makefile.in (SOURCES): Add pascal_cdf.m, - pascal_inv.m, pascal_pdf.m, and pascal_rnd.m to the list. - -2007-02-23 David Bateman - - * statistics/distributions/discrete_rnd.m, - statistics/distributions/geornd.m, - statistics/distributions/lognnd.m, - statistics/distributions/nbinrnd.m, - statistics/distributions/wblrnd.m: Accelerate distributions. - - * statistics/distributions/unidcdf.m, - statistics/distributions/unidinv.m, - statistics/distributions/unidpdf.m, - statistics/distributions/unidrnd.m: New functions based on - discrete_cdf, etc. - - * statistics/distributions/pascal_cdf.m, - statistics/distributions/pascal_inv.m, - statistics/distributions/pascal_pdf.m, - statistics/distributions/pascal_rnd.m: Remove. - * statistics/distributions/nbincdf.m, - statistics/distributions/nbininv.m, - statistics/distributions/nbinpdf.m, - statistics/distributions/nbinrnd.m: Replace with matlab - compatible functions. - * deprecated/pascal_cdf.m, deprecated/pascal_inv.m, - deprecated/pascal_pdf.m, deprecated/pascal_rnd.m: Use the new - nbincdf, etc functions to implement these. - -2007-02-22 Daniel J Sebald - - * plot/__uiobject_draw_axes__.m: Insert newline between plot - command and data. - -2007-02-22 John W. Eaton - - * miscellaneous/doc.m: If index search fails, try again without - the index search option. - -2007-02-22 David Bateman - - * miscellaneous/doc.m: Find doc.info file correctly in user directories. - - * statistics/distributions/frnd.m, statistics/distributions/exprnd.m, - statistics/distributions/gamrnd.m, statistics/distributions/trnd.m, - statistics/distributions/poissrnd.m, statistics/distributions/chi2rnd.m, - statistics/distributions/betarnd.m: Convert to use randg, rande - and randp to accelerate. - - * pkg/pkg.m (fix_depends): Support > and < operators as well. - -2007-02-22 John W. Eaton - - * plot/__uiobject_draw_axes__.m: If not using gnuplot for images, - cache data and display after xlim and ylim have been determined. - -2007-02-22 Daniel J Sebald - - * plot/__uiobject_draw_axes__.m: - Allow multiple images to be displayed with gnuplot. - -2007-02-20 Rafael Laboissiere - - * optimization/glpk.m: Document the fact that extra.mem does not work - for versions of GLPK 4.15 and later. - -2007-02-19 John W. Eaton - - * plot/__uiobject_alloc__.in: If next available element in - __uiobject_list__ is 0, grow list before doing anything else. - * plot/__uiobject_grow_list__.in: Only set __uiobject_head__ on - first call when size of __uiobject_list__ is 0. - -2007-02-16 John W. Eaton - - * miscellaneous/Makefile.in (SOURCES): Remove popen2.m from the list. - -2007-02-16 Michael Goffioul - - * miscellaneous/popen2.m: Remove as replaced with builtin. - -2007-02-16 Muthiah Annamalai - - * specfun/nchoosek.m: Check nargin. - -2007-02-15 John W. Eaton - - * path/addpath.m, path/rmpath.m: Delete - * path/Makefile.in (SOURCES): Remove them from the list. - - * plot/__uiobject_axes_init__.in, plot/__uiobject_axes_setr__.m: - Delete title, xlabel, ylabel, and zlabel properties before - reassigning. - * plot/__uiobject_axes_init__.in: New arg, mode. - Don't init outerposition if "mode" is "replace". - * plot/newplot.m: Check both figure and axes nextplot properties. - If axes nextplot property is replace, pass "replace" as mode arg - to __uiobject_axes_init__. - -2007-02-15 Daniel J Sebald - - * image/imshow.m: Don't restore old colormap. - - * plot/__uiobject_image_ctor__.m: Set xdata and ydata properties. - * image/__img__.m: New file containing common parts of image.m and - imshow.m. - * image/Makefile.in (SOURCES): Add __img__.m to the list. - * image/image.m, image/imshow.m: Call __img__. - * plot/__uiobject_draw_axes__.m: - Handle rgb imaged data stored in 3-d arrays. - - * plot/figure.m: Doc fix. - -2007-02-14 Thomas Weber - - * audio/wavread.m, audio/wavwrite.m: Use types with specific sizes - for reading and writing data. New tests. Improve rounding. - -2007-02-13 John W. Eaton - - * plot/stem.m: New file, adapted from OctPlot. - * plot/Makefile.in (SOURCES_M): Add it to the list. - - * plot/__errcomm__.m, plot/__plr1__.m, plot/__plr2__.m, - plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, - plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, - plot/__plt2vv__.m, plot/__plt__.m, plot/loglog.m, - plot/loglogerr.m, plot/plot.m, plot/plot3.m, plot/polar.m, - plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, - plot/semilogyerr.m: Return handles to line objects. - -2007-02-11 John W. Eaton - - * plot/__uiobject_close_all.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - -2007-02-10 John W. Eaton - - * plot/drawnow.m: Arrange for plot streams to be close on exit. - * plot/__uiobject_globals__.m: Don't call mlock. - - * plot/drawnow.m: Only check for DISPLAY if isunix returns true. - * plot/__uiobject_delete__.m: Send quit command and flush stream - before calling pclose. - -2007-02-09 John W. Eaton - - * plot/subplot.m: Delete spurious call to axes. - - * plot/figure.m: Call drawnow for current figure before creating - or switching to a new figure. - * plot/__uiobject_init_figure__.in: Handle empty arg the same as - nargin == 0 case. - - * testfun/assert.m: Try to avoid problems when comparisons involve - strange values like Inf+NaNi. - -2007-02-08 John W. Eaton - - * plot/drawnow.m: Use gnuplot_binary() instead of just "gnuplot" - and check gnuplot_use_title_option instead of just assuming -title - works. From Michael Goffioul . - - * Makefile.in (DISTFILES): Add move-if-change to the list. - - * audio/Makefile.in, control/base/Makefile.in, - control/hinf/Makefile.in, control/obsolete/Makefile.in, - control/system/Makefile.in, control/util/Makefile.in, - deprecated/Makefile.in, elfun/Makefile.in, finance/Makefile.in, - general/Makefile.in, image/Makefile.in, io/Makefile.in, - linear-algebra/Makefile.in, miscellaneous/Makefile.in, - optimization/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, - signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, - special-matrix/Makefile.in, startup/Makefile.in, - statistics/base/Makefile.in, statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, testfun/Makefile.in, time/Makefile.in, - path/Makefile.in, pkg/Makefile.in: Explicitly list source files. - - * plot/figure.m: Don't call drawnow. Correctly init figure when - only given property list. - -2007-02-07 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Handle xdir, ydir, and zdir axis - properties. - - * plot/sombrero.m: Call box ("off") after mesh. - - * plot/__uiobject_draw_axes__.m: Avoid rgb colors and "set style - line default" commands with older versions of gnuplot. - - * plot/close.m: Use get (0, "currentifgure") instead of gcf. - -2007-02-06 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Set pt to 0 if marker is ".". - * sparse/gplot.m: Use line style - instead of 1. - -2007-02-05 Rafael Laboissiere - - * plot/print.m: Avoid error message from cellidx. - -2007-02-05 John W. Eaton - - * plot/legend.m: Fix check for data. - -2007-02-05 Thomas Treichl - - * plot/__uiobject_draw_axes__.m (do_linestyle_command): - Always set lt and pt. - -2007-02-05 Shai Ayal - - * plot/contourc.m: Correctly compute X and Y. - -2007-02-05 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Use title "" if no explicit title. - When setting {x,y,z}lim, also set {x,y,z}limmode to "auto. - -2007-02-01 John W. Eaton - - * plot/__uiobject_draw_axes__.m: - Don't try to set axis limits unless we have data. - - * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, - plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, - plot/__plt2vv__.m, plot/__plt__.m, plot/__pltopt1__.m, - plot/__pltopt__.m, plot/plot3.m: Set and use options struct - instead of of key and fmt strings. - - * plot/__pltopt1__.m: Greatly simplify. - - * plot/__next_line_color__.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - * plot/newplot.m: Call __next_line_color__ here to reset rotation. - - * plot/__default_plot_options__.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - - * plot/__plt3__.m: Delete. - * plot/Makefile.in (SOURCES_M): Remove it from the list. - -2007-01-31 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Set defaults for color, - linestyle, linewidth, marker, and markersize properties. - * plot/__uiobject_draw_axes__.m: Attempt to handle line and marker - colors and widths, and line styles. - - * plot/__plt__.m, image/image.m: Don't call drawnow. - - * plot/__gnuplot_version__.m: Restore from CVS Attic. - * plot/Makefile.in (SOURCES_M): Add it to the list. - - * plot/__uiobject_draw_axes__.m: Delete useless call to - __gnuplot_save_data__. - - * image/image.m: Accept 2 args, but ignore the second for now. - -2007-01-30 David Bateman - - * pkg/pkg.m (pkg, isautoload, install, load_packages): Add ability - to flag a package as to be autoloaded. Add install flags -noauto, - -auto to force autoload behavior. - (installed_packages): Make list of installed packages unique. - -2007-01-30 John W. Eaton - - * Merge of changes from graphics-branch: - - 2007-01-29 John W. Eaton - - * plot/subplot.m: Set nextplot property of current figure to "add". - - * plot/__uiobject_draw_axes__.m: Only handle outerposition - property if it exists. - - 2007-01-26 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Move initialization of max and - min values outside of loop over child objects. - - * plot/contour.m, plot/contourc.m: New files. - * plot/Makefile.in (SOURCES_M): Add them to the list. - - * image/image_viewer.m: Set view_fcn to "gnuplot_internal" if we - find a gnuplot version newer than 4.0. - * image/__img_gnuplot__.m: Delete. - * image/image.m: Create image graphics object. - Call newplot to setup and drawnow to finish. - Eliminate ZOOM arg. - - * plot/__uiobject_draw_axes__.m: Handle image data. - - * plot/legend.m: Eliminate useless variable "warned". - - * plot/__uiobject_image_ctor__.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - - * plot/gcf.m: Also create new figure if currentfigure is 0. - * plot/drawnow.m: Use get (0, "currentfigure") instead of gcf. - - * plot/__uiobject_root_figure_ctor__.m: Set visible property. - - * plot/__default_colormap__.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - * plot/__uiobject_figure_ctor__.m: Use it to set default colormap - property. - * image/colormap.m: Use colormap property of current figure - to store colormap instead of using persistent variable. - Call __default_colormap__ to get default map value. - * image/ocean.m, image/gray.m: Set colormap for current figure. - - * plot/__uiobject_draw_axes__.m: Handle aspect ratio property. - Handle some tick mark options. - - * plot/__uiobject_axes_setr__.m: If we see xtick, ytick, or ztick, - set corresponding *mode to "manual". If we set dataaspectratio, - set dataaspectratiomode to "manual". - - * plot/__uiobject_axes_init__.m: Include *tick, *tickmode, - *ticklabelmode, dataaspectratio, dataaspectratiomode properties. - - * plot/axis.m: New file. - * plot/Makefile.in (SOURCES_M): Include it in the list. - - * plot/__uiobject_axes_setr__.m: If we see xlim, ylim, or zlim, - set corresponding *limmode to "manual". - * plot/__uiobject_draw_axes__.m (get_axis_limits): New subfunction. - Use it to compute autosclaled limits. - Arg is now handle, not object. Change all callers. - Compute data limits. - - 2007-01-25 John W. Eaton - - * plot/drawnow: Fix visibility check for zero args. - - * plot/text.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - * plot/__uiobject_draw_axes__.m: Handle text objects. - * plot/__uiobject_text_ctor__.m: Include units, position, and - horizontalalignment properties. - - * plot/figure.m: Set options for f we just constructed or were - given as an argument, not gcf. Only return handle if nargout > 0. - - * plot/drawnow.m: Handle visible field for figure here. - * plot/__uiobject_figure_ctor__.m: Set default visible field. - - * plot/__uiobject_draw_axes__.m: Call undo_string_escapes on - title and axis labels. - - * plot/plot3.m, plot/mesh.m: Set default 3-d view here. - * plot/__uiobject_draw_axes__.m: Handle view for 3-d plots. - * plot/__uiobject_axes_init__.in: Set default view field for object. - * plot/view.m: New file. - * plot/Makefile.in (SOURCES_M): Add it to the list. - - * plot/__uiobject_make_handle__.in, plot/set.m, plot/drawnow.m: - Call __request_drawnow__. - - * plot/newplot.m: For "replace" action, call __uiobject_axes_init__. - - * plot/__uiobject_axes_ctor__.m, plot/__uiobject_text_ctor__.m: - Call set to set properties. Return handle instead of structure. - Change all callers. - - * plot/__uiobject_axes_setr__.m: New file. - * plot/set.in: Check for __setter__ field. - - * plot/__uiobject_axes_init__.in: - Rename from plot/__uiobject_axes_init__.m. - Include __uiobject_globals__. - Accept handle as arg instead of structure - * plot/Makefile.in (SOURCES_M): Remove __uiobject_axes_init__.m - from the list. - (SOURCES_IN): Add __uiobject_axes_init__.in to the list. - - 2007-01-24 John W. Eaton - - * plot/Makefile.in ($(GEN_M)): Depend on __uiobject_globals__.m. - - * plot/__uiobject_globals__.m: Call __lock_global__ when - initializing each global variable. - - 2007-01-18 John W. Eaton - - * plot/__uiobject_globals__.m (__uiobject_handles_free_list__, - __uiobject_figure_handles_free_list__): New global variables. - * plot/__uiobject_get_handle__.m, plot/__uiobject_free__.m: - Place unused handles on the free list. - - * plot/__uiobject_get_figure_handle__.in: Delete. - * plot/Makefile.in: Delete it from the SOURCES_IN list. - - * plot/__uiobject_init_figure__.in: Perform allocation of figure - handles here. Return figure handle. - * plot/figure.m: Call __uiobject_init_figure__ to allocate handle. - - 2007-01-11 John W. Eaton - - * plot/__uiobject_draw_axes__.m: Use "%g", not "%.4g" when writing - data for gnuplot. - - * plot/Makefile.in (SOURCES_M, SOURCES_IN, GEN_M): New lists of - files. - (SOURCES): Include $(SOURCES_M) and $(SOURCES_M) in the list. - (DISTFILES): Include include-globals.awk in the list. - (FCN_FILES): Define using $(SOURCES_M) and $(GEN_M). - ($(GEN_M) : %.m : %.in): New rule. - - * include-globals.awk: New file. - - * plot/__uiobject_alloc__.in, plot/__uiobject_figures__.in, - plot/__uiobject_free__.in, plot/__uiobject_get_figure_handle__.in, - plot/__uiobject_get_handle__.in, plot/__uiobject_grow_list__.in, - plot/__uiobject_handle2idx__.in, plot/__uiobject_init_figure__.in, - plot/__uiobject_init_root_figure__.in, - plot/__uiobject_make_handle__.in, plot/get.in, plot/set.in: - Rename from corresponding .m files. - - * move-if-change: New file. - - * plot/__uiobject_delete__.m: New file. - * plot/delete.m, plot/__uiobject_delete_children__.m, - plot/__uiobject_delete_child__.m: Delete. - * miscellaneous/delete.m: Forward to __uiobject_delete__ if arg is - not a character string. - * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2vm__.m: - Fix assignment to tmp key value in loop. - * plot/__uiobject_axes_dtor__.m: No need to Call __uiobject_free__ - for obj.title, obj.xlabel, obj.ylabel, obj.zlabel. - * plot/__uiobject_axes_dtor__.m, plot/__uiobject_axis_init__.m: - Inline code to delete children. - * plot/__uiobject_free__.m: Arg is now handle, not index into - __uiobject_list__. - * plot/clf.m, plot/closereq.m, plot/newplot.m: No need to remove - and free child. - - 2006-12-08 John W. Eaton - - * plot/gcf.m: Check if the root figure object's currentfigure - handle is empty, not 0. - * plot/__uiobject_root_figure_ctor__.m: - Set currentfigure to [], not 0. - - * plot/stairs.m: Handle matrix arguments. Improve compatibility. - - 2006-12-07 John W. Eaton - - * plot/__plt_get_axis_arg__.m, plot/__uiobject_adopt__.m, - plot/__uiobject_alloc__.m, plot/__uiobject_axes_ctor__.m, - plot/__uiobject_axes_dtor__.m, plot/__uiobject_axes_init__.m, - plot/__uiobject_delete_children__.m, - plot/__uiobject_draw_axes__.m, plot/__uiobject_draw_figure__.m, - plot/__uiobject_figure_ctor__.m, plot/__uiobject_figures__.m, - plot/__uiobject_free__.m, plot/__uiobject_get_figure_handle__.m, - plot/__uiobject_get_handle__.m, plot/__uiobject_globals__.m, - plot/__uiobject_grow_list__.m, plot/__uiobject_handle2idx__.m, - plot/__uiobject_init_figure__.m, - plot/__uiobject_init_root_figure__.m, - plot/__uiobject_line_ctor__.m, plot/__uiobject_make_handle__.m, - plot/__uiobject_remove_child__.m, - plot/__uiobject_root_figure_ctor__.m, - plot/__uiobject_surface_ctor__.m, plot/__uiobject_text_ctor__.m, - plot/axes.m, plot/box.m, plot/closereq.m, plot/delete.m, - plot/drawnow.m, plot/gca.m, plot/gcf.m, plot/get.m, - plot/isfigure.m, plot/ishandle.m, plot/line.m, plot/newplot.m, - plot/set.m: New files. - - * plot/__plt3__.m, plot/errorbar.m, plot/__axis_label__.m, - plot/__plr1__.m, plot/__errcomm__.m, plot/print.m, plot/zlabel.m, - plot/__plt1__.m, plot/__plt2__.m, plot/sombrero.m, plot/shg.m, - plot/fplot.m, plot/ndgrid.m, plot/clf.m, plot/hold.m, - plot/ishold.m, plot/meshdom.m, plot/ylabel.m, plot/__plt2ss__.m, - plot/__plt2vv__.m, plot/__plr2__.m, plot/__plt2mm__.m, - plot/__pltopt1__.m, plot/meshgrid.m, plot/__plt2mv__.m, - plot/figure.m, plot/xlabel.m, plot/stairs.m, plot/__plt2vm__.m, - plot/bar.m, plot/__errplot__.m, plot/semilogx.m, plot/semilogy.m, - plot/loglog.m, plot/polar.m, plot/legend.m, plot/orient.m, - plot/title.m, plot/__pltopt__.m, plot/grid.m, plot/hist.m, - plot/subplot.m, plot/plot.m, plot/mesh.m, plot/__plt__.m, - plot/close.m, plot/loglogerr.m, plot/plot3.m, plot/semilogxerr.m, - plot/semilogyerr.m, plot/replot.m: - Adapt to new graphics data structure. - - * plot/__do_legend__.m, plot/__gnuplot_version__.m, - plot/__init_plot_vars__.m, plot/__make_using_clause__.m, - plot/__plot_globals__.m, plot/__plr__.m, plot/__render_plot1__.m, - plot/__render_plot__.m, plot/__setup_plot__.m, plot/axis.m, - plot/contour.m, plot/mplot.m, plot/multiplot.m, plot/oneplot.m, - plot/plot_border.m, plot/subwindow.m: Delete. - -2007-01-24 David Bateman - - * pkg/pkg.m: Install ChangeLog file if it exists. - Delete bare newline in string passed to write_INDEX. - - * sparse/sprandsym.m: Make work for even values of N. - -2007-01-24 John W. Eaton - - * miscellaneous/news.m: New file. - -2007-01-23 Luis F. Ortiz - - * strings/strncmpi.m: Use strncmp instead of calling strtrunc on args. - - * strings/strncmp.m: Delete (we now have a built-in version). - -2007-01-22 Bob Weigel - - * testfun/test.m: Check for all files in path, use first found. - -2007-01-22 David Bateman - - * polynomial/spline.m: Make DG a column instead of a row vector. - -2007-01-18 S�ren Hauberg - - * pkg/pkg.m (copy_files): Call write_INDEX with correct target - file name. - - * image/ind2rgb.m: Better input checking. Return 3-d array if - nargout is 1. Handle colormaps that have too few colors. - - * pkg/pkg.m (create_pkgadddel): Call fullfile with nm, not "nm". - (configure_make): Use fullfile instead of concatenating with "/". - -2007-01-10 Baylis Shanks - - * set/ismember.m: Handle N-d arrays. - -2007-01-10 David Bateman - - * elfun/acosd.m, elfun/acotd.m, elfun/acscd.m, elfun/asecd.m, - elfun/asind.m, elfun/atand.m, elfun/cosd.m, elfun/cotd.m, - elfun/cscd.m, elfun/secd.m, elfun/sind.m, elfun/tand.m: - New files. - -2007-01-09 S�ren Hauberg - - * pkg/pkg.m: Allow filenames to contain glob patterns. - -2007-01-08 S�ren Hauberg - - * pkg/pkg.m: Use copyfile instead of calling system. Use fullfile - instead of concatenating with "/". Use mlock to ensure that - persistent variables are not clobbered if user types clear all. - -2007-01-08 John W. Eaton - - * miscellaneous/copyfile.m, miscellaneous/movefile.m: - Improve handling of file names containing globbing characters. - From S�ren Hauberg . - -2007-01-05 John W. Eaton - - * optimization/optimset.m, optimization/__fsolve_defopts__.m: - New files. - -2006-12-30 John W. Eaton - - * sparse/spfun.m: Check for "function_handle" not "function handle". - * plot/fplot.m: Likewise. Use isa instead of strcmp + class. - -2006-12-27 S�ren Hauberg - - * image/imshow.m: Strip NaNs from image. - -2006-12-08 David Bateman - - * sparse/normest.m: New file. - -2006-12-06 Michael Goffioul - - * miscellaneous/copyfile.m, miscellaneous/movefile.m: - Work on Windows systems without cp or mv. - - * startup/inputrc: Include sequences for Windows. - -2006-12-06 S�ren Hauberg - - * pkg/pkg.m (unload_packages): New function. - (pkg): Handle unload action. - - * __errplot__.m: Add missing semicolon. - -2006-11-30 John W. Eaton - - * miscellaneous/mexext.m: New file. - -2006-11-29 David Bateman - - * pkg/pkg.m: Add local_list and global_list options that allow the - location of package lists to be probed and set. - -2006-11-17 John W. Eaton - - * plot/__render_plot1__.m: Reverse y axis for images. - - * plot/__render_plot__.m: New args, terminal and output. - * plot/print.m: Don't set output and term here. Instead, call - __render_plot__ with terminal and output. - -2006-11-16 John W. Eaton - - * plot/__render_plot1__.m: New file. - * plot/__render_plot__.m: Use it. Loop over multiplots. - * plot/print.m, plot/subplot.m: Don't send "set multiplot" to - gnuplot. Let __render_plot__ do that. - -2006-11-16 Francesco Potorti` - - * plot/plot.m: Fix doc string. - -2006-11-16 John W. Eaton - - * plot/__render_plot__.m: Check for mix of 2-d and 3-d plots - before sending anything to the plotter. - -2006-11-15 John W. Eaton - - * image/__img_gnuplot__.m: Store more info in global plot - structures and use __render_plot__ to build plot command to - display image. - - * plot/__plt3__.m: New arg, parametric. Change all callers. - - * plot/__plot_globals__.m (__plot_line_offset__, __plot_command__, - __plot_command_sep__): Delete. - (__plot_data_type__, __plot_data_parametric__, - __plot_image_colormap__, __plot_image_dims__, __plot_fmtstr__, - __plot_usingstr__, __plot_withstr__): New variables. - * plot/__init_plot_vars__.m: Initialize them. - - * plot/__init_plot_vars__.m, plot/__setup_plot__.m: - Don't handle sep or cmd. - - * plot/__render_plot__.m: New function. - * plot/__plt__.m, plot/__plt3__.m, plot/__errplot__.m: - Store more info in global plot structures and use __render_plot__ - to build plot command. - * plot/replot.m: Simply call __render_plot__. - - * plot/contour.m, plot/mesh.m, plot/plot3.m: - Set __plot_data_parametric__ here. - -2006-11-14 John W. Eaton - - * plot/bottom_title.m, plot/top_title.m: Delete. - - * image/image_viewer.m: Set default values here. - * image/image.m: Not here. - - * image/image_viewer.m: Always return old values. Check arguments. - * image/__img_gnuplot__.m: Rename from __img__m. - -2006-11-14 S�ren Hauberg - - * image/image_viewer.m: New function. - * image/__img_via_file__.m: New function. - * image/image.m: Use image_viewer to determine which program to - use for image viewing. - * image/__img__.m: Silently accept more than 3 args. - -2006-11-14 John W. Eaton - - * plot/__do_legend__.m, plot/__errplot__.m, - plot/__init_plot_vars__.m, plot/__plot_globals__.m, - plot/__plt3__.m, plot/__plt__.m, plot/__setup_plot__.m, - plot/legend.m, plot/mplot.m, plot/multiplot.m, plot/oneplot.m, - plot/replot.m, plot/subplot.m, plot/subwindow.m: - Use __plot_globals__ for multiplot variables. Keep track of - multiplot info for each figure. Eliminate __multiplot_xscale__. - -2006-11-13 John W. Eaton - - * plot/mesh.m: Use proper dimensions for y in call to repmat. - - * miscellaneous/substruct.m: New function. - - * testfun/assert.m: Force orientation to match when comparing - struct elements. - - * general/__isequal__.m: Avoid assignment of comma-separated lists - when comparing structs. - -2006-11-13 S�ren Hauberg - - * general/bicubic.m, general/cart2pol.m, general/cart2sph.m, - plot/contour.m, linear-algebra/cross.m, general/cumtrapz.m, - linear-algebra/dot.m, image/imshow.m, general/interp2.m, - general/mod.m, plot/plot3.m, plot/__plr2__.m, plot/__plr__.m, - general/pol2cart.m, general/polyarea.m, polynomial/polyfit.m, - general/rem.m, image/rgb2ind.m, general/sph2cart.m, - general/trapz.m, miscellaneous/xor.m: Use size_equal. - -2006-11-13 John W. Eaton - - * plot/mesh.m: Use size_equal to compare dimensions. - -2006-11-13 S�ren Hauberg - - * plot/mesh.m: Simplify. Set hidden3d for the plot. - -2006-11-11 S�ren Hauberg - - * miscellaneous/copyfile.m: Fix docs to match function. - -2006-11-08 John W. Eaton - - * plot/legend.m: New function, adapted from Octave Forge. - - * plot/__do_legend__.m: New function. - * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m, - plot/replot.m: Call it before plotting. - - * plot/plot3.m, plot/mesh.m, plot/contour.m: Don't send "set - noparametric" to gnuplot.. - - * plot/__plotopt__.m, plot/__pltopt1__.m, plot/__plt1__.m, - plot/__plt2__.m, plot/__plt2mm__.m, plot/__plt2mv__.m, - plot/__plt2ss__.m, plot/__plt2vm__.m, plot/__plt2vv__.m: Accept - and return key title separate from line format. Accept format and - key as cellstr. Always return data as cell array. Return format - and key title as cellstr. - * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m: - Handle line format and key titles separately. - * plot/__plt3__.m, plot/__plt__.m: Handle data as cell array only. - - * plot/__plot_globals__.m (__plot_line_offset__, - __plot_key_labels__, __plot_key_properties__): New global - variables. Initialize them. - * plot/__init_plot_vars__.m (__plot_line_offset__, - __plot_key_labels__, __plot_key_properties__): Initialize. - * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m - (__plot_line_offset__, __plot_key_labels__, - __plot_key_properties__): Store information about plot key titles. - - * plot/__errplot__.m, plot/__init_plot_vars__.m, plot/__plt3__.m, - plot/__plt__.m: Use cf, mxi, and myi as shorthand for - __current_figure__, __multiplot_xi__, and __multiplot_yi__, - respectively. - - * plot/__errcomm__.m: Allow fmt to be cellstr. - - * strings/strcat.m: Disable Octave:empty-list-elements warning - whle concatenating args. - -2006-11-07 John W. Eaton - - * startup/main-rcfile: Conditionally set PAGER_FLAGS. - -2006-11-06 S�ren Hauberg - - * pkg/pkg.m (extract_pkg): No need to pass "dotexceptnewline" - option to regexp. - - * image/__img__.m: Send "set size ratio -1" before plotting. - -2006-11-03 Bill Denney - - * strings/index.m: New arg, direction. Simplify and speed up. - * strings/rindex.m: Implement using index (..., "last"); - - * blanks.m, strcat.m: Simplify. Add tests. - -2006-11-01 Bill Denney - - * general/__isequal__.m: Test size and class more consistently. - -2006-10-27 John W. Eaton - - * miscellaneous/ls_command.m: Use /D instead of /w. - From Michael Goffioul . - - * miscellaneous/ls.m, miscellaneous/ls_command.m: New files. - * miscellaneous/dir.m: Mark as a command. - -2006-10-27 William Poetra Yoga Hadisoeseno - - * miscellaneous/unpack.m: Fix missing comma in strcat call. - -2006-10-25 John W. Eaton - - * image/image.m: Set x = y = [] when nargin == 0; - -2006-10-25 Quentin Spencer - - * image/image.m: Call __img__ if gnuplot version is > 4.0. - * image/__img__.m: New file, originally from - Daniel J Sebald . - -2006-10-25 John W. Eaton - - * plot/__gnuplot_version__.m: New function, originally from - Daniel J Sebald by way of - Quentin Spencer . - -2006-10-25 S�ren Hauberg - - * plot/__pltopt__.m: Update symbol marker id numbers for gnuplot 4. - -2006-10-24 Bill Denney - - * miscellaneous/unpack.m, miscellaneous/bunzip2.m, - miscellaneous/gunzip.m: New files. - * miscellaneous/untar.m, miscellaneous/unzip.m: - Call unpack to do the real work. - -2006-10-24 John W. Eaton - - * plot/plot3.m: If we have a format string, then also pass using - string to __plt3__. - - * plot/sombrero.m: Don't return anything if nargout == 0. - - * plot/__plt3__.m: Create using clause if none is supplied. - * plot/mesh.m: Always pass empty using string to __plt3__. - -2006-10-20 Bill Denney - - * movefile.m, copyfile.m: Handle cellstr lists of files. - Quote filenames in shell commands. - -2006-10-17 David Bateman - - * pkg/pkg.m (uninstall): Allow the uninstall to proceed even if - the package directory is missing. - -2006-10-13 John W. Eaton - - * plot/box.m: New function. - -2006-10-13 Etienne Grossmann - - * general/ind2sub.m, general/sub2ind.m: Handle empty indices. - -2006-10-12 Quentin Spencer - - * plot/sombrero.m: Only plot if nargout == 0. Otherwise, return data. - -2006-10-10 John W. Eaton - - * miscellaneous/copyfile.m, miscellaneous/movefile.m: New functions. - -2006-10-10 Bill Denney - - * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, - audio/playaudio.m, audio/record.m, audio/saveaudio.m, - audio/setaudio.m, audio/wavread.m, audio/wavwrite.m, - control/base/__bodquist__.m, control/base/__freqresp__.m, - control/base/are.m, control/base/bode.m, control/base/ctrb.m, - control/base/damp.m, control/base/dare.m, control/base/dcgain.m, - control/base/dre.m, control/base/impulse.m, control/base/lqg.m, - control/base/lsim.m, control/base/lyap.m, control/base/nichols.m, - control/base/nyquist.m, control/base/obsv.m, control/base/pzmap.m, - control/base/rlocus.m, control/base/step.m, control/base/tzero.m, - control/hinf/h2norm.m, control/hinf/h2syn.m, - control/hinf/hinfnorm.m, control/hinf/hinfsyn.m, - control/hinf/is_dgkf.m, control/hinf/wgt1o.m, - control/obsolete/dezero.m, control/system/__sysdefioname__.m, - control/system/buildssic.m, control/system/c2d.m, - control/system/cellidx.m, control/system/d2c.m, - control/system/dmr2d.m, control/system/fir2sys.m, - control/system/is_abcd.m, control/system/is_controllable.m, - control/system/is_detectable.m, control/system/is_digital.m, - control/system/is_observable.m, control/system/is_siso.m, - control/system/is_stabilizable.m, control/system/is_stable.m, - control/system/jet707.m, control/system/listidx.m, - control/system/ord2.m, control/system/parallel.m, - control/system/ss.m, control/system/ss2zp.m, - control/system/starp.m, control/system/sys2ss.m, - control/system/sys2tf.m, control/system/sys2zp.m, - control/system/sysadd.m, control/system/sysappend.m, - control/system/syschtsam.m, control/system/sysconnect.m, - control/system/syscont.m, control/system/sysdimensions.m, - control/system/sysdisc.m, control/system/sysdup.m, - control/system/sysgetsignals.m, control/system/sysgettsam.m, - control/system/sysgroup.m, control/system/sysidx.m, - control/system/sysmin.m, control/system/sysmult.m, - control/system/sysout.m, control/system/sysprune.m, - control/system/sysscale.m, control/system/syssetsignals.m, - control/system/syssub.m, control/system/sysupdate.m, - control/system/tf.m, control/system/tfout.m, - control/system/ugain.m, control/system/zp.m, - control/system/zpout.m, control/util/__outlist__.m, - control/util/__zgpbal__.m, control/util/prompt.m, - control/util/sortcom.m, control/util/strappend.m, - deprecated/com2str.m, elfun/acot.m, elfun/acoth.m, elfun/acsc.m, - elfun/acsch.m, elfun/asec.m, elfun/asech.m, elfun/cot.m, - elfun/coth.m, elfun/csc.m, elfun/csch.m, elfun/lcm.m, elfun/sec.m, - elfun/sech.m, finance/fv.m, finance/fvl.m, finance/irr.m, - finance/nper.m, finance/npv.m, finance/pmt.m, finance/pv.m, - finance/pvl.m, finance/rate.m, finance/vol.m, - general/__isequal__.m, general/bitcmp.m, general/bitget.m, - general/bitset.m, general/blkdiag.m, general/cart2sph.m, - general/cell2mat.m, general/circshift.m, general/cplxpair.m, - general/cumtrapz.m, general/deal.m, general/diff.m, - general/flipdim.m, general/fliplr.m, general/flipud.m, - general/ind2sub.m, general/int2str.m, - general/is_duplicate_entry.m, general/isdefinite.m, - general/isequal.m, general/isequalwithequalnans.m, - general/isscalar.m, general/issquare.m, general/issymmetric.m, - general/isvector.m, general/logical.m, general/logspace.m, - general/mod.m, general/nargchk.m, general/nextpow2.m, - general/perror.m, general/postpad.m, general/prepad.m, - general/randperm.m, general/rem.m, general/repmat.m, - general/rot90.m, general/rotdim.m, general/shift.m, - general/shiftdim.m, general/sph2cart.m, general/strerror.m, - general/sub2ind.m, general/trapz.m, general/tril.m, - general/triu.m, image/gray.m, image/gray2ind.m, image/hsv2rgb.m, - image/image.m, image/imagesc.m, image/ind2gray.m, image/ind2rgb.m, - image/loadimage.m, image/ntsc2rgb.m, image/ocean.m, - image/rgb2hsv.m, image/rgb2ntsc.m, image/saveimage.m, io/beep.m, - linear-algebra/commutation_matrix.m, linear-algebra/cond.m, - linear-algebra/cross.m, linear-algebra/dmult.m, - linear-algebra/dot.m, linear-algebra/duplication_matrix.m, - linear-algebra/krylov.m, linear-algebra/krylovb.m, - linear-algebra/logm.m, linear-algebra/norm.m, - linear-algebra/null.m, linear-algebra/orth.m, - linear-algebra/qzhess.m, linear-algebra/rank.m, - linear-algebra/trace.m, linear-algebra/vec.m, - linear-algebra/vech.m, miscellaneous/bincoeff.m, - miscellaneous/delete.m, miscellaneous/dir.m, miscellaneous/dos.m, - miscellaneous/fileattrib.m, miscellaneous/fileparts.m, - miscellaneous/flops.m, miscellaneous/fullfile.m, - miscellaneous/ispc.m, miscellaneous/isunix.m, - miscellaneous/menu.m, miscellaneous/not.m, miscellaneous/popen2.m, - miscellaneous/single.m, miscellaneous/unix.m, miscellaneous/ver.m, - miscellaneous/xor.m, optimization/glpk.m, optimization/glpkmex.m, - optimization/qp.m, optimization/sqp.m, plot/__axis_label__.m, - plot/__errplot__.m, plot/__plr1__.m, plot/__plr2__.m, - plot/__plr__.m, plot/__plt1__.m, plot/__plt2__.m, - plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, - plot/__plt2vm__.m, plot/__plt2vv__.m, plot/__pltopt1__.m, - plot/__pltopt__.m, plot/bar.m, plot/bottom_title.m, plot/close.m, - plot/contour.m, plot/errorbar.m, plot/figure.m, plot/fplot.m, - plot/grid.m, plot/hist.m, plot/hold.m, plot/ishold.m, - plot/loglogerr.m, plot/mesh.m, plot/meshdom.m, plot/meshgrid.m, - plot/multiplot.m, plot/orient.m, plot/polar.m, plot/replot.m, - plot/semilogxerr.m, plot/semilogyerr.m, plot/sombrero.m, - plot/stairs.m, plot/subplot.m, plot/subwindow.m, plot/title.m, - plot/top_title.m, polynomial/compan.m, polynomial/conv.m, - polynomial/deconv.m, polynomial/mkpp.m, polynomial/poly.m, - polynomial/polyder.m, polynomial/polyderiv.m, - polynomial/polyfit.m, polynomial/polygcd.m, - polynomial/polyinteg.m, polynomial/polyout.m, - polynomial/polyreduce.m, polynomial/polyval.m, - polynomial/polyvalm.m, polynomial/ppval.m, polynomial/residue.m, - polynomial/roots.m, polynomial/unmkpp.m, quaternion/quaternion.m, - set/complement.m, set/create_set.m, set/intersect.m, - set/ismember.m, set/setdiff.m, set/setxor.m, set/union.m, - set/unique.m, signal/arch_fit.m, signal/arch_rnd.m, - signal/arma_rnd.m, signal/autocor.m, signal/autoreg_matrix.m, - signal/bartlett.m, signal/blackman.m, signal/detrend.m, - signal/diffpara.m, signal/durbinlevinson.m, signal/fftconv.m, - signal/fftfilt.m, signal/fftshift.m, signal/filter2.m, - signal/freqz.m, signal/hamming.m, signal/hanning.m, - signal/hurst.m, signal/ifftshift.m, signal/sinetone.m, - signal/sinewave.m, signal/spencer.m, signal/stft.m, - signal/synthesis.m, signal/unwrap.m, sparse/gplot.m, - sparse/spfun.m, sparse/sprand.m, sparse/sprandn.m, - sparse/sprandsym.m, sparse/spstats.m, specfun/beta.m, - specfun/betai.m, specfun/betaln.m, specfun/erfinv.m, - specfun/gammai.m, specfun/log2.m, specfun/pow2.m, - special-matrix/hankel.m, special-matrix/hilb.m, - special-matrix/invhilb.m, special-matrix/sylvester_matrix.m, - special-matrix/toeplitz.m, special-matrix/vander.m, - statistics/base/center.m, statistics/base/cloglog.m, - statistics/base/cor.m, statistics/base/corrcoef.m, - statistics/base/cov.m, statistics/base/cut.m, - statistics/base/gls.m, statistics/base/iqr.m, - statistics/base/kendall.m, statistics/base/kurtosis.m, - statistics/base/logit.m, statistics/base/mahalanobis.m, - statistics/base/mean.m, statistics/base/meansq.m, - statistics/base/median.m, statistics/base/moment.m, - statistics/base/ols.m, statistics/base/ppplot.m, - statistics/base/probit.m, statistics/base/qqplot.m, - statistics/base/range.m, statistics/base/ranks.m, - statistics/base/run_count.m, statistics/base/skewness.m, - statistics/base/spearman.m, statistics/base/statistics.m, - statistics/base/std.m, statistics/base/studentize.m, - statistics/base/table.m, statistics/base/values.m, - statistics/base/var.m, statistics/distributions/betacdf.m, - statistics/distributions/betainv.m, - statistics/distributions/betapdf.m, - statistics/distributions/betarnd.m, - statistics/distributions/binocdf.m, - statistics/distributions/binoinv.m, - statistics/distributions/binopdf.m, - statistics/distributions/binornd.m, - statistics/distributions/cauchy_cdf.m, - statistics/distributions/cauchy_inv.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chi2cdf.m, - statistics/distributions/chi2inv.m, - statistics/distributions/chi2pdf.m, - statistics/distributions/chi2rnd.m, - statistics/distributions/discrete_cdf.m, - statistics/distributions/discrete_inv.m, - statistics/distributions/discrete_pdf.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/empirical_rnd.m, - statistics/distributions/expcdf.m, - statistics/distributions/expinv.m, - statistics/distributions/exppdf.m, - statistics/distributions/exprnd.m, - statistics/distributions/fcdf.m, statistics/distributions/finv.m, - statistics/distributions/fpdf.m, statistics/distributions/frnd.m, - statistics/distributions/gamcdf.m, - statistics/distributions/gaminv.m, - statistics/distributions/gampdf.m, - statistics/distributions/gamrnd.m, - statistics/distributions/geocdf.m, - statistics/distributions/geoinv.m, - statistics/distributions/geopdf.m, - statistics/distributions/geornd.m, - statistics/distributions/hygecdf.m, - statistics/distributions/hygeinv.m, - statistics/distributions/hygepdf.m, - statistics/distributions/hygernd.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/laplace_cdf.m, - statistics/distributions/laplace_inv.m, - statistics/distributions/laplace_pdf.m, - statistics/distributions/laplace_rnd.m, - statistics/distributions/logistic_cdf.m, - statistics/distributions/logistic_inv.m, - statistics/distributions/logistic_pdf.m, - statistics/distributions/logistic_rnd.m, - statistics/distributions/logncdf.m, - statistics/distributions/logninv.m, - statistics/distributions/lognpdf.m, - statistics/distributions/lognrnd.m, - statistics/distributions/normcdf.m, - statistics/distributions/norminv.m, - statistics/distributions/normpdf.m, - statistics/distributions/normrnd.m, - statistics/distributions/pascal_cdf.m, - statistics/distributions/pascal_inv.m, - statistics/distributions/pascal_pdf.m, - statistics/distributions/pascal_rnd.m, - statistics/distributions/poisscdf.m, - statistics/distributions/poissinv.m, - statistics/distributions/poisspdf.m, - statistics/distributions/poissrnd.m, - statistics/distributions/stdnormal_cdf.m, - statistics/distributions/stdnormal_inv.m, - statistics/distributions/stdnormal_pdf.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/tcdf.m, statistics/distributions/tinv.m, - statistics/distributions/tpdf.m, statistics/distributions/trnd.m, - statistics/distributions/unifcdf.m, - statistics/distributions/unifinv.m, - statistics/distributions/unifpdf.m, - statistics/distributions/unifrnd.m, - statistics/distributions/wblcdf.m, - statistics/distributions/wblinv.m, - statistics/distributions/wblpdf.m, - statistics/distributions/wblrnd.m, - statistics/distributions/wienrnd.m, statistics/tests/anova.m, - statistics/tests/bartlett_test.m, - statistics/tests/chisquare_test_homogeneity.m, - statistics/tests/chisquare_test_independence.m, - statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, - statistics/tests/hotelling_test.m, - statistics/tests/hotelling_test_2.m, - statistics/tests/kolmogorov_smirnov_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, - statistics/tests/kruskal_wallis_test.m, statistics/tests/manova.m, - statistics/tests/mcnemar_test.m, statistics/tests/prop_test_2.m, - statistics/tests/run_test.m, statistics/tests/sign_test.m, - statistics/tests/t_test.m, statistics/tests/t_test_2.m, - statistics/tests/t_test_regression.m, statistics/tests/u_test.m, - statistics/tests/var_test.m, statistics/tests/welch_test.m, - statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, - statistics/tests/z_test_2.m, strings/base2dec.m, strings/blanks.m, - strings/deblank.m, strings/dec2base.m, strings/dec2bin.m, - strings/dec2hex.m, strings/findstr.m, strings/hex2dec.m, - strings/index.m, strings/isletter.m, strings/lower.m, - strings/rindex.m, strings/split.m, strings/str2mat.m, - strings/str2num.m, strings/strcat.m, strings/strcmpi.m, - strings/strfind.m, strings/strjust.m, strings/strmatch.m, - strings/strncmp.m, strings/strncmpi.m, strings/strrep.m, - strings/strtrunc.m, strings/strvcat.m, strings/substr.m, - strings/upper.m, testfun/assert.m, testfun/demo.m, - testfun/example.m, testfun/fail.m, testfun/speed.m, - testfun/test.m, time/asctime.m, time/calendar.m, time/ctime.m, - time/datenum.m, time/datestr.m, time/datevec.m, time/eomday.m, - time/etime.m, time/is_leap_year.m: - Use print_usage instead of usage. - -2006-10-09 David Bateman - - * time/datevec.m: Add additional compatible default parsing strings. - -2006-10-09 Bill Denney - - * pkg/pkg.m: Remove trailing "\n" from error messages. - Remove compare_versions subfunction. - - * miscellaneous/compare_versions.m: New function to compare - version numbers as strings with any boolean operators. - - * miscellaneous/untar.m: Check more rigorously to see if the tar - file exists. - -2006-10-04 John W. Eaton - - * pkg/pkg.m: Use fullfile to concatenate directory and file names. - -2006-10-04 S�ren Hauberg - - * pkg/pkg.m: Update docs. Handle prefix option. - Handle dependencies for load option. - -2006-10-04 John W. Eaton - - * deprecated/clearplot.m, deprecated/clg.m: New functions. - - * plot/clg.m: Delete. - * plot/__init_plot_vars__.m: New function. - * plot/__setup_plot__.m: Use __init_plot_vars__. - -2006-10-03 S�ren Hauberg - - * pkg/pkg.m: Avoid calling addpath with no args. - -2006-10-03 Bill Denney - - * audio/loadaudio.m, control/base/nyquist.m, - control/system/__zp2ssg2__.m, linear-algebra/cross.m, - linear-algebra/krylov.m, statistics/base/center.m, - statistics/base/median.m, statistics/base/std.m, - statistics/base/var.m, testfun/test.m: Use the new find syntax to - find first or last element matching a condition. - -2006-10-02 Bill Denney - - * strings/deblank.m, strings/upper.m, strings/lower.m, - general/__isequal__.m: Minimize looping using cellfun. - -2006-10-02 David Bateman - - * pkg/pkg.m (copy_files): always create installation directory. - -2006-10-02 Thomas Weber - - * miscellaneous/doc.m: Swap file and directory args to info. - -2006-10-01 Arno Onken - - * statistics/distributions/exprnd.m: Fix typo. - -2006-09-30 Benjamin Lindner - - * polynomial/ppval.m: Use .' instead of '. - * polynomial/spline.m: Likewise. New tests. - -2006-09-26 David Bateman - - * __plt3__.m: Using global variables __plot_data__, - __plot_data_offset__ and __plot_command__ to store plots and - correctly handle multiplots, and hold state. Only accept a single - data parameter plus, using, format and with strings. Remove - setting of gnuplot parameters. - * __make_using_clause__.m: New function extracted from __plt__.m. - * __setup_plot__.m: Convert to a function and pass the plotting - command to use. - * __plt__.m: Change call to __setup_plot__ and __make_using_clause__. - * contour.m: Use unwind protect on the parametric state of plot - and __plt3__ instead of calling __gnuplot_splot__ directly. - * mesh.m: ditto. - * plot3.m: Error checking, setting of parametric state and - formation of matrix to plot moved from old __plt3__. - -2006-09-22 Michael Creel - - * deprecated/chisquare_pdf.m: Typo in documentation. - -2006-09-22 S�ren Hauberg - - * signal/filter2.m: Correct texinfo doc. - -2006-09-22 David Bateman - - * miscellaneous/parseparams.m: Correct texinfo doc. - -2006-09-15 David Bateman - - * pkg/pkg.m (prepare_installation): Don't create package - installation directory here. - (copy_files): Create it here instead, to avoid issues with - upgrades. Also install the COPYING file in packinfo. - -2006-09-13 John W. Eaton - - * general/blkdiag.m: Adjust to new cellfun rules. - -2006-08-30 David Bateman - - * pkg/pkg.m (install): Disallow bundles of packages. More verbose - error message for archive name not matching package name. - (installed_packages): Size header of printed results to - arguments. Sort the list of installed packages before printing - them. - -2006-09-11 Paul Kienzle - - * signal/freqz.m: Update tests. - -2006-09-11 Ken Kouno - - * signal/freqz.m: Corretly postpad arrays. - Don't call fliplr on a column vector. - -2006-09-11 Luis F. Ortiz - - * general/shiftdim.m: Use permute instead of reshape. - -2006-09-05 Alexander Barth - - * miscellaneous/parseparams.m: New function. - -2006-09-05 Rafael Laboissiere - - * miscellaneous/doc.m: Swap order of --file and --directory - options for info program invocation. - -2006-08-30 David Bateman - - * pkg/pkg.m (create_pkgadddel): Resolve variable name-clash from - previous change. - -2006-08-26 David Bateman - - * pkg/pkg.m (install, uninstall, installed_packages): Allow for - absence of trailing "/" in OCTAVE_HOME. - -2006-08-25 Alexander Barth - - * time/datenum.m: Allow arg to be character string. - -2006-08-25 David Bateman - - * pkg/pkg.m (install): Verify that package name correponds to the - archive name. Treat both PKG_ADD and PKG_DEL and remove them if - they are empty. If package directory is empty, remove it to fail - gracefully for system specific packages. - (extract_pkgadd, create_pkgadd): delete. - (extract_pkg, create_pkg): Generalized versions of deleted functions - (copy_files): Install both bin/ and doc/ directories, adding the - bin/ to the EXEC_PATH when the package is loaded. - -2006-08-24 John W. Eaton - - * image/saveimage.m: Use logical indexing instead of - indices computed by calling find on the logical index. - -2006-08-24 S�ren Hauberg - - * miscellaneous/bincoeff.m, specfun/factorial.m: - Use logical indexing instead of indices computed by calling find - on the logical index. - - * linear-algebra/krylov.m: Delete unused local var nzidx. - -2006-08-23 Quentin Spencer - - * control/system/tf2zp.m: Simplify gain calculation. - -2006-08-23 John W. Eaton - - * plot/__plt__.m: Insert using clauses for all plots. - -2006-08-23 A S Hodel - - * control/system/sysscale.m: Call tf and zp with correct number of - args. - -2006-08-22 David Bateman - - * pkg/pkg.m (extract_pkgadd, create_pkgadd): New functions to - Search inst/*.m and src/*.m files in the package for - PKG_ADD directives and append user supplied PKG_ADD. - (pkg): Call create_pkgadd after copying files. - -2006-08-21 S�ren Hauberg - - * pkg/pkg.m: Handle multiple packages in a single file. - Insert directory separator between OCTAVE_HOME and rest of package - installation directory. - -2006-08-21 John W. Eaton - - * general/num2str.m: Early return if arg is empty. - From Thomas Treichl . - -2006-08-21 David Bateman - - * strings/mat2str.m: Compute NC before using. - -2006-08-17 John W. Eaton - - * audio/wavread.m: Fix calculation of sample count. - -2006-08-14 S�ren Hauberg - - * image/imshow.m: New Matlab-compatible version. - -2006-08-15 John W. Eaton - - * deprecated/is_global.m: Delete. - -2006-08-14 John W. Eaton - - * pkg/Makefile.in (script_sub_dir): Change from plot to pkg. - -2006-08-14 Dmitri A. Sergatskov - - * sparse/spy.m, control/base/bode.m, control/base/__stepimp__.m, - signal/freqz_plot.m: Adapt to new automatic_replot definition. - -2006-08-14 S�ren Hauberg - - * pkg/pkg.m: Don't pass function name to print_usage. - Use addpath and rmpath instead of manipulating LOADPATH. - Handle changes to system function. - (rm_rf): New subfunction. Use it to avoid confirmation dialog for - recursive directory removal. - - * strings/bin2dec.m: Ignore spaces in input for compatibility. - - * colormap.m: Change global variable to persistent. - - * rgb2ind.m: Handle single 3-d array as rgb image. - -2006-08-14 John W. Eaton - - * strings/str2double.m: Fix missing semicolon. - -2006-07-27 Jim Peterson - - * plot/plot3.m: Accept one complex or one real and one complex - argument and plot real and imaginary components for y and z. - -2006-07-27 John W. Eaton - - * testfun/test.m: Call fflush after each block of calls to - fprintf, fputs, or fdisp. - -2006-07-26 John W. Eaton - - * miscellaneous/mex.m: New function. - -2006-07-22 John W. Eaton - - * special-matrix/hadamard.m: Coerce bool matrix to double. - -2006-07-07 John W. Eaton - - * miscellaneous/orderfields.m: New file. - -2006-06-30 John W. Eaton - - * time/datevec.m: Make another attempt to account for precision of - datenum format. - -2006-06-29 John W. Eaton - - * miscellaneous/dump_prefs.m: Remove obsolete symbols from the list. - Use feval instead of "type -q" to get values now that all the - symbols are functions. - -2006-06-16 John W. Eaton - - * time/datevec.m: Avoid computing log of non-positive values. - -2006-06-14 John W. Eaton - - * time/datevec.m: Attempt to account for precision of datenum format. - -2006-06-01 Quentin H. Spencer - - * audio/wavread.m: Fix file range error and add read support for - 24-bit WAV files. - -2006-06-01 David Bateman - - * general/interpft.m, general/quadl.m, general/polyarea.m, - general/interp1.m, general/gradient.m, general/interp2.m, - general/bicubic.m, miscellaneous/inputname.m, plot/__plt3__.m, - plot/ndgrid.m, plot/plot3.m, polynomial/pchip.m, sparse/pcg.m, - sparse/pcr.m, strings/mat2str.m: New files from Octave Forge. - -2006-05-31 Bill Denney - - * miscellaneous/fileparts.m, miscellaneous/fullfile.m: Add seealso. - * miscellaneous/texas_lotto.m: Fix warning message. - -2006-05-26 John W. Eaton - - * miscellaneous/doc.m: Also handle nargin == 0. - -2006-05-23 John W. Eaton - - * plot/mesh.m: Use __gnupot_raw__ except where __gnuplot_set__ is - really needed. - -2006-05-22 John W. Eaton - - * general/lookup.m: New file from Octave Forge. - -2006-05-22 David Bateman - - * general/nthroot.m, linear-algebra/rref.m, specfun/isprime.m, - specfun/primes.m, specfun/factor.m, specfun/nchoosek.m, - specfun/legendre.m, specfun/perms.m, special-matrix/rosser.m, - special-matrix/wilkinson.m, special-matrix/pascal.m, - special-matrix/magic.m, special-matrix/hadamard.m, - strings/strtok.m: New files from Octave Forge. - -2006-05-19 David Bateman - - * polynomial/unmkpp.m, polynomial/mkpp.m, polynomial/spline.m, - polynomial/ppval.m, set/setxor.m: New files from Octave Forge. - -2006-05-17 John W. Eaton - - * set/intersection.m: Delete - * deprecated/intersection.m: New file. - -2006-05-17 David Bateman - - * general/cplxpair.m, general/trapz.m, general/cumtrapz.m, - general/isdir.m, miscellaneous/dos.m, miscellaneous/getfield.m, - miscellaneous/setfield.m, plot/fplot.m, set/intersect.m, - signal/ifftshift.m, signal/filter2.m, specfun/betaln.m, - specfun/factorial.m, strings/strvcat.m: New files from Octave - Forge. - -2006-05-11 John W. Eaton - - * path/path.m: Delete (now a built-in function). - - * pkg/Makefile.in: New file. - * configure.in (AC_CONFIG_FILES): Add pkg/Makefile to the list. - * Makefile.in (SUBDIRS): Add pkg to the list. - -2006-05-10 John W. Eaton - - * tar.m, untar.m, unzip.m: Adapt to Octave coding style. - * tar.m, untar.m: Only tar; don't compress or uncompress. - -2006-05-10 S�ren Hauberg - - * tar.m, untar.m, unzip.m: New files. - -2006-05-10 John W. Eaton - - * path/addpath.m, path/rmpath.m: Improve compatibility. - * path/setpath.m: Delete. - - * pkg/pkg.m: New file. - -2006-05-09 Keith Goodman - - * plot/plot.m: Doc string fix. - -2006-05-09 Paul Kienzle - - * testfun/speeed.m: Use new interface to unique and assert. - Improve documentation. Approximate time complexity from log-log - plot. Return time complexity and raw times if requested. The - mean ratio is no longer returned. Provide complete control over - which n are computed. - -2006-05-09 John W. Eaton - - * path/path.m: Move here from miscellaneous. - Adapt to new LOADPATH definition. - -2006-05-03 David Bateman - - * path/rmpath.m, path/addpath.m, miscellaneous/path.m: Replace all - explicit uses of a path seperation character with pathsep(). - -2006-05-03 Bob Weigel - - * set/setdiff.m: New arg, byrows. New tests. - -2006-04-29 John W. Eaton - - * startup/main-rcfile: Disable some warnings. - -2006-04-14 Bill Denney - - * strings/strcmpi.m: Return false instead of error if args are not - char or cellstr. - -2006-04-10 John W. Eaton - - * miscellaneous/dir.m: Ensure that returned structure array is - Nx1, not 1xN. - -2006-04-06 Olli Saarela - - * plot/hist.m: Ignore NaN in inputs. - -2006-04-06 Keith Goodman - - * miscellaneous/mkoctfile.m: Doc string fix. - -2006-04-05 John W. Eaton - - * plot/__plt2__.m: Return data = [] and fmtstr = "" if x1 and x2 - are both empty. - * plot/__plt__.m: Ignore empty data and format strings returned - from __plt1__ or __plt2__. - -2006-04-04 Bob Weigel - - * set/unique.m: Properly handle single column input when - "rows" is specified. - -2006-04-04 John W. Eaton - - * path/setpath.m: New file. - * path/savepath.m: Use setpath to set path instead of assigning - directly to LOADPATH. - - * path/Makefile.in, path/addpath.m, path/rmpath.m, path/savepath.m: - New files, adapted from Octave Forge by Keith Goodman - . - * path: New directory. - * Makefile.in (SUBDIRS): Add it to the list. - * configure.in (AC_CONFIG_FILES): Include path/Makefile here. - -2006-04-02 David Bateman - - * general/tril.m, general.triu.m: - Use resize (resize (x, 0), nr, nc) rather than zeros (nr, nc) - to allow user types to work correctly. - * special-matrix/hankel.m, special-matrix/toeplitz.m: Ditto. - -2006-04-03 David Bateman - - * plot/grid.m: Cache the state of the grid to allow toggling. - Accept keyword "minor" for minor grid. - -2006-03-28 John W. Eaton - - * general/isscalar.m: Only require that all dimensions are 1 for - compatiblity. - -2006-03-28 Bill Denney - - * general/isvector.m: Allow non-numeric objects to be vectors for - compatibility. - -2006-03-28 Keith Goodman - - * plot/__errplot__.m: Doc string fix. - - * miscellaneous/doc.m: Mark as command. - - * general/isequal.m, general/__isequal__.m, general/cell2mat.m, - general/isequalwithequalnans.m, general/blkdiag.m, - strings/strfind.m, miscellaneous/doc.m: Update FSF address. - -2006-03-27 Don Bindner - - * plot/meshgrid.m: If nargout == 3 and vectors are supplied, - return 3d matrices. - -2006-03-27 Keith Goodman - - * time/toc.m: Don't print "Elapsed time..." if tic has not been set. - -2006-03-22 John W. Eaton - - * plot/print.m: Don't replot after popping terminal setting. - -2006-03-20 John W. Eaton - - * miscellaneous/mkoctfile.m: Use version-specific name of - mkoctfile. Use fullfile to construct file name. - -2006-03-20 Keith Goodman - - * miscellaneous/mkoctfile.m: Make it possible to call mkoctfile - shell script from Octave prompt. - -2006-03-17 John W. Eaton - - * deprecated/weibcdf.m, deprecated/weibinv.m, - deprecated/weibpdf.m, deprecated/weibrnd.m: New functions. - - * deprecated/weibull_cdf.m, deprecated/weibull_inv.m, - deprecated/weibull_pdf.m, deprecated/weibull_rnd.m: - Call new wbl functions to do the real work. - Swap args and provide default values as necessary to preserve - compatibility with old version of Octave. - - * statistics/distributions/wblcdf.m: Rename from weibcdf.m. - statistics/distributions/wblinv.m: Rename from weibinv.m. - statistics/distributions/wblpdf.m: Rename from weibpdf.m. - statistics/distributions/wblrnd.m: Rename from weibrnd.m. - Swap scale and shape args for compatibility. - - * deprecated/lognormal_cdf.m, deprecated/lognormal_inv.m, - deprecated/lognormal_pdf.m, deprecated/lognormal_rnd.m: - Preserve compatibility with old versions of Octave given new - definitions of logncdf, logninv, lognpdf, and lognrnd. - - * statistics/distributions/logncdf.m, - statistics/distributions/logninv.m, - statistics/distributions/lognpdf.m, - statistics/distributions/lognrnd.m: Compatibility fixes. - From Ben Barrowes - - * deprecated/hypergeometric_rnd.m: Update interface to match - current 2.1.x version. - - * deprecated/t_rnd.m: Call trnd, not t_rnd. - - * miscellaneous/dir.m: Use readdir instead of glob. - Special case for "." to avoid globbing. Use list_in_columns. - Eliminate unused variables len and finfo. - -2006-03-16 Bill Denney - - * miscellaneous/dir.m: Improve compatibility. - -2006-03-15 William Poetra Yoga Hadisoeseno - - * time/calendar.m, time/datestr.m, time/datevec.m, time/eomday.m, - time/now.m, time/weekday.m: New functions from Octave Forge. - -2006-03-16 John W. Eaton - - * control/base/bode_bounds.m: Check for iip and iiz empty instead - of looking at sum of max dimensions. - -2006-03-16 David Bateman - - * testfun/test.m: Clear last warning before warning test to avoid - issues with previously set warnings. - * build_sparse_test.sh: Tests for multiple RHS for rectanguar - sparse matrices. Force matrix type from spqr solution to be - singular to force QR solvers to be used for assert. - -2006-03-16 William Poetra Yoga Hadisoeseno - - * strings/strfind.m: New file. - -2006-03-16 John W. Eaton - - * general/rows.m, general/columns.m: Delete. - -2006-03-15 William Poetra Yoga Hadisoeseno - - * strings/strcmpi.m: Simplify. - * strings/strncmpi.m: Import from octave-forge, simplify. - * strings/strtrunc.m: New file. - - * strings/lower.m, strings/upper.m: Handle cellstr arguments. - -2006-03-15 John W. Eaton - - * miscellaneous/doc.m: New file. - From S�ren Hauberg . - -2006-03-15 Keith Goodman - - * miscellaneous/mkoctfile.m: New file. - -2006-03-15 John W. Eaton - - * polynomial/residue.m: Use & instead of && to generate arg for find. - -2006-03-14 Keith Goodman - - * strings/bin2dec.m: Doc fix. - -2006-03-10 Paul Kienzle - - * time/etime.m: Use datenum to support times spanning year boundaries. - * time/datenum.m: New function to compute day number from time. - -2006-03-09 John W. Eaton - - * miscellaneous/unix.m, plot/print.m: - Swap order of outputs from system. - -2006-03-06 Keith Goodman - - * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, - audio/playaudio.m, audio/record.m, audio/saveaudio.m, - audio/wavread.m, audio/wavwrite.m, control/base/DEMOcontrol.m, - control/base/__stepimp__.m, control/base/are.m, - control/base/controldemo.m, control/base/damp.m, - control/base/dare.m, control/base/impulse.m, control/base/lqg.m, - control/base/step.m, control/system/abcddim.m, - control/system/is_abcd.m, control/system/is_controllable.m, - control/system/is_detectable.m, control/system/is_observable.m, - control/system/is_stabilizable.m, control/system/is_stable.m, - control/system/jet707.m, control/system/sys2fir.m, - control/system/sysdimensions.m, control/system/sysupdate.m, - control/system/tfout.m, control/system/ugain.m, - control/system/zpout.m, elfun/lcm.m, finance/irr.m, - finance/nper.m, finance/npv.m, finance/pmt.m, finance/pv.m, - finance/rate.m, general/__isequal__.m, general/bitcmp.m, - general/bitget.m, general/bitset.m, general/blkdiag.m, - general/cart2pol.m, general/cart2sph.m, general/cell2mat.m, - general/circshift.m, general/columns.m, general/flipdim.m, - general/fliplr.m, general/flipud.m, general/ind2sub.m, - general/int2str.m, general/isdefinite.m, general/isequal.m, - general/isequalwithequalnans.m, general/isscalar.m, - general/issquare.m, general/issymmetric.m, general/isvector.m, - general/logspace.m, general/mod.m, general/nextpow2.m, - general/num2str.m, general/perror.m, general/pol2cart.m, - general/rem.m, general/rot90.m, general/rotdim.m, general/rows.m, - general/shiftdim.m, general/sph2cart.m, general/sub2ind.m, - general/tril.m, image/hsv2rgb.m, image/image.m, image/imagesc.m, - image/imshow.m, image/ind2gray.m, image/ind2rgb.m, - image/loadimage.m, image/rgb2hsv.m, image/rgb2ind.m, - image/saveimage.m, io/beep.m, linear-algebra/cond.m, - linear-algebra/norm.m, miscellaneous/comma.m, miscellaneous/dir.m, - miscellaneous/license.m, miscellaneous/menu.m, - miscellaneous/semicolon.m, miscellaneous/texas_lotto.m, - miscellaneous/unix.m, miscellaneous/ver.m, optimization/sqp.m, - plot/__errcomm__.m, plot/__errplot__.m, plot/__pltopt1__.m, - plot/__pltopt__.m, plot/bar.m, plot/contour.m, plot/errorbar.m, - plot/grid.m, plot/hist.m, plot/loglog.m, plot/loglogerr.m, - plot/mesh.m, plot/meshgrid.m, plot/plot.m, plot/polar.m, - plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, - plot/semilogyerr.m, plot/shg.m, plot/stairs.m, plot/title.m, - plot/xlabel.m, polynomial/compan.m, polynomial/conv.m, - polynomial/deconv.m, polynomial/polyderiv.m, polynomial/polygcd.m, - polynomial/polyinteg.m, polynomial/polyout.m, - polynomial/polyreduce.m, polynomial/polyval.m, - polynomial/polyvalm.m, polynomial/residue.m, set/complement.m, - set/create_set.m, set/intersection.m, set/ismember.m, - set/setdiff.m, set/union.m, set/unique.m, sparse/etreeplot.m, - sparse/gplot.m, sparse/spalloc.m, sparse/sphcat.m, - sparse/sprand.m, sparse/sprandn.m, sparse/sprandsym.m, - sparse/spvcat.m, sparse/treeplot.m, specfun/erfinv.m, - specfun/log2.m, specfun/pow2.m, special-matrix/hankel.m, - special-matrix/hilb.m, special-matrix/invhilb.m, - special-matrix/sylvester_matrix.m, special-matrix/toeplitz.m, - special-matrix/vander.m, statistics/base/median.m, - statistics/base/std.m, statistics/distributions/gamcdf.m, - statistics/distributions/gaminv.m, - statistics/distributions/gampdf.m, - statistics/distributions/gamrnd.m, strings/base2dec.m, - strings/bin2dec.m, strings/dec2base.m, strings/dec2bin.m, - strings/dec2hex.m, strings/hex2dec.m, strings/isletter.m, - strings/lower.m, strings/upper.m, testfun/assert.m, - testfun/demo.m, testfun/example.m, testfun/test.m, time/etime.m: - Move @seealso inside @defXXX macro. Remove "and" from @seealso. - -2006-02-27 John W. Eaton - - * time/tic.m: Move here from miscellaneous/tic.m. - * time/toc.m: Move here from miscellaneous/toc.m. - -2006-02-26 Keith Goodman - - * miscellaneous/toc.m: Display "Elapsed time is X seconds" if user - does not assign output of toc to a variable. - -2006-02-16 Bill Denney - - * axis.m: Catch limits that are the same and return an error. - -2006-02-15 Dmitri A. Sergatskov - - * plot/print.m: Accept emf device option to support Enhanced - Metafile format. - -2006-02-15 A S Hodel - - * control/base/lqe.m: Doc fix. - -2006-02-15 Keith Goodman - - * statistics/distributions/gamcdf.m: Doc fix. - * statistics/distributions/gaminv.m: Doc fix. - * statistics/distributions/gampdf.m: Doc fix. - * statistics/distributions/gamrnd.m: Doc fix. - -2006-02-09 David Bateman - - * general/triu.m: Minimum change to allow sparse matrix. More needed - for arbitrary user type. - * general/tril.m: ditto. - * sparse/sprand.m: Doc fix. - * sparse/sprandn.m: Ditto. - * sparse/sprandsym.m: New function. - * audio/setaudio.m, general/cart2pol.m, general/cart2sph.m, - general/pol2cart.m, general/sph2cart.m, signal/freqz_plot.m: - Update for syntax error for latest texinfo.tex file. - -2006-02-02 John W. Eaton - - * plot/grid.m: Append ";\n" to "set grid" command. - -2006-02-02 A S Hodel - - * control/base/rlocus.m: Don't atttempt to plot rlzer if it is empty. - -2006-01-13 John W. Eaton - - * audio/Makefile.in, control/base/Makefile.in, - control/hinf/Makefile.in, control/obsolete/Makefile.in, - control/system/Makefile.in, control/util/Makefile.in, - deprecated/Makefile.in, elfun/Makefile.in, finance/Makefile.in, - general/Makefile.in, image/Makefile.in, io/Makefile.in, - linear-algebra/Makefile.in, miscellaneous/Makefile.in, - optimization/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, - signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, - special-matrix/Makefile.in, startup/Makefile.in, - statistics/base/Makefile.in, statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, time/Makefile.in, testfun/Makefile.in: - (all): Depend on PKG_ADD. - (PKG_ADD): New target. - -2006-01-13 Bill Denney - - * miscellaneous/dir.m: Add @seealso{} to docstring. - -2006-01-13 John W. Eaton - - * time/etime.m: Move here from miscellaneous/etime.m. - * time/is_leap_year.m: Move here from miscellaneous/is_leap_year.m. - -2006-01-13 Bill Denney - - * miscellaneous/dir.m: Use filesep instead of "/" where needed. - * miscellaneous/fullfile.m: Likewise. - -2006-01-12 David Bateman - - * general/blkdiag.m: Compatible behavior for empty matrices - * statistics/base/unidrnd.m: Documentation buglet. - -2005-12-14 David Bateman - - * testfun/assert.m, testfun/fail.m, testfun/test.m, testfun/demo.m, - testfun/speed.m, testfun/example.m, Makefile.in: New files. - - * Makefile.in (SUBDIRS): Include testfun. - * configure.in (AC_CONFIG_FILES): Include testfun/Makefile. - - * miscellaneous/dir.m: Transpose sub-assignment for cleanness. - - * general/__isequal__.m: Remove reference to getfield. - - * plot/hist.m: Update test code for row/column discrepencies. - * signal/freqz.m: Alter output row/column for matlab compatibility. - Update the test code for this. - * sparse/spstats.m: Fix small bug in the dimension of output. - -2005-12-13 William Poetra Yoga Hadisoeseno - - * cell/cell2mat.m: New file, from octave-forge. - -2005-12-13 Ivana Varekova - - * sparse/treeplot.m, sparse/etreeplot.m, sparse/gplot.m: - New graph theory functions. - -2005-12-13 John W. Eaton - - * general/blkdiag.m: Use "isempty" instead of @isempty. - - * control/system/ss.m: Doc fix. - From Jorge Barros de Abreu . - -2005-12-12 Michael Zeising - - * audio/wavread.m, audio/wavwrite.m: - Correct scaling for 8-bit linear pcm samples. - Improve scaling for all other linear pcm resolutions. - -2005-12-07 John W. Eaton - - * statistics/base/moment.m: Don't save and restore warn_str_to_num. - - * sparse/spdiags.m: Don't save and restore warn_fortran_indexing. - * strings/strjust.m: Likewise. - - * general/shift.m: Don't save and restore warn_empty_list_elements. - * signal/arma_rnd.m: Likewise. - * strings/strcat.m: Likewise. - * control/base/__freqresp__.m: Likewise. - * control/base/place.m: Likewise. - * control/base/pzmap.m: Likewise. - * control/base/pzmap.m: Likewise. - * control/system/sysappend.m: Likewise. - * control/system/syscont.m: Likewise. - * control/system/sysdisc.m: Likewise. - * control/system/sysgroup.m: Likewise. - * control/system/tfout.m: Likewise. - * control/system/zpout.m: Likewise. - * control/util/__outlist__.m: Likewise. - -2005-12-06 John W. Eaton - - * audio/wavread.m, audio/wavwrite.m: Adapt to Octave coding style. - Avoid for loop in interleave/deinterleave steps. - -2005-12-06 Michael Zeising - - * audio/wavread.m, audio/wavwrite.m: New files. - -2005-12-06 John W. Eaton - - * miscellaneous/dir.m: Return Nx1 instead of 1xN struct array. - -2005-12-05 John W. Eaton - - * plot/axis.m: Add "## PKG_ADD: mark_as_command axis" line. - -2005-12-02 John W. Eaton - - * miscellaneous/fileattrib.m: New function. - -2005-12-01 John W. Eaton - - * general/columns.m: Use size (x, 2) instead of [nr, nc] = size (x). - * general/rows.m: Use size (x, 1) instead of [nr, nc] = size (x). - From William Poetra Yoga Hadisoeseno . - -2005-11-30 John W. Eaton - - * linear-algebra/krylov.m: Format doc string. - From Jorge Barros de Abreu . - -2005-11-23 William Poetra Yoga Hadisoeseno - - * general/blkdiag.m: Import from octave-forge. - Ignore empty matrices in the input. Add tests. - - * general/isequal.m, general/isequalwithequalnans.m: - New wrapper scripts for general/__isequal__.m. - * general/__isequal__.m: Rename from general/isequal.m. - New arg, nans_compare_equal. - -2005-11-29 John W. Eaton - - * miscellaneous/ver.m: Use new uname built-in function instead of - calling system. Only append octave_forge_string if - OCTAVE_FORGE_VERSION exists. Use puts instead of disp. - Call license instead of hard-coding license info here. - - * miscellaneous/license.m: Use persistent instead of global for - __octave_licenses__. Use puts instead of disp. - Use getuid and getpwuid instead of calling unix ("id -un"). - If nargout = 1, return license info instead of printing usage message. - -2005-11-29 William Poetra Yoga Hadisoeseno - - * miscellaneous/ver.m: New file. - * miscellaneous/license.m: New file. - -2005-11-22 John W. Eaton - - * plot/axis.m: Use %.16g instead of just %g to format ranges for - gnuplot set command. - -2005-11-15 John W. Eaton - - * general/shiftdim.m: Doc fix. - -2005-11-07 Keith Goodman - - * set/unique.m: Doc string fix. - -2005-11-01 John W. Eaton - - * Makefile.in (distclean, maintainer-clean): - Also remove autom4te.cache directory. - From Quentin Spencer . - -2005-10-28 John W. Eaton - - * general/shiftdim.m: Compatibility fix for row vectors. - Correct check for non-scalar non-integer shift. For positive - N, shift is remainder of N and number of dims. Always return NS. - Simplify. - -2005-10-18 Keith Goodman - - * general/randperm.m: Improve compatibility by allowing input - value of zero. - -2005-10-13 John W. Eaton - - * plot/__plt__.m, plot/__errplot__.m, plot/replot.m: - If in multiplot mode, clear plot before issuing new plot command. - - * plot/__setup_plot__.m: New function. - * plot/__plt__.m, plot__errplot__.m: Use it. - Handle multiplot data and offsets here. - - * plot/__plot_globals__.m: Also keep track of multiplot options. - Move initialization to __setup_plot__.m. - - * plot/subplot.m: Multiplot globals now in __plot_globals__.m. - Don't reset gnuplot_command_replot. - - * plot/replot.m: Handle multiplot data and offsets here. - * plot__axis_label__.m, plot/axis.m, plot/grid.m, - plot/plot_border.m, plot/plot.m, plot/plot_title.m, - plot/top_title.m: Call replot, not __gnuplot_replot__. - -2005-10-12 John W. Eaton - - * plot/figure.m: Handle __current_figure__, not gnuplot details. - -2005-10-04 Rafael Laboissiere - - * binoinv.m, chi2pdf.m, frnd.m, poissinv.m, tinv.m, trnd.m, - weibrnd.m: Removed calls and references to deprecated _pdf and - _inv functions. - * chi2pdf.m: Fixed typos in the documentation. - -2005-09-28 John W. Eaton - - * miscellaneous/single.m: New function. - - * statistics/base/unidrnd.m: New function. - -2005-09-27 John W. Eaton - - * miscellaneous/dir.m: Filename never includes directory part. - -2005-09-22 John W. Eaton - - * polynomial/residue.m: Use logical indexing instead of find.. - -2005-09-22 Julius Smith - - * polynomial/residue.m: Avoid division by zero for pure imaginary - and zero poles. - -2005-09-22 Bill Denney - - * strings/deblank.m: Handle cell arrays. - * strings/split.m: New argument, N, to limit number of splits. - -2005-09-22 Miroslaw Kwasniak - - * plot/__pltopt1__.m: Handle plot colors "w" and "k" separately. - -2005-09-20 "Orestes Mas" - - * control/base/rlocus.m: Doc fix. - -2005-09-20 John W. Eaton - - * general/isvector.m: Improve compatibility. - - * general/postpad.m: Allow first argument to be a scalar. - Allow padding to extend dimensionality. - * general/prepad.m: Likewise. - -2005-09-14 Daniel - - * statistics/tests/bartlett_test.m, linear-algebra/cross.m, - statistics/distributions/discrete_cdf.m, general/fliplr.m, - /control/base/dgram.m: Doc string fixes. - From Jorge Barros de Abreu . - -2005-09-12 Stefan van der Walt - - * saveimage.m: Do not ignore most significant bit when writing - black and white images to file. - -2005-09-07 Bill Denney - - * audio/playaudio.m, control/base/__bodquist__.m, - control/base/lqg.m, control/obsolete/dezero.m, - control/system/__syschnamesl__.m, control/system/__sysconcat__.m, - control/system/c2d.m, control/system/cellidx.m, - control/system/d2c.m, control/system/dmr2d.m, - control/system/is_signal_list.m, control/system/listidx.m, - control/system/ss.m, control/system/sysappend.m, - control/system/sysconnect.m, control/system/sysdup.m, - control/system/sysgetsignals.m, control/system/sysidx.m, - control/system/sysprune.m, control/system/syssetsignals.m, - control/system/tfout.m, control/system/zpout.m, - control/util/prompt.m, control/util/sortcom.m, - control/util/strappend.m, finance/fv.m, finance/nper.m, - finance/pmt.m, finance/pv.m, finance/rate.m, general/diff.m, - general/num2str.m, general/repmat.m, general/sortrows.m, - general/strerror.m, image/colormap.m, image/imshow.m, - image/loadimage.m, image/saveimage.m, linear-algebra/norm.m, - miscellaneous/fileparts.m, miscellaneous/popen2.m, - plot/__axis_label__.m, plot/__errcomm__.m, plot/__plt1__.m, - plot/__plt2__.m, plot/__plt__.m, plot/__pltopt1__.m, - plot/__pltopt__.m, plot/axis.m, plot/bottom_title.m, plot/close.m, - plot/grid.m, plot/hist.m, plot/plot_border.m, plot/polar.m, - plot/print.m, plot/title.m, plot/top_title.m, - polynomial/polyout.m, set/unique.m, signal/freqz.m, signal/stft.m, - statistics/base/mean.m, statistics/base/moment.m, - statistics/tests/cor_test.m, - statistics/tests/kolmogorov_smirnov_test.m, - statistics/tests/kolmogorov_smirnov_test_2.m, - statistics/tests/prop_test_2.m, statistics/tests/sign_test.m, - statistics/tests/t_test.m, statistics/tests/t_test_2.m, - statistics/tests/t_test_regression.m, statistics/tests/u_test.m, - statistics/tests/var_test.m, statistics/tests/welch_test.m, - statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, - statistics/tests/z_test_2.m, strings/base2dec.m, strings/blanks.m, - strings/deblank.m, strings/dec2base.m, strings/index.m, - strings/rindex.m, strings/split.m, strings/str2mat.m, - strings/str2num.m, strings/strcat.m, strings/strcmpi.m, - strings/strncmp.m, strings/strrep.m, strings/substr.m: - Avoid deprecated functions. Use ischar instead of isstr. Use - isvector instead of is_vector. Use isstruct instead of - is_struct. Use char instead of setstr. - -2005-08-31 Daniel - - * special-matrix/invhilb.m, statistics/base/iqr.m, - control/system/is_controllable.m, set/ismember.m: Doc fixes. - From Jorge Barros de Abreu . - -2005-08-29 Bill Denney - - * image/saveimage.m: Open output file in binary mode. - - * miscellaneous/bug_report.m: Open prefs file in text mode. - -2005-08-16 John W. Eaton - - * miscellaneous/computer.m: Handle optional maxsize and endian - outputs. - -2005-08-15 John W. Eaton - - * strings/strcat.m: Allow single argument. - -2005-07-18 John W. Eaton - - * strings/strcmp.m: Delete. - -2005-07-13 John W. Eaton - - * deprecated/hypergeometric_rnd.m: Preserve compatibility with old - versions of Octave. - -2005-07-13 Ben Barrowes - - * statistics/distributions/betacdf.m: Rename from beta_cdf.m. - * statistics/distributions/betainv.m: Rename from beta_inv.m. - * statistics/distributions/betapdf.m: Rename from beta_pdf.m. - * statistics/distributions/betarnd.m: Rename from beta_rnd.m. - * statistics/distributions/binocdf.m: Rename from binomial_cdf.m. - * statistics/distributions/binoinv.m: Rename from binomial_inv.m. - * statistics/distributions/binopdf.m: Rename from binomial_pdf.m. - * statistics/distributions/binornd.m: Rename from binomial_rnd.m. - * statistics/distributions/chi2cdf.m: Rename from chisquare_cdf.m. - * statistics/distributions/chi2inv.m: Rename from chisquare_inv.m. - * statistics/distributions/chi2pdf.m: Rename from chisquare_pdf.m. - * statistics/distributions/chi2rnd.m: Rename from chisquare_rnd.m. - * statistics/distributions/expcdf.m: Rename from exponential_cdf.m. - * statistics/distributions/expinv.m: Rename from exponential_inv.m. - * statistics/distributions/exppdf.m: Rename from exponential_pdf.m. - * statistics/distributions/exprnd.m: Rename from exponential_rnd.m. - * statistics/distributions/fcdf.m: Rename from f_cdf.m. - * statistics/distributions/finv.m: Rename from f_inv.m. - * statistics/distributions/fpdf.m: Rename from f_pdf.m. - * statistics/distributions/frnd.m: Rename from f_rnd.m. - * statistics/distributions/gamcdf.m: Rename from gamma_cdf.m. - * statistics/distributions/gaminv.m: Rename from gamma_inv.m. - * statistics/distributions/gampdf.m: Rename from gamma_pdf.m. - * statistics/distributions/gamrnd.m: Rename from gamma_rnd.m. - * statistics/distributions/geocdf.m: Rename from geometric_cdf.m. - * statistics/distributions/geoinv.m: Rename from geometric_inv.m. - * statistics/distributions/geopdf.m: Rename from geometric_pdf.m. - * statistics/distributions/geornd.m: Rename from geometric_rnd.m. - * statistics/distributions/hygecdf.m: Rename from hypergeometric_cdf.m. - * statistics/distributions/hygeinv.m: Rename from hypergeometric_inv.m. - * statistics/distributions/hygepdf.m: Rename from hypergeometric_pdf.m. - * statistics/distributions/hygernd.m: Rename from hypergeometric_rnd.m. - * statistics/distributions/logncdf.m: Rename from lognormal_cdf.m. - * statistics/distributions/logninv.m: Rename from lognormal_inv.m. - * statistics/distributions/lognpdf.m: Rename from lognormal_pdf.m. - * statistics/distributions/lognrnd.m: Rename from lognormal_rnd.m. - * statistics/distributions/normcdf.m: Rename from normal_cdf.m. - * statistics/distributions/norminv.m: Rename from normal_inv.m. - * statistics/distributions/normpdf.m: Rename from normal_pdf.m. - * statistics/distributions/normrnd.m: Rename from normal_rnd.m. - * statistics/distributions/poisscdf.m: Rename from poisson_cdf.m. - * statistics/distributions/poissinv.m: Rename from poisson_inv.m. - * statistics/distributions/poisspdf.m: Rename from poisson_pdf.m. - * statistics/distributions/poissrnd.m: Rename from poisson_rnd.m. - * statistics/distributions/tcdf.m: Rename from t_cdf.m. - * statistics/distributions/tinv.m: Rename from t_inv.m. - * statistics/distributions/tpdf.m: Rename from t_pdf.m. - * statistics/distributions/trnd.m: Rename from t_rnd.m. - * statistics/distributions/unifcdf.m: Rename from unifoxorm_cdf.m. - * statistics/distributions/unifinv.m: Rename from uniform_inv.m. - * statistics/distributions/unifpdf.m: Rename from uniform_pdf.m. - * statistics/distributions/unifrnd.m: Rename from uniform_rnd.m. - * statistics/distributions/weibcdf.m: Rename from weibull_cdf.m. - * statistics/distributions/weibinv.m: Rename from weibull_inv.m. - * statistics/distributions/weibpdf.m: Rename from weibull_pdf.m. - * statistics/distributions/wienrnd.m: Rename from wiener_rnd.m. - - * 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/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/lognormal_cdf.m, - deprecated/lognormal_inv.m, deprecated/lognormal_pdf.m, - deprecated/lognormal_rnd.m, deprecated/normal_cdf.m, - deprecated/normal_inv.m, deprecated/normal_pdf.m, - deprecated/normal_rnd.m, deprecated/poisson_cdf.m, - deprecated/poisson_inv.m, deprecated/poisson_pdf.m, - deprecated/poisson_rnd.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/weibull_cdf.m, - deprecated/weibull_inv.m, deprecated/weibull_pdf.m, - deprecated/wiener_rnd.m: New files. - -2005-07-08 John W. Eaton - - * statistics/distributions/weibrnd.m: Rename from weibull_rnd.m. - * deprecated/weibull_rnd.m: New file. - -2005-07-08 cctsim - - * strings/dec2base.m: Allow matrix arguments. - -2005-07-08 John W. Eaton - - * plot/__errplot__.m: Use __plot_globals__. - * plot/__plt__.m: Likewise. - * plot/figure.m: Likewise. - - * plot/hold.m: New file. - * plot/ishold.m: New file. - * plot/__plot_globals__.m: New file. - -2005-07-05 cctsim - - * strings/dec2base.m: Don't remove all leading zeros if result is zero. - -2005-07-05 John W. Eaton - - * strings/findstr.m: Return [] for no matches. - -2005-06-17 Keith Goodman - - * miscellaneous/tic.m: Fix doc string. - -2005-06-15 John W. Eaton - - * polynomial/polyfit.m: Force return value to be a row vector. - -2005-06-15 Tom Holroyd - - * general/isequal.m: Correct nargin check. - -2005-06-14 John W. Eaton - - * general/isvector.m: Handle N-d arrays. - From Bill Denney . - -2005-06-02 Ben Barrowes - - * plot/meshgrid.m: Handle 3 input arguments. - -2005-06-02 Paul Kienzle - - * signal/freqz.m: Use correct calculations when given a vector of - frequencies. Improve accuracy of returned frequency vector. - Improve speed for medium length filters (at a slight cost for slow - filters). Add test cases. - -2005-05-27 "Dmitri A. Sergatskov" - - * plot/loglog.m: Fix set commands. - -2005-05-25 John W. Eaton - - * plot/sombrero.m: Default n to 41 if nargin == 0. - -2005-05-24 John W. Eaton - - * statistics/tests/anova.m: Use mean (y(:)) to compute total_mean. - - * strings/strncmp.m: New file, from Tom Holroyd - . - - * strings/strcmp.m: Return logical values in all cases. - -2005-05-23 John W. Eaton - - * plot/orient.m: New file. Adapt to Octave coding style. - Texinfoize doc string. - - * plot/print.m: New file. Adapt to Octave coding style. Include - PKG_ADD command. Use set terminal consistently throughout. Use - set terminal push/pop and unconditionally set output to screen - when done to avoid requiring gget. Use a cell array for dev_list - and cellidx to search for items in the list. Delete local - variable endl. Don't set and restore automatic_replot. Use {} - instead of nth to index varargin. Delete local variable - va_arg_cnt. - -2005-05-18 John W. Eaton - - * general/num2str.m: Return early if X is a character string. - -2005-05-11 John W. Eaton - - * strings/findstr.m: Allow non-string arguments for compatiblity. - From Tom Holroyd . - - * plot/polar.m: Don't call __pltopt__ here. - -2005-05-02 John W. Eaton - - * mkdoc: Print header message. - -2005-04-28 John W. Eaton - - * configure.in (AC_CONFIG_SRCDIR): Look for startup/inputrc, not - startup/octaverc. - -2005-04-28 Stefan van der Walt - - * image/imshow.m: Handle various image depths and 3d RGB images. - (__im_numeric_limits__): New internal function. - -2005-04-28 toni saarela - - * statistics/tests/anova.m: Compute total_mean as mean of all - data, not mean of group_mean. - -2005-04-28 John W. Eaton - - * startup/local-rcfile: New file. - * startup/main-rcfile: Rename from startup/octaverc. - * startup/Makefile.in (SOURCES): Add inputrc to the list. - (install install-strip): Install main-rcfile in $(fcnfiledir)/startup. - Install local-rcfile in $(localfcnfiledir)/startup. - -2005-04-28 Keith Goodman - - * startup/inputrc: New file. - * startup/octaverc: Configure readline using inputrc from - startupfiledir. - * startup/Makefile.in (install, install-strip): Install octaverc - in $(fcnfiledir)/startup. - -2005-04-27 John W. Eaton - - * optimization/qp.m: Define n_in after removing -Inf bounds from Ain. - -2005-04-21 John W. Eaton - - * optimization/glpk.m: Handle SENSE argument. - - * optimization/qp.m, optimization/sqp.m: New files. - -2005-04-08 John W. Eaton - - * Makefile.in (clean, distclean, maintainer-clean): - Avoid duplication in rules. - -2005-03-28 John W. Eaton - - * plot/contour.m, plot/mesh.m: Continue to use __gnuplot_raw__ for - setting {no,}parametric. - * plot/figure.m: Likewise, for setting terminal type. - - * __axis_label__.m:, plot/axis.m, plot/bottom_title.m, - plot/contour.m, plot/figure.m, plot/multiplot.m, plot/mplot.m, - plot/plot_border.m, plot/subplot.m, plot/subwindow.m, - plot/title.m, plot/top_title.m: Avoid eval. - -2005-03-28 Dmitri A. Sergatskov - - * plot/__axis_label__.m, plot/axis.m, plot/grid.m, - plot/plot_border.m, plot/replot.m, plot/title.m, plot/top_title.m: - Use __gnuplot_replot__ instead of replot. - - * plot/__axis_label__.m, plot/axis.m, plot/bottom_title.m, - plot/contour.m, plot/errorbar.m, plot/figure.m, plot/grid.m, - plot/loglogerr.m, plot/loglog.m, plot/mesh.m, plot/mplot.m, - plot/multiplot.m, plot/oneplot.m, plot/plot_border.m, plot/plot.m, - plot/polar.m, plot/semilogxerr.m, plot/semilogx.m, - plot/semilogyerr.m, plot/semilogy.m, plot/shg.m, plot/subplot.m, - plot/subwindow.m, plot/title.m, plot/top_title.m: - Use __gnuplot_raw__ instead of __gnuplot_set__. - - * plot/replot.m: Use __gnuplot_replot__, not __greplot__. - -2005-03-24 John W. Eaton - - * optimization/glpkmex.m: Texinfoize Doc string. - * optimization/glpk.m: Likewise. - Allow VARTYPE and CTYPE to be row or column vectors of characters - (row vectors are orginary character strings). - * optimization/glpkparam.m: Delete. - -2005-03-24 Quentin Spencer - - * statistics/base/mean.m: Allow DIMS arg greater than the number - of dimensions of X. - -2005-03-23 John W. Eaton - - * general/tril.m, general/triu.m: Return value of same class as - argument. - - * optimization/glpk.m: Simplify interface. By default, solve - standard LP min C'*x s.t. A*x = b, x >= 0. - * optimization/glpkmex.m: New file. - -2005-03-22 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Add optimization/Makefile to the - list. - - * optimization/glpk.m: Adapt to Octave coding style. - No need for varargout or varargin. - Print usage message if nargin > 11. - Allow any value of nargout. - Use repmat (C, nr, nc) instead of char (C * ones (nr, nc)). - Avoid looping when checking character classes. - - * optimization: New directory. - * Makefile.in (SUBDIRS): Add it to the list. - * optimization/Makefile.in: New file. - * optimization/glpk.m, optimization/glpkparams.m, - optimization/glpktest1, optimization/glpktest2: New files. - -2005-03-16 S�ren Hauberg - - * strings/split.m: Quick return for empty second arg. - Improve warning for multi-line strings. - Speed up by avoiding sprintf in loop and eval. - -2005-03-16 Paul Kienzle - - * polynomial/polyderiv.m : Accept a*b, a/b. Auto-reduce common terms. - * polynomial/polyder.m: Ditto. - * polynomial/polygcd.m: New function. - -2005-03-16 John W. Eaton - - * control/base/__stepimp__.m, control/base/bode.m, - control/base/frdemo.m, control/base/nichols.m, - control/base/nyquist.m, control/base/pzmap.m, - control/base/rldemo.m, control/base/rlocus.m, - control/hinf/dhinfdemo.m, control/hinf/hinfdemo.m, - plot/__axis_label__.m, plot/__errplot__.m, plot/__plt__.m, - plot/axis.m, plot/bar.m, plot/bottom_title.m, plot/contour.m, - plot/errorbar.m, plot/figure.m, plot/grid.m, plot/loglog.m, - plot/loglogerr.m, plot/mesh.m, plot/meshgrid.m, plot/mplot.m, - plot/multiplot.m, plot/oneplot.m, plot/plot.m, plot/plot_border.m, - plot/polar.m, plot/semilogx.m, plot/semilogxerr.m, - plot/semilogy.m, plot/semilogyerr.m, plot/shg.m, plot/stairs.m, - plot/subplot.m, plot/subwindow.m, plot/title.m, plot/top_title.m, - plot/xlabel.m, quaternion/demoquat.m, - quaternion/qcoordinate_plot.m, signal/freqz_plot.m, sparse/spy.m, - statistics/base/ppplot.m, statistics/base/qqplot.m: - Use __gnuplot_plot__ instead of gplot, __gnuplot_splot__ instead - of gsplot, and __gnuplot_set__ instead of gset. Remove gplot, - gsplot from @seealso docs. - - * plot/replot.m: New file. - -2005-03-15 David Bateman - - * set/unique.m, set/ismember.m: Handle cell arrays. - -2005-03-09 John W. Eaton - - * statistics/Makefile.in (bin-dist): Delete target. - (BINDISTSUBDIRS): Delete variable. - * control/Makefile.in: Likewise. - - * audio/Makefile.in (bin-dist): Delete target. - (BINDISTFILES): Delete variable. - * control/base/Makefile.in: Likewise. - * control/hinf/Makefile.in: Likewise. - * control/obsolete/Makefile.in: Likewise. - * control/system/Makefile.in: Likewise. - * control/util/Makefile.in: Likewise. - * deprecated/Makefile.in: Likewise. - * elfun/Makefile.in: Likewise. - * finance/Makefile.in: Likewise. - * general/Makefile.in: Likewise. - * image/Makefile.in: Likewise. - * sparse/Makefile.in: Likewise. - * io/Makefile.in: Likewise. - * plot/Makefile.in: Likewise. - * Makefile.in: Likewise. - * miscellaneous/Makefile.in: Likewise. - * linear-algebra/Makefile.in: Likewise. - * polynomial/Makefile.in: Likewise. - * quaternion/Makefile.in: Likewise. - * set/Makefile.in: Likewise. - * signal/Makefile.in: Likewise. - * specfun/Makefile.in: Likewise. - * special-matrix/Makefile.in: Likewise. - * startup/Makefile.in: Likewise. - * statistics/base/Makefile.in: Likewise. - * statistics/distributions/Makefile.in: Likewise. - * statistics/models/Makefile.in: Likewise. - * statistics/tests/Makefile.in: Likewise. - * strings/Makefile.in: Likewise. - * time/Makefile.in: Likewise. - -2005-03-08 John W. Eaton - - * general/repmat.m: Correctly diagnose 3-argument non-scalar - dimensions case. From Matthew A Swabey . - -2005-03-04 John W. Eaton - - * plot/clg.m: New file. - -2005-03-03 John W. Eaton - - * general/isequal.m, general/sortrows.m, set/ismember.m, - set/setdiff.m, strings/str2double.m, strings/strmatch.m, - strings/strcmpi.m: - New files from Octave-forge. Adapt to Octave coding standards. - -2005-03-03 Paul Kienzle - - * statistics/distributions/binomial_pdf.m: Extend the feasible - computation range. - -2005-02-25 John W. Eaton - - Sparse merge. - - 2005-01-23 David Bateman - - * sparse/randperm.m: Delete duplicate randperm.m. - - 2005-01-10 John W. Eaton - - * sparse/Makefile.in: New file. - * configure.in (AC_CONFIG_FILES): Add sparse/Makefile to the list. - - 2005-01-07 David Bateman - - * set/unique.m: import file from octave-forge. - - 2005-01-05 David Bateman - - * Makefile.in: include sparse directory in SUBDIRS. - - 2004-12-30 John W. Eaton - - * sparse/nzmax.m: Delete (there is an nzmax function in - src/DLD-FUNCTIONS/sparse.cc). - - 2004-12-28 John W. Eaton - - Merge of sparse code from David Bateman and - Andy Adler . - - * sparse/colperm.m, sparse/nonzeros.m, sparse/nzmax.m, - sparse/randperm.m, sparse/spalloc.m, sparse/spconvert.m, - sparse/spdiags.m, sparse/speye.m, sparse/spfun.m, sparse/sphcat.m, - sparse/spones.m, sparse/sprand.m, sparse/sprandn.m, - sparse/spstats.m, sparse/spvcat.m, sparse/spy.m: New files. - - * sparse: New directory. - -2005-02-22 John W. Eaton - - * polynomial/residue.m: Force prepad to always create row vectors. - - * polynomial/poly.m: Quick return if m is 0. - From Carmen Navarrete . - -2005-02-21 David Bateman - - * statistics/distributions/poisson_rnd.m: fix for lambda of zero. - From Mark van Rossum . - Fix for row vectors with at least one element of lambda not in - (0, Inf). - -2005-02-21 John W. Eaton - - * statistics/base/qqplot.m: Use feval instead of eval. - - * plot/grid.m, plot/plot_border.m, plot/title.m, plot/top_title.m, - plot/__axis_label__.m: Issue replot command. - -2005-02-09 John W. Eaton - - * polynomial/polyderiv.m: Force P to be a row vector. - -2005-02-08 John W. Eaton - - * strings/dec2base.m: Don't delete leading zero if third arg is - provided and len <= computed max_len. - -2005-01-27 David Bateman - - * strings/dec2base.m: Be even more careful about handling all digits. - -2005-01-27 Paul Kienzle - - * strings/dec2base.m: Use integer arithmetic to count number of digits. - -2005-01-27 Benjamin Hall - - * statistics/base/median.m: Make it work for the scalar case too. - -2005-01-25 Daniel J Sebald - - * plot/__plt__.m: Initialize fmt and sep outside of loop. - Simplify logic for decoding args. - -2005-01-24 John W. Eaton - - * plot/__plr__.m, plot/__plr2__.m: Pass name of caller to __plt__. - - * plot/__plt__.m: No need to save and reset hold state now. - (first_plot): Delete unused variable. - - * plot/__plr2__.m, plot/__plt2__.m: Improve diagnostics. - - * plot/__plr__.m: Use __plt__, not specific __pltXX__ functions. - * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, - plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, - plot/__plt2vv__.m: - Return data and gnuplot commands instead of evaluating them. - * plot/__plt__.m: Handle evaluation of all gnuplot commands here. - Based on changes from Daniel J Sebald . - -2005-01-18 John W. Eaton - - * linear-algebra/cross.m: Allocate idx1 before use. - -2004-12-08 Heikki Junes - - * statistics/base/range.m: Fix varargin usage. - -2004-12-02 Pascal A. Dupuis - - * strings/deblank.m: Remove all trailing whitespace (check with - isspace), not just SPC. - -2004-12-02 Balint Reczey - - * statistics/base/moment.m: Fix argument parsing for N-d arrays. - -2004-11-09 John W. Eaton - - * miscellaneous/fileparts.m: Allow filenames with no extension. - From Julius Smith . - -2004-11-08 John W. Eaton - - * plot/__plt2vm__.m: Delete debugging statement. - From Dmitri A. Sergatskov . - -2004-11-04 John W. Eaton - - * plot/hist.m: Always return row vectors for vector args. - -2004-09-23 John W. Eaton - - * strings/strcmp.m: If args are not strings or cell arrays of - strings, return zero instead of reporting an error. - -2004-09-22 Federico Zenith - - * control/base/analdemo.m, control/base/are.m, control/base/bddemo.m, - control/base/controldemo.m, control/base/damp.m, control/base/dare.m, - control/base/dcgain.m, control/base/dgram.m, control/base/dlyap.m, - control/base/dre.m, control/base/frdemo.m, control/base/gram.m, - control/base/impulse.m, control/base/lqp.m, control/base/obsv.m, - control/base/pzmap.m, control/base/rldemo.m, control/hinf/h2norm.m, - control/hinf/hinfsyn.m, control/hinf/hinfsyn_ric.m, - control/hinf/is_dgkf.m, control/system/c2d.m, - control/system/is_detectable.m, control/system/is_sample.m, - control/system/is_siso.m, control/system/is_stable.m, - control/system/ss2sys.m, control/system/ss.m, control/system/sys2ss.m, - control/system/sys2tf.m, control/system/sys2zp.m, - control/system/sysappend.m, control/system/sysconnect.m, - control/system/sysdisc.m, control/system/sysdup.m, - control/system/sysgetsignals.m, control/system/sysmult.m, - control/system/syssetsignals.m, control/system/syssub.m, - control/system/tf2sys.m, control/system/ugain.m, - control/system/zp2ss.m, control/system/zp2sys.m, - control/system/zp2tf.m, control/util/axis2dlim.m, polynomial/roots.m, - special-matrix/toeplitz.m: Fix typos in doc strings. - - * control/base/are.m, control/base/dare.m, control/base/lsim.m, - control/base/ltifr.m, control/base/place.m,control/base/tzero2.m, - control/base/tzero.m, control/hinf/hinf_ctr.m, control/hinf/wgt1o.m, - ontrol/system/is_abcd.m, control/system/parallel.m, - control/system/ss2tf.m, control/system/ss2zp.m, control/system/ss.m, - control/system/sysappend.m, control/system/sysconnect.m, - control/system/sysdup.m, control/system/sysgroup.m, - control/system/sysprune.m, control/system/sysreorder.m, - control/system/sysscale.m, control/system/syssub.m, - control/system/tf2ss.m, control/system/tf2zp.m, control/util/zgfmul.m, - control/util/zginit.m, control/util/zgscal.m, elfun/acoth.m, - polynomial/polyout.m, specfun/log2.m: - Add output arguments in doc strings. - - * control/base/are.m, control/base/bode_bounds, control/base/bode.m, - control/base/__bodquist__.m, control/base/ctrb.m, control/base/dare.m, - control/base/DEMOcontrol.m, control/base/dlyap.m, control/base/dre.m, - control/base/freqchkw.m, control/base/__freqresp__.m, - control/base/__freqresp__.m, control/base/lqp.m, control/base/lqr.m, - contol/base/lsim.m, control/base/lyap.m, control/base/nyquist.m, - control/base/obsv.m, control/base/place.m, control/base/pzmap.m, - control/base/__stepimp__.m, control/base/step.m, control/base/tzero2.m - control/base/tzero.m, control/hinf/dhinfdemo.m, control/hinf/h2norm.m, - control/hinf/h2syn.m, control/hinf/hinfdemo.m, - control/hinf/hinfnorm.m, control/hinf/hinfsyn_chk.m, - control/hinf/hinfsyn.m, control/hinf/is_dgkf.m, - control/obsolete/syschnames.m, control/obsolete/syschnames.m, - control/system/c2d.m, control/system/is_abcd.m, - control/system/is_controllable.m, control/system/is_detectable.m, - control/system/is_observable.m, control/system/is_stable.m, - control/system/jet707.m, control/system/ord2.m, - control/system/starp.m, control/system/sys2fir.m, - control/system/sys2ss.m, control/system/sys2tf.m, - control/system/sys2zp.m, control/system/syscont.m, - control/system/sysdisc.m, control/system/sysdup.m, - control/system/sysgettype.m, control/system/sysgroup.m, - control/system/sysmult.m, control/system/sysprune.m, - control/system/sysreorder.m, control/system/sysscale.m, - control/system/syssetsignals.m, control/system/sysupdate.m, - control/system/tf2ss.m, control/system/tf2sys.m, - control/system/zp2ss.m, control/system/zp2sys.m, - control/util/axis2dlim.m, control/util/prompt.m, - control/util/zgfmul.m, control/util/zginit.m, - control/util/__zgpbal__.m, control/util/zgscal.m: - Use @var, @strong, @command, @math, @acronym, @table and @cite - in doc strings. - - * control/base/bode_bounds.m, control/base/ctrb.m, control/base/dre.m, - control/base/dgram.m, control/base/dlyap.m, control/base/ltifr.m, - control/base/nyquist.m, control/base/obsv.m, control/base/tzero.m, - control/hinf/dgkfdemo.m, control/hinf/dhinfdemo.m, - control/hinf/h2norm.m, control/hinf/h2syn.m, control/hinf/hinf_ctr.m, - control/hinf/hinfdemo.m, control/hinf/hinfnorm.m, - control/hinf/hinfsyn_chk.m, control/hinf/hinfsyn.m, - control/hinf/wgt1o.m, control/obsolete/syschnames.m, - control/system/c2d.m, control/system/fir2sys.m, - control/system/is_stabilizable.m, control/system/jet707.m, - control/system/ord2.m, control/system/ss2tf.m, control/system/tf2ss.m, - control/util/zgshsr.m, polynomial/polyout.m: - New @tex section(s) in doc strings for better formating of printed - output. - - * control/base/__freqresp__.m, control/base/nyquist.m, - control/base/__stepimp__.m, control/hinf/hinfdemo.m, - control/obsolete/syschnames.m, control/system/sysprune.m: - Use proper double quote marks for TeX. - - * control/base/DEMOcontrol.m: Add missing ; - - * control/base/nichols.m, control/base/rlocus.m, - control/obsolete/minfo.m, control/system/is_digital.m, - control/system/ss2zp.m, control/system/sysmin.m, - control/system/tf2zp.m, control/util/sortcom.m: - Convert documentation to use or more completely use Texinfo. - - * control/base/rlocus.m, control/hinf/dhinfdemo.m, - control/hinf/hinfdemo.m, control/system/ord2.m, - control/system/parallel.m, control/system/ss2tf.m, - control/system/starp.m: Use "@group ... @end group" to avoid ascii - art splitting over a page boundary. - - * control/hinf/dgkfdemo.m, control/hinf/dhinfdemo.m, - control/hinf/h2norm.m, control/hinf/h2syn.m, control/hinf/hinf_ctr.m, - control/hinf/hinfdemo.m, control/hinf/hinfnorm.m, - control/hinf/hinfsyn_chk.m, control/hinf/hinfsyn.m, - control/hinf/wgt1o.m, control/system/buildssic.m: - Use {\cal H}_\infty for H-infinity and likewise for H-2 to - the TeX documentation. - - * control/system/is_stabilizable.m: - Add Copyright so that help is displayed correctly. - - * special-matrix/vander.m: Octave indexes start at 1. - -2004-09-21 David Bateman - - * general/rotdim.m: New function for rotation of an N-d array in an - arbitrary plane. - - * general/flipdim.m: New function to flip an N-d array about an - arbitrary axis. - -2004-09-15 David Bateman - - * general/bitget.m: Replace Bmax, which is undefined with bitmax - -2004-09-15 John W. Eaton - - * strings/strcmp.m: Fix typo in cell/string array case. - Use iscellstr to check for cells rather than iscell. - Improve diagnostics for invalid args. - -2004-09-10 David Bateman - - * statistics/distributions/binomial_rnd.m: Fix error for scalar n - and p with n > 1, and fix for matrix n and p with n == 1. - - * statistics/distributions/poisson_rnd.m: Fix for matrix length, - due to row vs. column vector operations. - -2004-09-03 David Bateman - - * general/repmat.m: Fix to allow logical classes. - -2004-08-31 John W. Eaton - - * general/isa.m: New function, from Octave-forge. - -2004-08-31 David Bateman - - * general/bitcmp.m, general/bitget.m, general/bitset.m: Remove - limitation on the use of int64 and uint64 types, and the use - of the eval. - - * general/bitset.m: Remove superfluous cast to return type, as bug - in .^ with integer types is fixed. - - * general/repmat.m: Adapt to allow integer types. - -2004-08-31 Paul Kienzle - - * plot/axis.m: Don't reset axes when querying them. - -2004-08-27 David Bateman - - * statistics/base/ranks.m: Handle non-consecutive ties. - Eliminate loop. - -2004-07-27 David Bateman - - * general/num2str.m: Also insert spaces in output when precision - argument is supplied. - -2004-07-23 David Bateman - - * general/bitcmp.m, general/bitget.m, general/bitset.m: New functions. - -2004-07-22 Etienne Grossmann - - * general/sub2ind.m: Make reshaping index list unnecessary. - -2004-07-22 Paul Kienzle - - * miscellaneous/unix.m: Fix doc string. - -2004-07-22 Stefan van der Walt - - * plot/figure.m: Clarification of documentation. - - * image/imshow.m: Warn for complex images. - Only estimate colourmap for images in [0, 65536]. - -2004-07-22 David Bateman - - * general/num2str.m: Fix the case of an all zero input. - -2004-06-22 Etienne Grossmann - - * general/ind2sub.m: Doc fix. - -2004-06-08 John W. Eaton - - * statistics/tests/kolmogorov_smirnov_test.m: Use func2str to - convert function handle to string for eval. - -2004-06-04 Paul Kienzle - - * plot/errorbar.m: Remove debugging output. - -2004-06-03 Stefan van der Walt - - * plot/__pltopt__.m: Properly escape @ symbols in doc string. - -2004-06-03 Paul Kienzle - - * deprecated/com2str.m: Include 'i' suffix for pure imaginary numbers. - - * polynomial/polyout.m: Use parenthesis if necessary around - complex polynomial coefficient. - - * plot/__errcomm__.m, plot/__errplot__.m: Simplify code and fix - the bug which causes __errplot__ to ignore the last argument. - -2004-06-03 David Bateman - - * general/shiftdim.m: New function based on JWE code snippet. - - * general/circdim.m: New function. - -2004-05-06 David Bateman - - * general/issquare.m: Fail if ndim(x) > 2. - - * linear-algebra/norm.m, linear-algebra/norm.m: Fail if ndim(x) > 2. - - * linear-alegbra/cross.m, linear-algebra/dot.m: Allow matrix and - N-d array arguments. Add optional dim argument to define - dimension along which to operate. - - * linear-algebra/dmult.m: Allow N-d arrays. - - * linear-algebra/vec.m: Use v(:) and not reshape. - -2004-04-29 David Bateman - - * statistics/base/ranks.m, statistics/base/run_count.m, - statistics/base/studentize.m, statistics/base/kurtosis.m - statistics/base/statistics.m, statistics/base/skewness.m - statistics/base/iqr.m: - Make N-d array aware. Allow optional argument to define the - dimension along which to operate. Update the documentation. - - * statistics/base/ranks.m: Change algorithm to use sort, - and adjust for the ties after. - - * statistics/base/run_counts.m: Change algorithm to use - the a combination of diff and find, rather than a for-loop. - -2004-04-23 Paul Kienzle - - * plot/hist.m: Correctly determine cutoffs. New tests. - -2004-04-23 David Bateman - - * general/int2str.m: Treat only real part of argument, and treat - NDArrays by stacking the slices through the matrix vertically. - - * general/num2str.m: Improve format of integer matrices, and the - conversion of complex matrices added. Treat NDArrays by stacking - the slices through the matrix vertically. - - * deprecated/com2str.m: Moved here from general subdirectory. - -2004-04-22 John W. Eaton - - * quaternion/qtransvmat.m: Use continuation characters to make - sure result is a matrix instead of a vector. From . - -2004-04-21 David Bateman - - * elfun/lcm.m: Make N-d aware. - - * general/diff.m: Make the code N-d array aware. Allow an - optional argument to define the dimension along which to perform - the differences and allow the order of the differences to be larger - than the dimension itself. - - * general/rot90.m, general/fliplr.m, general/flipud.m: Limit the - use of these functions to 1- and 2-d arrays. - -2004-04-16 John W. Eaton - - * elfun/gcd.m: Delete. - -2004-04-15 David Bateman - - * set/create_set.m, general/is_duplicate_entry.m: Make N-d array aware. - - * general/shift.m, general/prepad.m, general/postpad.m: Make N-d - array aware and and optional argument for the dimension along - which to operate. - - * signal/unwrap.m: Make N-d array aware and fix optional - argument for the dimension to be consistent with other N-d array - functions. - -2004-04-08 David Bateman - - * statistics/distributions/discrete_cdf.m, - statistics/distributions/discrete_inv.m, - statistics/distributions/discrete_pdf.m, - statistics/distributions/discrete_rnd.m, - statistics/distributions/exponential_cdf.m, - statistics/distributions/exponential_inv.m, - statistics/distributions/exponential_pdf.m, - statistics/distributions/exponential_rnd.m, - statistics/distributions/f_cdf.m, - statistics/distributions/f_inv.m, - statistics/distributions/f_pdf.m, - statistics/distributions/f_rnd.m, - statistics/distributions/geometric_cdf.m, - statistics/distributions/geometric_inv.m, - statistics/distributions/geometric_pdf.m, - statistics/distributions/geometric_rnd.m, - statistics/distributions/hypergeometric_rnd.m, - statistics/distributions/kolmogorov_smirnov_cdf.m, - statistics/distributions/laplace_cdf.m, - statistics/distributions/laplace_inv.m, - statistics/distributions/laplace_pdf.m, - statistics/distributions/laplace_rnd.m, - statistics/distributions/logistic_inv.m, - statistics/distributions/logistic_rnd.m, - statistics/distributions/lognormal_cdf.m, - statistics/distributions/lognormal_inv.m, - statistics/distributions/lognormal_pdf.m, - statistics/distributions/lognormal_rnd.m, - statistics/distributions/pascal_cdf.m, - statistics/distributions/pascal_inv.m, - statistics/distributions/pascal_pdf.m, - statistics/distributions/pascal_rnd.m, - statistics/distributions/poisson_cdf.m, - statistics/distributions/poisson_inv.m, - statistics/distributions/poisson_pdf.m, - statistics/distributions/poisson_rnd.m, - statistics/distributions/t_cdf.m, - statistics/distributions/t_inv.m, - statistics/distributions/t_pdf.m, - statistics/distributions/t_rnd.m, - statistics/distributions/weibull_cdf.m, - statistics/distributions/weibull_inv.m, - statistics/distributions/weibull_pdf.m, - statistics/distributions/weibull_rnd.m: - Allow N-d arrays. - - * statistics/distributions/discrete_inv.m: Fix bug in indexing, - that results in NaN in places where it should not have had. - - * statistics/distributions/discrete_rnd.m: New argument formats to - allow creating arbitrary matrices, compatiable with the other - *_rnd.m functions. Maintain compatibility with previous format. - - * statistics/distributions/empirical_rnd.m: New argument formats - to allow creating arbitrary matrices, compatiable with the other - *_rnd.m functions. Maintain compatibility with previous - format. Allow N-d arrays. - - * statistics/distributions/hypergeometric_cdf.m, - statistics/distributions/hypergeometric_inv.m, - statistics/distributions/hypergeometric_pdf.m, - statistics/distributions/wiener_rnd.m: - Error for non-scalar arguments. - - * statistics/distributions/pascal_rnd.m: - Correct for n = 1 bug, where all elements were equal. - -2004-04-06 David Bateman - - * general/common_size.m, miscellaneous/bincoeff.m, - statistics/distributions/beta_cdf.m, - statistics/distributions/beta_inv.m, - statistics/distributions/beta_pdf.m, - statistics/distributions/beta_rnd.m, - statistics/distributions/binomial_cdf.m, - statistics/distributions/binomial_inv.m, - statistics/distributions/binomial_pdf.m, - statistics/distributions/binomial_rnd.m, - statistics/distributions/cauchy_cdf.m, - statistics/distributions/cauchy_inv.m, - statistics/distributions/cauchy_pdf.m, - statistics/distributions/cauchy_rnd.m, - statistics/distributions/chisquare_cdf.m, - statistics/distributions/chisquare_inv.m, - statistics/distributions/chisquare_pdf.m, - statistics/distributions/chisquare_rnd.m, - statistics/distributions/gamma_cdf.m, - statistics/distributions/gamma_inv.m, - statistics/distributions/gamma_pdf.m, - statistics/distributions/gamma_rnd.m, - statistics/distributions/normal_cdf.m, - statistics/distributions/normal_inv.m, - statistics/distributions/normal_pdf.m, - statistics/distributions/normal_rnd.m, - statistics/distributions/stdnormal_cdf.m, - statistics/distributions/stdnormal_pdf.m, - statistics/distributions/stdnormal_rnd.m, - statistics/distributions/uniform_cdf.m, - statistics/distributions/uniform_inv.m, - statistics/distributions/uniform_pdf.m, - statistics/distributions/uniform_rnd.m: - Allow the inputs to be N-d arrays. - - * statistics/base/var.m: Update for N-d arrays. Allow dimension arg. - * statistics/base/median.m: Likewise. - -2004-04-02 David Bateman - - * statistics/base/std.m: Allow optional args for type and dim. - * statistics/base/center.m, statistics/base/meansq.m, - statistics/base/moment.m, statistics/base/range.m: - Update for N-d arrays. - * signal/fftshift.m: Fix dimensioning error. - - * statistics/base/std.m: Use repmat not ones(nr,1)*mean to allow - N-d arrays. - - * general/mod.m, general/mod.m: Allow N-d arrays with one scalar arg. - - * signal/fftshift.m: Update for N-d arrays, allow optional dim arg. - - * specfun/erfinv.m, general/repmat.m: Update for N-d arrays. - - * control/base/bode.m, control/base/lqg.m, control/system/ss2sys.m, - control/system/cellidx.m, control/system/dmr2d.m control/system/ss.m, - control/system/sysprune.m: Doc update for usage of cell arrays. - - * control/system/sysidx.m: Use cellidx and not listidx. - -2004-03-12 John W. Eaton - - * plot/__pltopt1__.m: Always add title clause to plot command with - default of "" (so it is off unless explicitly set by the user). - -2004-03-12 Stefan van der Walt - - * image/imshow.m: Accept "truesize" argument. - Ignore current colormap. New tests and demos. - -2004-03-10 Volker Kuhlmann - - * signal/sinewave.m: Allow N to default to M. - -2004-03-09 John W. Eaton - - * signal/unwrap.m: Use "isempty (tol)" instead of "tol == []". - -2004-03-04 John W. Eaton - - * general/deal.m: New function. - Add tests from Paul Kienzle. - -2004-03-03 Stefan van der Walt - - * plot/hist.m: Compute histogram correctly for n>=30. - -2004-03-02 Paul Kienzle - - * signal/sinc.m: Use i(:) instead of i when checking for any nonzeros. - -2004-03-01 John W. Eaton - - * miscellaneous/horzcat.m: Delete. - * miscellaneous/vertcat.m: Delete. - -2004-02-19 John W. Eaton - - * plot/figure.m: Also look for GNUTERM in the environment and use - that if it is set (for OS X). From Per Persson . - -2004-02-18 John W. Eaton - - * control/base/__stepimp__.m: Only call clearplot if we will be - doing multiple plots in the same gnuplot frame. - -2004-02-16 John W. Eaton - - * control/system/__sysconcat__.m, control/system/__tfl__.m, - control/system/cellidx.m, control/system/ss.m, - control/system/tf.m, control/system/zp.m: New functions. - -2004-02-16 Glenn Golden - - * statistics/distributions/discrete_inv.m: - Reduce memory requirements. - -2004-02-16 John W. Eaton - - * plot/__errcomm__.m: Fix thinko in previous change. - From Teemu Ikonen . - -2004-02-16 A S Hodel - - * control/base/__bodquist__.m, control/base/__stepimp__.m, - control/base/analdemo.m, control/base/bddemo.m, - control/base/bode.m, control/base/dre.m, control/base/frdemo.m, - control/base/lqg.m, control/base/nyquist.m, control/base/place.m, - control/base/rldemo.m, control/base/rlocus.m, - control/base/tzero.m, control/hinf/dgkfdemo.m, - control/hinf/dhinfdemo.m, control/hinf/h2syn.m, - control/hinf/hinf_ctr.m, control/hinf/hinfsyn.m, - control/hinf/wgt1o.m, control/obsolete/dlqg.m, - control/obsolete/packsys.m, control/obsolete/series.m, - control/system/__sysdefioname__.m, - control/system/__sysdefstname__.m, control/system/__sysgroupn__.m, - control/system/__tf2sysl__.m, control/system/buildssic.m, - control/system/c2d.m, control/system/d2c.m, - control/system/dmr2d.m, control/system/fir2sys.m, - control/system/is_signal_list.m, control/system/is_siso.m, - control/system/jet707.m, control/system/listidx.m, - control/system/moddemo.m, control/system/ord2.m, - control/system/packedform.m, control/system/parallel.m, - control/system/ss2sys.m, control/system/sys2tf.m, - control/system/sys2zp.m, control/system/sysadd.m, - control/system/sysappend.m, control/system/sysconnect.m, - control/system/syscont.m, control/system/sysdimensions.m, - control/system/sysdisc.m, control/system/sysdup.m, - control/system/sysgetsignals.m, control/system/sysgettype.m, - control/system/sysgroup.m, control/system/sysmin.m, - control/system/sysmult.m, control/system/sysprune.m, - control/system/sysrepdemo.m, control/system/sysscale.m, - control/system/syssetsignals.m, control/system/syssub.m, - control/system/sysupdate.m, control/system/tf2sys.m, - control/system/ugain.m, control/system/zp2ss.m, - control/system/zp2sys.m, control/util/__outlist__.m, - control/util/__zgpbal__.m, control/util/strappend.m: - Use cell arrays instead of lists. - -2004-01-23 Stefan van der Walt - - * plot/bar.m: Increase size of cutoff vector from xlen-1 to xlen - so that bar (1, 1) will work. - -2004-01-22 John W. Eaton - - * plot/__errcomm__.m: Cope with nargin now being a function. - * plot/__errplot__.m: Likewise. - * plot/__plt__.m: Likewise. - * plot/plot_border.m: Likewise. - - * Makefile.in (distclean, maintainer-clean): Remove DOCSTRINGS, - not $(DOCSTRINGS). - -2004-01-21 Quentin Spencer - - * linear-algebra/rank.m: Allow rank ([]) to return 0, same as - rank ([], tol). - -2004-01-10 John W. Eaton - - * elfun/acot.m: Return atan (1./z). - From Gregory Vanuxem . - - * miscellaneous/dir.m: New file. - - * general/num2str.m: Use "%d" as format if values are ints with - magnitude less than 1e10. - -2004-01-09 John W. Eaton - - * general/num2str.m: If single arg is string, return it. - - * miscellaneous/not.m: New file. - - * miscellaneous/unix.m: New file. - - * miscellaneous/isunix.m: New file. - * miscellaneous/ispc.m: New file. - - * miscellaneous/computer.m: New file. - - * miscellaneous/delete.m: New file. - -2004-01-08 John W. Eaton - - * statistics/tests/kolmogorov_smirnov_test_2.m: Fix test for ties. - -2004-01-07 John W. Eaton - - * miscellaneous/path.m: Handle DEFAULT_LOADPATH substitution. - Always return substituted version of LOADPATH if nargout != 0. - -2003-12-21 Schloegl Alois - - * miscellaneous/fullfile.m: If filename is empty, set it to "." - before continuing. - - * miscellaneous/fileparts.m: Allow name to start with ".". - -2003-12-16 John W. Eaton - - * general/ind2sub.m: New file. - * general/sub2ind.m: New file. - -2003-12-15 John W. Eaton - - * control/system/zp2ss.m: Don't save and restore - warn_empty_list_elements. - -2003-12-15 Gabriele Pannocchia - - * control/system/zp2ss.m: Correct definition of pure gain system. - -2003-12-10 Quentin Spencer - - * statistics/base/mean.m: Remove special case for row vectors. - -2003-11-19 Quentin Spencer - - * signal/freqz_plot.m: Save and restore automatic_replot too. - -2003-11-18 Danilo Piazzalunga - - * statistics/base/iqr.m: Handle matrices. - -2003-11-18 John W. Eaton - - * general/issymmetric.m: Don't fail if norm (x) == 0. - -2003-11-17 John W. Eaton - - * miscellaneous/path.m: Fix thinko in previous change. - -2003-11-14 Gabriele Pannocchia - - * control/base/dare.m: Check positive (semi)definiteness and - dimensions of r (and q). - * control/base/dlqr.m: Check stabilizability of (A,B), - detectability of (A,Q), and whether (A,Q) has non minimal modes - near unit circle. - - * control/system/is_detectable.m: Use Hautus Lemma. - Correct the behavior for discrete-time systems. - * control/system/is_stabilizable.m: Likewise. - - * linear-algebra/krylov.m: Return H = [] in Vnrm == 0 case. - - * linear-algebra/krylovb.m: Fix typo in usage message. - - * general/isdefinite.m: New function. - -2003-10-29 John W. Eaton - - * general/reshape: Delete. - -2003-10-28 John W. Eaton - - * general/numel.m: Delete. - -2003-10-15 John W. Eaton - - * miscellaneous/horzcat.m, miscellaneous/vartcat.m: New files. - - * deprecated/isstr.m: New file. - -2003-10-04 John W. Eaton - - * plot/__axis_label__.m, plot/xlabel.m, plot/ylabel.m, - plot/zlabel.m, plot/title.m: Return a value if nargout > 0. - -2003-10-02 Quentin Spencer - - * statistics/base/mean.m: Fix missing semicolon problem. - -2003-09-08 Al Niessner - - * plot/subplot.m: New global variable, __multiplot_scale__. - -2003-08-29 David Castelow - - * strings/dec2base.m, strings/dec2bin.m, strings/dec2hex.m: - Allow optional length argument. - -2003-08-28 John W. Eaton - - * polynomial/polyfit.m: Avoid calling flipud. - From Pascal A. Dupuis . - Return structure as second output value for improved Matlab - compatibility. - -2003-07-30 John W. Eaton - - * linear-algebra/cond.m: Behave as though old built-in variable - propagate_empty_matrices is always 1. Also handle empty matrices - with one non-zero dimension. - - * miscellaneous/dump_prefs.m: Add warn_separator_insert and - warn_single_quote_string to the list. - Delete whitespace_in_literal_matrix and propagate_empty_matrices - from the list. - -2003-07-25 Paul Kienzle - - * signal/autocov.m: Transpose result of conj because diag returns - a column vector, not a row vector. - - * audio/playaudio.m, audio/record.m, image/image.m, - miscellaneous/bug_report.m: Protect spaces in filenames - with quotes. - -2003-07-15 John W. Eaton - - * io/printf.m, io/puts.m: Delete. - - * miscellaneous/dump_prefs.m: Delete define_all_return_values and - default_return_value from the list. - Add warn_undefined_return_values to the list. - - -2003-07-13 John W. Eaton - - * miscellaneous/dump_prefs.m: Delete default_global_variable_value - and initialize_global_variables from the list. - -2003-07-11 John W. Eaton - - * image/colormap.m: Don't save and restore default_eval_print_flag. - - * miscellaneous/dump_prefs.m: Delete default_eval_print_flag. - - * control/util/zgshsr.m: Use x OP= y instead of x = x OP y. - * control/system/sys2fir.m: Likewise. - - * control/system/is_siso.m: Use && instead of & where appropriate. - * control/system/__tf2sysl__.m: Likewise. - - * control/system/__tf2sysl__.m: Use end instead of length(X). - - * control/freqchkw.m: Use %-escapes for error instead of num2str - and [] concatenation. - * control/system/sys2fir.m: Likewise. - - * control/base/dgram.m, control/base/freqchkw.m, - control/base/gram.m, control/system/__abcddims__.m, - control/system/__sysdefstname__.m, control/system/__tf2sysl__.m, - control/system/is_sample.m, control/system/is_signal_list.m, - control/system/is_siso.m, control/system/sys2fir.m, - control/system/syschtsam.m, control/system/sysgettsam.m, - control/system/sysgettype.m, control/system/tf2zp.m, - control/system/ugain.m, control/util/prompt.m, - control/util/run_cmd.m, control/util/zgrownorm.m, - control/util/zgshsr.m: - Improve conformance to Octave coding style. - - * miscellaneous/dump_prefs.m: Add warn_resize_on_reange_error to - the list. - Delete resize_on_range_error from the list. - - * control/base/pzmap.m, control/base/place.m, - control/base/__freqresp__.m, control/system/sysappend.m, - control/system/syscont.m, control/system/sysdisc.m, - control/system/sysgroup.m, control/system/tfout.m, - control/system/zp2ss.m, control/system/zpout.m, - control/util/__outlist__.m, signal/arma_rnd.m, general/shift.m, - strings/strcat.m: Save and restore warn_empty_list_elements, not - empty_list_elements_ok. - - * miscellaneous/dump_prefs.m: Add warn_empty_list_elements to the list. - Delete empty_list_elements_ok from the list. - -2003-07-10 John W. Eaton - - * miscellaneous/dump_prefs.m: Include warn_neg_dim_as_zero in the - list. - Delete treat_neg_dim_as_zero from the list. - - * strings/blanks.m: Don't check treat_neg_dim_as_zero. - -2003-07-09 John W. Eaton - - * general/reshape.m: Omit do_fortran_indexing from doc string (it - was not used in the code in any case). - - * strings/strjust.m: Temporarily set warn_fortran_indexing, not - do_fortran_indexing. - - * statistics/base/moment.m: Temporarily set warn_str_to_num, not - implict_str_to_num_ok. Use unwind_protect block to do it. - - * miscellaneous/dump_prefs.m: Include DEFAULT_EXEC_PATH, - DEFAULT_LOAD_PATH, crash_dumps_octave_core, - sighup_dumps_octave_core, sigterm_dumps_octave_core, - warn_imag_to_real, warn_num_to_str, warn_str_to_num, and - warn_fortran_indexing in the list. - Delete ok_to_lose_imaginary_part, implicit_num_to_str_ok, - implicit_str_to_num_ok, do_fortran_indexing, and - prefer_column_vectors from list. - -2003-07-02 John W. Eaton - - * Makefile.in (distclean, maintainer-clean): Also remove - gethelp$(BUILD_EXEEXT), $(DOCSTRINGS), and autom4te.cache - directory. - -2003-06-17 Aaron A. King - - * plot/hist.m: Don't forget to define n if x is a vector. - -2003-06-13 Alois Schloegl - - * miscellaneous/fileparts.m: For compatibility with Matlab, - return "." with extension. - -2003-06-04 John W. Eaton - - * control/base/__stepimp__.m, control/base/nichols.m, - control/base/nyquist.m, miscellaneous/dump_prefs.m, - plot/bottom_title.m, plot/mplot.m, plot/multiplot.m, - plot/oneplot.m, plot/plot_border.m, plot/subplot.m, - plot/subwindow.m, plot/top_title.m, signal/freqz_plot.m: - Eliminate gnuplot_has_multiplot (assume it is always true). - -2003-05-14 John W. Eaton - - * Makefile.in, image/Makefile.in, startup/Makefile.in: Handle DESTDIR. - -2003-05-05 Andy Adler - - * plot/hist.m: Improve performance by using different algorithms - depending on number of bins. - -2003-05-01 John W. Eaton - - * control/system/sysadd.m: If systems are not "tf", convert before - adding. - -2003-05-01 Paul Kienzle - - * image/imagesc.m: Accept data limits parameter for colormap. - -2003-04-11 Doug Stewart - - * control/base/__stepimp__.m: If digital impulse, reduce gain of - the impulse by t_step. - -2003-04-07 John W. Eaton - - * control/base/__bodquist__.m: Don't convert pdbig and fdbig to - column vectors. - -2003-03-24 Quentin Spencer - - * linear-algebra/null.m: Handle empty matrix arg. - -2003-03-18 John W. Eaton - - * general/shift.m: Force empty_list_elements_ok to 1. - -2003-02-22 John W. Eaton - - * deprecated/struct_contains.m, deprecated/struct_elements.m: - New files. - -2003-02-20 John W. Eaton - - * statistics/tests/kolmogorov_smirnov_test.m: Use str2func to make - function handle to pass to feval. - * statistics/base/qqplot.m: Likewise. - * statistics/base/ppplot.m: Likewise. - * signal/spectral_xdf.m: Likewise. - * signal/spectral_adf.m: Likewise. - -2003-02-19 John W. Eaton - - * plot/axis.m: Avoid whitespace in literal matrix problem. - -2003-02-18 John W. Eaton - - * linear-algebra/logm.m: New file. - -2003-02-18 David Bateman - - * mkpkgadd: Scan C++ files as well - -2003-02-13 Alois Schloegl - - * strings/findstr.m: Return empty set for zero-length target. - -2003-02-11 Paul Kienzle - - * set/union.m: Preserve the orientation of inputs. - -2003-01-23 John W. Eaton - - * general/int2str.m: Eliminate leading spaces. - -2003-01-22 John W. Eaton - - * general/int2str.m: Do a better job with 0, Inf, and NaN, - -2003-01-11 Paul Kienzle - - * Makefile.in (gethelp$(BUILD_EXEEXT)): Pass $(BUILD_CXXFLAGS) and - $(BUILD_LDFLAGS) to compiler. - -2003-01-10 John W. Eaton - - * general/num2str.m: Don't specify field width for scalars. - -2003-01-05 John W. Eaton - - * Makefile.in (DISTFILES): Don't forget mkpkgadd. - -2003-01-03 John W. Eaton - - * gethelp.cc: Define __USE_STD_IOSTREAM if using Compaq C++. - - * miscellaneous/tempname.m: New file. - - * miscellaneous/tempdir.m: New file. - - * miscellaneous/fullfile.m: New file. - -2003-01-02 John W. Eaton - - * miscellaneous/fileparts.m: New file. - - * io/beep.m: New file. - - * plot/__pltopt1__.m: Call undo_string_escapes for title part of - format only. - -2003-01-01 John W. Eaton - - * strings/strcmp.m: Handle cell arrays of strings. - -2002-12-18 John W. Eaton - - * general/int2str.m: Handle matrices. - * general/num2str.m: Likewise. - Also handle optional precision, and format args. - -2002-12-17 John W. Eaton - - * audio/Makefile.in, control/base/Makefile.in, - control/hinf/Makefile.in, control/obsolete/Makefile.in, - control/system/Makefile.in, elfun/Makefile.in, - finance/Makefile.in, general/Makefile.in, image/Makefile.in, - io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, polynomial/Makefile.in, - quaternion/Makefile.in, set/Makefile.in, signal/Makefile.in, - specfun/Makefile.in, special-matrix/Makefile.in, - statistics/base/Makefile.in, statistics/distributions/Makefile.in, - statistics/models/Makefile.in, statistics/tests/Makefile.in, - strings/Makefile.in, time/Makefile.in, plot/Makefile.in, - deprecated/Makefile.in: Use new do-script-install and - do-script-uninstall macros. - - * mkpkgadd: New script. - - * plot/close.m: New file. - -2002-11-15 John W. Eaton - - * image/image.m: Use -raw option for xv. - From Remy Bruno - -2002-11-12 John W. Eaton - - * control/base/lsim.m: Use approximate test for step size change. - - * signal/bartlett.m: Avoid row/column mismatch error. - -2002-11-12 Paul Kienzle - - * statistics/base/var.m: Use better formula for improved accuracy. - -2002-11-04 Nicholas Piper - - * control/base/lsim.m: Correct doc string. - -2002-11-04 A S Hodel - - * control/system/syssub.m: Call tf2sys with Gnum-Hnum, not Gnum+Hnum. - -2002-11-01 John W. Eaton - - * plot/contour.m: Handle x and y as matrices too. - -2002-11-01 Joseph P. Skudlarek - - * plot/contour.m: Fix error and usage messages. - -2002-11-01 John W. Eaton - - * plot/contour.m: Correct orientation of plot. - -2002-10-31 John W. Eaton - - * control/base/analdemo.m: Fix typo. - -2002-10-31 Francesco Potorti` - - * statistics/distributions/discrete_pdf.m: Fix typo. - -2002-10-09 John W. Eaton - - * mkdoc: Exit immediately on errors. - Exit with error if gethelp does not exist. - - * Makefile.in: Use $(BUILD_EXEEXT) as appropriate. - -2002-10-08 John W. Eaton - - * Makefile.in (gethelp): Use $(BUILD_CXX), not $(CXX). - -2002-09-27 Paul Kienzle - - * statistics/distributions/normal_cdf.m: Handle variance == 0. - * statistics/distributions/normal_pdf.m: Likewise. - * statistics/distributions/normal_inv.m: Likewise. - -2002-09-27 Paul Kienzle - - * specfun/erfinv.m: Return NaN for NaN inputs. - -2002-09-26 Jeff Cunningham - - * statistics/base/var.m: Handle complex values. - -2002-08-09 John W. Eaton - - * configure.in (AC_CONFIG_FILES): Add deprecated/Makefile to the - list. - * deprecated/Makefile.in: New file. - -2002-08-09 Paul Kienzle - - * statistics/distributions/beta_cdf.m: Replace betai with betainc. - * statistics/distributions/binomial_cdf.m: Likewise. - * statistics/distributions/f_cdf.m: Likewise. - * statistics/distributions/t_cdf.m: Likewise. - - * miscellaneous/bincoeff.m: Replace lgamma with gammaln. - * specfun/beta.m: Likewise. - * special-matrix/invhilb.m: Likewise (but it is only in a comment). - * statistics/distributions/gamma_pdf.m: Likewise. - * statistics/distributions/poisson_pdf.m: Likewise. - - * statistics/distributions/gamma_cdf.m: replace gammai with gammainc - * statistics/distributions/poisson_cdf.m: Likewise. - -2002-08-09 John W. Eaton - - * deprecated/is_bool.m: New file. - * deprecated/is_complex.m: New file. - * deprecated/is_global.m: New file. - * deprecated/is_list.m: New file. - * deprecated/is_matrix.m: New file. - * deprecated/is_scalar.m: New file. - * deprecated/is_square.m: New file. - * deprecated/is_stream.m: New file. - * deprecated/is_struct.m: New file. - * deprecated/is_symmetric.m: New file. - * deprecated/is_vector.m: New file. - * Change all callers of these functions to use the new names. - - * deprecated: New directory. - * Makefile.in (SUBDIRS): Add it to the list. - - * general/isscalar.m: Rename from is_scalar.m. - * general/issquare.m: Rename from is_square.m. - * general/issymmetric.m: Rename from is_symmetric.m. - * general/isvector.m: Rename from is_vector.m. - -2002-08-05 John W. Eaton - - * statistics/base/mean.m: Allow empty matrices. - Handle DIM arg. - -2002-08-05 Teemu Ikonen - - * plot/__errcomm__.m: If format is not specified, default to error - bar format. - -2002-08-01 John W. Eaton - - * miscellaneous/popen2.m: Use F_SETFL and O_NONBLOCK, not - __F_SETFL__ and __O_NONBLOCK__. - - * image/saveimage.m: Use OCTAVE_VERSION, not __OCTAVE_VERSION__. - * miscellaneous/bug_report.m: Likewise. - -2002-07-25 John W. Eaton - - * general/mod.m: Use isreal (x), not any (any (imag (x))). - * general/rem.m: Likewise. - - * plot/loglogerr.m: Use varargin instead of old style varargs. - * plot/semilogxerr.m: Likewise. - * plot/semilogyerr.m: Likewise. - -2002-07-25 Teemu Ikonen - - * plot/__errcomm__.m: New file. Common functionality for error plots. - * plot/loglogerr.m: New file. Double logarithm plots with errorbars. - * plot/semilogxerr.m: New file. Semilogarithm plots with errorbars. - * plot/semilogyerr.m: New file. Semilogarithm plots with errorbars - - * plot/errorbar.m: Use __errcomm__.m. - * plot/__errplot__.m: Minor cleanups. - * plot/__pltopt__.m: Handle boxxyerrorbars plot style. - * plot/__pltopt1__.m: Likewise. - -2002-07-10 John W. Eaton - - * general/rem.m: Delete redundant call to usage. - - * general/mod.m: Additional error checks, Texinfoize doc string. - -2002-04-29 Paul Kienzle - - * general/mod.m: New function. - -2002-07-10 John W. Eaton - - * control/system/sysmult.m: Use varargin instead of old style varargs. - * control/system/sysadd.m: Likewise. - * control/system/sysgroup.m: Likewise. - * control/system/syssub.m: Likewise. - * elfun/gcd.m: Likewise. - * elfun/lcm.m: Likewise. - * general/common_size.m: Likewise. - * io/printf.m: Likewise. - * miscellaneous/menu.m: Likewise. - * miscellaneous/path.m: Likewise. - * plot/__errplot__.m: Likewise. - * plot/__plt__.m: Likewise. - * plot/axis.m: Likewise. - * plot/errorbar.m: Likewise. - * plot/mplot.m: Likewise. - * plot/loglog.m: Likewise. - * plot/plot.m: Likewise. - * plot/plot_border.m: Likewise. - * plot/semilogx.m: Likewise. - * plot/semilogy.m: Likewise. - * plot/xlabel.m: Likewise. - * plot/ylabel.m: Likewise. - * plot/zlabel.m: Likewise. - * statistics/base/ppplot.m: Likewise. - * statistics/base/qqplot.m: Likewise. - * statistics/tests/bartlett_test.m: Likewise. - * statistics/tests/kolmogorov_smirnov_test.m: Likewise. - * statistics/tests/kruskal_wallis_test.m: Likewise. - * strings/str2mat.m: Likewise. - * strings/strcat.m: Likewise. - -2002-06-27 Paul Kienzle - - * statistics/distributions/gamma_pdf.m: Avoid overflow in more cases. - -2002-05-01 John W. Eaton - - * skip-autoheader: New file, for autogen.sh. - * Makefile.in (DISTFILES): Add it to the list. - -2002-04-29 Paul Kienzle - - * general/repmat.m: New function. - -2002-04-25 Paul Kienzle - - * audio/lin2mu.m: Accept matrices and [-1,1] normalized audio. - Use optional parameter to specify the number of bits in the input. - * audio/mu2lin.m: Accept matrices, return n-bit integers or - floats in the range [-1,1], 2x speedup. - - * strings/index.m, strings/rindex.m: Vectorize for speed. - -2002-04-25 John W. Eaton - - * linear-algebra/kron.m: Delete. - -2002-04-24 Paul Kienzle - - * signal/freqz.m: If nargout is zero, plot results instead of - returning them. - * signal/freqz_plot.m: New file. - -2002-04-24 Bill Lash - - * signal/unwrap.m: New file. - -2002-04-23 Paul Kienzle - - * image/rgb2hsv.m: Faster, more accurate, remove the - divide by zero warning. - -2002-04-09 Paul Kienzle - - * strings/deblank.m: Trim \0 as well as blank. - - * freqz.m: Evaluate a specific range of frequencies - expressed in radians or Hz relative to a supplied sample rate. - -2002-04-04 Paul Kienzle - - * signal/fftfilt.m: Filter columns if called with a matrix. - - * strings/findstr.m: Vectorize as much as possible. - -2002-04-04 Dirk Laurie - - * special-matrix/invhilb.m: New version that is faster and more - accurate. - -2002-04-03 Steven G. Johnson - - * configure.in: Update for autoconf 2.5x. - -2002-04-03 Paul Kienzle - - * special-matrix/vander.m: Code tidy and vectorize. - -2002-04-02 Paul Kienzle - - * linear-algebra/cross.m: Accept nx3 and 3xn matrices, in addition - to vectors. Issue a warning in the case x matches y' but return a - column vector as Octave currently does. - - * plot/contour.m: Set default number of levels for contour(x,y,z). - - * control/system/starp.m: Leave more of the documentation - processing to texinfo and less to the @format block. - - * image/imagesc.m: Only display image if no output is requested. - Code tidying. - -2002-03-07 Paul Kienzle - - * statistics/base/center.m: Accept and return empty matrix. - -2002-02-22 John W. Eaton - - * specfun/erfinv.m: Fix usage message. - -2002-02-08 John W. Eaton - - * elfun/coth.m: Use 1 ./ tanh(z) instead of cosh(z) ./ sinh(z). - From "Michael O'Brien" . - -2001-06-06 John W. Eaton - - * statistics/distributions/discrete_cdf.m: Downcase incorrectly - capitalized variable names. - -2001-05-30 Jean-Francois Cardoso - - * m/image/saveimage.m: fix saving an image to Postscript format. - -2001-04-18 A. Scottedward Hodel - - * control/system/is_stabilizable.m: Pass a to sys2ss, not sys. - -2001-02-28 Kai Habel - - * general/cart2pol.m: New file. - * general/pol2cart.m: New file. - * general/cart2sph.m: New file. - * general/sph2cart.m: New file. - * image/rgb2hsv.m: New file. - * image/hsv2rgb.m: New file. - -2001-02-26 Paul Kienzle - - * plot/meshgrid.m: Avoid for loops. - * plot/meshdom.m: Likewise. - -2001-02-22 John W. Eaton - - * linear-algebra/norm.m: Use sqrt instead of ^0.5. - -2001-02-22 Heinz Bauschke - - * linear-algebra/norm.m: Use more efficient method for Frobenius - norm. - -2001-02-09 David Livings - - * statistics/tests/welch_test.m: Fix typo. - - * statistics/distributions/chisquare_cdf.m: - Don't restrict inputs to be only positive integers. - * statistics/distributions/chisquare_inv.m: Likewise. - * statistics/distributions/chisquare_pdf.m: Likewise. - * statistics/distributions/chisquare_rnd.m: Likewise. - * statistics/distributions/f_cdf.m: Likewise. - * statistics/distributions/f_inv.m: Likewise. - * statistics/distributions/f_pdf.m: Likewise. - * statistics/distributions/f_rnd.m: Likewise. - * statistics/distributions/t_cdf.m: Likewise. - * statistics/distributions/t_inv.m: Likewise. - * statistics/distributions/t_pdf.m: Likewise. - * statistics/distributions/t_rnd.m: Likewise. - -2001-02-08 Paul Kienzle - - * strings/dec2base.m: New file. - * strings/base2dec.m: New file. - * strings/strjust.m: New file. - * strings/dec2hex.m: Replace with version that just calls 2dec2base. - * strings/dec2bin.m: Likewise. - * strings/hex2dec.m: Replace with version that just calls base2dec. - * strings/bin2dec.m: Likewise. - -2001-02-07 David Livings - - * statistics/base/ppplot.m: Use gset, not set. - * statistics/base/qqplot.m: Likewise. - -2001-02-05 Ondrej Popp - - * control/system/c2d.m: Add missing endif. - -2000-12-15 Teemu Ikonen - - * strings/index.m: Return 0 if either string is empty. - -2000-12-15 Ben Sapp - - * control/system/c2d.m: Allow option of matched pole/zero - equivalent for conversion. - -2000-12-15 Matthew W. Roberts - - * strings/findstr.m: Return empty matrix if search string is empty. - -2000-12-15 Kai Habel - - * saveimage.m: Do create rawbit image for black and white images, - but do it correctly. - -2000-12-13 Teemu Ikonen - - * polynomial/deconv.m: For compatibility with Matlab, don't reduce - result polynomials. - -2000-12-07 John W. Eaton - - * image/saveimage.m: Don't try to create rawbit image. - -2000-11-21 John W. Eaton - - * Makefile.in (bin-dist): Pass -C to $(MAKE), not -c. - -2000-11-16 Paul Kienzle - - * plot/contour.m: Reorder args for Matlab compatibility. - -2000-10-27 Mats Jansson - - * set/create_set.m: Avoid empty matrix in matrix list warning. - -2000-09-08 Teemu Ikonen - - * plot/errorbar.m, plot/__errplot__.m: New functions. - - * plot/mesh.m: Also set nologscale before plotting. - * plot/__pltopt1__.m: Handle xerrorbars, yerrorbars, and - xyerrorbars instead of just errorbars. - -2000-08-25 Thomas Walter - - * image/image.m: Try display (from ImageMagick) first. - -2000-08-01 Rolf Fabian - - * plot/meshgrid.m: Use transpose to reorient vectors, not complex - conjugate transpose. - -2000-07-21 John W. Eaton - - * strings/str2mat.m: Apply setstr to each argument. - -2000-07-17 Gabriele Pannocchia - - * control/base/dkalman.m: New file. - * control/base/dlqe.m: Handle singular A matrix. - * control/base/dlqr.m: Likewise. - -2000-07-14 John W. Eaton - - * strings/strcmp.m: Return 0 instead of an error if row and column - dimensions don't match. - -2000-06-30 Kai Habel - - * plot/hist.m: Allow 3 argument form to work. - -2000-06-27 Matthew W. Roberts - - * plot/plot.m: Add examples in doc string. - -2000-06-08 Ben Sapp - - * control/base/__stepimp__.m: Reset multiplot state when done. - Do the right thing even if automatic_replot is not zero. - Avoid failure if system has pure imaginary poles. - -2000-06-06 John W. Eaton - - * general/logical.m: Return arg if it is empty. Better error - message for non-numeric types. - -2000-05-31 A. Scottedward Hodel - - * control/base/dlqe.m: Update documentation. Fix typo. Warn - about difference with Matlab dlqe function. - - * control/system/sysmult.m: Fix typo in argument dimensions checking. - -2000-05-24 Ben Sapp - - * strings/strrep.m: Fix typo. - -2000-05-13 John W. Eaton - - * strings/strrep.m: Don't transpose result for case of jump > 0. - -2000-05-13 Paul Kienzle - - * strings/strrep.m: Avoid for loop for speed. - * plot/axis.m: Handle string options for Matlab compatibility. - -2000-04-04 John Smith - - * statistics/distributions/beta_inv.m: Provide better(?) initial - guess for iteration. - -2000-03-31 Paul Kienzle - - * image/image.m: Allow image (A) or image (x, y, A). - * image/imagesc.m: Likewise. - - * image/image.m: If zoom is not supplied, or if it is an empty - matrix, autoscale the image. - -2000-03-22 John W. Eaton - - * plot/title.m, plot/bottom_title.m, plot/top_title.m: - Undo string escapes in text twice(!) before sending to gnuplot. - - * image/saveimage.m: Add comment to file saying who created it and - when it was created. Suggested by Stephen Eglen - . - -2000-03-21 Paul Kienzle - - * polynomial/polyreduce.m: Simplify by looking for the first - non-zero element rather than the last of the first set of zero - elements. - - * plot/__pltopt1__.m: Accept "--", "-.", and ":" line styles. - -2000-03-21 Kai Habel - - * image/saveimage.m: Swap black and white colormaps so zero is - displayed as black and 1 is displayed as white. - Fix indexing bug in ppm case. - -2000-03-06 Stephen Eglen - - * statistics/tests/kolmogorov_smirnov_test_2.m: Account for ties - between the two distributions (took same approach as ks.test() in R.) - -2000-02-29 John W. Eaton - - * control/base/bode.m: Temporarily disable automatic_replot. - -2000-02-23 John W. Eaton - - * Makefile.in (clean): Also remove gethelp. - - * specfun/erfinv.m: Use z_new in convergence test, not z_old. - -2000-02-11 Georg Thimm - - * set/create_set.m: Use find to avoid while loop. - -2000-02-11 Stephen Eglen - - * plot/hist.m: New optional third argument. - -2000-02-10 John W. Eaton - - * miscellaneous/bug_report.m: Use octave-bug script with version - number appended. - -2000-02-04 John W. Eaton - - * gethelp.cc: Sprinkle with std:: qualifier. - -2000-01-30 John W. Eaton - - * image/saveimage.m: Delete some debugging code. - -2000-01-27 John W. Eaton - - * signal/sinc.m: Avoid reshaping. - - * image/rgb2ind.m: No longer needs to reset do_fortran_indexing. - * image/ind2rgb.m: Ditto. - * image/ind2gray.m: Ditto. - * general/reshape.m: Ditto. Also no longer needs to reset - implicit_str_to_num_ok. - -2000-01-26 John W. Eaton - - * miscellaneous/popen2.m: Deal with the fact that pipe now returns - a list of file structures, not a vector of numeric file ids. - -2000-01-25 John W. Eaton - - * plot/__axis_label__.m: New function. - Undo string escapes in text twice(!) before sending to gnuplot. - * plot/xlabel.m: Use it. - * plot/ylabel.m: Ditto. - * plot/zlabel.m: Ditto. - - * plot/mesh.m: Fix error message to reflect reality. - -2000-01-24 Cyril Humbert - - * statistics/distributions/weibull_pdf.m: Use correct formula. - -2000-01-22 Michael Reifenberger - - * audio/saveaudio.m: Also accept files with .ul extension. - * audio/loadaudio.m: Ditto. - * audio/playaudio.m: Ditto. - -2000-01-19 John W. Eaton - - * statistics/distributions/beta_cdf.m: Texinfoize doc string. - * statistics/distributions/beta_inv.m: Ditto. - * statistics/distributions/beta_pdf.m: Ditto. - * statistics/distributions/beta_rnd.m: Ditto. - * statistics/distributions/binomial_cdf.m: Ditto. - * statistics/distributions/binomial_inv.m: Ditto. - * statistics/distributions/binomial_pdf.m: Ditto. - * statistics/distributions/binomial_rnd.m: Ditto. - * statistics/distributions/cauchy_cdf.m: Ditto. - * statistics/distributions/cauchy_inv.m: Ditto. - * statistics/distributions/cauchy_pdf.m: Ditto. - * statistics/distributions/cauchy_rnd.m: Ditto. - * statistics/distributions/chisquare_cdf.m: Ditto. - * statistics/distributions/chisquare_inv.m: Ditto. - * statistics/distributions/chisquare_pdf.m: Ditto. - * statistics/distributions/chisquare_rnd.m: Ditto. - * statistics/distributions/discrete_cdf.m: Ditto. - * statistics/distributions/discrete_inv.m: Ditto. - * statistics/distributions/discrete_pdf.m: Ditto. - * statistics/distributions/discrete_rnd.m: Ditto. - * statistics/distributions/empirical_cdf.m: Ditto. - * statistics/distributions/empirical_inv.m: Ditto. - * statistics/distributions/empirical_pdf.m: Ditto. - * statistics/distributions/empirical_rnd.m: Ditto. - * statistics/distributions/exponential_cdf.m: Ditto. - * statistics/distributions/exponential_inv.m: Ditto. - * statistics/distributions/exponential_pdf.m: Ditto. - * statistics/distributions/exponential_rnd.m: Ditto. - * statistics/distributions/f_cdf.m: Ditto. - * statistics/distributions/f_inv.m: Ditto. - * statistics/distributions/f_pdf.m: Ditto. - * statistics/distributions/f_rnd.m: Ditto. - * statistics/distributions/gamma_cdf.m: Ditto. - * statistics/distributions/gamma_inv.m: Ditto. - * statistics/distributions/gamma_pdf.m: Ditto. - * statistics/distributions/gamma_rnd.m: Ditto. - * statistics/distributions/geometric_cdf.m: Ditto. - * statistics/distributions/geometric_inv.m: Ditto. - * statistics/distributions/geometric_pdf.m: Ditto. - * statistics/distributions/geometric_rnd.m: Ditto. - * statistics/distributions/hypergeometric_cdf.m: Ditto. - * statistics/distributions/hypergeometric_inv.m: Ditto. - * statistics/distributions/hypergeometric_pdf.m: Ditto. - * statistics/distributions/hypergeometric_rnd.m: Ditto. - * statistics/distributions/kolmogorov_smirnov_cdf.m: Ditto. - * statistics/distributions/laplace_cdf.m: Ditto. - * statistics/distributions/laplace_inv.m: Ditto. - * statistics/distributions/laplace_pdf.m: Ditto. - * statistics/distributions/laplace_rnd.m: Ditto. - * statistics/distributions/logistic_cdf.m: Ditto. - * statistics/distributions/logistic_inv.m: Ditto. - * statistics/distributions/logistic_pdf.m: Ditto. - * statistics/distributions/logistic_rnd.m: Ditto. - * statistics/distributions/lognormal_cdf.m: Ditto. - * statistics/distributions/lognormal_inv.m: Ditto. - * statistics/distributions/lognormal_pdf.m: Ditto. - * statistics/distributions/lognormal_rnd.m: Ditto. - * statistics/distributions/normal_cdf.m: Ditto. - * statistics/distributions/normal_inv.m: Ditto. - * statistics/distributions/normal_pdf.m: Ditto. - * statistics/distributions/normal_rnd.m: Ditto. - * statistics/distributions/pascal_cdf.m: Ditto. - * statistics/distributions/pascal_inv.m: Ditto. - * statistics/distributions/pascal_pdf.m: Ditto. - * statistics/distributions/pascal_rnd.m: Ditto. - * statistics/distributions/poisson_cdf.m: Ditto. - * statistics/distributions/poisson_inv.m: Ditto. - * statistics/distributions/poisson_pdf.m: Ditto. - * statistics/distributions/poisson_rnd.m: Ditto. - * statistics/distributions/stdnormal_cdf.m: Ditto. - * statistics/distributions/stdnormal_inv.m: Ditto. - * statistics/distributions/stdnormal_pdf.m: Ditto. - * statistics/distributions/stdnormal_rnd.m: Ditto. - * statistics/distributions/t_cdf.m: Ditto. - * statistics/distributions/t_inv.m: Ditto. - * statistics/distributions/t_pdf.m: Ditto. - * statistics/distributions/t_rnd.m: Ditto. - * statistics/distributions/uniform_cdf.m: Ditto. - * statistics/distributions/uniform_inv.m: Ditto. - * statistics/distributions/uniform_pdf.m: Ditto. - * statistics/distributions/uniform_rnd.m: Ditto. - * statistics/distributions/weibull_cdf.m: Ditto. - * statistics/distributions/weibull_inv.m: Ditto. - * statistics/distributions/weibull_pdf.m: Ditto. - * statistics/distributions/weibull_rnd.m: Ditto. - * statistics/distributions/wiener_rnd.m: Ditto. - -2000-01-18 John W. Eaton - - * statistics/base/values.m: Texinfoize doc string. - * statistics/base/var.m: Ditto. - * statistics/base/table.m: Ditto. - * statistics/base/studentize.m: Ditto. - * statistics/base/statistics.m: Ditto. - * statistics/base/spearman.m: Ditto. - * statistics/base/run_count.m: Ditto. - * statistics/base/ranks.m: Ditto. - * statistics/base/range.m: Ditto. - * statistics/base/qqplot.m: Ditto. - * statistics/base/probit.m: Ditto. - * statistics/base/ppplot.m: Ditto. - * statistics/base/moment.m: Ditto. - * statistics/base/meansq.m: Ditto. - * statistics/base/logit.m: Ditto. - * statistics/base/kendall.m: Ditto. - * statistics/base/iqr.m: Ditto. - * statistics/base/cut.m: Ditto. - * statistics/base/cor.m: Ditto. - * statistics/base/cloglog.m: Ditto. - * statistics/base/center.m: Ditto. - * statistics/models/logistic_regression.m: Ditto. - * statistics/models/logistic_regression_derivative.m: Ditto. - * statistics/models/logistic_regression_likelihood.m: Ditto. - * statistics/tests/anova.m: Ditto. - * statistics/tests/bartlett_test.m: Ditto. - * statistics/tests/chisquare_test_homogeneity.m: Ditto. - * statistics/tests/chisquare_test_independence.m: Ditto. - * statistics/tests/cor_test.m: Ditto. - * statistics/tests/f_test_regression.m: Ditto. - * statistics/tests/hotelling_test.m: Ditto. - * statistics/tests/hotelling_test_2.m: Ditto. - * statistics/tests/kolmogorov_smirnov_test.m: Ditto. - * statistics/tests/kolmogorov_smirnov_test_2.m: Ditto. - * statistics/tests/kruskal_wallis_test.m: Ditto. - * statistics/tests/manova.m: Ditto. - * statistics/tests/mcnemar_test.m: Ditto. - * statistics/tests/prop_test_2.m: Ditto. - * statistics/tests/run_test.m: Ditto. - * statistics/tests/sign_test.m: Ditto. - * statistics/tests/t_test.m: Ditto. - * statistics/tests/t_test_2.m: Ditto. - * statistics/tests/t_test_regression.m: Ditto. - * statistics/tests/u_test.m: Ditto. - * statistics/tests/var_test.m: Ditto. - * statistics/tests/welch_test.m: Ditto. - * statistics/tests/wilcoxon_test.m: Ditto. - * statistics/tests/z_test.m: Ditto. - * statistics/tests/z_test_2.m: Ditto. - -2000-01-17 John W. Eaton - - * strings/bin2dec.m: Texinfoize doc string. - * plot/__plr1__.m: Ditto. - * plot/__pltopt__.m: Ditto. - * plot/__plt__.m: Ditto. - * plot/__plt2vv__.m: Ditto. - * plot/__plr2__.m: Ditto. - * plot/__plr__.m: Ditto. - * plot/__plt1__.m: Ditto. - * plot/__plt2__.m: Ditto. - * plot/__plt2mm__.m: Ditto. - * plot/__plt2mv__.m: Ditto. - * plot/__plt2ss__.m: Ditto. - * miscellaneous/paren.m: Ditto. - * miscellaneous/comma.m: Ditto. - * miscellaneous/semicolon.m: Ditto. - * miscellaneous/path.m: Ditto. - * miscellaneous/list_primes.m: Ditto. - * miscellaneous/flops.m: Ditto. - * miscellaneous/dump_prefs.m: Ditto. - * miscellaneous/bug_report.m: Ditto. - * linear-algebra/dot.m: Ditto - * linear-algebra/dmult.m: Ditto. - * general/randperm.m: Ditto. - * general/logical.m: Ditto. - * general/is_duplicate_entry.m: Ditto. - * signal/arch_fit.m: Ditto. - * signal/arch_rnd.m: Ditto. - * signal/arch_test.m: Ditto. - * signal/arma_rnd.m: Ditto. - * signal/autocor.m: Ditto. - * signal/autocov.m: Ditto. - * signal/autoreg_matrix.m: Ditto. - * signal/bartlett.m: Ditto. - * signal/blackman.m: Ditto. - * signal/detrend.m: Ditto. - * signal/diffpara.m: Ditto. - * signal/durbinlevinson.m: Ditto. - * signal/fftconv.m: Ditto. - * signal/fftfilt.m: Ditto. - * signal/fftshift.m: Ditto. - * signal/fractdiff.m: Ditto. - * signal/freqz.m: Ditto. - * signal/hamming.m: Ditto. - * signal/hanning.m: Ditto. - * signal/hurst.m: Ditto. - * signal/periodogram.m: Ditto. - * signal/rectangle_lw.m: Ditto. - * signal/rectangle_sw.m: Ditto. - * signal/sinc.m: Ditto. - * signal/sinetone.m: Ditto. - * signal/sinewave.m: Ditto. - * signal/spectral_adf.m: Ditto. - * signal/spectral_xdf.m: Ditto. - * signal/spencer.m: Ditto. - * signal/stft.m: Ditto. - * signal/synthesis.m: Ditto. - * signal/triangle_lw.m: Ditto. - * signal/triangle_sw.m: Ditto. - * signal/yulewalker.m: Ditto. - * control/util/strappend.m: Ditto. - * control/base/nichols.m: Ditto. - * control/system/is_signal_list.m: Ditto. - * control/system/listidx.m: Ditto. - * control/system/sysgettsam.m: Ditto. - * control/system/sysidx.m: Ditto. - -2000-01-14 John W. Eaton - - * control/system/__abcddims__.m: Rename from - control/system/abcddims.m, change all callers. - * control/base/__bodquist__.m: Likewise. - * control/base/__freqresp__.m: Likewise. - * control/util/__outlist__.m: Likewise. - * control/base/__stepimp__.m: Likewise. - * control/system/__syschnamesl__.m: Likewise. - * control/system/__syscont_disc__.m: Likewise. - * control/system/__sysdefioname__.m: Likewise. - * control/system/__sysdefstname__.m: Likewise. - * control/system/__sysgroupn__.m: Likewise. - * control/system/__tf2sysl__.m: Likewise. - * control/util/__zgpbal__.m: Likewise. - * control/system/__zp2ssg2__.m: Likewise. - - * quaternion/demoquat.m: Add copyright notice, Texinfoize doc string. - * quaternion/qconj.m: Ditto. - * quaternion/qcoordinate_plot.m: Ditto. - * quaternion/qderiv.m: Ditto. - * quaternion/qderivmat.m: Ditto. - * quaternion/qinv.m: Ditto. - * quaternion/qmult.m: Ditto. - * quaternion/qtrans.m: Ditto. - * quaternion/qtransv.m: Ditto. - * quaternion/qtransvmat.m: Ditto. - * quaternion/quaternion.m: Ditto. - -2000-01-13 John W. Eaton - - * control/base/Makefile.in: Ditto. - * control/hinf/Makefile.in: New file. - * control/marsyas/Makefile.in: Ditto. - * control/obsolete/Makefile.in: Ditto. - * control/system/Makefile.in: Ditto. - * control/util/Makefile.in: Ditto. - - * strings/com2str.m: Move here from control directory. - - * control/base: New directory. - * control/base/DEMOcontrol.m: Move here from control directory. - * control/base/analdemo.m: Ditto. - * control/base/are.m: Ditto. - * control/base/bddemo.m: Ditto. - * control/base/bode.m: Ditto. - * control/base/bode_bounds.m: Ditto. - * control/base/bodquist.m: Ditto. - * control/base/controldemo.m: Ditto. - * control/base/ctrb.m: Ditto. - * control/base/damp.m: Ditto. - * control/base/dare.m: Ditto. - * control/base/dcgain.m: Ditto. - * control/base/dgram.m: Ditto. - * control/base/dlqe.m: Ditto. - * control/base/dlqr.m: Ditto. - * control/base/dlyap.m: Ditto. - * control/base/dre.m: Ditto. - * control/base/frdemo.m: Ditto. - * control/base/freqchkw.m: Ditto. - * control/base/freqresp.m: Ditto. - * control/base/gram.m: Ditto. - * control/base/impulse.m: Ditto. - * control/base/lqe.m: Ditto. - * control/base/lqg.m: Ditto. - * control/base/lqr.m: Ditto. - * control/base/lsim.m: Ditto. - * control/base/ltifr.m: Ditto. - * control/base/lyap.m: Ditto. - * control/base/nichols.m: Ditto. - * control/base/nyquist.m: Ditto. - * control/base/obsv.m: Ditto. - * control/base/place.m: Ditto. - * control/base/pzmap.m: Ditto. - * control/base/rldemo.m: Ditto. - * control/base/rlocus.m: Ditto. - * control/base/step.m: Ditto. - * control/base/stepimp.m: Ditto. - * control/base/tzero.m: Ditto. - * control/base/tzero2.m: Ditto. - - * control/hinf: New directory. - * control/hinf/dhinfdemo.m: Move here from control directory. - * control/hinf/h2norm.m: Ditto. - * control/hinf/h2syn.m: Ditto. - * control/hinf/hinf_ctr.m: Ditto. - * control/hinf/hinfdemo.m: Ditto. - * control/hinf/hinfnorm.m: Ditto. - * control/hinf/hinfsyn.m: Ditto. - * control/hinf/hinfsyn_chk.m: Ditto. - * control/hinf/hinfsyn_ric.m: Ditto. - * control/hinf/wgt1o.m: Ditto. - * control/hinf/dgkfdemo.m: Ditto. - * control/hinf/is_dgkf.m: Ditto. - - * control/marsyas: New directory. - * control/marsyas/demomarsyas.m: Move here from control directory. - * control/marsyas/susball.m: Ditto. - - * control/obsolete/dezero.m: Move here from control directory. - * control/obsolete/rotg.m: Ditto. - - * control/system: New directory. - * control/system/abcddim.m: Move here from control directory. - * control/system/abcddims.m: Ditto. - * control/system/buildssic.m: Ditto. - * control/system/c2d.m: Ditto. - * control/system/d2c.m: Ditto. - * control/system/dmr2d.m: Ditto. - * control/system/fir2sys.m: Ditto. - * control/system/is_abcd.m: Ditto. - * control/system/is_digital.m: Ditto. - * control/system/is_sample.m: Ditto. - * control/system/is_signal_list.m: Ditto. - * control/system/is_siso.m: Ditto. - * control/system/is_controllable.m: Ditto. - * control/system/is_detectable.m: Ditto. - * control/system/is_observable.m: Ditto. - * control/system/is_stabilizable.m: Ditto. - * control/system/is_stable.m: Ditto. - * control/system/jet707.m: Ditto. - * control/system/listidx.m: Ditto. - * control/system/moddemo.m: Ditto. - * control/system/ord2.m: Ditto. - * control/system/packedform.m: Ditto. - * control/system/parallel.m: Ditto. - * control/system/ss2sys.m: Ditto. - * control/system/ss2tf.m: Ditto. - * control/system/ss2zp.m: Ditto. - * control/system/starp.m: Ditto. - * control/system/sys2fir.m: Ditto. - * control/system/sys2ss.m: Ditto. - * control/system/sys2tf.m: Ditto. - * control/system/sys2zp.m: Ditto. - * control/system/sysadd.m: Ditto. - * control/system/sysappend.m: Ditto. - * control/system/syschnamesl.m: Ditto. - * control/system/syschtsam.m: Ditto. - * control/system/sysconnect.m: Ditto. - * control/system/syscont.m: Ditto. - * control/system/syscont_disc.m: Ditto. - * control/system/sysdefioname.m: Ditto. - * control/system/sysdefstname.m: Ditto. - * control/system/sysdimensions.m: Ditto. - * control/system/sysdisc.m: Ditto. - * control/system/sysdup.m: Ditto. - * control/system/sysgetsignals.m: Ditto. - * control/system/sysgettsam.m: Ditto. - * control/system/sysgettype.m: Ditto. - * control/system/sysgroup.m: Ditto. - * control/system/sysgroupn.m: Ditto. - * control/system/sysidx.m: Ditto. - * control/system/sysmin.m: Ditto. - * control/system/sysmult.m: Ditto. - * control/system/sysout.m: Ditto. - * control/system/sysprune.m: Ditto. - * control/system/sysreorder.m: Ditto. - * control/system/sysrepdemo.m: Ditto. - * control/system/sysscale.m: Ditto. - * control/system/syssetsignals.m: Ditto. - * control/system/syssub.m: Ditto. - * control/system/sysupdate.m: Ditto. - * control/system/tf2ss.m: Ditto. - * control/system/tf2sys.m: Ditto. - * control/system/tf2sysl.m: Ditto. - * control/system/tf2zp.m: Ditto. - * control/system/tfout.m: Ditto. - * control/system/ugain.m: Ditto. - * control/system/zp2ss.m: Ditto. - * control/system/zp2ssg2.m: Ditto. - * control/system/zp2sys.m: Ditto. - * control/system/zp2tf.m: Ditto. - * control/system/zpout.m: Ditto. - - * control/util: New directory. - * control/util/axis2dlim.m: Move here from control directory. - * control/util/outlist.m: Ditto. - * control/util/prompt.m: Ditto. - * control/util/run_cmd.m: Ditto. - * control/util/sortcom.m: Ditto. - * control/util/strappend.m: Ditto. - * control/util/swap.m: Ditto. - * control/util/zgfmul.m: Ditto. - * control/util/zgfslv.m: Ditto. - * control/util/zginit.m: Ditto. - * control/util/zgpbal.m: Ditto. - * control/util/zgreduce.m: Ditto. - * control/util/zgrownorm.m: Ditto. - * control/util/zgscal.m: Ditto. - * control/util/zgsgiv.m: Ditto. - * control/util/zgshsr.m: Ditto. - -2000-01-13 John W. Eaton - - * gethelp.cc (extract_help_text): Discard first space character - after consecutive comment characters. - -Thu Jan 13 00:56:57 2000 John W. Eaton - - * control/obsolete: New directory - * control/obsolete/swaprows.m: Move here from control directory. - * control/obsolete/swapcols.m: Ditto. - * control/obsolete/dlqg.m: Ditto. - * control/obsolete/minfo.m: Ditto. - * control/obsolete/packsys.m: Ditto. - * control/obsolete/qzval.m: Ditto. - * control/obsolete/unpacksys.m: Ditto. - * control/obsolete/series.m: Ditto. - * control/obsolete/syschnames.m: Ditto. - * polynomial/polyout.m: Ditto. - -2000-01-13 John W. Eaton - - * general/fliplr.m: Eliminate useless copy of arg. - * general/flipud.m: Ditto. - -2000-01-11 John W. Eaton - - * linear-algebra/cross.m: Only return a row vector if both args - are row vectors. - * polynomial/polyfit.m: Likewise. - - * signal/autocov.m: Don't reset prefer_column_vectors. - - * statistics/distributions/discrete_rnd.m: - Always generate a row vector. - * statistics/distributions/hypergeometric_rnd.m: Likewise. - -2000-01-11 Ben Sapp - - * strings/upper.m: Add missing `-*- texinfo -*-' tag to doc string. - - * audio/setaudio.m: Texinfoize doc string. - * control/com2str.m: Likewise. - * control/controldemo.m: Likewise. - * control/DEMOcontrol.m: Likewise. - * control/dezero.m: Likewise. - * control/dre.m: Likewise. - * control/hinfsyn_ric.m: Likewise. - -2000-01-05 Ben Sapp - - * io/printf.m: Add @seealso{...} to doc string. - * io/puts.m: Likewise. - * plot/semilogx.m: Likewise. - * plot/semilogy.m: Likewise. - * plot/__pltopt__.m: Likewise. - * plot/bar.m: Likewise. - * plot/xlabel.m: Likewise. - * plot/grid.m: Likewise. - * plot/shg.m: Likewise. - * plot/title.m: Likewise. - * plot/mesh.m: Likewise. - * plot/__pltopt1__.m: Likewise. - * plot/contour.m: Likewise. - * plot/hist.m: Likewise. - * plot/stairs.m: Likewise. - * plot/meshgrid.m: Likewise. - * plot/polar.m: Likewise. - * plot/loglog.m: Likewise. - * plot/plot.m: Likewise. - * miscellaneous/semicolon.m: Likewise. - * miscellaneous/menu.m: Likewise. - * miscellaneous/etime.m: Likewise. - * miscellaneous/texas_lotto.m: Likewise. - * miscellaneous/comma.m: Likewise. - * audio/lin2mu.m: Likewise. - * audio/playaudio.m: Likewise. - * audio/loadaudio.m: Likewise. - * audio/saveaudio.m: Likewise. - * audio/mu2lin.m: Likewise. - * audio/record.m: Likewise. - * strings/isletter.m: Likewise. - * strings/lower.m: Likewise. - * strings/lower.m: Likewise. - * strings/upper.m: Likewise. - * specfun/erfinv.m: Likewise. - * specfun/gammai.m: Likewise. - * specfun/log2.m: Likewise. - * specfun/pow2.m: Likewise. - * elfun/gcd.m: Likewise. - * elfun/lcm.m: Likewise. - * special-matrix/vander.m: Likewise. - * special-matrix/sylvester_matrix.m: Likewise. - * special-matrix/hilb.m: Likewise. - * special-matrix/hankel.m: Likewise. - * special-matrix/toeplitz.m: Likewise. - * special-matrix/invhilb.m: Likewise. - * statistics/base/std.m: Likewise. - * statistics/base/median.m: Likewise. - * linear-algebra/cond.m: Likewise. - * linear-algebra/norm.m: Likewise. - * finance/nper.m: Likewise. - * finance/pmt.m: Likewise. - * finance/pv.m: Likewise. - * finance/rate.m: Likewise. - * finance/npv.m: Likewise. - * general/fliplr.m: Likewise. - * general/flipud.m: Likewise. - * general/is_scalar.m: Likewise. - * general/rem.m: Likewise. - * general/perror.m: Likewise. - * general/tril.m: Likewise. - * general/rot90.m: Likewise. - * general/num2str.m: Likewise. - * general/int2str.m: Likewise. - * general/reshape.m: Likewise. - * general/logspace.m: Likewise. - * general/is_symmetric.m: Likewise. - * general/is_vector.m: Likewise. - * general/nextpow2.m: Likewise. - * general/columns.m: Likewise. - * general/is_square.m: Likewise. - * general/rows.m: Likewise. - * control/ugain.m: Likewise. - * control/damp.m: Likewise. - * control/dare.m: Likewise. - * control/are.m: Likewise. - * control/sys2fir.m: Likewise. - * control/abcddim.m: Likewise. - * control/is_abcd.m: Likewise. - * control/step.m: Likewise. - * control/is_observable.m: Likewise. - * control/is_controllable.m: Likewise. - * control/jet707.m: Likewise. - * control/polyout.m: Likewise. - * control/impulse.m: Likewise. - * control/lqg.m: Likewise. - * control/is_detectable.m: Likewise. - * control/sysdimensions.m: Likewise. - * control/sysupdate.m: Likewise. - * control/stepimp.m: Likewise. - * control/is_stable.m: Likewise. - * control/tfout.m: Likewise. - * control/zpout.m: Likewise. - -2000-01-05 John W. Eaton - - * set/complement.m: Add @seealso{} stuff. - * set/create_set.m: Likewise. - * set/intersection.m: Likewise. - * set/union.m: Likewise. - -1999-12-22 John W. Eaton - - * control/d2c.m: Use double quotes instead of single quotes for - string constants. - * control/dgkfdemo.m: Likewise. - * control/fir2sys.m: Likewise. - * control/frdemo.m: Likewise. - * control/moddemo.m: Likewise. - * control/minfo.m: Likewise. - * control/is_stabilizable.m: Likewise. - * control/is_dgkf.m: Likewise. - * control/polyout.m: Likewise. - * control/sysconnect.m: Likewise. - * control/sysrepdemo.m: Likewise. - * control/tf2sys.m: Likewise. - * control/tfout.m: Likewise. - * control/zp2sys.m: Likewise. - * control/zpout.m: Likewise. - * control/tzero.m: Likewise. - - * control/DEMOcontrol.m: Handle moddemo case too. - - * image/loadimage.m: Use double quotes instead of single quotes - for string constants. Use sprintf instead of square brackets to - construct string. - - * control/DEMOcontrol.m: Formatting tweaks. - * control/fir2sys.m: Likewise. - -1999-12-17 John W. Eaton - - * mkdoc: Only delete spaces before @ characters at the beginning - of a line. - -1999-12-15 John W. Eaton - - * control/bddemo.m: Make it more likely to work with any value of - whitespace_in_literal_matrix. - * control/analdemo.m: Ditto. - * control/dgkfdemo.m: Ditto. - * control/frdemo.m: Ditto. - * control/sysrepdemo.m: Ditto. - * control/moddemo.m: Ditto. - * control/zp2ss.m: Ditto. - * control/zp2tf.m: Ditto. - * control/syssub.m: Ditto. - * finance/npv.m: Ditto. - * statistics/base/studentize.m: Ditto. - * statistics/base/values.m: Ditto. - * statistics/distributions/exponential_cdf.m: Ditto. - * statistics/distributions/poisson_cdf.m: Ditto. - - * control/dezero.m: Use toascii to convert string to ASCII value - instead of multiplying it by 1. - - * control/zp2sys.m: Don't save and restore implicit_str_to_num_ok. - * control/zpout.m: Ditto. - * control/tfout.m: Ditto. - * control/tf2sys.m: Ditto. - * control/syssub.m: Ditto. - * control/syssetsignals.m: Ditto. - * control/sysout.m: Ditto. - * control/sysmult.m: Ditto. - * control/sysgroup.m: Ditto. - * control/sysdup.m: Ditto. - * control/sysdisc.m: Ditto. - * control/syscont.m: Ditto. - * control/sysconnect.m: Ditto. - * control/sysappend.m: Ditto. - * control/sysadd.m: Ditto. - * control/ss2sys.m: Ditto. - * control/nyquist.m: Ditto. - * control/lqg.m: Ditto. - * control/fir2sys.m: Ditto. - * control/dmr2d.m: Ditto. - * control/dezero.m: Ditto. - * control/d2c.m: Ditto. - * control/c2d.m: Ditto. - * control/bddemo.m: Ditto. - * control/pzmap.m: Ditto. - -1999-12-08 Daniel Calvelo - - * signal/spectral_adf.m: Fix typo. - -1999-11-23 John W. Eaton - - * linear-algebra/cond.m: Texinfoize doc string. - * linear-algebra/kron.m: Ditto. - * linear-algebra/norm.m: Ditto. - * linear-algebra/null.m: Ditto. - * linear-algebra/orth.m: Ditto. - * linear-algebra/rank.m: Ditto. - * linear-algebra/trace.m: Ditto. - * linear-algebra/qzhess.m: Ditto. - * miscellaneous/menu.m: Ditto. - * general/perror.m: Ditto. - * general/strerror.m: Ditto. - * general/columns.m: Ditto. - * general/rows.m: Ditto. - * image/colormap.m: Ditto. - * image/gray.m: Ditto. - * image/gray2ind.m: Ditto. - * image/image.m: Ditto. - * image/imagesc.m: Ditto. - * image/imshow.m: Ditto. - * image/ind2gray.m: Ditto. - * image/ind2rgb.m: Ditto. - * image/loadimage.m: Ditto. - * image/rgb2ntsc.m: Ditto. - * image/ntsc2rgb.m: Ditto. - * image/ocean.m: Ditto. - * image/rgb2ind.m: Ditto. - * image/saveimage.m: Ditto. - * io/printf.m: Ditto. - * io/puts.m: Ditto. - -1999-11-21 John W. Eaton - - * special-matrix/hankel.m: Texinfoize doc string. - * special-matrix/hilb.m: Ditto. - * special-matrix/invhilb.m: Ditto. - * special-matrix/sylvester_matrix.m: Ditto. - * special-matrix/toeplitz.m: Ditto. - * special-matrix/vander.m: Ditto. - * linear-algebra/vec.m: Ditto. - * linear-algebra/vech.m: Ditto. - * general/common_size.m: Ditto. - * general/diff.m: Ditto. - * general/fliplr.m: Ditto. - * general/flipud.m: Ditto. - * general/rot90.m: Ditto. - * general/reshape.m: Ditto. - * general/shift.m: Ditto. - * general/tril.m: Ditto. - * general/triu.m: Ditto. - * general/logspace.m: Ditto. - * general/nargchk.m: Ditto. - -1999-11-20 John W. Eaton - - * statistics/base/mean: Texinfoize doc string. - * statistics/base/median: Ditto. - * statistics/base/std: Ditto. - * statistics/base/cov: Ditto. - * statistics/base/corrcoef: Ditto. - * statistics/base/kurtosis: Ditto. - * statistics/base/mahalanobis: Ditto. - * statistics/base/skewness: Ditto. - * statistics/base/gls.m: Ditto. - * statistics/base/ols.m: Ditto. - * signal/detrend.m: Ditto. - * signal/freqz.m: Ditto. - * signal/sinc.m: Ditto. - * signal/fftconv.m: Ditto. - * signal/fftfilt.m: Ditto. - * set/create_set.m: Ditto. - * set/union.m: Ditto. - * set/intersection.m: Ditto. - * set/complement.m: Ditto. - * poly/compan.m: Ditto. - * poly/conv: Ditto. - * poly/deconv: Ditto. - * poly/poly: Ditto. - * poly/polyderiv: Ditto. - * poly/polyfit: Ditto. - * poly/polyinteg: Ditto. - * poly/polyreduce: Ditto. - * poly/polyval: Ditto. - * poly/polyvalm: Ditto. - * poly/residue: Ditto. - * poly/roots: Ditto. - * plot/top_title.m: Ditto - * plot/subwindow.m: Ditto - * plot/subplot.m: Ditto - * plot/plot_border.m: Ditto - * plot/oneplot.m: Ditto - * plot/multiplot.m: Ditto - * plot/mplot.m: Ditto - * plot/xlabel.m: Ditto - * plot/figure.m: Ditto - * plot/meshdom.m: Ditto - * plot/mesh.m: Ditto - * plot/stairs.m: Ditto - * plot/polar.m: Ditto - * plot/loglog.m: Ditto - * plot/hist.m: Ditto - * plot/contour.m: Ditto - * plot/bar.m: Ditto - * plot/axis.m: Ditto - * plot/plot.m: Ditto. - -1999-11-19 John W. Eaton - - * control/pinv.m: Delete. - - * Makefile.in (DOCSTRINGS): Don't echo $(ALL_M_FILES). - - * strings/blanks.m: Texinfoize doc string. - * strings/strcat.m: Ditto. - * strings/str2mat.m: Ditto. - * strings/deblank.m: Ditto. - * strings/findstr.m: Ditto. - * strings/index.m: Ditto. - * strings/rindex.m: Ditto. - * strings/split.m: Ditto. - * strings/strcmp.m: Ditto. - * strings/strrep.m: Ditto. - * strings/substr.m: Ditto. - * general/int2str.m: Ditto. - * general/num2str.m: Ditto. - * strings/dec2bin.m: Ditto. - * strings/bin2dec: Ditto. - * strings/dec2bin: Ditto. - * strings/dec2hex: Ditto. - * strings/hex2dec: Ditto. - * strings/str2num: Ditto. - -1999-11-10 John W. Eaton - - * Makefile.in (DISTFILES): Include DOCSTRINGS. - -1999-11-09 Ben Sapp - - * control/DEMOcontrol.m: Texinfoize doc string. - * control/abcddim.m: Ditto. - * control/abcddims.m: Ditto. - * control/analdemo.m: Ditto. - * control/are.m: Ditto. - * control/axis2dlim.m: Ditto. - * control/bddemo.m: Ditto. - * control/bode.m: Ditto. - * control/bode_bounds.m: Ditto. - * control/bodquist.m: Ditto. - * control/buildssic.m: Ditto. - * control/c2d.m: Ditto. - * control/ctrb.m: Ditto. - * control/d2c.m: Ditto. - * control/damp.m: Ditto. - * control/dare.m: Ditto. - * control/dcgain.m: Ditto. - * control/dgkfdemo.m: Ditto. - * control/dgram.m: Ditto. - * control/dlqe.m: Ditto. - * control/dlqr.m: Ditto. - * control/dlyap.m: Ditto. - * control/dmr2d.m: Ditto. - * control/fir2sys.m: Ditto. - * control/frdemo.m: Ditto. - * control/freqchkw.m: Ditto. - * control/freqresp.m: Ditto. - * control/gram.m: Ditto. - * control/h2norm.m: Ditto. - * control/h2syn.m: Ditto. - * control/hinf_ctr.m: Ditto. - * control/hinfdemo.m: Ditto. - * control/hinfnorm.m: Ditto. - * control/hinfsyn.m: Ditto. - * control/hinfsyn_chk.m: Ditto. - * control/impulse.m: Ditto. - * control/is_abcd.m: Ditto. - * control/is_controllable.m: Ditto. - * control/is_detectable.m: Ditto. - * control/is_dgkf.m: Ditto. - * control/is_digital.m: Ditto. - * control/is_observable.m: Ditto. - * control/is_sample.m: Ditto. - * control/is_signal_list.m: Ditto. - * control/is_siso.m: Ditto. - * control/is_stabilizable.m: Ditto. - * control/is_stable.m: Ditto. - * control/jet707.m: Ditto. - * control/lqe.m: Ditto. - * control/lqg.m: Ditto. - * control/lqr.m: Ditto. - * control/lsim.m: Ditto. - * control/ltifr.m: Ditto. - * control/lyap.m: Ditto. - * control/moddemo.m: Ditto. - * control/nyquist.m: Ditto. - * control/obsv.m: Ditto. - * control/ord2.m: Ditto. - * control/outlist.m: Ditto. - * control/pinv.m: Ditto. - * control/place.m: Ditto. - * control/polyout.m: Ditto. - * control/prompt.m: Ditto. - * control/pzmap.m: Ditto. - * control/qzval.m: Ditto. - * control/rldemo.m: Ditto. - * control/rlocus.m: Ditto. - * control/sortcom.m: Ditto. - * control/ss2sys.m: Ditto. - * control/ss2tf.m: Ditto. - * control/ss2zp.m: Ditto. - * control/starp.m: Ditto. - * control/step.m: Ditto. - * control/stepimp.m: Ditto. - * control/susball.m: Ditto. - * control/sys2fir.m: Ditto. - * control/sys2ss.m: Ditto. - * control/sys2tf.m: Ditto. - * control/sys2zp.m: Ditto. - * control/sysadd.m: Ditto. - * control/sysappend.m: Ditto. - * control/syschnames.m: Ditto. - * control/syschnamesl.m: Ditto. - * control/syschtsam.m: Ditto. - * control/sysconnect.m: Ditto. - * control/syscont.m: Ditto. - * control/syscont_disc.m: Ditto. - * control/sysdefioname.m: Ditto. - * control/sysdefstname.m: Ditto. - * control/sysdimensions.m: Ditto. - * control/sysdisc.m: Ditto. - * control/sysdup.m: Ditto. - * control/sysgetsignals.m: Ditto. - * control/sysgettype.m: Ditto. - * control/sysgroup.m: Ditto. - * control/sysgroupn.m: Ditto. - * control/sysmult.m: Ditto. - * control/sysout.m: Ditto. - * control/sysprune.m: Ditto. - * control/sysreorder.m: Ditto. - * control/sysrepdemo.m: Ditto. - * control/sysscale.m: Ditto. - * control/syssetsignals.m: Ditto. - * control/syssub.m: Ditto. - * control/sysupdate.m: Ditto. - * control/tf2ss.m: Ditto. - * control/tf2sys.m: Ditto. - * control/tf2sysl.m: Ditto. - * control/tf2zp.m: Ditto. - * control/tfout.m: Ditto. - * control/tzero.m: Ditto. - * control/tzero2.m: Ditto. - * control/ugain.m: Ditto. - * control/wgt1o.m: Ditto. - * control/zgfmul.m: Ditto. - * control/zgfslv.m: Ditto. - * control/zginit.m: Ditto. - * control/zgpbal.m: Ditto. - * control/zgreduce.m: Ditto. - * control/zgrownorm.m: Ditto. - * control/zgscal.m: Ditto. - * control/zgsgiv.m: Ditto. - * control/zgshsr.m: Ditto. - * control/zp2ss.m: Ditto. - * control/zp2ssg2.m: Ditto. - * control/zp2sys.m: Ditto. - * control/zp2tf.m: Ditto. - * control/zpout.m: Ditto. - -1999-11-02 Ben Sapp - - * audio/lin2mu.m: Texinfoize doc string. - * audio/loadaudio.m: Ditto. - * audio/mu2lin.m: Ditto. - * audio/playaudio.m: Ditto. - * audio/record.m: Ditto. - * audio/saveaudio.m: Ditto. - -1999-10-26 Ben Sapp - - * elfun/acot.m: Texinfoize doc string. - * elfun/acsc.m: Ditto. - * elfun/acsch.m: Ditto. - * elfun/asec.m: Ditto. - * elfun/asech.m: Ditto. - * elfun/cot.m: Ditto. - * elfun/coth.m: Ditto. - * elfun/csc.m: Ditto. - * elfun/csch.m: Ditto. - * elfun/gcd.m: Ditto. - * elfun/lcm.m: Ditto. - * elfun/sec.m: Ditto. - * elfun/sech.m: Ditto. - * general/nextpow2.m: Ditto. - * general/rem.m: Ditto. - * linear-algebra/commutation_matrix.m: Ditto. - * linear-algebra/cross.m: Ditto. - * linear-algebra/duplication_matrix.m: Ditto. - * miscellaneous/bincoeff.m: Ditto. - * miscellaneous/xor.m: Ditto. - * specfun/bessel.m: Ditto. - * specfun/beta.m: Ditto. - * specfun/betai.m: Ditto. - * specfun/erfinv.m: Ditto. - * specfun/gammai.m: Ditto. - * specfun/log2.m: Ditto. - * specfun/pow2.m: Ditto. - -1999-10-23 Ben Sapp - - * general/is_scalar.m: Texinfoize help text. - * general/is_square.m: Ditto. - * general/is_symmetric.m: Ditto. - -1999-10-22 John W. Eaton - - * strings/split.m: If the string to be split is empty, just return - an empty string. - -1999-10-21 John W. Eaton - - * Makefile.in (ALL_M_FILES): New macro. - (DOCSTRINGS): No longer .PHONY; depend on $(ALL_M_FILES). - -1999-10-20 John W. Eaton - - * control/bode.m: Don't return anything if nargout == 0. - -1999-10-20 James B. Rawlings - - * control/bode.m: Don't do axis scaling for magnitude plots. - -1999-10-20 John W. Eaton - - * Makefile.in (DISTFILES): Add move-if-change, mkdoc, and - gethelp.cc to the list. - -1999-10-19 John W. Eaton - - * time/asctime.m: Texinfoize help text. - * time/clock.m: Ditto. - * time/date.m: Ditto. - * miscellaneous/cputime.m: Ditto. - * miscellaneous/etime.m: Ditto. - * miscellaneous/is_leap_year.m: Ditto. - * miscellaneous/popen2.m: Ditto. - * miscellaneous/version.m: Ditto. - * miscellaneous/tic.m: Ditto. - * miscellaneous/toc.m: Just refer to tic.m. - - * Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of - `cd dir; $(MAKE); cd ..'. - ($(SUBDIRS)): Likewise. - - * statistics/Makefile.in ($(SUBDIRS)): Likewise. - - * statistics/Makefile.in (bin-dist): Use `$(MAKE) -C dir' instead - of `cd dir; $(MAKE)'. - - * gethelp.cc, mkdoc: New files. - * Makefile.in: Use them to create DOCSTRINGS file from .m file - sources. - -1999-10-14 John W. Eaton - - * linear-algebra/kron.m: Fix typo in previous change - -1999-10-13 John W. Eaton - - * control/bode.m: Allow optional 5th arg to specify plot style. - -Wed Sep 22 22:12:03 1999 A. Scottedward Hodel - - * linear-algebra/krylov.m: Correctly handle case of V having full - rank when V has more columns than rows. - -Mon Sep 20 23:04:57 1999 John W. Eaton - - * general/linspace.m, linear-algebra/pinv.m: Delete. - - * statistics/tests/manova.m: Avoid problems if - whitespace_in_literal_matrix is set to "traditional". - * statistics/tests/t_test_regression.m: Likewise. - * statistics/tests/u_test.m: Likewise. - * statistics/tests/chisquare_test_homogeneity.m: Likewise. - * statistics/tests/anova.m: Likewise. - * statistics/tests/kruskal_wallis_test.m: Likewise. - * statistics/base/statistics.m: Likewise. - * image/saveimage.m: Likewise. - * signal/arch_fit.m: Likewise. - * signal/autoreg_matrix.m: Likewise. - * signal/triangle_lw.m: Likewise. - * strings/dec2hex.m: Likewise. - -Thu Sep 9 19:31:58 1999 John W. Eaton - - * image/saveimage.m: Initialize scale. - -Sun Sep 5 22:13:47 1999 John W. Eaton - - * general/reshape.m: Allow reshape (a, size (b)). - -Fri Sep 3 00:01:38 1999 John W. Eaton - - * specfun/erfinv.m: Improve stopping criterion. - Add iteration count as second return value. - -Mon Aug 30 12:07:00 1999 John W. Eaton - - * statistics/base/mean.m: Use .', not ' to reorient row vectors. - -Tue Aug 17 11:11:27 1999 John W. Eaton - - * miscellaneous/pack.m: New function. - -Mon Aug 16 07:46:57 1999 John W. Eaton - - * plot/figure.m: Always return figure number. With no args, - figure now creates a new figure window and returns its number. - Accept figure (property, value) syntax, but do nothing. - -Thu Aug 12 09:28:01 PDT 1999 Tom Poage - - * general/shift.m: Avoid printing temporary value for backward shift. - -Mon Aug 2 16:39:04 1999 John W. Eaton - - * plot/bar.m: Compute bar widths correctly when x-values are not - evenly spaced. - -Mon Jul 12 22:48:34 1999 John W. Eaton - - * linear-algebra/cond.m: Avoid returning NaN for matrices that - contain only zeros. - -Sun Jun 20 22:24:27 1999 Eduardo Gallestey - - * linear-algebra/kron.m: Create result matrix and insert blocks - instead of appending them. - -Sat Jun 19 01:52:18 1999 John W. Eaton - - * control/bodquist.m, control/buildssic.m, control/is_digital.m, - control/stepimp.m, control/sysmin.m, control/syssetsignals.m: - Update from A. S. Hodel. - -Fri Jun 18 12:19:22 1999 John W. Eaton - - * polynomial/polyfit.m: Correct previous change. - -Wed Apr 7 13:57:26 1999 John W. Eaton - - * linear-algebra/qrhouse.m, linear-algebra/krygetq.m: Delete. - -Wed Apr 7 13:22:43 1999 A. S. Hodel - - * control/is_controllable.m, control/zgscal.m: Accomodate new - version of krylov and krylovb. - - * control/outlist.m, control/sysout.m: Fix typos. - - * control/sysdimensions.m: Add option for total number of states. - - * linear-algebra/krylov.m: Improve robustness by row-pivoting. - * linear-algebra/krylovb.m: Just call krylov with appropriate - arguments. - -Tue Mar 30 00:43:09 1999 John W. Eaton - - * strings/index.m: Fail with meaningful error message if either - arg is a string array. - -Wed Mar 24 20:34:48 1999 John W. Eaton - - * linear-algebra/norm.m: Do the right thing for 1- and - infinity-norms of complex matrices. From Sven Khatri - . - -Tue Mar 16 13:36:36 1999 A. Scottedward Hodel" - - * linear-algebra/qrhouse.m: Handle default args correctly. - -Thu Mar 11 12:52:34 1999 John W. Eaton - - * strings/split.m: Avoid problems when splitting strings that have - \ in them. - -Thu Mar 11 12:36:13 1999 Massimo Lorenzin - - * image/colormap.m: Do better arg checking, handle string args - that name the colormap function to call (e.g., colormap ("ocean")). - -Mon Mar 8 22:23:24 1999 Rolf Fabian - - * polynomial/polyfit.m: Use .' transpose operator, not '. - * linear-algebra/dot.m: Likewise. - * linear-algebra/cross.m: Likewise. - * general/rot90.m: Likewise. - -Sat Mar 6 01:45:00 1999 A Scott Hodel - - * linear-algebra/qrhouse.m: Permute columns at each iteration so - that the leading column is not all zeros. - -Fri Mar 5 00:37:47 1999 John W. Eaton - - * general/shift.m: Fix potential problems with - whitespace_in_literal_matrix. - * signal/arch_rnd.m: Ditto. - * signal/autocov.m: Ditto. - * signal/diffpara.m: Ditto. - * signal/hurst.m: Ditto. - * signal/periodogram.m: Ditto. - * signal/spectral_adf.m: Ditto. - * signal/spectral_xdf.m: Ditto. - * signal/spencer.m: Ditto. - * signal/synthesis.m: Ditto. - * statistics/distributions/wiener_rnd.m: Ditto. - * statistics/models/logistic_regression_likelihood.m: Ditto. - * statistics/models/logistic_regression.m: Ditto. - * statistics/models/logistic_regression_derivatives.m: Ditto. - * statistics/tests/run_test.m: Ditto. - * statistics/tests/chisquare_test_independence.m: Ditto. - -Wed Mar 3 02:25:00 1999 Joao Cardoso - - * plot/__plr2__.m: Fix typo. - -Tue Jan 12 10:31:15 1999 John W. Eaton - - * plot/__pltopt1__.m: Accept "k" to mean black. - -Fri Dec 11 10:43:19 1998 A Scott Hodel - - * linear-algebra/krylov.m: Force empty_list_elements_ok for this - function. - -Thu Dec 10 11:07:00 1998 A Scott Hodel - - * control/ss2sys.m: Fix typo. - -Wed Dec 9 12:42:19 1998 John W. Eaton - - * plot/subplot.m, plot/oneplot.m: Don't call clearplot. - - * control: Update from A. S. Hodel for - signal names as lists of strings instead of string arrays. - -Fri Dec 4 16:08:42 1998 John W. Eaton - - * quaternion: New directory of functions from A. S. Hodel - . - * Makefile.in (SUBDIRS): Add it to the list. - * quaternion/Makefile.in: New file. - * configure.in (AC_OUTPUT): Add quaternion/Makefile. - -Tue Nov 24 21:41:31 1998 John W. Eaton - - * image/saveimage.m: Make it work again for black and white colormaps. - - * image/imagesc.m: Use rows (colormap), not length (colormap), - since there can be fewer rows than columns. Round values to - nearest position in colormap instead of truncating. Correct usage - message. - -Tue Nov 24 14:50:52 1998 A Scott Hodel - - * linear-algebra/krylov.m: New arg pflg. If nonzero, avoid using - zero rows of [A,v] as householder pivots; this avoids spurious - non-zero entries in returned orthogonal matrix U, but destroys the - Householder matrix structure of H. - -Fri Nov 20 12:46:46 1998 John W. Eaton - - * general/logical.m: Just copy input to output if argument is - already a logical object. - -Fri Nov 6 10:17:00 1998 John W. Eaton - - * New files from OCST, in control subdiretory: - - DEMOcontrol.m is_siso.m syschnames.m - abcddim.m is_stabilizable.m syschnamesl.m - abcddims.m is_stable.m syschtsam.m - analdemo.m jet707.m sysconnect.m - are.m lqe.m syscont.m - axis2dlim.m lqg.m syscont_disc.m - bddemo.m lqr.m sysdefioname.m - bode.m lsim.m sysdefstname.m - bode_bounds.m ltifr.m sysdimensions.m - bodquist.m lyap.m sysdisc.m - buildssic.m mb.m sysdup.m - c2d.m minfo.m sysgetsignals.m - com2str.m moddemo.m sysgettsam.m - controldemo.m nichols.m sysgettype.m - ctrb.m nyquist.m sysgroup.m - d2c.m obsv.m sysgroupn.m - damp.m ord2.m sysmult.m - dare.m outlist.m sysout.m - dcgain.m packedform.m sysprune.m - demomarsyas.m packsys.m sysreorder.m - dezero.m; parallel.m sysrepdemo.m - dgkfdemo.m place.m sysscale.m - dgram.m polyout.m syssub.m - dhinfdemo.m prompt.m sysupdate.m - dlqe.m pzmap.m tf2ss.m - dlqg.m qzval.m tf2sys.m - dlqr.m rldemo.m tf2sysl.m - dlyap.m rlocus.m tf2zp.m - dmr2d.m rotg.m tfout.m - fir2sys.m run_cmd.m; tzero.m - frdemo.m series.m tzero2.m - freqchkw.m sortcom.m ugain.m - freqresp.m ss2sys.m unpacksys.m - gram.m ss2tf.m wgt1o.m - h2norm.m ss2zp.m zgfmul.m - h2syn.m starp.m zgfslv.m - hinf_ctr.m step.m zginit.m - hinfdemo.m stepimp.m zgpbal.m - hinfnorm.m strappend.m; zgreduce.m - hinfsyn.m susball.m zgrownorm.m - hinfsyn_chk.m swap.m zgscal.m - impulse.m swapcols.m zgsgiv.m - is_abcd.m swaprows.m zgshsr.m - is_controllable.m sys2fir.m zp2ss.m - is_detectable.m sys2ss.m zp2ssg2.m - is_dgkf.m sys2tf.m zp2sys.m - is_digital.m sys2zp.m zp2tf.m - is_observable.m sysadd.m zpout.m - is_sample.m sysappend.m - -Thu Nov 5 13:28:40 1998 John W. Eaton - - * configure.in (AC_OUTPUT): Escape newlinew in macro call with \. - - * strings/deblank.m: Make it work for string arrays too. - -Wed Nov 4 21:51:13 1998 John W. Eaton - - * linear-algebra/housh.m: New file from the OCST. - * linear-algebra/krygetq.m: Ditto. - * linear-algebra/krylov.m: Ditto. - * linear-algebra/krylovb.m: Ditto. - * linear-algebra/qrhouse.m: Ditto. - * general/is_duplicate_entry.m: Ditto. - - * general/is_symmetric.m: Call is_square instead of doing that - check in line. - -Wed Oct 28 11:51:14 1998 John W. Eaton - - * general/is_square.m: - - * general/isempty.m, general/is_matrix.m: Delete. - - * general/is_symmetric: Delete special case for strings. Whether - the conversion is valid should depend on implicit_str_to_num_ok. - - * general/is_square.m: If arg is not a matrix, don't check size, - just return 0. - * general/is_symmetric: Likewise. - * general/is_vector.m: Likewise. - * general/is_scalar.m: Likewise. - - * general/length.m: Delete. - -Fri Oct 23 00:21:55 1998 John W. Eaton - - * configure.in: Add finance/Makefile, statistics/base/Makefile, - statistics/distributions/Makefile, statistics/models/Makefile, - and statistics/tests/Makefile to the list of files to create. - - * finance/Makefile.in, statistics/base/Makefile.in, - statistics/distributions/Makefile.in, statistics/models/Makefile.in, - statistics/tests/Makefile.in: New files. - * statistics/Makefile.in: Delete file lists. Now only handle - subdirectories. - * Makefile.in (SUBDIRS): Add finance. - - * Move the following files from statistics to statistics/base: - - corrcoef.m - kurtosis.m - mahalanobis.m - median.m - ols.m - skewness.m - std.m - - New files, from Kurt Hornik's octave-ci package: - - * finance (new directory): - - fv.m - fvl.m - irr.m - nper.m - npv.m - pmt.m - pv.m - pvl.m - rate.m - vol.m - - * linear-algebra/dmult.m - - * signal: - - arch_fit.m - arch_rnd.m - arch_test.m - arma_rnd.m - autocor.m - autocov.m - autoreg_matrix.m - bartlett.m - blackman.m - diffpara.m - durbinlevinson.m - fractdiff.m - hamming.m - hanning.m - hurst.m - periodogram.m - rectangle_lw.m - rectangle_sw.m - sinetone.m - sinewave.m - spectral_adf.m - spectral_xdf.m - spencer.m - stft.m - synthesis.m - triangle_lw.m - triangle_sw.m - yulewalker.m - - * statistics/base (new directory): - - center.m - cloglog.m - cor.m - cov.m - cut.m - iqr.m - kendall.m - logit.m - mean.m - meansq.m - moment.m - ppplot.m - probit.m - qqplot.m - range.m - ranks.m - run_count.m - spearman.m - statistics.m - studentize.m - table.m - values.m - var.m - - (Replaces cov.m and mean.m with new versions.) - - * statistics/distributions (new directory): - - beta_cdf.m - beta_inv.m - beta_pdf.m - beta_rnd.m - binomial_cdf.m - binomial_inv.m - binomial_pdf.m - binomial_rnd.m - cauchy_cdf.m - cauchy_inv.m - cauchy_pdf.m - cauchy_rnd.m - chisquare_cdf.m - chisquare_inv.m - chisquare_pdf.m - chisquare_rnd.m - discrete_cdf.m - discrete_inv.m - discrete_pdf.m - discrete_rnd.m - empirical_cdf.m - empirical_inv.m - empirical_pdf.m - empirical_rnd.m - exponential_cdf.m - exponential_inv.m - exponential_pdf.m - exponential_rnd.m - f_cdf.m - f_inv.m - f_pdf.m - f_rnd.m - gamma_cdf.m - gamma_inv.m - gamma_pdf.m - gamma_rnd.m - geometric_cdf.m - geometric_inv.m - geometric_pdf.m - geometric_rnd.m - hypergeometric_cdf.m - hypergeometric_inv.m - hypergeometric_pdf.m - hypergeometric_rnd.m - kolmogorov_smirnov_cdf.m - laplace_cdf.m - laplace_inv.m - laplace_pdf.m - laplace_rnd.m - logistic_cdf.m - logistic_inv.m - logistic_pdf.m - logistic_rnd.m - lognormal_cdf.m - lognormal_inv.m - lognormal_pdf.m - lognormal_rnd.m - normal_cdf.m - normal_inv.m - normal_pdf.m - normal_rnd.m - pascal_cdf.m - pascal_inv.m - pascal_pdf.m - pascal_rnd.m - poisson_cdf.m - poisson_inv.m - poisson_pdf.m - poisson_rnd.m - stdnormal_cdf.m - stdnormal_inv.m - stdnormal_pdf.m - stdnormal_rnd.m - t_cdf.m - t_inv.m - t_pdf.m - t_rnd.m - uniform_cdf.m - uniform_inv.m - uniform_pdf.m - uniform_rnd.m - weibull_cdf.m - weibull_inv.m - weibull_pdf.m - weibull_rnd.m - wiener_rnd.m - - * statistics/models (new directory): - - logistic_regression.m - logistic_regression_derivatives.m - logistic_regression_likelihood.m - - * statistics/tests (new directory): - - anova.m - bartlett_test.m - chisquare_test_homogeneity.m - chisquare_test_independence.m - cor_test.m - f_test_regression.m - hotelling_test.m - hotelling_test_2.m - kolmogorov_smirnov_test.m - kolmogorov_smirnov_test_2.m - kruskal_wallis_test.m - manova.m - mcnemar_test.m - prop_test_2.m - run_test.m - sign_test.m - t_test.m - t_test_2.m - t_test_regression.m - u_test.m - var_test.m - welch_test.m - wilcoxon_test.m - z_test.m - z_test_2.m - -Thu Oct 22 12:25:55 1998 John W. Eaton - - * time/date.m: Use %Y, not %y in format string, for Matlab 5 - compatibility and to avoid Y2K problems. - -Mon Oct 19 17:26:35 1998 John W. Eaton - - * polynomial/polyfit.m: Just use the \ operator to handle the - least-squares solution. - -Thu Sep 3 12:40:47 1998 John W. Eaton - - * strings/str2num.m: If eval returns a string, return an empty matrix. - - * strings/strrep.m: Don't convert args to numeric values. - Prevent warnings for empty string args. - From Georg Thimm . - - * strings/strcat.m: Prevent warnings for empty string args. - -Wed Sep 2 17:20:24 1998 John W. Eaton - - * miscellaneous/menu.m: Remove special case for empty string - returned from input(). Add second arg to eval() to catch errors. - -Thu Jun 18 16:32:15 1998 John W. Eaton - - * plot/__plt__.m: Don't call usleep. - -Mon May 18 11:42:36 1998 John W. Eaton - - * linear-algebra/dot.m: New function. - - * strings/lower.m, strings/upper.m: New functions, for Matlab - compatibility. - -Fri May 15 01:16:53 1998 John W. Eaton - - * plot/hist.m: Also allow just one output argument. - -Sun May 10 23:00:45 1998 John W. Eaton - - * strings/deblank.m: Make it work if the string is only blanks. - -Tue May 5 00:53:36 1998 John W. Eaton - - * plot/__plt2mv__.m: Delete calls to keyboard. - -Mon May 4 11:43:31 1998 John W. Eaton - - * plot/oneplot.m: Fix typo. - -Wed Apr 22 12:11:27 1998 John W. Eaton - - * miscellaneous/flops.m: Allow a single argument too. - -Tue Apr 21 10:18:20 1998 John W. Eaton - - * strings/str2mat.m: Also handle case when there are no empty - strings correctly. - -Mon Apr 20 22:14:15 1998 John W. Eaton - - * strings/isletter.m: New function, for Matlab compatibility. - -Fri Apr 17 10:53:39 1998 John W. Eaton - - * strings/str2mat.m: Handle string matrices too. - -Wed Apr 15 11:16:01 1998 John W. Eaton - - * audio/loadaudio.m: Accept "pcm" as another file extension for - linear encoding. - - * audio/saveaudio.m, audio/loadaudio.m, audio/playaudio.m, - audio/record.m: Open files in binary mode. - -Fri Apr 10 10:46:21 1998 John W. Eaton - - * miscellaneous/dump_prefs.m: Use string array for list of values. - Move functionality of dump_1_pref here, but use built-in function - type to extract value, and put it inside try/catch block. - * miscellaneous/dump_1_pref.m: Delete unused function. - -Wed Apr 8 13:17:58 1998 John W. Eaton - - * plot/__pltopt1.m__: New file. - * plot/__pltopt.m__: Handle opt as a string array by calling - __pltopt1__ multiple times and returning a string array with rows - corresponding to the rows of opt. - * plot/__plt2ss__.m, plot/__plt2vv__.m, plot/__plt2vm__.m, - plot/__plt2mv__.m, plot/__plt2mm__.m: Handle fmt as a string - array. - -Fri Mar 27 03:00:40 1998 John W. Eaton - - * plot/mplot.m: Fix misspellings of global variables. - Don't call clearplot. - -Tue Mar 17 17:45:25 1998 John W. Eaton - - * plot/subplot.m, plot/multiplot.m: Set gnuplot_command_replot to - "cle;rep" when going in ot multiplot mode. - * plot/oneplot.m: Reset gnuplot_command_replot to "rep" when - switching out of multiplot mode. - -Fri Feb 20 01:31:32 1998 John W. Eaton - - * plot/mplot.m, plot/subplot.m, plot/oneplot.m, plot/multiplot.m, - plot/subwindow.m: Call clearplot after setting up multiplot mode. - -Tue Feb 3 00:18:40 1998 John W. Eaton - - * special-matrix/sylvester_matrix.m: Rename from hadamard.m - - * miscellaneous/bug_report.m: Don't try to get smart with - OCTAVE_HOME. Assume octave-bug can be found in EXEC_PATH. - - * Makefile.in (install): Create separate ls-R files for - $(datadir) and $(libexecdir). - (uninstall): Remove both ls-R files. - -Sat Jan 31 01:09:32 1998 John W. Eaton - - * signal/fftshift.m: New file. - - * plot/contour.m: Fix for non-square case. - - * general/randperm.m: New file. - -Fri Jan 30 15:20:39 1998 John W. Eaton - - * specfun/betai.m: Restore file for compatibility with previous - versions. Call betainc with reordered args. - * specfun/gammai.m: Likewise, call gammainc with reordered args. - -Wed Jan 28 22:44:59 1998 John W. Eaton - - * plot/contour.m: Handle discrete contour levels. - -Tue Jan 27 04:31:22 1998 John W. Eaton - - * control/lyap.m: For compatibility with Matlab, solve - A*X + X*A' + C = 0 instead of A'*X + X*A + C = 0. - -Wed Dec 10 00:14:29 1997 John W. Eaton - - * specfun/bessel.m: New file. - - * specfun/betai.m, specfun/betainc.m, specfun/gammai.m, - specfun/gammainc.m: Delete. - -Wed Nov 19 00:19:18 1997 John W. Eaton - - * image/colormap.m: Initialize __current_color_map__ in global - statement. - * miscellaneous/toc.m: Initialize __tic_toc_timestamp__ in global - statement. - * plot/axis.m: Initialize __current_axis__ in global statement. - * plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/subplot.m, - plot/subwindow.m: Initialize __multiplot_mode__ in global statement. - -Tue Nov 18 01:35:50 1997 John W. Eaton - - * time/tic.m: Rename _time_tic_called to __tic_toc_timestamp__. - * time/toc.m: Likewise. - - * image/colormap.m: Rename CURRENT_COLOR_MAP to __current_color_map__. - - * plot/mplot.m, plot/multiplot.m, plot/subplot.m: Don't do - anything special for automatic_replot when in multiplot mode -- - recent 3.6beta releases handle this correctly. - - * plot/figure.m: Ensure that we are not in multiplot mode before - setting the terminal type. - - * plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/subplot.m, - plot/subwindow.m: Use leading and trailing underscores for - `private' globals. - - * plot/oneplot.m: Don't do anything if gnuplot_has_multiplot is false. - -Fri Nov 14 10:53:11 1997 John W. Eaton - - * plot/__pltopt__.m: Use sprintf instead of strcat when adding TITLE. - -Fri Oct 10 11:18:10 1997 John W. Eaton - - * specfun/gammai.m: Avoid problems with whitespace when - constructing matrices. - - * polynomial/polyfit.m: Compute yf correctly. From Seung Lee - . Also return yf in the same orientation as the - original y vector. - -Fri Sep 19 17:04:40 1997 John W. Eaton - - * linear-algebra/cross.m: Use direct formula instead of calling - det three times in a loop. If both args are column (row) vectors, - return a column (row) vector. If they don't match, pay attention - to the value of prefer_column_vectors. - -Thu Aug 28 15:31:20 1997 Rolf Fabian - - * polynomial/polyvalm.m: Don't assume orthogonal eigenvectors for - nonsymmetric matrices. - - * general/tril.m: Fix usage message. - - * polynomial/polyvalm.m: Fix error messages. - * polynomial/polyderiv.m: Likewise. - * polynomial/polyval.m: Likewise. - -Wed Aug 13 14:14:16 1997 John W. Eaton - - * strings/blanks.m: Allow blanks(0) to return empty string. - Allow negative arguments if treat_neg_dim_as_zero is true. - -Wed Jun 25 21:26:24 1997 John W. Eaton - - * plot/mesh.m: Set noparametric plot mode after plotting. - -Wed Jun 25 21:06:10 1997 Rick Niles - - * plot/__pltopt__.m: Handle key/legend names. - Correctly set colors, line styles, and point styles. - -Wed Jun 25 13:34:06 1997 John W. Eaton - - * polynomial/polyfit.m: Return fit y values as second output. - Don't use QR factorization to solve least squares problem. - -Wed Jun 18 10:24:00 1997 John W. Eaton - - * control/dlqr.m: Use ao, not a, to compute k. - -Tue Jun 3 12:16:00 1997 John W. Eaton - - * miscellaneous/path.m: New file. - -Wed May 21 11:45:31 1997 John W. Eaton - - * miscellaneous/bug_report.m: Pass file id to dump_prefs, not file - name. - -Mon May 12 02:04:01 1997 John W. Eaton - - * specfun/erfinv.m: Add missing semicolon. - -Wed Apr 2 22:04:03 1997 John W. Eaton - - * miscellaneous/xor.m: Make type of return value logical. - -Fri Mar 28 16:19:53 1997 John W. Eaton - - * miscellaneous/dump_prefs.m: Delete call to dump_1_pref for - warn_comma_in_global_decl. - -Tue Mar 25 22:00:49 1997 John W. Eaton - - * miscellaneous/bug_report.m: Use __OCTAVE_HOME__ to find - octave-bug script. - -Mon Mar 24 16:49:47 1997 John W. Eaton - - * miscellaneous/dump_prefs.m: Delete call to dump_1_pref for - prefer_zero_one_indexing. - - * general/logical.m: New file. - -Sat Mar 15 15:07:30 1997 John W. Eaton - - * general/nextpow2.m: Correctly handle new meaning of is_scalar() - and is_vector(). - -Thu Mar 13 16:36:35 1997 Kurt Hornik - - * specfun/erfinv.m: Scale update by sqrt (pi) / 2. - Use tolerance of 2 * eps. - -Wed Mar 12 16:57:45 1997 John W. Eaton - - * Makefile.in (install-strip): New target. - * audio/Makefile.in: Ditto. - * control/Makefile.in: Ditto. - * elfun/Makefile.in: Ditto. - * general/Makefile.in: Ditto. - * image/Makefile.in: Ditto. - * io/Makefile.in: Ditto. - * linear-algebra/Makefile.in: Ditto. - * miscellaneous/Makefile.in: Ditto. - * plot/Makefile.in: Ditto. - * polynomial/Makefile.in: Ditto. - * set/Makefile.in: Ditto. - * signal/Makefile.in: Ditto. - * specfun/Makefile.in: Ditto. - * special-matrix/Makefile.in: Ditto. - * startup/Makefile.in: Ditto. - * statistics/Makefile.in: Ditto. - * strings/Makefile.in: Ditto. - -Tue Mar 11 10:14:26 1997 John W. Eaton - - * elfun/coth.m: Write as cosh(x) ./ sinh(x) instead of 1 ./ tanh(x). - -Fri Mar 7 23:06:48 1997 John W. Eaton - - * statistics/corrcoef.m: Make it actually work. - -Thu Mar 6 12:36:30 1997 John W. Eaton - - * statistics/corrcoef.m: Don't fail if single argument is a matrix. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Wed Feb 26 01:48:28 1997 John W. Eaton - - * Makefile.in (maintainer-clean): Also remove configure. - - * signal/fftconv.m: Check inputs with is_vector(), not is_matrix(). - - * general/is_matrix.m: Return zero for empty matrices. - -Tue Feb 25 15:16:04 1997 John W. Eaton - - * linear-algebra/vech.m: Size result just once. - -Sun Feb 23 00:15:57 1997 John W. Eaton - - * general/is_square.m: Handle empty matrices correctly. - * general/is_symmetric.m: Handle empty matrices and strings. - -Sat Feb 22 01:06:22 1997 John W. Eaton - - * polynomial/conv.m: Check inputs with is_vector(), not is_matrix(). - * polynomial/deconv.m: Likewise. - * polynomial/polyderiv.m: Likewise. - * polynomial/polyinteg.m: Likewise. - * polynomial/polyreduce.m: Likewise. - * polynomial/polyval.m: Likewise. - * polynomial/polyvalm.m: Likewise. - * general/postpad.m: Likewise. - * general/prepad.m: Likewise. - - * polynomial/compan.m: Check input with is_vector(), not - is_matrix(). Handle scalar case. - -Fri Feb 21 13:36:58 1997 John W. Eaton - - * plot/contour.m: Order data so that it is consistent with - meshgrid and mesh. - - * plot/meshdom.m, plot/meshgrid.m: Change help message. - * plot/sombrero.m: Use meshgrid, not meshdom. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Wed Feb 19 10:30:14 1997 John W. Eaton - - * miscellaneous/paren.m: New file. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Version 2.0.3 released. - -Thu Feb 13 19:06:42 1997 John W. Eaton - - * image/saveimage.m: Only clip image data that is actually out of - range. - -Sun Feb 9 19:52:08 1997 John W. Eaton - - * general/is_matrix.m: Scalars, vectors, and empty matrices may - also be considered to be matrices. - - * general/is_vector.m: Scalars may also be considered to be vectors. - - * general/isempty.m: Use size(), not rows() and columns(). - - * plot/contour.m: Convert set to gset. - Set view to 0, 0, 1, 1, not 0, 0, 1.9, 1. - -Fri Feb 7 12:55:55 1997 John W. Eaton - - * specfun/erfinv.m: Fix typo in last change. - -Fri Jan 31 09:30:16 1997 John W. Eaton - - * image/loadimage.m: Make it possible to load files with image - data named X or img. - - * image/default.img: Change name of image from X to img to match - what saveimage does now. - - * image/loadimage.m: Rename X to be img, to match what saveimage - does now. - -Mon Jan 27 13:48:31 1997 John W. Eaton - - * Version 2.0.2 released. - - * plot/__plt__.m: Use usleep() instead of replot to try to avoid - weird missing-lines bug without creating extra plots unecessarily. - -Sat Jan 25 22:37:07 1997 John W. Eaton - - * Makefile.in, audio/Makefile.in, control/Makefile.in, - elfun/Makefile.in, general/Makefile.in, image/Makefile.in, - io/Makefile.in, linear-algebra/Makefile.in, - miscellaneous/Makefile.in, plot/Makefile.in, - polynomial/Makefile.in, set/Makefile.in, signal/Makefile.in, - specfun/Makefile.in, special-matrix/Makefile.in, - startup/Makefile.in, statistics/Makefile.in, strings/Makefile.in, - time/Makefile.in (bin-dist): New target. - -Wed Jan 22 11:28:30 1997 John W. Eaton - - * specfun/erfinv.m: Avoid A([]) = X, X != [] error. - -Tue Jan 21 11:16:40 1997 John W. Eaton - - * miscellaneous/xor.m: Make it work. - -Mon Jan 20 12:28:34 1997 John W. Eaton - - * plot/sombrero.m: Doc fix. - -Tue Jan 7 00:16:52 1997 John W. Eaton - - * Version 2.0.1 released. - -Thu Dec 19 22:16:46 1996 John W. Eaton - - * elfun/lcm.m: Replace missing if statement. - - * elfun/gcd.m: Report error if no input args. - * elfun/lcm.m: Likewise. - -Mon Dec 16 15:23:04 1996 John W. Eaton - - * Makefile.in (install): Use ls -LR to create ls-R database. - Also list contents of $libexecdir/octave in ls-R database. - -Tue Dec 10 01:43:07 1996 John W. Eaton - - * Version 2.0 released. - -Fri Dec 6 15:23:46 1996 John W. Eaton - - * Version 1.94. - -Sun Dec 1 20:55:34 1996 John W. Eaton - - * strings/str2num.m: New file. - -Wed Nov 20 01:00:24 1996 John W. Eaton - - * Version 1.93. - -Tue Nov 19 15:13:35 1996 John W. Eaton - - * linear-algebra/commutation_matrix.m, linear-algebra/cross.m, - linear-algebra/duplication_matrix.m, linear-algebra/vec.m, - linear-algebra/vech.m: New files from Kurt Hornik. - - * general/nextpow2.m, general/shift.m, general/diff.m, - general/common_size.m: New files from Kurt Hornik. - - * miscellaneous/bincoeff.m, miscellaneous/xor.m: - New files from Kurt Hornik. - - * signal/detrend.m: New file from Kurt Hornik. - - * specfun/betai.m, specfun/gammai.m, specfun/erfinv.m, - specfun/pow2.m, specfun/log2.m: - New files and updates from Kurt Hornik. - -Fri Nov 15 18:13:00 1996 John W. Eaton - - * plot/__plt__.m: Add explicit replot after last command is - issued, to force all lines to be displayed. Hmm. - -Thu Nov 14 00:06:34 1996 John W. Eaton - - * plot/axis.m, plot/bottom_title.m, plot/contour.m, - plot/figure.m, plot/grid.m, plot/loglog.m, plot/mesh.m, - plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/plot.m, - plot/plot_border.m, plot/polar.m, plot/semilogx.m, - plot/semilogy.m, plot/subplot.m, plot/subwindow.m, plot/title.m, - plot/top_title.m, plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: - Uset gset, not set. - - * Version 1.92. - -Thu Nov 7 12:43:12 1996 John W. Eaton - - * image/saveimage.m: When writing PostScript, name Octave as the - almighty Creator. Use single call to fprintf instead of looping. - - * image/Makefile.in: Delete references to octtopnm. - - * general/logspace.m: Doc fix. - - * Version 1.91. - -Sat Nov 2 21:06:29 1996 John W. Eaton - - * image/image.m: Use tmpnam() instead of home-brew scheme. - - * audio/record.m, audio/playaudio.m: Use tmpnam() instead of - octave_tmp_file_name(). Use unwind_protect to ensure tmp file is - deleted. - * miscellaneous/bug_report.m: Likewise. Also use unlink() instead - of a system() command to delete the tmp file. - -Wed Oct 30 17:19:45 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - -Thu Oct 10 17:31:01 1996 John W. Eaton - - * plot/subplot.m, plot/multiplot.m, plot/mplot.m: - Don't check for string value of automatic_replot. - - * image/ind2ind.m, image/ind2rgb.m, image/ind2gray.m: - Temporarily set do_fortran_indexing to 1, not "true". - - * miscellaneous/menu.m: Temporarily set page_screen_output to 0, - not "false". - - * linear-algebra/cond.m: Don't compare propagate_empty_matrices to - "false". - -Tue Aug 20 18:27:36 1996 Kurt Hornik - - * strings/substr.m: Allow negative OFFSET. LEN is now optional. - -Mon Jul 15 16:15:22 1996 John W. Eaton - - * miscellaneous/bug_report.m: Don't redirect output to /dev/tty in - system command. - -Fri Jul 12 12:24:29 1996 John W. Eaton - - * __plr1__.m: Renamed from polar_int_1.m. - * __plr2__.m: Renamed from polar_int_2.m. - * __plr__.m: Renamed from polar_int.m. - * __plt1__.m: Renamed from plot_int_1.m. - * __plt2__.m: Renamed from plot_int_2.m. - * __plt2mm__.m: Renamed from plot_2_m_m_.m. - * __plt2mv__.m: Renamed from plot_2_m_v_.m. - * __plt2ss__.m: Renamed from plot_2_s_s_.m. - * __plt2vm__.m: Renamed from plot_2_v_m_.m. - * __plt2vv__.m: Renamed from plot_2_v_v_.m. - * __plt__.m: Renamed from plot_int.m. - * __pltopt__.m: Renamed from plot_opt.m. - Change all callers. - -Thu Jul 11 17:24:29 1996 John W. Eaton - - * All .m files: Add regular Author:, Created:, and Adapted-By: - comments like those found in Emacs lisp files. - -Mon Jun 24 04:16:41 1996 John W. Eaton - - * All .m files: Change comment style. - -Fri Jun 14 01:42:21 1996 John W. Eaton - - * bottom_title.m, mplot.m, multiplot.m, oneplot.m, plot_border.m, - subplot.m, subwindow.m, top_title.m: - Print error message if gnuplot_has_multiplot is not true. - -Thu Jun 6 00:18:54 1996 John W. Eaton - - * plot/figure.m: New function. - -Wed Jun 5 18:19:00 1996 John W. Eaton - - * strings/strrep.m: New function. - -Thu May 23 15:04:22 1996 John W. Eaton - - * strings/bin2dec.m, strings/blanks.m, strings/deblank.m, - strings/dec2bin.m, strings/dec2hex.m, strings/findstr.m, - strings/hex2dec.m, strings/index.m, strings/rindex.m, - strings/split.m, strings/str2mat.m, strings/substr.m: - New functions from Kurt Hornik, heavily modified by jwe. - - * general/reshape.m: Allow strings to be reshaped too. - - * strings/strcmp.m: No longer need to set implicit_str_to_num_ok. - Always return a scalar. - -Wed May 22 19:52:11 1996 John W. Eaton - - * polynomial/polyfit.m: Make orientation of result compatible with - Matlab. - -Sat May 18 17:32:15 1996 John W. Eaton - - * polynomial/polyfit.m: Add missing close paren. - -Thu May 16 10:23:11 1996 John W. Eaton - - * plot/plot_opt.m: Set compatibility arg in call to sscanf. - - * io/scanf.m: Delete. - -Mon May 13 09:37:38 1996 John W. Eaton - - * statistics/median.m: Fix typo in usage message. - -Wed Apr 24 02:45:52 1996 John W. Eaton - - * miscellaneous/popen2.m: New file. - -Wed Apr 17 18:34:04 1996 John W. Eaton - - * configure.in (AC_OUTPUT): Add io/Makefile. - - * io: New directory. - * Makefile.in (SUBDIRS): Add it to the list. - - * miscellaneous/flops.m: New file. - -Fri Mar 22 04:40:48 1996 John W. Eaton - - * miscellaneous/cputime.m: Return three arguments instead of a - vector, for compatibility with previous versions and with Matlab - (which only returns one scalar value). - -Wed Mar 20 05:09:48 1996 Kurt Hornik - - * general/triu.m: Compute lower bound on loop index correctly. - * general/tril.m: Likewise, for upper bound. - -Tue Feb 6 09:29:43 1996 John W. Eaton - - * image/saveimage.m: For color images, make sure indices into - temporary colormap and result matrix have proper orientation. - Set grey flag correctly. - -Tue Jan 9 00:12:14 1996 John W. Eaton - - * statistics/std.m: Use better formula (from Jim Van Zandt - jrv@vanzandt.mv.com). - -Sun Jan 7 20:12:14 1996 John W. Eaton - - * meshgrid.m: New file (from Jim Van Zandt jrv@vanzandt.mv.com). - * mesh.m: Transpose Z if only one arg. - Handle case of all three args being matrices (from Jim Van Zandt - jrv@vanzandt.mv.com). - * meshdom.m: Undo previous change. - -Wed Dec 20 13:48:12 1995 John W. Eaton - - * configure.in (AC_OUTPUT): Add audio/Makefile - -Thu Nov 16 13:07:07 1995 John Eaton - - * audio: New directory of files from Kurt Hornik and Andreas - Weingessel. - * audio/Makefile.in: New file. - * Makefile.in (SUBDIRS): Add audio to the list. - -Mon Nov 6 07:29:35 1995 John Eaton - - * polynomial/polyfit.m: Use `economy-stle' QR factorization. - -Fri Nov 3 00:38:46 1995 John Eaton - - * plot/mesh.m: Require, length (y) == rows (z) and length (x) == - columns (z), not the other way around. - * plot/meshdom.m: Don't reverse order of elements in y. - -Thu Nov 2 23:56:53 1995 John Eaton - - * plot/axis.m: Return current axis if nargin == 0. - -Tue Oct 31 04:11:28 1995 John Eaton - - * polynomial/roots.m: Updates from Kurt Hornik. - - * polynomial/polyder.m: New file. - - * polynomial/polyderiv.m: Give return value and arg different names. - -Mon Oct 30 23:27:02 1995 John Eaton - - * specfun/betainc.m: New file. - * specfun/gammainc.m: New file. - -Wed Oct 18 23:45:52 1995 John Eaton - - * general/strerror.m: New file. - * general/perror.m: Implement using strerror(). - -Thu Oct 5 03:21:36 1995 John Eaton - - * plot/bottom_title.m plot/mplot.m plot/multiplot.m plot/oneplot.m - plot/plot_border.m plot/subplot.m plot/subwindow.m - plot/top_title.m plot/zlabel.m: New files, from Vinayak Dutt. - - * image/saveimage.m: Round img values first. - -Tue Oct 3 03:55:18 1995 John Eaton - - * control/abcddim.m control/are.m general/tril.m general/triu.m - image/saveimage.m linear-algebra/kron.m linear-algebra/norm.m - linear-algebra/null.m miscellaneous/etime.m plot/contour.m - plot/mesh.m plot/plot_int.m plot/polar_int.m - special-matrix/hankel.m special-matrix/toeplitz.m - tuwien/strfun/split.m: Add missing semicolons. - - * plot/polar_int.m: Use .', not ' to make vectors conform. - - * image/Makefile.in: Don't build or install octtoppm. - - * image/saveimage.m: Rewrite to avoid using octoppm and pbm - routines so that people who don't have the pbm stuff installed - can still use this function. - -Mon Oct 2 05:10:44 1995 John Eaton - - * image/saveimage.m: Better error checking, clean up a bit. - -Tue Sep 26 00:04:56 1995 John Eaton - - * plot/plot_opt.m: Change more to more_opts as a temporary fix to - avoid conflict with new built-in text-style function more. - - * linear-algebra/norm.m: Also allow 2nd arg == "inf". - - * startup/Makefile.in (install): Also install octaverc in - $localfcnfiledir/startup/octavrc. - -Wed Sep 20 00:01:30 1995 John Eaton - - * mkinstalldirs: New file. - * Makefile.in (DISTFILES): Add it to the list. - - * Makefile.in (DISTFILES): Distribute configure.in and configure. - -Thu Sep 14 03:56:19 1995 John Eaton - - * special-matrix/hankel.m: Compatibility fix. Complain if - r(1) != c(nr), not if r(1) != c(1). - - * signal/filter.m: Doc fix. - -Wed Sep 13 03:19:05 1995 John Eaton - - * miscellaneous/cputime.m: Use new resource structure names (no - ru_ or tv_ prefixes). - -Tue Sep 12 02:20:44 1995 John Eaton - - * time/ctime.m: Fix doc string and usage message. - -Mon Sep 11 18:43:46 1995 John Eaton - - * time/clock.m: Use new time structure names (no tm_ prefix). - -Thu Aug 24 20:53:08 1995 John Eaton - - * control/c2d.m: Make function work for any value of - whitespace_in_literal_matrix. - * control/dare.m: Likewise. - * control/tzero.m: Likewise. - * elfun/gcd.m: Likewise. - * elfun/lcm.m: Likewise. - * general/postpad.m: Likewise. - * general/prepad.m: Likewise. - * linear-algebra/kron.m: Likewise. - * miscellaneous/etime.m: Likewise. - * polynomial/conv.m: Likewise. - * polynomial/deconv.m: Likewise. - * polynomial/poly.m: Likewise. - * polynomial/roots.m: Likewise. - * signal/filter.m: Likewise. - * signal/freqz.m: Likewise. - * signal/fftfilt.m: Likewise. - -Tue Jun 6 22:34:04 1995 John Eaton - - * miscellaneous/is_leap_year.m: Make work for vector args. - -Tue May 2 16:18:33 1995 John Eaton - - * plot/polar_int_2.m: Add missing semicolons. - Set theta = theta', not rho'. - -Sun Apr 30 11:19:11 1995 John Eaton - - * polynomial/roots.m: Make it work for any value of - whitespace_in_literal_matrix. - -Mon Apr 10 09:37:17 1995 John Eaton - - * configure.in: New file. - -Thu Mar 30 13:29:35 1995 John Eaton - - * control/lyap.m: Add missing semicolon. - - * miscellaneous/cputime.m: New function file. - -Wed Mar 29 22:50:49 1995 John Eaton - - * time: New directory. - * time/asctime.m, time/clock.m, time/ctime.m, time/date.m: - New function files. - * time/Makefile.in: New file. - * Makefile.in (SUBDIRS): Add time. - -Thu Mar 23 15:42:26 1995 John Eaton - - * polynomial/polyreduce.m: Make sure initial index is not empty. - -Tue Mar 14 23:38:24 1995 John Eaton - - * plot/plot_int_1.m: Transpose data with .', not '. - -Fri Mar 10 10:40:13 1995 John Eaton - - * Makefile.in (install uninstall clean mostlyclean distclean - realclean): Use SUBDIR_FOR_COMMAND. Combine actions. - -Sun Feb 26 22:18:22 1995 John Eaton - - * Makefile.in (install): Create ls-R database file. - (uninstall): Delete it. - -Fri Feb 24 10:36:01 1995 John Eaton - - * image/saveimage.m: Fix typo. - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/src-ChangeLog --- a/OLD-ChangeLogs/src-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38717 +0,0 @@ -2011-04-13 Rik - - * help.cc: Add spaces after commas in @seealso blocks. - -2011-04-12 Rik - - * load-path.cc (restoredefaultpath): Correct use of it's -> its in - documentation. - -2011-04-10 John Eaton - - * graphics.cc (Fishandle) Accept vector of handles (bug #33025). - -2011-04-08 Rik - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/eig.cc, - DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/schur.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, data.cc: Improve - docstrings. - -2011-04-06 Rik - - * DLD-FUNCTIONS/dmperm.cc, data.cc: Clean up operator and function - indices. - -2011-04-04 Rik - - * DLD-FUNCTIONS/nproc.cc: Spellcheck documentation for 3.4.1 release. - -2011-04-04 Rik - - * DLD-FUNCTIONS/colamd.cc, data.cc, file-io.cc: Grammarcheck files - for 3.4.1 release. - -2011-04-03 Rik - - * input.cc (add_input_event_hook, remove_input_event_hook): Improve - docstring. - * utils.cc (isvarname): Add seealso link to iskeyword(). - * variables.cc (missing_function_hook): Improve docstring. - -2011-04-03 Rik - - * DLD-FUNCTIONS/dot.cc (blkmm): Improve docstring. - -2011-04-03 Rik - - * data.cc (diag): Add documentation for 3-input form of diag. Add new - tests. - -2011-04-03 Rik - - * data.cc (diag): Reverse previous changeset. Return 3-input form - of diag(). - -2011-04-01 Rik - - * data.cc (diag): Remove archaic 3-input argument form of function. - Add all calling forms of function to docstring. - -2011-04-01 Rik - - * DLD-FUNCTIONS/filter.cc: Fix orientation of initial conditions vector - (bug #32741). Revamp test vectors. - -2011-04-01 Rik - - * DLD-FUNCTIONS/__fltk_uigetfile__.cc, DLD-FUNCTIONS/__init_fltk__.cc: - Correct typo in #include path (bug #32972). - -2011-03-31 Rik - - * DLD-FUNCTIONS/onCleanup.cc: Remove non-existent @seealso link in - docstring. - -2011-03-31 Rik - - * DLD-FUNCTIONS/quadcc.cc: Add reference to original paper in docstring. - -2011-03-30 Jordi Gutiérrez Hermoso - - * file-io.cc: Document the "all" parameter to fclose. - -2011-03-29 Ben Abbott - - * graphics.cc: Prevent ticks from being cropped by round-off errors - when limmode == auto (bug #32701). - -2011-03-28 Rik - - * DLD-FUNCTIONS/inv.cc (inv, inverse), DLD-FUNCTIONS/tril.cc (tril), - data.cc (cumsum, szie), file-io.cc (fgets), ov-typeinfo.cc (typeinfo), - ov-usr-fcn.cc (nargout), utils.cc (make_absolute_filename), - variables.cc (who): Improve docstrings - -2011-03-25 John W. Eaton - - * file-io.cc (Fmkstemp): Use gnulib::mkstemp. - * DLD-FUNCTIONS/__init_fltk__.cc (f): Use gnulib::floor. - -2011-03-18 Rik - - * dot.cc: Improve seealso cross references in docstring. - -2011-03-18 Rik - - * help.cc (get_help_text, get_help_text_from_file): Improve docstrings. - -2011-03-17 John W. Eaton - - * ov-float.cc (octave_float_scalar::do_index_op): Widen to float - matrix, not double. - -2011-03-17 Rik - - * syscalls.cc (gethostname): Redo documentation string. - -2011-03-17 Iain Murray - - * DLD-FUNCTIONS/nprocs.cc: Delete file. - * DLD-FUNCTIONS/nproc.cc: New file. New function nproc provided by - gnulib. - * DLD-FUNCTIONS/module-files: Add nproc.cc. - -2011-03-16 Iain Murray - - * DLD-FUNCTIONS/nprocs.cc: New file. - * DLD-FUNCTIONS/module-files: Add nprocs.cc. - Expose nprocs and nprocs_conf from gnulib. - -2011-03-15 Marco Caliari - - * graphics.cc: Simplify calculation of number of tick labels. Fixes - bug #32692. - -2011-03-13 Konstantinos Poulios - - * DLD-FUNCTIONS/__init_fltk__.cc (plot_window::plot_window): - Revert changes from 2011-02-26. - -2011-03-10 Konstantinos Poulios - - * graphics.h.in: Add PERSISTENT mode to listener_mode. - (base_property::delete_listener): Take into account persistent - mode of a listener. - * graphics.cc (addlistener, dellistener): Accept a new optional - argument for persistent listeners. - -2011-03-07 Konstantinos Poulios - - Bug #32482. - - * graphics.h.in (axes::properties::update_yaxislocation, - axes::properties::update_yaxislocation): - Hook update_ylabel_position and update_xlabel_position - respectively. - -2011-03-06 Konstantinos Poulios - - * graphics.cc (axes::properties::update_xlabel_position, - axes::properties::update_ylabel_position, - axes::properties::update_zlabel_position, - axes::properties::update_title_position): - Determine position also for empty axes labels/titles in order - to improve the tightinset calculation. - (axes::properties::get_extent): Take position of empty strings - into account for the calculation of axes extents. - -2011-03-03 Konstantinos Poulios - - * graphics.h.in (axes::properties::get_extent): Add new optional - argument for ignoring the length of text objects. - * graphics.cc (axes::properties::get_extent): Add the possibility - of ignoring the length of text objects. - (axes::properties::calc_tightbox): Take only text height into - account for the calculation of the tight box. - -2011-02-26 Konstantinos Poulios - - * DLD-FUNCTIONS/__init_fltk__.cc (plot_window::plot_window): - Move canvas allocation after the configuration of the menubar. - (plot_window::show_menubar, plot_window::hide_menubar): - Simplify source code. - -2011-02-26 Rik - - * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/matrix_type.cc, - DLD-FUNCTIONS/strfind.cc, DLD-FUNCTIONS/sub2ind.cc, bitfcns.cc, - data.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, - load-path.cc, load-save.cc, oct-parse.yy, ov-base.cc, ov-cell.cc, - ov-class.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc, - ov-struct.cc, ov-usr-fcn.cc, pr-output.cc, pt-mat.cc, sparse.cc, - strfns.cc, syscalls.cc, sysdep.cc, toplev.cc, utils.cc, variables.cc: - Rewrite error strings to use variables named in documentation. - -2011-02-23 John W. Eaton - - * mex.cc (mxArray_base::dup): Return retval. - -2011-02-22 Konstantinos Poulios - - * graphics.h.in (class axes::properties): New hidden property - looseinset. - (axes::properties::update_looseinset): New function. - * graphics.cc (axes::properties::init): Initialize looseinset. - (axes::properties::sync_positions): Take looseinset into account - instead of default_axes_position. - (axes::properties::set_defaults): Default values for looseinset. - -2011-02-21 Kai Habel - - * src/DLD-FUNCTIONS/__fltk_uigetfile__cc: - Use forward slash as file seperator for fltk file path processing only. - -2011-02-21 Kai Habel - - * src/DLD-FUNCTIONS/__init_fltk__.cc(plot_window::plot_window): - Call size_range early to allow window resizing for MacOS and MinGW. - -2011-02-21 John W. Eaton - - * DLD-FUNCTIONS/regexp.cc: Assume we have PCRE. - -2011-02-19 Rik - - * src/DLD-FUNCTIONS/regexp.cc: Use PCRE regular expressions everywhere - now that Octave requires library for building. Remove testif PCRE - on testing blocks and adjust all documentation. - -2011-02-18 Konstantinos Poulios - - * graphics.cc (axes::properties::sync_positions): Fix a small - bug introduced with changes from 2011-02-14. - -2011-02-15 Konstantinos Poulios - - Bug #32319. - - * DLD-FUNCTIONS/__init_fltk__.cc: Include sysdep.h. - (class OpenGL_fltk): Replace integer print_fid member with - boolean print_mode. New class member print_cmd of type string. - (OpenGL_fltk::print): Accept command string argument instead of - file id. - (OpenGL_fltk::draw): Invoke and terminate an octave process for - the printing job. - (plot_window::print, figure_manager::print, - figure_manager::do_print): Replace file id with command string. - (fltk_graphics_toolkit::print_figure): Remove parsing of file id. - * graphics.cc (drawnow): Recognize strings beginning with "|" as - pipelines instead of filenames. - -2011-02-14 David Bateman - - * gl-render.cc (void opengl_renderer::draw_patch ( - const patch::properties &)): Obtain the marker color directly - from the cdata rather that the facecolor, as the facecolor might - not have been set. Bug #31801. - -2011-02-14 Konstantinos Poulios - - * graphics.cc (axes::properties::sync_positions): Calculation of - tightinset property. - -2011-02-13 Konstantinos Poulios - - Bugs #31800, #32211. - - * gl-render.cc (opengl_renderer::draw_axes_boxes): Draw only one - y-axis line when plotyy tag is present. - (opengl_renderer::draw_text): Remove superfluous calls of set_font - and set_color. - * graphics.h.in (class text::properties): Tag color with "u" - qualifier. - (text::properties::update_color): New function. - -2011-02-13 Konstantinos Poulios - - * graphics.h.in (axes::properties::update_boundingbox, - axes::properties::update_dataaspectratio, - axes::properties::update_dataaspectratiomode, - axes::properties::update_plotboxaspectratio, - axes::properties::update_plotboxaspectratiomode): - Replace update_transform hooks with sync_positions. - -2011-02-13 Konstantinos Poulios - - * graphics.h.in (axes::properties::get_extent, - axes::properties::calc_tightbox): New functions prototypes. - (axes::properties::update_view): Hook sync_positions. - (axes::properties::update_outerposition, - axes::properties::update_position): Set activepositionproperty - appropriately. - (text::properties::update_string): Call update_text_extent after - request_autopos. - * graphics.cc (axes::properties::sync_positions): Enable - synchronization of position and outer position. Take label and - title extents in the calculation of outerposition into account. - Do iterative calculation of position when activepositionproperty - is set to outerposition. - (axes::properties::update_title_position): Use new function - get_extent. - (axes::properties::update_autopos): Handle new tag "sync". - (axes::properties::get_extent): New function calculating the - tight box which contains all axes labels and axes title. - (axes::properties::calc_tightbox): New function calculating axes - tight box. - (axes::properties::update_units): Don't call any hooks and listeners - for position, outerposition and tightset. - (text::properties::update_text_extent): Request axes positions - synchronization when axes labels or title extents change. - -2011-02-11 John W. Eaton - - * load-path.cc (strip_trailing_separators): Declare K as size_t - rather than octave_idx_type. - -2011-02-10 Carlo de Falco - - * DLD-FUNCTIONS/mgorth.cc: New file implementing modified - Gram-Schmidt orthogonalization. - -2011-02-10 John W. Eaton - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Avoid deprecated - Array::resize function. - -2011-02-09 Konstantinos Poulios - - * graphics.cc (axes::properties::update_xlabel_position, - axes::properties::update_ylabel_position, - axes::properties::update_zlabel_position, - axes::properties::update_title_position): Use get_transform only - when it is required. - (text::properties::request_autopos): Remove redundant temporary - settting of autopos_tag to none. - -2011-02-08 John W. Eaton - - * pr-output.cc (INSTANTIATE_ABS): Omit inline keyword from - template instantiation. From Orion Poplawski . - -2011-02-08 John W. Eaton - - * oct-parse.yy (parse_fcn_file): Don't warn about coercing - nested functions to subfunctions if yyparse failed. - -2011-02-06 Konstantinos Poulios - - * graphics.h.in (class axes::properties): Tag positionmode, - rotationmode, horizontalalignmentmode, verticalalignmentmode - with "u" qualifier. New hidden property autopos_tag. - (axes::properties::request_autopos, - axes::properties::update_positionmode, - axes::properties::update_rotationmode, - axes::properties::update_horizontalalignmentmode, - axes::properties::update_verticalalignmentmode): New functions - (base_properties::update_autopos): New virtual function. - (axes::properties::update_xlabel_position, - axes::properties::update_ylabel_position, - axes::properties::update_zlabel_position, - axes::properties::update_title_position): Made public. - * graphics.cc (base_properties::update_autopos, - axes::properties::update_autopos, - text::properties::request_autopos): New functions. - (axes::properties::init, axes::properties::set_defaults, - axes::properties::set_xlabel, axes::properties::set_ylabel, - axes::properties::set_zlabel, axes::properties::set_title): - Set autopos_tag for {x,y,z}label and title. - (axes::properties::update_xlabel_position, - axes::properties::update_ylabel_position, - axes::properties::update_zlabel_position, - axes::properties::update_title_position): Run only for non-empty - strings. Set autopos_tag temporarily to none in order to prevent - race conditions. - -2011-02-06 Konstantinos Poulios - - * graphics.cc: Untabify and improve indentation. - -2011-02-06 Konstantinos Poulios - - * graphics.cc (updating_axes_layout): New file-scope variable. - (axes::properties::update_axes_layout): Return immediately if - updating_axes_layout is true. - -2011-02-03 John W. Eaton - - * octave.cc: Include and for isatty. - Bug #32336. - -2011-02-03 Konstantinos Poulios - - * gl-render.h: (opengl_renderer::draw_axes_titles): Remove prototype. - * gl-render.cc: (opengl_renderer::draw_axes_titles): Remove function. - (opengl_renderer::draw_axes_x_grid, - opengl_renderer::draw_axes_y_grid, - opengl_renderer::draw_axes_z_grid): Remove calculation of axis label - positions. - * graphics.cc: (axes::properties::update_xlabel_position, - axes::properties::update_ylabel_position - axes::properties::update_zlabel_position - axes::properties::update_title_position): New functions calculating - label and title positions. - (axes::properties::get_ticklabel_extents): New function. - * graphics.h.in: Provide functions prototypes. - * txt-eng-ft.cc (ft_render::get_extent): New function version. - * txt-eng-ft.h (ft_render::get_extent): Provide function prototype. - -2011-02-03 Kai Habel - - * src/gl-render.cc(text_to_pixels): Use text_renderer object only - when freetype is available - -2011-02-03 John W. Eaton - - * ov-base.cc (octave_base_value::as_mxArray): Return 0 silently. - * mex.cc (mxArray_octave_value::dup): If value can't be - converted to mxArray object, then simply create a clone of the - mxArray_octave_value container. - -2011-02-02 Rik - - * DLD-FUNCTIONS/eigs.cc, DLD-FUNCTIONS/qr.cc: Use testif to only run - some sparse tests when necessary libraries are installed. - -2011-02-03 Konstantinos Poulios - - * graphics.cc (axes::properties::update_axes_layout): - New function calculating axes layout. - (axes::properties::update_ticklengths): New function calculating - tick lengths and offsets. - * graphics.h.in (class axes::properties):: New private data - describing axes layout and corresponding "get" methods. Provide - declaration and call dependencies for "update_axes_layout". - Tag layer, yaxislocation, xaxislocation, tickdir, tickdirmode, - with "u" qualifier. - (axes::properties::update_layer, - axes::properties::update_yaxislocation, - axes::properties::update_xaxislocation, - axes::properties::update_ticklengths, - axes::properties::update_tickdir, - axes::properties::update_tickdirmode): New functions - * gl-render.cc: (opengl_renderer::draw_axes_planes, - opengl_renderer::draw_axes_boxes, - opengl_renderer::draw_axes_x_grid, - opengl_renderer::draw_axes_y_grid, - opengl_renderer::draw_axes_z_grid, - opengl_renderer::draw_axes_title): Simplify arguments list. - (opengl_renderer::draw_axes): Remove calculation of axes layout. - (opengl_renderer::setup_opengl_transformation): Disable antializing. - * gl-render.h: Adapt functions prototypes. - -2011-02-01 John W. Eaton - - * gl-render.h (opengl_renderer::draw (const Matrix& hlist)): - Use get_object instead of lookup. - * DLD-FUNCTIONS/__init_fltk__.cc (Fl_Gl_Window::draw): Likewise. - * graphics.h.in (gh_manager::get_object (double)): New function. - * gl-renderer.h (opengl_renderer::draw (const graphics_handle&)): - Delete. - * gl2ps-renderer.h (glps_renderer::draw (const graphics_handle&)): - Delete. - -2011-02-01 John W. Eaton - - * gl2ps-renderer.h: Remove virtual tag for derived virtual functions. - (opengl_renderer (const graphics_handle&)): New function. - * DLD-FUNCTIONS/__init_fltk__.cc (OpenGL_fltk::Fl_Gl_Window): - Don't use new to create temporary glps_renderer object. - -2011-02-01 Michael Godfrey - - * gl2ps-renderer.cc (glps_renderer::draw): - Return immediately if fdopen fails. - -2011-02-01 John W. Eaton - - * gl-render.cc: (opengl_renderer::setup_opengl_transformation, - opengl_renderer::draw_axes_planes, - opengl_renderer::draw_axes_boxes, - opengl_renderer::draw_axes_x_grid, - opengl_renderer::draw_axes_y_grid, - opengl_renderer::draw_axes_z_grid, - opengl_renderer::draw_axes_title, - opengl_renderer::draw_axes_children): - New private functions, extracted from opengl_renderer::draw_axes. - (opengl_renderer::draw_axes): Call subfunctions to do most of - the work. - * gl-render.h: Provide decls. - -2011-01-31 John W. Eaton - - * sysdep.cc (get_P_tmpdir): New function. - * file-io.cc (FP_tmpdir): Use it. - Bug #32158. - -2011-01-30 Rik - - * DLD-FUNCTIONS/__init_fltk__.cc (mouse_wheel_zoom, gui_mode): Rename - functions and strip "fltk_" prefix. Improve docstrings. - -2011-01-30 John W. Eaton - - * txt-eng-ft.cc (ft_manager::ft_manager): Omit fc_init_done from - initialization list if fontconfig is missing. - -2011-01-30 Pascal Dupuis - - * oct-parse.yy (class stdio_stream_reader): Disallow copying. - -2011-01-30 John W. Eaton - - * graphics.cc (gnuplot_toolkit::redraw): Call __gnuplot_drawnow__, - not gnuplot_drawnow. - (gnuplot_toolkit::print_figure): Likewise. - -2011-01-30 John W. Eaton - - * Makefile.am (OCTAVE_LIBS): Remove $(ARPACK_LDFLAGS) and - $(ARPACK_LIBS) from the list. - (DLD-FUNCTIONS/eigs.df): Don't add $(ARPACK_CPPFLAGS) to CPPFLAGS. - (DLD_FUNCTIONS_eigs_la_CPPFLAGS): Remove $(ARPACK_CPPFLAGS) from - the list. - (DLD_FUNCTIONS_eigs_la_LIBADD): Remove $(ARPACK_LDFLAGS) and - $(ARPACK_LIBS) from the list. - -2011-01-30 John W. Eaton - - * load-save.cc (Fload): Doc fix. - -2011-01-29 Rik - - * DLD-FUNCTIONS/__init_fltk__.cc (fltk_gui_mode, fltk_mouse_wheel_zoom): - Improve docstrings. - - * graphics.cc (available_graphics_toolkits): Fix typo in docstring. - -2011-01-29 Rik - - * syscalls.cc (S_ISSOCK, S_ISCHR): Improve docstrings - -2011-01-29 Rik - - * dirfns.cc (readdir, filesep, pathsep): Improve docstrings - * file-io.cc (tmpnam): Improve docstring - * input.cc (filemarker): Improve docstring - * syscalls.cc (stat, lstat): Improve docstring - -2011-01-29 Rik - - * DLD-FUNCTIONS/getrusage.cc, toplev.cc: Improve docstring - -2011-01-29 John W. Eaton - - * DLD-FUNCTIONS/__fltk_uigetfile__.cc (__fltk_uigetfile__): - Don't allocate Fl_File_Chooser object with new. Delete unused - variable fargs. Allocate default retval values in initial - declaration. - -2011-01-29 John W. Eaton - - * DLD-FUNCTIONS/__init_fltk__.cc: Undefine Complex after - including FLTK headers. - * DLD-FUNCTIONS/__fltk_uigetfile__.cc: Likewise. - -2011-01-29 John W. Eaton - - * Makefile.am (__fltk_uigetfile__): Use the same compiler flags - as for __init_fltk__. - -2011-01-28 John W. Eaton - - * DLD-FUNCTIONS/eigs.cc (Feigs): Assume we have ARPACK. - Use "test" instead of "testif HAVE_ARPACK". - * toplev.cc (octave_config_info): Remove ARPACK_CPPFLAGS, - ARPACK_LDFLAGS, ARPACK_LIBS from the struct. - * oct-conf.h.in (OCTAVE_CONF_ARPACK_CPPFLAGS, - OCTAVE_CONF_ARPACK_LDFLAGS, OCTAVE_CONF_ARPACK_LIBS): - Delete #defines. - -2011-01-28 Kai Habel - - * DLD-FUNCTIONS/__fltk_uigetfile__.cc: File filter value is - 1-based now. - -2011-01-28 John W. Eaton - - * pr-output.cc (Foutput_max_field_width): Set internal variable - output_max_field_width, not output_precision. - -2011-01-28 John W. Eaton - - * pr-output.cc (Fformat, Ffixed_point_format, Foutput_precision, - Foutput_max_field_width, Fsplit_long_rows, Fprint_empty_dimensions): - Update @seealso lists. - -2011-01-27 Rik - - * graphics.cc: Improve reset docstring. - -2011-01-27 Kai Habel - - * DLD-FUNCTIONS/__init_fltk__.cc (__fltk_uigetfile__): Remove here. - * DLD-FUNCTIONS/__fltk_uigetfile__.cc: New file. - * DLD-FUNCTIONS/module-files: Add __fltk_uigetfile__.cc. - Bug #32190. - -2011-01-27 John W. Eaton - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Skip leading whitespace - on each line. - -2011-01-27 John W. Eaton - - * ov-struct.cc (octave_struct::subsasgn, - octave_scalar_struct::subsasgn): Call undef_subsasgn on object - returned by octave_value::empty_conv if LHS is initially undefined. - Bug #32242. - -2011-01-27 John W. Eaton - - * input.cc (input_event_hook): Fix incorrect use of iterator. - Reported by Pascal Dupuis . - -2011-01-27 John W. Eaton - - * ov-class.cc (octave_class::reconstruct_exemplar): - Call constructor with do_multi_index_op instead of feval. - Verify that symbol_table::find_method did return a class - constructor for the correct type. Bug #32242. - -2011-01-26 John W. Eaton - - * lex.ll, graphics.cc, gl-render.cc, ov-mex-fcn.h, graphics.h.in: - Delete trailing whitespace. - -2011-01-26 John W. Eaton - - Bug #32242. - - * ov.h, ov.cc (octave_value::undef_subsasgn): New function. - * ov-class.h, ov-class.cc (octave_class::undef_subsasgn, - octave_class::subsasgn_common): New functions. - * ov-base.h, ov-base.cc (octave_base_value::subsasgn): If - undefined, call undef_subsasgn on object returned by - octave_value::empty_conv. - (octave_base_value::undef_subsasgn): New virtual function. - (octave_base_value::subsasgn): Only handle case of undefined - values here. - -2011-01-26 Pascal Dupuis - John W. Eaton - - * graphics.h.in (scaler::scaler (const std::string&)): New constructor. - (graphics_handle::operator++, graphics_hanlde::operator--): - Implement as recommended by Effective C++. - - * graphics.h.in (class base_property, class array_property, - class children_property, class property, class graphics_xform, - class graphics_event): Explicitelly iniatialize - all data members in constructor initialisation list. - * gl-render.cc (class patch_tesselator): Likewise - * graphics.cc (class radio_values, class gh_manager), - (class callback_event, class set_event): Likewise. - - * graphics.h.in (class base_graphics_property): Disallow copying. - * graphics.cc (class function_event): Likewise. - (function_event::function_event (void)): Delete implementation. - -2011-01-25 Rik - - * DLD-FUNCTIONS/config-module.awk: Use automake variable for - portability. - * Makefile.am (uninstall-oct): Use GNU Make features for portability - -2011-01-25 Rik - - * DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, - load-save.cc: Make docstrings static by removing documentation - depending on #ifdef configuration variables. - -2011-01-25 John W. Eaton - - * Makefile.am (OCT_STAMP_FILES): New variable. - (DISTCLEANFILES): Add $(OCT_STAMP_FILES) to the list. - (all-local): Depend on $(OCT_STAMP_FILES) instead of $(OCT_FILES). - - * DLD-FUNCTIONS/config-module.awk: Create stamp files when - creating .oct file links. - -2011-01-25 Konstantinos Poulios - - * src/graphics.cc (text::properties::update_text_extent): - Disable warning about missing freetype library. - -2011-01-25 Konstantinos Poulios - - * src/graphics.cc (axes::properties::calc_ticks_and_lims): - Fixing wrong dimensions of minor ticks vector. - -2011-01-25 John W. Eaton - - * oct-map.h (octave_map::octave_map (const string_vector&)): - Initialize xvals elements to 1x1 Cells. Bug #32222. - -2011-01-24 Pascal Dupuis - - * ov-base-mat.h (class octave_base_matrix): Disallow assignment. - * ov-range.h (class octave_range): Likewise. - -2011-01-23 John W. Eaton - - * ov-struct.cc (octave_scalar_struct::print_raw): - Avoid unnecessary conversion of map value to Cell. - -2011-01-22 John W. Eaton - - * symtab.h (symbol_table::parent_classes): - Also add parents of parents to the list. Bug #32210. - -2011-01-22 Jaroslav Hajek - - * ov-class.cc (octave_class::subsasgn): Find appropriate unique base - before trying any indexed assignment. Bug #32182. - -2011-01-22 Konstantinos Poulios - - * graphics.h.in, graphics.cc (xmtick, ymtick, zmtick): - New properties holding minor ticks positions. - (axes::properties::calc_ticks_and_lims): Calculation of minor ticks - positions. - * gl-render.h, gl-render.cc - (opengl_renderer::render_grid, opengl_renderer::render_tickmarks, - opengl_renderer::render_ticktexts): New functions. - (opengl_renderer::draw_axes): Make use of new rendering functions - and minor ticks positions. - Correct axis label positioning for x axis at top and y axis at right - position. Bug #31800. - Change axis positioning policy for 3D plots, keeping x and y axis - always at bottom. - -2011-01-22 Jaroslav Hajek - - * gl-render.cc: Use octave_refcount for refcounting. - * oct-map.h: Ditto. - * ov-base.h: Ditto. - * pt-mat.cc: Ditto. - -2011-01-22 Pascal Dupuis - - * ov-mex-fcn.h, txt-eng-ft.cc, mex.cc: - Initialize all data members in initialization list. - -2011-01-22 Pascal Dupuis - - * DLD-FUNCTIONS/__init_fltk__.cc (fltk_uimenu): Disallow copying. - (class plot_window): Likewise. - * c-file-ptr-stream.h (class c_file_ptr_buf): Likewise. - (class c_file_ptr_stream): Likewise. - (class c_zfile_ptr_buf): Likewise. - * gl-render.cc (class opengl_tesselator): Likewise. - (class patch_tesselator): Likewise. - * lex.ll (class flex_stream_reader): Likewise. - * mex.cc (class mex): Likewise. - * oct-procbuf.h (class octave_procbuf): Likewise. - * pt-cbinop.h (class tree_compound_binary_expression): Likewise. - * symtab.h (class scope_id_cache): Likewise. - (class symbol_table): Likewise. - * txt-eng-ft.h (class ft_manager): Likewise. - (class ft_render): Likewise. - * unwind-prot.h (class unwind_protect::elem): Likewise. - (class unwind_protect::fcn_arg_elem): Likewise. - (class unwind_protect::method_elem): Likewise. - (class unwind_protect::restore_var_elem): Likewise. - (class unwind_protect::delete_ptr_elem): Likewise. - (class unwind_protect): Likewise. - * zfstream.h (class gzfilebuf): Likewise. - - * mex.cc (class mxArray_octave_value): Disallow assignment. - (class mxArray_matlab): Likewise. - (class mxArray_number): Likewise. - (class mxArray_sparse): Likewise. - (class mxArray_struct): Likewise. - (class mxArray_cell): Likewise. - - * unwind-prot.h (unwind_protect::elem::elem): - Provide default constructor. - -2011-01-21 Konstantinos Poulios - - * src/graphics.cc (axes::properties::set_xlabel, - axes::properties::set_ylabel, axes::properties::set_zlabel): - Setting axis label color from axis color. - -2011-01-20 Rik - - * src/file-io.cc, src/variables.cc: Prevent doubled quotes around @table - items in Info. - -2011-01-20 Rik - - * src/DLD-FUNCTIONS/chol.cc, src/DLD-FUNCTIONS/luinc.cc, - src/DLD-FUNCTIONS/qz.cc: Use non-breaking spaces between certain - adjectives and their linked nouns in docstrings - -2011-01-20 Rik - - * src/DLD-FUNCTIONS/str2double.cc, src/data.cc, src/mappers.cc, - src/variables.cc: Use @nospell macro on certain words in docstring. - -2011-01-20 John W. Eaton - - * DLD-FUNCTIONS/__delaunayn__.cc, - DLD-FUNCTIONS/__init_fltk__.cc, - DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/quadcc.cc, DLD-FUNCTIONS/regexp.cc, data.cc, - gripes.cc, ls-mat5.cc, toplev.cc, variables.cc: - Style fixes for error and warning messages. - -2011-01-20 John W. Eaton - - * Array.cc, Sparse.cc, base-lu.cc, idx-vector.cc, - lo-array-gripes.cc: Style fixes for error and warning messages. - -2011-01-20 John W. Eaton - - * DLD-FUNCTIONS/__contourc__.cc, DLD-FUNCTIONS/__delaunayn__.cc, - DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/__glpk__.cc, - DLD-FUNCTIONS/__init_fltk__.cc, - DLD-FUNCTIONS/__lin_interpn__.cc, - DLD-FUNCTIONS/__magick_read__.cc, - DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/__qp__.cc, - DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, - DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/ccolamd.cc, - DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/chol.cc, - DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/colloc.cc, - DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, - DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/dlmread.cc, - DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, - DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, - DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/givens.cc, - DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, - DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lookup.cc, - DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, - DLD-FUNCTIONS/max.cc, DLD-FUNCTIONS/md5sum.cc, - DLD-FUNCTIONS/onCleanup.cc, DLD-FUNCTIONS/qr.cc, - DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/quadcc.cc, - DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, - DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, - DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/sqrtm.cc, - DLD-FUNCTIONS/str2double.cc, DLD-FUNCTIONS/strfind.cc, - DLD-FUNCTIONS/sub2ind.cc, DLD-FUNCTIONS/svd.cc, - DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, - DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/tril.cc, - DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/typecast.cc, - DLD-FUNCTIONS/urlwrite.cc, OPERATORS/op-b-sbm.cc, - OPERATORS/op-bm-sbm.cc, OPERATORS/op-cdm-cdm.cc, - OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-scm.cc, - OPERATORS/op-cm-sm.cc, OPERATORS/op-cs-cs.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-dm-dm.cc, OPERATORS/op-dms-template.cc, - OPERATORS/op-fcdm-fcdm.cc, OPERATORS/op-fcm-fcm.cc, - OPERATORS/op-fcm-fcs.cc, OPERATORS/op-fcm-fm.cc, - OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fcm.cc, - OPERATORS/op-fcs-fcs.cc, OPERATORS/op-fcs-fm.cc, - OPERATORS/op-fcs-fs.cc, OPERATORS/op-fdm-fdm.cc, - OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, - OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, - OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, - OPERATORS/op-fs-fm.cc, OPERATORS/op-int-concat.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-pm-pm.cc, OPERATORS/op-pm-scm.cc, - OPERATORS/op-pm-sm.cc, OPERATORS/op-pm-template.cc, - OPERATORS/op-range.cc, OPERATORS/op-s-scm.cc, - OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc, - OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, - OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc, - OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc, - OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc, - OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc, - OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc, - OPERATORS/op-sm-sm.cc, OPERATORS/op-str-str.cc, - OPERATORS/op-ui64-ui64.cc, bitfcns.cc, c-file-ptr-stream.cc, - c-file-ptr-stream.h, comment-list.h, data.cc, debug.cc, debug.h, - defun-int.h, defun.cc, dynamic-ld.cc, error.cc, file-io.cc, - gl-render.cc, gl-render.h, gl2ps-renderer.cc, gl2ps-renderer.h, - gl2ps.c, gl2ps.h, graphics.cc, graphics.h.in, help.cc, input.cc, - lex.h, lex.ll, load-path.cc, load-path.h, load-save.cc, - load-save.h, ls-ascii-helper.cc, ls-hdf5.cc, ls-hdf5.h, - ls-mat-ascii.cc, ls-mat4.cc, ls-mat4.h, ls-mat5.cc, - ls-oct-ascii.cc, ls-oct-ascii.h, ls-oct-binary.cc, mappers.cc, - mex.cc, mex.h, mexproto.h, mxarray.h.in, oct-hist.cc, - oct-lvalue.cc, oct-lvalue.h, oct-map.cc, oct-map.h, oct-obj.cc, - oct-obj.h, oct-parse.yy, oct-procbuf.cc, oct-stream.cc, - oct-stream.h, octave.cc, ov-base-diag.cc, ov-base-diag.h, - ov-base-int.cc, ov-base-int.h, ov-base-mat.cc, ov-base-mat.h, - ov-base-scalar.cc, ov-base-scalar.h, ov-base-sparse.cc, - ov-base-sparse.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, - ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, ov-bool.cc, - ov-bool.h, ov-builtin.h, ov-cell.cc, ov-cell.h, ov-ch-mat.cc, - ov-class.cc, ov-class.h, ov-complex.cc, ov-complex.h, - ov-cx-diag.cc, ov-cx-diag.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-cx-sparse.cc, ov-cx-sparse.h, ov-dld-fcn.h, ov-fcn-handle.cc, - ov-fcn-handle.h, ov-fcn-inline.cc, ov-fcn-inline.h, ov-fcn.h, - ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, - ov-flt-cx-diag.cc, ov-flt-cx-diag.h, ov-flt-cx-mat.cc, - ov-flt-cx-mat.h, ov-flt-re-diag.cc, ov-flt-re-diag.h, - ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-lazy-idx.cc, - ov-lazy-idx.h, ov-null-mat.cc, ov-null-mat.h, ov-perm.cc, - ov-perm.h, ov-range.cc, ov-range.h, ov-re-diag.cc, ov-re-diag.h, - ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, - ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, - ov-struct.cc, ov-struct.h, ov-type-conv.h, ov-typeinfo.cc, - ov-usr-fcn.cc, ov-usr-fcn.h, ov.cc, ov.h, pager.cc, - pr-output.cc, procstream.h, pt-arg-list.cc, pt-assign.h, - pt-binop.cc, pt-bp.cc, pt-bp.h, pt-cbinop.cc, pt-cell.cc, - pt-colon.cc, pt-const.cc, pt-decl.cc, pt-eval.cc, - pt-fcn-handle.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-mat.cc, - pt-mat.h, pt-pr-code.cc, pt-select.cc, pt-select.h, pt-stmt.cc, - pt-unop.cc, pt-unop.h, sighandlers.cc, sighandlers.h, - sparse-xdiv.cc, sparse-xdiv.h, sparse-xpow.cc, sparse-xpow.h, - sparse.cc, strfns.cc, symtab.cc, symtab.h, syscalls.cc, - sysdep.cc, toplev.cc, toplev.h, txt-eng-ft.cc, txt-eng-ft.h, - txt-eng.h, unwind-prot.h, utils.cc, utils.h, variables.cc, - variables.h, xdiv.cc, xdiv.h, xnorm.cc, xpow.cc, zfstream.cc, - zfstream.h: Strip trailing whitespace. - -2011-01-20 John W. Eaton - - * gl-render.cc, DLD-FUNCTIONS/__init_fltk__.cc, - DLD-FUNCTIONS/__magick_read__.cc: Untabify. - -2011-01-20 Pascal Dupuis . - - * debug.h, dynamic-ld.cc, gl-render.cc, gl-render.h, - gl2ps-renderer.h, lex.h, ls-hdf5.h, oct-stream.h, oct-strstrm.h, - ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, - ov-cell.h, ov-class.h, ov-dld-fcn.h, ov-fcn-handle.h, - ov-lazy-idx.h, ov-perm.h, ov-range.h, ov-struct.h, procstream.h, - pt-assign.h, symtab.h, unwind-prot.h: Initialize - all data members in initialization list. - -2011-01-20 Kai Habel - - * DLD-FUNCTIONS/__init_fltk__.cc (__fltk_uigetfile__): Append file - seperator to 2nd return value (file path). - Bug #32190. - -2011-01-20 John W. Eaton - - * oct-obj.h (octave_value_list::octave_value_list): Initialize - all data members in initialization list. From Pascal Dupuis - . - -2011-01-20 John W. Eaton - - * ls-mat5.cc (read_mat5_binary_element): - Improve diagnositc if uncompress fails. - - * load-path.cc (strip_trailing_separators): New static function. - (load_path::do_add, load_path::do_remove): Call it on directory arg. - -2011-01-20 John W. Eaton - - * gl-render.h, graphics.cc, gl-render.cc, graphics.h.in: - Update for backend -> graphics_toolkit change. - - * DLD-FUNCTIONS/__init_fltk__.cc: Rename from fltk_backend.cc - Update for backend -> graphics_toolkit change. - * DLD-FUNCTIONS/module-files, Makefile.am: Update for renamed file. - -2011-01-19 Rik - - * src/data.cc, src/input.cc, src/utils.cc: spellcheck docstrings. - -2011-01-19 Rik - - * DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/quad.cc, - DLD-FUNCTIONS/quadcc.cc, DLD-FUNCTIONS/rcond.cc, - DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/strfind.cc, - DLD-FUNCTIONS/typecast.cc, data.cc, dirfns.cc, error.cc, file-io.cc, - graphics.cc, help.cc, input.cc, load-path.cc, load-save.cc, mappers.cc, - oct-hist.cc, oct-parse.yy, pager.cc, pr-output.cc, pt-binop.cc, - sparse.cc, strfns.cc, syscalls.cc, sysdep.cc, utils.cc: grammarcheck - files in src directory. - -2011-01-19 John W. Eaton - - * oct-obj.cc (octave_value_list::all_scalars): Check for scalar - values, not strings. Bug #32172. - -2011-01-17 Rik - - * DLD-FUNCTIONS/module-files: Add quadcc.cc to list of files. - * DLD-FUNCTIONS/quad.cc: Add Seealso links to quadcc. - -2011-01-17 Jaroslav Hajek - - * DLD-FUNCTION/lookup.cc (Flookup): Validate option string. - -2011-01-17 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::bind_automatic_vars): - Save argument names in hidden variable .argn.. - - * variables.cc (F__varval__): New function. - -2011-01-17 John W. Eaton - - * ov-usr-fcn.cc (bind_automatic_vars): Mark variables created - here as automatic. - - * symtab.h (symbol_table::mark_automatic): New function. - (symbol_table::do_mark_automatic): New function. - -2011-01-17 Michael Godfrey - - * variables.cc (Fwhos): Describe a and f attributes in help text. - -2011-01-17 John W. Eaton - - * sighandlers.cc (octave_signal_handler): Wait for children here. - (sigchld_handler): Not here. - -2011-01-16 Rik - - * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dispatch__.cc, - DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/__glpk__.cc, - DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/__pchip_deriv__.cc, - DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, - DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/ccolamd.cc, - DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/chol.cc, - DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/colloc.cc, - DLD-FUNCTIONS/conv2.cc, DLD-FUNCTIONS/convhulln.cc, - DLD-FUNCTIONS/cquad.cc, DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/det.cc, - DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/dmperm.cc, - DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, - DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, - DLD-FUNCTIONS/fltk_backend.cc, DLD-FUNCTIONS/gammainc.cc, - DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/getgrent.cc, - DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/hess.cc, - DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, - DLD-FUNCTIONS/max.cc, DLD-FUNCTIONS/md5sum.cc, - DLD-FUNCTIONS/onCleanup.cc, DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, - DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, - DLD-FUNCTIONS/rcond.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/spparms.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/str2double.cc, - DLD-FUNCTIONS/strfind.cc, DLD-FUNCTIONS/sub2ind.cc, - DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, - DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/time.cc, DLD-FUNCTIONS/tril.cc, - DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/typecast.cc, - DLD-FUNCTIONS/urlwrite.cc: Improve docstrings. Use same variable names - in error() strings and docstrings. - -2011-01-16 John W. Eaton - - * mkgendoc: Write function name along with file name in comment. - -2011-01-15 Jordi Gutiérrez Hermoso - - * symtab.h (do_clear_global_pattern): Reword so as to not - invalidate iterators when calling std::map::erase(). - * DLD-FUNCTIONS/urwlwrite.cc (~curl_handles): Ditto. - -2011-01-15 Rik - - * src/dirfns.cc, src/help.cc, src/input.cc, src/load-save.cc, - src/oct-hist.cc, src/pager.cc, src/pr-output.cc, src/variables.cc: - Eliminate @deffn macros. - -2011-01-15 John W. Eaton - - * syscalls.cc (FWEXITSTATUS, FWIFEXITED): Missing semicolon. - -2011-01-15 John W. Eaton - - * ov-fcn-handle.cc: Use version instead of flops in test. - -2011-01-14 Rik - - * DLD-FUNCTIONS/svd.cc: Add Seealso references to svd. - -2011-01-14 Rik - - * src/mappers.cc: Add Seealso links between sqrt, cbrt, nthroot - functions. - -2011-01-14 John W. Eaton - - * dirfns.cc (Ffnmatch): Use DEFUNX until gnulib's fnmatch is C++ - friendly. - -2011-01-14 Rik - - * src/mappers.cc: Add Seealso links between erf variants to docstring. - -2011-01-14 John W. Eaton - - * sighandlers.cc (BADSIG, BLOCK_SIGNAL, SIGCHLD, BLOCK_CHILD, - UNBLOCK_CHILD): Move macro definitions here from sighandlers.h. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2011-01-13 John W. Eaton - - * file-io.cc (mkstemp): Delete. - Delete decl for mkstemps. - (Fmkstemp): Assume we have mkstemp from gnulib. - -2011-01-13 John W. Eaton - - * DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/dot.cc, - octave.cc: Style fixes. - -2011-01-13 David Bateman - - ls-mat5.cc (int save_mat5_element_length (const octave_value&, - const std::string&, bool, bool)): For sparse matrices use nnz rather - than nzmax. - (bool save_mat5_binary_element (std::ostream&, const octave_value&, - const std::string&, bool, bool, bool, bool)): ditto. - -2011-01-13 John W. Eaton - - * base-list.h (class octave_base_list): Provide explicit - default and copy construtors, assignment operator, and destructor. - * load-path.h (load_path::dir_info::class_info): Likewise. - - * load-path.h (load_path::dir_info::dir_info): Initialize all - members in initializaition list. - * lex.h (lexical_feedback::lexical_feedback): Likewise. - -2011-01-13 John W. Eaton - - * cutils.h: New file. - (octave_sleep, octave_usleep, octave_raw_vsnprintf): Move decls - here from utils.h. - * Makefile.am (octinclude_HEADERS): Add cutils.h to the list. - * utils.h: Include cutils.h. - * cutils.c: Include cutils.h. - -2011-01-12 David Grundberg - - * DLD-FUNCTIONS/__magick_read__.cc (__magick_read__) [!HAVE_MAGICK]: - Write more verbose error message that blames on imread, not - __magick_read__. - -2011-01-12 John W. Eaton - - * DLD-FUNCTIONS/rand.cc (reset_rand_generator): Delete unused - static function. - -2011-01-12 John W. Eaton - - * graphics.cc (graphics_object::get_ancestor): Avoid GCC warning. - -2011-01-12 John W. Eaton - - * DLD-FUNCTIONS/gcd.cc (extended_gcd): Tag call to floor with gnulib::. - -2011-01-12 John W. Eaton - - * oct-hist.cc (Fhistory_control): New function. - -2011-01-12 Pascal Dupuis - - * oct-hist.cc (default_history_control): New function. - (initialize_history): Pass Vhistory control to - command_history::initialize. - -2011-01-11 Konstantinos Poulios - - * gl-render.cc (opengl_renderer::draw_axes): Improve positioning - of titles. - -2011-01-10 John W. Eaton - - * ov-cell.cc (octave_cell::print_as_scalar): Always return true. - (octave_cell::print_raw): Handle extra newlines here. - * ov-struct.cc (Fstruct_levels_to_print): Move here from pr-output.cc - (Vstruct_levels_to_print): Move here from pr-output.cc. Now static. - (Vprint_struct_array_contents): New static variable. - (Fprint_struct_array_contents): New function. - (octave_struct::print_raw): Use Vprint_struct_array_contents. - Simplify and improve output. - (octave_scalar_struct::print_raw): Simplify and improve output. - * pr-output.h (Vstruct_levels_to_print): Delete decl. - * ov-class.cc (octave_class::print_raw): Don't unwind_protect - Vstruct_levels_to_print. - -2011-01-09 David Bateman - - * ls-mat5.cc (save_mat5_array_length (const float*, octave_idx_type, - bool)): Take in to account the short tags for single data elements. - (int save_mat5_element_length (const octave_value&, const std::string&, - bool, bool)): Declare sparse matrices const to avoid a copy on read. - * ls-utils.cc (save_type get_save_type (float, float)): New function. - * ls-utils.h (save_type get_save_type (float, float)): Declare it. - -2011-01-09 John W. Eaton - - * token.h, token.cc (token::plot_tok_typ): Delete unused enum. - (token::token_type): Delete pttype_token from the list. - (token::token (plot_tok_type, int, int)): Delete unused constructor. - (token::pttype): Delete unused function. - (token::anonymous union): Delete PT element. - -2011-01-09 John W. Eaton - - * lex.ll (display_token): Display token value for NUM, IMAG_NUM, - STRUCT_ELT, NAME, DQ_STRING, and SQ_STRING tokens. - -2011-01-09 John W. Eaton - - * lex.h, lex.ll, oct-parse.yy (lexer_flags::parsed_function_name): - Declare to be std::stack instead of bool. Change all uses. - Bug #32083. - -2011-01-08 Konstantinos Poulios - - * gl-render.cc (opengl_renderer::draw_axes): Revert positionmode - to auto after automatic positioning of titles. Bug #32074. - -2011-01-08 David Grundberg - - * ov-fcn.h (is_subfunction): Rename from is_nested_function. - Change all uses and nearby comments. - * ov-usr-fcn.h (is_subfunction, mark_as_subfunction): Rename from - is_nested_function, mark_as_nested_function. Change all uses. - -2011-01-07 John W. Eaton - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): For uniformoutput case - with nargout > 0, initialize elements of retval to NDArray - objects of the same size as the input. Bug #32067. - -2011-01-07 John W. Eaton - - * graphics.cc (Fget): Return empty matrix if no values are found. - Bug #32067. - -2011-01-06 Konstantinos Poulios - - * txt-eng-ft.h, txt-eng-ft.cc: Remove dependency on graphics.h. - (ft_render::set_font): New arguments list. - (ft_render::text_to_pixels): New method. - * graphics.cc (text::properties::update_text_extent): Adapt the call - to ft_render::set_font. - (text::properties::get_extent_matrix): New function. - (text::properties::update_text_extent): Function rewrite. - * gl-render.cc (opengl_renderer::set_font): Likewise. - (opengl_renderer::text_to_pixels): - Make use of ft_render::text_to_pixels. - (opengl_renderer::render_text): Simplify. - (opengl_renderer::draw_text): Make text drawing aware of the text - extent property. - * gl-render.h (opengl_renderer::text_to_pixels): Arguments reordering. - (opengl_renderer::get_transform): New function. - * gl2ps-renderer.cc (glps_renderer::render_text): Adapt the call to - text_to_pixels. - (glps_renderer::alignment_to_mode): New function. - (glps_renderer::draw_text): Overload inherited function. - * gl2ps-renderer.h (glps_renderer::alignment_to_mode): New function. - * graphics.h.in: Add dependency on txt-eng-ft.h. - (class text::properties): Tag horizontalalignment and verticalalignment - with "u" qualifier. - (text::properties::get_extent_matrix, get_pixels, - update_horizontalalignment, update_verticalalignment): New functions. - (text::properties::renderer): New class member of type ft_render. - (text::properties::pixels): New class member of type uint8NDArray. - -2011-01-06 John W. Eaton - - * DLD-FUNCTIONS/rand.cc (Frandperm): Tag call to floor with gnulib::. - * DLD-FUNCTIONS/gcd.cc (divide): Tag calls to floor with gnulib::. - * ov-scalar.cc (octave_scalar::map): Tag floor with gnulib::. - * ov-cell.cc (octave_cell::save_hdf5): Tag call to floor with gnulib::. - * pr-output.cc (engineering_exponent, num_digits, - octave_print_internal_template): Tag call to floor with gnulib::. - * graphics.cc: Consistently use std::ceil. - (axes::properties::get_axis_limits): Tag calls to floor with gnulib::. - (axes::properties::calc_ticks_and_lims): Likewise. - -2011-01-05 John W. Eaton - - Bug #32060. - - * ov-fcn.h (octave_function::mark_as_private_function): Now virtual. - * ov-usr-fcn.h (octave_function::mark_as_private_fucntion): - New function. Mark subfunctions as private also. - * symtab.cc, symtab.h - (symbol_table::mark_subfunctions_in_scope_as_private, - symbol_table::fcn_info::mark_subfunction_in_scope_as_private, - symbol_table::fcn_info::fcn_info_rep::mark_subfunction_in_scope_as_private): - New functions. - -2011-01-04 John W. Eaton - - * ov-base-sparse.cc (octave_base_sparse::print_raw): Improve - display of percentage full. Bug #32011. - -2011-01-04 John W. Eaton - - * ov-typeinfo.cc (Ftypeinfo): Return cell array of character - strings, not character array. Bug #32050. - -2011-01-03 Rik - - * data.cc (islogical, isnumeric): Add tests to check sparse forms of - logical matrices. - -2011-01-02 Jaroslav Hajek - - * ov-bool-sparse.h (octave_sparse_bool_matrix::is_numeric_type): New - virtual method override. - -2010-12-31 Rik - - * toplev.cc (system): Add additional calling form "shell_cmd" to - documentation. - -2010-12-31 Rik - - * data.cc (islogical, isinteger, iscomplex, isfloat, isempty, - isnumeric, ismatrix, issorted): Improve docstring - * graphics.cc (ishandle): Improve docstring - * lex.ll (iskeyword): Improve docstring - * mappers.cc (isalnum, isalpha, isascii, iscntrl, isdigit, isinf, - isgraph, islower, isna, isnan, isprint, ispunct, isspace, isupper, - isxdigit): Improve docstring - (finite/isfinite): Make finite an alias for isfinite rather than the - reverse. Improve docstring. - * ov-cell.cc (iscell, iscellstr): Improve docstring - * ov-class.cc (isobject, ismethod): Improve docstring - * ov-null-mat.cc (isnull): Improve docstring - * ov-struct.cc (isstruct, isfield): Improve docstring - * ov-usr-fcn.cc (isargout): Improve docstring - * sparse.cc (issparse): Improve docstring - * strfns.cc (ischar): Improve docstring - * sysdep.cc (isieee): Improve docstring - * utils.cc (isvarname, is_absolute_filename, - is_rooted_relative_filename, isindex): Improve docstring - * variables.cc (isglobal): Improve docstring - -2010-12-28 Rik - - * data.cc (and, ctranspose, eq, ge, gt, ldivide, le, lt, minus, - mldivide, mpower, mrdivide, mtimes, ne, not, or, plus, power, rdivide, - times, transpose, uminus, uplus): Improve docstrings for functions - which emulate operators. Add Seealso cross-referencing. - -2010-12-28 David Bateman - - * ls-mat5.cc (save_mat5_array_length (const float*, octave_idx_type, - bool)): Take in to account the 4 bytes of padding for an odd number - of elements in single precision arrays. - -2010-12-27 Rik - - * syscalls.cc (stat): Add additional calling form using file descriptor - fid to docstring. - -2010-12-26 Michael Godfrey - - * gammainc.cc: Add @tex blocks to docstring. - -2010-12-25 Rik - - * DLD-FUNCTIONS/str2double.cc: Fix bug in converting "numberi" strings - such as "2i". Add ability to process special value "NA". Rewrite - docstring. - -2010-12-25 Rik - - * input.cc (PS1): Correct use of xref macro to remove Tex warning. - -2010-12-22 Jordi Gutiérrez Hermoso - - * input.cc (PS1): Give an example of how PS1 can use ANSI escape - codes for getting a colourised prompt. - * oct-hist.cc (history): Correct documentation about how - history("-r") appends to history, doesn't replace it. - -2010-12-22 Judd Storrs - - * data.cc (Fvec): New optional second argument to set dimension - of result. - -2010-12-18 Konstantinos Poulios - - * graphics.h.in (class axes::properties): Tag xtickmode, ytickmode - and ztickmode with "u" qualifier. - (axes::properties::update_xtickmode, axes::properties::update_ytickmode - axes::properties::update_ztickmode): New functions. - -2010-12-18 John W. Eaton - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Simplify file name/id logic. - Bug #31910. - -2010-12-17 Rik - - * oct-parse.yy (builtin): Remove seealso reference to deprecated - function dispatch. - -2010-12-17 Konstantinos Poulios - - * graphics.h.in (class text::properties): New properties positionmode, - rotationmode, horizontalalignmentmode, verticalalignmentmode. - * graphics.cc (axes::properties::init, axes::properties::set_defaults): - Set mode to auto for all initialized positioning properties. - (axes::properties::set_xlabel,set_ylabel,set_zlabel,set_title): - Revert to auto-positioning mode and turn clipping off when title or - labels are set. - * gl-render.cc (opengl_renderer::draw_axes): Disable auto-positioning - of manually positioned title and axes labels. - -2010-12-17 Konstantinos Poulios - - * graphics.h.in (class axes::properties): Change default value for - fontsize from 12 to 10. - * graphics.cc (axes::properties::set_defaults): Likewise. - -2010-12-15 John W. Eaton - - Bug #31883. - - * oct-hist.cc (initialize_history): Call command_history::initialize. - - * octave.cc (gripe_safe_source_exception): New function. - (safe_source_file): New function. - (execute_startup_files): Call safe_source_file instead of source_file. - (execute_command_line_file): Likewise. Don't handle exceptions here. - (execute_eval_option_code): Also catch octave_execution exception. - -2010-12-15 John W. Eaton - - Bug #31861. Also bug #31286. - - * lex.h (lexical_feedback::defining_func): Now int instead of bool. - lex.ll (is_keyword_token): Increment lexer_flags.defining_func - instead of setting it to true. - (lexical_feedback::init): Set defining_func to 0 instead of false. - * oct-parse.yy (recover_from_parsing_function): Decrement - lexer_flags.defining_func here. - * input.cc (input_event_hook): Don't do anything if we are - lexer_flags.defining_func is nonzero. - -2010-12-13 Rik - - * ov-struct.cc (isfield): Additional test for cellstring of field names. - -2010-12-13 Rik - - * data.cc (mod): Additional tests for mod with non-integer real values. - -2010-12-12 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Drop support for the "i" option. - -2010-12-09 Marco Atzeri - - * mappers.cc: In test for gamma, expect Inf for gamma(-1), not NaN. - Bug #31772. - -2010-12-08 John W. Eaton - - * graphics.h.in (base_property::do_set): Don't reverse order of - children. Bug #31822. - -2010-12-08 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_user_function): - Return if an error occurs in out_of_date_check. - -2010-12-07 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): If an - error occurred during the first call to xfind, don't try again. - -2010-12-07 John W. Eaton - - * oct-parse.yy (case_list): Also accept default_case by itself. - Bug #31793. - -2010-12-01 John W. Eaton - - * pt-pr-code.cc (tree_print_code::visit_octave_user_function_trailer): - Don't indent or print "endfunction" here. - * ov-usr-fcn.cc (ov_user_script::do_multi_index_op): Save and - set tree_evaluator::statement_context, not - tree_evaluator::in_fcn_or_script_body. - (ov_user_function::do_multi_index_op): Likewise. - * pt-eval.cc: Initialize tree_evaluator::statement_context, not - tree_evaluator::in_fcn_or_script_body. - (tree_evaluator::visit_break_command): Check statement_context, - not in_fcn_or_script_body. - (tree_evaluator::visit_continue_command): Likewise. - (tree_evaluator::visit_return_command): Likewise. - (visit_statement): Also echo commands in scripts if - Vecho_executing_commands & ECHO_SCRIPTS is true. - * pt-eval.h (tree_evaluator::in_fcn_body, - tree_evaluator::in_script_body): New static variables. - (tree_evaluator::): Now an enum. - (tree_evaluator::in_function_or_script_body): Now an enum. - Rename from in_fcn_or_script_body. - -2010-12-01 Kai Habel - - * DLD-FUNCTIONS/fltk_backend.cc (fltk_gui_mode): Fix gui mode - problems when set to none. - -2010-11-26 Kai Habel - - * DLD-FUNCTIONS/fltk_backend.cc (find_uimenu_children, - __fltk_redraw__): Consider hidden handles here. - -2010-11-26 John W. Eaton - - * defaults.cc (FEXEC_PATH): Only call set_exec_path if nargin is - greater than zero. - -2010-11-25 Kai Habel - - * DLD-FUNCTIONS/fltk_backend.cc (fltk_gui_mode): New - function to set GUI mode. - (__fltk_uigetfile__): Remove nargout from argument list. - (plot_window): Remove gui_mode enum here. - -2010-11-25 John W. Eaton - - * defaults.cc (set_exec_path): Append EXEC_PATH to PATH. Store - only extra directories in EXEC_PATH. - (FEXEC_PATH): Update doc string. - Bug #31695. - -2010-11-22 John W. Eaton - - * defun.cc (defun_isargout): Cast nout to octave_idx_type in call - to std::min. - -2010-11-21 Kai Habel - - * DLD-FUNCTIONS/fltk-backend.cc (__fltk_uigetfile__): New function - for GUI file dialogs. - * graphics.cc (property_list::set): Indentation fix. - -2010-11-20 Ben Abbott - - * graphics.h.in: Change intended for 11272. - -2010-11-19 John W. Eaton - - Bug #31706. - - * mex.h, mex.cc (mxArray::dup): Rename from clone. Change all - uses and derived classes. - (mxArray_octave_value::dup): Convert to mxArray object here. - -2010-11-19 John W. Eaton - - Bug #31707. - - * mex.cc (mex::free): Don't warn about skipping memory not - allocated by mxMalloc, mxCalloc, or mxRealloc. - -2010-11-18 Daisuke TAKAGO - - * gl-render.cc (opengl_renderer::draw_line): - Layer markers in 2D plots. - -2010-11-18 John W. Eaton - - Bug # 31689. - - * ov-str-mat.cc (octave_char_matrix_str::save_ascii): - Adapt to change in charMatrix::row_as_string function. - * DLD-FUNCTIONS/md5sum.cc: New tests. - -2010-11-17 John W. Eaton - - * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue1): Also stash - the directory name of the parent function in the newly created - anonymous function. Bug #31484. - -2010-11-17 John W. Eaton - - * oct-parse.yy (parse_fcn_file): Protect and set global_command - to 0 before calling yyparse. - * toplev.cc (main_loop): Likewise. - - * oct-parse.yy (eval_string): Set global_command to 0 after - protecting it and before calling yyparse. - * input.cc (get_debug_input): Likewise. - -2010-11-14 Michael Goffioul - - * graphics.h.in (graphics_object::get_ancestor): New method. - * graphics.cc (graphics_object::get_ancestor): Likewise. - (convert_text_position, convert_cdata): Use it. - (xget_ancestor): Remove obsolete function. - * DLD_FUNCTIONS/fltk_backend.cc (plot_window::uimenu_update, - fltk_backend::update): Replace xget_ancestor with - graphics_objects::get_ancestor. - -2010-11-13 John W. Eaton - - * graphics.h.in (figure::properties::filename): Make writable. - Bug #31450. - -2010-11-12 John W. Eaton - - * Makefile.am (nodist_liboctinterp_la_SOURCES): Remove - $(OPT_HANDLERS) from the list. Bug #31623. - -2010-11-11 John W. Eaton - - * data.cc: New tests for cat. Enable 4 asserts that were disabled. - -2010-11-11 Kai Habel - - * fltk-backend.cc (plot_window::uimenu_update, - fltk_backend::update): Add prefix 'ID_' to property ids to avoid - name clash on windows systems. - * graphics.cc (gnuplot_backend::update): Ditto. - * genprops.awk (emit_declarations, emit_source): Ditto. - -2010-11-11 John W. Eaton - - Bug #31165. - - * symtab.h (symbol_table::parent_classes): New static function. - * symtab.cc (out_of_date_check): Also look for methods defined - in parent classes of dispatch_type. - (symbol_table::fcn_info::fcn_info_rep::load_class_method): Call - parent_classes instead of accessing parent_map directly. - -2010-11-10 John W. Eaton - - * octave.cc (octave_main): Call octave_ieee_init here. - * sysdep.cc (sysdep_init): Not here. - -2010-11-10 John W. Eaton - - * sysdep.cc: Eliminate special case for __DECCXX. - -2010-11-10 John W. Eaton - - * sysdep.cc (sysdep_init): Eliminate special case for NeXT systems. - (malloc_handler, NeXT_init): Delete. - -2010-11-10 John W. Eaton - - * sighandlers.cc (MAYBE_ACK_SIGNAL): Delete macro and all uses. - (sigchld_handler): Delete special case for __EMX__. - * sysdep.cc (sysdep_init): Eliminate special case for __EMX__. - (OS2_init, Fextproc): Delete. - -2010-11-10 John W. Eaton - - * sysdep.cc (sysdep_init): Eliminate special case for SCO. - (SCO_init): Delete. - -2010-11-10 John W. Eaton - - * DLD-FUNCTIONS/__dispatch__.cc: Rename from dispatch.cc. - Move tests to scripts/deprecated/dispatch.m. - (F__dispatch__): Rename from Fdispatch. - - * DLD-FUNCTIONS/module-files: Add __dispatch__.cc to the list. - Remove dispatch.cc from the list. - -2010-11-10 John W. Eaton - - * oct-parse.yy (Fbuiltin): Move here from DLD-FUNCTIONS/dispatch.cc. - -2010-11-10 Kai Habel - - * fltk-backend.cc (fltk_uimenu::update_accelerator - fltk_uimenu::update_callback, fltk_uimenu::update_enable, - fltk_uimenu::update_foregroundcolor fltk_uimenu::update_visible): - Check if find_item was succesful. - (fltk_uimenu::update_seperator): Make sure we don't write beyond - limits of menubar structure. - -2010-11-10 John W. Eaton - - Bug #31491. - - * pt-pr-code.cc, pt-pr-code.h (tree_print_code::print_fcn_handle_body): - New function. - * ov-fcn-handle (octave_fcn_handle::print_raw): Use it. - * pt-pr-code.cc (tree_print_code::visit_anon_fcn_handle): Likewise. - * pt-pr-code.h (tree_print_code::suppress_newline): Rename from - printing_newlines. Now int. Change all uses. - * pt-pr-code.cc (tree_print_code::newline): Only set - beginning_of_line if newline is printed. - -2010-11-10 John W. Eaton - - Bug #31567. - - * ov-fcn.h (octave_base_value::is_class_constructor) - octave_base_value::is_class_method): New optional character - string argument. - * ov-usr-fcn.h (octave_usr_fcn::is_class_constructor) - octave_usr_fcn::is_class_method): New optional arg. If this - argument is not empty, also check it against the name of the - dispatch class. - * ov-class.cc (Fclass): Allow class function to be called inside - a class method. Require that the to-be-constructed object is of - the same class as the class constructor or method. - -2010-11-09 John W. Eaton - - * lex.ll (handle_number): Set lexer_flags.looking_for_object_index - to false here. Fixes bug #31608. - -2010-11-09 John W. Eaton - - * gl-render.cc (make_marker_list): Call fmod instead of mod. - - * data.cc (Frem): Use xrem instead of fmod and fmodf. - (Fmod): Use xmod instead of mod. - -2010-11-08 Kai Habel - - * fltk-backend.cc (fltk_uimenu::do_find_uimenu_children): - Simplify. Remove unused code. - (fltk_uimenu::update_submenu): Remove unused function. - (fltk_uimenu::add_to_menu, fltk_uimenu::remove_from_menu): - Simplify. Get properties for valid objects only. - -2010-11-03 Ben Abbott - - * gl-render.cc: Do not give rendering error for uimenus. - -2010-11-03 John W. Eaton - - * DLD-FUNCTIONS/cquad.cc: If we don't have copysign but we do - have _copysign, define copysign to be _copysign. - -2010-11-02 John W. Eaton - - * DLD-FUNCTIONS/cquad.cc (Fcquad): Use octave_Inf, not INFINITY. - -2010-11-02 David Bateman - - * ls-hdf5.cc (bool hdf5_get_scalar_attr (hid_t, hid_t, - const char *, void *), herr_t hdf5_add_scalar_attr - (hid_t, hid_t, const char *, void *)): New functions. - (herr_t hdf5_add_scalar_attr (hid_t, const char *)): Remove static - definition to make this function visible externally. - * ls-hdf5.h (extern OCTINTERP_API bool hdf5_check_attr (hid_t, - const char *), extern OCTINTERP_API bool hdf5_get_scalar_attr - (hid_t, hid_t, const char *, void *buf), extern OCTINTERP_API herr_t - hdf5_add_attr (hid_t, const char *), extern OCTINTERP_API herr_t - hdf5_add_scalar_attr (hid_t, hid_t, const char *, void *)): Function - declarations. - * ov-range.cc (bool octave_range::save_hdf5 (hid_t, const char *, - bool)): Save the number of elements in the range as an HDF5 attribute. - (bool octave_range::load_hdf5 (hid_t, const char *)): If an HDF5 - attribute containing the number of elements exists use it to ensure - the correct number of elements in the range. - -2010-11-01 David Bateman - - * gl-render.cc (void opengl_renderer::draw_patch (const - patch::properties &)): Draw clipped contours of patches. - * graphics.cc (template static void get_array_limits - (const Array&, double&, double&, double&)): Don't need to test - for NaN as comparison is always false. - (Matrix children_property::do_get_children (bool) const): New method of - new children_property class. - (void children_property::do_delete_children (bool)): Ditto. - (void base_properties::remove_child (const graphics_handle&)): Delete. - (void base_properties::set_children (const octave_value&)): Delete. - (void base_properties::delete_children (void)): Delete. - (base_properties::update_axis_limits (const std::string&, - const graphics_handle&) const): New method. - (void base_graphics_object::update_axis_limits (const std::string&, - const graphics_handle&)): New Method. - (Matrix base_properties::get_children_internal (bool) const): Delete. - (Matrix base_properties::get_children (void) const): Delete. - (Matrix base_properties::get_hidden_children (void) const): Delete. - (void axes::update_axis_limits (const std::string&, - const graphics_handle&): New Method. - (void hggroup::properties::update_limits (void) const): New method. - (void hggroup::properties::update_limits (const graphics_handle&) - const): New method. - (void hggroup::update_axis_limits (const std::string&, - const graphics_handle&)): New method. - * graphics.h.in (class children_property): New class. - (class base_properties): Use it. - (base_graphics_object::update_axis_limits(const std::string&, - const graphics_handle&)): New method. - (graphics_object::update_axis_limits(const std::string&, - const graphics_handle&)): New method. - (axes::update_axis_limits(const std::string&, - const graphics_handle&)): New method. - (hggroup::adopt (const graphics_handle&)): Use it - (void hggroup::properties::update_limits (void) const): Remove inline - definition of the methid. - (void hggroup::properties::update_limits (const graphics_handle&) - const): New method. - (void hggroup::update_axis_limits (const std::string&, - const graphics_handle&)): New method. - -2010-10-31 Michael Goffioul - - * xnorm.h (xnorm, xcolnorms, xrownorms, xfrobnorm): tag with - OCTINTERP_API. - -2010-10-31 Kai Habel - - * fltk-backend.cc (find_uimenu_children): Remove template argument. - (do_find_uimenu_children): New function. - -2010-10-29 David Bateman - - * graphics.cc (octave_value patch::properties::get_color_data - (void) const): Don't call convert_data is the facevertexcdata - property is undefined or empty. - * gl-render.cc (void opengl_renderer::draw_patch - (const patch::properties &)): Set ec_mode to 0 if edgecolor is "none". - Set fc_mode to 0 if facecolor is "none". - -2010-10-29 Ben Abbott - - * gl-render.cc: Crop ticks, ticklabels, and gridlines for OpenGL - backend. - -2010-10-28 Konstantinos Poulios - - * graphics.cc (normalized_aspectratios, max_axes_scale): - New file-scope static function - (updating_aspectratios): New file-scope variable. - (axes::properties::update_aspectratios, axes::update_axis_limits): - Return immediately if updating_aspecratios is true. - (axes::properties::update_aspectratios): - If dataaspectratiomode is set to manual this function will try to - respect it even after changes in xlim, ylim, zlim. - If both dataaspectratiomode and plotboxaspectratiomode is set to - manual this function will try to recalulate xlim, ylim, zlim - depending on the status of xlimmode, ylimmode, zlimmode. If - altering xlim, ylim, zlim is not possible, plotboxaspectratio will - be overriden. - * graphics.h.in (class axes::properties): Tag dataaspectratio, - dataaspectratiomode, plotboxaspectratio, and - plotboxaspectratiomode with "u" qualifier. - (axes::update_dataaspectratio, - axes::update_dataaspectratiomode, - axes::update_plotboxaspectratio, - axes::update_plotboxaspectratiomode): New functions. - -2010-10-25 John W. Eaton - - * octave.cc (octave_main): Use F77_CHAR_ARC_LEN macro to pass - character string length in call to xerbla. - -2010-10-25 Kai Habel - - * gl-render.cc (opengl_renderer::draw): Ignore uimenu objects here. - * graphics.h.in (class OCTINTERP_API uimenu): New graphics object. - * graphics.cc (lookup_object_name): Add uimenu here. - (make_graphics_object_from_type): Likewise. - (property_list::set): Likewise. - (property_list::lookup): Likewise. - (root_figure::init_factory_properties): Likewise. - (__go_uimenu__): New function. - * DLD-Functions/fltk-backend.cc (OpenGL_fltk::resize): Make public. - (script_cb): New function. - (fltk_uimenu): New class. - (plot_window::plot_window): Initialize fltk_uimenu object. - (plot_window::~plot_window): Delete fltk_uimenu object. - (plot_window::show_menubar): New function. - (plot_window::hide_menubar): New function. - (plot_window::uimenu_update): New function. - (plot_window::handle): Do not evaluate FLTK events when figure - is deleted. - (figure_manager::uimenu_update): New function. - (figure_manager::toggle_menubar_visibility): New functions. - (figure_manager::do_toggle_menubar_visibility): New function. - (figure_manager::do_uimenu_update): New function. - (fltk_backend::uimenu_set_fltk_label): New function. - (fltk_backend::update): Add figure and uimenu updates. - -2010-10-24 Rik - - * DLD-FUNCTIONS/tril.cc, syscalls.cc: Docstring improvements. - -2010-10-24 Rik - - * variables.cc: Deprecate is_global function - -2010-10-23 John W. Eaton - - * file-io.cc (Ffopen): Only handle fopen ("all") case if nargout - is 0 or 1. - -2010-10-22 John W. Eaton - - * octave.cc (usage): Put whitespace before and after usage message. - (octave_main): If getopt_long returns '?', it means an - unrecognized option was encountered. - Panic if default case in option switch statement is reached. - (verbose_usage, short_opts, usage_string): Remove '?' as an - alias for 'h' in the list of possible options. - Fixes bug #31423. - -2010-10-22 John W. Eaton - - * oct-parse.yy (load_fcn_from_file): Also strip directory when - computing function name from filename. Bug #31395. - -2010-10-21 Gunnar Farnebäck - - * mex.cc (mxArray_number::as_octave_value): Convert single - matlab array to single octave array instead of to double octave - array. - -2010-10-21 John W. Eaton - - * gripes.h: Include lo-array-gripes.h. - -2010-10-21 John W. Eaton - - * ov-float.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, - ov-scalar.cc: Use gripe_nan_to_character_conversion. - - * ops.h, ov-base-mat.cc, ov-base-scalar.cc, ov-complex.h, - ov-cx-mat.cc, ov-cx-sparse.cc, ov-float.h, ov-flt-complex.h, - ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-range.cc, ov-re-mat.cc, - ov-re-sparse.cc, ov-scalar.h: Use gripe_nan_to_logical_conversion. - -2010-10-20 John W. Eaton - - * toplev.cc (Fsystem): Allow optional RETURN_OUTPUT and TYPE - arguments to be specified independently. Update doc string. - -2010-10-18 John W. Eaton - - * load-path.cc (load_path::do_find_first_of, - load_path::do_find_all_first_of): Also search path for relative - filenames. - -2010-10-17 John W. Eaton - - * DLD-FUNCTIONS/tril.cc: Use Octave copyright notice instead of - generic "This program is free software" notice. - - * toplev.cc (Fwarranty): Say "GNU Octave" instead of "This program". - -2010-10-16 John W. Eaton - - * mxarray.h.in (mxArray::is_function_handle): New virtual function. - * mex.cc (mxArray_base::is_function_handle): New pure virtual function. - (mxArray_octave_value::is_function_handle): New function. - (mxArray_matlab::is_function_handle): New function. - (mxIsFunctionHandle): New function. - * mexproto.h (mxIsFunctionHandle): Provide decl. - -2010-10-14 John W. Eaton - - * sparse.cc: Rename from DLD-FUNCTIONS/sparse.cc. Include - defun.h, not defun-dld.h. - (Fissparse, Fsparse, Fspalloc): Use DEFUN, not DEFUN_DLD. - * Makefile.am (DIST_SRC): Add sparse.cc to the list. - * DLD-FUNCTIONS/module-files: Remove sparse.cc from the list of files. - -2010-10-09 Ben Abbott - - * gl-render.cc: Treat images with scalar unique(x/ydata) like Matlab. - -2010-10-08 John W. Eaton - - * octave.cc (maximum_braindamage): - Set do_braindead_shortcircuit_evaluation to true. - Disable Octave:possible-matlab-short-circuit-operator warning. - * oct-parse.yy (if_cmd_list1, elseif_clause, loop_command): - Mark conditions in IF and WHILE statements for braindead - short-circuit behavior. - * pt-binop.cc (Vdo_braindead_shortcircuit_evaluation): New - static variable. - (Fdo_braindead_shortcircuit_evaluation): New function. - (tree_binary_expression::rvalue1): Perform short-circuit - evaluation of | and & expressions that are conditions of WHILE - and IF statements if Vdo_braindead_shortcircuit_evaluation is true. - * pt-binop.h - (tree_binary_expression::eligible_for_braindead_shortcircuit): - New data member. Initialize it in class constructors. - (tree_binary_expression::mark_braindead_shortcircuit): New function. - * pt-exp.h (tree_expression::mark_braindead_shortcircuit): - New virtual function. - -2010-10-08 Ben Abbott - - * graphics.h.in: Properly set image pixel size when unique(x/ydata) - is scalar. - -2010-10-07 Rik - - * DLD-FUNCTIONS/conv2.cc (convn): Update docstring. Add 1 new test. - -2010-10-07 John W. Eaton - - * DLD-FUNCTIONS/conv2.cc (convn): Style fixes. Edit docstring. - -2010-10-07 John W. Eaton - - * file-io.cc (do_stream_open): Use fileno instead of ::fileno to - avoid problems if fileno is a macro. - -2010-10-05 John W. Eaton - - * oct-stdstrm.h (octave_stdiostream::octave_stdiostream): Use - fileno instead of ::fileno to avoid problems if fileno is a macro. - -2010-10-04 Shai Ayal - - * graphics.h.in (axis::properties::pixel_size): New function. - (axis::properties::pixel_xsize,axis::properties::pixel_ysize): - New functions, use axis::properties::pixel_size - (axis::properties::update_ydata,axis::properties::update_xdata): - Use axis::properties::pixel_size functions - - * graphics.cc (__image_pixel_size__): New function uses - axis::properties::pixel_size functions - -2010-10-01 John W. Eaton - - * graphics.h.in (class caseless_str): Move to - liboctave/caseless-string.h. - -2010-10-01 John W. Eaton - - * graphics.cc (base_properties::get_dynamic): Create and return - octave_scalar_map object instead of Octave_map. - (base_graphics_object::remove_all_listeners): Use octave_map - instead of Octave_map. - (base_graphics_object::values_as_string): Likewise. - - * graphics.h.in, graphics.cc (property_list::as_struct): - Return octave_scalar_map instead of Octave_map. - (base_graphics_object::values_as_struct): Likewise. - (graphics_object:values_as_struct): Likewise. - (graphics_object::set): Accept octave_map instead of Octave_map. - - * genprops.awk: Use octave_map instead of Octave_map in - generated code. Convert second arg to octave_value in call to - octave_map::assign. - -2010-10-01 John W. Eaton - - * mex.cc (mxArray_struct::as_octave_value): Use octave_map - instead of Octave_map. - -2010-10-01 John W. Eaton - - * ov-base.h: Delete forward decl for Octave_map class. - -2010-10-01 John W. Eaton - - * ov-struct.h (octave_struct (const Octave_map&)): Delete constructor. - -2010-10-01 John W. Eaton - - * ov-fcn-inline.cc (octave_fcn_inline::map_value): Use - octave_scalar_map and octave_map instead of Octave_map. - -2010-10-01 John W. Eaton - - * variables.cc (symbol_info_list::map_value): Use - octave_scalar_map and octave_map instead of Octave_map. - -2010-09-30 Jaroslav Hajek - - * oct-map.h (octave_fields::nil_rep): Make a static function. - (octave_fields::octave_fields (void)): Use it here. - -2010-09-30 John W. Eaton - - * toplev.cc (octave_config_info): Use Octave_scalar_map instead - of Octave_map. - * sighandlers.cc (make_sig_struct, FSIG): Likewise. - - * utils.cc (decode_subscripts): Use octave_map instead of Octave_map. - * octave.cc (F__version_info__): Likewise. - * pt-eval.cc (visit_complex_for_command): Likewise. - * pt-idx.cc (tree_index_expression::lvalue): Likewise. - -2010-09-30 John W. Eaton - - * DLD-FUNCTIONS/gcd.cc: Style fixes. - -2010-09-30 John W. Eaton - - * oct-errno.cc.in (octave_errno::do_list, octave_errno::list): - Use octave_scalar_map instead of Octave_map. - -2010-09-30 Jordi Gutiérrez Hermoso - - * DLD-FUNCTIONS/gcd.cc (divide): New function, complex integer - division with remainder. - (simple_gcd): Overload for complex values. - (extended_gcd): Ditto. - (do_simple_gcd): Dispatch for complex gcd. - (do_extended_gcd): Ditto. - (Fgcd): Mention that complex gcd is now also possible. - -2010-09-30 Jordi Gutiérrez Hermoso - - * DLD-FUNCTIONS/gcd.cc (extended_gcd): Fix bug that didn't - distinguish the two output coefficients. - (Fgcd): Fix off-by-one bug and typo from copy-pasted code. - -2010-09-30 Jaroslav Hajek - - * oct-parse.yy (Fautoload): Replace Octave_map by octave_map. - * ov-fcn-handle.cc (Ffunctions): Replace Octave_map by - octave_scalar_map. - -2010-09-30 Jaroslav Hajek - - * help.cc (F__which__): Use octave_map instead of Octave_map. - * load-save.cc (do_load, save_fields, save_vars): Use - octave_scalar_map instead of Octave_map. - -2010-09-30 Jaroslav Hajek - - * debug.cc (Fdbstatus, Fdbstack): Use octave_map instead of - Octave_map. - * error.cc (warning_options, initialize_warning_options, - pr_where, Frethrow, Ferror, Fwarning, Flasterror): Use - octave_scalar_map or octave_map instead of Octave_map. - -2010-09-30 Jaroslav Hajek - - * oct-errno.cc (octave_errno::list, octave_errno::do_list): Use - octave_scalar_map instead of Octave_map. - * oct-errno.h: Update decls. - -2010-09-30 Jaroslav Hajek - - * pt-idx.cc (tree_index_expression::make_arg_struct): Use octave_map - instead of Octave_map. - * pt-idx.h: Update decl. - -2010-09-29 Jaroslav Hajek - - * oct-map.cc (octave_map::contents): Fix off-by-1 error. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (OCTAVE_GLPK_GET_REAL_PARAM, - OCTAVE_GLPK_GET_INT_PARAM): Use GETFIELD to access map fields, - not CONTENTS. - * DLD-FUNCTIONS/amd.cc (Famd): Likewise. - * DLD-FUNCTIONS/luinc.cc (Fluinc): Likewise. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (F__ftp_dir__): Use octave_scalar_map - instead of Octave_map. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/luinc.cc (Fluinc): Use octave_scalar_map - instead of Octave_map. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Use octave_scalar_map - instead of Octave_map. Use scalar values where appropriate in - call to glpk. - (OCTAVE_GLPK_GET_REAL_PARAM, OCTAVE_GLPK_GET_INT_PARAM): - Update for octave_scalar_map. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/amd.cc (Famd): Use octave_scalar_map instead of - Octave_map. - * DLD-FUNCTIONS/cellfun.cc (get_output_list): Likewise. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/dispatch.cc (Fdispatch): Use octave_scalar_map - instead of Octave_map. - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Likewise. - * DLD-FUNCTIONS/regexp.cc (octregexp): Likewise. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/eigs.cc (Feigs): Use octave_scalar_map instead - of Octave_map. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/getpwent.cc (mk_pw_map): Use octave_scalar_map - instead of Octave_map. - * DLD-FUNCTIONS/getgrent.cc (mk_gr_map): Likewise. - * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Likewise. - -2010-09-29 John W. Eaton - - * DLD-FUNCTIONS/time.cc (intfield, stringfield): New functions. - (mk_tm_map, extract_tm): Arg is now octave_scalar_map instead of - Octave_map. - (extract_tm): Use local intfield and setfield functions. - (Fmktime, Fstrftime): Use octave_scalar_map instead of Octave_map. - -2010-09-28 John W. Eaton - - * Cell.h, Cell.cc (Cell::Cell (const std::list&)): - New constructor. - -2010-09-28 John P. Swensen - - * DLD-FUNCTIONS/__magick_read__.cc (maybe_initialize_magick): - Warn on initialization of *Magick if QuantumDepth is less than 32. - -2010-09-28 John P. Swensen - - * DLD-FUNCTIONS/__magick_read__.cc (F__magick_format_list__): - New function. - -2010-09-28 John P. Swensen - - * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image) - (encode_bool_image): Ensure bit depth encoding is correct for - logical, uint8, and uint16 images. - -2010-09-28 Jaroslav Hajek - - * xpow.cc (xpow (double, const Matrix&)): Ensure real result for - positive base. - (xpow (double, const Matrix&)): Likewise. - -2010-09-28 Jaroslav Hajek - - * error.cc (interpreter_try): New function. - * error.h: Declare it. - * ov-fcn-handle.cc (octave_fcn_binder::maybe_binder): Use it here. - * variables.cc (safe_symbol_lookup): Also here. - -2010-09-27 John W. Eaton - - * gl-render.cc (opengl_renderer::draw_axes): Reverse order in - which child objects are processed. - -2010-09-26 Rik - - * load-path.cc: Use single quotes for regex when possible. - * DLD-FUNCTIONS/regexp.cc (regexp): Update docstring to highlight - differences between POSIX and PCRE regex. - -2010-09-26 Rik - - * load-path.cc: Use single quotes for regular expression patterns when - possible. - -2010-09-26 Rik - - * DLD-FUNCTIONS/regexp.cc (regexp, regexprep, regexpi): Update - docstrings to more fully explain PCRE. Modify advanced tests to run - only run when PCRE is present. - -2010-09-25 John W. Eaton - - * toplev.cc (Fquit): Allow any number of output parameters. - -2010-09-25 Jaroslav Hajek - - * DLD-FUNCTIONS/gcd.cc (Fgcd): Rewrite. Use more efficient code. - Specialize for simple/extended Euclid. Handle integer arguments. - -2010-09-24 Rik - - * DLD-FUNCTIONS/regexp.cc (regexp, regexprep): Update docstring to - discuss limits when not compiled with PCRE. - -2010-09-23 John W. Eaton - - * Makefile.am (ALL_DEF_FILES): New variable. - (DEF_FILES): Don't include $(DLD_DYNAMIC_DEF_FILES) in the list. - (DEF_FILES DLD_DYNAMIC_DEF_FILES): Fix dependency info. - (doc-files): Depend on $(ALL_DEF_FILES), not $(DEF_FILES). - -2010-09-22 Jaroslav Hajek - - * xpow.cc (elem_xpow (float, const NDArray&), - elem_xpow (float, const FloatNDArray&)): Use simpler tests. - -2010-09-21 John W. Eaton - - * oct-stream.h (octave_base_stream::file_number): Return 0, 1, - and 2 for named stdin, stdout, and stderr streams; -1 otherwise. - -2010-09-21 John W. Eaton - - * syscalls.cc (Fgethostname): New function. - -2010-09-20 John W. Eaton - - * DLD-FUNCTIONS/time.cc (Fmktime): New tests (bug #31079). - -2010-09-20 John W. Eaton - - Bug #31085: - - * file-io.cc (do_stream_open): Use fopen, fileno, and gzdopen - instead of gzopen. Pass integer file id to - octave_zstdiostream::create. - - * oct-stdstrm.h (class octave_base_tstdiostream): Rename from - octave_tstdiostream. - (octave_tstdiostream::fnum): New data member. - (octave_tstdiostream::file_number): New member function. - (octave_tstdiostream::octave_tstdiostream): New arg, FID. - (octave_tstdiostream::create): Delete. - (class octave_stdiostream, class octave_zstdiostream): New - non-template classes derived from octave_tstdiostream to replace - typedefs. - - * oct-stream.h (octave_base_stream::file_number): Now virtual - and const. Return -1 in defaault implementation. - -2010-09-20 John W. Eaton - - * DLD-FUNCTIONS/regexp.cc (octregexp_list) [HAVE_PCRE]: - Break from search loop if idx is at or beyond end of buffer - (bug #31056). - -2010-09-19 Ben Abbott - - * graphics.h.in: Add displayname property to patch and surface objects. - -2010-09-18 David Bateman - - * graphics.h.in: Remove properties for dead legend code. - -2010-09-18 Ben Abbott - - * graphics.cc: Replace pagetype property value custom with . - -2010-09-16 David Bateman - - * graphics.cc (static Matrix screen_size_pixels (void), static Matrix - papersize_from_type (const caseless_str, const caseless_str))): New - functions. - (void figure::properties::set_paperunits (const octave_value&), - void figure::properties::set_papertype (const octave_value&), - void figure::properties::update_paperunits (const caseless_str&)) - void figure::properties::update_papertype (void), - void figure::properties::update_papersize (void), - void figure::properties::update_units (const caseless_str&)): New - methods of the figure class. - (void axes::properties::set_units (const octave_value&), - void axes::properties::update_units (const caseless_str&), - void axes::properties::set_fontunits (const octave_value&), - void axes::properties::update_fontunits (const caseless_str&)): - New methods of the axes class. - * graphics.h.in (void figure::properties::update_paperunits - (const caseless_str&), void figure::properties::update_units - (const caseless_str&)): Declaration of new figure methods. - (void figure::properties::update_paperunits (const caseless_str&), - void figure::properties::update_units (const caseless_str&)): - Declaration of new axes methods. - -2010-09-16 John P. Swensen - - * DLD-FUNCTIONS/))magick_read__.cc (write_image): Remove - unnecessary for loop to set image format. - -2010-09-16 John W. Eaton - - * DLD-FUNCTIONS/svd.cc (Fsvd): Delete assert to avoid - "comparison is always false due to limited range of data type" - warning from GCC. - - * utils.cc (octave_vsnprintf): Declare nchars volatile to avoid - GCC warning. - - * pr-output.cc (octave_print_internal): Avoid uninitialized - variable warning from GCC. - -2010-09-16 John Swensen - - * DLD-FUNCTIONS/__magick_read__.cc (write_image): Allow - arbitrary extensions with format specifier. - -2010-09-15 John W. Eaton - - * load-path.cc (Faddpath, Frmpath): Document path arguments. - -2010-09-15 John Swensen - - * DLD-FUNCTIONS/__magick_read__.cc (write_image): Allow writing - arbitrary image types to filenames without an extension (bug #30784). - -2010-09-14 John W. Eaton - - * variables.cc (symbol_exist): If looking for any type of file - or "file", return 7 for directories and 2 for all other types of - files. - -2010-09-14 John W. Eaton - - * graphics.h.in (base_graphics_backend::initialize): Rename - from base_graphics_backend::object_created. Change all uses. - (base_graphics_backend::finalize): Rename from - base_graphics_backend::object_destoyed. Change all uses. - (base_graphics_backend::update): Rename from - base_graphics_backend::property_changed. Change all uses. - -2010-09-14 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::object_destroyed): - Don't attempt to delete window if __plot_stream__ is empty. - -2010-09-14 Jordi Gutiérrez Hermoso - - * load-path.cc (genpath): Pass SKIP in recursive call. - (Fgenpath): Accept list of directories to skip. - -2010-09-14 John W. Eaton - - * oct-stream.cc (BEGIN_CHAR_CLASS_CONVERSION): If we hit EOF but - have found a match, clear the stream state (bug # 30997). - -2010-09-13 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Remove subsref optimization. - -2010-09-13 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellindexmat): New DEFUN. - -2010-09-12 Jaroslav Hajek - - * ov-fcn-handle.cc (octave_fcn_binder::maybe_binder): Stash name tags - in the template. - (octave_fcn_binder::do_multi_index_op): Don't use xelem to ensure - proper unsharing. Make a shallow copy prior to call to ensure - consistency throughout recursive calls. - -2010-09-11 Jaroslav Hajek - - * ov-fcn-handle.h (octave_fcn_binder): New subclass. - * ov-fcn-handle.cc: Define methods. - * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue1): Call - octave_fcn_binder::maybe_binder. - -2010-09-11 John W. Eaton - - * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): - Avoid GCC shadow variable warning. - -2010-09-11 John W. Eaton - - * load-path.cc (Faddpath): Adjust value of nargin if numeric - option is found (bug #31001). - -2010-09-09 Shai Ayal - - * gl2ps-renderer.cc: Renders to a previously opened fid. - * gl2ps-renderer.h: Ditto. - * DLD-FUNCTIONS/fltk_backend.cc: print now accepts fid instead - of filename to use with above change - -2010-09-07 Jaroslav Hajek - - * DLD-FUNCTIONS/__magick_read__.cc (maybe_initialize_magick): New - helper function. Move initialization code & static variable here. - (F__magick_read__, F__magick_write__, F__magick_finfo__): Call it - here. - -2010-09-03 Jaroslav Hajek - - * DLD-FUNCTIONS/cquad.cc: New source, courtesy by Pedro Gonnet. - * DLD-FUNCTIONS/module-files: Update. - -2010-09-01 Marco Caliari - - * graphics.cc: Fix axes limits underflow to zero for logscale. - -2010-09-01 Jaroslav Hajek - - * pt-mat.cc (single_type_concat (Array&, ...)): Optimize all - scalars case. - -2010-09-01 Jaroslav Hajek - - * oct-map.cc (octave_map::cat): Search first for an index with - nonzero nfields and use it for comparisons. - (permute_to_correct_order1): New overloaded helper func. - (permute_to_correct_order): use it here. Pass the index here. - * pt-mat.cc (single_type_concat): Don't subst 0x0 for all empty - arrays. Use the respective cat() capability instead. - -2010-09-01 Jaroslav Hajek - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Support "emptyvalue" option. - Fix condition for terminating read. - -2010-08-31 Jaroslav Hajek - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Support reading from a file ID. - -2010-08-31 Jaroslav Hajek - - * ov-class.cc (get_current_method_class): Make it an octave_class - method. Return class_name as default. - (octave_class::dotref): Error on zero return value. - -2010-08-30 Ben Abbott - - * gl-render.cc: Matlab compatible markers for the OpenGL. - -2010-08-30 John W. Eaton - - * graphics.cc (convert_cdata_1, convert_cdata_2): New functions. - (convert_cdata): Use them to avoid converting all elements of - cdata to double at once. - * graphics.h.in (surface::properties::init): Constrain cdata and - alphadata to be single, double, or uint8. - -2010-08-30 Jaroslav Hajek - - * graphics.cc (convert_cdata): Avoid extracting pointer to temporary - copy. - -2010-08-30 John W. Eaton - - * graphics.cc (convert_cdata): Allow cdata to be any type that - can be converted to double. - * graphics.h.in (surface::properties::init): Remove constraints - on cdata and alphadata. - -2010-08-27 Jordi Gutiérrez Hermoso - - * graphics.cc (axes::properties::rotate_view): Don't rotate past - the top and bottom. - (axes::properties::update_camera): Fix the view when rotating to - the bottom. - (calc_dimensions): New static function. - (F__calc_dimensions__) New defun to replace m-script function. - * graphics.h.in (calc_dimension): Provide decl. - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): - Use calc_dimensions to decide whether the current figure should - be rotated. - (plot_window::mark_modified) Recompute the number of dimensions. - Deactivate rotation if necessary. - (plot_window::ndim) New data member. - (plot_window::button_press, plot_window::handle): Only turn on - rotation if ndim == 3. - -2010-08-24 David Bateman - - * ls-mat5.cc (static void read_mat5_binary_data (std::istream&, - float *, octave_idx_type, bool, mat5_data_type, - oct_mach_info::float_format)) : New function - (std::string read_mat5_binary_element (std::istream&, - const std::string&, bool, bool&, octave_value&)): Treat - MAT_FILE_SINGLE_CLASS as single precision rather than convert to - double precision. - (static void write_mat5_array (std::ostream&, const FloatNDArray&, - bool), int save_mat5_array_length (const float*, octave_idx_type, - bool), int save_mat5_array_length (const FloatComplex*, - octave_idx_type, bool)): New functions. - (int save_mat5_element_length (const octave_value&, - const std::string&, bool save_as_floats, bool), bool - save_mat5_binary_element (std::ostream&, const octave_value&, - const std::string&, bool, bool, bool, bool)): Treat - MAT_FILE_SINGLE_CLASS as single precision rather than convert to - double precision. - -2010-08-23 John W. Eaton - - * load-path.cc (load_path::dir_info::initialize): Clear - method_file_map before updating file list. - * load-path.cc (load_path::load_path): Explicitly initialize - private_fcn_map. - -2010-08-17 Rik - - * mappers.cc (gamma,lgamma): Add %!tests for negative integer - input arguments. - -2010-08-17 Rik - - * bitfcns.cc (bitmax): Add additional calling argument, class, and - additional return value for bitmax("single"). - -2010-08-17 Rik - - * bitfcns.cc (sizemax): Improve documentation string. - -2010-08-16 Ben Abbott - - * gl2ps.c: Use upstream version gl2ps-1.3.5-svn-20100816. - -2010-08-13 Rik - - * toplev.c (do_goto_frame_relative): Remove unused variable c. - -2010-08-13 Jaroslav Hajek - - * ov-builtin.cc - (octave_builtin::subsref (..., const std::list *) - octave_builtin::do_multi_index_op (..., const std::list *)): - New methods. Move code here. Set curr_lvalue_list. - (octave_builtin::curr_lvalue_list): New static member. - * ov-fcn-handle.h: Declare them. - * defun.cc (defun_isargout): New overloaded function. - * defun-int.h: Declare it. - -2010-08-11 Jaroslav Hajek - - * ov-lazy-idx.h (octave_lazy_index::subsasgn): Remove override. Leave - it to the defualt numeric conversion mechanism. - -2010-08-10 Jaroslav Hajek - - * data.cc (Fdiff): Allow logical type. - -2010-08-09 Rik - - * oct-parse.yy (parse_fcn_file): Restore parsing of help text - accidentally lost in previous changeset. - -2010-08-09 John W. Eaton - - * oct-parse.yy (parse_fcn_file): Handle empty script files - (bug #30588). - -2010-08-09 Jaroslav Hajek - - * ov.cc (octave_value::assign (assign_op, const std::string&, - const std::list&, const octave_value&): - Don't attempt to fix struct assignment to non-struct values here. - Check for successful assignment before overwriting this. - - * ov-cell.cc (octave_cell::subsasgn): Allow dot assignment into empty - cell. - -2010-08-08 Rik - - * DLD-FUNCTIONS/config-module.awk: Add newlines to divide blocks - in generated modules.mk and improve readability. - -2010-08-08 Rik - - * Makefile.am: Create .DOCSTRINGS quietly and avoid screen clutter - during build. - -2010-08-08 Rik - - * Makefile.am: Run do_subst macro quietly without cluttering screen - during build. - -2010-08-08 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc - (base_graphics_backend::print_figure): Add a redraw to get the - thing going. - -2010-08-05 Shai Ayal - - * gl2ps-renderer.cc (draw): Add support for more terminal types. - * DLD-FUNCTIONS/fltk_backend.cc: Likewise. - -2010-08-04 John W. Eaton - - * mex.cc (mxArray_number (const char *)): Create empty string if - given NULL arg (bug #30639). Create 0x0 string array if given - an empty string argument, not 1x0. - -2010-08-03 Jaroslav Hajek - - * OPERATORS/op-str-str.cc: Fix assignment operator. - * OPERATORS/op-str-s.cc: Likewise. - * OPERATORS/op-str-m.cc: Likewise. - -2010-08-03 Jaroslav Hajek - - * ov-fcn-handle.cc - (octave_value::subsref (..., const std::list *) - octave_value::do_multi_index_op (..., const std::list *)): - New methods. Move code here. - * ov-fcn-handle.h: Declare them. - -2010-08-03 Jaroslav Hajek - - * ov-usr-fcn.cc (Fis_ignored_output): Rename to Fisargout. Change the - behavior to indicate not ignored outputs. - -2010-08-01 Rik - - * DLD-FUNCTIONS/amd.cc, DLD-FUNCTIONS/balance.cc, - DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, - DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/onCleanup.cc, - DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/str2double.cc, - DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/typecast.cc, data.cc, graphics.cc, - load-save.cc, ov-null-mat.cc, ov-struct.cc, ov-usr-fcn.cc, - pr-output.cc, strfns.cc, variables.cc: Grammarcheck documentation. - Add @noindent lines and ensure line length is less than 80. - -2010-07-31 Rik - - * DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/__voronoi__.cc, - DLD-FUNCTIONS/amd.cc, DLD-FUNCTIONS/balance.cc, - DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, - DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/conv2.cc, - DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, - DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, - DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/givens.cc, - DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, - DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, - DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, - DLD-FUNCTIONS/md5sum.cc, DLD-FUNCTIONS/onCleanup.cc, - DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, - DLD-FUNCTIONS/str2double.cc, DLD-FUNCTIONS/strfind.cc, - DLD-FUNCTIONS/sub2ind.cc, DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, - DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/time.cc, - DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/typecast.cc, - DLD-FUNCTIONS/urlwrite.cc, bitfcns.cc, data.cc, debug.cc, defaults.cc, - dirfns.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, - load-path.cc, load-save.cc, ls-oct-ascii.cc, mappers.cc, oct-hist.cc, - octave.cc, ov-base.cc, ov-cell.cc, ov-class.cc, ov-fcn-handle.cc, - ov-fcn-inline.cc, ov-null-mat.cc, ov-range.cc, ov-struct.cc, - ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-eval.cc, pt-mat.cc, - sighandlers.cc, strfns.cc, symtab.cc, syscalls.cc, sysdep.cc, - toplev.cc, utils.cc, variables.cc: Grammarcheck .cc files - -2010-07-30 John W. Eaton - - * debug.cc (Fdbstack): Improve display. - - * toplev.cc (octave_call_stack::do_goto_frame_relative): - Improve message. Don't display column number. - - * debug.cc (get_file_line): Don't allow eol to be less than bol. - (Fdbwhere): Improve message. Don't display column number. - (Fdbstack): Omit column number from display. - - * pt-eval.cc (tree_evaluator::visit_statement): Don't call - octave_call_stack::set_statement for commands issued while - debugging. - -2010-07-30 John W. Eaton - - * pt-bp.cc (tree_breakpoint::take_action): Only call - delete_breakpoint if is_breakpoint returns true. - (tree_breakpoint::visit_statement): If statement is command, - accept it, otherwise, maybe take action on the statement. - (tree_breakpoint::visit_no_op_command): Handle breakpoints at - end of function. - Addresses more problems found with bug #30490. - -2010-07-30 Rik - - * Makefile.am: add .DOCSTRINGS to the DISTCLEANFILES list - -2010-07-30 John W. Eaton - - * pt-eval.cc (tree_evaluator::visit_if_command, - tree_evaluator::visit_switch_command): Also process breakpoints - for the command (bug #30490). - -2010-07-29 Ben Abbott - - * gl-render.cc: Transpose markers '^' and 'v'. - -2010-07-29 John W. Eaton - - * pt-bp.cc (tree_breakpoint::visit_if_command): Also allow - breakpoint to be set on command, same as for switch, while, or - do-until statments. - * pt-select.h, pt-select.cc (tree_if_command::set_breakpoint, - tree_if_command::delete_breakpoint, tree_switch_command::set_breakpoint, - tree_switch_command::delete_breakpoint): Delete functions and decls. - (bug #30490). - -2010-07-29 Jaroslav Hajek - - * ov.cc (octave_value::subsref (..., const std::list *) - octave_value::do_multi_index_op (..., const std::list *)): - New methods. - * ov.h: Declare them. - * ov-base.cc (octave_base_value::subsref (..., const std::list *) - octave_base_value::do_multi_index_op (..., const std::list *)): - New methods. - * ov-base.h: Declare them. - * ov-usr-fcn.cc (octave_user_function::subsref (..., const std::list *) - octave_user_function::do_multi_index_op (..., const std::list *)): - New virtual method overrides. Move code here. - (octave_user_function::bind_automatic_vars): Add lvalue_list - parameter. Bind automatic variable ".ignored.". - (Fis_ignored_output): New defun. - * ov-usr-fcn.h: Update decls. - * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): - Skip warning if outputs are ignored. - * pt-exp.cc (tree_expression::rvalue (..., const - std::list *)): New method overload. - * pt-exp.h: Declare it. - * pt-idx.cc (tree_index_expression::rvalue (..., const - std::list *)): New method override. Move code here. - * pt-idx.h: Declare it. - * pt-assign.cc (tree_multi_assignment::rvalue): Pass in the pointer to - lvalue_list. - -2010-07-28 John W. Eaton - - * DLD-FUNCTIONS/find.cc (Ffind): Reorder cases to check for - character strings before numeric arrays. - Delete explicit instantiations of find_nonzero_elem_idx templates. - New test for char array argument. - -2010-07-27 Rik - - * DLD-FUNCTIONS/schur.cc (rsf2csf): Change first documentation line to - active voice. - -2010-07-27 Jaroslav Hajek - - * DLD-FUNCTIONS/schur.cc (Frsf2csf): New DEFUN. - -2010-07-23 Jaroslav Hajek - - * ov-base-scalar.cc (octave_base_scalar::diag): Implement here. Fix. - * ov-base-scalar.h: Only declare here. - -2010-07-23 Jaroslav Hajek - - * ov-re-diag.cc (octave_diag_matrix::try_narrowing_conversion): Remove - redundant cast. - * ov-flt-re-diag.cc - (octave_float_diag_matrix::try_narrowing_conversion): Ditto. - * ov-cx-diag.cc - (octave_complex_diag_matrix::try_narrowing_conversion): Ditto. - * ov-flt-cx-diag.cc - (octave_float_complex_diag_matrix::try_narrowing_conversion): Ditto. - -2010-07-23 Jaroslav Hajek - - * pt-mat.cc (do_single_type_concat_no_mutate): Remove. - (tree_matrix::rvalue1): Use do_single_type_concat instead. - -2010-07-21 Jaroslav Hajek - - * bitfcns.cc (Fsizemax): New DEFUN. - -2010-07-20 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): - Added a bottom Fl_Box (copied from gmsh) and tooltips - -2010-07-20 Rik - - * DLD-FUNCTIONS/typecast.cc (typecast): Combine two @seealso macro - uses to one. - -2010-07-20 Jaroslav Hajek - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Use octave_idx_type instead of - unsigned long. Over-allocate by a factor 2 to reduce copying. - Attempt to estimate number of columns from first line. - Hoist tmp_stream out of the loop and reset it for each substring. - -2010-07-17 Rik - - * data.cc (repelems): Add more documentation about new function. - -2010-07-19 Jaroslav Hajek - - * data.cc (do_repelems): New helper func. - (Frepelems): New DEFUN. - -2010-07-19 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::gui_mode): - Use enum instead of int. Change all uses. - -2010-07-18 Kai Habel - - * DLD-FUNCTIONS/fltk_backend.cc: Add mode for mouse rotation. - (view2status): new function - * graphics.cc: Remove limitations for zooming and translation. - (axes::properties::rotate_view): new function - -2010-07-17 Rik - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/ccolamd.cc, - DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/dasrt.cc, - DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/eigs.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/sparse.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/symrcm.cc, dirfns.cc, - file-io.cc, syscalls.cc: Spellcheck documentation - -2010-07-08 Rik - - * DLD_FUNCTIONS/rand.cc: Correct typo in rande documentation. - (bug #30446). - -2010-07-13 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (mat2cell_mismatch, prepare_idx, - do_mat2cell_2d, do_mat2cell_nd, do_mat2cell): New helper funcs. - (Fmat2cell): Use them here. - -2010-07-13 Jaroslav Hajek - - * data.cc (do_sparse_diff): Use typecasts where needed. - -2010-07-12 Jaroslav Hajek - - * DLD-FUNCTIONS/rand.cc (do_rand): Pass the distribution name as an - argument. Ensure restoration using unwind_protect. - (Frand, Frandn, Frandg, Frandp, Frande): Update. - -2010-07-12 Jaroslav Hajek - - * unwind-prot.h (unwind_protect::fcn_crefarg_elem): New class. - (unwind_protect::add_fcn (void (*) (const T&), T)): New method - overload. - -2010-07-08 David Bateman - - * DLD-FUNCTIONS/__magick_read__,cc (F__magick_read__): Add the syntax - __magick_read__ ("file", "frames", "all"). - -2010-07-08 Rik - - * DLD_FUNCTIONS/eigs.cc: Initialize random number generator in test - blocks to get reproducible results. - -2010-07-08 Jaroslav Hajek - - * ov-cell.cc (Fstruct2cell): Use octave_map. Optimize. - -2010-07-07 Rik - - * pr-output.cc (calc_scale_exp): Avoid use of % operator on negative - operands for portability between C++ compilers. - (engineering_exponent): Avoid use of % operator. Keep calculation of - exponent within pr_engineering_float class. (encapsulation). - (num_digits): Rename from calc_digits. Return true number of digits = - 1 + calc_digits. - (calc_scale_exp): Rename from maybe_mod3 for readability. - (operator << (... pr_engineering_float pef): Use pef abbreviation for - pr_engineering_float. - -2010-07-07 David Bateman - - * graphics.h.in (axes): Add hidden property __hold_all. - -2010-07-07 Jaroslav Hajek - - * ov-class.h (octave_class::map): Turn to octave_map. - * ov-class.cc (octave_class): Update methods. - * ov-base.h, ov-base.cc (octave_base_value::old_map_value) : Remove. - * ov.h, ov.cc (octave_value::old_map_value) : Remove. - -2010-07-06 David Bateman - - * pr-output.cc (static bool print_eng): Flag engineering format, - (float_format::float_format (int, int, int, int)): New constructor. - (int float_format::ex): New field in the class. - (static int maybe_mod3 (const int&), static int - engineering_exponent (const double&), - static int calc_digits (const double&)): New functions - (class pr_engineering_float): New class - (std::ostream& operator << (std::ostream&, - const pr_formatted_float&)): New operator. Make it a friend of the - float_format class. - (static void set_real_format(...), - static void set_real_matrix_format (...), - static void set_complex_format(...), - static void set_complex_matrix_format (...), - static void set_range_format (...)): Set width for engineering format. - (static void set_format (...)): Call calc_digits to find the number - of digits in a value. - (static void pr_any_float (const float_format *, std::ostream&, - double, int)): Print engineering formats. - (static void init_format_state (void)): Set default state of print_eng. - (static void set_format_style (int, const string_vector&)): Parse - the "eng" argument. - (Fformat): Document the new engineering format. - -2010-07-04 Soren Hauberg - - * DLD_FUNCTIONS/__magick_read__.cc: restore locale after - GraphicsMagick initialisation. - -2010-07-02 Jaroslav Hajek - - * toplev.cc (octave_call_stack::do_backtrace): Use static - octave_fields struct. - (octave_call_stack::empty_backtrace): New static method. - * toplev.h: Declare it. - * error.cc (Vlast_error_stack, initialize_last_error_stack, - Frethrow): Use octave_map or octave_scalar_map where applicable. - -2010-07-02 Jaroslav Hajek - - * pt-mat.cc (tm_row_const::tm_row_const_rep::all_1x1, - tm_cont::all_1x1): New member fields. - (tm_row_const::tm_row_const_rep::init, tm_const::init): - Handle them here. - (tm_row_const::all_1x1_p, tm_const::all_1x1_p): New methods. - (single_type_concat (octave_map&, ...)): New template - overload. - (do_single_type_concat): New template specialization. - (tree_matrix::rvalue1): Specialize for cell and struct classes. - * oct-map.cc (octave_map::do_cat (..., const octave_map *, ...)): - Assign result dimensions. - -2010-07-02 Jaroslav Hajek - - * oct-map.cc (octave_map::cat (..., const octave_scalar_map *)): - Handle special dims (-1, -2). - * data.cc (do_single_type_concat_map): Don't handle them here. - -2010-07-01 Jaroslav Hajek - - * syscalls.cc (mk_stat_map, Funame): Use octave_scalar_map. - -2010-07-01 Jaroslav Hajek - - * oct-map.h (octave_scalar_map::assign (const std::string&, const - octave_value&), octave_map::assign (const std::string&, const Cell&)): - Backward-compatible aliases for setfield. - -2010-07-01 Jaroslav Hajek - - * oct-map.cc (octave_fields::equal_up_to_order (const octave_fields&, - octave_idx_type *)): New overload. - (octave_fields::equal_up_to_order (const octave_fields&, - Array&)): Use it here. - (octave_map::fast_elem_insert, - octave_map::fast_elem_extract): New methods. - * oct-map.h: Update decls. - * ov-struct.cc (octave_struct::fast_elem_extract, - octave_struct::fast_elem_insert, - octave_scalar_struct::fast_elem_insert_self): New methods. - * ov-struct.h: Update decls. - -2010-06-28 Jaroslav Hajek - - * data.cc (single_type_concat): Optimize all scalars case where - applicable. - (single_type_concat_map, do_single_type_concat_map): New funcs. - * pt-mat.cc (get_concat_class): Handle cell and struct concats. - - -2010-06-25 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fnum2cell, do_num2cell): Optimize cells - and structs. - -2010-06-25 Jaroslav Hajek - - * ov-struct.h (octave_scalar_struct::resize, octave_struct::resize): - Don't ignore fill argument. - -2010-06-25 Jaroslav Hajek - - * oct-map.h (octave_map::octave_map (const dim_vector&, const - octave_fields&)): New internal ctor. - - * oct-map.cc (octave_map::assign): Handle no fields case. - -2010-06-25 Jaroslav Hajek - - * ov-struct.cc (Fcell2struct): Rewrite. - -2010-06-30 Jaroslav Hajek - - * ov-range.cc (octave_range::save_ascii): Save length rather than - limit when inc is zero. Adjust comment. - (octave_range::save_binary, octave_range::save_hdf5): Ditto. - (octave_range::load_ascii): Assume limit is length when increment is - zero. - (octave_range::load_binary, octave_range::load_hdf5): Ditto. - - -2010-06-25 John W. Eaton - - * graphics.cc (reset_default_properties): New static function. - (root_figure::reset_default_properties, - figure::reset_default_properties, axes::reset_default_properties): - Use it to avoid duplicated code. - -2010-06-24 Rik - - * octave.cc: Add [FILE] to octave usage string (bug #30258). - -2010-06-24 Jaroslav Hajek - - * oct-map.h (octave_map, octave_scalar_map): New classes. - * oct-map.cc (octave_map, octave_scalar_map): Implement them. - (Octave_map::Octave_map (const octave_map&)): New ctor. - * ov-struct.h (octave_struct): Use octave_map for storage. - (octave_scalar_struct): New class. - * ov-struct.cc: Update implementations. - * ov-base.h (octave_base_value::old_map_value): New method. - (octave_base_value::map_value): Return octave_map. - (octave_base_value::scalar_map_value): New method. - * ov-base.cc (octave_base_value::old_map_value, - octave_base_value::map_value, octave_base_value::scalar_map_value): - Add default implementations. - * ov-class.h (octave_class::old_map_value): New override. - * ov-class.cc: Use old_map_value for efficiency. - -2010-06-23 David Bateman - - * graphics.cc (void root_figure::reset_default_properties (void), - void figure::reset_default_properties (void), - void figure::reset_default_properties (void), - Freset): New functions. - * graphics.h.in (void graphics_object:reset_default_properies (void), - virtual void base_graphics_object:reset_default_properies (void)): - New functions. - (void root_figure::reset_default_properties (void), - void figure::reset_default_properties (void), - void figure::reset_default_properties (void)): Declarations. - (std::string color_property::values_as_string (void) const, - Cell color_property::values_as_cell (void) const): New functions. - -2010-06-21 Rik - - * DLD-FUNCTIONS/dlmread.cc: Fix spreadsheet style range option. - (bug #30183). - -2010-06-21 David Bateman - - * graphics.cc (std::string radio_values:values_as_string (void) - const, Cell radio_values:values_as_cell (void) const): New functions. - (void graphics_object::set (const octave_value_list&)): Throw error - with no arguments. - (std::string base_graphics_object::values_as_string (void), - Octave_map base_graphics_object::values_as_struct (void)): New - functions. - (Fset): Allow single handle as an argument and return the radio - values. - * graphics.h.in (virtual bool base_property::is_radio (void) const, - virtual std::string base_property::values_as_string (void) const, - virtual Cell base_property::values_as_cell (void) const): - New function. - (std::string radio_values::values_as_string (void) const, - Cell radio_values::values_as_cell (void) const): Declaration. - (octave_idx_type radio_values::nelem (void) const): New function. - (std::string radio_property::values_as_string (void) const, - Cell radio_property::values_as_cell (void) const, - bool radio_property::is_radio (void) const): New functions. - (bool property::is_radio (void) const, - std::string raproperty::values_as_string (void) const, - Cell property::values_as_cell (void) const): New functions. - (std::string base_graphics_object::values_as_string (void), - Octave_map base_graphics_object::values_as_struct (void)): Declaration. - (std::string graphics_object::values_as_string (void), - Octave_map graphics_object::values_as_struct (void)): New functions. - -2010-06-21 Jaroslav Hajek - - * data.cc (single_type_concat): Assume matrix arguments start from - index zero. - (do_cat): Make dim a separate argument. Special-case support for dim = - -1 and dim = -2 - -2010-06-18 Jaroslav Hajek - - * pt-mat.cc (tm_row_const::eval_error): Make a static func. - (tm_row_const::do_init_element): Simplify using dim_vector::hvcat. - (tm_const::init): Ditto. - (single_type_concat): Special-case empty results. Skip or use 0x0 for - empty arrays otherwise. - (tree_matrix::rvalue1): Skip empty arrays in the fallback branch. - -2010-06-16 Rik - - * DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/dot.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/lookup.cc, - DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/onCleanup.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/svd.cc, - data.cc, dirfns.cc, graphics.cc, mappers.cc, ov-cell.cc, ov-range.cc: - Periodic grammar check of documentation to ensure a common format. - -2010-06-11 David Bateman - - * DLD-FUNCTIONS/rand.cc : Add "reset" flag to reset the random - generators from the entropy pool. - - * genprops.awk : Don't special case the color_property in the - factory default methods. - -2010-06-16 Jaroslav Hajek - - * data.cc (Fsort): Fix invalid tests. - -2010-06-15 Rik - - * pr-output.cc: Second try at removing extra newlines from NDArrays - -2010-06-14 Rik - - * pr-output.cc: Remove extra newlines when displaying multi-dimensional - arrays (bug #30029). - -2010-06-14 Jaroslav Hajek - - * data.cc (Fsort, Fnth_element): Fix behavior when trailing singleton - dim is specified. - -2010-06-12 Ben Abbott - - * DLD-FUNCTIONS/gammainc.cc: Fix doc-string typo. - -2010-06-11 David Bateman - - * DLD-FUNCTIONS/gammainc.cc: Implement complementary incomplete - gamma function. - -2010-06-10 Ben Abbott - - * data.cc: Fix test for concatentating empty nd-arrays. - -2010-06-10 Jaroslav Hajek - - * data.cc (Fvec): New DEFUN. - -2010-06-09 Jaroslav Hajek - - * data.cc (Freshape): Use octave_idx_type rather than int. - Don't use intermediate Array when sizes are given as separate - arguments. Simplify computing unknown dimension. - -2010-06-09 David Grundberg - - * ov-struct.cc (Fisfield): Accept cell array as name argument. - -2010-06-08 Rik - - * DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/tril.cc, - data.cc, ov.cc: Improve documentation string. - -2010-06-06 Michael Goffioul - - * data.cc (Frem, Fmod): Specify template arguments of binmap - explicitely. - -2010-06-02 Jaroslav Hajek - - * DLD-FUNCTIONS/strfind.cc (Fqs_replace): Allow overlapped matches. - (Fstrrep): Support "overlaps" option. - (Fstrfind): Ditto. - -2010-05-28 Jaroslav Hajek - - * ov.h (octave_value::fast_elem_extract, - octave_value::fast_elem_insert): New methods. - * ov-base.cc (octave_base_value::fast_elem_extract, - octave_base_value::fast_elem_insert, - octave_base_value::fast_elem_insert_self): New methods. - * ov-base.h: Declare them. - * ov-base-mat.cc (octave_base_matrix::fast_elem_extract, - octave_base_matrix::fast_elem_insert): New overrides. - * ov-base-mat.h: Declare them. - * ov-base-scalar.cc (octave_base_scalar::fast_elem_extract, - octave_base_scalar::fast_elem_insert_self): New overrides. - * ov-base-scalar.h: Declare them. - (octave_base_scalar::scalar_ref): New method. - * ov-scalar.cc (octave_scalar::fast_elem_insert_self): New override. - * ov-scalar.h: Declare it. - * ov-float.cc (octave_float_scalar::fast_elem_insert_self): New override. - * ov-float.h: Declare it. - * ov-cell.cc (octave_base_matrix::fast_elem_extract, - octave_base_matrix::fast_elem_insert): New specializations. - * DLD-FUNCTIONS/cellfun.cc (scalar_col_helper, scalar_col_helper_def, - scalar_col_helper_nda, make_col_helper, can_extract): Remove. - (Fcellfun): Use the new fast_elem_insert method. - -2010-05-10 Rik - - * DLD-FUNCTIONS/eigs.cc: Improve documentation string. - Use ~ notation instead of dummy variables for unused return arguments. - -2010-05-27 Jaroslav Hajek - - * ov-base-mat.h (octave_base_matrix::matrix_ref (void) const): New - overload. - -2010-05-26 Jaroslav Hajek - - * oct-obj.h (octave_value_list::slice): Optionally include tags in - slicing. - * oct-parse.yy (get_feval_args): Simplify. - * pt-idx.cc (make_value_list): Use octave_idx_type instead of int. - -2010-05-25 Jaroslav Hajek - - * ov.cc (octave_value::length): Simplify. - -2010-05-25 Jaroslav Hajek - - * ov-base-mat.h (octave_base_matrix::ndims): New override. - * ov-base-scalar.h (octave_base_scalar::numel, - octave_base_scalar::ndims): New overrides. - -2010-05-25 Jaroslav Hajek - - * ov-base.cc (octave_base_value::ndims): Remove fallback - implementation (makes no sense). - * ov-base.h (octave_base_value::ndims): Use a simplistic fallback - here. - -2010-05-25 Jaroslav Hajek - - * ov-base.h (octave_base_value::rows, octave_base_value::columns): - Use const where appropriate, don't test for impossible condition. - -2010-05-24 Jaroslav Hajek - - * Cell.h (Cell::index, Cell::assign, Cell::delete_elements): - Make signatures consistent with inherited overloads. Import inherited - overloads to class's scope. - * oct-map.cc (Octave_map::maybe_delete_elements): Simplify. - -2010-05-20 John W. Eaton - - * utils.cc (Ffile_in_path, Ffile_in_loadpath): If no file is - found, return empty character string instead of empty matrix. - -2010-05-20 Jaroslav Hajek - - * DLD-FUNCTIONS/onCleanup.cc (octave_oncleanup::load_ascii, - octave_oncleanup::load_binary, octave_oncleanup::load_hdf5, - octave_oncleanup::save_ascii, octave_oncleanup::save_binary, - octave_oncleanup::save_hdf5): Comment out unused params. - -2010-05-18 Jaroslav Hajek - - * defun-int.h (octave_auto_shlib): Make members public. - * DLD-FUNCTIONS/onCleanup.cc: New source. - * DLD-FUNCTIONS/module-files: Add it here. - -2010-05-18 Jaroslav Hajek - - * variables.cc (set_internal_variable (int&, ..., const char **)): - Drop nchoices argument. Instead determine nchoices by trailing NULL. - * variables.h (SET_INTERNAL_VARIABLE_CHOICES): Update. - * DLD-FUNCTIONS/svd.cc (Fsvd_driver): Update. - -2010-05-17 Jaroslav Hajek - - * variables.cc (set_internal_variable (int&, ..., const char **, int)): - New overload. - * variables.h: Declare it. - (SET_INTERNAL_VARIABLE_CHOICES): New macro. - * DLD-FUNCTIONS/svd.cc (Fsvd_driver): Use it here. - -2010-05-17 Jaroslav Hajek - - * ov-usr-fcn.h (octave_user_function::curr_unwind_protect_frame): New - field. - (octave_user_function::local_protect): New template method. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Initialize it here. - (octave_user_function::do_multi_index_op): Set and restore it here. - * variables.cc (wants_local_change, try_local_protect): New helper - funcs. - (set_internal_variable): Call them in all overloads. - -2010-05-14 Jaroslav Hajek - - * symtab.cc (symtab::do_mark_global, symtab::do_mark_hidden): Force - non-existing symbol to be created. - -2010-05-13 Jaroslav Hajek - - * xdiv.cc (solve_singularity_warning): Use ID for the warning. - -2010-05-13 Jaroslav Hajek - - * DLD-FUNCTIONS/sqrtm.cc (sqrtm_utri_inplace): Use an ID for the - warning. - -2010-05-13 Jaroslav Hajek - - * load-save.cc (install_loaded_variable): Pre-extract symbol record - reference to do all operations. - -2010-05-11 David Bateman - - * ls-mat5.cc (save_mat5_element_length): Correct element length for - sparse elements with NZMAX=1 or NC=0. - (save_mat5_binary_element): Save the NZMAX elements of the RIDX - sparse index. - -2010-05-11 Jaroslav Hajek - - * ov-lazy-idx.cc (octave_lazy_index::save_binary): Fix arguments to - save_binary_data. - -2010-05-07 Jaroslav Hajek - - * DLD-FUNCTIONS/sqrtm.cc (do_sqrtm): Mark the result as triangular - where applicable. - -2010-05-10 Rik - - * DLD-FUNCTIONS/qr.cc: Split qrdelete test into high precision test - when QRUPDATE is present and low precision when it is not. - -2010-05-10 Jaroslav Hajek - - * DLD-FUNCTIONS/schur.cc (Fschur): Mark triangular matrices on output. - -2010-05-10 Jaroslav Hajek - - * ov-range.cc (octave_range::index_vector): Optimize order of - conditions. - -2010-05-08 Jaroslav Hajek - - * ov.cc (octave_value::do_non_const_unary_op): Always return *this as - octave_value&. Remove unused overload. - * oct-lvalue.cc (octave_lvalue::do_unary_op): Simplify. - * pt-unop.cc (tree_prefix_expression::rvalue1, - tree_postfix_expression::rvalue1): Remove dummy rvalue1 calls. - -2010-05-07 Michael Goffioul - - * ov-base.h (Vsparse_auto_mutate): Add OCTINTERP_API tag. - -2010-05-07 John W. Eaton - - * octave.cc (maximum_braindamage): Set value of internal - variable Vallow_noninteger_range_as_index to true instead of - setting Octave:allow-noninteger-ranges-as-indices warning state. - * ov-range.cc (Fallow_noninteger_range_as_index): New function. - (Vallow_noninteger_range_as_index): New variable. - (octave_range::index_vector): Only allow non-integer range as - index if Vallow_noninteger_range_as_index is true. - (octave_range::bool_array_value): Move definition here from ov-range.h. - * ov-range.h (Vallow_noninteger_range_as_index): Provide decl. - * utils.cc (reset_warning_state): Delete. - (Fisindex): Temporarily set Vallow_noninteger_range_as_index - instead of changing warning state for - Octave:allow-noninteger-ranges-as-indices to "error". - -2010-05-06 John W. Eaton - - * xgl2ps.c: Don't compile gl2ps.c unless we have OpenGL. - From Petr Mikulik . - -2010-05-06 John W. Eaton - - * ov-range.cc (octave_range::index_vector): - Improve warning/error message. - -2010-05-06 Jaroslav Hajek - - * DLD-FUNCTIONS/sqrtm.cc (sqrtm_utri_inplace, do_sqrtm): New helper - functions. - (Fsqrtm): Rewrite. - -2010-05-06 Jaroslav Hajek - - * DLD-FUNCTIONS/schur.cc (Fschur): Recognize "complex" option for - Matlab compatibility. Simplify argument handling and improve error - messages. - -2010-05-05 John W. Eaton - - * utils.cc (reset_warning_state): New function. - (Fisindex): Temporarily set warning state for - Octave:allow-noninteger-ranges-as-indices to "error". - * error.cc (set_warning_state): New function. - (initialize_default_warning_state): Set default warning state - for Octave:allow-noninteger-ranges-as-indices to "error". - * error.h (set_warning_state): Provide decl. - * octave.cc (maximum_braindamage): Set warning state for - Octave:allow-noninteger-ranges-as-indices to "on". - * ov-range.cc (octave_range::index_vector): Warn if range - contains non-integer values. - -2010-05-03 Jaroslav Hajek - - * DLD-FUNCTIONS/svd.cc (driver): New static var. - (Fsvd): Use it to select a driver. - (Fsvd_driver): New DEFUN. - -2010-05-02 Rik - - * ov-cell.cc: Wrap documentation line to prevent overfull hbox - LaTex warning - -2010-05-01 Ben Abbott - - * graphics.cc, graphics.h.in: Remove line object properties ldata, - udata, xldata, xudata. - -2010-04-30 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_axes_currentpoint): - check for valid object before manipulating it - -2010-04-27 John W. Eaton - - * graphics.h.in (string_array_property::string_array_property): - Index string_vector with [], not (). - (string_array_property::string_value): Likewise. - (string_array_property::do_set): Likewise. - Avoid indexing past last element of string_vector object. - Fixes bug #29695. - -2010-04-27 Jaroslav Hajek - - * ov-cs-list.cc (octave_cs_list::subsref): New methods. Just gripe. - * ov-cs-list.h: Declare them. - -2010-04-27 John W. Eaton - - * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): - Correct spelling of max_recursion_depth in error message. - (octave_usr_fcn::do_multi_index_op): Ditto. - * pt-eval.h, pt-eval.cc (Vmax_recursion_depth): Move definition - here from ov-usr-fcn.cc. Now extern. - (Fmax_recursion_depth): Move definition here from ov-usr-fcn.cc. - * oct-parse.yy (source_file): Limit recursive calls on a - per-file basis. - Addresses bug #29491. - -2010-04-25 David Bateman - - * oct-parse.yy (octave_function * load_fcn_from_file - (const std::string&, const std::string&, const std::string&) - (const std::string&, bool)): When loading a mex-file attempt - to load the m-file first to get the help string. - -2010-04-24 Ben Abbott - - * graphics.h.in: Have figure color property support a radio value, - 'none'. - -2010-04-24 David Bateman - - * graphics.cc (void axes::properties::set_defaults - (base_graphics_object&, const std::string&)): Make the default - axes color "none". - -2010-04-24 Shai Ayal - - * Makefile.am: change GRAPHICS_CPPFLAGS to GRAPHICS_CFLAGS since - the former does not exist and the latter serves the same purpose - -2010-04-23 Rik - - * Makefile.am: Clarify compilation note about defaults.h - -2010-04-23 Rik - - * symtab.h: Clear global variables when 'clear -all' called - -2010-04-23 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::OpenGL_fltk): - Explicitly initizlize all data members in the order they are declared. - -2010-04-23 John W. Eaton - - * txt-eng-ft.cc (ft_render::visit): Declare loop counter size_t, - not int. - - * graphics.h.in (graphics_xform::untransform): Likewise. - * graphics.cc (text::properties::update_text_extent): Likewise. - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_axes_currentpoint): - Avoid GCC shadow variable warning. - - * DLD-FUNCTIONS (plot_window::plot_window): Explicitly - initialize all data members in the order they are declared. - -2010-04-23 John W. Eaton - - * DLD-FUNCTIONS/gcd.cc (Fgcd): Use two-argument dim_vector constructor. - - * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): - Explicitly create idx_vec with column orientation. - - * oct-obj.cc (octave_value_list::octave_value_list): - Explicitly resize data to be row vector. - -2010-04-23 Rik - - * DLD-FUNCTIONS/regexp.cc.: Eliminate compile warning. - warning: suggest explicit braces to avoid ambiguous 'else'. - -2010-04-23 Jaroslav Hajek - - * ov-base-scalar.h (octave_base_scalar::reshape, - octave_base_scalar::permute): Remove implementations. - * ov-base-scalar.cc (octave_base_scalar::reshape, - octave_base_scalar::permute): Provide correct implementations here. - -2010-04-23 Jaroslav Hajek - - * ov-bool.h (octave_bool::empty_clone): Correctly return an empty - matrix. - * ov-float.h (octave_float::empty_clone): Ditto. - * ov-base-mat.h (octave_base_matrix::clone, - octave_base_matrix::empty_clone): Remove. - * ov-base-scalar.h (octave_base_scalar::clone, - octave_base_scalar::empty_clone): Remove. - * ov-base-sparse.h (octave_base_sparse::clone, - octave_base_sparse::empty_clone): Remove. - * ov-base.h (octave_base_value::empty_clone): Remove implementation. - * ov-base.cc (octave_base_value::empty_clone): Implement here. - Fall back to resize() for empty_clone(). - * ov.cc (octave_value::assign): Correct behavior in the indexed - OP= case. Use better error messages. Always return non-const - reference, like any assignment. - * ov.h: Update decls. - * oct-lvalue.cc (octave_lvalue::assign): Simplify. - -2010-04-22 Rik - - * DLD-FUNCTIONS/hess.cc.: return correct Hessenberg matrix when - called with only one output argument. - -2010-04-22 Jaroslav Hajek - - * data.cc (do_hypot): New helper function. Move bulk code from Fhypot - here. - (Fhypot): Account for >2 args by folding do_hypot several times. - -2010-04-20 Jaroslav Hajek - - * pt-mat.cc (single_type_concat): New overloads. Make TYPE an explicit - template parameter. Try to forward some cases to Array::cat and - Sparse::cat. - (do_single_type_concat, do_single_type_concat_no_mutate): Don't - allocate the array here, let single_type_concat do it. - -2010-04-19 Jaroslav Hajek - - * data.cc (single_type_concat, do_single_type_concat): Rewrite using - new liboctave facilities. - (do_cat): Don't compute result dims if the case can be forwarded to - liboctave. - -2010-04-13 David Bateman - - * graphics.cc (void text::properties::update_text_extent (void)): - Don't call text_renderer.set_font if HAVE_FONTCONFIG is not set. - -2010-04-13 David Bateman - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Handle repeated matches - in the list of matches returned by pcre. - -2010-04-13 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_currentpoint, - (plot_window::set_axes_currentpoint, plot_window::key2shift, - (plot_window::key2ascii, plot_window::modifier2cell): New helper - functions for keypress and mousebutton callbacks. - (plot_window::handle): implement keypress and mousebutton callbacks. - - * graphics.h.in (callback_property::is_defined): New conveniance - function. Rename figure.current_point to figure.currentpoint. - -2010-04-13 Jaroslav Hajek - - * DLD-FUNCTIONS/sparse.cc (Fspalloc): New DEFUN. - * ov-base.cc (octave_base_value::nzmax): Return numel by default. - -2010-04-13 Jaroslav Hajek - - * ov-base-sparse.cc (octave_base_sparse::assign): Rewrite. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::assign - (const octave_value_list& idx, const SparseMatrix& rhs)): Remove. - * ov-cx-sparse.h: Remove decl. - -2010-04-10 Ben Abbott - - * graphics.h.in: Fix nextplot property values. Add "new" to - list for axes nextplot values. Change "replace_children" to - "replacechildren" for both axes and figures. - -2010-04-09 David Bateman - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Properly ignore - zero-length matches in named tokens. - -2010-04-09 John W. Eaton - - * ov-ch-mat.h (octave_char_matrix::mex_get_data): New function. - Addresses bug #29475. - -2010-04-09 Judd Storrs - - * utils.cc (isvarname): Keywords are not valid variable names. - -2010-04-08 Jaroslav Hajek - - * help.cc (make_name_list): Don't insert global and top-level scope - variables. Always insert current scope. - -2010-04-08 Jaroslav Hajek - - * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): Replace by - templates. - (single_type_concat, do_single_type_concat): New static temvplate - funcs. Correctly skip 0x0 matrices. - (Fcat): Call them here. Add tests. - -2010-04-07 Jaroslav Hajek - - * oct-parse.yy (feval): Use do_multi_index_op on handles. - (get_feval_args): Use array slicing functions rather than loops. - -2010-04-06 Jaroslav Hajek - - * ov-base-sparse.cc (octave_base_sparse::delete_elements): Rewrite. - -2010-04-02 Judd Storrs - - * octave.cc (intern_argv): Truncate argv when script files are - run without command line parameters. Resolves bug #29423. - -2010-03-31 Jaroslav Hajek - - * DLD-FUNCTIONS/sparse.cc (Fsparse): Rewrite. - -2010-03-28 David Grundberg - - * DLD-FUNCTIONS/convhulln.cc [HAVE_QHULL]: Neither include - qhull/qhull_a.h nor run tests if unless we HAVE_QHULL. - -2010-03-26 Jaroslav Hajek - - * variables.cc (maybe_missing_function_hook): Temporarily clear before - executing the hook to avoid recursive calls. - -2010-03-25 John W. Eaton - - * gl2ps-renderer.cc (glps_renderer::draw): Tag call to fclose - with gnulib::. - -2010-03-25 John W. Eaton - - * oct-parse.yy, oct-fstrm.cc, mex.cc, input.cc, - c-file-ptr-stream.cc: Revert changes from 2010-03-24. - -2010-03-25 Jaroslav Hajek - - * kron.cc (Fkron): Completely rewrite. - -2010-03-24 John W. Eaton - - * version.h.in (OCTAVE_BUGS_STATEMENT): Point to - http://www.octave.org/bugs.html, not the mailing list. - -2010-03-24 John W. Eaton - - * DLD-FUNCTIONS/config-module.awk: Emit additions to EXTRA_DIST. - -2010-03-24 John W. Eaton - - * Makefile.am ($(srcdir)/DLD-FUNCTIONS/module.mk): - Remove doubled // from file name in rule. - -2010-03-24 David Grundberg - - * oct-parse.yy: Include gnulib stdlib.h/stdio.h instead of C++ - headers. - * oct-fstrm.cc: Include gnulib stdlib.h/string.h instead of C++ - headers. - * mex.cc: Include gnulib stdlib.h instead of C++ headers. - * input.cc: Include gnulib stdio.h instead of C++ headers. - * c-file-ptr-stream.cc: Include gnulib stdio.h. - -2010-03-24 John W. Eaton - - * load-path.cc (load_path::add_to_fcn_map): Style fixes. - -2010-03-24 Jaroslav Hajek - - * variables.cc (maybe_missing_function_hook): Don't call hook if - errors are being handled. - -2010-03-24 Jaroslav Hajek - - * variables.cc (Fmissing_function_hook): New pseudo-variable. - (Vmissing_function_hook): New static var. - (maybe_missing_function_hook): New function. - * variables.h: Declare it. - * pt-id.cc (tree_identifier::eval_undefined_error): Call it here. - * oct-parse.yy (feval (const std::string&, ...)): Also here. - -2010-03-23 Jaroslav Hajek - - * data.cc (Frem, Fmod): New DEFUNs. - (Ffmod): Remove. Make an alias of Frem. - -2010-03-23 Jaroslav Hajek - - * data.cc (map_d_m, map_m_d, map_m_m, map_f_fm, map_fm_f, map_fm_fm, - map_d_s, map_s_d, map_s_s): Remove. - (Fatan2, Fhypot, Ffmod): Rewrite using binmap. - -2010-03-21 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix the parsing of string - function arguments. - -2010-03-20 John W. Eaton - - * lex.ll: Don't undefine GNULIB_NAMESPACE. Define fprintf, - fwrite, malloc, and realloc and GNULIB_NAMESPACE::fprintf, ... - * oct-parse.yy: Likewise. Always include cstdlib. - -2010-03-16 John W. Eaton - - * ls-oct-ascii.cc (save_ascii_data): Insert extra newline after - data is written to file. From Brett Stewart . - -2010-03-16 Jaroslav Hajek - - * ov-base.h (unary_mapper_t::umap_cbrt): New enum member. - * ov.h (octave_value::cbrt): New forwarder method. - * ov-scalar.cc (octave_scalar::map): Handle cbrt. - * ov-float.cc (octave_float_scalar::map): Ditto. - * ov-re-mat.cc (octave_matrix::map): Ditto. - * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. - * ov-re-sparse.cc (octave_sparse_matrix::map): Ditto. - -2010-03-15 John W. Eaton - - * oct-parse.yy, lex.ll: Undefine GNULIB_NAMESPACE immediately - after including . - - * toplev.cc (wait_for_input): Tag call to select with gnulib::. - - * sighandlers.h (BLOCK_SIGNAL): Tag calls to sigemptyset, - sigaddset, and sigprocmask with gnulib::. - (UNBLOCK_CHILD): Tag call to sigprocmask with gnulib::. - * sighandlers.cc (octave_set_signal_handler): Tag calls to - sigemptyset with gnulib::. - (octave_set_signal_handler): Tag call to sigaction with gnulib::. - - * oct-procbuf.cc (octave_procbuf::open): Tag calls to close, dup2, - and fclose with gnulib::. - (octave_procbuf::close): Tag call to fclose with gnulib::. - - * oct-hist.cc (unlink_cleanup): Tag call to unlink with gnulib::. - - * oct-fstrm.cc (octave_fstream::octave_fstream): Tag call to - strerror with gnulib::. - - * mex.cc (mex::malloc_unmarked, mex::realloc, mxArray::malloc, - mxMalloc, mxRealloc): Tag call to malloc with gnulib::. - - * input.cc (gnu_readline): Tag call to fputs with gnulib::. - - * file-io.cc (cleanup_tmp_files): Tag call to unlink with gnulib::. - (do_stream_open, Ftmpfile, Fmkstemp): Tag call to strerror with - gnulib::. - - * dirfns.cc (octave_change_to_directory): Tag call to strerror - with gnulib::. - - * c-file-ptr-stream.cc (c_file_ptr_buf::overflow): Tag calls to - fputc with gnulib::. - (c_file_ptr_buf::xsputn): Tag call to fwrite with gnulib::. - (c_file_ptr_buf::file_close): Move here from - c-file-ptr-stream.h. Tag call to fclose with gnulib::. - -2010-03-12 Ben Abbott - - * /DLD-FUNCTIONS/chol.cc: Increase tolerance for single precision test. - -2010-03-09 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Fix deprecated array constructor. - -2010-03-09 Jaroslav Hajek - - * ov-intx.h - (OCTAVE_INT_NDARRAY_T::convert_gripe): Remove method. - (OCTAVE_INT_NDARRAY_T): Remove all uses. - (OCTAVE_INT_T::convert_gripe): Remove method. - (OCTAVE_INT_T): Remove all uses. - * ov.cc (convert_to_int_array, convert_to_octave_idx_type_array): - Remove int conversion warnings. - * data.cc (NATIVE_REDUCTION_1): Ditto. - - * OPERATORS/op-intx.h: Remove integer warning stubs. - * OPERATORS/opt-int-conv.cc: Ditto. - - * gripes.cc (gripe_truncated_conversion, - gripe_binop_integer_math_truncated, - gripe_native_integer_math_truncated, - gripe_unop_integer_math_truncated, gripe_non_integer_conversion, - gripe_nan_conversion): Remove. - * gripes.h: Remove decls. - * error.cc (initialize_default_warning_state): Don't initialize - removed warnings. - -2010-03-07 Michael Goffioul - - * gl-render.cc (draw_figure): disable depth test on the 3rd pass. - (draw_text): use get_data_position to get text position. - * graphics.h.in (graphics_xform): New zlim field. - (graphics_xform::untransform(double,double,bool)): New method. - (axes::properties::get_transform): Provide zlim data to graphics_xform - constructor. - (text::properties::string, text::properties::units, - text::properties::rotation, text::properties::fontname, - text::properties::fontangle, text::properties::fontsize, - text::properties::fontweight, text::properties::interpreter): Add 'u' - modified. - (text::properties::extent): New property. - (text::properties::get_data_position): New method. - (text::properties::update_position): Use it. - (text::properties::update_text_extent, - text::properties::update_string, text::properties::update_rotation, - text::properties::update_fontname, text::properties::update_fontsize, - text::properties::update_fontangle, - text::properties::update_fontweight, - text::properties::update_interpreter, text::properties::update_units): - New updaters. - * graphics.cc (convert_position): Support single point. - (convert_text_position): New helper function. - (text::properties::get_data_position, text::properties::get_extent, - text::properties::update_text_extent, text::properties::update_units): - New methods. - * txt-eng-ft.h (ft_render::get_extent, ft_render::rotation_to_mode): - New methods. - * txt-eng-ft.cc (ft_render::get_extent, ft_render::rotation_to_mode): - Ditto. - -2010-03-05 Jaroslav Hajek - - * data.cc (do_accumdim_sum): New helper function. - (F__accumdim_sum__): New DEFUN. - -2010-03-04 Jaroslav Hajek - - * ov-base.h (unary_mapper_t::umap_erfcx): New enum member. - * ov.h (octave_value::erfcx): New forwarder method. - * ov-scalar.cc (octave_scalar::map): Handle erfcx. - * ov-float.cc (octave_float_scalar::map): Ditto. - * ov-re-mat.cc (octave_matrix::map): Ditto. - * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. - -2010-03-03 John W. Eaton - - * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__): - Call Magick::InitializeMagick. - -2010-03-02 Jaroslav Hajek - - * DLD-FUNCTIONS/__convn__.cc: Remove. - * DLD-FUNCTIONS/module-files: Update. - -2010-03-02 Jaroslav Hajek - - * DLD-FUNCTIONS/conv.cc (Fconv2): Rewrite using convn from liboctave. - (Fconvn): New DEFUN. - -2010-03-01 John W. Eaton - - * (str2double1): Pass argument as const reference and make - explicit copy instead of passing by value. - -2010-03-01 John W. Eaton - - * DLD-FUNCTIONS/str2double.cc (set_component): Use autoconf - macros instead of checking predefined compiler macros. - (str2double1): Pass val to set_component, not c. - -2010-03-01 Jaroslav Hajek - - * DLD-FUNCTIONS/str2double.cc (set_component): New helper func. - (str2double1): Use it here. - -2010-03-01 Jaroslav Hajek - - * DLD-FUNCTIONS/str2double.cc (str2double1): Use ISO-conformant code - for setting the real and imaginary part. - -2010-02-28 David Bateman - - * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Don't set - CURLOPT_USERPWD if userpwd is empty. - -2010-02-28 John W. Eaton - - * Makefile.am ($(srcdir)/DLD-FUNCTIONS/module.mk): New target. - - * DLD-FUNCTIONS/config-module.sh: Accept top_srcdir argument. - Work from build directory too, not just source tree. - -2010-02-28 Jaroslav Hajek - - * ov-typeinfo.h (octave_value_typeinfo::octave_value_typeinfo): - Add missing initializers. - -2010-02-28 John W. Eaton - - * DLD-FUNCTIONS/conv2.cc (conv2 (const MArray&, const MArray&, - Shape)): Args are now const. Move invariant expressions outside - of loops. Use pointers instead of Array class indexing methods. - (conv2 (const MArray&, const MArray&, const MArray&, Shape)): - Ditto. - -2010-02-27 Jaroslav Hajek - - * ov-base-mat.cc (do_index_op): Use checkelem for scalar indices. - Simplify. - -2010-02-26 Jaroslav Hajek - - * xpow.cc: Update. - * ov-base-diag.cc: Update. - -2010-02-25 Jaroslav Hajek - - * DLD-FUNCTIONS/str2double.cc (single_number): New helper func. - (extract_number): Call it instead of >> to get Inf's and NaN's - correctly. - -2010-02-25 Jaroslav Hajek - - * DLD-FUNCTIONS/str2double.cc: New source. - -2010-02-19 John W. Eaton - - * DLD-FUNCTIONS/qr.cc: Increase tolerance for test. - -2010-02-24 Jaroslav Hajek - - * TEMPLATE-INST/Array-tc.cc: Remove Array2 instantiation. - * DLD-FUNCTIONS/besselj.cc: Use Array instead of Array2. - * DLD-FUNCTIONS/tril.cc: Ditto. - * data.cc: Ditto. - * ov-typeinfo.cc: Ditto. - * ov-typeinfo.h: Ditto. - * pr-output.cc: Ditto. - -2010-02-23 Jaroslav Hajek - - * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const - Array&)): New ctor. - * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (const - Array&)): New ctor. - * ov-str-mat.h (octave_char_matrix_str::octave_char_matrix_str (const - Array&)): New ctor. - (octave_char_matrix_sq_str::octave_char_matrix_sq_str (const - Array&)): New ctor. - -2010-02-23 Jaroslav Hajek - - * Cell.cc: Reflect Array API changes. - * DLD-FUNCTIONS/__convn__.cc: Ditto. - * DLD-FUNCTIONS/__glpk__.cc: Ditto. - * DLD-FUNCTIONS/__magick_read__.cc: Ditto. - * DLD-FUNCTIONS/bsxfun.cc: Ditto. - * DLD-FUNCTIONS/cellfun.cc: Ditto. - * DLD-FUNCTIONS/conv2.cc: Ditto. - * DLD-FUNCTIONS/dlmread.cc: Ditto. - * DLD-FUNCTIONS/filter.cc: Ditto. - * DLD-FUNCTIONS/kron.cc: Ditto. - * DLD-FUNCTIONS/qz.cc: Ditto. - * DLD-FUNCTIONS/regexp.cc: Ditto. - * DLD-FUNCTIONS/sub2ind.cc: Ditto. - * data.cc: Ditto. - * file-io.cc: Ditto. - * gl-render.cc: Ditto. - * ls-mat5.cc: Ditto. - * oct-map.cc: Ditto. - * oct-obj.h: Ditto. - * oct-parse.yy: Ditto. - * oct-stream.cc: Ditto. - * ov-base-mat.cc: Ditto. - * ov-base-sparse.cc: Ditto. - * ov-perm.cc: Ditto. - * ov-struct.cc: Ditto. - * ov-typeinfo.cc: Ditto. - * ov-typeinfo.h: Ditto. - * ov.cc: Ditto. - * pr-output.cc: Ditto. - * pt-mat.cc: Ditto. - * strfns.cc: Ditto. - * txt-eng-ft.cc: Ditto. - * variables.cc: Ditto. - -2010-02-22 John W. Eaton - - * ls-mat5.cc: Use numel instead of nelem consistently and where - appropriate in all functions. - (read_mat5_binary_element): Declare ridx and cidx as pointer to - octave_idx_type, not int. - (read_mat5_integer_data): Declare count as octave_idx_type, not int. - (READ_INTEGER_DATA): Loop counter is octave_idx_type, not int. - (OCTAVE_MAT5_INTEGER_READ): Declare n and loop counter as - octave_idx_type, not int. - (read_mat5_binary_element): Rows and columns of sparse matrix - are octave_idx_type, not int. Declare nzmax and nnz as - octave_idx_type. Read nzmax as 32-bit int, and assign. Move - decls closer to first use. - (read_mat5_binary_data): Declare count as octave_idx_type, not int. - (read_mat5_binary_element, write_mat5_array): - Use octave_idx_type instead of int for numel and loop counters. - (write_mat5_array): Declare len and nel as octave_idx_type. - Move declarations closer to first use. - (write_mat5_tag): Declare bytes arg as octave_idx_type, not int. - (write_mat5_integer_data): Declare nel as octave_idx_type, not int. - (write_mat5_cell_array): Declare nel and loop counter as - octave_idx_type, not int. - (save_mat5_array_length): Declare nel nad loop counters as - octave_idx_type, not int. - (save_mat5_binary_element): Declare dims and counters as - octave_idx_type, not int. Delete unused streampos variables. - Call write_mat5_sparse_index_vector to write ridx and cidx. - Don't write element if dimension is too large to save. - (gripe_dim_too_large, write_mat5_sparse_index_vector): New functions. - -2010-02-22 Carlo de Falco - - * dirfns.cc (Fglob): Make glob function test more robust. - -2010-02-21 Michael Goffioul - - * gl-render.h: Define WIN32_LEAN_AND_MEAN and don't #undef min/max. - * DLD-FUNCTIONS/fltk_backend.cc: Don't #undef min/max. - - * sighandlers.cc (octave_set_signal_handler): Don't use SIGALRM - unconditionally. - - * ov-bool.h (class octave_bool): Add OCTINTERP_API. - * unwind-prot.h (class unwind_protect_safe): Ditto. - - * Makefile.am: Add -bindir flag to liboctinterp_la_LDFLAGS. Remove - temporary libtool module file after copying oct file. - -2010-02-19 John W. Eaton - - * DLD-FUNCTIONS/qr.cc: Increase tolerance for test. - -2010-02-19 Jaroslav Hajek - - * ov-lazy-idx.cc (octave_lazy_index::reshape, - octave_lazy_index::squeeze, octave_lazy_index::permute, - octave_lazy_index::sort, octave_lazy_index::is_sorted, - octave_lazy_index::sort_rows_idx, octave_lazy_index::is_sorted_rows): - New method overrides. - * ov-lazy-idx.h: Declare them. - * ov-re-mat.cc (octave_matrix::reshape, octave_matrix::squeeze, - octave_matrix::sort, octave_matrix::is_sorted, - octave_matrix::sort_rows_idx, octave_matrix::is_sorted_rows): New - method overrides. - * ov-re-mat.h: Declare them. - -2010-02-19 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc (Ffind): Avoid unsafe conversion from Inf to - integer. - -2010-02-18 Jaroslav Hajek - - * syscalls.cc (mk_stat_result): New helper function. - (Flstat): Call it here. - (Fstat): Also here. Handle also the fstat case here. - -2010-02-18 Thorsten Meyer - - * dirfns.cc (Fglob): Document globbing patterns, add test. - -2010-02-18 Jaroslav Hajek - - * load-path.cc (in_path_list): New helper function. - (add_to_fcn_map): Use it here. - -2010-02-18 S�ren Hauberg - - * DLD-FUNCTIONS/__magick_read__.cc (__magick_finfo__): - Handle multiple frames in a single image file. - -2010-02-18 John W. Eaton - - * oct-map.h (Octave_map::Octave_map): Allow dimension to also be - specified in string_vector constructor. - -2010-02-17 John W. Eaton - - * Makefile.am (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): - Include ../libcruft/libranlib.la in the list. - * oct-conf.h.in (OCTAVE_CONF_F77_INTEGER_8_FLAG): New macro. - * toplev.cc (octave_config_info): Include F77_INTEGER_8_FLAG in - the struct. - -2010-02-17 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Return an idx_vector - when left_inf is in effect, to enable lazy index optimization. - -2010-02-16 Jaroslav Hajek - - * ov-lazy-idx.h: New source. - * ov-lazy-idx.cc: New source. - * ov.cc (install_types): Register lazy_index here. - (octave_value::octave_value (const idx_vector&)): Use lazy - construction if possible, under control of an optional flag. - (octave_value::clone): Implement. - * ls-hdf5.cc (save_hdf5): Avoid saving lazy indices. - -2010-02-15 Jaroslav Hajek - - * ov-fcn-handle.h (octave_fcn_handle::print_as_scalar): New method - override. - -2010-02-15 Jaroslav Hajek - - * ov-fcn-handle.cc (octave_fcn_handle::is_equal_to): New method. - * ov-fcn-handle.h: Declare it. - * OPERATORS/op-fcn.cc (eq, ne): Call it here. Register new handler. - -2010-02-13 Jaroslav Hajek - - * load-path.cc (load_path::do_any_class_method): Rename to - do_overloads. Return a list of classes. - * load-path.h (load_path::any_class_method): Likewise. - * symtab.cc (get_dispatch_type): Rewrite. - * symtab.h (get_dispatch_type): Update decl. - * ov-fcn-handle.h (octave_fcn_handle): Partially rewrite. - (octave_fcn_handle::builtin_overloads, octave_fcn_handle::overloads, - octave_fcn_handle::has_overloads): New members. - * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Rewrite. - (make_fcn_handle): Partially rewrite. - -2010-02-11 John W. Eaton - - * DLD-FUNCTIONS/config-module.awk, genprops.awk, graphics.h.in, - mkgendoc, mk-pkg-add, mxarray.h.in, zfstream.cc, zfstream.h: - Untabify. - -2010-02-11 John W. Eaton - - * strfns.cc (Fstrcmpi, Fstrncmpi): Use DEFUNX instead of DEFUN. - (Fstrncmpi): Report strncmpi in error message, not strncmp. - -2010-02-11 John W. Eaton - - * Cell.cc, bitfcns.cc, c-file-ptr-stream.cc, comment-list.cc, - data.cc, debug.cc, defaults.cc, defun.cc, dirfns.cc, display.cc, - dynamic-ld.cc, error.cc, file-io.cc, gl-render.cc, - gl2ps-renderer.cc, graphics.cc, gripes.cc, help.cc, input.cc, - load-path.cc, load-save.cc, ls-ascii-helper.cc, ls-hdf5.cc, - ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, ls-oct-ascii.cc, - ls-oct-binary.cc, mex.cc, oct-fstrm.cc, oct-hist.cc, - oct-lvalue.cc, oct-map.cc, oct-obj.cc, oct-prcstrm.cc, - oct-procbuf.cc, oct-stream.cc, oct-strstrm.cc, octave.cc, - ov-base-diag.cc, ov-base-int.cc, ov-base-mat.cc, - ov-base-scalar.cc, ov-base-sparse.cc, ov-base.cc, - ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, ov-builtin.cc, - ov-cell.cc, ov-ch-mat.cc, ov-class.cc, ov-colon.cc, - ov-complex.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, - ov-dld-fcn.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-float.cc, - ov-flt-complex.cc, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc, - ov-flt-re-diag.cc, ov-flt-re-mat.cc, ov-int16.cc, ov-int32.cc, - ov-int64.cc, ov-int8.cc, ov-mex-fcn.cc, ov-perm.cc, ov-range.cc, - ov-re-diag.cc, ov-re-mat.cc, ov-re-sparse.cc, ov-scalar.cc, - ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-uint16.cc, - ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, ov.cc, - pager.cc, pr-output.cc, procstream.cc, pt-arg-list.cc, - pt-assign.cc, pt-binop.cc, pt-bp.cc, pt-cbinop.cc, pt-cell.cc, - pt-check.cc, pt-cmd.cc, pt-colon.cc, pt-const.cc, pt-decl.cc, - pt-eval.cc, pt-except.cc, pt-exp.cc, pt-fcn-handle.cc, pt-id.cc, - pt-idx.cc, pt-jump.cc, pt-loop.cc, pt-mat.cc, pt-misc.cc, - pt-pr-code.cc, pt-select.cc, pt-stmt.cc, pt-unop.cc, - sighandlers.cc, sparse-xdiv.cc, sparse-xpow.cc, strfns.cc, - symtab.cc, syscalls.cc, sysdep.cc, toplev.cc, txt-eng-ft.cc, - utils.cc, variables.cc, xdiv.cc, xpow.cc, oct-parse.yy, lex.ll: - Untabify. - -2010-02-11 John W. Eaton - - * Cell.h, base-list.h, c-file-ptr-stream.h, comment-list.h, - debug.h, defun-int.h, dynamic-ld.h, error.h, gl-render.h, - gl2ps-renderer.h, gripes.h, load-path.h, load-save.h, ls-hdf5.h, - ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, - ls-oct-binary.h, oct-fstrm.h, oct-iostrm.h, oct-lvalue.h, - oct-map.h, oct-obj.h, oct-prcstrm.h, oct-stdstrm.h, - oct-stream.h, oct-strstrm.h, octave.h, ops.h, ov-base-diag.h, - ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, - ov-base-sparse.h, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, - ov-bool.h, ov-builtin.h, ov-cell.h, ov-class.h, ov-complex.h, - ov-cx-diag.h, ov-cx-mat.h, ov-cx-sparse.h, ov-dld-fcn.h, - ov-fcn-handle.h, ov-fcn-inline.h, ov-fcn.h, ov-float.h, - ov-flt-complex.h, ov-flt-cx-diag.h, ov-flt-cx-mat.h, - ov-flt-re-diag.h, ov-flt-re-mat.h, ov-intx.h, ov-mex-fcn.h, - ov-perm.h, ov-range.h, ov-re-diag.h, ov-re-mat.h, - ov-re-sparse.h, ov-scalar.h, ov-str-mat.h, ov-struct.h, - ov-type-conv.h, ov-typeinfo.h, ov-usr-fcn.h, ov.h, parse.h, - pr-output.h, pt-arg-list.h, pt-assign.h, pt-binop.h, pt-cell.h, - pt-cmd.h, pt-colon.h, pt-const.h, pt-decl.h, pt-eval.h, - pt-except.h, pt-exp.h, pt-fcn-handle.h, pt-id.h, pt-idx.h, - pt-jump.h, pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, - pt-select.h, pt-stmt.h, pt-unop.h, sighandlers.h, sparse-xdiv.h, - sparse-xpow.h, symtab.h, token.h, toplev.h, txt-eng-ft.h, - txt-eng.h, utils.h, variables.h, xdiv.h: Untabify. - -2010-02-11 John W. Eaton - - * DLD-FUNCTIONS/qz.cc: Untabify. - (Fqz): Declare complex_case volatile to avoid GCC warning. - -2010-02-11 John W. Eaton - - * DLD-FUNCTIONS/qz.cc: Style fixes. - -2010-02-11 John W. Eaton - - * load-save.cc: If gnulib defines open, undefine it. Move - #undefs before including zfstream.h. - -2010-01-30 Jyh-Miin Lin - - * DLD-FUNCTIONS/qz.cc (Fqz): Handle complex case without reordering. - Return Q' for Matlab compatibility. - -2010-02-11 Jaroslav Hajek - - * symtab.cc: Reverse the effect of 2ceae0b40515. - (get_dispatch_type): If btyp_unknown occurs, read the class dispatch - type. - -2010-02-10 John W. Eaton - - * load-save.cc: If gnulib defines close, undefine it. - -2010-02-10 Jaroslav Hajek - - * ov-perm.h (octave_perm_matrix::builtin_type): New function. - * symtab.cc (build_sup_table): Build the matrix with extra column - and row to avoid segfault when undefined value leaks in. - (get_dispatch_type): Update. Gripe if invalid result is detected. - -2010-02-10 John W. Eaton - - * data.cc: Ensure that CLOCKS_PER_SEC is defined instead of HZ. - (Fcputime): Use CLOCKS_PER_SEC instead of HZ. - -2010-02-10 John W. Eaton - - * data.cc: Include . Define HZ if it is not defined. - -2010-02-10 John W. Eaton - - * graphics.cc (base_properties::set_children): Ensure that new - children are stored as a column vector. - - * syscalls.cc (Fdup2, Fexec, Fpopen2, Ffork, Fgetpgrp, Fgetpid, - Fgetppid, Fgetegid, Fgetgid, Fgeteuid, Fkill, Ffstat, Flstat, - Fpipe, Fstat, Fwaitpid): Use DEFUNX instead of DEFUN. - -2010-02-10 David Grundberg - - * DLD-FUNCTIONS/__magick_read__.cc (read_images): Reimplement - copying with direct fortran_vec manipulation, avoiding indexing - operations. Replace scale_quantum_to_depth calls with simple - arithmetics. - (scale_quantum_to_depth): Remove function. - -2010-02-10 Jaroslav Hajek - - * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Remove redundant test. Add - explanation. - -2010-02-10 Jaroslav Hajek - - * ov-base.h (octave_base_value::is_list): Remove. - * ov.h (octave_value::is_list): Remove. - * data.cc (Fislist): Remove. - * oct-stream.cc (printf_value_cache::printf_value_cache): Don't call - is_list. - -2010-02-10 Jaroslav Hajek - - * ov-str-mat.h (octave_char_matrix_str::is_real_type): Delete - overload. - * data.cc (Fisreal): Improve docs. - -2010-02-10 Jaroslav Hajek - - * data.cc (Fisnumeric): Improve documentation. - (Fismatrix): Ditto. - -2010-02-09 John W. Eaton - - * graphics.cc, graphics.h.in - (base_properties::get_hidden_children): New function. - (base_properties::get_children_internal): New function. - (base_properties::get_children): Call get_children_internal to - do the work. - (base_properties::set_children): Incorporate maybe_set_children - function here. Account for hidden children. - (maybe_set_children): Delete. - - * c-file-ptr-stream.h (c_file_ptr_buf::buf_close): Rename from close. - (c_file_ptr_buf::file_close): Rename from fclose. - (c_file_ptr_stream::stream_close): Rename from close. - (c_zfile_ptr_buf:buf_close): Rename from close. - Change all callers. - -2010-02-09 John W. Eaton - - * dynamic-ld.cc (clear): Only warn if reloading a dynamically - linked file that defines multiple functions. - -2010-02-09 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx (const Array&, ...)): - Optimize creation of result indices. - * data.cc (Fsort): Ditto. - -2010-02-09 Jaroslav Hajek - - * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd, Fetree): Fix improper arg - checks. - * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd): Likewise. - -2010-02-08 Jaroslav Hajek - - * ov-re-mat.cc (octave_matrix::sort): Special-case sorting a known - index vector. - -2010-02-08 John W. Eaton - - * ov-class.cc (Fclass): If more than 1 argument, check that - call is inside class constructor first, then check for valid - arguments. - -2010-02-05 Jaroslav Hajek - - * data.cc (F__accumarray_sum__): Allow bool and char inputs. - (do_accumarray_minmax, do_accumarray_minmax_fun): New helper funcs. - (F__accumarray_min__, F__accumarray_max__): New defuns. - -2010-02-04 John W. Eaton - - * sysdep.cc: Don't include . - -2010-02-04 John W. Eaton - - * graphics.h.in (gh_manager::lookup (const octave_value&)): - New function. - * graphics.cc (axes::properties::set_text_child): Validate value. - Allow value to be character string or handle of text object. - -2010-02-04 John W. Eaton - - * Makefile.am (OCTAVE_LIBS): Include all liboctave library - dependencies here. - -2010-02-03 Jaroslav Hajek - - * ov-fcn-handle.h (octave_fcn_handle::anonymous): New static field. - * ov-fcn-handle.cc (octave_fcn_handle::anonymous): Initialize it. - Use everywhere instead of hardwired string. - (octave_fcn_handle::print_raw): Print named function handle with - starting @. - * pt-fcn-handle.cc: Use octave_fcn_handle::anonymous rather than - hardcoded string. - -2010-02-03 Jaroslav Hajek - - * OPERATORS/op-fcn.cc: New source. - * OPERATORS/module.mk: Include it. - -2010-02-03 John W. Eaton - - * file-io.cc: Assume we have fcntl.h and sys/stat.h. - - * syscalls.cc: Assume we have fcntl.h and fcntl. - (Ffcntl): Use DEFUNX, not DEFUN. Call octave_fcntl, not - octave_syscalls::fcntl. - -2010-02-03 John W. Eaton - - * DLD-FUNCTIONS/sub2ind.cc (get_dim_vector): - Eliminate unnecessary cast. - - * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): - Avoid type mismatch errors with octave_idx_type. - - * oct-stream.cc (scanf_format_list::add_elt_to_list): - NUM_ELTS arg is octave_idx_type, not int. - - * ov-struct.cc (octave_struct::load_ascii): Ensure args to - std::max are the same type. - * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Likewise. - * DLD-FUNCTIONS/sub2ind.cc (get_dim_vector): Likewise. - * DLD-FUNCTIONS/strfind.cc (qs_search): Likewise, for std::min. - * DLD-FUNCTIONS/tril.cc (do_tril, do_triu): Likewise. - -2010-02-03 John W. Eaton - - * utils.cc (octave_vsnprintf): Assume we have vsnprintf with - semantics that match the version provided by gnulib. - - * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): - Use std::sstream instead of fixed-length buffer and snprintf. - -2010-02-03 John W. Eaton - - * cutils.c (octave_usleep): Implement using nanosleep. - (octave_sleep): Assume sleep exists. - -2010-02-03 John W. Eaton - - * syscalls.cc (Fcanonicalize_file_name): - Call octave_canonicalize_file_name instead of - file_ops::canonicalize_file_name. - -2010-02-03 John W. Eaton - - * dirfns.cc (Fpwd): Call octave_env::get_current_directory, not - octave_env::getcwd. - - * utils.cc (search_path_for_file, search_path_for_all_files, - make_absolute, Ffile_in_loadpath, Ffile_in_path, file_in_path, - contents_file_in_path, Fmake_absolute_filename): - Don't pass current directory to octave_env::make_absolute. - * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. - * octave.cc (execute_startup_files): Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - * load-save.cc (find_file_to_load): Likewise. - * load-path.cc (load_path::dir_info::update, - load_path::dir_info::initialize, load_path::do_find_dir, - load_path::do_find_matching_dirs): Likewise. - * file-io.cc (do_stream_open): Likewise. - * oct-parse.yy (load_fcn_from_file, Fautoload): Likewise. - * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Likewise. - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite): Likewise. - -2010-02-02 John W. Eaton - - * syscalls.cc (Fcanonicalize_file_name): Use DEFUNX instead of DEFUN. - -2010-02-02 Thomas Weber - - * DLD-FUNCTIONS/filter.cc: New tests. - -2010-02-02 John W. Eaton - - * octave.cc (octave_main): Assume we have atexit. - * sighandlers.h, sighandlers.cc: Delete conditional definition - of RETSIGTYPE. Replace all uses of RETSIGTYPE with void. - (MAYBE_REINSTALL_SIGHANDLER, SIGHANDLER_RETURN): - Delete macros and all uses. - -2010-02-01 Jaroslav Hajek - - * load-path.cc (load_path::add_to_fcn_map): Warn when core library or - built-in functions are being shadowed. - (load_path::do_add): Pass at_end to add_to_fcn_map, add_to_method_map. - Don't abort when "." not yet included. - (load_path::do_clear): Don't append "." here. - (load_path::do_set): Always prepend "." here. - (load_path::initialize): Don't explicitly include "." here. - -2010-02-02 John W. Eaton - - * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, - MArrayN&, MArrayN&, int)): Return early if X is empty. - -2010-02-02 John W. Eaton - - * cutils.c: Include , not "systime.h". - * data.cc (Fcputime): Assume we have times. - - * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Assume we have times. - Include and unconditionally. - Don't include - -2010-02-01 Jaroslav Hajek - - * strfns.cc (Fstrncmpi): Fix typo in docstring. - -2010-01-30 Jaroslav Hajek - - * ov-list.h, ov-list.cc, OPERATORS/op-list.cc: Remove. - - * Makefile.am, OPERATORS/module.mk: Update. - * debug.cc: Remove #include. - * ov-base.cc: Ditto. - * ov-cs-list.h: Ditto. - * ov-struct.cc: Ditto. - * pt-bp.cc: Ditto. - * ov.cc (octave_value::octave_value (const octave_value_list&)): - Simplify. - (install_types): Omit octave_list. - -2010-01-30 Thorsten Meyer - - * DLD-FUNCTIONS/time.cc: Replace struct_contains by isfield. - -2010-01-30 Jaroslav Hajek - - * pt-assign.h (tree_multi_assignment::etype): Remove. - (tree_multi_assignment::tree_multi_assignment): Update. - (tree_multi_assignment::op_type): Update. - * pt-assign.cc (tree_multi_assignment::tree_multi_assignment): Update. - (tree_multi_assignment::rvalue): Update. - (tree_multi_assignment::dup): Update. - * oct=parse.yy (make_assign_op): Don't allow computed multiple - assignments. - -2010-01-30 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (__fltk_redraw__): call - Fl::check twice to ensure all pending draws are shown on screen - -2010-01-30 Jaroslav Hajek - - * oct-lvalue.h (octave_lvalue::black_hole): Remove field. - (octave_lvalue::(all methods)): Update. - * oct-lvalue.cc: Ditto. - -2010-01-29 David Grundberg - - * mex.cc (mex::realloc): Allocate new memory if the argument is - NULL. - -2010-01-29 Ryan Rusaw - - * pt-eval.h, pt-eval.cc (tree_evaluator::do_keyboard): - New virtual function. - -2010-01-28 Jaroslav Hajek - - * toplev.cc (run_command_and_return_output): Fix testing of failed - process creation, simplify. - (cleanup_iprocstream): Remove. - -2010-01-27 Jaroslav Hajek - - * pt-eval.cc (do_unwind_protect_cleanup_code): Save - current_statement and restore it after cleanup block. - -2010-01-27 Jaroslav Hajek - - * oct-parse.yy (validate_matrix_row): New static helper func. - (cell_or_matrix_row): Call it here. - -2010-01-27 Jaroslav Hajek - - * oct-lvalue.h (octave_lvalue::is_black_hole): New method. - (octave_lvalue::black_hole): New field. - (octave_lvalue::is_defined, octave_lvalue::is_undefined, - octave_lvalue::is_map): Make const. - (octave_lvalue::index_set): Remove field. - (octave_lvalue::octave_lvalue, octave_lvalue::operator =): Correctly - handle black holes. Update. - (dummy_value): Remove. - * pt-id.h (tree_identifier::is_black_hole): New method. - (tree_identifier::is_variable): Make virtual. - (tree_black_hole): New class. - * oct-parse.yy (magic_tilde): New terminal. - (param_list): Allow magic_tilde. - (arg_list): Allow magic_tilde. - * pt-misc.cc (tree_parameter_list::validate): Handle black holes. - * pt-idx.cc (tree_index_expression::append): Gripe if arguments - contain magic tilde. - * pt-arg-list.h (tree_argument_list::has_magic_tilde): New method - decl. - (tree_argument_list::list_includes_magic_tilde): New field. - (tree_argument_list::tree_argument_list): Initialize it in ctors. - * pt-arg-list.cc (tree_argument_list::has_magic_tilde): New method. - (tree_argument_list::append): Update list_includes_magic_tilde. - -2010-01-27 Judd Storrs - - * ov-class.cc (octave_class::print_with_name) Add default case for - classes that don't define a display method. - -2010-01-26 Shai Ayal - - * gl-render.cc (draw_text): scale position. - -2010-01-26 John W. Eaton - - * dirfns.cc (Fmkdir, Frmdir, Flink, Fsymlink, Freadlink, - Frename, Ftmpnam, Fumask): Use DEFUNX instead of DEFUN. - * syscall.scc (Fmkfifo, Funlink): Ditto. - * DLD-FUNCTIONS/urlwrite.cc (cleanup_urlwrite, reset_path, - delete_file): Now static. - -2010-01-23 John W. Eaton - - * octave.cc (octave_main): Use getopt directly instead of using - the (mostly useless) prog_args wrapper class. - Include , not "prog-args.h". - -2010-01-23 John W. Eaton - - * sighandlers.cc (user_abort): Also set debug_mode if Vdebugging. - * debug.cc (bp_table::do_add_breakpoint, do_remove_all_breakpoints, - bp_table::do_remove_breakpoint, do_remove_all_breakpoints_in_file): - Also set debug_mode if Vdebugging. - * pt-eval.cc (visit_return_command): Actually call reset_debug_state. - (reset_debug_state): Also set debug_mode if Vdebugging. - -2010-01-22 John W. Eaton - - * octave.cc (octave_main): Use new names for prog_args member - functions. - -2010-01-22 John W. Eaton - - * octave.cc: Don't include sys/types.h, unistd.h, or fstream. - -2010-01-22 John W. Eaton - - * oct-parse.yy (make_break_command, make_continue_command, - make_return_command): Don't examine evaluator state here. - * pt-eval.cc (tree_evaluator::visit_break_command): Don't set - tree_break_command::breaking unless inside function or script - body, or inside a looping command. - (tree_evaluator::visit_continue_command): Likewise, for - tree_continue_command::continuing. - (tree_evaluator::visit_return_command): Likewise, for - tree_return_command::returning. Act like dbcont if debugging - and in the top-level debugging stack frame. - -2010-01-22 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): Don't skip - whitespace, literal text, and %% elements at the end of the - format spec. Correctly process formats containing only literal text. - (scanf_format_list::finish_conversion): Don't increment nconv - for literal % characters. - (scanf_format_list::length, scanf_format_list::num_conversions): - Return octave_idx_type, not int. - (scanf_format_list::nconv, scanf_format_list::curr_idx): - Now octave_idx_type, not int. Change all uses. - (printf_format_list::length): Return octave_idx_type, not int. - (scanf_format_list::nconv, scanf_format_list::curr_idx): - Now octave_idx_type, not int. Change all uses. - (scanf_format_list::add_elt_to_list, - scanf_format_list::process_conversion, - scanf_format_list::finish_conversion, - printf_format_list::add_elt_to_list, - printf_format_list::process_conversion, - printf_format_list::finish_conversion): - Use size_t instead of int as appropriate. - * oct-stream.h: Update decls. - -2010-01-22 John W. Eaton - - * debug.cc (Fdbcont, Fdbquit): Call reset_debug_state. - (Fdbquit): Set Vdebugging to false. - * input.cc (Fkeyboard): Set tree_evaluator::debug_state to true. - Set tree_evaluator::current_frame to the initial stack frame - that is active for debugging commands. - * pt-eval.cc (tree_evaluator::reset_debug_state): New function. - * pt-eval.h (tree_evaluator::reset_debug_state): Provide decl. - * toplev.cc (main_loop): Call tree_evaluator::reset_debug_state - if at top level. - -2010-01-22 Jaroslav Hajek - - * data.cc (Fnorm): Don't special-case empty matrix. - * DLD-FUNCTIONS/svd.cc (Fsvd): Fix empty matrix case. Add tests. - -2010-01-21 Jaroslav Hajek - - * ov-builtin.cc (octave_builtin::do_multi_index_op): Partially undo - previous change. - * ov-type-conv.h (octave_type_conv_body): Undo previous change. - * ov-dld-fcn.cc (octave_dld_function::do_multi_index_op): Ditto. - -2010-01-21 John W. Eaton - - * DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/getgrent.cc, - DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/regexp.cc, lex.ll, - cutils.c, data.cc, defaults.cc, dirfns.cc, file-io.cc, help.cc, - input.cc, oct-hist.cc, oct-procbuf.cc, oct-procbuf.h, octave.cc, - pager.h, procstream.h, sighandlers.cc, toplev.cc, syscalls.cc, - sysdep.cc, utils.cc: Assume sys/types.h and unistd.h are present - (gnulib provides them). - -2010-01-21 Jaroslav Hajek - - * ov-base.h (octave_base_value::dim_vector): Return 0x0 by default. - * oct-obj.h (octave_value_list::xelem, octave_value_list::clear): New - methods. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Don't call - make_storable_values. Chop a potential single undefined value. - * ov-type-conv.h (octave_type_conv_body): Ensure storable value. - * ov-dld-fcn.cc (octave_dld_function::do_multi_index_op): New method. - * DLD-FUNCTIONS/cellfun.cc (get_output_list): New helper function. - (Fcellfun): Call it here. Optimize. - -2010-01-20 John W. Eaton - - * defaults.h.in, graphics.h.in, oct-conf.h.in, oct-errno.cc.in, - version.h.in: Delete Emacs local-variable settings. - -2010-01-20 John W. Eaton - - * cutils.c, main.c, matherr.c, siglist.c, Cell.cc, bitfcns.cc, - c-file-ptr-stream.cc, comment-list.cc, data.cc, debug.cc, - defaults.cc, defun.cc, dirfns.cc, display.cc, dynamic-ld.cc, - error.cc, file-io.cc, gl-render.cc, gl2ps-renderer.cc, - graphics.cc, gripes.cc, help.cc, input.cc, load-path.cc, - load-save.cc, ls-ascii-helper.cc, ls-hdf5.cc, ls-mat-ascii.cc, - ls-mat4.cc, ls-mat5.cc, ls-oct-ascii.cc, ls-oct-binary.cc, - ls-utils.cc, mappers.cc, oct-fstrm.cc, oct-hist.cc, - oct-iostrm.cc, oct-lvalue.cc, oct-map.cc, oct-obj.cc, - oct-prcstrm.cc, oct-procbuf.cc, oct-stream.cc, oct-strstrm.cc, - octave.cc, ov-base-int.cc, ov-base-mat.cc, ov-base-scalar.cc, - ov-base-sparse.cc, ov-base.cc, ov-bool-mat.cc, - ov-bool-sparse.cc, ov-bool.cc, ov-builtin.cc, ov-cell.cc, - ov-ch-mat.cc, ov-class.cc, ov-colon.cc, ov-complex.cc, - ov-cs-list.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-dld-fcn.cc, - ov-fcn-handle.cc, ov-fcn-inline.cc, ov-fcn.cc, ov-float.cc, - ov-flt-complex.cc, ov-flt-cx-mat.cc, ov-flt-re-mat.cc, - ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-list.cc, - ov-mex-fcn.cc, ov-range.cc, ov-re-mat.cc, ov-re-sparse.cc, - ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, - ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, - ov-usr-fcn.cc, ov.cc, pager.cc, pr-output.cc, procstream.cc, - pt-arg-list.cc, pt-assign.cc, pt-binop.cc, pt-bp.cc, pt-cell.cc, - pt-check.cc, pt-cmd.cc, pt-colon.cc, pt-const.cc, pt-decl.cc, - pt-eval.cc, pt-except.cc, pt-exp.cc, pt-fcn-handle.cc, pt-id.cc, - pt-idx.cc, pt-jump.cc, pt-loop.cc, pt-mat.cc, pt-misc.cc, - pt-pr-code.cc, pt-select.cc, pt-stmt.cc, pt-unop.cc, pt.cc, - sighandlers.cc, sparse-xdiv.cc, sparse-xpow.cc, strfns.cc, - symtab.cc, syscalls.cc, sysdep.cc, token.cc, toplev.cc, - unwind-prot.cc, utils.cc, variables.cc, xdiv.cc, xpow.cc, - zfstream.cc, Cell.h, base-list.h, builtins.h, - c-file-ptr-stream.h, comment-list.h, debug.h, defun-dld.h, - defun-int.h, defun.h, dirfns.h, display.h, dynamic-ld.h, - error.h, file-io.h, gl2ps-renderer.h, gripes.h, help.h, input.h, - lex.h, load-path.h, load-save.h, ls-ascii-helper.h, ls-hdf5.h, - ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, - ls-oct-binary.h, ls-utils.h, mex.h, mexproto.h, oct-errno.h, - oct-fstrm.h, oct-hdf5.h, oct-hist.h, oct-iostrm.h, oct-lvalue.h, - oct-map.h, oct-obj.h, oct-prcstrm.h, oct-procbuf.h, - oct-stdstrm.h, oct-stream.h, oct-strstrm.h, oct.h, octave.h, - ops.h, ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, - ov-base-sparse.h, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, - ov-bool.h, ov-builtin.h, ov-cell.h, ov-ch-mat.h, ov-class.h, - ov-colon.h, ov-complex.h, ov-cs-list.h, ov-cx-mat.h, - ov-cx-sparse.h, ov-dld-fcn.h, ov-fcn-handle.h, ov-fcn-inline.h, - ov-fcn.h, ov-float.h, ov-flt-complex.h, ov-flt-cx-diag.h, - ov-flt-cx-mat.h, ov-flt-re-mat.h, ov-int-traits.h, ov-int16.h, - ov-int32.h, ov-int64.h, ov-int8.h, ov-intx.h, ov-list.h, - ov-mex-fcn.h, ov-range.h, ov-re-mat.h, ov-re-sparse.h, - ov-scalar.h, ov-str-mat.h, ov-struct.h, ov-type-conv.h, - ov-typeinfo.h, ov-uint16.h, ov-uint32.h, ov-uint64.h, - ov-uint8.h, ov-usr-fcn.h, ov.h, pager.h, parse.h, pr-output.h, - procstream.h, pt-all.h, pt-arg-list.h, pt-assign.h, pt-binop.h, - pt-bp.h, pt-cbinop.h, pt-cell.h, pt-check.h, pt-cmd.h, - pt-colon.h, pt-const.h, pt-decl.h, pt-eval.h, pt-except.h, - pt-exp.h, pt-fcn-handle.h, pt-id.h, pt-idx.h, pt-jump.h, - pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, pt-select.h, - pt-stmt.h, pt-unop.h, pt-walk.h, pt.h, sighandlers.h, siglist.h, - sparse-xdiv.h, sparse-xpow.h, symtab.h, sysdep.h, token.h, - toplev.h, unwind-prot.h, utils.h, variables.h, xdiv.h, xpow.h, - zfstream.h, oct-parse.yy, lex.ll: Delete EMacs local-variable settings. - -2010-01-20 John W. Eaton - - * DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/balance.cc, - DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, - DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, - DLD-FUNCTIONS/colloc.cc, DLD-FUNCTIONS/conv2.cc, - DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, - DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/det.cc, - DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, - DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/fltk_backend.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, - DLD-FUNCTIONS/getgrent.cc, DLD-FUNCTIONS/getpwent.cc, - DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/givens.cc, - DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/inv.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, - DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, - DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, - DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/sparse.cc, - DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/sqrtm.cc, - DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, - DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/time.cc, - DLD-FUNCTIONS/tril.cc: Delete Emacs local-variable settings. - -2010-01-20 John W. Eaton - - * DLD-FUNCTIONS/__contourc__.cc, DLD-FUNCTIONS/__convn__.cc, - DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dsearchn__.cc, - DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/__lin_interpn__.cc, - DLD-FUNCTIONS/__magick_read__.cc, - DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/__qp__.cc, - DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, - DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/bsxfun.cc, - DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, - DLD-FUNCTIONS/colloc.cc, DLD-FUNCTIONS/conv2.cc, - DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, - DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/dispatch.cc, - DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/dmperm.cc, - DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, - DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, - DLD-FUNCTIONS/fltk_backend.cc, DLD-FUNCTIONS/gammainc.cc, - DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/getgrent.cc, - DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/givens.cc, - DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/hex2num.cc, - DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, - DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/md5sum.cc, - DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, - DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/rcond.cc, - DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, - DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, - DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/time.cc, - DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/tsearch.cc, - DLD-FUNCTIONS/urlwrite.cc: Untabify. - -2010-01-20 John W. Eaton - - * TEMPLATE-INST/Array-os.cc, TEMPLATE-INST/Array-tc.cc, - TEMPLATE-INST/Array-sym.cc: Delete Emacs local-variable settings. - -2010-01-20 Jaroslav Hajek - - * xpow.cc (xpow, elem_xpow): Don't do redundant real->complex - conversions. - -2010-01-20 Jaroslav Hajek - - * data.cc: Substitute OCTAVE_QUIT -> octave_quit (). - * input.cc: Ditto. - * ls-mat-ascii.cc: Ditto. - * oct-stream.cc: Ditto. - * ov-base-int.cc: Ditto. - * ov-base-sparse.cc: Ditto. - * ov-bool-sparse.cc: Ditto. - * ov-cell.cc: Ditto. - * ov-cx-sparse.cc: Ditto. - * ov-flt-re-mat.cc: Ditto. - * ov-re-mat.cc: Ditto. - * ov-re-sparse.cc: Ditto. - * pr-output.cc: Ditto. - * pt-eval.cc: Ditto. - * pt-mat.cc: Ditto. - * sighandlers.cc: Ditto. - * sparse-xdiv.cc: Ditto. - * sparse-xpow.cc: Ditto. - * toplev.cc: Ditto. - * utils.cc: Ditto. - * xdiv.cc: Ditto. - * xpow.cc: Ditto. - -2010-01-20 Jaroslav Hajek - - * DLD-FUNCTIONS/bsxfun.cc: New tests. - -2010-01-20 David Bateman - - * graphics.h.in (string_array_property): New property. - (axes::properties): Use it here for the linestyleorder property. - Remove the markerorder property. - * genprops.awk: Emit string_array_property - -2010-01-19 Jaroslav Hajek - - * DLD-FUNCTIONS/strfind.cc: Optimize searching for 1 or 2 characters. - -2010-01-18 John W. Eaton - - * oct-parse.yy (fcn_end): Allow EOF as end of function if - reading from eval string. - (eval_string): Protect and set reading_fcn_file, - reading_script_file, and reading_classdef_file. - -2010-01-18 Jaroslav Hajek - - * xpow.cc (xpow (const NDArray&, double), xpow (const FloatNDArray&, - float)): Optimize also the x.^3 case. - -2010-01-18 David Grundberg - - * mex.cc (mexPrintf): Change signature. - * mexproto.h (mexPrintf): Ditto. - -2010-01-18 David Grundberg - - * mexproto.h (mxSetDimensions): Change signature. - * mex.cc (mxSetDimensions): Ditto. - -2010-01-17 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Support dim argument, make - consistent with rest of functions. - -2010-01-17 Thorsten Meyer - - * ov-cell.cc (Fstruct2cell): Add example, add test. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun, Fnum2cell), ov-struct.cc - (Fisstruct): Fix docstring. - * DLD-FUNCTIONS/cellfun.cc (Fcellslices, Fisfield, Ffieldnames, - Frmfield): Add test. - * ov-struct.cc (Fcell2struct): Fix docstring, add test. - -2010-01-16 David Bateman - - * graphics.h.in (line::properties, surface::properties, - patch::properties): Allow the use of a "@" marker. - (axes::properties): Add markerorder properties to set the - order of the marker styles for the "@" marker. - -2010-01-15 Jaroslav Hajek - - * pt-mat.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT, - DO_SINGLE_TYPE_CONCAT_NO_MUTATE): Remove macros. - (single_type_concat, do_single_type_concat, - do_single_type_concat_no_mutate): New template funcs. - (tree_matrix::rvalue1): Call them here. - -2010-01-14 Jaroslav Hajek - - * strfns.cc (do_strcmp_fun, - strcmp_array_op, strcmp_str_op, - strcmpi_array_op, strcmpi_str_op, - strncmp_array_op, strncmp_str_op, - strncmpi_array_op, strncmpi_str_op): New functions. - (Fstrcmp, Fstrncmp): Reimplement using do_strcmp_fun. - (Fstrcmpi, Fstrncmpi): New defuns. - -2010-01-14 Jaroslav Hajek - - * DLD-FUNCTIONS/bsxfun.cc (maybe_fill_table): register relational - handlers for char arrays. - -2010-01-14 Jaroslav Hajek - - * ov-class.cc (octave_class::numel (const octave_value_list&)): Don't - attempt to query overloaded size. - -2010-01-13 John W. Eaton - - * ov-fcn.h (octave_function (const std::string&, const std::string&)): - Explicitly initialize all data members. - - * ov-builtin.h (octave_builtin::octave_builtin): - Explicitly initialize base class object and data member. - -2010-01-13 John W. Eaton - - * DLD-FUNCTIONS/__magick_read__.cc (read_indexed_images): - No need to explicitly call chop_trailing_singletons now. - -2010-01-13 John W. Eaton - - * oct-obj.cc (octave_value_list::any_cell): Avoid assignment in - condition of if statement. - -2010-01-13 John W. Eaton - - * DLD-FUNCTIONS/lu.cc: Avoid test failures if HAVE_QRUPDATE_LUU is - not defined. - -2010-01-12 David Bateman - - * graphics.h.in (patch::properties): Add "flat" value to - markeredgecolor and markerfacecolor properties. - -2010-01-12 Jaroslav Hajek - - * ov-base.h (builtin_type_t): New enum constants: btyp_cell, - btyp_struct and btyp_func_handle. - (btyp_isinteger, btyp_isfloat, btyp_isarray): New funcs. - (btyp_class_name): New array. - (get_builtin_classes): New func. - * ov-cell.h (octave_cell::builtin_type): New virtual override. - * ov-struct.h (octave_struct::builtin_type): New virtual override. - * ov-fcn-handle.h (octave_fcn_handle::builtin_type): New virtual override. - * symtab.cc (get_dispatch_type): Rewrite. Add overload. - * symtab.h: Update decls. - * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Rewrite. - (get_builtin_classes): Remove. - -2010-01-12 Jaroslav Hajek - - * oct-obj.cc (octave_value_list::any_cell): New method. - * oct-obj.h: Declare it. - * utils.cc (do_simple_cellfun): New overloaded function. - * utils.h: Declare it. - * DLD-FUNCTIONS/strfind.cc (Fstrfind): Call it here. - (Fstrrep): Also here. - -2010-01-11 Rik - - * Makefile.am: Update DOCSTRINGS rules to avoid - simple_move_if_change_rule and allow Make to update timestamps. - -2010-01-11 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (curl_handle::lasterror): - Avoid using errno as a local variable name. - -2010-01-11 Jaroslav Hajek - - * DLD-FUNCTIONS/lu.cc (Fluupdate): Add tests for LU updating. - -2010-01-11 Tatsuro MATSUOKA - - * Makefile.am (OCTINTERP_LINK_DEPS): Include FT2_LDFLAGS and - FT2_LIBS in the list. - -2010-01-09 John W. Eaton - - * DLD-FUNCTIONS/lookup.cc (stri_comp_lt, stri_comp_gt): - Comment out unused functions. - - * oct-stream.cc (BEGIN_S_CONVERSION): Don't declare local tmp - variable twice. - - * gl-render.cc (opengl_renderer::draw_image): Avoid shadow - declaration warning from GCC. - - * DLD-FUNCTIONS/fltk_backend.cc (base_graphics_backend): - Avoid unused parameter warning from GCC. - * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Likewise. - - * data.cc (get_sort_mode_option): Avoid uninitialized variable - warning from GCC. - -2010-01-08 Jaroslav Hajek - - * oct-obj.h (octave_value_list::operator () const, - octave_value_list::elem const): Return const octave_value&. - * ov.cc (octave_value::function_value, - octave_value::user_function_value, octave_value::user_script_value, - octave_value::user_code_value, octave_value::fcn_handle_value, - octave_value::fcn_inline_value): Declare as const. - * ov.h: Likewise. - * ov-base.h (octave_value::function_value const): Remove overload. - * ov-usr-fcn.h (octave_user_function::function_value const): Likewise. - * ov-builtin.h (octave_builtin::function_value const): Likewise. - * ov-builtin.h (octave_builtin::function_value const): Likewise. - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Take a non-const copy prior to - calling non-const functions. - - -2010-01-08 Jaroslav Hajek - - * DLD-FUNCTIONS/strfind.cc (qs_replace): New function. - (Fstrrep): Use it here. Allow S to be a cellstr. - -2010-01-07 John W. Eaton - - * data.cc (cputime): Eliminate Windows-specific code. - -2010-01-07 John W. Eaton - - * variables.cc (get_global_value): Fix function name in error message. - (get_top_level_value, set_top_level_value): New functions. - * variables.h (get_top_level_value, set_top_level_value): - Provide decls. - - * symtab.h (symbol_table::top_level_varref, - symbol_table::top_level_varval): New static functions. - -2010-01-07 Jaroslav Hajek - - * utils.cc (octave_sleep (double)): Add OCTAVE_QUIT. - -2010-01-06 Jaroslav Hajek - - * unwind_protect.h, unwind_protect.cc (unwind_protect): Rewrite. - Remove obsolete macros. Use a simple linked list. - - * debug.cc (Fdbwhere): Update to new unwind_protect style. - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct, - octave_dynamic_loader::do_load_mex): Ditto. - * error.cc (Flasterror, Flasterr, error_2, warning_1): Ditto. - * graphics.cc (base_graphics_object::remove_all_listeners, - axes::update_axis_limits, gh_manager::do_execute_callback, - Fdrawnow): Ditto. - * help.cc (raw_help_from_file): Ditto. - * input.cc (do_keyboard, Fkeyboard, get_debug_input): Ditto. - * load-path.cc (load_path::do_set, execute_pkg_add_or_del, - * ls-mat4.cc (save_mat_binary_data): Ditto. - * ls-mat5.cc (read_mat5_binary_element): Ditto. - * mex.cc (call_mex, mexGetVariable): Ditto. - * oct-hist.cc (do_edit_history, do_run_history): Ditto. - * octave.cc (execute_startup_files, execute_eval_option_code, - execute_command_line_file): Ditto. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Ditto. - * ov-class.cc (octave_class::subsasgn, octave_class::print_raw): - Ditto. - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, - octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): Ditto. - * ov-list.cc (octave_list::print_raw): Ditto. - * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Ditto. - * ov-struct.cc (octave_struct::print_raw): Ditto. - * ov-usr-fcn.cc (octave_user_script::do_multi_index_op, - octave_user_function::do_multi_index_op): Ditto. - * pager.cc (flush_octave_stdout): Ditto. - * pr-output.cc (Frats): Ditto. - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): Ditto. - - * pt-eval.cc (tree_evaluator::visit_simple_for_command, - tree_evaluator::visit_complex_for_command, - tree_evaluator::visit_while_command, - tree_evaluator::visit_do_until_command): Update to new unwind_protect - style. - (do_catch_code): Remove. - (tree_evaluator::visit_try_catch_command): Simplify. Don't register - catch code for unwind_protect. - (tree_evaluator::do_unwind_protect_cleanup_code): Make a - tree_evaluator method. Update to new unwind_protect style. - (tree_evaluator::visit_unwind_protect_command): Use explicit try/catch - handling rather than inserting unsafe code into unwind_protect. - - * pt-eval.h (tree_evaluator::do_unwind_protect_cleanup_code): New decl. - * toplev.cc (main_loop): Update to new unwind_protect style. - (run_command_and_return_output): Ditto. - * utils.cc (Fisindex): Ditto. - * variables.cc (generate_struct_completions, safe_symbol_lookup, - do_who): Ditto. - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Ditto. - * DLD-FUNCTIONS/daspk.cc (Fdaspk): Ditto. - * DLD-FUNCTIONS/dasrt.cc (Fdasrt): Ditto. - * DLD-FUNCTIONS/dassl.cc (Fdassl): Ditto. - * DLD-FUNCTIONS/eigs.cc (Feigs): Ditto. - * DLD-FUNCTIONS/lsode.cc (Flsode): Ditto. - * DLD-FUNCTIONS/quad.cc (Fquad): Ditto. - * DLD-FUNCTIONS/rand.cc (Frandn, Frande, Frandg, Frandp): Ditto. - * DLD-FUNCTIONS/typecast.cc (get_data_and_bytesize, Ftypecast): Ditto. - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, mput_directory, - getallfiles, F__ftp_mget__): Ditto. - -2010-01-05 Jaroslav Hajek - - * Cell.cc (Cell::cellstr_value): New method. - * Cell.h (Cell::cellstr_value): Declare it. - - * ov-cell.h (octave_cell::cellstr_cache): Declare as autopointer. - (octave_cell::clear_cellstr_cache): Move here. - * ov-cell.cc (octave_cell::is_cellstr): Only allocate the pointer, but - don't actually create strings. - (octave_cell::cellstr_value): Use cached test, call - Cell::cellstr_value. - (octave_cell::make_cellstr_cache): Remove. - -2010-01-05 John W. Eaton - - * Makefile.am (AM_CPPFLAGS): Include -I../libgnu in the list. - -2010-01-04 Thorsten Meyer - - * graphics.cc (graphics_object::set (const Octave_map&)): New function. - (graphics_object::set (const Array&, const Cell&, - octave_idx_type)): New function. - (graphics_object::set_value_or_default (const caseless_str&, - const octave_value&)): New function. - (graphics_object::set (const octave_value_list&)): - Call set_value_or_default to set property values. - (Fset): Handle struct and cell array arguments. - New tests. - * graphics.h.in (graphics_objects::set): Provide decls. - -2010-01-04 Jaroslav Hajek - - * DLD-FUNCTIONS/strfind.cc (qs_search): Optionally discard overlaps. - Return result as Array. - (Fstrfind): Use octave_value (Array) constructor. - (Fstrrep): New function. - -2010-01-04 John W. Eaton - - * lex.ll (can_be_command): New function. - (handle_identifier): Use it. - -2010-01-04 Marco Atzeri - - * Makefile.am (install-oct): Write $(DESTDIR)$(...), not - $(DESTDIR).$(...). - -2010-01-02 Ben Abbott - - * mappers.cc: Change test tolerance from 1e-16 to eps. - -2009-12-30 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (scalar_query_helper): Remove. - (can_extract): New overloaded helper function. - (scalar_col_helper_nda): Rewrite using can_extract and - octave_value_extract. Instantiate for integer types. - (make_col_helper): Support integer types. - - -2009-12-30 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix tests. - -2009-12-28 Thomas Treichl - - * DLD-FUNCTIONS/md5sum.cc, DLD-FUNCTIONS/lookup.cc: Include - config.h before another header file. - -2009-12-27 John W. Eaton - - * Makefile.am (xgl2ps.c): New file. - (EXTRA_DIST): Include gl2ps.c in the list. - (DIST_SRC): Include xgl2ps.c in the list instead of gl2ps.c. - -2009-12-27 Jaroslav Hajek - - * ov.cc (decode_subscripts): Move to utils.cc. - * utils.cc (decode_subscripts): New func. - * utils.h: Declare it. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Optimize the - `cellfun (@subsref, args, {subs}, "uniformoutput", true)' case. - -2009-12-26 Jaroslav Hajek - - * gripes.cc (gripe_nonbraced_cs_list_assignment): New function. - * gripes.h: Declare it. - * ov-cell.cc (octave_cell::subsasgn): Use it here. - * ov-struct.cc (octave_struct::subsasgn): Also here. - * pt-idx.cc (tree_simple_assignment::rvalue1): And here. Check for - single lhs value. - -2009-12-25 Jaroslav Hajek - - * ov-str-mat.h (octave_char_matrix_str::is_matrix_type): Remove - override. - * data.cc (Fismatrix): Update test. - -2009-12-25 Jaroslav Hajek - - * DLD-FUNCTIONS/strfind.cc: New source. - * DLD-FUNCTIONS/module-files: Add it here. - -2009-12-23 John W. Eaton - - * lex.ll: Use %top block to include config.h. - -2009-12-16 Jaroslav Hajek - - * DLD-FUNCTIONS/max.cc (do_cumminmax_body): Support also btyp_bool. - -2009-12-22 Rob Mahurin - - * find-defun-files.sh: Use SED and EGREP as returned by configure. - -2009-12-20 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_sindow::set_name): New method. - (figure_manager::set_name, figure_manage::do_set_name): New methods. - (fltk_backend::property_changed): Handle change of figure title string. - -2009-12-19 Rik - - * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake - variables of top_builddir and top_srcdir. - -2009-12-18 David Grundberg - - * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): - Print script filename in script indexing errors. - (octave_user_script::subsref): Ditto. - -2009-12-18 John W. Eaton - - * input.cc (get_debug_input): Don't attempt to get user input - unless stdin is a tty. Force interactive input mode when - reading debugging input. - (octave_gets): Bypass readline if get_input_from_eval_string is true. - - * input.cc, input.h (stdin_is_tty): New variable. - * octave.cc (octave_main): Set it to true if stdin is not a tty. - -2009-12-16 Jaroslav Hajek - - * DLD-FUNCTIONS/max.cc (do_minmax_red_op): New - specialization. - (do_minmax_body): Handle btyp_bool. - -2009-12-16 Jaroslav Hajek - - * symtab.cc (symbol_table::cleanup): Call clear_variables rather than - clear_all on the top and global scopes. - -2009-12-16 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (F__init_fltk__): - Add __remove_fltk__ to the list of atexit functions. - (F__remove_fltk__): Wait fltk_maxtime instead of 10 seconds. - -2009-12-15 John W. Eaton - - * toplev.cc (do_goto_frame_relative): Stop searching at top - stack frame even though it is not a function. - -2009-12-15 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Preserve original nargout. Call - functions with this value. Use nargout1 to possibly accumulate extra - outputs, as long as they are defined. - -2009-12-14 Jaroslav Hajek - - * ov-range.cc (octave_range::do_index_op): Defer single subscript to - new Range methods. - -2009-12-14 Jaroslav Hajek - - * symtab.cc (symbol_table::cleanup): New static method. - * symtab.h: Declare it. - * toplev.cc (clean_up_and_exit): Call it here. - -2009-12-12 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::toggle_grid, - plot_window::axis_auto): Modify the axes of the correct figure. - -2009-12-12 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): - Handle case where window is created but not visible. Cache - window label. - (figure_manager::toggle_window_visibility, - (figure_manager::do_toggle_window_visibility): New methods. - (fltk_backend::property_change): Handle figure visibility change. - -2009-12-11 John W. Eaton - - * graphics.h.in (base_properties::all_dynamic_properties): - No longer static. - (base_properties::set (const caseless_str&, const octave_value&)): - Only provide decl, not definition. - (base_properties::set (const caseless_str&, const std::string&, - const octave_value&)): Delete. - (base_properties::dynamic_properties): Rename from - all_dynamic_properties. No longer static. Now protected. - (base_properties::has_dynamic_property, - base_properties::dynamic_property_names, - base_properties::set_dynamic): Omit class name argument. - * graphics.cc (base_properties::all_dynamic_properties): - Delete obsolete definition. - (base_properties::dynamic_property_names): Now const. - Omit class name argument. Simply return dynamic_properties set. - (base_properties::has_dynamic_property): Omit class name argument. - Simply return dynamic_properties set. Don't pass class name to - dynamic_property_names function. - (base_properties::set_dynamic): Omit class name argument. - Dynamic_properties is no longer a map. - - * genprops.awk: Omit class name from arguments of generated - base_properties::all_property_names and base_properties::set - functions. Don't pass class name to base_properties::set in - generated derived class set functions. - -2009-12-11 John W. Eaton - - * Makefile.am (DOCSTRINGS): Use $(cp_update_rule) instead of - cp -a --update. - -2009-12-10 Rik - - * Makefile.am: distclean symbolic links for OCT_FILES - -2009-12-10 Rik - - * Makefile.am: Copy DOCSTRINGS from srcdir to builddir if it does not - exist. Enables VPATH builds. - -2009-12-10 Jaroslav Hajek - - * ov-dld-fcn.h (octave_dld_function::get_shlib): New method. - * ov-mex-fcn.h (octave_mex_function::get_shlib): New method. - * defun.cc (get_current_shlib): New function. - * defun-int.h: Declare it. - (octave_auto_shlib): New class. - -2009-12-10 Jaroslav Hajek - - * symtab.cc (out_of_date_check): Try also autoloads. - -2009-12-09 Jaroslav Hajek - - * symtab.h (symbol_table::fcn_info::clear_autoload_function): - New method. - (symbol_table::clear_dld_function): New method. - * dynamic-ld.cc (octave_shlib_list::do_remove): Switch order of stmts. - (octave_mex_file_list::do_remove): Likewise. - (do_clear_function): Call symbol_table::clear_dld_function. - (octave_dynamic_loader::do_load_oct): Don't use - octave_shlib::mark_relative. - (octave_dynamic_loader::do_load_mex): Ditto. - -2009-12-10 John W. Eaton - - * file-io.cc (fopen_mode_to_ios_mode): Allow "+" at the end of - modestrings like "rb+". - -2009-12-10 John W. Eaton - - * oct-stream.cc (BEGIN_C_CONVERSION, BEGIN_S_CONVERSION): - Store characters directly in appropriately sized std::string object. - (FINISH_CHARACTER_CONVERSION): Do store ASCII NUL values. - -2009-12-09 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc: Style fixes. - -2009-12-09 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::print): Print immediatly. - -2009-12-09 John W. Eaton - - * gl2ps-renderer.cc (draw_pixels): New template function. - (opengl_renderer::draw_pixels): Use it. - -2009-12-09 Shai Ayal - - * gl2ps.c, gl2ps.h: Use upstream version gl2ps-1.3.5-svn-20091202. - - * gl-render.cc (opengl_renderer::draw_pixels): New function. - (opengl_renderer::draw_image): Correctly handle images with width - or height of 1. Use draw_pixels. - * gl-render.h (opengl_renderer::draw_pixels): Provide decl. - - * gl2ps-renderer.cc (glps_renderer::draw_pixels): New function. - * gl2ps-renderer.h (glps_renderer::draw_pixels): Provide decl. - -2009-12-09 John W. Eaton - - * load-save.cc: Call nstrftime instead of my_strftime. - -2009-12-09 John W. Eaton - - * load-save.cc: Include strftime.h. - (write_header): Call my_strftime instead of strftime. - - * Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/libgnu to the list. - (OCTAVE_LIBS, OCTINTERP_LINK_DEPS, OCT_LINK_DEPS): - Add ../libgnu/libgnu.la to the list. - -2009-12-09 Rik - - * Makefile.am: Distribute DOCSTRINGS in tar.gz file - -2009-12-07 Jaroslav Hajek - - * dirfns.cc (Ffnmatch): Simplify. - -2009-12-08 Michael Goffioul - - * ov-ch-mat.cc: Add missing #include. - * oct-stream.cc (do_read): Simplify. - * gl-render.h: Undef min and max after #including windows.h. - -2009-12-08 John W. Eaton - - * Makefile.am (gendoc.cc): Don't pass $(srcdidr) to mkgendoc. - -2009-12-07 John W. Eaton - - * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, - OPERATORS/op-b-sbm.cc, OPERATORS/op-bm-b.cc, - OPERATORS/op-bm-bm.cc, OPERATORS/op-bm-sbm.cc, - OPERATORS/op-cdm-cdm.cc, OPERATORS/op-cdm-cm.cc, - OPERATORS/op-cdm-cs.cc, OPERATORS/op-cdm-dm.cc, - OPERATORS/op-cdm-m.cc, OPERATORS/op-cdm-s.cc, - OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, - OPERATORS/op-class.cc, OPERATORS/op-cm-cdm.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cm-dm.cc, OPERATORS/op-cm-m.cc, - OPERATORS/op-cm-pm.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, - OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-dm-cdm.cc, OPERATORS/op-dm-cm.cc, - OPERATORS/op-dm-cs.cc, OPERATORS/op-dm-dm.cc, - OPERATORS/op-dm-m.cc, OPERATORS/op-dm-s.cc, - OPERATORS/op-dm-scm.cc, OPERATORS/op-dm-sm.cc, - OPERATORS/op-dm-template.cc, OPERATORS/op-dms-template.cc, - OPERATORS/op-double-conv.cc, OPERATORS/op-fcdm-fcdm.cc, - OPERATORS/op-fcdm-fcm.cc, OPERATORS/op-fcdm-fcs.cc, - OPERATORS/op-fcdm-fdm.cc, OPERATORS/op-fcdm-fm.cc, - OPERATORS/op-fcdm-fs.cc, OPERATORS/op-fcm-fcdm.cc, - OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, - OPERATORS/op-fcm-fdm.cc, OPERATORS/op-fcm-fm.cc, - OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcm-pm.cc, - OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, - OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, - OPERATORS/op-fdm-fcdm.cc, OPERATORS/op-fdm-fcm.cc, - OPERATORS/op-fdm-fcs.cc, OPERATORS/op-fdm-fdm.cc, - OPERATORS/op-fdm-fm.cc, OPERATORS/op-fdm-fs.cc, - OPERATORS/op-float-conv.cc, OPERATORS/op-fm-fcdm.cc, - OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, - OPERATORS/op-fm-fdm.cc, OPERATORS/op-fm-fm.cc, - OPERATORS/op-fm-fs.cc, OPERATORS/op-fm-pm.cc, - OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, - OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, - OPERATORS/op-i16-i16.cc, OPERATORS/op-i32-i32.cc, - OPERATORS/op-i64-i64.cc, OPERATORS/op-i8-i8.cc, - OPERATORS/op-int-concat.cc, OPERATORS/op-int-conv.cc, - OPERATORS/op-list.cc, OPERATORS/op-m-cdm.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, - OPERATORS/op-m-dm.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-pm.cc, - OPERATORS/op-m-s.cc, OPERATORS/op-m-scm.cc, - OPERATORS/op-m-sm.cc, OPERATORS/op-pm-cm.cc, - OPERATORS/op-pm-fcm.cc, OPERATORS/op-pm-fm.cc, - OPERATORS/op-pm-m.cc, OPERATORS/op-pm-pm.cc, - OPERATORS/op-pm-scm.cc, OPERATORS/op-pm-sm.cc, - OPERATORS/op-pm-template.cc, OPERATORS/op-range.cc, - OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, - OPERATORS/op-s-s.cc, OPERATORS/op-s-scm.cc, - OPERATORS/op-s-sm.cc, OPERATORS/op-sbm-b.cc, - OPERATORS/op-sbm-bm.cc, OPERATORS/op-sbm-sbm.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, - OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, - OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, - OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, - OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, - OPERATORS/op-str-str.cc, OPERATORS/op-struct.cc, - OPERATORS/op-ui16-ui16.cc, OPERATORS/op-ui32-ui32.cc, - OPERATORS/op-ui64-ui64.cc, OPERATORS/op-ui8-ui8.cc: - Delete Emacs local-variable settings. - -2009-12-07 John W. Eaton - - * OPERATORS/op-pm-sm.cc, OPERATORS/op-pm-scm.cc, - OPERATORS/op-dm-sm.cc, OPERATORS/op-dm-scm.cc, - OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fcm.cc, - OPERATORS/op-fs-fcs.cc, OPERATORS/op-fm-fm.cc, - OPERATORS/op-fm-fcs.cc, OPERATORS/op-fm-fcm.cc, - OPERATORS/op-fcs-fs.cc, OPERATORS/op-fcs-fm.cc, - OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcm-fs.cc, - OPERATORS/op-fcm-fm.cc, OPERATORS/op-fm-fs.cc, - OPERATORS/op-fcm-fcm.cc, OPERATORS/op-class.cc, - OPERATORS/op-fcm-fcs.cc, OPERATORS/op-str-str.cc, - OPERATORS/op-str-s.cc, OPERATORS/op-str-m.cc, - OPERATORS/op-struct.cc, OPERATORS/op-sm-scm.cc, - OPERATORS/op-sm-s.cc, OPERATORS/op-sm-sm.cc, - OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-cm.cc, - OPERATORS/op-scm-sm.cc, OPERATORS/op-scm-scm.cc, - OPERATORS/op-scm-s.cc, OPERATORS/op-scm-m.cc, - OPERATORS/op-scm-cs.cc, OPERATORS/op-sm-m.cc, - OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, - OPERATORS/op-sbm-bm.cc, OPERATORS/op-s-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-sbm-b.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-int.h, - OPERATORS/op-int-conv.cc, OPERATORS/op-int-concat.cc, - OPERATORS/op-cs-sm.cc, OPERATORS/op-cs-scm.cc, - OPERATORS/op-cm-sm.cc, OPERATORS/op-cs-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-scm.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-chm.cc, - OPERATORS/op-cell.cc, OPERATORS/op-bm-sbm.cc, - OPERATORS/op-bm-bm.cc, OPERATORS/op-bm-b.cc, - OPERATORS/op-b-sbm.cc, OPERATORS/op-fcs-fcs.cc: - Untabify. - -2009-12-07 Jaroslav Hajek - - * Makefile.am: Build OPT_HANDLERS before DEF_FILES. - -2009-12-06 Rik - - * Makefile.am: Distribute DOCSTRINGS so that documentation will - not require rebuild after merely untarring a distribution. - -2009-12-05 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Document complexity. - -2009-12-05 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Rewrite. - (Flookup): Simplify string part. Use Array::lookup. - -2009-12-04 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Always use - CURLOPT_USERPWD instead of CURLOPT_USER and CURLOPT_PASSWD. - -2009-12-04 John W. Eaton - - * version.h.in (OCTAVE_API_VERSION_NUMBER): New macro. - * Makefile.am (version.h): Substitute OCTAVE_API_VERSION_NUMBER. - -2009-12-04 John W. Eaton - - * Makefile.am (mkdefs): New arguments, srcdir and file. - Generate output here. (.cc.df): Not here. - -2009-12-04 John W. Eaton - - * Makefile.am (BUILT_SOURCES): Include graphics-props.cc in the - list. - -2009-12-04 John W. Eaton - - * Makefile.am (liboctinterp_la_SOURCES): Remove $(OPT_HANDLERS) - from the list. - -2009-12-03 John W. Eaton - - * Makefile.am (CLEANFILES): Include DLD-FUNCTIONS/PKG_ADD, - doc-files, gendoc.cc, gendoc$(BUILD_EXEEXT), graphics-props.cc, - oct-parse.output, $(BUILT_NODISTFILES) in the list. Remove - $(BUILT_SOURCES) from the list. (MAINTAINERCLEANFILES): New - variable. (BUILT_DISTFILES): Remove oct-parse.cc and lex.cc - from the list. (BUILT_NODISTFILES): Include defaults.h, - graphics.h, oct-conf.h, oct-errno.cc, ops.cc, mxarray.h, and - version.h in the list. Remove $(OPT_INC) from the list. - (BUILT_SOURCES): Include mxarray.h and version.h in the list. - (EXTRA_DIST): Include version.h.in in the list. (.cc.df): Don't - silence rules. Omit $(srcdir) from XDEFUN_FILE_NAME. - ($(DEF_FILES)): Depend on mkdefs and Makefile. (mxarray.h, - version.h): New rules. (DLD-FUNCTIONS/PKG_ADD): Don't silence - rules. (builtins.cc, DOCSTRINGS, gendoc.cc, ops.cc, - $(OPT_HANDLERS)) oct-errno.cc, oct-gperf.h): Don't silence - rules. (doc-files, defaults.h, oct-conf.h): Don't silence - rules. - - * mxarray.h.in, version.h.in: Use % to delimit substitutions, - not @. - - * mkbuiltins: Operate on a list of files passed as arguments. - - * genprops.awk: Write either graphics.h or graphics-props.cc to - stdout instead of graphics.h simultaneously with - graphics-props.cc ot a file. * Makefile.am (graphics.h, - graphics-props.cc): Split into two separate rules. - - * find-defun-files.sh: Omit directory part from .df file names. - Operate on .ll and .yy files instead of generated .cc files. - -2009-12-02 Rik - - * DLD-FUNCTIONS/urlwrite.cc: Correctly compile code even when - libcurl is not present according to configure. - -2009-12-01 Jaroslav Hajek - - * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const - boolNDArray&, const idx_vector&)): New constructor. - * ov-re-mat.h (octave_bool_matrix::octave_bool_matrix (const - NDArray&, const idx_vector&)): Simplify. - * ov.cc (octave_value::octave_value (const idx_vector&)): Allow - the mask case. - * DLD-FUNCTIONS/find.cc (Ffind): Explicitly call unmask. - -2009-11-30 Kacper Kowalik - - * oct-hdf5.h: Drop force the use of the v1.6 API * ls-hdf5.cc, - ov-base-int.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, - ov-cell.cc, ov-class.cc, ov-complex.cc, ov-cx-mat.cc, - ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, - ov-float.cc, ov-flt-complex.cc, ov-flt-cx-mat.cc, - ov-flt-re-mat.cc, ov-list.cc, ov-range.cc, ov-re-mat.cc, - ov-re-sparse.cc, ov-scalar.cc, ov-str-mat.cc, ov-struct.cc: - Allow v1.8 API versions of hdf5 functions. - -2009-11-30 John W. Eaton - - * DLD-FUNCTIONS/fft2.cc (Fifft2): Docstring fix. - -2009-11-29 Jaroslav Hajek - - * pt-unop.cc (tree_prefix_expression::rvalue1): Try to use - octave_value::do_non_const_unary_op. - -2009-11-29 Jaroslav Hajek - - * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Use - CURLOPT_USERPWD if libcurl ver < 7.19.0. - -2009-11-28 Shai Ayal - - * gl-render.cc (opengl_renderer::draw_image): Handle indexed - images. - -2009-11-28 Shai Ayal - - * gl-render.h (opengl_renderer::draw): Draw children from end of - list to preserve correct stacking order (first child should be - on top). - - * graphics.cc (maybe_set_children): Store sorted child lists. - -2009-11-27 Kacper Kowalik - - * ls-hdf5.cc (have_h5giterate_bug): Drop this group iteration - flag for buggy pre 1.2.2 versions of hdf5. * ov-base-int.cc - (octave_base_int_matrix::load_hdf5) - octave_base_int_scalar::load_hdf5), ov-base-int.h - (octave_base_int_matrix::load_hdf5, - octave_base_int_scalar::load_hdf5), ov-base.cc - (octave_base_value::load_hdf5), ov-base.h - (octave_base_value::load_hdf5), ov-bool-mat.cc - (octave_bool_matrix::load_hdf5), ov-bool-mat.h - (octave_bool_matrix::load_hdf5), ov-bool-sparse.cc - (octave_sparse_bool_matrix::load_hdf5), ov-bool-sparse.h - (octave_sparse_bool_matrix::load_hdf5), ov-bool.cc - (octave_bool::load_hdf5), ov-bool.h (octave_bool::load_hdf5), - ov-cell.cc (octave_cell::load_hdf5), ov-cell.h - (octave_cell::load_hdf5), ov-class.cc (octave_class::load_hdf5), - ov-class.h (octave_class::load_hdf5), ov-complex.cc - (octave_complex::load_hdf5), ov-complex.h - (octave_complex::load_hdf5), ov-cx-mat.cc - (octave_complex_matrix::load_hdf5), ov-cx-mat.h - (octave_complex_matrix::load_hdf5), ov-cx-sparse.cc - (octave_sparse_complex_matrix::load_hdf5), ov-cx-sparse.h - (octave_sparse_complex_matrix::load_hdf5), ov-fcn-handle.cc - (octave_fcn_handle::load_hdf5), ov-fcn-handle.h - (octave_fcn_handle::load_hdf5), ov-fcn-inline.cc - (octave_fcn_inline::load_hdf5), ov-fcn-inline.h - (octave_fcn_inline::load_hdf5), ov-float.cc - (octave_float_scalar::load_hdf5), ov-float.h - (octave_float_scalar::load_hdf5), ov-flt-complex.cc - (octave_float_complex::load_hdf5), ov-flt-complex.h - (octave_float_complex::load_hdf5), ov-flt-cx-mat.cc - (octave_float_complex_matrix::load_hdf5), ov-flt-cx-mat.h - (octave_float_complex_matrix::load_hdf5), ov-flt-re-mat.cc - (octave_float_matrix::load_hdf5), ov-flt-re-mat.h - (octave_float_matrix::load_hdf5), ov-list.cc - (octave_list::load_hdf5), ov-list.h (octave_list::load_hdf5), - ov-range.cc (octave_range::load_hdf5), ov-range.h - (octave_range::load_hdf5), ov-re-mat.cc - (octave_matrix::load_hdf5), ov-re-mat.h - (octave_matrix::load_hdf5), ov-re-sparse.cc - (octave_sparse_matrix::load_hdf5), ov-re-sparse.h - (octave_sparse_matrix::load_hdf5), ov-scalar.cc - (octave_scalar::load_hdf5), ov-scalar.h - (octave_scalar::load_hdf5), ov-str-mat.cc - (octave_char_matrix_str::load_hdf5), ov-str-mat.h - (octave_char_matrix_str::load_hdf5), ov-struct.cc - (octave_struct::load_hdf5), ov-struct.h - (octave_struct::load_hdf5), ov.h (octave_value::load_hdf5): - Remove have_hg5iterate_bug from the call to load_hdf5. - * ov-cell.cc (octave_bool::load_hdf5), ov-class.cc - (octave_class::load_hdf5), ov-fcn-handle.cc - (octave_fcn_handle::load_hdf5), ov-list.cc - (octave_list::load_hdf5), ov-struct.cc - (octave_struct::load_hdf5): Remove HAVE_H5GGET_NUM_OBJS cruft - for old hdf5 versions. - -2009-11-27 David Bateman - - * DLD-FUNCTIONS/urlwrite.cc (curl_handle, curl_handles): Add - classes to manage the open curl connections. (F__ftp__, - F__ftp_pwd__, F__ftp_cwd__, F__ftp_dir__, F__ftp_ascii__, - F__ftp_binary__, F__ftp_close__, F__ftp_mode__, F__ftp_delete__, - F__ftp_rmdir__, F__ftp_mkdir__, F__ftp_rename__, F__ftp_mput__, - F__ftp_mget__): New functions. - -2009-11-27 Jaroslav Hajek - - * ov.cc (octave_value::octave_value (const index_vector&)): Take - a copy if idx to allow mutation. - -2009-11-26 Jaroslav Hajek - - * DLD-FUNCTIONS/dot.cc (Fdot): Update docs. - -2009-11-26 Jaroslav Hajek - - * DLD-FUNCTIONS/dot.cc: New source. - * DLD-FUNCTIONS/module-files: Include it. - -2009-11-26 Jaroslav Hajek - - * data.cc (Fismatrix): Return true for empty matrices as well. - -2009-11-25 Jaroslav Hajek - - * DLD-FUNCTIONS/chol.cc (get_chol_l): New helper function. - (Fchol): Use it to set MatrixType for lower triangular factors - as well. Use default octave_idx_type->octave_value conversion. - -2009-11-24 Jaroslav Hajek - - * data.cc (do_accumarray_sum): Simplify. - -2009-11-24 Jaroslav Hajek - - * ov-struct.cc (octave_struct::save_binary): Save dimensions for - structs. (octave_struct::load_binary): Load dimensions if - present, use 1x1 otherwise. - -2009-11-23 Jaroslav Hajek - - * data.cc (Fmerge): Add missing parentheses. - -2009-11-23 Jaroslav Hajek - - * ov-complex.h (octave_complex::bool_value, - octave_complex::bool_array_value): New methods. - * ov-flt-complex.h (octave_float_complex::bool_value, - octave_float_complex::bool_array_value): New methods. - * ov-cx-mat.cc (octave_complex_matrix::bool_array_value): New - method. * ov-cx-mat.h: Declare it. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::bool_array_value): - New method. - * ov-flt-cx-mat.h: Declare it. - -2009-11-23 Jaroslav Hajek - - * ov-struct.cc (octave_struct::save_ascii): Save dimensions for - structs. (octave_struct::load_ascii): Load dimensions if - present, use 1x1 otherwise. - -2009-11-20 Jaroslav Hajek - - * data.cc (Fmerge): Correct query for logical masks. - -2009-11-20 Jaroslav Hajek - - * utils.cc (dims_to_numel): Fallback to index_vector query for - non-numeric types. - -2009-11-20 Jaroslav Hajek - - * ov-bool.h (octave_bool::is_numeric_type): New overload. - * ov-bool-mat.h (octave_bool-matrix::is_numeric_type): New overload. - -2009-11-19 Jaroslav Hajek - - * ov-base.h (unary_mapper_t): New member: umap_erfinv. - * ov-base.c (octave_base_value::get_umap_name): Add "erfinv" here. - * ov.h (octave_value::erfinv): New method. - * ov-scalar.cc (octave_scalar::map): Handle umap_erfinv. - * ov-float.cc (octave_float::map): Ditto. - * ov-re-mat.cc (octave_matrix::map): Ditto. - * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. - * ov-re-sparse.cc (octave_sparse_matrix::map): Ditto. - * mappers.cc (Ferfinv): New DEFUN. - -2009-11-14 Shai Ayal - - * gl-render.cc (opengl_renderer::text_to_pixels): New function - from code in render_text to produce the pixels and compute - bounding box. (opengl_renderer::render_text): Call - text_to_pixels to compute rotation mode and bounding box. - * gl-renger.h (opengl_renderer::text_to_pixels): Provide decl. - * gl2ps-renderer.cc (glps_renderer::render_text): Call - text_to_pixels to compute bounding box. - (glps_renderer::set_font): Call opengl_renderer::set_font. - -2009-11-18 Michael Godfrey - - * txt-eng-ft.cc: Relax font match test. - -2009-11-18 Jaroslav Hajek - - * DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New member: - bsxfun_builtin_power. (bsxfun_builtin_names): Include "power". - (do_bsxfun_real_pow): New static function. (maybe_fill_table): - Register power handlers. - -2009-11-13 Jaroslav Hajek - - * ov-complex.cc (octave_complex::try_narrowing_conversion): - Don't check signbit. - * ov-flt-complex.cc - (octave_float_complex::try_narrowing_conversion): Ditto. - * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): - Simplify. Don't check signbit. - * ov-flt-cx-mat.cc - (octave_float_complex_matrix::try_narrowing_conversion): Ditto. - -2009-11-17 Jaroslav Hajek - - * ov-re-mat.cc (do_rc_map): New static function. - (octave_matrix::map): Use it here. - * ov-flt-re-mat.cc (do_rc_map): New static function. - (octave_float_matrix::map): Use it here. - -2009-11-17 Jaroslav Hajek - - * DLD-FUNCTIONS/balance.cc: Fix docs. - -2009-11-13 John W. Eaton - - * Makefile.am (liboctinterp_la_CPPFLAGS): Define. - -2009-11-13 Joel Keay - - * graphics.h.in (image::properties::init): Also allow single, - int16, and uint16 data types. - -2009-11-13 Jaroslav Hajek - - * ov-base.h (unary_mapper_t): Move to octave_base_value. - * ov.h: Partially revert to c657c056240d. - (FORWARD_MAPPER): Update to use octave_base_value::map. - (octave_value::map): Ditto. - * mappers.cc: Revert to c657c056240d. - * data.cc: Ditto. - * Cell.h, Cell.cc: Ditto. - * ov-cell.cc (octave_cell::map): Rewrite. - * ov-base-sparse.cc (octave_base_sparse::map): New method. - * ov-base-sparse.h: Declare it. - * ov-re-sparse.cc (octave_sparse_matrix::map): Use it as a fallback. - * ov-cx-sparse.cc (octave_sparse_complexmatrix::map): Ditto. - -2009-11-12 Jaroslav Hajek - - * ov-base.h (unary_mapper_t): New enum. - (octave_base_value::map (unary_mapper_t)): New method. - (octave_base_value::abs, octave_base_value::acos, - octave_base_value::acosh, octave_base_value::angle, - octave_base_value::arg, octave_base_value::asin, - octave_base_value::asinh, octave_base_value::atan, - octave_base_value::atanh, octave_base_value::ceil, - octave_base_value::conj, octave_base_value::cos, - octave_base_value::cosh, octave_base_value::erf, - octave_base_value::erfc, octave_base_value::exp, - octave_base_value::expm1, octave_base_value::finite, - octave_base_value::fix, octave_base_value::floor, - octave_base_value::gamma, octave_base_value::imag, - octave_base_value::isinf, octave_base_value::isna, - octave_base_value::isnan, octave_base_value::lgamma, - octave_base_value::log, octave_base_value::log2, - octave_base_value::log10, octave_base_value::log1p, - octave_base_value::real, octave_base_value::round, - octave_base_value::roundb, octave_base_value::signum, - octave_base_value::sin, octave_base_value::sinh, - octave_base_value::sqrt, octave_base_value::tan, - octave_base_value::tanh): Remove. - - * ov.h (octave_value::map (unary_mapper_t)): New method. - (octave_value::abs, octave_value::acos, octave_value::acosh, - octave_value::angle, octave_value::arg, octave_value::asin, - octave_value::asinh, octave_value::atan, octave_value::atanh, - octave_value::ceil, octave_value::conj, octave_value::cos, - octave_value::cosh, octave_value::erf, octave_value::erfc, - octave_value::exp, octave_value::expm1, octave_value::finite, - octave_value::fix, octave_value::floor, octave_value::gamma, - octave_value::imag, octave_value::isinf, octave_value::isna, - octave_value::isnan, octave_value::lgamma, octave_value::log, - octave_value::log2, octave_value::log10, octave_value::log1p, - octave_value::real, octave_value::round, octave_value::roundb, - octave_value::signum, octave_value::sin, octave_value::sinh, - octave_value::sqrt, octave_value::tan, octave_value::tanh): Remove. - - * ov-scalar.h, ov-scalar.cc (octave_scalar): Update. - * ov-float.h, ov-float.cc (octave_float): Update. - - * ov-complex.h, ov-complex.cc (octave_complex): Update. - * ov-flt-complex.h, ov-flt-complex.cc (octave_float_complex): - Update. - - * ov-re-matrix.h, ov-re-matrix.cc (octave_matrix): Update. - * ov-flt-re-matrix.h, ov-flt-re-matrix.cc (octave_float_matrix): Update. - * ov-cx-matrix.h, ov-cx-matrix.cc (octave_complex_matrix): Update. - * ov-flt-cx-matrix.h, ov-flt-cx-matrix.cc - (octave_float_complex_matrix): Update. - - * ov-re-sparse.h, ov-re-sparse.cc (octave_sparse_matrix): Update. - * ov-cx-sparse.h, ov-cx-sparse.cc (octave_sparse_complex_matrix): - Update. - - * ov-re-diag.h, ov-re-diag.cc (octave_diag_matrix): Update. - * ov-flt-re-diag.h, ov-flt-re-diag.cc (octave_float_diag_matrix): - Update. - * ov-cx-diag.h ov-cx-diag.cc (octave_complex_diag_matrix): Update. - * ov-flt-cx-diag.h, ov-flt-cx-diag.cc - (octave_float_complex_diag_matrix): Update. - - * ov-range.h (octave_range): Update. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T): Update. - (OCTAVE_VALUE_INT_SCALAR_T): Update. - - * ov-perm.h (octave_perm_matrix): Update. - * ov-bool.h (octave_bool): Update. - * ov-bool-mat.h (octave_bool_matrix): Update. - * ov-ch-mat.h (octave_char_matrix): Update. - - * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh, - Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp, - Fexpm1, Ffinite, Ffix, Ffloor, Fgamma, Fimag, Fisinf, Fisna, - Fisnan, Flgamma, Flog, Flog2, Flog10, Flog1p, Freal, Fround, - Froundb, Fsignum, Fsin, Fsinh, Fsqrt, Ftan, Ftanh, Fisalnum, - Fisalpha, Fisascii, Fiscntrl, Fisdigit, Fisgraph, Fislower, - Fisprint, Fispunct, Fisspace, Fisupper, Fisxdigit, Ftoascii, - Ftolower, Ftoupper): Update. - -2009-11-11 John W. Eaton - - * load-path.cc (load_path::do_find_all_first_of): Take advantage - of string_vector (std::list) constructor. - -2009-11-11 John W. Eaton - - * help.cc (do_get_help_text_from_file, - Fget_help_text_from_file): New functions. - (do_get_help_text): Pass NAME by const reference. - * utils.cc (find_dir_in_path): New optional argument "all". - * load-path.cc (load_path::do_find_matching_dirs): New function. - (load_path::do_find_dir): Perform match on absolute directory - names, but return name as it appears in dir_info_list. Adjust - dname_len after stripping directory separator. - * load-path.h (load_path::do_find_matching_dirs): Provide decl. - (load_path::find_matching_dirs): New function. - -2009-11-11 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (Fl_Gl_Window::draw): - If zooming, call overlay. - (Fl_Gl_Window::overlay): Rename from draw_overlay. Don't return - early if zooming. Don't call valid and conditionally call - setup_veiwport. Set overlay color and draw line around zoom box. - (Fl_Gl_Window::zoom_box_vertex): New function. - (Fl_Gl_Window::pixel2status): Call canvas->redraw, not - canvas->redraw_overlay. - -2009-11-10 Shai Ayal - - * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New - files. PostScript backend based on opengl_renderer and gl2ps. - * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list. - (DIST_SRC): Add gl2ps.c to the list. - * gl-render.cc (opengl_renderer::render_text): Rename from - opengl_renderer::draw_text. - (opengl_renderer::draw_figure, opengl_renderer::draw_axes, - opengl_renderer::draw_line, opengl_renderer::draw_surface, - opengl_renderer::draw_patch, opengl_renderer::draw_hggroup, - opengl_renderer::draw_text, opengl_renderer::draw_image): - Rename from overloaded opengl_renderer::draw. - * gl-render.h: Fix decls. - - * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::print): New function. - (OpenGL_fltk::print_filename): New data member. - (OpenGL_fltk::draw): Add support for printing. - (fltk_backend::print_figure): Call figure_manager::print. - -2009-11-10 John W. Eaton - - * file-io.cc (Fferror): Update doc string. - -2009-11-10 David Grundberg - - * oct-strstrm.h (octave_base_strstream::tell): Declare virtual. - (octave_istrstream::tell): New method. - -2009-11-10 John W. Eaton - - * Makefile.am, OPERATORS/module.mk, TEMPLATE-INST/module.mk, - find-defun-files.sh, version.h.in, - DLD-FUNCTIONS/config-module.awk, DLD-FUNCTIONS/config-module.sh, - DLD-FUNCTIONS/module-files: New files. - * Makefile.in, version.h: Delete. - * lex.ll: Rename from lex.l. Include oct-parse.h instead of y.tab.h. - * parse.yy: Rename from parse.y - * mkbuiltins, mkgendoc: Don't require filenames to start with a - "." at beginning of line. - - * oct-conf.h.in (OCTAVE_CONF_LAPACK_LIBS): Delete macro. - * toplev.cc (octave_config_info): Don't include LAPACK_LIBS in the - struct. - -2009-11-10 Jaroslav Hajek - - * ov-class.cc (octave_class::numel): Use base version if called - from built-in assignment. - (octave_class::size): Ditto. - -2009-11-10 Jaroslav Hajek - - * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Simplify examples in - docs. - -2009-11-09 Jaroslav Hajek - - * ov-base.cc (btyp_mixed_numeric): New function. - * ov-base.h: Declare it. - (btyp_isnumeric): New inline function. - * DLD_FUNCTIONS/max.cc (do_minmax_red_op, do_minmax_bin_op, - do_minmax_body, do_cumminmax_red_op): New functions. - (MINMAX_DOUBLE_SBODY, MINMAX_DOUBLE_BODY, MINMAX_SINGLE_SBODY, - MINMAX_SINGLE_BODY, MINMAX_SPARSE_BODY, MINMAX_INT_SBODY, - MINMAX_INT_BODY, MINMAX_BODY, CUMMINMAX_BODY): Remove. - (Fmin, Fmax, Fcummin, Fcummax): Update. - -2009-11-09 Jaroslav Hajek - - * ov.h: Add sparse matrix extractors. - -2009-11-09 John W. Eaton - - * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dsearchn__.cc, - DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/convhulln.cc, - DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/tsearch.cc: Correctly include - config.h, don't include oct.h, etc. - -2009-11-08 Jaroslav Hajek - - * DLD-FUNCTIONS/bsxfun.cc: Add missing copyright. (fill_table): - Mark table as initialized. - -2009-11-06 Jaroslav Hajek - - * pt-assign.cc (tree_multi_assignment::rvalue): Don't skip - zero-length lvalue cs-lists. - -2009-11-06 Jaroslav Hajek - - * ov-cell.cc (octave_cell::print_raw): Indent properly. Use - newline rather than '\n'. - -2009-11-03 John W. Eaton - - * graphics.h.in (root_figure): Add commandwindowsize, diary, - diaryfile, echo, format, language, monitorpositions, - pointerlocation, pointerwindow, and recursionlimit properties. - -2009-11-03 David Grundberg - - * graphics.h.in (root_figure): Add FormatSpacing property. - -2009-11-03 David Grundberg - - * ov-class.cc (octave_class::size): Allow and ignore extra - outargs from user-defined size methods. - -2009-11-03 David Grundberg - - * ov-class.cc (make_idx_args): Call user-defined - subsref/subsasgn with 1xN structs instead of Nx1. - -2009-11-02 Jaroslav Hajek - - * ov-class.cc (octave_class::unique_parent_class): New method. - (octave_class::subsasgn): Use it here. - * ov-class.h: Declare it. - -2009-11-01 John W. Eaton - - * data.cc (get_sort_mode_option): New function. - (Fissorted): Handle ascending or descending option. - -2009-11-01 John W. Eaton - - * load-path.cc (load_path::dir_info::update): Always initialize - relative directories that are not yet included in abs_dir_cache. - -2009-10-29 John W. Eaton - - * parse.y (finish_function): Return function object unless - parsing function file. - -2009-10-23 Jaroslav Hajek - - * DLD-FUNCTIONS/tril.cc: New source. * Makefile.in: Include it. - -2009-10-22 Jaroslav Hajek - - * error.cc (verror (bool, std::ostream&, ..., bool)): Add - optional with_cfn flag. If specified, prepend current function - name (unless already there). - (error_1): Accept with_cfn flag and pass it on. - (error_2): Ditto. - (verror_with_cfn, error_with_cfn, error_with_id_cfn, - verror_with_id_cfn): New functions. - * error.h: Declare them. - * octave.cc (lo_error_handler): Call verror_with_cfn. - * ov-base.cc (INT_CONV_METHOD): Call error_with_cfn. - * ov.cc (octave_value::int_vector_value, octave_idx_type_vector_value): - Call error_with_cfn. - -2009-10-21 Rik - - * variables.cc: Correct use of deftypefnx for who and whos. - -2009-10-21 John W. Eaton - - * load-path.h (load_path::dir_path::dir_time_last_checked): New - field. (load_path::dir_path::dir_path, - load_path::dir_path::operator=): Initialize and copy - dir_time_last_checked. - * load-path.cc (load_path::dir_info::initialize): Store time of - last update. - (load_path::dir_info::update): Check directory modification time - against time of last update, within resolution of filesystem - time stamps. Suggested by Judd Storrs . - -2009-10-20 Jaroslav Hajek - - * ov-base.h (builtin_type_t): Declare also btyp_num_types. - * DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New enum. - (bsxfun_handler): New typedef. - (bsxfun_builtin_names, bsxfun_handler_table): New variables. - (bsxfun_builtin_lookup, maybe_fill_table, maybe_optimized_builtin): - New static funcs. - (bsxfun_forward_op, bsxfun_forward_rel): New static template funcs. - (Fbsxfun): Try to optimize some built-in operations. - -2009-10-19 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Allow non-positive - indices as bounds. - -2009-10-17 Jaroslav Hajek - - * data.cc (Fnth_element): Clarify docstring. - -2009-10-16 Jaroslav Hajek - - * Cell.cc, Cell.h, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/lookup.cc, - DLD-FUNCTIONS/max.cc, TEMPLATE-INST/Array-tc.cc, data.cc, - oct-map.cc, ov-cx-mat.h, ov-flt-cx-mat.cc, ov-flt-cx-mat.h, - ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-re-mat.h, - ov.cc, ov.h, pr-output.cc, pr-output.h, variables.cc: - Remove traces of ArrayN. - - * OPERATORS/op-dm-scm.cc: Avoid using dm + s, dm - s operators. - * OPERATORS/op-dm-sm.cc: Ditto. - * OPERATORS/op-dms-template.cc: Ditto. - -2009-10-16 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): Use Array::column here. - -2009-10-15 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Update docstring. - -2009-10-15 Jaroslav Hajek - - * ov.h (octave_value::octave_value (octave_base_value *, bool)): - New constructor. - (octave_value::octave_value (octave_base_value *, int)): Deprecate. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow the obsolete func - body syntax. - -2009-10-15 Jaroslav Hajek - - * variables.cc (extract_function): Pass 0 to eval_string to avoid - error. - -2009-10-14 Jaroslav Hajek - - * ov.cc (octave_value::octave_value (const Array&)): New - constructor. - * ov.h: Declare it. - * data.cc (Fnth_element): New DEFUN. - -2009-10-13 Jaroslav Hajek - - * data.cc (Fcumsum, Fcumprod, Fprod, Fsum, Fsumsq): Correct help - string. - -2009-10-13 Jaroslav Hajek - - * data.cc (Fsum): Rewrite. - (Fcumsum): Rewrite. - (NATIVE_REDUCTION, NATIVE_REDUCTION_1): Remove. - -2009-10-12 Jaroslav Hajek - - * pt-binop.cc, pt-unop.cc: Revert the effect of 1be3c73ed7b5. - -2009-10-12 Jaroslav Hajek - - * DLD-FUNCTIONS/lu.cc (maybe_set_triangular): Remove. - (get_lu_l, get_lu_u): New helper funcs. - (Flu, Fluupdate): Use them to auto-set MatrixType of results. - * DLD-FUNCTIONS/qr.cc (maybe_set_triangular): Remove. - (get_qr_r): New helper func. - (Fqr, Fqrupdate, Fqrinsert, Fqrdelete, - Fqrshift): Use it to auto-set MatrixType of results. - * DLD-FUNCTIONS/chol.cc (get_chol_r): New helper func. - (Fchol, Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Use it - to auto-set MatrixType of result. - -2009-10-12 Jaroslav Hajek - - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Support 'nocompute' - option. - -2009-10-08 Jaroslav Hajek - - * DLD-FUNCTIONS/lu.cc (Fluupdate): New DEFUN_DLD. - (check_lu_dims): New helper func. - -2009-10-08 Jaroslav Hajek - - * data.cc (Flength): Simplify. - (Fndims): Simplify. - (Fsize): Rewrite, use dim_vector::redim to simplify. - (Fsize_equal): Don't chop trailing singletons (should be already - chopped). - -2009-10-08 Jaroslav Hajek - - * utils.cc (dims_to_numel): New function. - * utils.h: Declare it. - * ov-base.cc (octave_base_value::numel (const octave_value_list&)): - Use it here. - * data.cc (Fnumel): Also here. - -2009-10-07 John W. Eaton - - * variables.cc (get_dims_str): New function. - (symbol_info_list::display_line, - symbol_info_list::parse_whos_line_format): Use it to get dims string. - -2009-10-07 John W. Eaton - - * ov.h (octave_value::get_count): Return octave_idx_type, not int. - -2009-10-07 John W. Eaton - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - Avoid uninitialized variable warning. - * pt-cbinop.cc (simplify_ldiv_op): Avoid unused parameter warning. - * ov-flt-re-mat.cc (convert_to_str_internal): - Update for octave_value constructor changes. - -2009-10-07 Jaroslav Hajek - - * oct-stream.cc (octave_base_stream::skipl, - octave_stream::skipl (long, ...), octave_stream::skipl (const - octave_value&, ...)): New methods. - * oct-stream.h: Declare them. - * file-io.cc (Ffskipl): New DEFUN. - -2009-10-07 John W. Eaton - - * OPERATORS/op-str-str.cc (DEFUNOP (transpose, char_matrix_str)): - Update for octave_value constructor changes. - -2009-10-05 Jaroslav Hajek - - * ov.cc (octave_value::assign): Do not gripe "assignment failed" if - already griped about the binary operation. - -2009-10-05 Jaroslav Hajek - - * pt-idx.cc (tree_index_expression::rvalue): When evaluating index - chain, split on chaining ()() and (){}. - -2009-10-05 Jaroslav Hajek - - * pt-misc.cc (tree_argument_list::convert_to_const_vector): - Return more than nargout arguments only unless undefined elements - occur. - * ov-class.cc (octave_class::subsref): Pack return list from - overloaded method into first value. - -2009-10-05 Jaroslav Hajek - - * ov-ch-mat.h (octave_char_matrix): Don't declare allocator and - typeid. - * ov-ch-mat.cc: Don't define them. - * ov.cc (install_types): Don't register octave_char_matrix. - -2009-10-05 John W. Eaton - - * ov.h (octave_value (const charMatrix&, char, bool), - octave_value (const charNDArray&, char, bool), - octave_value (const ArrayN&, char, bool)): - New constructor decls. - (octave_value (const charMatrix&, bool, char), - octave_value (const charNDArray&, bool, char), - octave_value (const ArrayN&, bool, char)): Mark with - GCC_ATTR_DEPRECATED. Single-quoted strings are now default string - type. - (octave_value::convert_to_str): Default is single-quoted strings. - * ov.cc (octave_value (const charMatrix&, char, bool), - octave_value (const charNDArray&, char, bool), - octave_value (const ArrayN&, char, bool)): New constructors. - (octave_value (const charMatrix&, bool, char), - octave_value (const charNDArray&, bool, char), - octave_value (const ArrayN&, bool, char)): - Assume is_string argument is always true. - - * ov-re-mat.cc (octave_sparse_matrix::convert_to_str_internal): - Update for octave_value constructor changes. - * ov-ch-mat.h (octave_char_matrix::convert_to_str_internal): Likewise. - * ov-re-sparse.cc (octave_sparse_matrix::convert_to_str_internal): - Likewise. - * ov-str-mat.h (octave_char_matrix_str::squeeze, - octave_char_matrix_str::reshape, octave_char_matrix_str::permute, - octave_char_matrix_str::diag, octave_char_matrix_str::sort, - octave_char_matrix_sq_str::squeeze, - octave_char_matrix_sq_str::reshape, - octave_char_matrix_sq_str::permute, - octave_char_matrix_sq_str::diag, octave_char_matrix_sq_str::sort): - Likewise. - * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): - Likewise. - (octave_char_matrix_str::resize): Likewise. - * data.cc (do_cat, Fmerge): Likewise. - * ops.h (DEFNDCHARCATOP_FN): Likewise. - * ov-base-int.cc (octave_base_int_matrix::convert_to_str_internal): - Likewise. - * pt-mat.cc (tree_matrix::rvalue1): Likewise. - - * ov-ch-mat.h (octave_char_matrix::octave_char_matrix): Delete - unused bool arg. Declare constructors protected. - - (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, xisgraph, - xislower, xisprint, xispunct, xisspace, xisupper, xisxdigit, - xtoascii, xtolower, xtoupper): Move decls here from ov-str-mat.h. - (MAT_MAPPER, BOOL_MAT_MAPPER): Move macro definitions and uses - here from ov-str-mat.h. - - * ov-ch-mat.cc (MACRO_WRAPPER, STRING_MAPPER, TOSTRING_MAPPER): - Move macro definitions and uses here. - * ov-str-mat.cc: From here. - - * DLD-FUNCTIONS/typecast (Ftypecast): Update for octave_value - constructor changes. Create sq_string unless casting from string, - then preserve exact type. - (Fbitpack): Update for octave_value constructor changes. Create - sq_string. - * DLD-FUNCTIONS/hex2num.cc (Fnum2hex): Update for octave_value - constructor changes. Create sq_string. - * ls-oct-ascii.cc (read_ascii_data): Likewise. - * mex.cc (mxArray_number::as_octave_value): Likewise. - * oct-stream.cc (octave_stream::read): Likewise. - * ov-base.cc (STRING_MAPPER): Likewise. - -2009-10-04 John W. Eaton - - * ov-str-mat.h (octave_char_matrix_str::squeeze, - octave_char_matrix_sq_str::squeeze, octave_char_matrix_str::diag, - octave_char_matrix_sq_str::diag): New functions. - -2009-10-03 Shai Ayal - - * graphics.h.in (image::update_xdata): Add a half-pixel to each limit. - (image::update_ydata): Ditto. - * gl-render.cc (opengl_renderer::draw): Clip image to axis and fix - unpack alignment. - -2009-10-02 Jaroslav Hajek - - * ov-base-scalar.h (octave_base_scalar::matrix_type): Always - return MatrixType::Diagonal. - (octave_base_scalar::typ): Remove. - -2009-10-02 Jaroslav Hajek - - * ov.h: Define also diag matrix extractors. - (octave_type_traits, octave_array_type_traits): Remove. - (octave_value::builtin_type): New method. - * oct-stream.cc (do_read): Update. - * data.cc (identity_matrix): Update. - * ov-base.h (builtin_type_t): New enum. - (octave_base_value::builtin_type): New method. - * ov-re-mat.h (octave_matrix::builtin_type): New method. - * ov-flt-re-mat.h (octave_float_matrix::builtin_type): New method. - * ov-cx-mat.h (octave_complex_matrix::builtin_type): New method. - * ov-flt-cx-mat.h (octave_float_complex_matrix::builtin_type): - New method. - * ov-bool-mat.h (octave_bool_matrix::builtin_type): New method. - * ov-ch-mat.h (octave_char_matrix::builtin_type): New method. - * ov-scalar.h (octave_scalar::builtin_type): New method. - * ov-float.h (octave_float::builtin_type): New method. - * ov-complex.h (octave_complex::builtin_type): New method. - * ov-bool.h (octave_bool::builtin_type): New method. - * ov-flt-complex.h (octave_float_complex::builtin_type): New method. - * ov-re-diag.h (octave_diag_matrix::builtin_type): New method. - * ov-flt-re-diag.h (octave_float_diag_matrix::builtin_type): New method. - * ov-cx-diag.h (octave_complex_diag_matrix::builtin_type): New method. - * ov-flt-cx-diag.h - (octave_float_complex_diag_matrix::builtin_type): - New method. - * ov-re-sparse.h (octave_sparse_matrix::builtin_type): New method. - * ov-cx-sparse.h (octave_sparse_complex_matrix::builtin_type): - New method. - * ov-bool-sparse.h (octave_sparse_bool_matrix::builtin_type): - New method. - * ov-intx.h (octave_int_matrix::builtin_type, - octave_int_scalar::builtin_type): New methods. - * ov-int8.h: Define OCTAVE_INT_BTYP. - * ov-int16.h: Define OCTAVE_INT_BTYP. - * ov-int32.h: Define OCTAVE_INT_BTYP. - * ov-int64.h: Define OCTAVE_INT_BTYP. - * ov-uint8.h: Define OCTAVE_INT_BTYP. - * ov-uint16.h: Define OCTAVE_INT_BTYP. - * ov-uint32.h: Define OCTAVE_INT_BTYP. - * ov-uint64.h: Define OCTAVE_INT_BTYP. - -2009-10-01 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix initialization, add missing - break. - -2009-10-01 John W. Eaton - - * gl-render.cc (opengl_renderer::draw (const image::properties&)): - Adjust origin for glRasterPos3d. - -2009-10-01 John W. Eaton - - * gl-render.cc: Style fixes. - -2009-10-01 Shai Ayal - - * graphics.cc (image::properties::get_color_data): New function. - * gl-render.cc (opengl_renderer::draw): Handle RGB images. - -2009-10-01 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc - (do_num2cell_helper, do_num2cell): New funcs. - (Fnum2cell): Rewrite. - (do_cellslices_nda): Do not leave trailing dims. - -2009-09-30 John W. Eaton - - * error.cc (error_1, pr_where_2, handle_message): - Don't do anything if fmt is empty. - (Ferror): Call print_usage if nargin == 0. - -2009-09-29 Jaroslav Hajek - - * DLD-FUNCTIONS/typecast.cc (Ftypecast): Rewrite. - (Fbitpack, Fbitunpack): New DEFUNs. - -2009-09-28 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Redraw the - overlay when zoom box changes size. - * DLD-FUNCTIONS/fltk_backend.cc (fltk_mouse_wheel_zoom): New - function to set mouse wheel zoom factor. - -2009-09-27 Jaroslav Hajek - - * DLD-FUNCTIONS/sub2ind.cc (get_dimensions): Allow singleton array. - (Fsub2ind): Allow single index. - -2009-09-26 Jaroslav Hajek - - * OPERATORS/op-m-m.cc (trans_mul, mul_trans): Update. - * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): Update. - * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): - Update. - * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm): - Update. - * OPERATORS/op-m-cm.cc (trans_mul): Update. - * OPERATORS/op-cm-m.cc (mul_trans): Update. - * OPERATORS/op-fm-fcm.cc (trans_mul): Update. - * OPERATORS/op-fcm-fm.cc (mul_trans): Update. - -2009-09-23 Jaroslav Hajek - - * OPERATORS/op-m-cm.cc: Declare and install trans_mul operator. - * OPERATORS/op-fm-fcm.cc: Ditto. - * OPERATORS/op-cm-m.cc: Declare and install mul_trans operator. - * OPERATORS/op-fcm-fm.cc: Ditto. - -2009-09-23 Jaroslav Hajek - - * OPERATORS/op-m-cm.cc: Declare and install trans_ldiv operator. - * OPERATORS/op-fm-fcm.cc: Ditto. - -2009-09-23 Jaroslav Hajek - - * ov.h (octave_value::op_trans_ldiv, op_herm_ldiv): New enum constants. - * ov.cc (decompose_binary_op, binary_op_fcn_name): Support them. - * xdiv.h: Include mx-defs.h, delete forward decls. - * xdiv.cc (xleftdiv): Support transt parameter. - (xdiv): Optimize. - * pt-cbinop.cc (simplify_ldiv_op): New static func. - (maybe_compound_binary_expression): Try it. - * OPERATORS/op-m-m.cc: Define and install trans_ldiv handler. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-cm-cm.cc: Define and install trans_ldiv and herm_ldiv - handlers. - * OPERATORS/op-fcm-fcm.cc: Ditto. - -2009-09-19 Jaroslav Hajek - - * ov.h (octave_value_extract): New template function. - * data.cc (do_linspace): New static template function. - (Flinspace): Rewrite. - -2009-09-18 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::redraw_figure): - Call __fltk_redraw__ after marking figure as modified. - -2009-09-18 John W. Eaton - - * mexproto.h: Define OCTINTERP_API if it is not already defined. - Use C-style comments. - -2009-09-16 Jaroslav Hajek - - * DLD-FUNCTIONS/rand.cc (Frandperm): New function. - -2009-09-15 Jaroslav Hajek - - * pt-misc.cc (tree_parameter_list::convert_to_const_vector): Pass - in nargout. Don't return excess elements. Optimize varargout-only case - to possibly use a shallow copy. - * pt-misc.h: Update decl. - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): Update call - to tree_parameter_list::convert_to_const_vector. - -2009-09-15 Jaroslav Hajek - - * pr-output.cc (Fdisp, Ffdisp): Declare retval as octave_value_list. - -2009-09-14 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::pixel2status, - plot_window::pixel2pos): New argument AXES, which the - coordinates are relative to. - (plot_window::handle): Pass axes to pixel2status and pixel2pos. - -2009-09-14 Jaroslav Hajek - - * symtab.h (symbol_table::curr_fcn): New member field. - (symbol_table::get_curr_fcn, symbol_table::set_curr_fcn): New member - funcs. - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::xfind): Use - symbol_table::get_curr_fcn. - (symbol_table::fcn_info::fcn_info_rep::x_builtin_find): Ditto. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): Call - symbol_table::set_curr_fcn. - -2009-09-12 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.3.50+. - (OCTAVE_API_VERSION): Now api-v38+. - -2009-09-12 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.3.50. - (OCTAVE_API_VERSION): Now api-v38. - (OCTAVE_RELEASE_DATE): Now 2009-09-12. - -2009-09-08 Rafael Laboissiere - - * pr-output.cc: New test. - -2009-09-07 Jaroslav Hajek - - * Makefile.in: Add LDFLAGS to OCT_LINK_DEPS. - -2009-09-06 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc: Fix test. - -2009-09-06 Jaroslav Hajek - - * OPERATORS/op-s-cs.cc: Use DEFCMPLXCMPOP_OP. - * OPERATORS/op-cs-s.cc: Ditto. - * OPERATORS/op-fs-fcs.cc: Ditto. - * OPERATORS/op-fcs-fs.cc: Ditto. - -2009-09-05 John W. Eaton - - * genprops.awk: Fix formatting of generated output. - * graphics.h.in (graphics_object::get (const std::string&) const, - graphics_object::get (const char *) const): New functions. - -2009-09-05 John W. Eaton - - * txt-eng-ft.cc (ft_manager::do_get_font): Remove spurious - assignment usd for debugging. - -2009-09-04 John W. Eaton - - * txt-eng-ft.cc (ft_manager::do_get_font, ft_render::set_font, - ft_render::set_mode, ft_render::visit, ft_render::set_color): - Issue warnings instead of errors for non-fatal problems. - (ft_render::visit): If face is null, then return without warning. - * genprops.awk: Also generate const std::string& and const char* - versions of the get member functions. - * gl-render.cc (opengl_renderer::draw): Omit caseless_str - constructor in call to get method. - * ft_render::set_font (): Likewise. - -2009-09-03 John W. Eaton - - * pr-output.cc (set_format (const Complex&, int&, int&)): - Avoid passing NaN or Inf to log10. - -2009-09-03 Jaroslav Hajek - - * ov.cc (octave_value::assign (assign_op, const octave_value&)): - Call maybe_mutate after in-place operation. - -2009-09-03 Jaroslav Hajek - - * ov.cc (octave_value::do_non_const_unary_op): Split to - genuine/non-genuine case. - (octave_value::binary_op_to_assign_op): New method. - * ov.h: Declare it. - * ov-re-mat.h (octave_matrix::changesign): New method. - * ov-flt-re-mat.h (octave_float_matrix::changesign): New method. - * ov-cx-mat.h (octave_complex_matrix::changesign): New method. - * ov-flt-cx-mat.h (octave_float_complex_matrix::changesign): New - method. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::changesign): New method. - * ov-bool-mat.h (octave_bool_matrix::invert): New method. - * pt-unop.cc (tree_prefix_expression::rvalue1): Use - do_non_const_unary_op. - * pt-binop.cc (tree_binary_expression::rvalue1): If possible, - convert to computed assignment. - - * OPERATORS/op-m-m.cc: Define & install in-place minus operation. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-cm-cm.cc: Ditto. - * OPERATORS/op-fcm-fcm.cc: Ditto. - * OPERATORS/op-int.h: Ditto. - * OPERATORS/op-bm-bm.cc: Define & install in-place not operation. - -2009-09-03 Jaroslav Hajek - - * ov-re-mat.h (octave_matrix::increment, octave_matrix::decrement): - Use matrix_ref. - * ov-flt-re-mat.h (octave_float_matrix::increment, - octave_float_matrix::decrement): Use matrix_ref. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::increment, - OCTAVE_VALUE_INT_MATRIX_T::decrement): - Use matrix_ref. - -2009-09-02 John W. Eaton - - * graphics.cc (axes::properties::calc_ticklabels): - Avoid unused parameter warning from gcc. - - * ov-perm.cc (octave_perm_matrix::save_binary, - octave_perm_matrix::load_binary): Avoid shadow warning from gcc. - -2009-09-01 David Bateman - - * DLD-FUNCTIONS/eig.cc (Feigs): Correct nesting error in option - parsing that prevented the use of a function for generalized - eigenvalue problems. - -2009-08-30 Jaroslav Hajek - - * ops.h (DEFCMPLXCMPOP_OP, DEFNDCMPLXCMPOP_FN): New macros. - * gripes.cc (gripe_warn_complex_cmp): New function. - * gripes.h: declare it. - - * OPERATORS/op-cm-cm.cc: Call the new macros. - * OPERATORS/op-cm-cs.cc: Ditto. - * OPERATORS/op-cm-m.cc: Ditto. - * OPERATORS/op-cm-s.cc: Ditto. - * OPERATORS/op-cs-cm.cc: Ditto. - * OPERATORS/op-cs-cs.cc: Ditto. - * OPERATORS/op-cs-m.cc: Ditto. - * OPERATORS/op-fcm-fcm.cc: Ditto. - * OPERATORS/op-fcm-fcs.cc: Ditto. - * OPERATORS/op-fcm-fm.cc: Ditto. - * OPERATORS/op-fcm-fs.cc: Ditto. - * OPERATORS/op-fcs-fcm.cc: Ditto. - * OPERATORS/op-fcs-fcs.cc: Ditto. - * OPERATORS/op-fcs-fm.cc: Ditto. - * OPERATORS/op-fm-fcm.cc: Ditto. - * OPERATORS/op-fm-fcs.cc: Ditto. - * OPERATORS/op-fs-fcm.cc: Ditto. - * OPERATORS/op-m-cm.cc: Ditto. - * OPERATORS/op-m-cs.cc: Ditto. - * OPERATORS/op-s-cm.cc: Ditto. - - -2009-08-30 Jaroslav Hajek - - * ops.h (BOOL_OP1, BOOL_OP2, BOOL_OP3, SC_MX_BOOL_OP, MX_SC_BOOL_OP, - MX_MX_BOOL_OP): Remove. - -2009-08-28 John W. Eaton - - * genprops.awk: Generate static member functions has_core_property - and core_property_names. Make has_property and all_property_names - non-static const member functions. Pass object type to - validate_property_name. - * graphics.cc (validate_property_name): New arg, WHAT. - Improve warning and error messages. - (property_list::set): Use has_core_property instead of has_property. - (base_properties::has_property): Delete definition. - (base_graphics_object::remove_all_listeners): Move unwind protect - block here, from old base_properties::has_property function. - * graphics.h.in (base_properties::has_property): Now virtual. - Unconditionally call panic_impossible. - -2009-08-28 John W. Eaton - - * graphics.cc (validate_property_name): Return full name of - matched property value. Issue warning if given property name is - abbreviated. - * genprops.awk: Use name returned by validate_property_name for - subsequent matching. - * octave.cc (maximum_braindamage): - Disable Octave:abbreviated-property-match warning. - -2009-08-27 John W. Eaton - - * graphics.cc (validate_property_name): New static function. - (base_properties::dynamic_property_names): New function. - * graphicffs.h.in (base_properties::dynamic_property_names): - Provide decl. - * genprops.awk: Generate all_property_names functions. Use - all_property_names as needed to avoid duplication elsewhere. - Call validate_property_name in set/get functions. - -2009-08-27 Jaroslav Hajek - - * ov-class.cc (get_current_method_class): Simplify. - (octave_class::in_class_method): Don't rely on multiple copies of - methods. Don't declare as const. - (octave_class::octave_class (const Octave_map&, const std::string&, - const octave_value_list&)): - Call symbol_table::add_to_parent_map instead. - * ov-class.h (octave_class::in_class_method): Don't declare as const. - * symtab.h (symbol_table::parent_map): New field. - (symbol_table::add_to_parent_map): New method. - (symbol_table::load_class_method): Search also parent classes. - * load-path.h (load_path::parent_map, load_path::add_to_parent_map, - load_path::do_add_to_parent_map): Remove. - * load-path.cc (load_path::do_find_method): Don't search parent - classes. - -2009-08-27 Jaroslav Hajek - - * OPERATORS/op-cs-cs.cc: Simplify comparison operators. - * OPERATORS/op-fcs-fcs.cc: Ditto. - -2009-08-25 David Grundberg - - * DLD-FUNCTIONS/__magick_read__.cc [HAVE_MAGICK]: Include - Magick++.h instead of GraphicsMagick/Magic++.h. - * Makefile.in: Replace MAGICK_LIBS with MAGICK_LDFLAGS and - MAGICK_LIBS. Replace MAGICK_INCFLAGS with MAGICK_CPPFLAGS. - * oct-conf.h.in: Ditto. - * toplev.cc (octave_config_info): Ditto. - -2009-08-26 John W. Eaton - - * oct-conf.h.in: New defines for UMFPACK_CPPFLAGS and UMFPACK_LDFLAGS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-26 John W. Eaton - - * oct-conf.h.in: New defines for QRUPDATE_CPPFLAGS and QRUPDATE_LDFLAGS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-26 John W. Eaton - - * oct-conf.h.in: New defines for ARPACK_CPPFLAGS and ARPACK_LDFLAGS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-26 John W. Eaton - - * Makefile.in (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): - Include BLAS_LIBS in the list. - -2009-08-26 John W. Eaton - - * Makefile.in (OCTAVE_LIBS): Include FLIBS in the list. - (OCTINTERP_LINK_DEPS): Include TERM_LIBS, LIBGLOB, and FLIBS in - the list. - -2009-08-26 Jaroslav Hajek - - * data.cc (Ffmod): Reverse order of args. - -2009-08-26 Rob Mahurin - - * syscalls.cc: Recommend waitpid() in popen2() documentation. - -2009-08-25 John W. Eaton - - * graphics.cc (gnuplot_backend::send_quit): Wait for gnuplot process. - -2009-08-24 Jaroslav Hajek - - * OPERATORS/op-m-m.cc: Install .*= and ./= operators. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-cm-cm.cc: Ditto. - * OPERATORS/op-fcm-fcm.cc: Ditto. - * OPERATORS/op-int.h: Ditto. - -2009-08-22 Jaroslav Hajek - - * data.cc (UNARY_OP_DEFUN_BODY, - BINARY_OP_DEFUN_BODY, BINARY_ASSOC_OP_DEFUN_BODY): Remove. - (unary_op_defun_body, binary_op_defun_body, - binary_assoc_op_defun_body): New functions. - (Fnot, Fuplus, Fuminus, Ftranspose, Fctranspose): Use - unary_op_defun_body. - (Fminus, Fmrdivide, Fmpower, Fmldivide, Flt, Fle, Feq, Fge, Fgt, Fne, - Frdivide, Fpower, Fldivide): Use binary_op_defun_body. - (Fplus, Ftimes, Fmtimes, Fand, For): Use binary_assoc_op_defun_body. - -2009-08-21 Jaroslav Hajek - - * OPERATORS/op-s-s.cc: Check for NaN in ! operator. - * OPERATORS/op-fs-fs.cc: Ditto. - * OPERATORS/op-cs-cs.cc: Ditto. - * OPERATORS/op-fcs-fcs.cc: Ditto. - -2009-08-17 Jaroslav Hajek - - * ops.h (DEFNDASSIGNOP_FNOP): New macro. - * OPERATORS/op-bm-bm.cc: Define and install &= and |= operators. - -2009-08-17 Jaroslav Hajek - - * OPERATORS/op-m-m.cc: Define and install += and -= operators. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-cm-cm.cc: Ditto. - * OPERATORS/op-fcm-fcm.cc: Ditto. - * OPERATORS/op-m-s.cc: Define and install +=,-=,*=,/= operators. - * OPERATORS/op-fm-fs.cc: Ditto. - * OPERATORS/op-cm-cs.cc: Ditto. - * OPERATORS/op-fcm-fcs.cc: Ditto. - * OPERATORS/op-cm-s.cc: Define and install *=,/= operators. - * OPERATORS/op-fcm-fs.cc: Ditto. - * ops.h (DEFNDASSIGNOP_OP): New macro. - * ov.cc (octave_value::assign (assign_op, const octave_value&)): - Try looking up specialized handlers if the value is not shared. - * ov-base-mat.h (octave_base_matrix::matrix_ref): New method. - -2009-08-17 Jaroslav Hajek - - * oct-obj.h (octave_value_list::octave_value_list (octave_idx_type)): - Allow this constructor. - -2009-08-19 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc (Ffind): Reuse cached index vector when - converting boolean mask to indices. - -2009-08-18 John W. Eaton - - * oct-conf.h.in: New #defines for HDF5_LDFLAGS and HDF5LDFLAGS. - * Makefile.in (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): - Include them in the lists. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-17 John W. Eaton - - * oct-conf.h.in: New #defines for ZLIB_CPPFLAGS and ZLIB_LDFLAGS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-17 John W. Eaton - - * Makefile.in (OCTINTERP_LINK_DEPS): Include FFTW_LDFLAGS, - FFTW_LIBS and READLINE_LIBS in the list. - (OCTAVE_LIBS): Attempt to include all necessary dependencies for - static linking. - -2009-08-17 John W. Eaton - - * Makefile.in (eigs.oct, chol.oct, qr.oct): Add library-specific - CPPFLAGS and LDFLAGS variables to CPPFLAGS and LDFLAGS. - From Benjamin Lindner . - -2009-08-17 John W. Eaton - - * Makefile.in (OCTINTERP_LINK_DEPS): List $(LIBS) last. - -2009-08-17 Michael Goffioul - - * Makefile.in (OCTINTERP_LINK_DEPS): Include $(LIBCRUFT) and - $(LIBS) in the list. - (OCT_LINK_DEPS): Include $(LIBOCTAVE) and $(LIBCRUFT) in the list. - (eigs.oct, qz.oct): Add $(BLAS_LIBS) to LDFLAGS. - (ccolamd.oct, symbfact.oct): Add library-specific CPPFLAGS and - LDFLAGS variables to CPPFLAGS and LDFLAGS. - -2009-08-17 Jaroslav Hajek - - * ov-struct.h, ov-struct.cc: Revert to e08d72bb988e. - * ov-class.h, ov-class.cc: Partially revert to e08d72bb988e. - (octave_class::subsasgn): Cut&paste code from octave_struct::subsasgn - for the nested dot indexing. - * ov-usr-fcn.cc (Voptimize_subasgn_calls): Default to true. - -2009-08-13 John W. Eaton - - * DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc: Update for new FFTW - defines. - - * Makefile.in (amd.oct, colamd.oct, dmperm.oct, symcrm.oct, - qr.oct, fft.oct, fft2.oct, fftn.oct, fftw.oct): Add - library-specific CPPFLAGS and LDFLAGS variables to CPPFLAGS - and LDFLAGS. - * oct-conf.h.in: New #defines for GLPK_CPPFLAGS, GLPK_LDFLAGS, - AMD_CPPFLAGS, AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, - CCOLAMD_CPPFLAGS, CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, - CHOLMOD_LDFLAGS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, - CXSPARSE_CPPFLAGS, CXSPARSE_LDFLAGS, FFTW3_CPPFLAGS, - FFTW3_LDFLAGS, FFTW3_LIBS, FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, and - FFTW3F_LIBS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-13 Jaroslav Hajek - - * ov-class.h (octave_class): Derive from octave_struct. - (octave_class::octave_class): Update all constructors. - (octave_class::numeric_conv, octave_class::byte_size, octave_class::numel, octave_class::nfields, - octave_class::reshape, octave_class::resize, octave_class::is_defined, - octave_class::map_value): Remove methods (inherit). - * ov-class.h (octave_class::obsolete_copies): New field. - Init to 0 in all constructors. - (octave_class::unique_clone): New decl. - * ov-class.cc (octave_class::unique_clone): Fake clone if all - remaining copies are obsolete. - (octave_class::subsref): Share code with octave_struct::subsref. - (octave_class::subsref (..., bool auto_add)): New method. - (octave_class::subsasgn): If plausible, attempt to - optimize the method call by marking appropriate number of copies - obsolete. Share code with octave_struct::subsasgn. - (octave_class::dotasgn): New method override. - * ov-struct.h (octave_struct::dotref): New virtual overload. - (octave_struct::dotasgn): New virtual method decl. - * ov-struct.cc (octave_struct::dotasgn): New virtual method. - * ov-usr-fcn.h (octave_user_function::num_args_passed, - octave_user_function::saved_args): Remove fields. Wipe from all - constructor lists. - (octave_user_function::save_args_passed, - octave_user_function::restore_args_passed): Remove methods. - (octave_user_function::all_va_args): Update decl. - (octave_user_function::subsasgn_optimization_ok): New method decl. - * ov-usr-fcn.cc (octave_user_function::all_va_args): Rename from - octave_all_va_args, take args as a parameter. - (octave_user_function::subsasgn_optimization_ok): New method. - (octave_user_function::do_multi_index_op): Simplify. - -2009-08-12 Jaroslav Hajek - - * ov-base.h (octave_base_value::count): Declare as octave_idx_type. - (octave_base_value::octave_base_value (const octave_base_value&)): - Initialize count to 1. - (octave_base_value::unique_clone ()): New method. - (octave_base_value::print_with_name): Declare as non-const. - * ov-base.cc (octave_base_value::print_with_name): Update. - * ov.h (octave_value::make_unique (void)): Don't set rep->count. - Call unique_clone. - (octave_value::make_unique (int)): Don't set rep->count. - Call unique_clone. - (octave_value::octave_value (const octave_base_value *)): Declare - as private. - * ov-class.cc (octave_class::print_with_name): Avoid using clone (). - * ov-class.h (octave_class::print_with_name): Declare as non-const. - -2009-08-13 John W. Eaton - - * Makefile.in: Consistently add library-specific CPPFLAGS and - LDFLAGS variables to CPPFLAGS and LDFLAGS for .oct files that need - them. Also add X11_FLAGS to CPPFLAGS for display.d display.df and - pic/display.o. - - * oct-conf.h.in: New #defines for QHULL_CPPFLAGS, QHULL_LDFLAGS, - CURL_CPPFLAGS, and CURL_LDFLAGS. - * toplev.cc (octave_config_info): Include them in the list. - -2009-08-12 Jaroslav Hajek - - * Makefile.in: Include LDFLAGS when linking shared executable. - -2009-08-12 Jaroslav Hajek - - * data.cc (Fissorted, F__sort_rows_idx__, Fnorm): Mark as Built-in - Functions in the inline help. - -2009-08-11 John W. Eaton - - * DLD-FUNCTIONS/fftw.cc (Ffftw): Update for octave_fftw_planner - and octave_float_fftw_planner as singleton objects. - -2009-08-11 John W. Eaton - - * oct-conf.h.in: Use READLINE_LIBS instead of LIBREADLINE. - New #defines for TERM_LIBS and DL_LIBS. - * toplev.cc (octave_config_info): Add TERM_LIBS and DL_LIBS to the - struct. Use READLINE_LIBS instead of LIBREADLINE. - -2009-08-11 John W. Eaton - - * oct-conf.h.in: New #defines for AMD_LIBS, ARPACK_LIBS, - CAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, COLAMD_LIBS, CXSPARSE_LIBS, - FT2_LIBS, GRAPHICS_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, - PTHREAD_LIBS, QHULL_LIBS, QRUPDATE_LIBS, REGEX_LIBS, UMFPACK_LIBS, - ZLIB_LIBS. - - * toplev.cc (octave_config_info): Include them in the struct. - -2009-08-11 Jaroslav Hajek - - * data.cc (Fdiff): New built-in function. - (do_diff): New assistant function. - -2009-08-10 John W. Eaton - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Perform tilde expansion on - filename argument. - -2009-08-10 Jaroslav Hajek - - * symtab.cc (out_of_date_check): Remove overloads. Add check_relative - parameter. - (out_of_date_check_internal): Remove. - * symtab.h: Update. - * ov-fcn-handle.cc (octave_fcn_handle::do_index_op): Call - out_of_date_check with check_relative = false. - -2009-08-09 John W. Eaton - - * parse.y (Fevalin): Also return output from CATCH expression. - -2009-08-08 Jaroslav Hajek - - * data.cc (Fifelse): Rename to Fmerge, alias to Fifelse. - -2009-08-06 Jaroslav Hajek - - * OPERATORS/op-dm-template.cc, OPERATORS/op-pm-template.cc: - Also define conversions for null string and null sq_string. - -2009-08-06 John W. Eaton - - * OPERATORS/op-cdm-m.cc, OPERATORS/op-dm-m.cc, OPERATORS/op-pm-m.cc: - Define LDMATRIX and DEFINENULLASSIGNCONV. - * OPERATORS/op-dm-template.cc, OPERATORS/op-pm-template.cc: - Include ov-null-mat.h and define assignment conversion for null - matrices if DEFINENULLASSIGNCONV is defined. Define OCTAVE_LDMATRIX. - -2009-08-05 John W. Eaton - - * pt-eval.cc (tree_evaluator::visit_complex_for_command): - Use key_list order for iterating through map. - - * Makefile.in (OCT_LINK_DEPS): Also include $(RLD_FLAG) in the list. - -2009-08-05 John W. Eaton - - * Makefile.in (octave$(EXEEXT)): Clean up link flags and library list. - (OCTINTERP_LINK_DEPS): Omit -L../libcruft $(LIBCRUFT) $(LIBS) - $(FLIBS) from the list. Include $(RLD_FLAG) in the list. - (OCT_LINK_DEPS): Only include -L. $(LIBOCTINTERP) in the list. - -2009-08-05 Jaroslav Hajek - - * utils.cc (Fisindex): New DEFUN. - -2009-08-04 Kristian Rumberg - - * input.cc (is_completing_dirfns): New function. - (generate_completion): Use it to selectively complete file names. - -2009-08-04 John W. Eaton - - * debug.cc (Fdbwhere): Call octave_call_stack::goto_frame_relative - to move to user code frame. Get line and column information from - call stack. - * input.cc (Fkeyboard): Don't pass verbose flag to - octave_call_stack::goto_frame_relative. - (get_debug_input): Get line and column information from call stack. - - * pt-eval.h, pt-eval.cc (tree_evaluator::debug_line, - tree_evaluator::debug_column, tree_evaluator::db_line, - tree_evaluator::db_column): Delete. - * pt-eval.cc (tree_evaluator::do_breakpoint): Don't print function - name and location info here. Delete line and column number args. - Change all callers. - - * toplev.h (octave_call_stack::do_current, - octave_call_stack::do_current_statement): New functions. - (octave_call_stack::current): Call do_current, not top. - (octave_call_stack::current_statement): Call do_current_statement, - not top_statement. - (octave_call_stack::top, octave_call_stack::top_statement, - octave_call_stack::do_top, octave_call_stack::do_top_statement): - Delete. - -2009-08-04 John W. Eaton - - * toplev.cc (octave_call_stack::do_goto_frame_relative): Allow - NSKIP to be 0. Set current scope and context. - * input.cc (Fkeyboard): Use octave_call_stack::goto_frame_relative - to set scope in user code that called the keyboard function. - -2009-08-04 Jaroslav Hajek - - * input.cc (Fkeyboard): Only call do_keyboard, don't fiddle with - stack. - -2009-08-03 Jaroslav Hajek - - * DLD-FUNCTIONS/sub2ind.cc: New source. - * Makefile.in: Include it. - * ov-range.h (octave_range::octave_range (const Range&, const - idx_vector&)): New constructor. - * ov-re-mat.h (octave_matrix::octave_matrix (const NDArray&, const - idx_vector&)): New constructor. - * ov.cc (octave_value::octave_value (const idx_vector&)): New - constructor. - * ov.h: Declare it. - -2009-07-30 Ryan Rusaw - - * input.cc (reading_classdef_file): New file-scope variable. - (gnu_readline): Also set curr_stream if reading_classdef_file. - (octave_gets, get_input_from_file): - Handle classdef files like other input files. - * input.h (reading_classdef_file): Provide decl. - - * octave.gperf (classdef, endclassdef, endevents, endmethods, - endproperties, events, get, methods, properties, set): New keywords. - - * lex.l: Handle classdef filees like other input files. - Recognize superclass method identifiers and metaclass query constructs. - (is_keyword_token): Recognize endclassdef, endevents, endmethods, - endproperties, get, set, properties, methods, and events keywords. - (maybe_classdef_get_set_method, parsing_classdef): New variables. - (handle_superclass_identifier, handle_meta_identifier): - New static functions. - (lexical_feedback::init): Initialize parsing_classdef and - maybe_classdef_get_set_method. - (display_token): Handle SUPERCLASSREF, METAQUERY, GET, SET, - PROPERTIES, METHODS, EVENTS, and CLASSDEF tokens. - * lex.h (maybe_classdef_get_set_method, parsing_classdef): - Provide decls. - * parse.y (%union): New placeholder type, dummy_type. - (SUPERCLASSREF, METAQUERY, GET, SET, PROPERTIES, METHODS, EVENTS, - CLASSDEF): New tokens. - (superclass_identifier, meta_identifier, classdef_beg, - classdef_end, classdef1, classdef, opt_attr_list, attr_list, attr, - opt_superclasses, superclasses, class_body, properties_beg, - properties_block, properties_list, class_property, methods_beg, - methods_block, methods_list, events_beg, events_block, - events_list, class_event): New non-terminals. - (primary_expr): Include superclass_identifier and meta_identifier - as possible primary_exprs. - (function_beg): If parsing classdef file, set - lexer_flags.maybe_classdef_get_set_method to true. - be recognized. - (fcn_name): Accept GET '.' identifier or SET '.' identifier. - (end_error): Handle endclassdef. - (looking_at_classdef_keyword): New function. - (gobble_leading_whitespace): Handle classdef. - * token.h, token.cc (sc, mc): - New union fields for symbol classdef symbol_record info. - (token::token (symbol_table::symbol_record *, - symbol_table::symbol_record *, int, int), - token::token (symbol_table::symbol_record *, - symbol_table::symbol_record *, symbol_table::symbol_record *, int, - int)): New constructors. - (token::method_rec, token::class_rec, token::package_rec, - token::meta_class_rec, token::meta_package_rec): New methods. - (token_type): New enum values: scls_rec_token, meta_rec_token. - (end_tok_type): New enum values: classdef_end, events_end, - methods_end, properties_end. - -2009-07-30 David Grundberg - - * symtab.h (symbol_table::parent_scope): Remove. - (symbol_table::set_parent_scope): Remove. - (symbol_table::reset_parent_scope): Remove. - (symbol_table::install_subfunction): Require scope parameter - instead of xparent_scope default. - * symtab.cc: Remove symbol_table::xparent_scope - * lex.h (lexical_feedback::parsing_nested_function): Remove. - * lex.l (is_keyword_token): Don't ignore endfunctions. - (prep_lexer_for_script_file): Renamed from prep_lexer_for_script. - (prep_lexer_for_function_file): New function. - (display_token): Display SCRIPT_FILE and FUNCTION_FILE. - (display_state): Display FUNCTION_FILE_BEGIN - (FUNCTION_FILE_BEGIN): New state. - (NESTED_FUNCTION_END, NESTED_FUNCTION_BEGIN): Remove states. - (prep_for_function, prep_for_nested_function): Remove functions. - * parse.h: Remove extern declaration parent_function_name, - end_tokens_expected. - * parse.y: Add variables current_function_depth, - max_function_depth, parsing_subfunctions, seen_endfunction. Remove - parent_function_name. Rename curr_fcn_ptr to primary_fcn_ptr. Add - token FUNCTION_FILE. Rename token SCRIPT to SCRIPT_FILE. - (function_file): New rule. - (input): Accept function_file. - (script_file): Rule renamed from script. - (function_file): New rule. - (function_list): New rule. - (push_fcn_symtab): Parse nested functions. - (fcn_name): Remove parent_function_name. - (function_end): Use seen_endfunction. New error messages. - (make_script): Use primary_fcn_ptr. - (frob_function): Simplify control structures. Don't use - symbol_table::parent_scope. - (push_fcn_symtab, function_end, frob_function, finish_function): - Use current_function_depth instead of - lexical_feedback::parsing_nested_function. - (make_return_command): Use current_function_depth instead of - lexical_feedback::defining_func. - (make_break_command, make_decl_command, maybe_warn_missing_semi): - Ditto - (parse_fcn_file): Warn when nested functions have been - declared. Remove superfluous local variables. Parse function files - using function_file rule. - -2009-07-30 Jaroslav Hajek - - * data.cc (Fmerge): Rename to Fifelse. - -2009-07-30 Jaroslav Hajek - - * data.cc (Fmerge): New DEFUN. - (do_merge): New helper function. - -2009-07-29 John W. Eaton - - * parse.y (param_list_end): Also set - lexer_flags.looking_for_object_index to false. - - * ov-float.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, - ov-scalar.cc: Use complex function for acos mapper if arg is out - of range [-1, 1]. - - * ov-bool.cc (octave_bool::load_ascii): Call template function to - read value. - * ov-scalar.cc (octave_scalar::load_ascii): Likewise. - * ov-complex.cc (octave_complex::load_ascii): Likewise. - * ov-float.cc (octave_float_scalar::load_ascii): Likewise. - * ov-flt-complex.cc (octave_float_complex::load_ascii): Likewise. - * ls-mat-ascii.cc (read_mat_ascii_data): Likewise. - - * ov-re-sparse.cc (octave_sparse_matrix::load_binary, - octave_sparse_matrix::load_hdf5): Perform sanity check on indices. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::load_binary, - octave_sparse_complex_matrix::load_hdf5): Likewise. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::load_binary, - octave_sparse_bool_matrix::load_hdf5): Likewise. - -2009-07-29 Jaroslav Hajek - - * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): - Cache lookups also for classes. - -2009-07-28 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Support auto-expanding scalar - cells. - -2009-07-27 Jaroslav Hajek - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::xfind, - symbol_table::fcn_info::fcn_info_rep::find, - symbol_table::fcn_info::fcn_info_rep::find_function, - symbol_table::fcn_info::find, - symbol_table::fcn_info::find_function, - symbol_table::find, symbol_table::do_find, - symbol_table::find_function): - Add local_funcs parameter. - * symtab.h: Update decls. - * ov-fcn-handle.cc (make_fcn_handle): Add local_funcs parameter. - * ov-fcn-handle.h: Update decls. - -2009-07-24 John W. Eaton - - * pt-mat.cc (DO_SINGLE_TYPE_CONCAT_NO_MUTATE): New macro. - (tree_matrix::rvalue1): Use it to avoid complex -> real conversion. - -2009-07-24 Jaroslav Hajek - - * DLD-FUNCIONS/cellfun.cc (Fcellfun): Avoid double error messages. - -2009-07-24 Jaroslav Hajek - - * load-path.cc (load_path::do_any_class_method): New method. - * load-path.h (load_path::do_any_class_method): New method decl. - (load_path::any_class_method): New method. - * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Support - calls without non-overloaded base function. - (make_fcn_handle): Support creation without non-overloaded base - function. - -2009-07-23 Shai Ayal - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::pixel2axes_or_ca): - Replace plot_window::pixel2axes and use algorithm from octavede. - (plot_window::handle): Zooming now works on the axes below the - mouse pointer instead of the current axes. Combine old and new - zooming methods. - (help_text): Update to reflect new mouse/key bindings. - -2009-07-23 Soren Hauberg - - * graphics.cc (axes::properties::zoom_about_point, - axes::properties::translate_view): New functions. - (axes::properties::zoom): make zoom_stack usage optional. - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Use new - zoom API. - -2009-07-23 John W. Eaton - - * variables.cc (safe_symbol_lookup): New function. - (symbol_exist): Use it. - -2009-07-23 Jaroslav Hajek - - * DLD-FUNCTIONS/chol.cc (Fcholupdate, - Fcholinsert, Fcholdelete, Fcholshift): Replace is_matrix_type -> - is_numeric_type. - -2009-07-23 John W. Eaton - - * toplev.cc (IGNORE_EXCEPTION, SAFE_CALL): New macros. - (clean_up_and_exit, do_octave_atexit): Use SAFE_CALL to handle - exceptions while preparing to exit. - -2009-07-23 Jaroslav Hajek - - * symtab.cc (get_dispatch_type): Omit first-arg dispatch, export. - * symtab.h (get_dispatch_type): Provide decl. - * ov-fcn-handle.h (octave_fcn_handle::warn_reload): Delete. - (octave_fcn_handle::disp): New field. - (octave_fcn_handle::str_ov_map): New typedef. - (octave_fcn_handle::octave_fcn_handle (..., str_ov_map *)): New - constructor. - (octave_fcn_handle::do_multi_index_op): New method decl. - (octave_fcn_handle::is_overloaded): New method. - * ov-fcn-handle.cc - (octave_fcn_handle::do_multi_index_op): New method. - (octave_fcn_handle::subsref): Rewrite using do_multi_index_op. - (octave_fcn_handle::make_fcn_handle): Construct overloaded handles if - appropriate. - (Ffunctions): Indicate (statically) overloaded handles. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Update & modernize. - * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Ditto. - -2009-07-22 Jaroslav Hajek - - * symtab.cc (symbol_table::find, - symbol_table::find_function, - symbol_table::symbol_record::find, - symbol_table::fcn_info::find, - symbol_table::fcn_info::fcn_info_rep::find, - symbol_table::fcn_info::fcn_info_rep::xfind): Simplify argument lists. - * symtab.h: Update declarations. - * pt-id.cc (tree_identifier::rvalue): Simplify. - * pt-id.h (tree_identifier::do_lookup): Simplify. - * pt-idx.cc (tree_index_expression::rvalue): Update. - * variables.cc (symbol_exist): Update. - -2009-07-21 John W. Eaton - - * symtab.cc (symbol_table::builtin_find, - symbol_table::do_builtin_find, - symbol_table::fcn_info::builtin_find, - symbol_table::fcn_info::fcn_info_rep::builtin_find, - symbol_table::fcn_info::fcn_info_rep::x_builtin_find): New functions. - * symtab.h: Provide decls. - * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Call - symbol_table::builtin_find instead of symbol_table::find_function. - -2009-07-20 Aleksej Saushev - - * sysdep.cc: Also define BSD_init if __NetBSD__ is defined. - (sysdep_init): Also call BSD_init if __NetBSD__ is defined. - -2009-07-20 Jaroslav Hajek - - * bitfcns.cc (DO_UBITSHIFT): Avoid overflow. - (DO_SBITSHIFT): Fix mask calculation. - -2009-07-17 Benjamin Lindner - - * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__): - Determine correct number of bits required when reading images. - -2009-07-16 John W. Eaton - - * graphics.cc (get_array_limits): Require min_pos value to be - greater than zero. - -2009-07-15 Robert T. Short - - * DLD-FUNCTIONS/filter.cc: New tests. - -2009-07-09 John W. Eaton - - * data.cc (Fones, Fzeros, Ftrue, Ffalse): Update docstrings. - -2009-07-08 John W. Eaton - - * graphics.cc (convert_cdata): Return NaN for NaN values in cdata. - - * pt-assign.cc (maybe_warn_former_built_in_variable): Improve message. - -2009-07-04 Jaroslav Hajek - - * pt-eval.cc (do_unwind_protect_cleanup_code): Add missing - unwind_protect::run. - -2009-07-02 Jaroslav Hajek - - * help.cc (do_which): Also look for files. - -2009-07-02 Jaroslav Hajek - - * Cell.cc (Cell::index): Use proper resize_fill_value. - -2009-07-01 Jaroslav Hajek - - * symtab.h (symbol_table::get_fcn_info): New private static method. - (symbol_record_rep::finfo): New field. - * symtab.cc (symbol_record::find): Use cached finfo if possible, - cache on successful queries. - -2008-07-01 David Bateman - - * pr-output.cc (static inline std::string rational_approx (double, - int)): Test for underflow of fractional part of rational approximation - earlier in the loop. - -2009-07-01 Joe Rothweiler - - * input.cc (raw_mode): Use TCSADRAIN if no wait. - -2009-06-30 Jaroslav Hajek - - * symtab.h (force_variable): Remove assertion. - -2009-06-28 Michael Goffioul - - * Makefile.in (INCLUDES): Install txt-eng.h and txt-eng-ft.h. - * gl-render.cc (opengl_renderer::draw_text): Fix bitmap offset - computation for 90x rotated text. - * txt-eng-ft.cc (ft_render::render): Compute bitmap pixels correctly - for 90x rotated text. - - * gl-render.cc (opengl_renderer::draw(text::properties)): Don't do - anything if the bitmap data is empty. Issue a warning instead of - an error if Freetype library is not available. - * txt-eng-ft.cc (ft_manager::do_get_font): Small change in error - string (add prefix). - (ft_render::render): Don't do anything if the bitmap data is empty. - -2009-06-28 Jaroslav Hajek - - * symtab.h (erase_scope (void *)): Remove overload. - -2009-06-26 Michael Goffioul - - * txt-eng.h: New file for simple text engine. - * txt-eng.h, txt-eng.cc: Freetype based text render engine. - * Makefile.in: Add txt-eng-ft.cc to list of source files. - * gl-render.h (opengl_renderer::draw_text, opengl_renderer::set_font, - opengl_renderer::draw(text::properties)): New method to support text - rendering using the Freetype renderer. - (opengl_renderer::text_renderer): New field for text rendering. - * gl-render.cc (opengl_renderer::draw(graphics_object)): Support text - object. - (opengl_renderer::draw(figure::properties)): Setup alpha test. - (opengl_renderer::draw(axes::properties)): Render tick labels, hide - labels for depth axes and fix a problem in calling - graphics_object::get(char*). - (opengl_renderer::draw(text::properties)): Basic text rendering using - Freetype engine. - (opengl_renderer::draw_text): Ditto. - (opengl_renderer::set_color): Propagate the color to the text - renderer. - (opengl_renderer::set_font): New utility method. - * graphics.cc (axes::properties::init, axes::properties::set_defauls): - (Re)initialize tick labels, labels and title property. - -2009-06-26 John W. Eaton - - * load-path.cc (Faddpath): Preserve order of prepended elements. - -2009-06-25 John W. Eaton - - * graphics.h.in (gh_manager::restore_gcbo): - Arg is now void, not void*. - -2009-06-25 Jaroslav Hajek - - * unwind-prot.h (unwind_protect::fcn_elem): New class. - (unwind_protect::fcn_arg_elem): New class. - (unwind_protect::method_elem): New class. - (unwind_protect::add_action_var): Rename to add_fcn. - (unwind_protect::add_fcn): New static method. - (unwind_protect::add_method): New static method. - - * symtab.h: Split clear_variables into two overloads. - * toplev.h (octave_call_stack::restore_frame): New static method. - - * graphics.cc: Update unwind_protect usage. - * input.cc: Ditto. - * lex.h: Ditto. - * ls-mat5.cc: Ditto. - * mex.cc: Ditto. - * ov-builtin.cc: Ditto. - * ov-fcn-handle.cc: Ditto. - * ov-mex-fcn.cc: Ditto. - * ov-usr-fcn.cc: Ditto. - * parse.y: Ditto. - * pt-eval.cc: Ditto. - * toplev.cc: Ditto. - * variables.cc: Ditto. - -2009-06-25 Jaroslav Hajek - - * input.cc: Use unwind_protect::add_action_var where appropriate. - * ls-mat5.cc: Ditto. - * ov-fcn-handle.cc: Ditto. - * parse.y: Ditto. - * toplev.cc: Ditto. - * variables.cc: Ditto. - -2009-06-25 Jaroslav Hajek - - * unwind-prot.h (unwind_protect::elem): New polymorphic class. - (unwind_protect::restore_var): Remove. - (unwind_protect::restore_mem): Remove. - (unwind_protect::elt_list): Update. - (unwind_protect::add (elem *)): New method. - (unwind_protect::add (void (*)(void *), void *)): Reimplement. - (unwind_protect::run (void)): Rewrite. - (unwind_protect::discard (void)): Rewrite. - (unwind_protect::protect_var): Rewrite. - (unwind_protect::protect_mem): Rewrite. - (unwind_protect::add_action_var): New method. - * unwind-prot.cc (unwind_protect::restore_mem): Remove. - -2009-06-24 Thorsten Meyer - - * oct-map.cc (Octave_map::squeeze, Octave_map::permute, - Octave_map::transpose, Octave_map::reshape, Octave_map::concat, - Octave_map::index): Add tests for preservation of key order in - struct arrays. - -2009-06-24 Jaroslav Hajek - - * pt-mat.cc (get_concat_class): Use empty string as zero value. - (tm_row_const_rep::tm_row_const_rep): Initialize class_nm to empty - string. - (tm_const::tm_const): Ditto. - -2009-06-24 John W. Eaton - - * pt-assign.cc (former_built_in_variables): Remove "ans" from the list. - -2009-06-24 Jaroslav Hajek - - * unwind-prot.h (restore_var, restore_mem): Hide also copy - constructors. - -2009-06-23 Jaroslav Hajek - - * quit.h (octave_quit_exception): Delete. - (exit_status, quitting_gracefully): New globals. - * quit.cc: Initialize them. - (Fquit): Set the globals, simulate interrupt. - (main_loop): Handle exit properly. - * octave.cc (execute_eval_option_code): Ditto. - (execute_command_line_file): Ditto. - * pt-eval.cc (do_unwind_protect_cleanup_code): - Fix order of unwind_protect calls. - -2009-06-23 John W. Eaton - - * oct-map.cc (Octave_map::squeeze, Octave_map::permute, - Octave_map::transpose, Octave_map::reshape, Octave_map::concat): - Preserve key order. - -2009-06-23 Jaroslav Hajek - - * pt-eval.cc (tree_evaluator::visit_try_catch_command): Simplify. - -2009-06-23 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc: Modernize unwind_protect usage. - * DLD-FUNCTIONS/daspk.cc: Ditto. - * DLD-FUNCTIONS/dasrt.cc: Ditto. - * DLD-FUNCTIONS/dassl.cc: Ditto. - * DLD-FUNCTIONS/eigs.cc: Ditto. - * DLD-FUNCTIONS/lsode.cc: Ditto. - * DLD-FUNCTIONS/quad.cc: Ditto. - * DLD-FUNCTIONS/rand.cc: Ditto. - * debug.cc: Ditto. - * dynamic-ld.cc: Ditto. - * error.cc: Ditto. - * graphics.cc: Ditto. - * help.cc: Ditto. - * input.cc: Ditto. - * load-path.cc: Ditto. - * ls-mat4.cc: Ditto. - * ls-mat5.cc: Ditto. - * mex.cc: Ditto. - * oct-hist.cc: Ditto. - * octave.cc: Ditto. - * ov-builtin.cc: Ditto. - * ov-class.cc: Ditto. - * ov-fcn-handle.cc: Ditto. - * ov-list.cc: Ditto. - * ov-mex-fcn.cc: Ditto. - * ov-struct.cc: Ditto. - * ov-usr-fcn.cc: Ditto. - * pager.cc: Ditto. - * pr-output.cc: Ditto. - * pt-arg-list.cc: Ditto. - * pt-eval.cc: Ditto. - * toplev.cc: Ditto. - * variables.cc: Ditto. - -2009-06-22 Jaroslav Hajek - - * unwind-prot.h (unwind_protect): Rewrite. - (unwind_protect::protect_var): New class. - (unwind_protect::protect_mem): New class. - * unwind-prot.cc (unwind_protect): Rewrite. - * pt-eval.cc (tree_evaluator::visit_try_catch_command): Delete frame - properly. - -2009-06-22 Jaroslav Hajek - - * ov-cell.cc (octave_cell::all_strings): Avoid duplicate conversions. - -2009-06-20 Jaroslav Hajek - - * ov.cc (Fsubsasgn): Uniquify shared value before assigning to it. - -2009-06-19 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc: Update docs. - -2009-06-17 John W. Eaton - - * mex.cc (mxArray_octave_value::get_data): - If octave_value::mex_get_data returns a valid pointer, mark it as - foreign and return it instead of enumerating the types that can be - handled directly. - - * ov-re-mat.h (octave_matrix::mex_get_data): New function. - * ov-bool-mat.h (octave_bool_matrix::mex_get_data): Ditto. - * ov-flt-re-mat.h (octave_float_matrix::mex_get_data): Ditto. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::mex_get_data): Ditto. - * ov-base-mat.h (octave_base_matrix::mex_get_data): Delete. - -2009-06-16 Jaroslav Hajek - - * symtab.h (symbol_table::set_scope_and_context): Avoid checking - error_state for setting context. - -2009-06-15 Jaroslav Hajek - - * ov-re-mat.h (octave_matrix::octave_matrix (const Array&, - bool)): New constructor. - * ov.cc (octave_value::octave_value (const Array&, - bool)): New constructor. - * ov.h: Declare it. - - * data.cc (Fsort, F__sort_rows_idx__): Use the new constructor. - * DLD-FUNCTIONS/find.cc (Ffind): Ditto. - * DLD-FUNCTIONS/lookup.cc (Flookup): Ditto. - * DLD-FUNCTIONS/max.cc (Fmax, Fmin, Fcummax, Fcummin): Ditto. - -2009-06-15 Jaroslav Hajek - - * ov-base-mat.h (octave_base_matrix::idx_cache): New member field. - (octave_base_matrix::typ): Turn to MatrixType *. - (octave_base_matrix::octave_base_matrix (...)): Update constructors. - (octave_base_matrix::clear_cached_info, - octave_base_matrix::set_idx_cache): New member functions. - * ov-base-mat.cc (octave_base_matrix::assign, - octave_base_matrix::delete_elements): Call clear_cached_info here. - * ov-re-mat.h (octave_matrix::index_vector): Use idx_cache. - * ov-flt-re-mat.h (octave_float_matrix::index_vector): Ditto. - * ov-bool-mat.h (octave_bool_matrix::index_vector): Ditto. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::index_vector): Ditto. - * ov-range.h (octave_range::idx_cache): New member field. - (octave_range::octave_range (...)): Update constructors. - (octave_range::clear_cached_info, - octave_base_matrix::set_idx_cache): New member functions. - (octave_range::idx_vector): Use idx_cache. - -2009-06-14 Michael Goffioul - - * graphics.h.in (axes::properties::xtick, axes::properties::ytick, - axes::properties::ztick, axes::properties::xticklabelmode, - axes::properties::yticklabelmode, axes::properties::zticklabelmode): - Add 'u' modifier to enable updaters. - (axes::properties::calc_ticklabels): New function to update tick - labels. - (axes::properties::update_xtick, axes::properties::update_ytick, - axes::properties::update_ztick, - axes::properties::update_xticklabelmode, - axes::properties::update_yticklabelmode, - axes::properties::update_zticklabelmode): Add updaters to update tick - labels correctly. - (axes::properties::update_xlim, axes::properties::update_ylim, - axes::properties::update_zlim): Update tick labels. - * graphics.cc (axes::properties::calc_ticklabels): New function to - update tick labels. - -2009-06-14 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Support character array lookup. - -2009-06-12 John W. Eaton - - * ov-fcn-handle.cc (make_fcn_handle): Accept operators which have - corresponding functions and make function handles using the names. - New test. - -2009-06-12 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): New template function. - (Flookup): Extend to support b and m options, improve diagnostic. - Refactor. - -2009-06-12 Kai NODA - - * ls-mat4.h: Fix include guard - * ov-type-conv.h: Add missing include guard. - -2009-06-12 Jaroslav Hajek - - * data.cc (BINARY_ASSOC_OP_DEFUN_BODY): New helper macro. - (Fplus, Fmtimes, Ftimes, Fand, For): Allow >= 1 arguments. - -2009-06-12 Jaroslav Hajek - - * ov-cell.cc (octave_cell::sort (Array&)): Simplify. - -2009-06-11 John W. Eaton - - * octave.cc: Keep long options alphabetized. - - * display.h (display_info::no_window_system): New static function. - (display_info::display_info, display_info::init, - display_info::instance_ok): New argument, QUERY. - (display_info::init): Skip query if QUERY is false. - - * octave.cc (long_opts, octave_main): Handle --no-window-system option. - (NO_WINDOW_SYSTEM_OPTION): New defined value. - (usage_string, verbose_usage): Mention --no-window-system option. - -2009-06-11 Jaroslav Hajek - - * ov-class.cc (octave_class::subsref): Set up proper nargout for call to subsref - method. - * ov-class.cc (octave_class::subsref): Unpack cs-list and setup nargin - for call to subsasgn. - -2009-06-10 Jaroslav Hajek - - * ov-base.cc (octave_base_value::numel (const octave_value_list&), - octave_base_value::size): New virtual methods. - * ov-base.h: Declare them. - * ov.h (octave_value::numel (const octave_value_list&)): New method. - (octave_value::size): Forward to octave_base_value. - * ov-class.cc (octave_class::numel (const octave_value_list&), - octave_base_value::size): New method overrides. - * ov-class.h: Declare them. - * pt-idx.cc (tree_index_expression::lvalue): Rewrite. - * data.cc (Fnumel): Allow indexed query. - -2009-06-10 John W. Eaton - - * pt-fcn-handle.cc (tree_anon_fcn_handle::dup): Don't convert to - tree_constant object here. Do inherit from current symbol table - scope and context. New test. - - * lex.l (handle_identifier): Set lexer_flags.looking_for_object_index - false if identifier is a keyword. - ({IDENT}{S}*): Don't set lexer_flags.looking_for_object_index here. - -2009-06-09 Jaroslav Hajek - - * octave.cc (octave_main): Call initialize_command_input - conditionally. Move line_editing update in front of it. - Call command_editor::force_default_editor if not line_editing. - -2009-06-09 Jaroslav Hajek - - * data.cc (Flog2): Fix tests. - -2009-06-08 John W. Eaton - - * variables.cc (symbol_exist): Returnn 1 for function handles and - inline function objects. - -2009-06-08 Jaroslav Hajek - - * symtab.h (symbol_table::do_clear_global, - symbol_table::do_clear_global_pattern): Properly erase from both local - and global table. - -2009-06-08 Jaroslav Hajek - - * variables.cc (Fclear): Clear also globals when called without - arguments. - -2009-06-07 Jaroslav Hajek - - * graphics.cc (color_property::do_set): Allow a wider range of types. - -2009-06-07 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc (Ffind): Fix docs. Improve second argument - handling. Add regression tests. - -2009-06-06 Rik - - * data.cc: Update documentation for 'complex' function - -2009-06-06 Rik - - * load-save.cc: Update documentation for NA and isna functions - -2009-06-06 Rik - - * load-save.cc: Update documentation for load and save - -2009-06-06 Rik - - * pr-output.cc: Update documentation for 'format' - -2009-06-05 Rik - - * variables.cc: Update documentation for 'who' family of functions - -2009-06-03 Rik - - * input.cc: Correct documentation for keyboard function - -2009-06-02 Rob Mahurin - - * Makefile.in: Add CARBON_LIBS to OCTINTERP_LINK_DEPS. - From Bernard Desgraups . - -2009-06-02 Jaroslav Hajek - - * ov-base.cc (octave_base_value::numeric_assign): Gripe when no index - given. - * ov-cell.cc (octave_cell::subsasgn): Ditto. - * ov-struct.cc (octave_struct::subsasgn): Ditto. - * ov-list.cc (octave_list::subsasgn): Ditto. - -2009-05-28 John W. Eaton - - * load-path.cc (load_path::do_files): Avoid shadow warning from GCC. - -2009-05-27 John W. Eaton - - * DLD-FUNCTIONS/__magick_read__.cc (write_image): - Bail out if given indexed image. - -2009-05-27 Jaroslav Hajek - - * DLD-FUNCTIONS/__magick_read__.cc (encode_map): Fix RGB color - construction. - -2009-05-26 John W. Eaton - - * load-path.h, load-path.cc (load_path::files, load_path::do_files): - New arg, OMIT_EXTS. - * help.cc (F__list_functions__): Call load_path::files with - omit_exts set to true. - - * symtab.h - (symbol_table::symbol_record::symbol_record_rep::is_variable): - Use "! is_local ()" instead of storage_class != local. - (symbol_table::do_variable_names): Only add variables to the list. - (symbol_table::unmark_forced_variables): New static function - * variables.cc (do_who): Use is_variable instead of is_defined. - Also limit output to variables when using regexp pattern. - * octave.cc (unmark_forced_vars): Delete. - (execute_eval_option_code): Don't add unmark_forced_vars to - unwind_protect stack here. - * toplev.cc (main_loop): Add symbol_table::unmark_forced_variables - to the unwind_protect stack here. - * input.cc (get_debug_input): Likewise. - * parse.y (parse_fcn_file, eval_string): Likewise. - -2009-05-25 Jaroslav Hajek - - * toplev.h (quit_allowed): New global variable. - * toplev.cc (quit_allowed): Declare it. - (Fquit): Raise error if quitting is not allowed. - * octave.cc (octave_main): if running as embedded, disable quit by - default. - -2009-05-25 Jaroslav Hajek - - * variables.cc (do_who): Only output symbols with a defined value. - -2009-05-22 Michael Goffioul - - * toplev.h (main_loop): Tag with OCTINTERP_API. - * input.h (octave_read, get_input_from_file, get_input_from_stdin): - Ditto. - * lex.h (create_buffer, current_buffer, switch_to_buffer, - delete_buffer, restore_input_buffer, delete_input_buffer): Ditto. - -2009-05-22 Robert T. Short - - * ov-class.h, ov-class.cc (octave_class::clear_exemplar_map): - New function. - * symtab.h (symbol_record::clear_objects, - symbol_record::do_clear_objects): New functions. - * variables.cc (do_matlab_compatible_clear, clear): - Handle -classes option. - -2009-05-22 Jaroslav Hajek - - * ov-base-mat.cc (octave_base_matrix::assign (const - octave_value_list, typename MT::element_type)): Avoid out of bounds - assignments. - -2009-05-21 Michael Goffioul - - * graphics.cc (figure::properties::get_boundingbox, - figure::properties::set_boundingbox): Get screen size from root - object. - (convert_position): Get screen resolution from root object and remove - unneeded "backend" argument. - (axes::properties::get_boundingbox, - figure::properties::get_boundingbox, - figure::properties::set_boundingbox): Remove unneeded backend argument - to convert_position call. - - * debug.h (class bp_table): Tag with OCTINTERP_API. - * input.h (Vdebugging): Ditto. - * pt-eval.h (class tree_evaluator): Ditto. - * toplev.h (class octave_call_stack): Ditto. - - * file-io.cc (mkstemp): Add mktemp-based implementation of mkstemp on - platforms that do not have it (mkstemp is required by the new help - system). - - * TEMPLATE-INST/Array-os.cc: Add "extern template" declaration for - Array to avoid implicit instantiation (and duplicate - symbols at link-time) [Win32] - -2009-05-20 John W. Eaton - - * pt-assign.cc (maybe_warn_former_built_in_variable): - Set initialized to true when done initializing vars set. - From Michael Goffioul . - -2009-05-20 Jaroslav Hajek - - * ov-typeinfo.h - (octave_value_typeinfo::unary_class_ops, - octave_value_typeinfo::unary_ops, - octave_value_typeinfo::non_const_unary_ops, - octave_value_typeinfo::binary_class_ops, - octave_value_typeinfo::binary_ops, - octave_value_typeinfo::compound_binary_class_ops, - octave_value_typeinfo::compound_binary_ops, - octave_value_typeinfo::cat_ops, - octave_value_typeinfo::assign_ops, - octave_value_typeinfo::assignany_ops, - octave_value_typeinfo::pref_assign_conv, - octave_value_typeinfo::type_conv_ops, - octave_value_typeinfo::widening_ops): Declare as Array. - * ov-typeinfo.cc: Reflect changes. - -2009-05-20 Jaroslav Hajek - - * toplev.h (octave_exit_func): New typedef. - (octave_exit): Change to octave_exit_func. - -2009-05-20 Jaroslav Hajek - - * ov-typeinfo.cc: Don't include oct-obj.h. - -2009-05-20 Jaroslav Hajek - - * toplev.h (octave_quit_exception): New class. - (octave_exit): New global variable. - * toplev.cc (octave_exit): Initialize to ::exit. - (clean_up_and_exit): Call octave_exit if set. - (Fquit): Raise octave_quit_exception to quit. - (main_loop): Catch octave_quit_exception. - * octave.cc (execute_command_line_file): Ditto. - (execute_eval_option_code): Ditto. - -2009-05-19 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (F__fltk_redraw__): New function. - (F__init_fltk__): Call add_input_event_hook with feval to add - __fltk_redraw__ to the list of even hook functions to call. - Call mlock when initializing. - (F__remove_fltk__): Call remove_input_event_hook with feval to - remove __fltk_redraw__ from the list of event hook functions. - Unlock __init_fltk__ when shutting down. - - * input.cc (Finput_event_hook): Delete. - (input_event_hook): Handle set of functions instead of just one. - (Fadd_input_event_hook, Fremove_input_event_hook): New functions. - -2009-05-19 Jaroslav Hajek - - * Makefile.in: Add X11_LIBS to OCTINTERP_LINK_DEPS. - -2009-05-17 Jaroslav Hajek - - * TEMPLATE-INST/Array-tc.cc: Change #include. - -2009-05-15 Robert T. Short - - * ov-class.cc (octave_class::exemplar_info): Fix typo in error message. - * ov-class.cc (Fmethods): Methods returns cell array. - * ls-mat5.cc (read_mat5_binary_element): - Construct exemplar array and ensure inheritance is correct. - -2009-05-15 John W. Eaton - - * error.cc (Ferror): Handle error struct argument. - - * ls-mat5.cc (save_mat5_binary_element): Avoid multiple calls to - contents method. From David Bateman . - (save_mat5_element_length): Use const Cell to avoid making copies - when indexing. - -2009-05-15 Jaroslav Hajek - - * oct-stream.cc: Don't instantiate Array2. - (octave_stream::read): Make read_fptr_table a static 2d array. - (FILL_TABLE_ROW): Update. - -2009-05-12 Jaroslav Hajek - - * data.cc (F__accumarray_sum__): Optimize the constant range case. - -2009-05-11 John W. Eaton - - * sparse-xdiv.cc (do_rightdiv_sm_dm, do_leftdiv_dm_sm): - Avoid apparent MSVC bug with typedef. - - * Makefile.in (install-lib): Remove - $(DESTDIR)$(octlibdir)/$(SHLLIBPRE)octinterp.$(SHLLIB_VER), not - $(DESTDIR)$(octlibdir)/$(SHLPRE)octinterp.$(SHLEXT_VER). - -2009-05-08 Carsten Clark - - * data.cc (Fissorted): Fix typo in documentation entry. - -2009-05-07 Robert T. Short - - * ov-class.h, ov-class.cc (octave_class::reconstruct_exemplar): - New function. - * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5, - octave_class::load_ascii): Construct exemplar table and ensure - inheritance is correct. - * ov-struct.cc (struct): Return struct from object. - -2009-05-07 John W. Eaton - - * graphics.h.in (base_graphics_object::set): Undo previous change. - (base_properties::set (const caseless_str&, const octave_value&): - New virtual function. - (base_properties::set (const caseless_str&, const std::string&, - const octave_value&)): No longer virtual. - - * toplev.cc (octave_config_info): Remove F2C and F2CFLAGS from the - config infor struct. - * oct-conf.h.in (OCTAVE_CONF_F2CFLAGS, OCTAVE_CONF_F2C): - Delete definitions. - -2009-05-07 Marco Atzeri - - * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. - -2009-05-07 John W. Eaton - - * genprops.awk (emit_declarations): Emit decls for static - has_property functions. - (emit_source): Add class name argument to base_properties::set - function. Pass class name to set_dynamic and - base_properties::set. Emit definitions for has_property - functions. - * graphics.h.in, graphics.cc - (base_properties::set, base_properties::set_dynamic): - New argument CNAME. - (base_properties::all_dynamic_properties): New static data member. - (base_properties::has_dynamic_property): New static function. - (base_graphics_object::set): Pass class name to - base_properties::set function. - (property_list::set): Check for invalid property names. - -2009-05-06 Jaroslav Hajek - - * ov-re-mat.cc (Fdouble): Fix order of branches. - -2009-05-05 John Swensen - - * debug.h, debug.cc (breakpoints): Rename from bp_map, use a - std::set instead of a std::map object. Change all uses. - (bp_table::do_get_breakpoint_list): Simplify. - -2009-05-05 Robert T. Short - - * ov-class.h, ov-class.cc (octave_class::reconstruct_parents): - New function. - * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5): - Contstruct parent list. - (get_current_method_class): Clean up method class extraction. - -2009-05-05 John W. Eaton - - * graphics.cc (array_property::validate): Require object to be any - numeric type, not necessarily a double precision value. - - * variables.cc (set_internal_variable): Pass NM in call to error. - -2009-05-04 Peter O'Gorman - - * utils.cc: Don't define HAVE_C99_VSNPRINTF here. - -2009-05-01 John W. Eaton - - * error.cc (Vlast_error_file, Vlast_error_name, Vlast_error_line, - Vlast_error_column): Delete. - (Vlast_error_stack): New static variable. - (initialize_last_error_stack): New static function. - (verror, Frethrow, Flasterror): Set or use Vlast_error_stack, not - Vlast_error_file, etc. - -2009-04-27 John W. Eaton - - * ov-class.cc (octave_class::dotref): Handle empty parent class. - (octave_class::get_current_method_class): Allow result to be empty. - (called_from_builtin): New static function. - (octave_class::subsref, octave_class::subsasgn): Use it. - -2009-04-23 John W. Eaton - - * ov-class.cc (Fclass): Check newly constructed classes against - the first constructed object of the class. - - * ov-class.h, ov-class.cc (octave_class::exmplar_info): New class. - (exemplar_map): New static data member. - (exemplar_iterator, exemplar_const_iterator): New typedefs. - - * ov-class.h (octave_class::nparents, - octave_class::parent_class_name_list): New functions. - * ov.h (octave_base_value::nparents, - octave_base_value::parent_class_name_list): New functions. - * ov-base.h, ov-base.cc (octave_base_value::nparents, - octave_base_value::parent_class_name_list): New functions. - (parent_class_names): Error if called for wrong type argument. - - * symtab.cc (load_out_of_date_fcn): New arg, dispatch_type. - (out_of_date_check_internal): Pass dispatch type to - load_out_of_date_fcn. - -2009-04-22 John W. Eaton - - * ov-base-int.cc (octave_base_int_helper::char_value_out_of_range): Correct result for specialization. - - * ov-class.cc (octave_class::dotref, octave_class::subsasgn): - Protect against possibly invalid octave_value -> string conversions. - -2009-04-22 Robert T. Short - - * variables.cc (symbol_exist): Also return 1 for objects. - * ov-base.h (octave_base_value::assign): New virtual function. - * ov-class.h (octave_class::assign): New function. - * ov-class.cc (octave_class::find_parent_class): Simplify. - (octave_class::octave_class): Don't allow duplicate parent classes. - (octave_class::subsasgn): Allow cls = method (cls, value) to work - properly when method is a parent-class method. - (get_method_class): New static function. - (octave_class:subsasgn, octave_class::dotref): Use it. - (F__isa_parent__): New function. - -2009-04-22 Jaroslav Hajek - - * ov-range.cc (octave_range::char_array_value): New virtual function - override. - * ov-range.h: Declare it. - -2009-04-22 Jaroslav Hajek - - * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): - Update class name even for all-zeros elements. - (get_concat_class): Update the default value if possible. - -2009-04-21 John W. Eaton - - * parse.y (Fassignin): Add missing unwind_protect frame. - - * toplev.h (push (symbol_table::scope_id, symbol_table::context_id)): - New function. - - * toplev.cc (main_loop): Don't call symbol_table::reset_scope. - - * mex.cc (mexGetVariable, mexPutVariable): Use unwind_protect to - restore call stack and scope. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Don't use symbol_table::push_scope. - * variablees.cc (do_who): Likewise. Use octave_call_stack and - unwind_protect to manage change in scope. - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, - octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): - Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - - * symtab.h (erase_scope (void*)): New function, for unwind_protect. - (symbol_table::push_scope, symbol_table::pop_scope, - symbol_table::reset_scope): Delete. - (symbol_table::scope_stack): Delete static member. - * symtab.cc (symbol_table::scope_stack): Delete definition. - -2009-04-17 Jaroslav Hajek - - * oct-map.h (Octave_map::contents (const_iterator) const, - Octave_map::contents (iterator)): Simplify. - -2009-04-17 Jaroslav Hajek - - * oct-map.cc (Octave_map::assign (const octave_value_list&, const - std::string&, const Cell&)): Fix & simplify. - (common_size): Remove. - -2009-04-16 Jaroslav Hajek - - * pt-idx.cc (make_value_list): Gripe on magic end query for undefined - variables. - -2009-04-16 Jaroslav Hajek - - * xpow.cc (same_sign): New helper function. - (elem_xpow (double, const Range&), elem_xpow (const Complex&, const Range&)): - Only optimize monotonic-magnitude integer ranges, start always from - the smaller end. - -2008-04-11 David Bateman - - * ov-cell.cc (Fstruct2cell): Treat possible trailing singleton for - creation of cell array from column structure vector. - -2009-04-09 Jaroslav Hajek - - * ov-cell.cc (octave_cell::subsasgn): Fix reference counting - optimization. - -2009-04-08 John W. Eaton - - * load-path.cc (rehash_internal): New function. - (Frehash): Use it. - (Fpath, Faddpath, Frmpath): Call rehash_internal if path is modified. - -2009-04-08 Jaroslav Hajek - - * xpow.cc (elem_xpow (double, const Range&), - elem_xpow (const Complex&, const Range&)): New functions. - * xpow.h: Declare them. - * OPERATORS/op-range.cc: Define scalar .^ range and complex .^ range & - install them. - -2009-04-04 Jaroslav Hajek - - * ov-struct.cc (octave_struct::subsasgn): Fix reference counting - optimization. - -2008-04-03 David Bateman - - * DLD-FUNCTIONS/max.cc (MINMAX_SPARSE_BODY): Allow sparse boolean - values. - -2009-04-01 Jaroslav Hajek - - * ov-str-mat.cc (default_numeric_conversion_function): - Create an octave_scalar if possible. - -2009-03-29 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (plot_window::button_press): - Don't pass arbitrary input to fl_message as a format string. - -2009-03-29 Jaroslav Hajek - - * pt-eval.cc (do_unwind_protect_cleanup_code): Protect also - octave_interrupt_state. - -2009-03-29 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Index n-d arrays along the - last dimension. - -2009-03-27 Jaroslav Hajek - - * DLD-FUNCTIONS/balance.cc (Fbalance): Fix order of output args. - -2009-03-26 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc - (find_nonzero_elem_idx (const Array&, ...)): Move dimensions - fixup to liboctave. - -2009-03-26 Jaroslav Hajek - - * DLD-FUNCTIONS/find.cc - (find_nonzero_elem_idx (const Array&, ...)): Simplify. - Instantiate for bool and octave_int types. - (find_nonzero_elem_idx (const Sparse&, ...)): - Instantiate for bool. - (Ffind): Handle bool and octave_int cases. - -2009-03-25 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.55+. - (OCTAVE_API_VERSION): Now api-v37+. - - * version.h (OCTAVE_VERSION): Now 3.1.55. - (OCTAVE_API_VERSION): Now api-v37. - (OCTAVE_RELEASE_DATE): Now 2009-03-25. - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Also return - [](0x0) if the array has 0 rows and it is not a column vector. - - * oct-stream.cc (octave_stream::write (const Array&, - octave_idx_type, oct_data_conv::data_type, octave_idx_type, - oct_mach_info::float_format)): Seek to skip if still inside bounds - of existing file. Otherwise, write NUL to skip. - - * Makefile.in (%.df : %.cc): Write source file name to output, - wrapped in XDEFUN_FILE_NAME macro. - * mkbuiltins: Provide definition for XDEFUN_FILE_NAME. - * mkgendoc: Likeiwse. - (XDEFUN_DLD_INTERNAL, XDEFUNX_DLD_INTERNAL, XDEFUN_INTERNAL, - XDEFCONSTFUN_INTERNAL, XDEFUNX_INTERNAL, XDEFVAR_INTERNAL, - XDEFCONST_INTERNAL): Pass file_name to print_doc_string. - (print_doc_string): New arg, FILE_NAME. Print file name as - comment. - -2009-03-24 John W. Eaton - - * ov-class.cc (F__parent_classes__): New function. - -2009-03-24 Robert T. Short - - * ov-class.h, ov-class.cc (octave_class::octave_class (const - Octave_map&, const std::string&, const octave_value_list&)): - New constructor. - (octave_class::find_parent_class, octave_class::parent_classes): - New functions. - (octave_class::dotref): Also look in parent class. - (Fclass): Handle parent class arguments. - - * ov-base.h (octave_base_value::get_parent_list, - octave_base_value::parent_classes): New virtual functions. - - * load-path.h, load-path.cc (load_path::parent_map): New data member. - (load_path::add_to_parent_map): New static function. - (load_path::do_add_to_parent_map): New member function. - (load_path::do_find_method): Also look in parent classes for methods. - (load_path::parent_map_type, load_path::const_parent_map_iterator, - load_path::parent_map_iterator): New typedefs. - -2009-03-23 John W. Eaton - - * symtab.h - (symbol_table::symbol_record::symobl_recoord_rep::is_variable): - Also return true if symbol is tagged as a variable. - (symbol_table::symbol_record::symobl_recoord_rep::force_variable): - Don't set variable value. - (symbol_table::symbol_record::symobl_recoord_rep::clear_forced, - symbol_table::symbol_record::clear_forced): Delete. - (symbol_table::unmark_forced_variables): Rename from - symbol_table::clear_forced_variables. - (symbol_table::do_unmark_forced_variables): Rename from - symbol_table::do_clear_forced_variables. - * parse.y (make_script, finish_function): Call - symbol_table::unmark_forced_variables instead of - symbol_table::clear_forced_variables. - * octave.cc (unmark_forced_vars): New function. - (execute_eval_option_code): Add it to the unwind-protect stack. - -2009-03-22 Jaroslav Hajek - - * pt-eval.cc (tree_evaluator::visit_simple_for_command): - Remove struct branch, handle structs by the generic code. - (tree_evaluator::visit_complex_for_command): - Add missing const qualifiers. - -2009-03-21 Jaroslav Hajek - - * ov-base-diag.cc: Add missing include. - * sparse-xdiv.cc: Ditto. - * DLD-FUNCTIONS/__glpk__.cc: Ditto. - * DLD-FUNCTIONS/__lin_interpn__.cc: Ditto. - * DLD-FUNCTIONS/__voronoi__.cc: Ditto. - -2009-03-20 Jaroslav Hajek - - * ov-re-mat.cc (octave_matrix::load_ascii): Simplify. - * ov-flt-re-mat.cc (octave_float_matrix::load_ascii): Simplify. - * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Simplify. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::load_ascii): Simplify. - -2009-03-20 Jaroslav Hajek - - * ov-re-mat.cc (octave_matrix::isnan, octave_matrix::isinf, - octave_matrix::finite): Simplify. - * ov-flt-re-mat.cc (octave_float_matrix::isnan, - octave_float_matrix::isinf, octave_float_matrix::finite): Simplify. - * ov-cx-mat.cc (octave_complex_matrix::isnan, - octave_complex_matrix::isinf, octave_complex_matrix::finite): - Simplify. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::isnan, - octave_float_complex_matrix::isinf, - octave_float_complex_matrix::finite): Simplify. - -2009-03-19 Benjamin Lindner - - * ls-oct-ascii.cc (extract_keyword): Replace loop with call to - read_until_newline to avoid leaving stray '\r' in stream when - reading files with CRLF line endings. - -2009-03-18 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc - (scalar_col_helper, scalar_col_helper_def, scalar_col_helper_nda, - scalar_query_helper): New classes. - (make_col_helper): New function. - (Fcellfun): Use col_helper classes for UniformOutput. Avoid copying by - using const variables. - -2009-03-17 Jaroslav Hajek - - * OPERATORS/op-b-bm.cc: Add missing INSTALL_BINOPs. - * OPERATORS/op-bm-b.cc: Ditto. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-m-m.cc: Ditto. - -2009-03-17 Jaroslav Hajek - - * ov.cc (octave_value::octave_value): Move to ov.h - * ov.h (octave_value::octave_value): Implement fast inline constructor - using a static rep. - -2009-03-15 Jaroslav Hajek - - * DLD-FUNCTIONS/cellfun.cc (Fcellslices): New DLD function. - -2009-03-13 Jaroslav Hajek - - * ov.h (octave_value::compound_binary_op): Support bool compound ops. - * ov.cc (do_binary_op, decompose_binary_op, binary_op_fcn_name): - Ditto. - * pt-cbinop.cc (strip_not, simplify_and_or_op): New funcs. - (maybe_compound_binary_expression): Support bool compound ops. - * OPERATORS/op-int.h: Support bool compound ops. - * OPERATORS/op-b-bm.cc: Ditto. - * OPERATORS/op-bm-b.cc: Ditto. - * OPERATORS/op-bm-bm.cc: Ditto. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-m-m.cc: Ditto. - -2009-03-13 Jaroslav Hajek - - * xpow.cc (xpow (const NDArray&, double), xpow (const ComplexNDArray&, double), - xpow (const FloatNDArray&, float), xpow (const FloatComplexNDArray&, - float)): Use xisint for testing ints. Optimize w.r.t int exponents. - -2009-03-13 John W. Eaton - - * parse.y (maybe_warn_assign_as_truth_value, make_binary_op, - maybe_warn_variable_switch_label, maybe_warn_associativity_change): - Print file and line number info if available. - * lex.l (gripe_matlab_incompatible): Likewise. - - * error.cc (pr_where): Use octave_call_stack::backtrace to print - complete stack trace at once. Don't attempt to print code. - (error_2): Set error_state to 0 before calling pr_where. - (warning_1): Switch sense of test on symbol_table::at_top_level. - Call pr_where after printing primary warning message. - -2009-03-13 Jaroslav Hajek - - * ov-range.h (octave_range::octave_range (const Range&)): Allow - constructing from invalid range op result. - * ov-range.cc (octave_range::try_narrowing_conversion): Validate - invalid range op results. - * data.cc (fill_matrix): Return packed form (zero-step range) if - possible. - -2009-03-10 Jason Riedy - - * DLD-FUNCTIONS/lu.cc (lu): Call fact.Pr_mat () and fact.Pc_mat () - to return permutation matrices in the sparse case. - -2009-03-12 John W. Eaton - - * ls-mat-ascii.cc (get_mat_data_input_line): If we are looking at - '\r' or '\n', skip current line ending instead of skipping until - the next. - -2009-03-12 Ben Abbott - - * graphics.cc: Fix default "papersize" property value. - -2009-03-12 Jaroslav Hajek - - * ov-flt-perm.h, ov-flt-perm.cc: Remove sources. - * ov.h, ov.cc (octave_value::octave_value (const PermMatrix&)): Remove - use "single" argument. - * ov.cc (install_types): Update. - * xpow.cc, xpow.h (xpow (PermMatrix, float)): Remove. - * ov-base-diag.cc (octave_base_diag::do_index_op): Remove permutation - creating block. - * ov-re-diag.cc (octave_diag_matrix::do_index_op): Move it here. - * ov-re-diag.h (octave_diag_matrix::do_index_op): New decl. - - * DLD-FUNCTIONS/det.cc (Fdet): Update. - * DLD-FUNCTIONS/inv.cc (Finv): Update. - * DLD-FUNCTIONS/pinv.cc (Fpinv): Update. - - * OPERATORS/op-fcm-pm.cc <-- OPERATORS/op-fcm-fpm.cc - * OPERATORS/op-fcm-pm.cc: Update. - * OPERATORS/op-fm-pm.cc <-- OPERATORS/op-fm-fpm.cc - * OPERATORS/op-fm-pm.cc: Update. - * OPERATORS/op-pm-fcm.cc <-- OPERATORS/op-fpm-fcm.cc - * OPERATORS/op-pm-fcm.cc: Update. - * OPERATORS/op-pm-fm.cc <-- OPERATORS/op-fpm-fm.cc - * OPERATORS/op-pm-fm.cc: Update. - * OPERATORS/op-pm-pm.cc: Update. - * OPERATORS/op-pm-template.cc: Update. - -2009-03-11 Jaroslav Hajek - - * xpow.cc (xpow (const PermMatrix&, double), xpow (const PermMatrix&, - float)): New functions. - * xpow.h: Declare them. - * DLD-FUNCTIONS/op-pm-pm.cc: Support permutation matrix ^ scalar. - * DLD-FUNCTIONS/op-fpm-fpm.cc: Ditto. - -2009-03-11 Jaroslav Hajek - - * ov-ch-mat.cc (octave_char_matrix::double_value, - octave_char_matrix::float_value, octave_char_matrix::complex_value, - octave_char_matrix::float_complex_value): Cast to unsigned char. - -2009-03-10 Jason Riedy - - * OPERATORS/op-pm-sm.cc (mul_pm_sm): New Octave binding for - perm * sparse. - (ldiv_pm_sm): New Octave binding for perm \ sparse. - (mul_sm_pm): New Octave binding for sparse * perm. - (div_sm_pm): New Octave binding for sparse / perm. - (install_pm_sm_ops): Install the above bindings. - - * OPERATORS/op-pm-scm.cc (mul_pm_scm): New Octave binding for - perm * sparse complex. - (ldiv_pm_scm): New Octave binding for perm \ sparse complex. - (mul_scm_pm): New Octave binding for sparse complex * perm. - (div_scm_pm): New Octave binding for sparse complex / perm. - (install_pm_scm_ops): Install the above bindings. - - * Makefile.in (PERM_OP_XSRC): Add op-pm-sm.cc and op-pm-scm.cc for - operations between permutations and sparse matrices. - -2009-03-10 Jason Riedy - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): New override - for find on PermMatrix. - (find): Add a branch testing arg.is_perm_matrix () and calling the - above override. - -2009-03-10 John W. Eaton - - * c-file-ptr-stream.cc, dynamic-ld.cc, error.cc, lex.l, pager.cc, - zfstream.cc: Include . - * zfstream.h: Include instead of and . - * c-file-ptr-stream.h, help.h, load-path.h, load-save.h, - ls-ascii-helper.h, oct-iostrm.h, oct-stream.h, ov-base-diag.h, - ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, - ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, ov-bool.h, ov-cell.h, - ov-ch-mat.h, ov-class.h, ov-colon.h, ov-complex.h, ov-cs-list.h, - ov-cx-mat.h, ov-cx-sparse.h, ov-fcn-handle.h, ov-fcn-inline.h, - ov-float.h, ov-flt-complex.h, ov-flt-cx-mat.h, ov-flt-re-mat.h, - ov-intx.h, ov-list.h, ov-range.h, ov-re-mat.h, ov-re-sparse.h, - ov-scalar.h, ov-str-mat.h, ov-struct.h, ov.h, pager.h, - pr-output.h, procstream.h, pt-assign.h, pt-cell.h, pt-const.h, - pt-fcn-handle.h, pt-id.h, pt-mat.h, pt.h, utils.h: - Include instead of . - -2009-03-10 Jaroslav Hajek - - * data.cc (Fsize_equal): Allow single argument call. - * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Update docs. - -2009-03-09 Benjamin Lindner - - * ls-ascii-helper.h, ls-ascii-helper.cc: New files. - * Makefile.in: Add them to the appropriate lists. - * load-save.cc (Fload): Open all files in binary mode. - * ov-range.cc (load_ascii): Explicitly handle CR and CRLF line endings. - * ov-fcn-handle.cc (load_ascii): Likewise. - * ov-fcn-inline.cc (load_ascii): Likewise. - * ov-str-mat.cc (load_ascii): Likewise. - * ls-mat-ascii.cc (get_mat_data_input_line): Likewise. - * ls-oct-ascii.cc (extract_keyword, read_ascii_data): Likewise. - * ls-oct-ascii.h (extract_keyword): Likewise. - -2009-03-09 John W. Eaton - - * graphics.h.in (OCTAVE_DEFAULT_FONTNAME): New macro, defaults to "*". - (axes::properties, text::properties): Use it to set default fontname. - * graphics.cc (axes::properties::set_defaults): Likewise. - -2009-03-09 Rafael Laboissiere - - * Makefile.in (maintainer-clean): Remove y.tab.h here. - (distclean): Not here. - -2009-03-09 Jason Riedy - - * OPERATORS/op-dm-sm.cc (add_dm_sm): Octave binding for diag + sparse. - (sub_dm_sm): Octave binding for diag - sparse. - (add_sm_dm): Octave binding for diag + sparse. - (sub_sm_dm): Octave binding for diag - sparse. - (install_dm_sm_ops): Install above bindings. - - * OPERATORS/op-dm-scm.cc (add_cdm_sm): Octave binding for diag + sparse. - (add_dm_scm): Octave binding for diag + sparse. - (add_cdm_scm): Octave binding for diag + sparse. - (sub_cdm_sm): Octave binding for diag - sparse. - (sub_dm_scm): Octave binding for diag - sparse. - (sub_cdm_csm): Octave binding for diag - sparse. - (add_sm_cdm): Octave binding for diag + sparse. - (add_scm_dm): Octave binding for diag + sparse. - (add_scm_cdm): Octave binding for diag + sparse. - (sub_sm_cdm): Octave binding for diag - sparse. - (sub_scm_dm): Octave binding for diag - sparse. - (sub_scm_cdm): Octave binding for diag - sparse. - (install_dm_scm_ops): Install above bindings. - -2009-03-08 Jason Riedy - - * sparse-xdiv.h (xleftdiv): Declare overrides for - xleftdiv (diagonal, sparse), both real and complex. - (xdiv): Declare overrides for xdiv (sparse, diagonal), both real - and complex. - - * sparse-xdiv.cc (do_rightdiv_sm_dm): New template function. - Implementation for xdiv (sparse, diagonal). - (xdiv): Call do_rightdiv_sm_dm to implement overrides, real and - complex. - (do_leftdiv_dm_sm): New template function. Implementation for - xleftdiv (diagonal, sparse). - (xleftdiv): Call do_leftdiv_dm_sm to implement overrides, real and - complex. - - * OPERATORS/op-dm-sm.cc (ldiv_dm_sm): Octave binding for real left - division, diagonal into sparse. - (div_sm_dm): Octave binding for real right division, sparse by - diagonal. - (install_dm_sm_ops): Install above bindings. - - * OPERATORS/op-dm-scm.cc (ldiv_dm_scm): Octave binding for real - diagonal \ complex sparse. - (ldiv_cdm_sm): Octave binding for complex diagonal \ real sparse. - (ldiv_cdm_scm): Octave binding for complex diagonal \ complex sparse. - (div_scm_dm): Octave binding for complex sparse / real diagonal. - (div_sm_cdm): Octave binding for real sparse / complex diagonal. - (div_scm_cdm): Octave binding for complex sparse / complex diagonal. - (install_dm_scm_ops): Install above bindings. - -2009-03-08 Jason Riedy - - * OPERATORS/op-dm-scm.cc: New file. Implement multiplication - between diagonal matrices (both real and complex) and complex - sparse matrices. - * OPERATORS/op-dm-sm.cc: New file. Implement multiplication - between diagonal matrices and sparse matrices, all real. - * Makefile.in (DIAG_OP_XSRC): Add op-dm-sm.cc and op-dm-scm.cc. - -2009-03-09 Jaroslav Hajek - - * data.cc (F__accumarray_sum__): New function. - (do_accumarray_sum): New helper template function. - -2009-03-07 Jaroslav Hajek - - * xdiv.cc (mdm_div_impl, dmm_lelftdiv_impl, dmdm_div_impl, - dmdm_leftdiv_impl): Optimize. - -2009-03-07 John W. Eaton - - * pr-output.cc (octave_print_internal (std::ostream&, - const PermMatrix&, bool, int)): Delete unused variable SCALE. - - * utils.cc (octave_vsnprintf): Avoid uninitialized variable - warning from GCC. - - * DLD-FUNCTIONS/qz.cc (Fqz): Avoid "maybe clobbered by vfork" - warning from GCC. - - * version.h (OCTAVE_VERSION): Now 3.1.54. - (OCTAVE_API_VERSION): Now api-v36. - (OCTAVE_RELEASE_DATE): Now 2009-03-07. - - * octave.cc (verbose_usage): Include --doc-cache-file in option list. - -2009-03-06 Jaroslav Hajek - - * ov.h (octave_value::diag_matrix_value, - octave_value::complex_diag_matrix_value, - octave_value::float_diag_matrix_value, - octave_value::float_complex_diag_matrix_value, - octave_value::perm_matrix_value): New methods. - - * ov-base.cc (octave_base_value::diag_matrix_value, - octave_base_value::complex_diag_matrix_value, - octave_base_value::float_diag_matrix_value, - octave_base_value::float_complex_diag_matrix_value, - octave_base_value::perm_matrix_value): New virtual methods. - - * ov-base.h: Declare them. - - * ov-base-diag.h (octave_base_diag::diag_matrix_value, - octave_base_diag::complex_diag_matrix_value, - octave_base_diag::float_diag_matrix_value, - octave_base_diag::float_complex_diag_matrix_value, - octave_base_diag::perm_matrix_value): Remove declarations. - - * DLD-FUNCTIONS/inv.cc (Finv): Simplify handling diag & perm matrices. - * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto. - * DLD-FUNCTIONS/det.cc (Fdet): Ditto. - -2009-03-05 Jaroslav Hajek - - * ls-hdf5.cc (add_hdf5_data): Handle diag & perm matrices. - -2009-03-05 John W. Eaton - - * pt-cell.cc, pt-cell.h (tree_cell::dup): Now const. - * comment-list.cc, comment-list.h (octave_comment_list::dup): Ditto. - * pt-arg-list.cc, pt-arg-list.h (tree_argument_list::dup): Ditto. - * pt-assign.cc, pt-assign.h (tree_simple_assignment::dup, - tree_multi_assignment::dup): Ditto. - * pt-binop.cc, pt-binop.h (tree_binary_expression::dup, - tree_boolean_expression::dup): Ditto. - * pt-cmd.cc, pt-cmd.h (tree_no_op_command::dup, - tree_function_def::dup): Ditto. - * pt-colon.cc, pt-colon.h (tree_colon_expression::dup): Ditto. - * pt-const.cc, pt-const.h (tree_constant::dup): Ditto. - * pt-decl.cc, pt-decl.h (tree_decl_elt::dup, tree_decl_init_list::dup, - tree_global_command::dup, tree_static_command::dup): Ditto. - * pt-except.cc, pt-except.h (tree_try_catch_command::dup, - tree_unwind_protect_command::dup): Ditto. - * pt-fcn-handle.cc, pt-fcn-handle.h (tree_fcn_handle::dup, - tree_anon_fcn_handle::dup): Ditto. - * pt-id.cc, pt-id.h (tree_identifier::dup): Ditto. - * pt-idx.cc, pt-idx.h (tree_index_expression::dup): Ditto. - * pt-jump.cc, pt-jump.h (tree_break_command::dup, - tree_continue_command::dup, tree_return_command::dup): Ditto. - * pt-loop.cc, pt-loop.h (tree_while_command::dup, - tree_do_until_command::dup, tree_simple_for_command::dup, - tree_complex_for_command::dup): Ditto. - * pt-mat.cc, pt-mat.h (tree_matrix::dup): Ditto. - * pt-misc.cc, pt-misc.h (tree_parameter_list::dup, - tree_return_list::dup): Ditto. - * pt-select.cc, pt-select.h (tree_if_clause::dup, - tree_if_command_list::dup, tree_if_command::dup, - tree_switch_case::dup, tree_switch_case_list::dup, - tree_switch_command::dup): Ditto. - * pt-stmt.cc, pt-stmt.h (tree_statement::dup, - tree_statement_list::dup): Ditto. - * pt-unop.cc, pt-unop.h (tree_prefix_expression::dup, - tree_postfix_expression::dup): Ditto. - * pt-fcn-handle.h (tree_anon_fcn_handle::parameter_list, - tree_anon_fcn_handle::return_list, tree_anon_fcn_handle::body, - tree_anon_fcn_handle::scope): Ditto. - -2009-03-05 Jason Riedy - - * ov-base-int.cc (convert_to_str_internal): Replace elt_type with - element_type throughout. - -2009-03-05 Jaroslav Hajek - - * DLD-FUNCTIONS/sparse.cc (Fsparse): Handle diagonal and permutation - matrices. - -2009-03-03 John W. Eaton - - * ov-struct.cc (octave_struct::save_ascii, - octave_struct::save_binary, octave_struct::save_hdf5): - Preserve order of structure fields. - * ls-mat5.cc (save_mat5_binary_element): Likewise. - - * symtab.h (symbol_table::do_inherit): Only inherit values for - symbols from the donor_scope that already exist in the table. - (symbol_table::symbol_record::symbol_record_rep::dup): Now const. - (symbol_table::symbol_record::operator=): Decrement rep->count and - maybe delete rep. - (symbol_table::fcn_info::operator=): Likewise. - - * pt-fcn-handle.cc: (tree_anon_fcn_handle::dup): Transform - tree_anon_fcn_handle objects to tree_constant objects containing - octave_fcn_handle objects. New tests. - - * pt-assign.cc (tree_simple_assignment::rvalue1): Assign result of - call to rhs->rvalue1() to an octave_value object, not an - octave_value_list object. - -2009-03-03 Jaroslav Hajek - - * oct-stream.h (octave_stream_list::lookup_cache): New member field. - (octave_stream_list::octave_stream_list): Initialize it. - (octave_stream_list::do_lookup): Use it. - (octave_stream_list::clear): Make flush optional. Do physically erase - entries from the map. Close files. - (octave_stream_list::do_remove): Call clear on "all". Do erase deleted - entry from the map. - -2009-03-02 John W. Eaton - - * graphics.cc (Fget, F__get__): Return a column vector of property - values, not a row vector. - -2009-03-01 John W. Eaton - - * OPERATORS/op-fcm-fcm.cc (DEFNDASSIGNOP_FN (dbl_assign)): - LHS type is float_complex_matrix, not complex_matrix. RHS value - function is float_complex_array, not complex_array. - -2009-03-01 Jaroslav Hajek - - * ov-perm.cc (octave_perm_matrix::print_raw): Call - octave_print_internal. - (octave_perm_matrix::print_raw): Call print_raw. - * pr-output.cc (octave_print_internal (...,const DiagMatrix&,...)): - Indicate diagonal matrix. - (octave_print_internal (...,const ComplexDiagMatrix&,...)): Ditto. - (octave_print_internal (...,const PermMatrix&,...)): New function. - * pr-output.h: Declare it. - -2009-02-27 Jaroslav Hajek - - * OPERATORS/op-dms-template.cc (gripe_if_zero): New template static - function. - (dmsdiv, sdmldiv): Call it. - -2009-02-26 John W. Eaton - - * symtab.h (symbol_table::symbol_record::symbol_record_rep::forced): - New static constant. - (symbol_table::symbol_record::symbol_record_rep::force_variable, - symbol_table::symbol_record::force_variable): New functions. - (symbol_table::symbol_record::symbol_record_rep::is_forced, - symbol_table::symbol_record::symbol_record_rep::mark_forced, - symbol_table::symbol_record::symbol_record_rep::unmark_forced, - symbol_table::symbol_record::symbol_record_rep::clear_forced, - symbol_table::symbol_record::is_forced, - symbol_table::symbol_record::mark_forced, - symbol_table::symbol_record::clear_forced, - symbol_table::symbol_record::unmark_forced): New fucntions. - * lex.h, lex.l (force_local_variable): Delete. - (handle_identifier): Call symbol_table::force_variable instead of - force_local_variable. - * parse.y (make_script): Call symbol_table:clear_forced_variables - after defining script. - (finish_function): Call symbol_table::clear_forced_variables - instead of symbol_table::clear_variables. - - * DLD-FUNCTIONS/chol.cc: Correct spelling of CHOLMOD in tests. - - * version.h (OCTAVE_VERSION): Now 3.1.53+. - (OCTAVE_API_VERSION): Now api-v35+. - -2009-02-25 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.53. - (OCTAVE_API_VERSION): Now api-v35. - (OCTAVE_RELEASE_DATE): Now 2009-02-25. - (OCTAVE_COPYRIGHT): Update year. - - * Makefile.in (distclean): Remove tags TAGS y.tab.h y.output - yy.lex.c here, not in maintainer-clean target. Also remove - parse.output. - - * DLD-FUNCTIONS/rand.cc: Note that the tests for the old random - number generator will fail if using 64-bit indexing. - -2009-02-25 Jaroslav Hajek - - * DLD-FUNCTIONS/lu.cc (maybe_set_triangular): New function. - (Flu): Use it. - * DLD-FUNCTIONS/qr.cc (maybe_set_triangular): New function. - (Fqr): Use it. - -2009-02-25 John W. Eaton - - * DLD-FUNCTIONS/chol.cc: Fix tests for missing cholmod. - - * input.cc (get_debug_input): Write debugging location info - directly to std::cerr instead of calling message. - * pt-eval.cc (tree_evaluator::do_breakpoint): Write debugging - location info directly to std::cerr, not octave_stdout. - - * defaults.h.in (OCTAVE_DOC_CACHE_FILE): New macro. - * defaults.cc (set_default_doc_cache_file): New function. - (install_defaults): Call it. - - * help.cc (__list_functions__): Simplify - - * input.cc (get_debug_input): Don't pass arbitrary input to - message as a format string. - -2009-02-24 John W. Eaton - - * help.cc, help.h (Vdoc_cache_file): New global variable. - (Fdoc_cache_file): New function. - * octave.cc (DOC_CACHE_FILE_OPTION): New option tag. - (long_opts): Include doc-cache-file in the list. - (octave_main): Handle DOC_CACHE_FILE_OPTION. - -2009-02-24 Jaroslav Hajek - - * ov-scalar.h - (octave_scalar::int8_scalar_value): New method. - (octave_scalar::int16_scalar_value): New method. - (octave_scalar::int32_scalar_value): New method. - (octave_scalar::int64_scalar_value): New method. - (octave_scalar::uint8_scalar_value): New method. - (octave_scalar::uint16_scalar_value): New method. - (octave_scalar::uint32_scalar_value): New method. - (octave_scalar::uint64_scalar_value): New method. - - * ov-float.h - (octave_float_scalar::int8_scalar_value): New method. - (octave_float_scalar::int16_scalar_value): New method. - (octave_float_scalar::int32_scalar_value): New method. - (octave_float_scalar::int64_scalar_value): New method. - (octave_float_scalar::uint8_scalar_value): New method. - (octave_float_scalar::uint16_scalar_value): New method. - (octave_float_scalar::uint32_scalar_value): New method. - (octave_float_scalar::uint64_scalar_value): New method. - - * OPERATORS/op-s-s.cc (scalar_to_float): Remove duplicate conversion. - * OPERATORS/op-range.cc (range_to_float_matrix): Ditto. - -2009-02-24 John W. Eaton - - * OPERATORS/op-float-conv.cc: New file. - * Makefile.in (FLOAT_OP_XSRC): Add it to the list. - (DOUBLE_OP_XSRC): Move op-double-conv.cc here from INTTYPE_OP_XSRC. - * ops.h (DEFFLTCONVFN, DEFSTRFLTCONVFN): New macros. - -2009-02-23 John W. Eaton - - * ov-base-sparse.cc (octave_base_sparse::print_raw): - Remove extra ")" from output. - - * DLD-FUNCTIONS/eigs.cc (Feigs): If sigma argument is not a - string, try extraction as complex value and check for error - instead of inquiring about type first. - - * pt-eval.cc (tree_evaluator::visit_break_command, - tree_evaluator::visit_return_command, - tree_evaluator::visit_global_command, - tree_evaluator::visit_static_command): Handle breakpoint. - (tree_evaluator::visit_simple_for_command, - tree_evaluator::visit_complex_for_command): Handle breakpoint once - at beginning of loop. - (tree_evaluator::visit_if_command_list): Don't call do_breakpoint - for else clauses. - (tree_evaluator::visit_no_op_command): Handle breakpoint if no-op - command is end of function or script. - (tree_evaluator::visit_statement): Handle breakpoint for - expressions but not commands. - (tree_evaluator::visit_while_command, - tree_evaluator::visit_do_until_command): - Check for breakpoint set on cmd, not expr. - (tree_evaluator::visit_do_until_command): Handle breakpoint - between check for breaking out of loop and loop control - expression. - - * pt-cmd.h (tree_no_op_command::eof): New data member - (tree_no_op_command::tree_no_op_command): Initialize it. - (tree_no_op_command::is_end_of_fcn_or_script): New function. - * pt-stmt.cc (tree_statement::is_end_of_fcn_or_script): - Call is_end_of_fcn_or_script instead of looking at original text - of no-op command. - - * pt-select.h, pt-select.cc (tree_if_command::set_breakpoint, - tree_if_command::delete_breakpoint): New functions. - (tree_switch_command::set_breakpoint, - tree_switch_command::delete_breakpoint): New functions. - * pt-stmt.h, pt-stmt.cc (tree_statement::set_breakpoint, - tree_statement::delete_breakpoint, tree_statement::is_breakpoint): - Delegate real work to cmd or expr. - (tree_statement::bp): Delete data member. - (tree_statement::tree_statement): Don't initialize bp. - (tree_statement::dup): Don't copy bp. - - * pt.h (tree::line (int), tree:column (int)): New functions. - (tree:set_breakpoint, tree::delete_breakpoint): Now virtual. - - * parse.y (finish_if_command): Also store line and column info for - if statement in first element of list. - (finish_switch_command): Likewise, for switch. - - * input.cc (last_debugging_command): New static variable. - (octave_gets): Set it here. Don't insert repeated debugging - commands in the history list. - -2009-02-23 Jaroslav Hajek - - * DLD-FUNCTIONS/pinv.cc: Support diagonal and permutation matrices. - -2008-02-21 David Bateman - - * OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, OPERATORS/op-s-scm.cc, - OPERATORS/op-s-sm.cc, OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-s.cc: Don't perform any - narrowing to full matrices. - -2009-02-20 Jaroslav Hajek - - * ov-base-diag.h (octave_base_diag::sqrt): Remove. - * ov-re-diag.cc (octave_diag_matrix::sqrt): New method. - * ov-re-diag.h: Declare it. - * ov-flt-re-diag.cc (octave_float_diag_matrix::sqrt): New method. - * ov-flt-re-diag.h: Declare it. - * ov-cx-diag.cc (octave_complex_diag_matrix::sqrt): New method. - * ov-cx-diag.h: Declare it. - * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::sqrt): New method. - * ov-flt-cx-diag.h: Declare it. - -2009-02-20 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Clear and - reload mex file if it is out of date. Don't check path for file. - - * pt-bp.cc (tree_breakpoint::visit_octave_user_script, - tree_breakpoint::visit_octave_user_function): - Don't panic. Call accept on command list if it exists. - -2009-02-20 Jaroslav Hajek - - * ov-base-mat.cc (octave_base_matrix::do_index_op): - Correctly compute all-scalar index. - * ov-cell.cc (octave_cell::is_sorted, octave_cell::is_sorted_rows): - New methods. - (octave_cell::octave_cell (const Array&)): New - constructor. - * ov-cell.h: Declare them. - * ov-cell.cc (octave_cell::sort): Create result already with - cellstr_cache. - * strfns.cc (Fstrcmp): Use special code when dealing with - cellstr arrays. - -2009-02-20 John W. Eaton - - * ov-base-mat.cc (octave_base_matrix::assign): - Correctly compute all-scalar index. - - * symbtab.cc (symbol_table::stash_dir_name_for_subfunctions): - New function. - * symtab.h: Provide decl. - * parse.y (load_fcn_from_file): Call it after parsing a function. - -2009-02-19 Jaroslav Hajek - - * ov-cell.h (octave_cell::cellstr_cache): New field. - (octave_cell::clear_cellstr_cache, octave_cell::make_cellstr_cache, - octave_cell::assign, octave_cell::delete_elements, - octave_cell::mex_get_data): New methods. - (octave_cell::is_cellstr): Reuse cellstr cache if possible, create if - successful. - (octave_cell::cellstr_value): Reuse cellstr cache if possible. - (octave_cell::subsasgn): Clear cellstr cache. - -2009-02-19 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Use Array::lookup if possible. - Do not compare octave_values directly. Properly check for iscellstr. - -2009-02-19 John W. Eaton - - * data.cc, graphics.cc, help.cc, lex.l, load-path.cc, parse.y: - Consistent doc strings for internal functions. - -2009-02-18 John W. Eaton - - * ov.cc (convert_to_octave_idx_type_array): New static function. - (octave_value::octave_idx_type_vector_value): New function. - * ov.h (octave_value::octave_idx_type_vector_value): Provide decl. - * DLD-FUNCTIONS/qr.cc (Fqrdelete, Fqrinsert): Use it to convert - octave_value object to array of octave_idx_type values. - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Likewise. - * DLD-FUNCTIONS/time.cc (strptime): Likewise. - * DLD-FUNCTIONS/quad.cc (Fquad): Eliminate unnecessary cast. - * toplev.cc (run_command_and_return_output): Likewise. - - * strfns.cc (Fstrvcat): Use octave_idx_type and size_t instead of - int as needed. - (Fstrcmp, Fstrncmp): Use octave_idx_type instead of int as needed. - - * DLD-FUNCTIONS/hex2num.cc (Fhex2num, Fnum2hex): - Use union to avoid reinterpret_cast and GCC warning. - - * mex.cc (call_mex): Declare local nargout variable volatile to - avoid "maybe clobbered by vfork" warning from GCC. - - * ov-cx-mat.cc (xabs): Comment out unused static function. - * ov-flt-cx-mat.cc (xabs): Ditto. - - * c-file-ptr-stream.cc (c_file_ptr_buf::seekoff, - c_file_ptr_buf::seepos, c_zfile_ptr_buf::seekoff, - c_zfile_ptr_buf::seepos): Avoid unused paramter warnings. - -2009-02-18 Jaroslav Hajek - - * data.cc (Fresize): Allow arbitrary number of parameters. Improve - documentation. - -2009-02-17 Benjamin Lindner - - * file-io.cc: (Fmkstemp): Use mkstemps if it is available and - mkstemp is missing. - -2009-02-17 Olaf Till - - * DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/dasrt.cc: Documentation fixes. - -2009-02-17 Kai Habel - - * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): Compute convex hull - volume and return it as second output. New tests. - -2009-02-17 John W. Eaton - - * ov-fcn.h (octave_function::octave_function): Initialize data members. - (octave_function::dispatch_class): No longer virtual. - Replace with version from ov-usr-fcn.h. - (octave_function::xdispatch_class, - octave_function::stash_dispatch_class): Move here from ov-usr-fcn.h. - (octave_function::mark_as_private_function, - octave_function::is_private_function, - octave_function::is_private_function_of_class): New functions. - (octave_function::private_function): New data member. - * ov-usr-fcn.h (octave_user_function::xdispatch_class, - octave_user_function::stash_dispatch_class, - octave_user_function::dispatch_class): Delete. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Don't initialize xdispatch_type. - - * symtab.cc - (symbol_table::fcn_info::fcn_info_rep::load_private_function): - If private directory is subdirectory of class directory, qmark - function as a private directory of the class. - - * ov-class.cc (octave_class::in_class_method): Also return true - for functions that are private to a class. - (octave_class::subsasgn): If not in class method, look for - subsasgn method. If not found, or if not in a class method, - perform default struct-style subscripted indexing. - - * ov-class.h (octave_class::empty_clone): - Preserve fields and class name. - * oct-map.h (Octave_map::Octave_map (const string_vector&): - New constructor. - - * ov-class.cc (octave_class::subsref): If indexing directly and - result is map, return class object, not simple struct. - - * symtab.cc - (symbol_table::fcn_info::fcn_info_rep::load_private_function): - Pass dir_name to load_fcn_from_file. - -2009-02-17 Jaroslav Hajek - - * DLD-FUNCTIONS/data.cc (NATIVE_REDUCTION): Add BOOL_FCN argument. - (NATIVE_REDUCTION_1): Check integer overflow flags and possibly gripe. - (Fsum): Reflect change. - (Fcumsum): USE NATIVE_REDUCTION. - * gripes.cc (gripe_native_integer_math_truncated): New function. - -2009-02-17 Jaroslav Hajek - - * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Improve inline docs. - -2009-02-17 Jaroslav Hajek - - * DLD-FUNCTIONS/max.cc (MINMAX_DOUBLE_SBODY): New macro. - (MINMAX_DOUBLE_BODY): Move part of code to MINMAX_DOUBLE_SBODY. - (MINMAX_SINGLE_SBODY): New macro. - (MINMAX_SINGLE_BODY): Move part of code to MINMAX_DOUBLE_SBODY. - (MINMAX_INT_SBODY): New macro. - (MINMAX_INT_BODY): Move part of code to MINMAX_DOUBLE_SBODY. - (CUMMINMAX_BODY): New macro. - (Fcummin, Fcummax): New DLD functions. - -2009-02-17 John W. Eaton - - * octave.gperf: Eliminate whitespace to allow gperf 2.7.2 to work. - - * file-io.cc (Ffscanf, Fsscanf): Check error_state after call to - octave_stream::scanf. - (Ffgetl): Check error state after call to octave_stream::getl. - (Ffgets): Check error state after call to octave_stream::gets. - - * oct-stream.cc (octave_base_stream::do_gets, - octave_base_stream::do_scanf): - Disallow reading from stdin when running interactively. - - * toplev.cc (octave_config_info): Add CARBON_LIBS, X11_INCFLAGS, - and X11_LIBS to the struct. - * oct-conf.h.in (OCTAVE_CONF_CARBON_LIBS, - OCTAVE_CONF_X11_INCFLAGS, OCTAVE_CONF_X11_LIBS): New macros. - -2009-02-17 Thomas Treichl - - * Makefile.in (octave$(EXEEXT)): Link with CARBON_LIBS. - -2009-02-16 John W. Eaton - - * lex.l (next_token_can_follow_bin_op): - Push all characters read on to buffer stack. - - * genprops.awk (emit_source): Don't use + to concatenate strings. - -2009-02-16 Jaroslav Hajek - - * data.cc (NATIVE_REDUCTION): Use boolNDArray::any for native bool - summation, boolNDArray::sum for double-valued. - -2009-02-16 Jaroslav Hajek - - * ov-base-mat.cc (octave_base_matrix::assign (const octave_value_list&, - typename MT::element_type): Fix invalid index. - * ov-re-mat.cc (default_numeric_demotion_function): Use - float_array_value instead of float_matrix_value. - -2009-02-16 John W. Eaton - - * input.cc (gnu_readline): Use fputs instead of fprintf. - -2009-02-15 John W. Eaton - - * defun.cc, defun-int.h, defun-dld.h (DEFUN_INTERNAL, - DEFCONSTFUN_INTERNAL, DEFUNX_INTERNAL, DEFUN_DLD_INTERNAL, - DEFUNX_DLD_INTERNAL, install_builtin_function, - install_dld_function, install_mex_function): - Delete IS_TEXT_FCN arg. Fix all uses. - (DEFMD, DEFUN_TEXT): Delete. - * mkbuiltins, mkgendoc: Adapt to DEFUN macro changes. - - * lex.h, lex.l (lexer_flags::at_beginning_of_statement): - New data member. Set it as needed in rules. - (is_keyword_token): - Handle lexer_flags::at_beginning_of_statement. - (next_token_can_follow_bin_op, looks_like_command_arg): New functions. - (handle_identifier): Use them to determine - Don't check is_command_name or is_rawcommand_name. - * parse.y (statement): Recognize word_list_cmd here. - (expression): Not here. - - * lex.l (handle_string): Delete arg TEXT_STYLE. - (BIN_OP_RETURN, XBIN_OP_RETURN): New arg, BOS. Change all uses. - - * lex.h, lex.l (lexer_flags::doing_raw_command): Delete data - member and all uses. - - * debug.cc, dirfns.cc, error.cc, input.cc, lex.l, load-path.cc, - load-save.cc, oct-hist.cc, ov-class.cc, pager.cc, parse.y, - pr-output.cc, sysdep.cc, utils.cc, variables.cc: - Replace all uses of DEFCMD with DEFUN. - - * variables.cc (command_set, rawcommand_set): Delete static variables. - (mark_as_command, unmark_command, is_command_name, - mark_as_rawcommand, unmark_raw_command, is_rawcommand_name): Delete. - (Fmark_as_command, Funmark_command, Fiscommand, - Fmark_as_rawcommand, Funmark_rawcommand, Fisrawcommand): - Convert to .m files and move to scripts/deprecated. - * variables.h (mark_as_command, is_command_name, - is_marked_as_rawcommand, mark_as_rawcommand, unmark_rawcommand, - is_rawcommand_name): Delete decls. - - * lex.h, lex.l (lexer_flags.looking_at_object_index): Now a - std::list object instead of an int. - Push TRUE to list at start of object index. Push FALSE at - beginning of matrix list. Pop value at end of object index or - matrix list. - (lexer_flags.looking_for_object_index): New data member. - Set it as needed in rules. - (inside_any_object_index): New function. - * parse.y (begin_obj_idx, cancel_obj_idx): Delete non-terminals - and all uses. - -2009-02-13 Ben Abbott - - * graphics.h.in (class axes::properties): Initialize ticklength. - * graphics.cc (default_axes_ticklength): New function. - -2009-02-13 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_gets): Handle CRLF and CR. - - * toplev.cc (do_octave_atexit): Only save history if - Vsaving_history is true. - -2009-02-12 John W. Eaton - - * data.cc, ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, - ov-base-sparse.h, ov-base.cc, ov-base.h, ov-perm.h, ov-range.h, - ov.h: Rename internal issorted and issorted_rows functions to - is_sorted and is_sorted_rows. - - * ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base.h, - ov-cell.h, ov-perm.h, ov-range.h, ov.h, data.cc, ov-base.cc, - ov-cell.cc: Rename all uses of sortrows_idx to sort_rows_idx. - - * TEMPLATE-INST/Array-tc.cc: Don't instantiate sort functions for - Arrays of octave_value objects. - (octave_sort::ascending_compare, - octave_sort::descending_compare): Delete. - - * ov.h (octave_value::cellstr_value): New function. - * ov-base.cc, ov-base.h (octave_base_value::cellstr_value): - New function. - * ov-cell.h (octave_cell::cellstr_value, octave_cell::sort, - octave_cell::sortrows_idx): New functions - * Cell.h, Cell.cc (Cell::Cell (Array)): New constructor. - - * TEMPLATE-INST/Array-tc.cc: Undo previous change. - (octave_sort::ascending_compare, - octave_sort::descending_compare): - Pass args by const reference instead of value. - - * version.h (OCTAVE_VERSION): Now 3.1.52+. - (OCTAVE_API_VERSION): Now api-v34+. - - * TEMPLATE-INST/Array-tc.cc - (octave_sort::ascending_compare, - octave_sort::descending_compare): - Delete unused template specializations. - Use NO_INSTANTIATE_ARRAY_SORT instead of INSTANTIATE_ARRAY_SORT - for octave_values. - -2009-02-11 Thomas Treichl - - * gl-render.h: Use HAVE_FRAMEWORK_OPENGL. - * gl-render.cc (opengl_tesselator, opengl_renderer::draw, - opengl_renderer::init_marker): Use HAVE_FRAMEWORK_OPENGL. - -2009-02-11 Jaroslav Hajek - - * ov.h (octave_value::issorted, octave_value::sortrows_idx, - octave_value::issorted_rows): New methods. - * ov.cc (octave_base_value::issorted, octave_base_value::sortrows_idx, - octave_base_value::issorted_rows): New methods. - * ov.cc: Declare them. - - * ov-base-mat.h (octave_base_matrix::issorted, octave_base_matrix::sortrows_idx, - octave_base_matrix::issorted_rows): New methods. - - * ov-base-diag.h (octave_base_diag::issorted, octave_base_diag::sortrows_idx, - octave_base_diag::issorted_rows): New methods. - - * ov-perm.h (octave_perm_matrix::issorted, octave_perm_matrix::sortrows_idx, - octave_perm_matrix::issorted_rows): New methods. - - * ov-range.h (octave_range::issorted, octave_range::sortrows_idx, - octave_range::issorted_rows): New methods. - - * data.cc (F__sortrows_idx__, Fissorted): New defuns. - -2009-02-11 John W. Eaton - - * toplev.cc (octave_config_info): Add octetcdir to the struct. - * defaults.h.in (OCTAVE_OCTETCDIR): New macro. - -2009-02-10 Jaroslav Hajek - - * DLD-FUNCTIONS/__pchip_deriv__.cc (F__pchip_deriv__): - Add support for computing pchip derivatives along rows of matrix. - Eliminate redundant copying by using const args where appropriate. - -2009-02-09 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.52. - (OCTAVE_RELEASE_DATE): Now 2009-02-09. - (OCTAVE_COPYRIGHT): Update year. - - * load-path.cc (dir_info::update, dir_info::initialize): - Likewise, to allow some functionality if getcwd fails. - - * toplev.cc (main_loop): Also catch octave_execution_exception. - - * DLD-FUNCTIONS/dispatch.cc: Comment out troublesome tests. - - * DLD-FUNCTIONS/eigs.cc: Increase tolerance to 1e-11 on all tests. - - * lex.l (lexical_feedback::looking_at_decl_list): New data member. - * lex.l (lexical_feedback::init): Initialize it. - (handle_identifier): Also force local variable if looking_at_decl_list. - * parse.y (parsing_decl_list): New non-terminal. - (declaration): Use it. Set lexer_flags.looking_at_decl_list to - false after parsing the declaration. - -2009-02-09 Jaroslav Hajek - - * TEMPLATE-INST/Array-tc.cc: Reflect changes in octave_sort. - -2009-02-08 John W. Eaton - - * octave.cc (initialize_pathsearch): Delete. - (octave_main): Don't call initialize_pathsearch. - -2009-02-07 John W. Eaton - - * parse.y (eval_string): Use the one true evaluator. - -2009-02-06 John W. Eaton - - * Makefile.in (INCLUDES): Include oct-hdf5.h in the list. - - * Makefile.in (oct-gperf.h): Don't use pipeline to process gperf - output. - -2009-02-05 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::cn_info_rep::xfind): - New function. - (symbol_table::fcn_info::cn_info_rep::find): - Use it to avoid recursive call. - - * graphics.cc (Fdrawnow): Return after errors. Don't strip - trailing directory separator from name used in call to file_stat. - - * DLD-FUNCTIONS/eigs.cc (Feigs): Avoid warnings about ambiguous - else. Style fixes. Return after errors. - -2009-02-05 Jaroslav Hajek - - * oct-map.cc (Octave_map::index): Optimize. - -2009-02-05 Jaroslav Hajek - - * OPERATORS/op-cm-cs.cc: Use scalar_value in scalar-to-matrix - indexed assignments. - * OPERATORS/op-fcm-fcs.cc: Ditto. - * OPERATORS/op-fm-fs.cc: Ditto. - * OPERATORS/op-m-s.cc: Ditto. - * OPERATORS/op-int.h (OCTAVE_MS_INT_ASSIGN_OPS): Use homogeneous - integer scalar-to-matrix assignment. - (OCTAVE_MM_INT_ASSIGN_OPS): Use homogeneous integer matrix-to-matrix - assignment. - - * Cell.h (Cell::index): Remove direct idx_vector overloads. - (Cell::assign): Remove direct idx_vector overloads. - (Cell::delete_elements): Remove direct idx_vector overloads. - * Cell.cc (Cell::index (const octave_value_list&)): Call - ArrayN::index. - - * oct-map.h (Octave_map::index): Remove direct idx_vector overloads. - * oct-map.cc (Octave_map::index): Ditto. - * ov-base-mat.cc (octave_base_mat::do_index_op): Optimize scalar - indexing case. - (octave_base_mat::assign (const octave_value_list&, const MT&)): - Specialize variable argument number. - (octave_base_mat::assign (const octave_value_list&, const - typename MT::element_type&)): - New method overload with optimized scalar indexing case. - - * ov-cell.cc (octave_base_matrix::do_index_op, - octave_base_matrix::assign, - octave_base_matrix::delete_elements): Specialize. - (octave_cell::assign (const_octave_value_list, const octave_value&): - Delete method. - * ov-cell.h: Reflect change. - - * ov-cx-mat.cc (octave_complex_matrix::assign): Delete overloads. - * ov-cx-mat.h: Reflect changes. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::assign): Delete overloads. - * ov-flt-cx-mat.h: Reflect changes. - * ov-list.cc (octave_list::do_index_op): Simplify. - * ov-struct.cc (octave_struct::do_index_op): Simplify. - * pt-eval.cc (tree_evaluator::visit_simple_for_command): Optimize - traversing a row vector. - -2009-02-05 John W. Eaton - - * variables.cc (Vignore_function_time_stamp): - Eliminate unused static variable. - - * debug.cc (get_file_line): Override default precedence in logical - expression. - - * ov-null-mat.cc (default_null_str_numeric_conversion_function, - default_null_sq_str_numeric_conversion_function, - default_null_matrix_numeric_conversion_function): - Avoid unused variable warning. - - * ov-flt-re-diag.cc (octave_float_diag_matrix::save_binary): - Avoid unused parameter warning. - * pt-eval.cc (tree_evaluator::visit_if_clause): Likewise. - * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise. - * ov-base.cc (octave_base_value::subsref (const std::string&, - const std::list&, bool): Likewise. - * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary): - Likewise. - - * oct-hdf5.h: New file. - * ls-hdf5.cc, ov-base.h, ov.h: Include oct-hdf5.h instead of hdf5.h. - * ls-hdf5.h: Include oct-hdf5.h. - * load-save.cc: Include ls-hdf5.h instead of hdf5.h. - * ov-base-sparse.cc, load-save.cc: - Don't protect #include "ls-hdf5.h" with #ifdef. - -2009-02-04 Kai Habel - - * gl-render.cc (opengl_renderer::draw (surface::properties)): - Normalize surface normals. Correct calculation of diffuse lighting. - * gl-render.cc (opengl_renderer::draw (patch::properties)): - Correct calculation of diffuse lighting. - -2009-02-04 John W. Eaton - - * help.cc (do_which): If NAME is not in the symbol table, look for - a function file in the load path. - (raw_help_from_file): Unwind-protect and set reading_script_file. - - * pt-loop.h, pt-loop.cc (evaluating_looping_command): - Delete global variable and all uses. - * parse.y, parse.h (evaluating_function_body): Delete global - variable and all uses. - (make_break_command, make_continue_command, make_return_command): - Use tree_evaluator::in_fcn_or_script_body and - tree_evaluator::in_loop_command instead of - evaluating_function_body and evaluating_looping_command. - - * pt-eval.h (tree_evaluator::in_function_or_script_body): - Delete member variable and all uses. - (tree_evaluator::reset): Delete function and all uses. - - * pt-eval.cc, pt-eval.h (tree_evaluator::in_fcn_or_script_body, - tree_evaluator::in_loop_command): New static variables. - (tree_evaluator::visit_simple_for_command, - tree_evaluator::visit_complex_for_command, - tree_evaluator::visit_while_command, - tree_evaluator::visit_do_until_command): Unwind-protect and set - tree_evaluator::in_loop_command instead of - evaluating_looping_command. - (tree_evaluator::visit_statement): Only call echo_code if - evaluating function or script and (Vecho_executing_commands & - ECHO_FUNCTIONS). Use tree_evaluator::in_fcn_or_script_body - instead of evaluating_function_body. - - * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): - octave_user_function::do_multi_index_op): Unwind-protect and set - tree_evaluator::in_fcn_or_script_body. - - * pt-stmt.cc, pt-stmt.h (tree_statement::echo_code): - Rename from maybe_echo_code. Simplify. - -2009-02-04 Jaroslav Hajek - - * pt-loop.h (tree_simple_for_command::do_for_loop_once, - tree_complex_for_command::do_for_loop_once): Remove obsolete decls. - * pt-loop.cc (quit_loop_now): Remove obsolete method. - * pt-eval.cc (DO_ND_LOOP): Delete macro. - (tree_evaluator::visit_simple_for_command): Use the generic - do_index_op for iterating matrices. - -2009-02-04 John W. Eaton - - New evaluator and debugger derived from tree-walker class. - - * pt-eval.h, pt-eval.cc: New files. Parse tree evaluator code - adapted from eval member functions in classes derived from - tree_command. - * Makefile.in (PT_INCLUDES, PT_SRC): Add them to the lists - - * pt-cmd.cc (tree_function_def::eval): Delete. - * pt-cmd.h: Delete decl. - (tree_command::eval): Delete pure virtual function. - (tree_no_op_command::eval): Delete. - (tree_function_def::function): Return octave_value, instead of - pointer to octave_function. Change all uses. - - * pt-except.cc (do_catch_code, tree_try_catch_command::eval, - do_unwind_protect_cleanup_code, - tree_unwind_protect_command::eval): Delete. - * pt-except.h: Delete decls. - - * pt-jump.cc (tree_break_command::eval, tree_return_command::eval, - tree_continue_command::eval): Delete. - * pt-jump.h: Delete decls. - - * pt-loop.cc (DO_ND_LOOP): Delete macro. - (tree_while_command::eval, tree_do_until_command::eval, - tree_simple_for_command::do_for_loop_once, - tree_simple_for_command::eval, - tree_complex_for_command::do_for_loop_once, - tree_complex_for_command::eval): - * pt-loop.h: Delete decls. - - * pt-select.cc (tree_if_clause::eval, tree_if_command_list::eval, - tree_if_command::eval, tree_switch_case::eval, - tree_switch_case_list::eval, tree_switch_command::eval): Delete. - * pt-select.h: Delete decls. - (class tree_if_clause, class tree_switch_case): Derive from tree. - Handle line and column in constructors. - - * pt-stmt.cc (tree_statement::eval): Delete - * pt-stmt.h: Delete decl. - - * pt-stmt.cc, pt-stmt.h (tree_statement::is_command, - tree_statement::is_expression, tree_statement::line, - tree_statement::column): Now const. - - * pt-stmt.cc (tree_statement::set_print_flag, - tree_statement::is_end_of_fcn_or_script): New functions. - * pt-stmt.h: Provide decl. - (set_breakpoint, delete_breakpoint, is_breakpoint): New function. - (bp): New member variable. - (print_result): Delete member variable. - (tree_statement_list::anon_function_body): New member variable. - (tree_statement_list::mark_as_anon_function_body, - tree_statement_list::is_anon_function_body, - tree_statement_list::is_script_body): New functions. - - * pt-decl.cc (tree_decl_init_list::eval, - tree_decl_command::accept, tree_global_command::do_init, - tree_global_command::eval, tree_static_command::do_init, - tree_static_command::eval): Delete. - * pt-decl.h: Delete decls. - (tree_decl_elt::eval_fcn): Delete typedef. - - * pt-decl.cc (tree_global_command::accept, - tree_static_command::accept): New functions. - - * pt-stmt.cc (tree_statement::print_result): Move here from - pt-stmt.h. Return true if expr is printable. - - * ov-base.cc (Vsilent_functions): Delete. - (octave_base_value::print_with_name): Don't check - evaluating_function_body && Vsilent_functions here. - * ov-class.cc (octave_class::print_with_name): Likewise. - * ov-base.h (Vsilent_functions): Delete decl. - * pt-eval.cc (Fsilent_functions): Move here from ov-base.cc. - (Vsilent_functions): New static variable. - - * sighandlers.cc (user_abort): Set tree_evaluator::debug_mode here. - - * pt.h (tree::bp): Rename from tree::break_point. - (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint): - No longer virtual. - - * input.cc (get_debug_input): Use current_evaluator and - tree-walker to evaluate command. - * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): Likewise. - * toplev.cc (main_loop): Likewise. - * parse.y (eval_string): - - * input.h, input.cc (Vdebugging_current_line): Delete. - (get_debug_input): Use tree_evaluator::debug_line instead of - Vdebugging_current_line. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Handle inline functions and anonymous functions as single - expressions. - * parse.y (eval_string): Likewise. - - * parse.y (make_do_until_command): Rename first argument from - do_tok to until_tok. - (loop_command): Pass UNTIL token instead of DO token to - make_do_until_command. - (make_elseif_clause): New arg, elseif_tok. Pass line and column - info to tree_if_clause constructor. - (elseif_clause): Pass ELSEIF token to make_elseif_clause. - (make_switch_case): New arg, case_tok. Pass line and column info - to tree_switch_case constructor. - (switch_case): Pass CASE token to make_switch_case. - (make_script): New arg end_script. Append it to cmds. - (script): Create no-op command for end of script and pass it to - make_script. - (start_function): New arg, end_function. Append it to body. - (function2): Pass end_function to start_function. - (make_end): New function. - (function_end): Declare as tree_statement_type. - Create no-op command for end of script. - (make_anon_fcn_handle): Mark body as anonymous function. - (set_stmt_print_flag): Set print flag for all separator types - - * parse.y (fold (tree_binary_expression*), - fold (tree_unary_expression *), finish_colon_expression, - finish_matrix): Call rvalue1 instead of rvalue. - Stash line number in new tree_constant object. - - * debug.h (bp_table::have_breakpoints): New static function. - (bp_table::do_have_breakpoints): New member function. - * debug.cc (bp_table::do_add_breakpoint, - bp_table::do_remove_breakpoint, - bp_table::do_remove_all_breakpoints_in_file, - bp_table::do_remove_all_breakpoints): Call - bp_table::have_breakpoints to set tree_evaluator::debug_mode. - (Fdbnext): Delete function. Alias to dbstep. - (Fdbquit, Fdbcont): Set tree_evaluator::dbstep_flag to zero. - (Fdbstep): Rewrite to use tree_evaluator::dbstep_flag instead of - tree::break_next, tree::last_line, tree::break_function, and - tree::last_break_function. - (Fdbwhere): Use tree_evaluator::debug_line and - tree_evaluator::debug_column to get current line and column info. - Don't print column if it is less than zero. - * pt.cc, pt.h (tree::break_next, tree::last_line, - tree::last_break_function, tree::break_function, - tree::break_statement): Delete. - - * pt-bp.cc (tree_breakpoint::visit_global_command, - tree_breakpoint::visit_static_command, - tree_breakpoint::take_action (tree_statement&)): New functions. - * pt-bp.h: Provide decls. - - * pt-bp.h (tree_walker::visit_global_command, - tree_walker::visit_static_command): New pure virtual functions. - (tree_walker::visit_decl_command): Delete. - - * pt-bp.cc (tree_breakpoint::visit_decl_command): Delete. - * pt-bp.h: Delete decl. - (MAYBE_DO_BREAKPOINT): Delete macro and all uses. - - * pt-bp.cc (tree_breakpoint::visit_no_op_command): Do nothing. - (tree_breakpoint::visit_argument_list, - tree_breakpoint::visit_binary_expression, - tree_breakpoint::visit_colon_expression, - tree_breakpoint::visit_decl_elt, - tree_breakpoint::visit_decl_init_list, - tree_breakpoint::visit_octave_user_script, - tree_breakpoint::visit_octave_user_function, - tree_breakpoint::visit_octave_user_function_header, - tree_breakpoint::visit_octave_user_function_trailer, - tree_breakpoint::visit_identifier, - tree_breakpoint::visit_index_expression, - tree_breakpoint::visit_matrix, tree_breakpoint::visit_cell, - tree_breakpoint::visit_multi_assignment, - tree_breakpoint::visit_anon_fcn_handle, - tree_breakpoint::visit_constant, - tree_breakpoint::visit_fcn_handle, - tree_breakpoint::visit_parameter_list, - tree_breakpoint::visit_postfix_expression, - tree_breakpoint::visit_prefix_expression, - tree_breakpoint::visit_return_list, - tree_breakpoint::visit_simple_assignment): Call panic_impossible - since breakpoints aren't set on expressions. - (tree_breakpoint::visit_if_clause): Fold into visit_if_command_list. - (tree_breakpoint::visit_switch_case): Fold into visit_switch_case_list. - (tree_breakpoint::visit_try_catch_command, - tree_breakpoint::visit_unwind_protect_command): - Don't set breakpoint on command itself, the the statements it - contains. - (tree_breakpoint::visit_global_command, - tree_breakpoint::visit_static_command): Call do_decl_command to do - actual work. - (tree_breakpoint::visit_while_command, - tree_breakpoint::visit_do_until_command, - tree_breakpoint::visit_simple_for_command, - tree_breakpoint::visit_complex_for_command, - tree_breakpoint::visit_statement, - tree_breakpoint::visit_statement_list, - tree_breakpoint::visit_switch_case_list): Set breakpoints at - appropriate places. - - * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_global_command, - tree_print_code::visit_static_command, - tree_print_code::do_decl_command): New functions. - (tree_print_code::visit_decl_command): Delete. - - * pt-check.h, pt-check.cc (tree_checker::visit_global_command, - tree_checker::visit_static_command, tree_checker::do_decl_command): - New functions. - (tree_checker::visit_decl_command): Delete. - - * pt-select.cc (tree_switch_case::label_matches): Call rvalue1 - instead of rvalue. - - * pt-exp.h, pt-exp.cc (tree_expression::rvalue1): New function. - (tree_expression::rvalue (void)): Delete. - (tree_expression::is_logically_true): Call rvalue1 instead of rvalue. - - * pt-fcn-handle.h, pt-fcn-handle.cc (tree_fcn_handle::rvalue1, - tree_anon_fcn_handle::rvalue1): New functions. - (tree_fcn_handle:rvalue (void), - tree_anon_fcn_handle::rvalue1 (void)): Delete. - (tree_fcn_handle::rvalue (int), tree_anon_fcn_handle_rvalue (int)): - Call rvalue1 instead of rvalue. - - * pt-idx.h, pt-idx.cc (tree_index_expression::rvalue1): New function. - (tree_index_expression::rvalue (void)): Delete. - (tree_index_expression::get_struct_index, - tree_index_expression::rvalue (int)): Call rvalue1 instead of rvalue. - - * pt-mat.h, pt-mat.cc (tree_matrix::rvalue1): New function. - (tree_matrix::rvalue (void)): Delete. - (tm_row_const::tm_row_const_rep::init, - tree_matrix::rvalue (int)): Call rvalue1 instead of rvalue. - - * pt-misc.cc (tree_parameter_list::convert_to_const_vector): - Call rvalue1 instead of rvalue. - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - Likewise. - - * pt-unop.h, pt-unop.cc (tree_prefix_expression::rvalue1, - tree_postfix_expression::rvalue1): New functions. - (tree_prefix_expression::rvalue (void), - tree_postfix_expression::rvalue (void)): Delete. - (tree_prefix_expression::rvalue (int), - tree_postfix_expression::rvalue (int)): - Call rvalue1 instead of rvalue. - - * pt-id.h, pt-id.cc (tree_identifier::rvalue1): New function. - (tree_identifier::rvalue (void)): Delete. - - * pt-assign.h, pt-assign.cc (tree_simple_assignment::rvalue1, - tree_multi_assignment::rvalue1): New functions. - (tree_simple_assignment::rvalue (void), - tree_multi_assignment::rvalue (void): Delete. - (tree_simple_assignment::rvalue (int)): - Call rvalue1 instead of rvalue. - - * pt-binop.h, pt-binop.cc (tree_binary_expression::rvalue1, - tree_boolean_expression::rvalue1): New functions. - (tree_binary_expression::rvalue (void), - tree_boolean_expression::rvalue (void)): Delete. - (tree_binary_expression::rvalue (int), - tree_boolean_expression::rvalue (int)): - Call rvalue1 instead of rvalue. - - * pt-cbinop.h, pt-cbinop.cc - (tree_compound_binary_expression::rvalue1): New function. - (tree_compound_binary_expression::rvalue (void)): Delete. - - * pt-cell.h, pt-cell.cc (tree_cell::rvalue1): New function. - (tree_cell::rvalue (void)): Delete. - (tree_cell::rvalue (int)): Call rvalue1 instead of rvalue. - - * pt-colon.h, pt-colon.cc (tree_colon_expression::rvalue1): - New function. - (tree_colon_expression::rvalue (void)): Delete. - (tree_colon_expression::rvalue (int)): - Call rvalue1 instead of rvalue. - - * pt-const.h, pt-const.cc (tree_constant::rvalue1): New function. - (tree_constant::rvalue (void)): Delete. - (tree_constant::rvalue (int)): Call rvalue1 instead of rvalue. - - * pt-decl.h, pt-decl.cc (tree_decl_elt::ravlue1): New function. - (tree_decl_elt::ravlue (void)): Delete. - (tree_decl_elt::eval): Call rvalue1 instead of rvalue. - -2009-02-03 Jaroslav Hajek - - * TEMPLATE-INST/Array-tc.cc: Replace vec_index by pointers. - -2009-02-02 Jaroslav Hajek - - * ov-re-mat.cc (octave_matrix::abs, octave_matrix::real, - octave_matrix::imag, octave_matrix::conj): Use special code. - * ov-flt-re-mat.cc (octave_float_matrix::abs, octave_float_matrix::real, - octave_float_matrix::imag, octave_float_matrix::conj): Use special code. - * ov-cx-mat.cc (octave_complex_matrix::abs, octave_complex_matrix::real, - octave_complex_matrix::imag, octave_complex_matrix::conj): Use special code. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::abs, octave_float_complex_matrix::real, - octave_float_complex_matrix::imag, octave_float_complex_matrix::conj): Use special code. - -2009-01-30 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Add missing check. - -2009-01-29 John W. Eaton - - * pt-stmt.cc (tree_statement::eval): Check - in_function_or_script_body instead of symbol_table::at_top_level () - to decide whether to call octave_call_stack::set_statement. - - * graphics.cc (properties::set_defaults): Also set - horizontalalignment, verticalalignmnt, and rotation properties for - new label objects here. - - * ov-base-scalar.cc (octave_base_scalar::is_true (void) const): - Error if scalar is NaN. - * ov-base-mat.cc (octave_base_matrix::is_true (void) const): - Likewise, if any element of matrix is NaN. - * ov-cell.cc (octave_cell::is_true): New function. - * Cell.h (Cell::any_element_is_nan): New function. - -2009-01-29 Jaroslav Hajek - - * pr-output.cc: - (void octave_print_internal (..., const DiagMatrix& m,...), - (void octave_print_internal (..., const ComplexDiagMatrix& m,...), - (void octave_print_internal (..., const FloatDiagMatrix& m,...), - (void octave_print_internal (..., const FloatComplexDiagMatrix& m,...)): - New functions. - * pr-output.h: Declare them. - * ov-base-diag.cc (octave_base_diag::print_raw): Call - octave_print_internal. - -2009-01-28 John W. Eaton - - * Makefile.in (install, uninstall): Handle SHLLIBPRE and SHLBINPRE - library prefixes. From Marco Atzeri . - -2008-01-28 David Bateman - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Don't break for zero - length match, but rather advance the index by one character and - try again. - -2009-01-28 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc (Flookup): Fix doc string. - -2009-01-27 John W. Eaton - - * load-path.cc (Fcommand_line_path): Rename from Fcommandlinepath. - -2009-01-27 Ben Abbott - - * graphics.cc (convert_position): Handle character units. - (default_axes_tick, default_figure_papersize, - default_figure_paperposition): New functions. - * graphics.h.in (class figure::properties): Use them to - initialize papersize, paperposition, xtick, ytick, and ztick - properties. - -2009-01-27 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc (Fqr): Treat empty matrices correctly. - -2009-01-26 Thomas Treichl - - * display.cc (display_info::init): Use double instead of CGFloat. - Use HAVE_FRAMEWORK_CARBON instead of OCTAVE_USE_OS_X_API. - -2009-01-26 John W. Eaton - - * load-path.cc (load_path::do_find_fcn): Handle @foo/bar. - -2009-01-24 Jaroslav Hajek - - * pt-cell.cc (tree_cell::rvalue): Optimize the single row case. - -2009-01-24 Jaroslav Hajek - - * ov-struct.cc (octave_struct::subsasgn): Reshape cs-list on rhs - according to the index expression. - * ov-cell.cc (octave_cell::subsasgn): Ditto. - -2008-12-25 Ben Abbott - - * load-path.cc (Fcommandlinepath): New function. - * load-path.h (load_path::get_command_line_path, - load_path::do_get_command_line_path): New functions. - -2009-01-24 Ben Abbott - - * DLD-FUNCTIONS/eigs.cc: eigs.cc: skip tests if ARPACK is missing. - -2009-01-25 S�ren Hauberg - - * help.cc (do_get_help_text, raw_help_from_symbol_table): new output to - flag the a function is found but not documented. - -2009-01-25 S�ren Hauberg - - * help.cc (raw_help_from_file): No longer search for files called - 'Contents.m', as this is moved to 'script/help.m'. - - -2009-01-23 John W. Eaton - - * toplev.cc (octave_call_stack::do_goto_caller_frame): - Also allow caller frame to be base frame, not just user code. - -2009-01-23 Jaroslav Hajek - - * gripes.cc (gripe_indexed_cs_list, gripe_invalid_inquiry_subscript): - New functions. - * gripes.h: Declare them. - * pt-idx.cc: Remove definitions of the above funcs. - * ov-cell.cc (octave_cell::subsref): Declare constants as const. - (octave_cell::subsasgn): Remove dead branch, declare constants as const. - (octave_cell::list_value): Optimize. - * ov-struct.cc - (octave_struct::subsref): Declare constants as const. - (octave_struct::subsasgn): Remove dead branch, declare constants as const. - * ov-cs-list.cc (octave_cs_list::octave_cs_list (const Cell&)): - Optimize. - * oct-obj.cc (octave_value_list::octave_value_list (const - std::list&)): New constructor. - * oct-obj.h: Declare it. - * pt-arg-list.cc (convert_to_const_vector): Optimize. - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): Use const - reference to avoid redundant copy. - * ov-usr-fcn.cc (octave_user_function::bind_automatic_vars): Optimize. - (octave_user_function::octave_all_va_args): Optimize. - -2009-01-22 Jaroslav Hajek - - * Cell.h (Cell::Cell (octave_value_list)): Only declare. - (Cell::index (*)): Change resize_ok type to bool. - * Cell.cc (Cell::Cell (octave_value_list)): Redefine. - * oct-obj.h, oct-obj.cc: Change octave_value_list::data to - Cell variable, reflect changes. - -2009-01-22 John W. Eaton - - * help.cc (do_which (std::ostream&, const std::string&), Fwhich): - Delete. - (do_which (const std::string&, std::string&), F__which__): - New functions. - * do_which (const std::string&): - Call do_which (const std::string&, std::string&) to do the work. - -2009-01-22 S�ren Hauberg - - * defun-int.h (print_usage): No longer mark as deprecated. - * defun.cc (print_usage): Simply call feval to execute print_usage.m. - * help.cc (additional_help_message, display_names_from_help_list, - display_symtab_names, simple_help, try_info, help_from_info, - display_help_text, display_usage_text, raw_help_from_list, - help_from_list, help_from_symbol_table, help_from_file, - builtin_help, Fhelp, display_file, do_type, Ftype, - first_help_sentence, print_lookfor, Flookfor): Delete. - (looks_like_html, raw_help_from_map, raw_help, do_get_help_text, - F__operators__, F__keywords__, F__builtins__, - file_is_in_dir, F__list_functions__): New functions. - (pair_type, map_iter): New typedefs. - (operators, keywords): Use pair_type for elements of list. - (names): Use map for (keyword, doc) lists. - (make_name_list): Sprinkle with const. - * help.h (display_help_text, display_usage_text, - additional_help_message): Delete decls. - -2009-01-22 John W. Eaton - - * toplev.cc (octave_config_info): Check OCTAVEUSE_OS_X_API instead - of __APPLE__ && __MACH__. - - * display.cc (display_info::init): Get info for Windows and OS X - systems. - -2009-01-22 Jaroslav Hajek - - * pt-idx.cc (tree_index_expression::lvalue): Correct tmpi when seeing - a plain struct component. - * ov-struct.cc (octave_struct::subsasgn): Use proper type substr in - empty_conv. - -2009-01-22 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc: Remove HAVE_QRUPDATE check. - * DLD-FUNCTIONS/chol.cc: Ditto. - -2009-01-21 John W. Eaton - - * Makefile.in (display.o): Add X11_INCFLAGS to CPPFLAGS. - (octave$(EXEEXT)): Link with X11_LIBS. - - * display.h, display.cc: New files. - * graphics.cc (default_screendepth, default_screensize, - default_screenpixelsperinch): New functions. - * graphics.h.in (class root_figure::properties): New property, - screendepth. Use default_screensize to initialize screensize - property. Use default_screenpixelsperinch to initialize - screenpixelsperinch property. - - * graphics.cc (properties::init): Set default xlabel, ylabel, - zlabel, and title properties that differ from default text - properties. - -2009-01-21 Jaroslav Hajek - - * OPERATORS/op-range.cc: Define & register range-scalar ops. - -2009-01-21 Jaroslav Hajek - - * ov.h (octave_value::subsref (..., bool auto_add)): New method. - (octave_value::next_subsref (bool auto_add, ...)): New method. - * ov.cc (octave_value::next_subsref (bool auto_add, ...)): New method. - * ov-base.h (octave_base_value::subsref (..., bool auto_add)): New - virtual method. - * ov-base.cc (octave_base_value::subsref (..., bool auto_add)): New - virtual method. - * ov-cell.cc (octave_cell::subsref (..., bool auto_add)): New virtual - method. - * ov-cell.h (octave_cell::subsref (..., bool auto_add)): Declare it. - * ov-struct.cc (octave_struct::subsref (..., bool auto_add)): New - virtual method. - (octave_struct::subsref (const std::string& type, const - std::list& idx)): Do not allow resizing. - * ov-struct.h (octave_struct::subsref (..., bool auto_add)): Declare - it. - * ov-struct.cc (octave_struct::dotref (..., bool auto_add)): New - virtual method. - * ov-struct.h (octave_struct::dotref (..., bool auto_add)): Declare it. - * pt-idx.cc (tree_index_expression::rvalue): Do not reevaluate already - evaluated part of the index chain. - (tree_index_expression::rvalue): Do not reevaluate already evaluated - part of the index chain. Do not actually perform trailing indexing. - Do not allow indexing cs-lists. - -2009-01-20 John W. Eaton - - * file-io.cc (Ffstat): New function. - -2009-01-17 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete, Fqrshift): - Reflect changes in liboctave. - * DLD-FUNCTIONS/chol.cc (Fcholupdate, Fcholinsert): - Reflect changes in liboctave. - -2009-01-19 Jaroslav Hajek - - * ov.h (octave_value::make_unique (int)): New method. - * oct-obj.h (octave_value_list::octave_value_list (const Cell&)): New - constructor. - * ov-cell.cc (octave_cell::subsasgn): Allow composed {} indexing - in multi-assignments. Optimize. - * ov-struct.cc (octave_struct::subsasgn): Correct composed {} indexing - in multi-assignments. Optimize & fix bugs. - * pt-idx.cc (tree_index_expression::lvalue): Rewrite to allow - specifying cs-list anywhere in index chain, be more robust. - -2009-01-19 John W. Eaton - - * lex.l (grab_comment_block): If not reading input from a file, - bail out at first newline inside a comment. - - * lex.l (lexer_debug_flag): New static variable. - (F__lexer_debug_flag__): New function. - (LEXER_DEBUG): New macro. Use it in all patterns. - (DISPLAY_TOK_AND_RETURN): Also display token if lexer_debug_flag - is set. - (process_comment): Display comment if lexer_debug_flag is set. - (display_character, display_state, lexer_debug): New static functions. - (xunput): Display character if lexer_debug_flag is set. - -2009-01-17 Jaroslav Hajek - - * ov.h: Describe usage of storable_value and make_storable_value. - * ov.cc: Remove FIXME comment. - -2009-01-15 John W. Eaton - - * data.cc (Freshape): Include mismatched dimensions in error message. - From Robert Millan . - -2009-01-14 Jaroslav Hajek - - * ov.cc (octave_value::maybe_economize): New method. - (octave_value::non_null_value): rename to storable_value. - (octave_value::make_non_null_value): rename to make_storable_value. - * ov-base.h (octave_base_value::maybe_economize): New method. - * ov-base-mat.h (octave_base_mat::maybe_economize): New override. - * oct-obj.cc (octave_value_list::normalize_null_values): - Rename to make_storable_values, use make_storable_value. - * oct-obj.h: Ditto. - * ov-builtin.cc: non_null_value -> storable_value. - * ov-cell.cc: Ditto. - * ov-struct.cc: Ditto. - * pt-decl.h: Ditto. - -2009-01-15 S�ren Hauberg - - * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image): - Initialize bitdepth. - -2009-01-14 S�ren Hauberg - - * DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/chol.cc, - DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, - DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, - DLD-FUNCTIONS/givens.cc, DLD-FUNCTIONS/hess.cc, - DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/svd.cc, - DLD-FUNCTIONS/syl.cc, data.cc, mappers.cc: - Use ifnottex instead of ifinfo. - -2009-01-14 John W. Eaton - - * load-path.cc (load_path::do_set): Call do_clear after disabling - add_hook. - -2009-01-13 Jaroslav Hajek - - * dirfns.cc (Freadddir): qsort -> sort. - * graphics.cc (maybe_set_children): Ditto. - * help.cc (simple_help): Ditto. - * input.cc (generate_possible_completions): Ditto. - * oct_map.cc (keys_ok): Ditto. - * ov-fcn-inline.cc (Finline): Ditto. - * variables.cc (Fisrawcommand): Ditto. - -2009-01-12 John W. Eaton - - * octave.cc (maximum_braindamage): Set confirm_recursive_rmdir to - false. - - * strfns.cc (Fstrcmp, Fstrncmp): Simplify by initializing all - elements of output to false with constructor argument. - -2009-01-12 Thorsten Meyer - - * strfns.cc (Fstrncmp): New test. - -2009-01-12 John W. Eaton - - * pt-stmt.h (tree_statement::is_null_statement): New function. - * parse.y (set_stmt_print_flag): Return list. Remove trailing - null statements from list. - (list, simple_list): Simplify action. - (make_statement, make_statement_list, append_statement_list): - Always create statements and them to the list. - - * base-list.h (octave_base_list::push_front, - octave_base_list::push_back, octave_base_list::pop_front, - octave_base_list::pop_back): New functions. - - * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete, Fqrshift): - Require args to be numeric, not necessarily matrix objects. - -2009-01-12 Ben Abbott - - * graphics.h.in (text::properties::fontunits): Fix typo in list of - possible values. - -2009-01-12 John W. Eaton - - * strfns.cc (Fstrvcat, Fchar): Use queue to avoid duplicate calls - to all_strings. - -2009-01-12 Thorsten Meyer - - * strfns.cc (Fstrvcap): New function. - -2008-11-29 Thorsten Meyer - - * strfns.cc (Fchar, Fischar, Fstrncmp, Flist_in_columns): - Improve documentation strings. Add examples and tests. - -2009-01-12 Jaroslav Hajek - - * ov-perm.cc (octave_perm_matrix::do_index_op): Return shallow copy - when indexed by (:,:). - * ov-base-mat.cc (octave_base_diag::do_index_op): Return shallow copy - when indexed by (:,:). Optimize indexing equivalent to resizing. - * data.cc: Fix tests. - * mappers.cc: Fix tests. - -2009-01-12 Jaroslav Hajek - - * ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, - ov-base.cc, ov-base.h, ov-perm.h, ov-range.h, ov.h: Add full_value - methods to octave_value, octave_base_value and its relevant - subclasses. - * data.cc (Ffull): New DEFUN. - * DLD-FUNCTIONS/sparse.cc (Ffull): move to data.cc. -2009-01-11 Jaroslav Hajek - - * ov.h (octave_value::is_copy_of): New method. - * ov-struct.cc (numeric_conv): Add output parameter orig. - (octave_struct::subsasgn): Temporarily erase duplicate lhs value prior - to assignment. - -2009-01-11 Jaroslav Hajek - - * oct-obj.cc (octave_value_list::all_scalars): New method. - * oct-obj.h: Declare it. - * ov-cell.cc (octave_cell::subsasgn): Disable assigning - to non-scalar {}-indexed cell, unless in a multi-assignment. - -2009-01-10 Jaroslav Hajek - - * DLD-FUNCTIONS/sparse.cc (Ffull): Convert diagonal & permutation - matrices, leave other classes untouched. - -2009-01-09 Jaroslav Hajek - - * OPERATORS/op-cdm-cdm.cc: Install missing widening op. - * OPERATORS/op-dm-dm.cc: Ditto. - * OPERATORS/op-fcdm-fcdm.cc: Ditto. - * OPERATORS/op-fdm-fdm.cc: Ditto. - * OPERATORS/op-pm-pm.cc: Ditto. - * OPERATORS/op-fpm-fpm.cc: Ditto. - -2009-01-09 Jaroslav Hajek - - * ov-cell.cc (octave_cell::subsasgn): Put erased copy back after - make_unique has been called. - -2009-01-09 Kai Habel - - * graphics.cc: Calculate normals for surface boundaries, use - more neighboring points to calculate interior normals - -2009-01-09 John W. Eaton - - * input.cc (get_user_input (void)): Don't increment input_line_number. - * lex.l (xunput): New function. Use it in place of yyunput - anywhere a newline character may be put back on the input stream. - Increment input_line_number in all rules that consume newlines - characters. - (text_yyinput): Increment input_line_number - (fixup_column_count): Increment input_line_number. - (prep_for_function): Set input_line_number to 1, not 0. - (reset_parser): Set input_line_number to current_command_number, - not current_command_number-1. - (flex_stream_reader::ungetc): Call xunput, not yyunput. - * parse.y (input_line_number): Initialize to 1, not 0. - (text_getc): Increment input_line_number correctly. - (stdio_stream_reader::ungetc): Decrement input_line_number if - putting back a newline character. - (parse_fcn_file): Set input_line_number to 1, not 0. - (eval_string): Unwind-protect input_line_number and - current_input_column. - - * parse.y (make_statement): New function. - (statement): Use it. - (make_statement_list, append_statement_list): New functions. - (simple_list1, list1): Use them. - -2009-01-08 Jaroslav Hajek - - * ov-cell.cc (octave_cell::subsasgn): Erase duplicate lhs value - prior to assignment to avoid a redundant copy. - -2008-12-26 Thorsten Meyer - - * mappers.cc (Ftoascii), mappers.cc (Ftolower), mappers.cc - (Ftoupper), DLD-FUNCTIONS/regexp.cc (Fregexp), - DLD-FUNCTIONS/regexp.cc (Fregexpi), DLD-FUNCTIONS/regexp.cc - (Fregexprep): Add references. - -2008-12-27 Jaroslav Hajek - - * oct-obj.h, oct-obj.cc (octave_value_list::valid_scalar_indices): Remove. - * ov-base-diag.cc, ov-base-diag.h, ov-base-scalar.cc, ov-base.h, - ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, - ov-bool.cc, ov-bool.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.h, - ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-cx-sparse.cc, ov-cx-sparse.h, ov-float.cc, ov-float.h, - ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-mat.cc, - ov-flt-cx-mat.h, ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, - ov-perm.cc, ov-perm.h, ov-range.h, ov-re-mat.cc, ov-re-mat.h, - ov-re-sparse.cc, ov-re-sparse.h, ov-scalar.cc, ov-scalar.h, - ov-str-mat.cc, ov-str-mat.h, ov.h: - Remove valid_as_scalar_index and valid_as_zero_index methods - from octave_value, octave_base_value and all of its subclasses. - -2008-12-26 Francesco Potortì - - * data.cc (resize): Add cross reference to postpad. - -2008-12-25 Jaroslav Hajek - - * load-save.h (load_save_format_type, load_save_format_options): New - enums. - (load_save_format): Convert to a class. - * load-save.cc (do_save(..., const octave_value&,...)): Use fmt.type - in switch. Use options of LS_MAT_ASCII. - (do_load, write_header): Use format.type in switch. - * ls-mat-ascii.h (save_mat_ascii_data): Add tabs option. - * ls-mat-ascii.cc (save_mat_ascii_data): Implement it. - -2008-12-24 Ben Abbott - - * DLD-FUNCTIONS/chol.cc: Compare results to 0 in tests. - Delete spurious function calls in test block. - -2008-12-24 John W. Eaton - - * DLD-FUNCTIONS/eigs.cc: Use "testif HAVE_ARPACK" to skip tests if - ARPACK is not available. - - * Makefile.in (DLD_XSRC): Add eigs.cc to the list. - - * load-save.cc (parse_save_options): Handle -double. - -2008-12-23 David Bateman - - * DLD-FUNCTIONS/eigs.cc: New file. - * Makefile.in (DLD_XSRC): Add it here. - -2008-12-22 David Bateman - - * DLD-FUNCTIONS/__voronoi__.cc (F__voronoi__): Resize AtInf array - before returning it. - -2008-12-12 David Bateman - - * DLD-FUNCTIONS/chol.cc (Fcholinv): Add test. - -2008-12-12 Jaroslav Hajek - - * ls-hdf5.cc (add_hdf5_data): Check for diagonal & permutation - matrices and convert them to full prior to saving. - -2008-12-11 Jaroslav Hajek - - * ov-re-mat.cc (Fdouble): Handle diagonal & perm matrices. - * ov-flt-re-mat.cc (Fsingle): Handle diagonal & perm matrices. - -2008-12-11 Jaroslav Hajek - - * ov-base-diag.cc (octave_base_diag::subsasgn): New method. - * ov-base-diag.h (octave_base_diag::subsasgn): Declare it. - (octave_base_diag::chk_valid_scalar): New method decl. - - * ov-re-diag.cc (octave_diag_matrix::chk_valid_scalar): New method - override. - * ov-re-diag.h: Declare it. - * ov-flt-re-diag.cc (octave_float_diag_matrix::chk_valid_scalar): New - method override. - * ov-flt-re-diag.h: Declare it. - * ov-cx-diag.cc (octave_complex_diag_matrix::chk_valid_scalar): New - method override. - * ov-cx-diag.h: Declare it. - * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::chk_valid_scalar): - New method override. - * ov-flt-cx-diag.h: Declare it. - -2008-12-10 Jaroslav Hajek - - * DLD-FUNCTIONS/expm.cc: Remove. - * Makefile.in: Update. - -2008-12-10 Jaroslav Hajek - - * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::empty_clone): Construct an - empty matrix instead of zero. - -2008-12-07 Thorsten Meyer - - * mappers.cc (Ftolower): Make lower alias of tolower, add tests - * mappers.cc (Ftoupper): Make upper alias of toupper, add tests - -2008-12-09 Jaroslav Hajek - - * DLD-FUNCTIONS/balance.cc (Fbalance): Exploit the new AEPBAL functionality. - -2008-12-08 Jaroslav Hajek - - * xpow.cc ( xpow (const DiagMatrix& a, double b), - xpow (const DiagMatrix& a, const Complex& b), - xpow (const ComplexDiagMatrix& a, double b), - xpow (const ComplexDiagMatrix& a, const Complex& b), - xpow (const FloatDiagMatrix& a, float b), - xpow (const FloatDiagMatrix& a, const FloatComplex& b), - xpow (const FloatComplexDiagMatrix& a, float b), - xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b)): - New methods. - * xpow.h: Declare them. - * OPERATORS/op-dms-template.cc: Support diagonal matrix ^ scalar. - -2008-12-08 Jaroslav Hajek - - * ov-re-diag.cc (octave_diag_matrix::save_binary, - octave_diag_matrix::load_binary): New methods. - * ov-re-diag.h: Declare them. - * ov-flt-re-diag.cc (octave_float_diag_matrix::save_binary, - octave_float_diag_matrix::load_binary): New methods. - * ov-flt-re-diag.h: Declare them. - * ov-cx-diag.cc (octave_complex_diag_matrix::save_binary, - octave_complex_diag_matrix::load_binary): New methods. - * ov-cx-diag.h: Declare them. - * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary, - octave_float_complex_diag_matrix::load_binary): New methods. - * ov-flt-cx-diag.h: Declare them. - * ov-perm.cc (octave_perm_matrix::save_binary, - octave_perm_matrix::load_binary): New methods. - * ov-perm.h: Declare them. - -2008-12-06 Jaroslav Hajek - - * ov-fcn-handle.cc (octave_fcn_handle::load_binary): Call istream::get - rather than istream::read to supply null terminating character. - -2008-10-29 Jaroslav Hajek - * file-io.cc, gl-render.cc, load-save.cc, ls-hdf5.cc, ls-mat4.cc, - ls-mat5.cc, ls-oct-binary.cc, mex.cc, oct.h, ov-base-int.cc, - ov-bool-mat.cc, ov-bool-sparse.cc, ov-cell.cc, ov-class.cc, - ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, - ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, - ov-str-mat.cc, ov-struct.cc, toplev.cc, - DLD-FUNCTIONS/__lin_interpn__.cc, DLD-FUNCTIONS/amd.cc, - DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/gcd.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/symrcm.cc: - Include oct-locbuf.h. - -2008-12-05 Jaroslav Hajek - - * ov-base-diag.cc (save_ascii, load_ascii): Save natively. - * ov-base-diag.h (load_ascii): Declare. - * ov-perm.cc (save_ascii, load_ascii): Save natively. - * ov-perm.h (load_ascii): Declare. - -2008-12-04 Thorsten Meyer - - * strfns.cc (Fchar): Add test from str2mat.m - -2008-12-04 Jaroslav Hajek - - * ov.h (octave_value::is_perm_matrix): New method. - * ov-base.h (octave_base_value::is_perm_matrix): New method. - * ov-perm.h (octave_perm_matrix::is_perm_matrix): New method. - * DLD-FUNCTIONS/inv.cc (Finv): Handle permutation matrices specially, - compute rcond for diagonal matrices. - * DLD-FUNCTIONS/det.cc (Fdet): Handle permutation & diagonal matrices - specially. - -2008-12-03 Jaroslav Hajek - - * ov-perm.h: New source. - * ov-perm.cc: New source. - * ov-flt-perm.h: New source. - * ov-flt-perm.cc: New source. - * ov-base-diag.cc (octave_base_diag::do_index_op): - If subscripting an identity matrix by permutation(s), return a - permutation matrix object. - * ov.cc (octave_value::octave_value (const PermMatrix&)): New - constructor. - * ov.cc (octave_value::octave_value (const PermMatrix&)): Declare it. - * op-cm-pm.cc: New source. - * op-fcm-fpm.cc: New source. - * op-fm-fpm.cc: New source. - * op-fpm-fcm.cc: New source. - * op-fpm-fm.cc: New source. - * op-fpm-fpm.cc: New source. - * op-m-pm.cc: New source. - * op-pm-cm.cc: New source. - * op-pm-m.cc: New source. - * op-pm-pm.cc: New source. - * op-pm-template.cc: New source. - * Makefile.in: Include new sources. - * DLD-FUNCTIONS/qr.cc (Fqr): Reflect interface changes of QR classes. - -2008-12-03 John W. Eaton - - * debug.cc (bp_table::do_get_breakpoint_list): Style fixes. - -2008-12-01 Jaroslav Hajek - - * ov-base.h (octave_base_value::is_diag_matrix): New virtual method. - * ops.h (CONCAT2, CONCAT3): New macros. Use CONCAT macros instead of - direct token pasting to avoid disabling argument prescan. - * xdiv.cc, xdiv.h: Implement xdiv and xleftdiv overloads for diagonal - and mixed dense-diagonal operands. - - * ov-re-diag.h: New source. - * ov-re-diag.cc: New source. - * ov-flt-re-diag.h: New source. - * ov-flt-re-diag.cc: New source. - * ov-base-diag.h: New source. - * ov-base-diag.cc: New source. - * OPERATORS/op-m-dm.cc: New source. - * OPERATORS/op-m-cdm.cc: New source. - * OPERATORS/op-fm-fdm.cc: New source. - * OPERATORS/op-fm-fcdm.cc: New source. - * OPERATORS/op-fdm-fs.cc: New source. - * OPERATORS/op-fdm-fm.cc: New source. - * OPERATORS/op-fdm-fdm.cc: New source. - * OPERATORS/op-fdm-fcs.cc: New source. - * OPERATORS/op-fdm-fcm.cc: New source. - * OPERATORS/op-fdm-fcdm.cc: New source. - * OPERATORS/op-fcm-fdm.cc: New source. - * OPERATORS/op-fcm-fcdm.cc: New source. - * OPERATORS/op-fcdm-fs.cc: New source. - * OPERATORS/op-fcdm-fm.cc: New source. - * OPERATORS/op-fcdm-fdm.cc: New source. - * OPERATORS/op-fcdm-fcs.cc: New source. - * OPERATORS/op-fcdm-fcm.cc: New source. - * OPERATORS/op-fcdm-fcdm.cc: New source. - * OPERATORS/op-dms-template.cc: New source. - * OPERATORS/op-dm-template.cc: New source. - * OPERATORS/op-dm-s.cc: New source. - * OPERATORS/op-dm-m.cc: New source. - * OPERATORS/op-dm-dm.cc: New source. - * OPERATORS/op-dm-cs.cc: New source. - * OPERATORS/op-dm-cm.cc: New source. - * OPERATORS/op-dm-cdm.cc: New source. - * OPERATORS/op-cm-dm.cc: New source. - * OPERATORS/op-cm-cdm.cc: New source. - * OPERATORS/op-cdm-s.cc: New source. - * OPERATORS/op-cdm-m.cc: New source. - * OPERATORS/op-cdm-dm.cc: New source. - * OPERATORS/op-cdm-cs.cc: New source. - * OPERATORS/op-cdm-cm.cc: New source. - * OPERATORS/op-cdm-cdm.cc: New source. - * Makefile.in: Include them. - - * ov-re-mat.cc (octave_matrix::diag): New method override. - * ov-re-mat.h: Declare it. - * ov-cx-mat.cc: Likewise with octave_complex_matrix. - * ov-cx-mat.h: Likewise with octave_complex_matrix. - * ov-flt-re-mat.cc: Likewise with octave_float_matrix. - * ov-flt-re-mat.h: Likewise with octave_float_matrix. - * ov-flt-cx-mat.cc: Likewise with octave_float_complex_matrix. - * ov-flt-cx-mat.h: Likewise with octave_float_complex_matrix. - * ov.cc (octave_value::octave_value (const DiagMatrix&)) - (octave_value::octave_value (const FloatDiagMatrix&)) - (octave_value::octave_value (const ComplexDiagMatrix&)) - (octave_value::octave_value (const FloatComplexDiagMatrix&)): - Construct a diagonal matrix object. - * data.cc (Fdiag): Support explicit dimensions. Fix tests. - (Feye): Return diagonal matrix objects if possible. Fix tests. - * mappers.cc (Freal, Fimag): Fix tests. - * DLD-FUNCTIONS/inv.cc (Finv): Handle diagonal matrix objects. - * ov-range.h (octave_range::diag): Declare only. - * ov-range.cc (octave_range::diag): Return DiagMatrix if possible. - -2008-11-25 Jaroslav Hajek - * ov.cc (octave_value::is_equal): New member function. - * ov.h: Declare it. - * pt-select.cc (tree_switch_case::label_matches): Call - octave_value::is_equal. - -2008-12-04 Thomas Treichl - - * DLD-FUNCTIONS/cellfun.cc: Added more tests for cellfun. - -2008-11-25 Jaroslav Hajek - - * ov-base.h (octave_base_value::type_conv_info): New class. - * ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, - ov-bool-sparse.h, ov-bool.cc, ov-bool.h, ov-complex.cc, ov-complex.h, - ov-cx-mat.cc, ov-cx-mat.h, ov-null-mat.cc, ov-null-mat.h, - ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, - ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov.h: - Return type_conv_info instead of type_conv_fcn from - numeric_conversion_function and numeric_demotion_function - methods. - * ov-base.cc (octave_base_value::numeric_assign): Try biased conversion - first if possible. - * ov.cc (do_binary_op): Likewise. Also, search recursively. - * ov.cc (do_cat_op): Likewise. - -2008-11-24 David Bateman - - * graphics.cc (F__go_delete__): Check validity of handles before - deleting them to avoid issues with callback function also deleting - the handles. - -2008-11-21 John Swensen - - * debug.cc (bp_table::do_get_breakpoint_list): Avoid modifying - bp_map while iterating over it. - -2008-11-21 Jarkko Kaleva - - * DLD-FUNCTIONS/eig.cc (Feig): Handle generalized eigenvalues and - eigenvectors. - -2008-11-19 Jaroslav Hajek - - * DLD_FUNCTIONS/det.cc: Include only DET.h. Retrieve & matrix type & - store it after calculation if possible. - -2008-11-17 John W. Eaton - - * load-path.cc (load_path::dir_info::update): Simplify previous - change. - - * load-path.h (load_path::dir_info::abs_dir_name): New data member. - (load_path::dir_info::dir_info, load_path::dir_info::operator =): - Copy abs_dir_name. - (load_path::abs_dir_cache_type, load_path::dir_cache_iterator, - load_path::const_dir_cache_iterator): New typedefs. - (load_path::abs_dir_cache): New static data member. - (load_path::dir_info:dir_info): New constructor. - * load-path.cc (load_path::abs_dir_cache): Define new static data - member. - (load_path::dir_info::update): Look in abs_dir_cache for relative - directory names. - (load_path::dir_info::initialize): Update abs_dir_cache here. - -2008-11-13 John W. Eaton - - * ov-int8.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-uint8.h, - ov-uint16.h, ov-uint32.h, ov-uint64.h: Don't define - OCTAVE_INT_NDARRAY_T. - * ov-intx.h (class OCTAVE_VALUE_INT_MATRIX_T, - class OCTAVE_VALUE_INT_SCALAR_T): Use intNDArray - instead of OCTAVE_INT_NDARRAY_T. - (OCTAVE_VALUE_INT_MATRIX_T::increment, - OCTAVE_VALUE_INT_MATRIX_T::decrement, - OCTAVE_VALUE_INT_SCALAR_T::increment, - OCTAVE_VALUE_INT_SCALAR_T::decrement): Convert 1 to OCTAVE_INT_T. - -2008-11-15 Thorsten Meyer - - * strfns.cc (Fchar): adapt to conserve empty strings, add tests - -2008-11-12 Michael Goffioul - - * dirfcn.cc (Ffilesep): Make it return all file separators when 'all' - is given as argument. - - * DLD-FUNCTIONS/getrusage.cc: Undefine min/max. - * TEMPLATE-INST/Array-os.cc: Declare Array as extern template. - -2008-11-12 David Bateman - - * OPERATORS/op-cell.cc (op_catop_matrix_cell): Cast args in the correct - order. - * OPERATORS/op-struct.cc (op_catop_matrix_struct): Ditto. - -2008-11-11 Jaroslav Hajek - - * pt-assign.cc: Fix handling of empty cs-lists in assignment LHS. - -2008-11-11 John W. Eaton - - * lex.l ({S}+): Don't insert separator if next token - is a separator. - - * parse.y (F__parser_debug_flag__): New function. - -2008-10-31 Jaroslav Hajek - - * xnorm.cc: New source. - * xnorm.h: New header file. - * Makefile.in: Include xnorm.cc in the build process. - * data.cc (Fnorm): Call xnorm, xcolnorms, xrownorms or xfrobnorm - to do the actual work. - -2008-10-31 David Bateman - - * ov-base-scalar.h (octave_value octave_base_scalar::reshape - (const dim_vector&) const): New method. - -2008-10-30 John W. Eaton - - * oct-map.cc (Octave_map::index): Copy key_list. - -2008-10-31 David Bateman - - * graphics.h.in (void image::init (void)): Add a constraint for - logical cdata. - - * graphics.h.in (base_property::delete_listener): New method. - (property::delete_listener): New method. - (base_graphics_object::delete_listener): New method. - (base_graphics_object::delete_property_listener): New method. - (base_graphics_object::remove_all_listeners): New method. - (graphics_object::delete_property_listener): New method. - (axes::set_defaults): Call remove_all_listeners. - * graphics.cc (void base_properties::delete_listener): New method - (void base_graphics_object::remove_all_listeners (void)): New method - (Fdellistener): New command to remove listener functions associated - with a property. - -2008-10-30 David Bateman - - * graphics.h.in (axes::properties): Add keyreverse property. - * graphics.cc (axes::properties::set_defaults): Initialize - keyreverse property. - -2008-10-28 Jaroslav Hajek - - * Cell.h (Cell::assign (const Array&, ...), - Cell::delete_elements (const Array&, ...)): - New member functions. - * Cell.cc (Cell::assign (const octave_value_list&, ...), - Cell::delete_elements (const octave_value_list&, ...)): - Call Array::assign. - * DLD-FUNCTIONS/dlmread.cc: Call Array::resize_fill. - * ov-base-mat.cc (octave_base_matrix::assign): Call Array::assign. - (octave_base_matrix::delete_elements):: Call Array::delete_elements. - * ov-cell.cc (Fcell): Call Array::chop_trailing_singletons, - simplify. - * ov-cx-mat.cc (octave_complex_matrix::assign): Call Array::assign. - * ov-flt-cx-mat.cc (octave_float_complex_matrix::assign): Call - Array::assign. - * ov-list.cc (octave_list::subsasgn): Call Array::assign. - * pr-output.cc (PRINT_ND_ARRAY): Use zero-based indices. - -2008-10-29 Thorsten Meyer - - * data.cc (Fcolumns): Remove "and" from @seealso string. - * mappers.cc (Fgamma, Flgamma): Replace @seealso reference to - deprecated gammai by gammainc. - * DLD-FUNCTIONS/sqrtm.cc (Fsqrtm): Remove reference to Octave - Forge function funm. - * DLD-FUNCTIONS/qz.cc (Fqz): removed @seealso reference to Octave - Forge function dare. - * DLD-FUNCTIONS/rcond.cc (Frcond): removed @seealso reference to - mldivide. - * debug.cc (Fdbstop): Fix @seealso references and function name in - docstring of dbnext. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Remove @seealso reference - to isclass. - * syscalls.cc (Fwaitpid): Replace WCONTINUED by WCONTINUE. - * oct-hist.cc (Fhistory_size, Fsaving_history): Fix @seealso - references to history_timestamp_format_string. - * DLD-FUNCTIONS/luinc.cc (Fluinc): Remove reference to missing - function cholinc. - -2008-10-29 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc (Fcholinsert, Fcholdelete, Fcholshift): Fix - inline docs. - -2008-10-28 John W. Eaton - - * parse.y (finish_function): Clear local variables in function scope. - * symtab.h (symbol_table::clear_variables): New argument, scope. - -2008-10-28 Brian Gough - - * DLD-FUNCTIONS/besselj.cc: Added tests. - -2008-10-23 John W. Eaton - - * oct-hist.c (initialize_history): New arg, read_history_file) - * oct-hist.h: Fix decl. - * octave.cc (octave_main): Set read_history_file to false if - --no-history option is specified. Pass read_history_file to - initialize_history. - - * DLD-FUNCTIONS/fltk_backend.cc: Update initialization comment. - -2008-10-22 John W. Eaton - - * DLD-FUNCTIONS/fltk_backend.cc (figure_manager::do_close_all): - Rename from close_all. Now private. - (figure_manager::do_new_window): Rename from new_window. - Now private. - (figure_manager::do_delete_window): Rename from delete_window. - Now private. - (figure_manager::do_mark_modified): Rename from mark_modified. - Now private. - (figure_manager::do_get_size): Rename from get_size. Now private. - (figure_manager::close_all, figure_manager::do_new_window, - figure_manager::do_delete_window, - figure_manager::do_mark_modified, figure_manager::do_get_size): - New static functions. - (figure_manager::instance_ok): New function. - (figure_manager::Instance): Delete. Eliminate all uses in favor - of static methods that call instance_ok and forward to private - member functions. - (figure_manager::instance): New static data member. - (figure_manager::hnd2idx, figure_manager::figprops2idx, - figure_manager::figprops2idx, figure_manager::str2idx): Now static. - - * DLD-FUNCTIONS/fltk_backend.cc (figure_manager::default_size): - Increase default window size. - - * graphics.cc (figure::properties::remove_child): New function. - * graphics.h.in: Provide decl. - - * gl-render.cc (opengl_renderer::draw): Get all children. - - * DLD-FUNCTIONS/fltk_backend.cc (__fltk_redraw__): - Check for "root" object, not "root_figure". - - * graphics.h.in (base_properties::get_all_children): New function. - -2008-10-22 David Bateman - - * graphics.h.in (line::properties, surface::properties): Add data - source properties. - -2008-10-21 John W. Eaton - - * graphics.h.in (axes::properties::delete_children): Delete decl. - - * graphics.h.in (gh_manager::is_handle_visible): New function. - (axes::properites): Move title property after label properties. - (graphics_object::is_handle_visible): New function. - (base_properties::is_handle_visible): New function. - (base_properties): Mark children property with G. - * graphics.cc (axes::properties::set_text_child): New function. - (axes::properties::set_title, axes::properties::set_xlabel, - axes::properties::set_ylabel, axes::properties::set_zlabel): Use it. - (base_property::get_children): New function. Only - return handles that are visible. - (axes::properties::delete_text_child): Set handlevisibility to - "off" for newly created object and add it to the list of children. - Call base_properties::remove_child on previous handle value. - (axes::properties::set_defaults): Don't explicitly delete xlabel, - ylabel, zlabel, and title handles. Reinitialize them after - deleting children. - (axes::properties::remove_child): Don't explicitly delete xlabel, - ylabel, zlabel, and title handles. - (axes::properties::init): Move here from graphics.h.in. Set - handlevisibility to "off" for xlabel, ylabel, zlabel, and title - and add them to the list of children. - (axes::properties::delete_children): Delete. - - * genprops.awk: Allow whitespace between BEGIN_PROPERTIES and - opening paren. Accept optional second argument for graphics - object name. - * graphics.h.in (root_figure properties): Pass "root" as second - arg to BEGIN_PROPERTIES. - -2008-10-16 John W. Eaton - - * graphics.cc (make_handle_fraction): New static function. - (gh_manager::get_handle): Use it. - (gh_manager::do_free): Call make_handle_fraction to replace - fractional part of non-figure handles. - - * graphics.cc (base_properties::remove_child): Handle children as - a column vector instead of a row vector. - - * utils.cc (Fis_absolute_filename, Fis_rooted_relative_filename, - Fmake_absolute_filename, Ffind_dir_in_path): New functions. - -2008-10-16 David Bateman - - * graphics.cc (void axes::properties::set_defaults - (base_graphics_object&, const std::string&)): Preserve font - and position properties if the axis is "replaced". - -2008-10-16 John W. Eaton - - * graphics.h.in (class axes::properties): New property: interpreter. - -2008-10-15 David Bateman - - * ov-class.c (Fsuperiorto, Finferiorto): Allow more than one class - to be defined at a time. - -2008-10-12 David Bateman - - * pt-colon.cc (octave_value tree_colon_expression::make_range - (const octave_value&, const octave_value&, const octave_value&)): - Treating class overloading of colon operator. - (octave_value tree_colon_expression::rvalue (void)): Ditto. - -2008-10-10 John W. Eaton - - * graphics.h.in (base_properties::adopt): Place new child at front - of list, not end. Make list of children a column vector instead - of a row vector. - - * graphics.cc (gh_manager::do_free): Set the beingdeleted - property, then delete the children, then execute the deletefcn. - (axes::properties::set_defaults, axes::properties::remove_child, - axes::properites::delete_children): Call delete_text_child to - manage the title, xlabel, ylabel, and zlabel properties. - (axes::properties::get_title, axes::properties::get_xlabel, - axes::properties::get_ylabel, axes::properties::get_zlabel): Delete. - - * graphics.h.in (axes::properites::title, - axes::properites::xlabel, axes::properites::ylabel, - axes::properites::zlabel): No longer mutable. Don't generate - factory default values or custom get functions for these - properties. - - * graphics.cc (axes::properties::delete_text_child): New function. - * graphics.h.in: Provide decl. - - * graphics.h.in (graphics_object::type): New function. - -2008-10-10 David Bateman - - * graphics.h.in (radio_property axes::properties::__colorbar__): - Delete. - * graphics.cc (void axes::properties::sync_positions (void)): - Disable code synchronizing outerposiiton and position. - (void axes::properties::set_defaults (base_graphics_object&, - const std::string&): Remove __colorbar__. - (F__go_delete__): Don't delete if already being deleting to avoid - recursion in callback functions. - (F__go_axes_init__): Flag error if handle is deleted during - initialization due. - -2008-10-09 David Bateman - - * ov-class.cc (Octave_map octave_class::map_value (void) const): - Remove. - (bool octave_class::save_ascii (std::ostream&), - bool octave_class::load_ascii (std::istream&), - bool octave_class::save_binary (std::ostream&, bool&), - bool octave_class::save_binary (std::ostream&, bool&), - bool octave_class::save_hdf5 (hid_t, const char *, bool), - bool octave_class::load_hdf5 (hid_t, const char *, bool)): - Allow saving and reloading of classes. - * ov-class. (Octave_map octave_class::map_value (void) const): - Remove. - * ls-mat.cc (std::string read_mat5_binary_element (std::istream&, - const std::string&, bool, bool&, octave_value&), - int save_mat5_element_length (const octave_value&, const std::string&, - bool, bool)): Allow saving and loading of classes. - * ls-oct-ascii.h (template bool extract_keyword - (std::istream&, const char *, T&, const bool)): Initialize value with - null constructor rather than 0. - -2008-10-07 David Bateman - - * graphics.cc (F__go_delete__): Allow arrays of graphic handles. - -2008-10-01 Jaroslav Hajek - - * OPERATORS/op-i64-i64.cc: Instantiate all 64-bit operations. - * OPERATORS/op-ui64-ui64.cc: Instantiate all unsigned 64-bit operations. - -2008-10-06 John W. Eaton - - * ov-type-conv.h (octave_type_conv_body): Avoid shadow warning - from GCC. - -2008-10-06 David Bateman - - * graphics.cc (static bool is_handle (const octave_value&)): Delete. - (static octave_value is_handle (const octave_value&)): New function. - -2008-10-03 Jaroslav Hajek - - * Cell.cc (Cell::delete_elements): Don't pass second arg to - Array::maybe_delete_elements. - * ov-base-mat.cc (octave_base_matrix::delete_elements): Ditto. - -2008-10-02 Jaroslav Hajek - - * Cell.h (Cell::delete_elements): Declare new member function. - * Cell.h (Cell::delete_elements): Define it. - * oct-map.cc (Octave_map::maybe_delete_elements): Call delete_elements - instead of assign with empty Cell. - -2008-10-02 John W. Eaton - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - Don't insert undefined elements in return list. - -2008-09-30 Jaroslav Hajek - - * ov-str-mat.h (octave-char-matrix-str::assign): Remove declaration. - * ov-str-mat.cc (octave-char-matrix-str::assign): Remove definition. - -2008-09-30 John W. Eaton - - * DLD-FUNCTIONS/__magick_read__.cc: Only define - magick_to_octave_value if HAVE_MAGICK is defined. - -2008-09-29 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::load_class_method): - Call load_class_constructor if name and dispatch_type are the same. - -2008-09-29 David Bateman - - * symtab.cc (octave_value symbol_table::find_function - (const std::string&, tree_argument_list *, const string_vector&, - octave_value_list&, bool&)): If first character of function name - is "@" then look for class specific method. - -2008-09-26 John W. Eaton - - * symtab.cc (out_of_date_check_internal): - Fix order of arguments in call to load_path::find_method. - -2008-09-26 David Bateman - - * ov-class.h (idx_vector index_vector (void) const): Declare new - maethod. - * ov-class.cc (idx_vector index_vector (void) const): Define new - method. - * (Fismethod): New function. - -2008-09-26 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (urlwrite_cleanup_file) New function. - (urlwrite_delete_file, urlwrite_filename): New static variables. - (Furlwrite): Only return filename if urlget succeeds. Use - unwind_protect to delete files we create if download fails. - -2008-09-26 Jaroslav Hajek - - * ov-null-mat.h: New header file. - * ov-null-mat.cc: New source. - * ov.h (octave_value::is_null_value, octave_value::non_null_value, - octave_value::make_non_null_value): - Declare new member functions. - * ov.cc (octave_value:non_null_value, octave_value::make_non_null_value): - Define them. - (octave_value::assign (assign_op op, const octave_value& rhs)): - (register_types): Register null types. - Call non_null_value (). - * oct-obj.cc (octave_value_list::normalize_null_values): New member - function. - * oct-obj.h (octave_value_list::normalize_null_values): Declare it. - * ov-base.h (is_null_value): New virtual member function. - * ops.h (NULLASSIGNOPDECL, DEFNULLASSIGNOP_FN): New macros. - * ov-base-mat.cc (octave_base_mat::delete_elements): New member func. - * ov-base-mat.h: Declare it. - * ov-base-sparse.cc (octave_base_sparse::delete_elements): New member func. - * ov-base-sparse.h: Declare it. - * ov-cell.cc (octave_cell:subsasgn): Handle null values. - * ov-struct.cc (octave_cell:subsasgn): Handle null values. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Normalize return - values. - * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Call - octave_lvalue::define instead of octave_lvalue::assign. - * pt-decl.h (tree_decl_elt::rvalue): Call non_null_value (). - * OPERATORS/op-int.h (OCTAVE_INT_NULL_ASSIGN_OPS, - OCTAVE_INSTALL_INT_NULL_ASSIGN_OPS): New macros. - * OPERATORS/op-m-m.cc: Install & define assignment & conversion operators. - * OPERATORS/op-bm-bm.cc: Ditto. - * OPERATORS/op-cell.cc: Ditto. - * OPERATORS/op-cm-cm.cc: Ditto. - * OPERATORS/op-cs-cs.cc: Ditto. - * OPERATORS/op-fcm-fcm.cc: Ditto. - * OPERATORS/op-fcs-fcs.cc: Ditto. - * OPERATORS/op-fm-fm.cc: Ditto. - * OPERATORS/op-fs-fs.cc: Ditto. - * OPERATORS/op-int.h: Ditto. - * OPERATORS/op-m-m.cc: Ditto. - * OPERATORS/op-range.cc: Ditto. - * OPERATORS/op-s-s.cc: Ditto. - * OPERATORS/op-scm-scm.cc: Ditto. - * OPERATORS/op-sm-sm.cc: Ditto. - * OPERATORS/op-str-str.cc: Ditto. - * OPERATORS/op-i16-i16.cc: Ditto. - * OPERATORS/op-i32-i32.cc: Ditto. - * OPERATORS/op-i64-i64.cc: Ditto. - * OPERATORS/op-i8-i8.cc: Ditto. - * OPERATORS/op-ui16-ui16.cc: Ditto. - * OPERATORS/op-ui32-ui32.cc: Ditto. - * OPERATORS/op-ui64-ui64.cc: Ditto. - * OPERATORS/op-ui8-ui8.cc: Ditto. - -2008-09-25 David Bateman - - * pt-mat.cc (class tm_row_const): Add any_class test - (class tm_const): Ditto. - (octave_value tree_matrix::rvalue (void)): If any object to - concatenate is a class object, dispatch to the appropriate - vertcat/horzcat function. - -2008-09-25 John W. Eaton - - * symtab.cc (symbol_table::do_find): Don't set evaluated_args and - args_evaluated here, prior to call to symbol_table::fcn_info::find. - -2008-09-24 S�ren Hauberg - - * DLD-FUNCTIONS/__magick_read__.cc (magick_to_octave_value): New - template function with specializations for various - GraphicsMagick++ types. - (F__magick_finfo__): New function. - -2008-09-24 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Add symbol_table::clear_variables cleanup function to the - unwind_protect stack after the parameter list cleanup functions. - - * load-path.cc (load_path::do_initialize): Check for OCTAVE_PATH - in the environment, not OCTAVE_LOADPATH. - -2008-09-24 Thomas Weber - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Retry if match limit - is exceeded. - -2008-09-24 John W. Eaton - - * genprops.awk (emit_declarations): Emit call to set_mode before - updaters. - -2008-09-23 John W. Eaton - - * pt-arg-list.cc (F__end__): Dispatch to user-defined end - function for classes if one is defined. - * lex.l (is_keyword_token): Allow "end" as a functon name. - -2008-09-23 David Bateman - - * variables.cc (static octave_value do_who (int, const string_vector&, - bool, bool, std::string): Add final message argument and simple - treatment of the "-file" option. - -2008-09-22 David Bateman - - * debug.cc (static octave_user_code * get_user_code - (const std::string&)): Only check user code as break points can't - be set in builtins or oct-files. - (bp_table::intmap bp_table::do_remove_all_breakpoints_in_file - (const std::string&, bool)): Add flag to silence the error message - from this function if a user code with breakpoints is not found. - (bp_table::fname_line_map bp_table::do_get_breakpoint_list (const - octave_value_list&)): Do an ourt of date check on the function - before checking the breakpoints. - * debug.h (do_remove_all_breakpoints_in_file, - remove_all_breakpoints_in_file): Add flag to silence error - message. - * symtab.cc (out_of_date_check_internal): Clear breakpoints in - function if out_of_date. split into two versions taking the - octave_function pointer seperately or not. - * symtab.h (bool out_of_date_check (octave_function*)): New function. - -2008-09-18 David Bateman - - * DLD-FUNCTIONS/fftw.cc (Ffftw): Clarify the documentation. - -2008-09-17 Krzesimir Nowak - - * debug.cc (Fisdebugmode): New function. - -2008-09-17 David Bateman - - * data.cc (do_cat): Chopping trailing singleton dimensions. - - * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): New macros - (do_cat): Special case single type concatenations for speed. - * pt.mat.cc (std::string get_concat_class (const std::string&, - const std::string&), void maybe_warn_string_concat (bool, bool)): - Remove static declaration. - * pt-mat.h (std::string get_concat_class (const std::string&, - const std::string&), void maybe_warn_string_concat (bool, bool)): - Define extern here. - - * DLD-FUNCTIONS/sparse.cc (Fsparse): Clarify the help string. - -2008-09-10 John W. Eaton - - * octave.cc (octave_main): Make all command-line arguments - available to startup scripts and PKG_ADD files. - -2008-09-09 David Bateman - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Distinguish between - matlab named tokens and perl lookbehind expressions. For - lookbehind expression replace "*" and "+" with a limited number of - fixed length expressions to simulate arbitrary length look behind. - -2008-09-08 Michael Goffioul - - * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image): Resolve "pow" - ambiguity. - - * graphics.cc (base_properties::get_dynamic, - base_properties::set_dynamic, base_propertyes::get_property_dynamic): - Add the 3rd template parameter to std::map, corresponding to all_props - field. - -2008-09-08 John W. Eaton - - * ls-oct-ascii.cc (std::string extract_keyword (std::istream&, - const char *, const bool)): Also accept \r as line ending character. - * ls-oct-ascii.h (template bool extract_keyword - (std::istream&, const char *, T&, const bool)): Likewise. - (template bool extract_keyword (std::istream&, const - string_vector&, std::string&, T&, const bool)): Likewise. - -2008-09-03 Ben Abbott - - * mappers.cc: Use eps(single) as tolerance for single precesion test. - -2008-09-03 John W. Eaton - - * variables.cc (mlock): Lock current function on the call stack. - (Fmlock): Lock caller. - - * symtab.cc (out_of_date_check_internal): If dispatch type is set, - check for method. If that fails, check for regular function. - -2008-09-02 Michael Goffioul - - * graphics.cc (hggroup::update_axis_limits): Also reacts on - [xyzac]liminclude changes. - -2008-08-31 Michael Goffioul - - * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::redraw_figure, - fltk_backend::print_figure): Change graphics_handle argument to - graphics_object. - -2008-08-29 David Bateman - - * graphics.cc: Replace int by octave_idx_type in multiple - places. - (array_property::is_equal): In macro CHECK_ARRAY_EQUAL, special - case scalar case and keep copy of array value to avoid early - destruction of converted array values. - -2008-08-28 David Bateman - - * graphics.h.in (root_figure::properties::showhiddenhandles): - New property. - -2008-08-27 Jaroslav Hajek - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Initialize output vectors - by NA value. - -2008-08-26 Ben Abbott - - * mappers.cc: Adjust tolerance for single precesion tests. - - * DLD-FUNCTIONS/chol.cc: Double tolerance. - -2008-08-26 Jaroslav Hajek - - * parse.y (Fassignin): Use default scope when calling varref. - -2008-08-26 Michael Goffioul - - * genprops.awk (emit_declarations): Call updaters/listeners only when - 'set' method returned true. - * graphics.h.in (base_property::set, base_property::do_set): - Return bool value. - (property::set): Likewise. - (string_property::do_set): Check value change and return bool value. - (radio_property::do_set, double_property::do_set, - array_property::do_set): Likewise. - (color_property::do_set, double_radio_property::do_set, - row_vector_property::do_set, bool_property::do_set, - handle_property::do_set): Return bool value. - (any_property::do_set, callback_property::do_set): Return always true. - (color_values::operator==, color_values::operator!=): Add. - (array_property::is_equal): Add. - * graphics.cc (base_property::set): Executes listeners/notifiers only - when do_set returns true. Return bool value. - (color_property::do_set, double_radio_property::do_set): Check value - change and return bool value. - (array_property::is_equal): Add. - - * genprops.awk (emit_declarations, emit_source): Change code emission - when emitting base_properties code (base is 1). - (BEGIN): Initialize pcount to 0. - (BEGIN_PROPERTIES): Initialize base to 0. - (BEGIN_BASE_PROPERTIES): New statement. - (main): Add support for 'f' modifier. Add support for non xxx_property - typed properties. - * graphics.h.in (base_properties::base_properties): Remove - implementation. - (base_properties::get_tag, base_properties::get_parent, - base_properties::get_type, base_properties::get___myhandle__, - base_properties::get_busyaction, base_properties::get_buttondownfcn, - base_properties::is_clipping, base_properties::get_clipping, - base_properties::execute_createfcn, base_properties::get_createfcn, - base_properties::execute_deletefcn, base_properties::get_deletefcn, - base_properties::get_handlevisibility, base_properties::is_hittest, - base_properties::get_hittest, base_properties::is_interruptible, - base_properties::get_interruptible, base_properties::is_selected, - base_properties::get_selected, base_properties::is_selectionhighlight, - base_properties::get_selectionhighlight, - base_properties::get_uicontextmenu, base_properties::get_userdata, - base_properties::is_visible, base_properties::get_visible, - base_properties::is_beingdeleted, base_properties::get_beingdeleted, - base_properties::set_busyaction, base_properties::set_buttondownfcn, - base_properties::set_clipping, base_properties::set_createfcn, - base_properties::set_deletefcn, base_properties::set_handlevisibility, - base_properties::set_hittest, base_properties::set_interruptible, - base_properties::set_selected, - base_properties::set_selectionhighlight, - base_properties::set_uicontextmenu, base_properties::set_userdata, - base_properties::set_visible, base_properties::set_beingdeleted, - base_properties::get_children): Remove (now auto-generated). - (base_properties::enum): Likewise. - (base_properties::is_modified): Call is___modified__. - (base_properties::set_modified): Call set___modified__. - (base_properties::set_children): Add. - (base_properties::set_dynamic, base_properties::get_dynamic, - base_properties::get_property_dynamic): New methods. - (class base_properties): Surround properties declaration with - BEGIN_BASE_PROPERTIES/END_PROPERTIES pair. - * graphics.cc (base_properties::get, base_properties::set, - base_properties::get_property): Remove (now auto-generated). - (base_properties::set_dynamic, base_properties::get_dynamic, - base_properties::get_property_dynamic): New methods. - (base_properties::set_children): Likewise. - - * DLD_FUNCTIONS/fltk_backend.cc (F__fltk_redraw__): Make static. - (F__init_fltk__): Protect from mutliple invocations. - (F__remove_fltk__): Likewise. - (F__init_fltk__): Register input event hook. - (F__remove_fltk__): Unregister input event hook. - - * DLD_FUNCTIONS/fltk_backend.cc (fltk_backend::close_figure): Remove. - (fltk_backend::object_destroyed, fltk_backend::property_changed): New - methods. - * genprops.awk (emit_declarations): Generate "enum" property fields. - (emit_sources): Emit set_id calls. - * graphics.h.in (base_property::id): New field. - (base_property::base_property): Initialize it. - (base_property::get_id, base_property::set_id): Add accessors. - (property::get_id, property::set_id): Likewise. - (base_graphics_backend::close_figure, graphics_backend::close_figure): - Remove methods. - (base_graphics_backend::redraw_figure, - base_graphics_backend::print_figure, graphics_backend::redraw_figure, - graphics_backend::print_figure): Change graphics_handle argument into - graphics_object. - (base_graphics_backend::property_changed, - base_graphics_backend::object_created, - base_graphics_backend::object_destroyed, - graphics_backend::property_changed, graphics_backend::object_created, - graphics_backend::object_destroyed): New signature with - graphics_object argument. - (base_properties::base_properties): Add set_id calls. - (class base_properties): Add "enum" property fields. - (root_figure::properties::remove_child): Add overloaded method. - (figure::properties::close): Remove. - (figure::properties::set_backend): Call object_destroyed instead of - close. - (figure::~figure): Remove close call. - (figure::properties::get_title): New method. - * graphics.cc (base_property::set): Call property_changed only for - valid id (>=0); Use graphics_object argument. - (gh_manager::do_free): Call object_destroyed with graphics_object - argument. - (base_graphics_backend::property_changed, - base_graphics_backend::object_created, - base_graphics_object::object_destroyed): Implement wrappers for - graphics_handle argument case. - (gnuplot_backend::close_figure): Remove. - (gnuplot_backend::object_destroyed, - gnuplot_backend::property_changed): New methods. - (gnuplot_backend::redraw_figure, gnuplot_backend::print_figure): - Change graphics_handle argument to graphics_object. - (root_figure::properties::remove_child): Add. - (figure::properties::close): Remove. - (figure::properties::set_position): Do not call set_figure_position. - (figure::properties::get_title): New method. - (gh_manager::do_make_graphics_handle): Call object_created with - a graphics_object argument. - (gh_manager::do_make_figure_handle): Likewise. - (Fdrawnow): Call redraw_figure and print_figure with a graphics_object - argument. - -2008-08-26 Maciek Gajewski - - * graphics.h.in (base_property::set): Remove inline implementation. - (base_graphics_backend::property_changed, - base_graphics_backend::object_created, - base_graphics_backend::object_destroyed): New method. - (graphics_backend::property_changed, graphics_backend::object_created, - graphics_backend::object_destroyed): Likewise. - * graphics.cc (base_property::set): Moved from header file. - (gh_manager::do_free): Add backend notification. - (gh_manager::do_make_graphics_handle): Likewise. - (gh_manager::do_make_figure_handle): Likewise. - -2008-08-25 Thomas L. Scofield - - * DLD-FUNCTIONS/__magick_read__.cc: Untabify. - (jpg_settings, encode_bool_image, encode_uint_image, encode_map): - New functions. - (write_image): Use them to handle various image types. - -2008-08-25 David Bateman - - * graphics.cc (void gh_manager::do_execute_callback - (const graphics_handle&, const octave_value&, const - octave_value&)): Don't pass the function handle as first arg of - property listener functions - - * graphics.h.in (class base_properties): Add functor for caseless - string comparison. Use it in the property map, so that user added - properties are found in a case insensitive fashion. - -2008-08-22 John W. Eaton - - * symtab.h (symbol_table::inherit): Pass reference to symbol table - to do_inherit instead of scope. - (symbol_table::do_inherit): First arg is now reference to - symbol_table, not scope id. Insert all variables from donor scope. - -2008-08-21 Thomas Treichl - - * mappers.cc: Increase test script tolerance. - -2008-08-20 John W. Eaton - - * help.cc (builtin_help): Go to next symbol name on error. - (do_type, do_which): Omit separate path search for files. - (help_from_symbol_table): Only insert Texinfo markup if it looks - like the help message is already in Texinfo. - -2008-08-19 David Bateman - - * load-path.cc (load-path::do_find_dir (const std:string&) const)): - Method to find a directory on the load-path corresponding to the - argument. - * load-path.h (load-path::do_find_dir (const std:string&) const), - load-path::find_dir (const std::string&) const): New methods. - * utils.cc (std::string contents_file_in_path (const std::string&)): - New function. - * utils.h (std::string contents_file_in_path (const std::string&)): - Declare it. - * help.cc (static bool raw_help_from_file (const std::string&, - std::string&, std::string&, bool&)): Also check is requested - argument is a directory and contains the file Contents.m. - - * OPERATORS/op-int-conv.cc (DEFINTCONVFN): New macro that warn - for integer conversion issues. Use it to replace DEFCONVFN. - * OPERATORS/op-int.h (DEFINTBINOP_OP, DEFINTNDBINOP_OP, - DEFINTBINOP_FN, DEFINTNDBINOP_FN): New macros that warn for - integer truncation issues. Use them to replace the corresponding - macros in the integer arithmetic macros. Update other integer - arithmetic functions that don't use these macros individually. - * error.cc (initialize_default_warning_state (void)): Initialize - the default warning state for the integer warnings to be off. - * gripes.cc (void gripe_binop_integer_math_truncated (const char *, - const char *, const char *), void gripe_unop_integer_math_truncated - (const char *, const char *), void gripe_non_integer_conversion - (const char *, const char *), void gripe_nan_conversion (const char *, - const char *)): Warning functions for integer conversion and math - issues. - * gripes.h (void gripe_binop_integer_math_truncated (const char *, - const char *, const char *), void gripe_unop_integer_math_truncated - (const char *, const char *), void gripe_non_integer_conversion - (const char *, const char *), void gripe_nan_conversion (const char *, - const char *)): Declare them. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::convert_gripe, - OCTAVE_VALUE_INT_SCALAR_T::convert_gripe): Adapt for new means of - flagging integer truncation. - (OCTAVE_VALUE_INT_MATRIX_T::decrement, - OCTAVE_VALUE_INT_MATRIX_T::increment, - OCTAVE_VALUE_INT_SCALAR_T::decrement, - OCTAVE_VALUE_INT_SCALAR_T::increment): Check for integer - truncation. - * ov.cc (convert_to_int_array): Adapt for new means of - flagging integer truncation. - -2008-08-19 Jaroslav Hajek - - * pt-assign.h (tree_simple_assignment::first_execution): New - member field. - (tree_simple_assignment::first_execution): Ditto. - * pt-assign.cc (tree_simple_assignment::tree_simple_assignment): - Initialize first_execution. - (tree_multi_assignment::tree_multi_assignment): Ditto. - (tree_simple_assignment::rvalue): Check for obsolete built-in - variables only at first execution. - (tree_multi_assignment::rvalue): Ditto. - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Checks whether LB and UB are - of proper size. - - * oct-obj.cc, oct-obj.h (octave_value_list::make_argv): - Allow calling without fcn_name. - * load-save.cc (parse_save_options (const string_vector&, ...)): - Return string_vector with parsed arguments removed instead. - (parse_save_options (const std::string&, ...)): Ditto. - (Fsave): Fix calls to parse_save_options. - -2008-08-19 John W. Eaton - - * parse.y (Feval): Return value produced by evaluating CATCH string. - -2008-08-12 John W. Eaton - - * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): - Call stash_parent_function_scope for user function. - * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline): - Likewise. - - * ov-struct.cc (octave_struct::subsref): Don't allow resizing for - simple x(idx) case. - -2008-08-07 John W. Eaton - - * ov.cc (octave_value::idx_type_value): Don't include default - argument values in definition. - - * glrender.h, zfstream.h: Don't include config.h. - - * oct-errno.h: Include . - - * Cell.cc, DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/dlmread.cc, - debug.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, - lex.l, load-path.cc, load-save.cc, ls-mat-ascii.cc, - ls-oct-ascii.cc, oct-stream.cc, octave.cc, variables.cc, - ov-fcn-handle.cc, parse.y, pr-output.cc, symtab.cc, sysdep.cc, - utils.cc, graphics.h.in: Replace all uses of NPOS with - std::string::npos. - - * ov.cc (octave_value::idx_type_value): Move definition here. - * ov.h: From here. - - * DLD-FUNCTIONS/fsolve.cc (override_options): Don't fail if - options_map does not contain an expected keyword. - Fix typo in warning identifier. - (make_unimplemented_options): Use CamelCase names here. - -2008-08-06 S�ren Hauberg - - * error.cc (Ferror): Update format of error messages in exmple. - * parse.y: (Feval): Likewise. - -2008-08-06 John W. Eaton - - * DLD-FUNCTIONS/fsolve.cc (hybrd_info_to_fsolve_info): - Update INFO values to be compatible with Matlab's current fsolve. - (make_unimplemented_options, override_options): New functions. - (Ffsolve): Handle optimset options. Update doc string. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op, - octave_user_script::do_multi_index_op): - Call octave_call_stack::backtrace_error_message. - * toplev.h (octave_call_stack::do_pop): Don't call - backtrace_error_message here. - * toplev.cc, toplev.h (octave_call_stack::do_backtrace_error_message): - Rename from octave_call_stack::backtrace_error_message. - * toplev.h (octave_call_stack::backtrace_error_message): - New public static function. - -2008-08-05 John W. Eaton - - * gripes.cc (gripe_truncated_conversion, - gripe_logical_conversion): Don't declare as extern here. - * utils.cc (octave_format, octave_vformat): Likewise. - * pr-output.cc (octave_print_internal (std::ostream&, const Cell&, - bool, int, bool)): Likewise. - - * toplev.cc (octave_call_stack::backtrace_error_message): New - function. - * toplev.h: Provide decl. - (octave_call_stack::do_pop): Call backtrace_error_message if - error_state is nonzero. - - * pt-unop.cc (tree_prefix_expression::eval_error, - tree_postfix_expression::eval_error): Delete. Eliminate all uses. - * pt-unop.h: Delete decls. - - * pt-select.cc (tree_switch_case::eval_error, - tree_switch_command::eval_error): Delete. Eliminate all uses. - (tree_if_command::eval): Omit "evaluating if command" message. - * pt-select.h: Delete decls. - - * pt-loop.cc (tree_while_command::eval_error, - tree_complex_for_command::eval_error, - tree_simple_for_command::eval_error, - tree_do_until_command::eval_error): Delete. Eliminate all uses. - * pt-loop.h: Delete decls. - - * pt-exp.cc (tree_expression::is_logically_true): Omit "evaluating - conditional expression" error message. - - * pt-decl.cc (tree_global_command::eval): Omit "evaluating global - command" error message. - (tree_static_command::eval): Omit "evaluating static command" - error message. - - * pt-colon.cc (tree_colon_expression::eval_error): Omit - "evaluating colon expression" error message. - * pt-colon.h (tree_colon_expression::eval_error): Eliminate - default argument value. - - * pt-idx.cc (tree_index_expression::eval_error): Delete. - Eliminate all uses. - * pt-idx.h: Delete decl. - - * pt-binop.cc (tree_binary_expression::eval_error): Delete. - * pt-binop.cc, pt-cbinop.cc: Eliminate all uses of eval_error. - * pt-binop.h: Delete decl. - - * pt-assign.cc (tree_simple_assignment::eval_error, - tree_multi_assignment::eval_error): Delete. Eliminate all uses. - * pt-assign.h: Delete decls. - - * ov-usr-fcn.cc (octave_user_script::traceback_error, - octave_user_function::traceback_error): Delete. Eliminate all uses. - * ov-usr-fcn.h: Delete decls. - - * ov-builtin.cc (octave_builtin::do_multi_index_op): Call - gripe_library_exectuion_error on octave_execution_exception. - * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Likewise. - * ov.cc (do_binary_op, do_cat_op, do_unary_op, - do_non_const_unary_op): Likewise. - * pt-stmt.cc (tree_statement::eval): Likewise. - - * gripes.cc (gripe_library_execution_error): New function. - * gripes.h: Provide decl. - - * dirfns.cc (Fpathsep): Fix usage of dir_path::path_sep_str. - * defaults.cc (set_exec_path, set_image_path): Likewise. - * load-path.h (load_path::set_command_line_path): Likewise. - * load-path.cc (maybe_add_path_elts, load_path::do_initialize, - load_path::do_path, genpath, Fpath): Likewise. - (split_path): Fix usage of dir_path::path_sep_char. - -2008-08-04 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_autoload): - Fix usage of file_ops::dir_sep_chars. - * variables.cc (looks_like_struct): - Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. - * octave.cc (execute_command_line_file): Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - * load-save.cc (find_file_to_load): Likewise. - * load-path.cc (load_path::do_find_file): Likewise. - * graphics.cc (drawnow): Likewise. - * parse.y (frob_function): Likewise. - - * octave.cc (initialize_pathsearch): Fix usage of - file_ops::dir_sep_str. - * help.cc (Flookfor): Likewise. - * dirfns.cc (Ffilesep): Likewise. - (Fautoload): Likewise. - - * defaults.cc (subst_octave_home): Fix usage of - file_ops::dir_sep_char. - (Fmfilename): Likewise. - -2008-07-31 John W. Eaton - - * parse.y (assign_lhs): Call force_local_variable on all elements - of lexer_flags.pending_local_variables here, then clear the set. - (matrix): Clear lexer_flags.pending_local_variable here. - * lex.l (lexical_feedback::init): Clear it. - (force_local_variable): No longer static. - (is_variable): Also return true for names in the - lexer_flags.pending_local_variables. - (handle_identifier): If we are parsing a matrix list, mark - identifiers as pending local variables rather than forcing them to - be local variables immediately. - * lex.h (lexical_feedback::pending_local_variables): New data member. - (force_local_variable): Provide decl. - -2008-07-30 John W. Eaton - - * ov-intx.h, ov.cc: Style fixes. - - * gripes.cc (gripe_truncated_conversion): Use the warning ID - Octave:int-convert-overflow. - -2008-07-30 Jaroslav Hajek - - * gripes.cc (gripe_truncated_conversion): New function. - * gripes.h (gripe_truncated_conversion): Declare it. - * ops.h (DEFCONVFNX2): New macro. - (DEFCONVFN, DEFCONVFN2): Call DEFCONVFNX2 instead of DEFCONVFNX. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::convert_gripe): New member - function. - (OCTAVE_VALUE_INT_MATRIX_T::int*_array_value): Call convert_gripe. - (OCTAVE_VALUE_INT_SCALAR_T::convert_gripe): New member function. - (OCTAVE_VALUE_INT_SCALAR_T::int*_scalar_value): Call convert_gripe. - (OCTAVE_VALUE_INT_SCALAR_T::int*_array_value): Call int*_scalar_value. - * ov.cc (convert_to_int_array): New function. - (int_vector_value): Call convert_to_int_array. - -2008-07-30 John W. Eaton - - * defun-dld.h (DEFUNX_DLD): Eliminate fsname arg. - * defun-int.h (DEFINE_FUN_INSTALLER_FUN2, - DEFINE_FUN_INSTALLER_FUN3, DEFINE_FUNX_INSTALLER_FUN2): Delete. - (DEFINE_FUNX_INSTALLER_FUN): Rename from DEFINE_FUNX_INSTALLER_FUN3. - Don't emit fsname function. Don't append cxx_abi to gname. - (DEFINE_FUN_INSTALLER_FUN): Define in terms of - DEFINE_FUNX_INSTALLER_FUN, not DEFINE_FUN_INSTALLER_FUN2. - * dynamic-ld.cc (octave_dynamic_loader::name_mangler, - octave_dynamic_loader::name_uscore_mangler): New functions. - (octave_dynamic_loader::mangle_name, - octave_dynamic_loader::xmangle_name): Delete. - (octave_dynamic_loader::do_load_oct): Search for function with - name_mangler then name_uscore_mangler. - - * oct-stream.cc (do_read): New arg, do_NA_conv. - Perform NA translation if do_NA_conv is true. - (DO_READ_VAL_TEMPLATE, read_fptr): Include the new arg for do_read - in decl. - (octave_stream::read): Pass do_NA_conv to do_read. - -2008-07-29 David Bateman - - * data.cc (FNA): Add tests for conversion of single to double NA - values. - - * ov-flt-re-mat.cc (Fsingle): Documentation fix. - -2008-07-28 David Bateman - - * error.cc (last_error_id, last_error_message, last_warning_id, - last_warning_message): New functions to return the error/warning - message and id without exposing the internal values. - * error.h (last_error_id, last_error_message, last_warning_id, - last_warning_message): Declare them. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Use them to pass the error - to the ErrorHandler function. - -2008-07-28 John W. Eaton - - * error.cc (Flasterror, Flasterr): Unwind-protect error_state. - - * DLD-FUNCTIONS/__magick_read__.cc (F__magick_write__, write_image): - New functions. - -2008-07-25 John W. Eaton - - * DLD-FUNCTIONS/det.cc (Fdet): Return calculated determinant for - numerically singular matrices, not 0. - - * symtab.cc (get_dispatch_type): New function. - (symbol_table::fcn_info::fcn_info_rep::find): Use it. - - * ov-class.cc (set_class_relationship): Delete static function. - (Fsuperiorto, Finferiorto): Warn about precedence conflicts. - Call symbol_table::set_class_relationship instead of local static - function. - * symtab.h (symbol_table::class_precedence_table): New data member. - (symbol_table::set_class_relationship, symbol_table::is_superiorto): - New static functions. - -2008-07-24 John W. Eaton - - * load-path.h (load_path::dir_info::class_info): New struct. - (load_path::dir_info::method_file_map_type): Now a map from - class name to a to a class_info object. Change all uses. - * load-path.cc (load_path::dir_info::get_method_file_map): - Also look for private functions in the class directory. - (load_path::add_to_method_map): Also add private functions from - class directories to private_fcn_map. - - * dirfns.cc (Fmkdir): If directory already exists, return status = - true, but also set error message. - -2008-07-23 John W. Eaton - - * ov-usr_fcn.cc (octave_user_function::do_multi_index_op): - Don't unwind_protect and set curr_parent_function here. - * toplev.cc (curr_parent_function): Delete definition. - * toplev.h: (curr_parent_function): Delete declaration. - - * ov-usr-fcn.h (octave_user_function::parent_scope): New data member. - (octave_user_function::parent_fcn_scope, - octave_user_function::stash_parent_fcn_scope): New functions. - * ov-usr_fcn.cc (octave_user_function::octave_user_function): - Initialize parent_scope. - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): - Check parent of current function by looking at call stack, not - global curr_parent_function variable. - * parse.y (frob_function): If parsing nested function, stash - current parent function scope. - * ov-fcn.h (octave_function::parent_fcn_scope): New virtual function. - -2008-07-22 Michael Goffioul - - * graphics.cc (F__go_execute_callback__): New function. - - * DLD-FUNCTIONS/fltk_backend.cc: Undefine min/max after FLTK headers - inclusion. - - * graphics.h.in (class base_graphics_event, class graphics_event): New - classes (replace gh_manager::event_data). - (class gh_manager::event_data): Remove. - (gh_manager::post_function, gh_manager::do_post_function): Use - graphics_event::event_fcn type. - (gh_manager::event_queue, gh_manager::do_post_event): Use - graphics_event type. - * graphics.cc (class callback_event, class function_event, class - set_event): Renamed from xxx_data classes. - (graphics_event::create_callback_event, - graphics_event::create_function_event, - graphics_event::create_set_event): Renamed from gh_manager::xxx - equivalent methods, removed reference count increment. - (gh_manager::do_post_event): Likewise. - (gh_manager::do_post_event): Use graphics_event type. - (gh_manager::do_post_function): Use graphics_event::event_fcn type. - -2008-07-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.51+. - -2008-07-21 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.51. - (OCTAVE_RELEASE_DATE): Now 2008-07-21. - - * ov-class.cc (octave_class::subsasgn): Only do internal magic if - rhs is not an octave_class object. - - * OPERATORS/op-struct.cc: Define concatenation operators for - struct/matrix concatenation (valid if matrix is empty). - * OPERATORS/op-cell.cc (install_cell_ops): Likewise, for cells. - - * DLD-FUNCTIONS/fltk_backend.cc: Don't include oct.h. - Make compilation of entire file conditional on HAVE_FLTK. - - * gl-render.cc: Make compilation of entire file conditional on - HAVE_OPENGL. - - * Makefile.in (GL_RENDER_SRC, FLTK_BACKEND_SRC): Delete variables. - (DLD_XSRC): Always include fltk_backend.cc in the list. - (DIST_SRC): Always include gl-render.cc in the list. - -2008-07-19 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.50+. - (OCTAVE_API_VERSION): Now api-v33+. - -2008-07-18 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 3.1.50. - (OCTAVE_API_VERSION): Now api-v33. - (OCTAVE_RELEASE_DATE): Now 2008-07-18. - (OCTAVE_COPYRIGHT): Update date to 2008. - -2008-07-18 John W. Eaton - - * Makefile.in (__magick_read__.df): New rule. - Append MAGICK_INCFLAGS to CPPFLAGS. - - * Makefile.in (EXTRAS): Add graphics-props.cc to the list. - List graphics-props.cc as a target generated by genprops.awk. - -2008-07-18 Carlo de Falco - - * gl-render.h: Conditionally include GL/gl.h or OpenGL/gl.h - and GL/glu.h or OpenGL/glu.h - -2008-07-17 John W. Eaton - - * symtab.cc (out_of_date_check_internal): New arg, dispatch_type. - Use it to handle class methods. - - * toplev.h (octave_call_stack::do_caller): New function. - (octave_call_stack::caller): Use it. - -2008-07-17 Jaroslav Hajek - - * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, - regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): - Use OCT_LINK_DEPS instead of DL_LDFLAGS for target-specific - dependencies. - -2008-07-17 David Bateman - - * DLD-FUNCTION/__magick_read__.cc (F__magick_read__): Allow build - without GraphicsMagick++ installed. - -2008-07-16 John W. Eaton - - * graphics.h.in (gh_manager::autolock): Delete copy constructor - and assignment definitions. - -2008-07-16 Michael Goffioul - - * graphics.h.in (callback_property::execute): Remove static version. - (base_properties::is_hittest, base_properties::is_interruptible, - base_properties::is_selected, base_properties::is_selectionhighlight): - New convenience property accessors. - (base_graphics_object::get_handle, graphics_object::get_handle): Idem. - (gh_manager::graphics_lock): New global mutex - (gh_manager::lock, gh_manager::unlock, gh_manager::do_lock, - gh_manager::do_unlock): Add accessors for it. - (gh_manager::autolock): New class for easy locking of the graphics - system. - (gh_manager::event_data): New class for event management. - (gh_manager::event_queue): New object to hold pending events. - (gh_manager::callback_objects): New stack of callback objects. - (gh_manager::execute_callback, gh_manager:post_callback, - gh_manager::post_function, gh_manager::post_set, - gh_manager::process_events, gh_manager::flush_events, - gh_manager::restore_gcbo): New static methods for event management. - (gh_manager::do_execute_callback, gh_manager::do_post_callback, - gh_manager::do_post_function, gh_manager::do_post_set, - gh_manager::do_process_events, gh_manager::do_post_event, - gh_manager::do_restore_gcbo): New non-static versions. - * graphics.cc (xreset_gcbo): Remove. - (execute_callback): Likewise. - (base_property::run_listeners, callback_property::execute): Use - gh_manager::execute_callback. - (class callback_event_data, class function_event_data, class - set_event_data): New classes to implement various types of events. - (gh_manager::event_data::create_callback_event, - gh_manager::event_data::create_function_event, - gh_manager::event_data::create_set_event): Implement event factory - methods. - (gh_manager::do_restore_gcbo, gh_manager::do_execute_callback, - gh_manager::do_post_event, gh_manager::do_post_callback, - gh_manager::do_post_function, gh_manager::do_post_set, - gh_manager::do_process_events): New methods for event management. - (Fishandle, Fset, Fget, F__get__, F__go_figure__, F__go_delete__, - F__go_axes_init__, F__go_handles__, F__go_figure_handles__, - Favailable_backends, Fdrawnow, Faddlistener, Faddproperty, - get_property_from_handle, set_property_in_handle): Lock graphics - system. - (GO_BODY): Likewise. - (Fdrawnow): Support single "expose" argument. - -2008-07-15 John W. Eaton - - * DLD-FUNCTIONS/__convn__.cc (convn): Cast second arg to - octave_idx_type in call to std::max. - -2008-07-14 John W. Eaton - - * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, - regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): - Simplify with target-specific settings for DL_LDFLAGS. - - * DLD-FUNCTIONS/__magick_read__.cc: Delete "using namespace std" - and "using namespace Magick" directives. Style fixes. - - * oct-conf.h.in (OCTAVE_CONF_MAGICK_INCFLAGS, - OCTAVE_CONF_MAGICK_LIBS): Substitute here. - * toplev.cc (octave_config_info): Include MAGICK_INCFLAGS and - MAGICK_LIBS in the struct. - * Makefile.in (DLD_XSRC): Add __magick_read__.cc to the list. - (OCTAVE_LIBS): Add $(MAGICK_LIBS) to the list for static linking case. - (__magick_read__.d, __magick_read__.o, pic/__magick_read__.o): - Append MAGICK_INCFLAGS to CPPFLAGS. - (__magick_read__.oct): Append MAGICK_LIBS to LDFLAGS. - -2008-07-14 Thomas L. Scofield - - * DLD-FUNCTIONS/__magick_read__.cc: New file from Octave Forge. - -2008-07-11 John W. Eaton - - * syscalls.cc (const_value): Delete arg NM. Change all uses. - - * DLD-FUNCTIONS/fft.cc (do_fft): Avoid GCC warning. - * DLD-FUNCTIONS/fft2.cc (do_fft2): Likewise. - * DLD-FUNCTIONS/fftn.cc (do_fftn): Likewise. - * DLD-FUNCTIONS/qr.cc (Fqrshift): Likewise. - * DLD-FUNCTIONS/lookup.cc (Flookup): Likewise. - * gl-render.cc (opengl_renderer::draw): Likewise. - * graphics.cc (axes::update_axis_limits, - hggroup::update_axis_limits, Favailable_backends): - Likewise. - * pt-cmd.cc (tree_no_op_command::dup, tree_function_def::dup): - Likewise. - * pt-const.cc (tree_constant::dup): Likewise. - * pt-id.cc (tree_identifier::dup): Likewise. - * pt-jump.cc (tree_break_command::dup, tree_continue_command::dup, - tree_return_command::dup): Likewise. - - * DLD-FUNCTIONS/colamd.cc: Style fixes. - (tree_postorder): Rename from TreePostorder. - (tree_postorder, coletree): Avoid GCC warnings. - - * DLD-FUNCTIONS/chol.cc (Fchol): Avoid GCC warnings. - (Fcholdelete, Fcholshift): Delete unused arg nargout. - - * toplev.cc, toplev.h (octave_call_stack::caller_user_function, - octave_call_stack::caller_user_script, - octave_call_stack::do_caller_user_function, - octave_call_stack::do_caller_user_script): - Delete functions and decls. - - * defun.cc (print_usage): Call octave_call_stack::caller_user_code, - not octave_call_stack::caller_user_function. - * debug.cc (get_user_code): Likewise. - - * toplev.h (octave_call_stack::difference_type): Delete typedef. - * toplev.cc, toplev.h (octave_call_stack::caller_user_code_line, - octave_call_stack::do_caller_user_code_line, - octave_call_stack::caller_user_code_column, - octave_call_stack::do_caller_user_code_column, - octave_call_stack::caller_script, - octave_call_stack::do_caller_script, - octave_call_stack::caller_user_function, - octave_call_stack::do_caller_user_function, - octave_call_stack::caller_user_code, - octave_call_stack::do_caller_user_code): - Delete unused difference_type arg. - - * ov-float.h, ov-flt-re-mat.cc, ov-range.h, ov-re-mat.h, - ov-re-sparse.cc, ov-scalar.h: Check for NaN in bool_value and - bool_array_value member functions to bool. - - * ops.h (DEFSCALARBOOLOP_OP): New macro. - * OPERATORS/op-s-s.cc, OPERATORS/op-fs-fs.cc: Use it to define - el_and and el_or ops. - -2008-07-10 David Bateman - - * DLD-FUNCTIONS/lookup.cc (assign): Delete. - (Flookup): Use new NDArray constructors rather than assign. - * data.cc (Fsort): Use new NDArray constructors rather than - directly assigning. - * besselj.cc (int_array2_to_matrix, int_arrayn_to_array, - int_array2_to_float_matrix, int_arrayn_to_float_array): Delete. - (do-bessel): Use new NDArray constructors. - * max.cc (MINMAX_SPARSE_BODY, MINMAX_INT_BODY, MINMAX_SINGLE_BODY, - MINMAX_DOUBLE_BODY): Use new NDArray constructors. - * ov-bool.h (array_value, float_array_value): Explictly cast - boolean scalar to double before the assignment to avoid ambiguity. - -2008-07-10 David Bateman - - * ls-mat4.cc (read_mat_binary_data, save_mat_binary_data): Add - loading and saving of sparse matrices. - -2008-07-10 Michael Goffioul - - * Makefile.in: Add OPENGL_LIBS to liboctinterp link command. Add - GRAPHICS_CFLAGS to fltk_backend.cc compilation command. - * data.cc: Define hypotf to _hypotf when not present. - * gl-render.h: Replace OCTGRAPHICS_API with OCTINTERP_API. - * gl-render.cc: Get rid of Array2. - * OPERATORS/op-int.h: Use powf instead of pow when invoked - with float arguments. - -2008-07-09 John W. Eaton - - * input.cc (get_debug_input): Don't delete global_command here. - * toplev.cc (main_loop): Undo previous change. - - * toplev.h (octave_call_stack::instance_ok): Push top scope when - creating instance. - - * DLD-FUNCTIONS/inv.cc (Finv): Avoid GCC warning. - - * DLD-FUNCTIONS/expm.cc (Fexpm): Avoid GCC warning. - - * ov-fcn-inline.cc (octave_fcn_inline::load_ascii): Avoid GCC warning. - -2008-07-09 Michael Goffioul - - * gl-render.cc (opengl_renderer::draw(figure)): Enable line smoothing - according to __enhanced__ property. - (opengl_renderer::draw_marker): Only draw markers with valid call - lists ID. - (opengl_renderer::make_marker_list): Do not produce filled marker call - list for non-fillable markers. - (opengl_renderer::draw(axes)): Do not antialias axes system. - - * gl-render.cc (opengl_renderer::set_polygon_offset): Also enable - polygon offseting in GL_LINE mode. - (opengl_renderer::draw_marker): Offset markers foward instead of - backward (to draw them above lines). - - * Makefile.in: new substituted variables GL_RENDER_SRC and - FLTK_BACKEND_SRC. - - * gl-render.cc (vertex_data::vertex_data_rep::vertex_data(void), - vertex_data::vertex_data(void), vertex_data::vertex_data(...)): - initialize reference counting correctly. - -2008-07-09 John W. Eaton - - * toplev.cc (main_loop): Unwind-protect global_command. - * input.cc (get_debug_input): Likewise. - -2008-07-09 David Bateman - - * pt-id.cc (octave_value_list tree_identifier::rvalue (int), - octave_lvalue tree_identifier::lvalue (void)): Remove - MAYBE_DO_BREAKPOINT. - -2008-07-08 John W. Eaton - - * graphics.h.in (axes::properties::keypos): Declare as - any_property instead of double_property. - -2008-06-28 John W. Eaton - - * debug.cc (push_dummy_call_stack_elt): Delete. - (Fdbstack): Don't push dummy stack elt. Use nskip instead of - nframes, and curr_frame instead of idx. Pass curr_frame to - octave_call_stack::backtrace. - - * ls-mat5.cc (read_mat5_binary_element): Explicitly pass 0 for - current_context in call to symbol_table::varref. - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii): Likewise. - Fix test. - - * mex.cc (mexGetVariable, mexPutVariable): Use octave_call_stack - methods to manipulate scope and context. - * parse.y (source_file, Fassignin, Fevalin): Likewise. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Call octave_call_stack::push after call to symbol_table::push_scope. - Call unwind_protect::add with octave_call_stack::unwind_pop - immediately after call to octave_call_stack::push. - - * symtab.cc (symbol_table::xcurrent_caller_scope): Delete definition. - * symtab.h (symbol_table::xcurrent_caller_scope): Delete decl. - Delete all uses. - (xcurrent_context_this_table): Delete. Delete all uses. - (symbol_table::current_caller_scope): Delete. - - * toplev.cc (octave_call_stack::do_num_user_code_frames): - New function. - (octave_call_stack::do_backtrace): New arg, curr_user_frame. - Rename nframes arg to nskip. Correctly handle curr_frame not at - end of stack. - (octave_call_stack::do_goto_frame_relative): Rename n arg to nskip. - Correctly handle curr_frame not at end of stack. - (octave_call_stack::do_goto_caller_frame): New function. - (octave_call_stack::do_goto_base_frame): New function. - * toplev.h: Provide decls for new functions. - (octave_call_stack::call_stack_elt::prev): New data member. - Initialize it in constructor. - (octave_call_stack::const_reverse_iterator, - octave_call_stack::reverse_iterator): New typedefs. - (octave_call_stack::symbol_table::scope_id current_scope, - octave_call_stack::symbol_table::context_id current_context, - octave_call_stack::num_user_code_frames, - octave_call_stack::goto_caller_frame, - octave_call_stack::goto_base_frame, - octave_call_stack::do_num_user_code_frames, - octave_call_stack::do_current_scope, - octave_call_stack::do_current_context): New functions. - - (octave_call_stack::push): Default value for context arg is - symbol_table::current_context, not 0. - (octave_call_stack::do_push): Save previous frame. Always push - new frame on back of stack. Call symbol_table::set_scope_and_context. - (octave_call_stack::do_pop): Restore previous frame. Always pop - frame from back of stack. Call symbol_table::set_scope_and_context. - -2008-06-26 John W. Eaton - - * token.h: Omit "class symbol_table::symbol_record" decl; - - * lex.l (grab_block_comment): Use parens around || expression - within && expression. - -2008-06-23 John W. Eaton - - * debug.cc (Fdbstack): Avoid shadowed variable warning. - -2008-06-23 Jaroslav Hajek - - * genprops.awk (emit_source): Avoid gensub for portability. - (BEGIN): Ditto. - -2008-06-20 Jaroslav Hajek - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): Make "once" an output - argument. - (octregexp): Do not use cell arrays when "once" is requested. - - * ov.cc (make_vector_dims): New function. - (vector_value, complex_vector_value, float_vector_value, - float_complex_vector_value): Query N-d array values and simplify, - avoid copying. - (column_vector_value, complex_column_vector_value, - float_column_vector_value, float_complex_column_vector_value, - row_vector_value, complex_row_vector_value, - float_row_vector_value, float_complex_row_vector_value): - Simplify to trivial wrappers. - (int_vector_value): Avoid conversions if integer type, query N-d array - value, simplify. - -2008-06-17 John W. Eaton - - * toplev.h, toplev.cc (class octave_call_stack): - Push elements on and pop from back of queue. - (octave_call_stack::do_push, octave_call_stack::do_pop): - Always adjust curr_frame. - (octave_call_stack::size, octave_call_stack::do_size): New functions. - * pt-stmt.cc (tree_statement::eval): - Also call octave_call_stack::set_statement when debugging. - * debug.cc (push_dummy_call_stack_elt): New function. - (Fdbstack): Omit dbstack from call stack by popping element rather - than adjusting frame number. Correctly handle arg. - -2008-06-12 David Bateman - - * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrshift, Fqrdelete): - Allow single precision arguments, add tests for single precision. - -2008-06-11 John W. Eaton - - * ov-base.cc (octave_base_value::streamoff_value, - octave_base_value::streamoff_array_value): Delete. - * ov-base.h: Delete decls. - (octave_base_value::is_streamoff): Delete. - * ov-float.cc (octave_float_scalar::streamoff_value, - octave_float_scalar::streamoff_array_value): Delete. - * ov-float.h: Delete decls. - * ov-flt-re-mat.cc (octave_float_matrix::streamoff_array_value): Delete. - * ov-flt-re-mat.h: Delete decl. - * ov-re-mat.cc (octave_matrix::streamoff_array_value): Delete. - * ov-re-mat.h: Delete decl. - * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value): Delete. - * ov-re-sparse.h: Delete decl. - * ov-scalar.cc (octave_scalar::streamoff_value, - octave_scalar::streamoff_array_value): Delete. - * ov-scalar.h: Delete decls. - * ov.cc (octave_value::octave_value (const streamoff_array&), - octave_value::octave_value (const ArrayN&), - octave_value::streamoff_value (void) const, - octave_value::streamoff_array_value (void) const): Delete. - * ov.h: Delete decls. - (octave_value::is_streamoff): Delete. - * ov.cc (install_types): Don't register streamoff type. - * ov-streamoff.h, ov-streamoff.cc, OPERATORS/op-streamoff.cc: Delete. - * Makefile.in: Delete them from the lists. - - * error.cc (verror): Restore newline in msg_string. Stripping - "error: " prefix when buffering error messages is no longer neeed. - -2008-06-25 David Bateman - - * pr-output.cc (Frats): Print usage if nargin == 0. - -2008-06-10 John W. Eaton - - * mexproto.h (mxCreateLogicalScalar): Declar arg as mxLogical, not int. - -2008-06-09 John W. Eaton - - * graphics.cc (execute_callback): Pass CB by const reference and - explicitly make a copy. - (xget_ancestor): Pass GO by const reference and explicitly make a copy. - - * error.cc (verror): Omit "name: " and "\a" from Vlast_error_msg. - Save line and column information from user code. - * toplev.cc (octave_call_stack::do_caller_user_code_line, - octave_call_stack::do_caller_user_code_column): New functions. - * toplev.h: Provide decls. - (octave_call_stack::caller_user_code_line, - octave_call_stack::caller_user_code_column): New functions. - (octave_call_stack::current_line, octave_call_stack::current_column): - Default return value is -1, not 0. - -2008-06-06 John W. Eaton - - * ov.h (octave_value::erase_subfunctions): - New function. - * ov-base.h (octave_base_value::erase_subfunctions): - New virtual function. - * ov-usr-fcn.h (octave_user_function::erase_subfunctions): - New function. - * symtab.h (symbol_table::fcn_info::::erase_subfunction, - symbol_table::fcn_info::fcn_info_rep::erase_subfunction, - symbol_table::erase_subfunctions_in_scope): - New functions. - (symbol_table::fcn_info::fcn_info_rep::clear_user_function): - Erase subfunctions here. - - * variables.cc (Fmlock): Doc fix. - -2008-06-05 John W. Eaton - - * gl-render.cc (opengl_renderer::draw): Correctly avoid shadow - warnings from gcc for xmin, xmax, ymin, ymax, zmin, and zmax. - - * graphics/ChangeLog, graphics/Makefile.in, graphics/Makerules.in, - graphics/fltk_backend/Makefile.in, graphics/opengl/Makefile.in: - Delete. - - * gl-render.cc, gl-render.h: Move here from graphics/opengl. - * Makefile.in: Add them to the appropriate lists. - (octave$(EXEEXT)): Also link with $(OPENGL_LIBS) - - * fltk_backend.cc: Move here from graphics/fltk_backend. - * Makefile.in (DLD_XSRC): Add it to the list - (fltk_backend.oct): Include special rules for linking with - $(GRAPHICS_LIBS) and $(FT2_LIBS). - - * dynamic-ld.cc (octave_dynamic_loader::mex_mangler, - octave_dynamic_loader::mex_uscore_mangler, - octave_dynamic_loader::mex_f77_mangler): New functions. - (octave_dynamic_loader::do_load_mex): Use them. - (octave_dynamic_loader::do_remove_oct): Rename from - octave_dynamic_loader::do_remove. - (octave_dynamic_loader::do_remove_mex): New function. - * dynamic-ld.h: Provide/fix decls. - - * graphics.cc (properties::update_normals): Style fixes. - * graphics.h.in: Style fixes. - - ChangeLog entries for gl-render.h, gl-render.cc, and - fltk_backend.cc before the move: - - 2008-06-05 John W. Eaton - - * opengl/gl-render.cc (xmin): New static function. - - * opengl/gl-render.h (opengl_renderer): Style fixes. - * fltk_backend/fltk_backend.cc: Style fixes. - - 2008-04-26 Michael Goffioul - - * opengl/gl-render.h (opengl_renderer::draw(hggroup)): New method. - * opengl/gl-render.cc (opengl_renderer::draw(hggroup)): Likewise. - (opengl_renderer::draw(graphics_object)): Call it. - - 2008-03-17 Shai Ayal - - * fltk_backend/fltk_backend.cc (plot_window::resize, - plot_window::draw): make canvas the size of figure.position - - 2008-03-09 Shai Ayal - - * fltk_backend/fltk_backend.cc (plot_window::handle): add zoom - stack - - 2008-03-06 Shai Ayal - - * fltk_backend/fltk_backend.cc (plot_window::handle): Add handling - of the 'a' and 'g' keys - (plot_window: toggle_grid): New helper function - (plot_window): Add new togglegrid button - - 2008-03-01 Shai Ayal - - * fltk_backend/fltk_backend.cc (OpenGL_fltk::draw_overlay, - OpenGL_fltk::zoom, OpenGL_fltk::set_zoom_box): Added to support - zoom box - (plot_window::handle): Added zoom box code, B-3 now does autoscale - (plot_window::axis_auto): New utility function to call axis("auto") - (plot_window::button_press): "A" button now does autoscale - - * opengl/gl-render.cc (make_marker_list): Add the "+x*.^v><" - markers - - 2008-02-27 Michael Goffioul - - * opengl/gl-render.cc (opengl_renderer::draw(patch), - opengl_renderer::draw(surface)): Adapt to type change of facealpha and - edgealpha, using double_radio_property class. - - 2008-02-26 Michael Goffioul - - * opengl/gl-render.h: Make sure windows.h is included before OpenGL - headers. - * fltk_backend/Makefile.in (FLTK_EXTRA_CXXFLAGS): Use $(srcdir) for - includesion of OpenGL renderer headers. - (Makeconf): Move inclusion of Makeconf later on, to avoid freezing - MinGW make. - - * fltk_backend/Makefile.in (GRAPHICS_CFLAGS): New substituted - variable. - - 2008-02-25 Shai Ayal - - * fltk_backend/fltk_backend.cc (class plot_window): Many changes - to use figure::properties instead of figure handle to reference - the figure - (class figure_manager): ditto - (__fltk_redraw__): moved most of functionality into the - figure_manager class - (plot_window::pixel2pos): Modified to use axes::pixel2coord - (plot_window::pixel2staus): Modified to use pixel2pos - (plot_window::handle): Added zoom with mouse - - 2008-02-24 Shai Ayal - - * fltk_backend/fltk_backend.cc (OpenGL_fltk::Draw): removed double - buffer switch - (OpenGL_fltk::setup_viewport): removed call to glOrtho -- - gl-render takes care of all the transformations - - 2008-02-23 Shai Ayal - - * fltk_backend/fltk_backend.cc (plot_window::mark_modifed): mark - the whole window as damaged (otherwise changing figure.postion - does not have immediate effect) - (plot_window::draw): New function, checks for window size - (__fltk_maxtime__): New DEFUN to allow tweaking of fltk timeout - (__fltk_redraw__): Use fltk_maxtime as timeout - - 2008-02-21 Michael Goffioul - - * opengl/gl-render.cc (opengl_renderer::patch_tesselator::combine): - Protect against NULL vertex data. - - * opengl/gl-render.cc (opengl_renderer::draw(patch)): Add marker - rendering of patch objects. - - 2008-02-21 Shai Ayal - - * opengl/gl-render.cc: remove OpenGL includes - * opengl/gl-render.h: add OpenGL includes - * fltk_backend/fltk_backend.cc: remove OpenGL includes - (__fltk_redraw__): put figure handle into the figure's - __plot_stream__ property for later - (fltk_backend::close_figure): use argument as figure handle to - close - - 2008-02-20 Shai Ayal - - * fltk_backend/Makefile.in: initial import - - * fltk_backend/fltk_backend.cc: initial import - - - 2008-02-20 Michael Goffioul - - * opengl/gl-render.h (opengl_renderer::draw(patch)): New method to - render patch objects. - (class opengl_renderer::patch_tesselator): Forward declaration. - * opengl/gl-render.cc (opengl_texture::create): Use RGB data format - instead of RGBA. - (class opengl_tesselator): New classes to abstract GLU tessellation - process. - (class opengl_renderer::patch_tesselator): New class to render opaque - patch objects. - (class vertex_data): New class to hold vertex data during tessellation - of patch objects. - (opengl_renderer::draw(patch)): New method to render patch objects (no - transparency, no border, no marker yet). - (opengl_renderer::draw(graphics_object)): Dispatch to it. - - * opengl/gl-render.cc (opengl_renderer::draw(patch)): Use patch color - data and support face/vertex single color specification. - - * opengl/gl-render.cc (opengl_tesselator::begin_polygon): Set - tessellation property also for non-filled polygons. - (opengl_renderer::patch_tesselator::vertex): Protect against empty - color matrices. - (opengl_renderer::draw(patch)): Render patch border (no transparency - yet). - - 2008-02-19 Michael Goffioul - - * opengl/gl-render.cc (opengl_texture::texture_rep::tex_coord, - opengl_texture::tex_coord): New wrapper around glTexCoord2d. - (opengl_renderer::draw(surface)): Use it for texturemap - implementation. - (opengl_renderer::draw(surface)): Fix indexing bug when creating clip - matrix. - (opengl_texture::operator=): Add assignment operator. - (opengl_texture::create): New static opengl_texture creator. - (opengl_texture::is_valid): New accessor. - - 2008-02-18 Michael Goffioul - - * opengl/gl-render.cc (class opengl_texture): New class to wrap - texture operations in OpenGL. - - 2008-02-17 Michael Goffioul - - * opengl/gl-render.cc (opengl_renderer::draw(surface)): Set material - color when rendering surface facets. - - * opengl/gl-render.cc (opengl_renderer::draw(surface)): Add rendering - of mesh and markers. - - 2008-02-16 Michael Goffioul - - * opengl/gl-render.cc (opengl_renderer::draw(figure)): Initialize the - OpenGL context correctly. - (opengl_renderer::draw(surface)): Add missing glEnd call. - - 2008-02-14 Michael Goffioul - - * opengl/gl-render.h opengl/gl-render.cc: Add rendering - interface for surface objects (actual implement still - missing). - - 2008-02-14 Michael Goffioul - - * Makefile.in Makerules.in: Initial import - * opengl/Makefile.in: Likewise. - * opengl/gl-render.h opengl/gl-render.cc: Likewise. - -2008-06-04 Shai Ayal - - * graphics.cc (axes::properties::set_defaults): Preserve position - if mode is replace. - (axes::properties::sync_positions): Use default_axes_postion for - consistency. - - * graphics.h.in (axes::properties::sync_positions, - axes::properties::update_position, - axes::properties::update_outerposition): New functions to sync - outerposition and position. - - * graphics.h.in (axes::properties::update_xlim, - axes::properties::update_ylim, axes::properties::update_zlim): - pass is_logscale flag to axes::properties::calc_ticks_and_lims - * graphics.cc (axes::properties::calc_ticks_and_lims): Added - support for log scale - - * graphics.h.in (axes::properities::fix_limits) : New method. - (axes::properties::update_xlim, axes::properties::update_ylim, - axes::properties::update_zlim): Use fix_limits. - - * graphics.cc (axes::properties::calc_ticks_and_lims): Make sure - that lo <= hi. - - * graphics.h.in (axes::pixel2coord, axes::coord2pixel): New functions. - - * graphics.cc (convert_position): No longer static. - * graphics.h.in: Provide decl. - - * graphics.cc (Favailable_backends): New function. - * graphics.h.in (base_graphics_backend::available_backends_list): - New function. - - * graphics.cc (axes::properties::calc_ticks_and_lims): Refactor. - Adjust axes limits & tics together so that the result is consistent. - (axes::properties::calc_tick_sep): Ditto. - (axes::properties::get_axis_limits): Ditto. Now a member of - axes::properties - (magform): Now file-scope static function instead of - axes::properties member function. - - * graphics.h.in (axes::properties::update_xlim): call the new - axes::properties::calc_ticks_and_lims method - (axes::properties::update_ylim): ditto - (axes::properties::update_zlim): ditto - -2008-06-04 Michael Goffioul - - * ov-fcn-inline.h (class octave_fcn_inline): Mark with OCTINTERP_API. - * ov-fcn-handle.h (class Octave_fcn_handle): Likewise. - * ls-oct-binary.h (save_binary_data, read_binary_data): Likewise. - - * genprops.awk (emit_source): Fix if-then-else statement generation - when the first property is hidden. - * graphics.h.in (base_properties::adopt): Call mark_modified. - (class hggroup): New graphics object class. - * graphics.cc (lookup_object_name, make_graphics_object_from_type, - property_list::lookup, property_list::set, - root_figure::init_factory_properties): Support hggroup as possible - object type. - (hggroup::update_axis_limits): New graphics object class. - (make_graphics_object): Look for "parent" property in the arguments - and use it as actual parent for the created object. - (F__go_hggroup__): New function. - (F__go_delete__): Set Vdrawnow_requested to true. - - * graphics.h.in (base_property::clone, string_property::clone, - radio_property::clone, color_property::clone, double_property::clone, - double_radio_property::clone, array_property::clone, - row_vector_property::clone, bool_property::clone, - handle_property::clone, callback_property::clone, any_property::clone, - property::clone): New virtual method. - (property::create): New static method to create dynamic properties. - (base_properties::has_property): New method to check the existence of - a property. - (any_property::any_property, row_vector_property::row_vector_property, - double_radio_property::double_radio_property): New copy constructors. - * graphics.cc (lookup_object_name): New static utility function. - (make_graphics_object_from_type): Likewise. - (gh_manager::do_make_graphics_handle): Use it. - (dprop_obj_map): New static map used for chaching purpose in dynamic - property creation. - (property::create): New static method to create dynamic properties. - (base_properties::has_property): New method to check the existence of - a property. - (base_properties::override_defaults): Check parent validity. - (Faddlistener): Documentation fix. - (Faddproperty): New function to create dynamic properties. - - * genprops.awk (emit_get_array): Don't produce get_xxx_property - accessors. - * graphics.h.in (array_property::get_limits): New method to return the - array limits. - (base_properties::get_xdata_property, - base_properties::get_ydata_property, - base_properties::get_zdata_property, - base_properties::get_ldata_property, - base_properties::get_udata_property, - base_properties::get_xldata_property, - base_properties::get_xudata_property, - base_properties::get_cdata_property): Remove methods, replaced with - limit-based equivalent. - (base_graphics_object::get_xdata_property, - base_graphics_object::get_ydata_property, - base_graphics_object::get_zdata_property, - base_graphics_object::get_ldata_property, - base_graphics_object::get_udata_property, - base_graphics_object::get_xldata_property, - base_graphics_object::get_xudata_property, - base_graphics_object::get_cdata_property): Likewise. - (graphics_object::get_xdata_property, - graphics_object::get_ydata_property, - graphics_object::get_zdata_property, - graphics_object::get_ldata_property, - graphics_object::get_udata_property, - graphics_object::get_xldata_property, - graphics_object::get_xudata_property, - graphics_object::get_cdata_property): Likewise. - (base_properties::get_xlim, base_properties::get_ylim, - base_properties::get_zlim, base_properties::get_clim, - base_properties::get_alim, base_properties::is_xliminclude, - base_properties::is_yliminclude, base_properties::is_zliminclude, - base_properties::is_climinclude, base_properties::is_aliminclude): - New methods. - (base_graphics_object::get_xlim, base_graphics_object::get_ylim, - base_graphics_object::get_zlim, base_graphics_object::get_clim, - base_graphics_object::get_alim, base_graphics_object::is_xliminclude, - base_graphics_object::is_yliminclude, - base_graphics_object::is_zliminclude, - base_graphics_object::is_climinclude, - base_graphics_object::is_aliminclude): Likewise. - (graphics_object::get_xlim, graphics_object::get_ylim, - graphics_object::get_zlim, graphics_object::get_clim, - graphics_object::get_alim, graphics_object::is_xliminclude, - graphics_object::is_yliminclude, graphics_object::is_zliminclude, - graphics_object::is_climinclude, graphics_object::is_aliminclude): - Likewise. - (base_graphics_object::update_axis_limits): Provide default behavior - by passing the call to the parent object. - (line::properties::xdata, line::properties::ydata, - line::properties::zdata, line::properties::ldata, - line::properties::udata, line::properties::xldata, - line::properties::xudata): Replace 'l' modifier with 'u'. - (line::properties::xlim, line::properties::ylim, - line::properties::zlim, line::properties::xliminclude, - line::properties::yliminclude, line::properties::zliminclude): New - hidden properties. - (line::properties::update_xdata, line::properties::update_ydata, - line::properties::update_zdata, line::properties::update_xldata, - line::properties::update_xudata, line::properties::update_ldata, - line::properties::update_udata): New updaters that update limit - properties. - (line::properties::compute_xlim, line::properties::compute_ylim): New - method to compute actual limits taking into account x/y data and - upper/lower bounds. - (text::properties::position): Add 'u' modifier. - (text::properties::xlim, text::properties::ylim, - text::properties::zlim, text::properties::xliminclude, - text::properties::yliminclude, text::properties::zliminclude): New - hidden properties. - (text::properties::update_position): New updater that updates limit - properties. - (image::properties::xdata, image::properties::ydata, - image::properties::cdata): Replace 'l' modifier with 'u'. - (image::properties::cdatamapping): Add 'l' modifier. - (image::properties::xlim, image::properties::ylim, - image::properties::clim, image::properties::xliminclude, - image::properties::yliminclude, image::properties::climinclude): New - hidden properties. - (image::properties::get_climinclude, - image::properties::is_climinclude): Provide specialized inline - accessors. - (image::properties::update_xdata, image::properties::update_ydata, - image::properties::update_cdata): New updaters that update limit - properties. - (patch::properties::xdata, patch::properties::ydata, - patch::properties::zdata, patch::properties::cdata): Replace 'l' - modifier with 'u'. - (patch::properties::cdatamapping): Add 'l' modifier. - (patch::properties::alphadatamapping): New property. - (patch::properties::xlim, patch::properties::ylim, - patch::properties::zlim, patch::properties::clim, - patch::properties::alim, patch::properties::xliminclude, - patch::properties::yliminclude, patch::properties::zliminclude, - patch::properties::climinclude, patch::properties::aliminclude: New - hidden properties. - (patch::properties::get_climinclude, - patch::properties::is_climinclude, patch::properties::get_aliminclude, - patch::properties::is_aliminclude): Provide specialized inline - accessors. - (patch::properties::update_xdata, patch::properties::update_ydata, - patch::properties::update_zdata, patch::properties::update_cdata): New - updaters that update limit properties. - (surface::properties::xdata, surface::properties::ydata, - surface::properties::zdata, surface::properties::cdata, - surface::properties::alphadata): Replace 'l' modifier with 'u'. - (surface::properties::cdatamapping, - surface::properties::alphadatamapping): Add 'l' modifier. - (surface::properties::xlim, surface::properties::ylim, - surface::properties::zlim, surface::properties::clim, - surface::properties::alim, surface::properties::xliminclude, - surface::properties::yliminclude, surface::properties::zliminclude, - surface::properties::climinclude, surface::properties::aliminclude: New - hidden properties. - (surface::properties::get_climinclude, - surface::properties::is_climinclude, - surface::properties::get_aliminclude, - surface::properties::is_aliminclude): Provide specialized inline - accessors. - (surface::properties::update_xdata, surface::properties::update_ydata, - surface::properties::update_zdata): Update limit properties. - (surface::properties::update_cdata, - surface::properties::update_alphadata): New updaters that update limit - properties. - * graphics.cc (base_properties::update_axis_limits): Simply call - update_axis_limits in owning graphics_object. - (base_graphics_object::update_axis_limits): Provide default behavior - by passing the call to the parent object. - (check_limits_vals(double&,double&,double&,const octave_value&)): New - static method to work with new limit properties in graphics objects. - (get_children_limits): New static method to compute the raw limits of - a set of children, based on the new limit properties. - (axes::update_axis_limits): Simplify and call get_children_limits. Add - handling of alpha limits. - (line::properties::compute_xlim, line::properties::compute_ylim): New - methods to compute line limits taking into account upper/lower bounds. - - * graphics.cc (axes::properties::sync_positions): Update - transformation data. - - * graphics.cc (Faddlistener): Rename from Fadd_listener. - - * graphics.h.in (axes::properties::pixel2coord): Center Z coordinate - on x_zlim instead of 0. - (axes::properties::zoom, axes::properties::unzoom, - axes::properties::clear_zoom_stack): New methods to handle zoom stack. - (axes::properties::zoom_stack): New field to hold zoom stack. - (axes::properties::update_xlim, axes::properites::update_ylim): - Additional do_clr_zoom argument to control whether the zoom stack will - be cleared. - (axes::properties::update_zlim): Clear zoom stack. - * graphics.cc (axes::properties::zoom, axes::properties::unzoom, - axes::properties::clear_zoom_stack): New methods to handle zoom stack. - - * genprops.awk (emit_source): Use all properties in factory defaults. - - * graphics.h.in (base_property::base_property): Set internal counter - to 1 by default. - (property::property): Adapt constructors to default counter value in - base_property. - - * graphics.h.in (base_properties::get_property): Make virtual and - remove const modifier. - * graphics.cc (base_properties::get_property): Can return built-in - properties. Generate an error if the property does not exist. - (base_properties::add_listener): Use get_property. - (Fadd_listener): Add documentation. - * genprops.awk (emit_common_declarations, emit_source): Emit code for - overloaded get_property method. - - * genprops.awk (emit_declarations): Run listeners in the property - setter methods. - * graphics.h.in (enum listener_mode): New enum type for listeners. - (base_property::set): Make non-virtual and handle listeners execution. - (base_property::listeners): New field holding a map of listeners. - (base_property::add_listener, base_property::run_listeners, - base_property::do_set): New methods to handle listeners. - (property::add_listener, property::run_listeners): Likewise. - (base_properties::add_listener): Likewise. - (base_graphics_object::add_property_listener, - graphics_object::add_property_listener): Likewise. - (all property classes): Rename set to do_set and make it protected. - * graphics.cc (base_property::run_listeners): New method to execute - listeners. - (color_property::set, double_radio_property::set, - handle_property::set): Rename to do_set. - (base_properties::add_listener): New method to handle listener - additio. Only handle dynamic properties. - (Fadd_listener): New octave interface to add property listeners to - graphics object. - - * genprops.awk (emit_get_data): Remove. - (emit_declarations): Treat row_vector_property as array_property and - remove data_property references. - * graphics.h.in (array_property::array_property(array_property)): Add - copy constructor. - (class data_property): Remove (replaced by array_property). - (class base_graphics_backend, class graphics_backend): Replace - data_property references with array_property. - (line::properties::xdata, line::properties::ydata, - line::properties::zdata, line::properties::ldata, - line::properties::udata, line::properties::xldata, - line::properties::xudata): Turn into row_vector_property. - (image::properties::xdata, image::properties::ydata): Likewise. - (image::properties::init): Add length constraints for xdata and ydata. - (patch::properties::xdata, patch::properties::ydata, - patch::properties::zdata, patch::properties::facevertexalphadata): - Turn into array_property. - (surface::properties::xdata, surface::properties::ydata, - surface::properties::zdata): Likewise. - (patch::properties::init): Add size constraints for xdata, ydata, - zdata and facevertexalphadata. - (surface::properties::init): Add size constraints for xdata, ydata and - zdata. - * graphics.cc (check_limit_vals): Remove override with data_property. - (axes::update_axis_limits): Replace data_property references with - array_property. - - * graphics.h.in (root_figure::get_default): Use factory defaults when - no explicit default value exists. - (figure::properties::set___backend__): Reset __plot_stream__ to empty - value. - * graphics.cc (gh_manager::gh_manager): Call - graphics_backend::default_backend to make sure the default backend is - initialized. - - * graphics.h.in (patch::properties::edgealpha, - surface::properties::facealpha, surface::properties::edgealpha): Fix - typos in property names. - - * graphics.h.in (class double_radio_property): New property class for - holding face/edge alpha values. - (patch::properties::facealpha, patch::properties::edgealpha, - surface::properties::facealpha, surface::properties::edgealpha): Use - double_radio_property class. - * graphics.cc (double_radio_property::set): Implement new property - class. - * genprops.awk (emit_get_double_radio): New function to emit code for - double_radio_property. - (emit_declarations): Use it. - - * graphics.h.in (array_property::array_property(void)): New default - constructor. - (array_property::xmin, array_property:xmax, array_property::xminp, - array_property::min_val, array_property::max_val, - array_property::min_pos): New fields and accessors to hold min/max - values of the array data. - (array_property::get_data_limits): New method to compute min/max - values of the array data. - (base_properties::get_cdata_property, - graphics_object::get_cdata_property): Return array_property. - (image::properties::cdata, surface::properties::cdata, - patch::properties::cdata, patch::properties::facevertexcdata): Turn - into array_property type. - (image::properties::init, surface::properties::init, - patch::properties::init): Add constraint initialization for cdata and - facevertexcdata (patch only). - * genprops.awk (emit_get_array): New function to emit accessor for - array_property. - (emit_declarations): Use it. - * graphics.cc (get_array_limits): New template function to compute - min/max values of an Array object. - (array_property::get_data_limits): New method to compute min/max - values of the array data, using get_array_limits. - (check_limit_vals): Overridden function with array_property. - (axes::update_axis_limits): Turn cdata property into array_property. - - * graphics.h.in (patch::properties::get_color_data): New utility - function to retrieve actual color data. - * graphics.cc (patch::properties::get_color_data): Likewise. - - * graphics.h.in (base_scaler::is_linear, lin_scaler::is_linear, - scaler::is_linear): New method to detect linear scales. - (graphics_xform::scale(Matrix)): New method to scale 2D/3D coordinates - directly. - (patch::properties::facelighting): Set default value to "none". - - * graphics.h.in (axes::axes): Be sure to initialize transformation - data correctly. - - * graphics.cc (xget_ancestor): Pass graphics_object argument by value - instead of by reference. - - * graphics.h.in (surface::properties::xdata, - surface::properties::ydata, surface::properties::zdata, - surface::properties::normalmode, surface::properties::vertexnormals): - Add 'u' modifier. - (surface::properties::update_normals): New method to compute normals - automatically. - (surface::properties::update_xdata, surface::properties::update_ydata, - surface::properties::update_zdata, - surface::properties::update_normalmode, - surface::properties::update_vertexnormals): New updaters to update - normals automatically. - * graphics.cc (surface::properties::update_normals): Likewise. - (cross_product): New inlined utility function for cross product - computation adn accumulation. - - * graphics.h.in (class base_scaler, class lin_scaler, class - log_scaler, class scaler): Add scale method for NDArray. - (log_scaler::do_scale): Factorize scaling code. - - * graphics.h.in (figure::properties::update_position): Re-remove. - (figure::properties::facecolor): Re-add 'texturemap' value. - (surface::properties::get_color_data): New method to compute actual - surface color data from cdata. - * graphics.cc (surface::properties::get_color_data): Likewise. - (xget_ancestor): New utility function to retrieve an ancestor of a - given type. - (convert_cdata): New utility function to convert cdata property into - actual color data. - - * graphics.h.in (surface::properties::facecolor): Add "texturemap" - as possible value. - (class surface::properties): New properties alphadata, - alphadatmapping, ambientstrength, backfacelighting, diffusestrength, - edgealpha, edgelighting, erasemode, facelighting, meshstyle, - normalmode, specularcolorreflectance, specularexponent, - specularstrength, vertexnormals. - (surface::properties::init): Add constraints for alphadata, - vertexnormals and cdata (the latter are commented until cdata - has changed type). - - * graphics.h.in (base_properties::update_boundingbox): New method - to handle object resize. - (figure::properties::set_boundingbox): New method to set figure - position from backend. - (figure::properties::update_position): Remove method. - (figure::properties::position): Remove 'u' modifier and add 'S' - modifier. - (axes::properties::update_boundingbox): Overload to recompute - transformation when axes size changed. - * graphics.cc (base_properties::update_boundingbox): New method. - (figure::properties::set_boundingbox, - figure::properties::set_position): Likewise. - - * genprops.awk: Add 'U' modifier to support extern updaters. - * graphics.h.in (base_graphics_backend::gripe_invalid): New method - to simplify error reporting. - (class base_graphics_backend): Use it. - (base_graphics_backend::set_figure_position): New backend method. - (graphics_backend::set_figure_position): Likewise. - (figure::properties::position): Mark property with updater. - (figure::properties::update_position): New updater. - - * graphics.h.in (root_figure::properties::callbackobject): - New root property. - (root_figure::properties::cbo_stack): New field. - * graphics.cc (xset_gcbo, xreset_gcbo): New utility functions. - (execute_callback): Set callbackobject property in root object - before executing a callback. - (root_figure::properties::set_callbackobject): Implement accessor. - - * graphics.h.in (root_figure::properties::callbackobject): - New root property. - (root_figure::properties::cbo_stack): New field. - * graphics.cc (xset_gcbo, xreset_gcbo): New utility functions. - (execute_callback): Set callbackobject property in root object - before executing a callback. - (root_figure::properties::set_callbackobject): Implement accessor. - - * graphics.h.in (class root_figure::properties, - class line::properties, class text::properties, - class image::properties, class patch::properties, - class surface::properties): Export classes with - OCTINTERP_API. - - * graphics.cc (axes::properties::set_defaults): Use correct - default values for gridlinestyle and minorgridlinestyle. - -2008-06-03 Jaroslav Hajek - - * load-save.cc (Fload): Fix "-7" option. - -2008-06-02 David Bateman - - * pt.cc (tree:last_break_function): Next pointer to last function - with a breakpoint. - * pt.h (tree:last_break_function): ditto. - * debug.cc (Fdbstep): Use tree::break_function value of zero to - signal to step into the next function. Set tree::last_break_function - to indicate position of last breakpoint. - (Fdbnext): Set tree::last_break_function to indicate position of - last breakpoint. - * pt-bp.h (MAYBE_DO_BREAKPOINT): Check tree::break_function value - of zero as well. Only check tree::last_line if we are in teh same - function as the last breakpoint. - * input.cc (char Vfilemarker): New global variable. - (Ffilemarker): New function to query and set Vfilemarker. - * input.h (extern char Vfilemarker): Make Vfilemarker available. - * util.cc (fcn_file_in_path): If the input argument contains - Vfilemarker, strip the trailing part of string from this point - when looking for function file. - * toplev.cc (octave_call_stack::fo_backtrace): Mark subfunctions - with the name of the parent function and Vfilemarker. - * symtab.cc (symbol_table::find_function (const std::string&, - tree_argument_list *, const string_vector&, octave_value_list*, - bool&): If function name contains Vfilemarker, check in scope of - specified parent function. - - * DLD-FUNCTIONS/betainc.cc: Move test code here. Add test code for - single precision type. - * DLD-FUNCTIONS/gammainc.cc: Ditto. - * DLD-FUNCTIONS/gcd.cc (Fgcd): Support single precision. Move test - code here. Add test code for single precision type. - * data.cc: Move test code here and add tests for single precision - type. Add tests for Fislogical. - (NATIVE_REDUCTION): Support the 'double' argument. - * mapper.cc: Move test code here and add tests for single precision - type. - * ov-float.cc (CD_SCALAR_MAPPER): Replace Complex with - FloatComplex. - (erf, erfc, abs, acos, asin, asinh, atan, atanh, ceil, cos, cosh, - exp, expm1, floor, log10, log1p, sin, sinh, sqrt, tan, tanh): Use - float version of base functions (ie. ::sinf and not ::sin) - (lgamma, acosh, log, log2, log10, log1p): Use single precision - infinity value. - * ov-flt-complex.cc (erf, erfc, expm1, log1p): Use the float - version of base functions. - * ov-flt-cx-mat.cc (DARRY_MAPPER): Replace NDArray with FloatNDArray. - (erf, erdc, gamma): Use FloatNDArray::dmapper and not - NDArray::dmapper. - * ov-flt-cx-mat.h (is_double_type): Delete. - (is_single_type): New method. - * ov-flt-re-mat.cc (lgamma, acosh, log, log2, log10, log1p, - sqrt): Use single precision infinity value. - - * chol.cc (Fcholinv, Fchol2inv, Fcholupdate, Fcholinsert, - Fcholdelete, Fcholshift): Allow single precision arguments. - (Fchol): Move test code here. Add test code for single precision. - (Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Add test code - for single precision. - * conv2.cc (Fconv2): Add single precision test code. - * det.cc (Fdet): For single values or empty matrices, return - single precision arg for single precion input. Move test code - here. Add single precision test code. - * fft.cc (do_fft): For empty single precision arguments return a - single precision value. Add single precision test code. Remove - fft2 test code. - * fft2.cc (do_fft2): For empty single precision arguments return a - single precision value. Add single precision test code. Move fft2 - test code here. - * fftn.cc (do_fftn): For empty single precision arguments return a - single precision value. - * eig.cc (Feig): Move test code here. Add single precision test - code. - * expm.cc (Fexpm): Ditto. - * find.cc (Ffind): Ditto. - * hess.cc (Fhess): Ditto. - * inv.cc (Finc): Ditto. - * lu.cc (Flu): Ditto. - * qr.cc (Fqr): Ditto. - * schur.cc (Fschur): Ditto. - * svd.cc (Fsvd): Ditto. - * syl.cc (Fsyl): Ditto. - - * op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, - op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, - op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, - op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc: Add mixed - double, single precision concatenation operators. - - * data.cc (Fall, Fany, Fdiag, Fcat, Fismatrix, Fones, Fzeros, - Finf, FNaN, FNA, Feye, Flinspace, Freshape, Ftranspose, - Fctranspose, Fsort). Move tests here. Add single precision tests. - * mappers.cc (Ffinite, Fisinf, Fisna, Fisnan): Ditto. - * ov-float.cc (octave_float_scalar:resize): single precision - return value. - * ov.cc (octave_value::octave_value (const - FloatComplexDiagMatrix&)): Ditto. - * data.cc (Fnorm): Add single precision. - (do_cat): Disable fast return and skipping empty matrices, as they - play a part in determining the return type. - * ov.cc (octave_value do_cat_op (const octave_value&, const - octave_value&, const Array&)): ditto. - -2008-06-02 Jaroslav Hajek - - * ov-cell.cc (Fcellstr): For compatibility with Matlab, return {''} - when given ''. - -2008-05-26 Jaroslav Hajek - - * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function, - fsolve_user_jacobian): Reshape argument to original dims before - passing. - (Ffsolve): Save original dimensions of the starting guess and reshape - on return. Fix tests. - -2008-05-21 David Bateman - - * DLD-FUNCTIONS/quad.cc (quad_float_user_function): New function. - (Fquad): Handle float type. - New tests. - -2008-05-21 Jaroslav Hajek - - * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm): - New functions. - (install_fcm_fcm_ops): Install them. - * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): New functions. - (install_fm_fm_ops): Install them. - - * OPERATORS/op-sm-m.cc (trans_mul): New function. - (install_sm_m_ops): Register it. - * OPERATORS/op-m-sm.cc (mul_trans): New function. - (install_m_sm_ops): Register it. - * OPERATORS/op-scm-cm.cc (trans_mul, herm_mul): New function. - (install_scm_cm_ops): Register it. - * OPERATORS/op-cm-scm.cc (mul_trans, mul_herm): New function. - (install_cm_scm_ops): Register it. - - * dMatrix.cc: Declare DSYRK. - (xgemm): Call DSYRK if symmetric case detected. - * CMatrix.cc: Declare ZSYRK, ZHERK. - (xgemm): Call ZSYRK/ZHERK if symmetric/hermitian case detected. - - * ov.h (octave_value::compound_binary_op): New enum. - (do_binary_op (octave_value::compound_binary_op, ...), - octave_value::binary_op_fcn_name (compound_binary_op), - octave_value::do_binary_op (compound_binary_op, ...)): - New declarations. - (OV_COMP_BINOP_FN): New macro (+ several expansions). - * ov.cc (octave_value::binary_op_fcn_name (compound_binary_op), - decompose_binary_op, do_binary_op (compound_binary_op, ...)): - New functions. - * ov-typeinfo.h (octave_value_typeinfo::register_binary_class_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::register_binary_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_register_binary_class_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_register_binary_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_lookup_binary_class_op - (octave_value::compound_binary_op), - octave_value_typeinfo::do_lookup_binary_op - (octave_value::compound_binary_op, ...)): - New declarations. - (octave_value_typeinfo::lookup_binary_class_op - (octave_value::compound_binary_op), - (octave_value_typeinfo::lookup_binary_op - (octave_value::compound_binary_op, ...)): - New functions. - (octave_value_typeinfo::compound_binary_class_ops, - octave_value_typeinfo::compound_binary_ops): - New fields. - * ov-typeinfo.cc (octave_value_typeinfo::register_binary_class_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::register_binary_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_register_binary_class_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_register_binary_op - (octave_value::compound_binary_op, ...), - octave_value_typeinfo::do_lookup_binary_class_op - (octave_value::compound_binary_op), - octave_value_typeinfo::do_lookup_binary_op - (octave_value::compound_binary_op, ...)): - New functions. - (octave_value::do_register_type): Resize also compound_binary_ops - field. - * pt-exp.h (tree_expression::is_unary_expression): New virtual - function. - * pt-unop.h (tree_unary_expression::is_unary_expression): New virtual - override. - * pt-cbinop.h, pt-cbinop.cc: New files (implement - tree_compound_binary_expression class). - * pt-all.h: Include pt-cbinop.h. - * Makefile.in (PT_INCLUDES, PT_SRC): Include them in the lists. - * parse.y (make_binary_op): Call maybe_compound_binary_expression. - * OPERATORS/op-m-m.cc (trans_mul, mul_trans): New operator handlers. - (install_m_m_ops): Register them. - * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): - New operator handlers. - (install_cm_cm_ops): Register them. - - * DLD-FUNCTIONS/matrix_type.cc: Fix tests relying on the - older more optimistic hermitian check. - -2008-05-21 David Bateman - - * DLD-FUNCTIONS/rcond.cc (Frcond): Add support for single precision. - - * DLD-FUNCTIONS/sqrt.m: Replace DBL_* with FLT_* for single - precision types. - * data.cc (static octave_value fill_matrix (const - octave_value_list&, double, float, const char *)): Add function - with additional argument to allow for different valid for double - and single precision. - (Finf, FNaN, FNA, Frealmax, Frealmin): Use it here. - (Feps): Modify behavior for a single numerical argument to give - difference to next largest value in the class of the type passed. - -2008-05-21 John W. Eaton - - * pt-idx.h (tree_index_expression::tree_index_expression (int, int)): - Delete default argument values. - -2008-05-20 David Bateman - - * data.cc (Flog2): Handle single precision. - * ov-float.h, ov.float.cc, ov-flt-complex.h, ov-flt-complex.cc, - ov-flt-re-mat.h, ov-flt-re-mat.cc, ov-flt-cx-mat.h, - ov-flt-cx-mat.cc: Provide single precision version of log2 mapper - function. - - * DLD-FUNCTIONS/__convn__.cc, DLD-FUNCTIONS/__pchip_deriv__.cc, - DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, - DLD-FUNCTIONS/conv2.cc, DLD-FUNCTIONS/gammainc.cc, - DLD-FUNCTIONS/givens.cc, DLD-FUNCTIONS/kron.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/syl.cc, data.cc: - Prefer demotion to single precision rather than promotion to double. - - * ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, - ov-flt-cx-mat.cc, ov-flt-cx-mat.h, ov-flt-re-mat.cc, - ov-flt-re-mat.h (numeric_conversion_function (void) const): - Remove method. - - * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h - (numeric_conversion_function (void) const): Add method for - conversion to single precision. - - * DLD-FUNCTIONS/conv2.cc (Fconv2): Don't access third arg if we - don't have one. - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/expm.cc, - DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/hess.cc, - DLD-FUNCTIONS/qr.cc: COnvert for use with single precision. - - * OPERATORS/op-int.h, OPERATORS/op-int-conv.cc, - OPERATORS/op-int-concat.cc: Adapt for single precision. - - * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, - OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, - OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, - OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: - Add includes for single precision types. - - * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, - OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fs.cc, - OPERATORS/op-fm-fs.cc, OPERATORS/op-fs-fcm.cc, - OPERATORS/op-fs-fcs.cc, OPERATORS/op-fs-fm.cc, - OPERATORS/op-fs-fs.cc, OPERATORS/op-int.h, ov.cc, ov-scalar.cc, - ov-float.h, ov-flt-complex.cc, ov-float.cc, ov-flt-re-mat.cc, - ov-flt-cx-mat.cc: Replace octave_float with octave_scalar_float - - * OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, - OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, - OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, - OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, - OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc, - OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, - OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, - OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, - OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, - OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, - OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, - OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc: - Add mixed single/double assign operators. - - * ov.h (numeric_demotion_function): New method for double to - single demotion. - * ov-base.h (numeric_demotion_function): Declare virtual version. - - * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h - (numeric_cdemote_function (void) const): Add method for - conversion to single precision renamed from the method - numeric_conversion_function - - * ov.cc (do_binary_op): Use demotion function seperately than the - numeric conversion function so as to avoid isses like - a=zeros(2,2);a(1,:)=1:2. - - * OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, - OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc, - OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, - OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, - OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, - OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, - OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, - OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, ov-float.cc, - ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-mat.cc, - ov-flt-cx-mat.h, ov-flt-re-mat.cc, ov-flt-re-mat.h: New files. - * Makefile.in (OV_INCLUDES, OV_SRC, OP_XSRC. FLOAT_OP_XSRC, - DOUBLE_OP_XSRC): Add them here. - - * DLD-FUNCTIONS/__convn__.cc, DLD-FUNCTIONS/__lin_interpn__.cc, - DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/bsxfun.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/conv2.cc, - DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/fft.cc, - DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, - DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/givens.cc, - DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, - DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, - DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/schur.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, - DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, - DLD-FUNCTIONS/typecast.cc, OPERATORS/op-b-b.cc, - OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-cs-cs.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-range.cc, OPERATORS/op-s-s.cc, bitfcns.cc, data.cc, - oct-stream.cc, ov-base.cc, ov-base.h, ov-bool-mat.cc, - ov-bool-mat.h, ov-bool.h, ov-ch-mat.cc, ov-ch-mat.h, - ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, ov-intx.h, - ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.h, - ov.cc, ov.h, pr-output.cc, pr-output.h, pt-mat.cc, utils.cc, - utils.h, xdiv.cc, xdiv.h, xpow.cc, xpow.h: - Allow single precision types. - -2008-05-20 David Bateman - - * DLD-FUNCTIONS/rcond.cc: New function. - * Makefile.in (DLD_XSRC): Add it here. - - * debug.cc (Fdbstop): If no line specified assume line 1. - (Fdbstep, Fdbcont, Fdbnext): Move debugging functions - to normal commands. - (Fdbquit): New command to quit debugging mode and return to the - prompt. - (Fdbstep): Modify the dbstep command for compatibility. - * input.cc (Vdebugging_current_line): Store current line being - debugged for use in DEFCMD versions of debug commands. - (match_sans_spaces_semi): Delete. - (static void get_debug_input (const std;string&)): New function to - parse input in debug mode using standard Octave parser. - (static octave_value_list get_user_input (const - octave_value_list&, int)): Remove debugging specialization. - * input.h (Vdebugging_current_line): Store current line being - debugged for use in DEFCMD versions of debug commands. - * parse.y (make_return_command): Special handling in debug mode. - * pt-bp.h (MAYBE_DO_BREAKPOINT): Support break in n lines needed - to support "dbstep N". - * pt.cc (tree::break_next): Convert to a down counter to support - break in N lines. Breakpoint occure when tree::break_next is zero. - * toplev.cc (octave_user_script * - octave_call_stack::do_caller_user_script (difference_type) const): - Support skipping the first N functions to support "dbstep out". - (octave_user_function * octave_call_stack::do_caller_user_function - (difference_type) const): Ditto. - (octave_user_code * octave_call_stack::do_caller_user_code - (difference_type) const): Ditto. - * toplev.h (octave_user_script * - octave_call_stack::do_caller_user_script (difference_type) const): - Add difference_type argument. - (octave_user_function * octave_call_stack::do_caller_user_function - (difference_type) const): Ditto. - (octave_user_code * octave_call_stack::do_caller_user_code - (difference_type) const): Ditto. - (static octave_user_script *caller_script (difference_type)): - Ditto. - (static octave_user_function *caller_user_function - (difference_type q)): Ditto. - (static octave_user_code *caller_user_code (difference_type q)): - Ditto. - -2008-05-20 Kim Hansen - - * load-path.cc (load_path::do_initialize): - Include separator when appending sys_path. - -2008-05-20 Bill Denney - - * file-io.cc (Ffgets, Fgets, Ffputs, Ffscanf): Doc fix (seealso). - -2008-05-20 Thomas Weber - - * DLD-FUNCTIONS/rand.cc (Frandn): Doc fix. - -2008-05-20 David Bateman - - * load-save.cc (do_load): Treat non verbose list_only output in - the same manner as Fwho. - * symtab.h (static void clear_variable_regexp (const - std::string&): New method. - (static std::list regexp (const std::string&)): Ditto. - (static std::list regexp_variables (const - std::string&)): Ditto. - (static std::list regexp_global_variables (const - std::string&)): Ditto, - (static std::list regexp_variables (const - string_vector&)): Ditto. - (void do_clear_variable_regexp (const std::string&)): Ditto. - (std::list do_regexp (const std::string&, bool) - const): Ditto. - (do_who): Accept the "-regexp" option. Use regexp versions of - symbol table functions. - (static inline bool name_match_any_pattern (const string_vector&, - int, int, bool): Add regexp argument, and use regexp matching if - true. - (do_clear_variables): Add regexp option and pass to - name_match_any_pattern. - (Fclear): Accept the -regexp option. - -2008-05-07 John W. Eaton - - * pt-arg-list.cc, pt-arg-list.h (tree_argument_list::dup): - New arg, context. - * pt-assign.cc, pt-assign.h (tree_simple_assignment::dup, - tree_multi_assignment::dup): Likewise. - * pt-binop.cc, pt-binop.h (tree_binary_expression::dup, - tree_boolean_expression::dup): Likewise. - * pt-cell.cc, pt-cell.h (tree_cell::dup): Likewise. - * pt-cmd.cc, pt-cmd.h (tree_no_op_command::dup, - tree_function_def::dup): Likewise. - * pt-colon.cc, pt-colon.h (tree_colon_expression::dup): Likewise. - * pt-const.cc, pt-const.h (tree_constant::dup): Likewise. - * pt-decl.cc, pt-decl.h (tree_decl_elt::dup, tree_decl_init_list::dup, - tree_global_command::dup, tree_static_command::dup): Likewise. - * pt-except.cc, pt-except.h (tree_try_catch_command::dup, - tree_unwind_protect_command::dup): Likewise. - * pt-exp.h (tree_expression:dup): Likewise. - * pt-fcn-handle.cc, pt-exp.h (tree_expression:dup): Likewise. - * pt-fcn-handle.h (tree_fcn_handle::dup, - tree_anon_fcn_handle::dup): Likewise. - * pt-id.cc, pt-id.h (tree_identifier::dup): Likewise. - * pt-idx.cc, pt-idx.h (tree_index_expression::dup): Likewise. - * pt-jump.cc, pt-jump.h (tree_break_command::dup, - tree_continue_command::dup, tree_return_command::dup): Likewise. - * pt-loop.cc, pt-loop.h (tree_while_command::dup, - tree_do_until_command::dup, tree_simple_for_command::dup, - tree_complex_for_command::dup): Likewise. - * pt-mat.cc, pt-mat.h (tree_matrix::dup): Likewise. - * pt-misc.cc, pt-misc.h (tree_parameter_list::dup, - tree_return_list::dup): Likewise. - * pt-select.cc, pt-select.h (tree_if_clause::dup, - tree_if_command_list::dup, tree_if_command::dup, - tree_switch_case::dup, tree_switch_case_list::dup, - tree_switch_command::dup, tree_statement::dup, - tree_statement_list::dup, tree_prefix_expression::dup, - tree_postfix_expression::dup): Likewise. - - * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, - octave_fcn_handle::save_binary, octave_fcn_handle::save_hdf5): - Pass context to symbol_table::all_variables. - * load-save.cc (dump_octave_core): Likewise. - * ov-fcn-handle.cc (Ffunctions): Don't skip anonymous functions - with the name set to the text of the function body. - Pass context to symbol_table::all_variables and - symbol_table::symbol_record::varval. - - * symtab.h (symbol_table::varref, symbol_table::do_varref, - symbol_table::varval, symbol_table::do_varval, - symbol_table::all_variables, symbol_table::do_all_variables, - symbol_table::symbol_record::varref, - symbol_table::symbol_record::varval, - symbol_table::symbol_record::is_defined, - symbol_table::symbol_record::is_variable, - symbol_table::symbol_record::symbol_record_rep::varref, - symbol_table::symbol_record::symbol_record_rep::varval, - symbol_table::symbol_record::symbol_record_rep::is_defined, - symbol_table::symbol_record::symbol_record_rep::is_variable, - ): - * symtab.h (symbol_table::do_inherit): New arg, donor_context. - Look for value in donor_contxt. Set value in base context. - * symtab.cc (symbol_table::symbol_record::symbol_record_rep::dump): - Pass xcurrent_context to varval. - -2008-05-06 David Bateman - - * ov-fcn-inline.cc (Finline): Also ignore NaN, Inf, pi, NA and eps. - - * bitfcns.cc (BITOP): Treat octave_bool types and octave_scalar. - -2008-05-06 John W. Eaton - - * symtab.h (symbol_table::scope_id_cache): New class. Use it to - replace scope_ids_in_use and scope_ids_free_list. - (symbol_table::erase_scope): Call free_scope. - (symbol_table::free_scope): Call scope_id_cache::free. - - * ov-fcn.h (octave_function::lock_subfunctions, - octave_function::unlock_subfunctions): New virtual functions. - (octave_function::lock_subfunctions): Call lock_subfunctions here. - (octave_function::unlock_subfunctions): Call unlock_subfunctions here. - * ov-usr-fcn.h (octave_user_function::lock_subfunctions, - octave_user_function::unlock_subfunctions): New functions. - - * symtab.h (symbol_table::lock_subfunctions, - symbol_table::lock_subfunctions, - symbol_table::fcn_info::lock_subfunction, - symbol_table::fcn_info::unlock_subfunction, - symbol_table::fcn_info::fcn_info_rep::lock_subfunction, - symbol_table::fcn_info::fcn_info_rep::unlock_subfunction): - New functions. - - * symtab.h (symbol_table::set_scope, symbol_table::get_instance): - Don't set instance unless allocation succeeds. - (symbol_table::print_scope, symbol_table::do_print_scope): Delete. - (symbol_table::free_scope): Avoid using invalid iterator. - (symbol_table::erase_scope): Call free_scope here. - - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, - octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): - Cache anonymous name here. - (octave_fcn_handle::octave_fcn_handle): Move here from - ov-fcn-handle.h. Cache name if function is user-defined. - - * pt-id.cc (tree_identifier::dup): Avoid shadow warning. - - * symtab.h (symbol_table::cache_name, symbol_table::do_cache_name): - New functions. - (symbol_table::get_instance): Cache top-level name here. - * parse.y (finish_function): Call symbol_table::cache_name here. - - * symtab.cc (F__dump_symtab_info__): New function. - - * symtab.cc (symbol_table::dump, symbol_table::dump_global, - symbol_table::dump_functions, symbol_table::do_dump, - symbol_table::symbol_record::symbol_record_rep::dump, - symobl_table::fcn_info::fcn_info_rep::dump): New functions. - * symtab.h: Provide decls. - (symtab::scopes, symbol_table::symbol_record::dump, - symbol_table::fcn_info::dump): New functions. - (symtab::get_instance): New arg, create; if false throw error if - instance for given scope is not found. - - * ov-base.cc (octave_base_value::dump): New virtual function. - * ov-base.h: Proivde decl. - * ov.h (octave_value::dump): New function. - - * ov.h, ov.c (octave_value::function_value): New const version. - * ov-base.h, ov-base.cc (octave_base_value::function_value): Likewise. - * ov-builtin.h (octave_builtin::function_value): Likewise. - * ov-fcn-handle.h (octave_fcn_handle::function_value): Likewise. - * ov-mex-fcn.h (octave_mex_function::function_value): Likewise. - * ov-usr-fcn.h (octave_user_script::function_value, - octave_user_function): Likewise. - - * symtab.h, symtab.cc: Use consistent naming scheme for iterator - typedefs. Change all uses. - - * variables.cc (F__print_symtab_info__, F__print_symbol_info__): - Delete. - - * ov-cell.cc (Fstruct2cell): Handle structure arrays properly. - -2008-05-05 David Bateman - - * sysdep.cc (Fputenv): Allow single arg. Alias to setenv. - -2008-05-05 John W. Eaton - - * input.cc (Fre_read_readline_init_file): New function. - -2008-05-04 John W. Eaton - - * ov-fcn-handle.cc (Ffunctions): Pass octave_value object instead - of Cell in structure field assignment. - - * parse.y (frob_function): Don't install subfunctions here. - (finish_function): Handle subfunctions here. - Conditionally define tree_function_def object here. - - * symtab.h (symbol_table::fcn_info::fcn_info_rep::find_function): - Initialize args_evaluated. - * pt-id.cc (tree_identifier::rvalue): Likewise. - * variables.cc (symbol_exist): Likewise. - - * pt-id.h (tree_identifier::tree_identifer): Delete useless statement. - - * variables.cc (get_global_value): Use symbol_table::global_varval - instead of passing scope to symbol_table::varval. - (set_global_value): Use symbol_table::global_varref - instead of passing scope to symbol_table::varref. - (do_who): Use symbol_table::glob_global_variables - instead of passing scope to symbol_table::glob_variables. - (do_clear_globals): - Use symbol_table::global_variable_names and - symbol_table::clear_global instead of passing scope to - symbol_table::clear_variables. - Use symbol_table::global_variable_names instead of passing scope - to symbol_table::variable_names. - - * unwind-prot.cc (unwind_protect::save_size_t): New function. - (saved_variable::restore_value): Handle size_t values. - (saved_variable::saved_variable): New size_t constructor. - (saved_variable::size_type): New var_type enum value. - (saved_variable::ptr_to_size_t, saved_variable::size_t_value): - New union elements. - * unwind-prot.h (unwind_protect::save_size_t): Provide decl - (unwind_protect_size_t): New macro. - - * toplev.cc (octave_call_stack::do_goto_frame, - octave_call_stack::do_goto_frame_relative): New functions. - (octave_call_stack::do_backtrace): Also return scope and context ids. - * toplev.h (octave_call_stack::do_goto_frame, - octave_call_stack::do_goto_frame_relative): Provide decls. - (octave_call_stack::curr_frame): New data member. - (octave_call_stack::octave_call_stack): Initialize it. - (octave_call_stack::call_stack_elt::scope, - (octave_call_stack::call_stack_elt::context): New data members., - (octave_call_stack::current_frame, - (octave_call_stack::do_current_frame - octave_call_stack::do_goto_frame, - octave_call_stack::do_goto_frame_relative): New functions. - (octave_call_stack::push, octave_call_stack::do_push): - New args, scope and context. - (octave_call_stack::do_push, octave_call_stack::do_pop): Update - curr_frame if debugging. - - * symtab.cc (symbol_table::global_table): New map for global values. - (symbol_table::xcurrent_context): New variable for context info. - * symtab.h: Provide decls. - (symbol_table::global_varref, symbol_table::global_varval, - symbol_table::current_context, - symbol_table::set_scope_and_context, - symbol_table::glob_global_variables, - symbol_table::global_variable_names, - symbol_table::top_leve_variable_names): - New functions. - (symbol_table::context_id, const_global_table_iterator, - global_table_iterator): New typedefs. - (symbol_table::xcurrent_context_this_table): New variable. - (symbol_table::symbol_table): Initialize it. - (symbol_table::set_scope): Use it. - (symbol_table::symbol_record::find, symbol_table::do_find): - Use symbol_table::global_varref instead of passing scope to - symbol_table::varref. - (symbol_table::symbol_record::symbol_record_rep::value_stack): - Now a std::deque instead of a std::stack. - (symbol_table::symbol_record::symbol_record_rep::push_context, - symbol_table::symbol_record::symbol_record_rep::pop_context): - Don't push or pop persistent of global variables. - (symbol_table::symbol_record::symbol_record_rep::varval, - Handle context here. Call symbol_table::global_varval instead of - passing scope to symbol_table::varval. - (symbol_table::symbol_record::symbol_record_rep::varref): - Handle context here. Call symbol_table::global_varref instead of - passing scope to symbol_table::varref. - (symbol_table::symbol_record::varref, - symbol_table::symbol_record::varval): No need to handle global - values specially here. - (symbol_table::symbol_record::push_context - symbol_table::symbol_record::pop_context: No need to handle global - or persistent values specially here. - (symbol_table::get_instance): Don't return global scope. - (symbol_table::do_push_context, symbol_table::do_pop_context): - Increment/decrement xcurrent_context. - (symbol_table::do_clear_global, symbol_table::do_clear_global_pattern): - Use global_table instead of separate scope. - - * symtab.h, symtab.cc (symbol_table::fcn_info::fcn_info_rep::find, - symbol_table::fcn_info::fcn_info_rep::find_function, - symbol_table::fcn_info::find, symbol_table::fcn_info::find_function, - symbol_table::find, symbol_table::find_function, - symbol_table::do_find, symbol_table::insert, symbol_table::varref, - symbol_table::varval, symbol_table::persistent_varref, - symbol_table::persistent_varval, symbol_table::erase_persistent, - symbol_table::is_variable, symbol_table::clear, - symbol_table::clear_variables, symbol_table::clear_global, - symbol_table::clear_variable, symbol_table::clear_global_pattern, - symbol_table::clear_variable_pattern, symbol_table::push_context, - symbol_table::pop_context, symbol_table::mark_hidden, - symbol_table::mark_global, symbol_table::glob, - symbol_table::glob_variables, symbol_table::variable_names, - symbol_table::is_local_variable, symbol_table::is_global): - Eliminate scope arg. Change all uses. - (symbol_table::erase_scope, symbol_table::dup_scope): - Require scope arg. - - * pt-stmt.cc (tree_statement::eval): Don't update statement info - in octave_call_stack if debugging. - - * pt-id.h (tree_identifier::xsym): New function. - (tree_identifier::rvalue, tree_identifier::lvalue, - tree_identifier::dup, tree_identifier::is_defined, - tree_identifier::is_variable, tree_identifier::mark_global, - tree_identifier::mark_as_static, tree_identifier::do_lookup, - tree_identifier::mark_as_formal_parameter): - Use xsym to access symbol. - (tree_identifier::scope): New data member. - (tree_identifier::tree_identifier): Initialize it. - - * ov-usr-fcn.cc (octave_user_script::octave_user_script, - octave_user_function::octave_user_function): - Initialize call_depth to -1. - (octave_user_script::do_multi_index_op): Fix comparison of - call_depth with Vmax_recursion_depth. - (octave_user_function::do_multi_index_op): - Compare call depth > 0, instead of > 1. - * ov-usr-fcn.h (octave_user_function::save_args_passed): - Compare call depth > 0, instead of > 1. - - * input.cc (Vdebugging): New variable. - (get_user_input): Eliminate DEBUG argument. Use global Vdebugging - variable instead. Change all callers. - (saved_frame): New static variable. - (restore_frame): New function. - (do_keyboard): Unwind-protect Vdebugging here and set it to TRUE. - Save current frame. Use unwind_protect to restore it. - (Fkeyboard): Save current frame. Use unwind_protect to restore it. - Move up the call stack one frame before calling do_keyboard. - * input.h (Vdebugging): Provide decl. - - * mex.cc (mexGetVariable): Handle global vars with get_global_value. - (mexPutVariable): Likewise, with set_global_value. - - * octave.cc (intern_argv): Assert that we are at the top level. - Don't pass scope to symbol_table::varref or symbol_table::mark_hidden. - - * load-save.cc (install_loaded_variable): Use - symbol_table::global_varref instead of passing global scope to - symbol_table::varref. - - * help.cc (make_name_list): Call symbol_table::global_variable_names - and symbol_table::top_level_variable_names instead of passing - scope to symbol_table::variable_names. - - * debug.cc (do_dbupdown, Fdbup, Fdbdown): New functions. - (current_stack_frame): Delete static variable. - (Fdbstack): Rename from F__dbstack__. Implement all of dbstack - here instead of partially in dbstack.m. - -2008-05-03 John W. Eaton - - * pt-arg-list.cc (F__end__): If there are more dimensions than - indices, smash extra dimensions first. - (num_indices): New static variable. - (tree_argument_list::convert_to_const_vector): Save and set it. - - * parse.y (parse_fcn_file): Also temporarily set parser_end_of_input - and get_input_from_eval_string to false while reading script files. - -2008-05-01 John W. Eaton - - * parse.y (load_fcn_from_file): Expect - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): - Search currently loaded .oct files by file name. Don't search - currently loaded files for functions. - (octave_shlib_list::find_file, octave_shlib_list::do_find_file): - New functions. - (octave_shlib_list::search, octave_shlib_list::do_search): Delete. - - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): No need to - do load_path lookups here. - (octave_shlib_list::iterator, octave_shlib_list::const_iterator): - New typedefs. - (octave_shlib_list::do_remove, octave_shlib_list::do_search, - octave_shlib_list::do_display): Use them. - (octave_mex_file_list::iterator, octave_mex_file_list::const_iterator): - New typedefs. - (octave_mex_file_list::do_remove): Use them. - -2008-05-03 Rafael Laboissiere - - * DLD-FUNCTIONS/time.cc, file_io.cc: Use ischar instead of - deprecated isstr. - -2008-04-30 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): - If function already exists, reload it anyway. Clear existing - oct_file only if reloading a function from the same file. - (octave_shlib_list::display): New static function. - (octave_shlib_list::do_display): New function. - - * symtab.cc (out_of_date_check_internal): Better handling for - functions found in files by relative file names. - (load_out_of_date_fcn): New function. - - * ls-oct-ascii.cc (extract_keyword): Return early if first char is - not a comment character. - (read_ascii_data): Accept .nargin. and .nargout. as valid identifiers. - - * ov-fcn-handle.cc: Combine tests. Test saving and loading - handles for built-in, .oct, and .m functions. - (octave_fcn_handle::save_ascii, octave_fcn_handle::save_binary, - octave_fcn_handle::save_hdf5, octave_fcn_handle::print): - Avoid dereferencing invalid pointer. - - * data.cc: Fix tests. Use "%!assert", not "%! assert" for - individual assert tests. - -2008-04-30 Jaroslav Hajek - - * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, - ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-cx-sparse.cc, ov-cx-sparse.h, ov-intx.h, ov-range.h, - ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, - ov-scalar.cc, ov-scalar.h, ov.h: - Provide log2 mapper function. - * data.cc (Flog2): New function. - -2008-04-25 John W. Eaton - - * pt-stmt.h (tree_statement_list::function_body): New data member. - (tree_statement_list::tree_statement_list): Initialize it. - (tree_statement_list::mark_as_script_body): New function. - (tree_statement::maybe_echo_code, tree_statement::eval): - Rename in_function_body argument to in_function_or_script_body. - * pt-stmt.cc (tree_statement::eval): Only set statement in call - stack if in_function_or_script_body is true. - - * pt-stmt.cc (tree_statement_list::eval): Call elt->eval with - function_body || script_body. - * ov-usr-fcn.cc (octave_user_script::octave_user_script): - command list as script body here. - (octave_user_function::octave_user_function): - Mark command list as function body here. - * parse.y (start_function, make_anon_fcn_handle): Not here. - - * toplev.h, toplev.cc (octave_call_stack::backtrace, - octave_call_stack::do_backtrace): New arg, N. Skip innermost N - stack frames. - - * debug.cc (F__dbstack__): New function. - (current_stack_frame): New static variable. - - * error.cc (verror, pr_where): Use octave_call_stack instead of - tree_statement stack to get line and column information. - (pr_where): Use octave_call_stack instead of tree_statement stack - to get current statement. - * input.cc (get_user_input): Extract current line number from - octave_call_stack instead of tree_statement_stack. - * pt-stmt.cc (tree_statement::eval): Put current statement on - octave_call_stack instead of tree_statement_stack. - * pt-stmt.h, pt-stmt.cc (class tree_statement_stack): Delete. - - * toplev.h, toplev.cc (octave_call_stack::call_stack_elt): - New nested struct. - (octave_call_stack::cs): Now a deque of call_stack_elts. - Change all uses. - (octave_call_stack::current_statement, - octave_call_stack::current_line, - octave_call_stack::current_column, - octave_call_stack::top_statement, - octave_call_stack::set_statement, octave_call_stack::backtrace): - New static functions. - (octave_call_stack::do_current_line, - octave_call_stack::do_current_column, - octave_call_stack::do_top_statement, - octave_call_stack::do_set_statement, - octave_call_stack::do_backtrace): New member functions. - -2008-04-24 John W. Eaton - - * toplev.h, toplev.cc (octave_call_stack::unwind_pop_script): - Delete unused function. - - * ov-usr-fcn.cc: Move constructor definitions here, from ov-usr-fcn.h. - * ov-usr-fcn.h (octave_user_script::octave_user_script): - Also Initialize t_parsed and t_checked. - -2008-04-24 Jaroslav Hajek - - * ov-usr-fcn.h (octave_user_script::octave_user_script): - Initialize call_depth. - -2008-04-24 John W. Eaton - - * file-io.cc (do_stream_open): Return -1 for directories. - -2008-04-23 John W. Eaton - - * DLD-FUNCTIONS/__qp__.cc (qp): Avoid bounds error when removing - constraint from active set. - - * lex.l (text_yyinput): New function. Use it in place of yyinput. - (next_token_is_sep_op, scan_for_comments, eat_whitespace, - have_continuation): No need to check for CR or CRLF. - * parse.y (text_getc): Also return NL for single CR. - -2008-04-32 Michael Goffioul - - * input.cc (get_input_from_file): Open file in binary mode. - -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 - - * lex.l, lex.h (process_comment): New arg, start_in_block. Call - grab_block_comment if start_in_block is true. Change all uses. - * lex.l (grab_block_comment): New function. - (grab_comment_block): New arg, at_bol. Change all uses. - Call grab_block_comment if we find the start of a block comment. - (block_comment_nesting_level): New static variable. - (^{S}*{CCHAR}\{{S}*{NL}): New rule. - (<>): Warn about open block comments. - (reset_parser): Set block_comment_nesting_level to zero. - * parse.y (parse_fcn_file): Stash help text from - gobble_leading_white_space after calling reset_parser. - (text_getc): Keep track of input_line_number here. - (skip_white_sapce): Don't increment input_line_number here. - * lex.l (grab_comment_block): Or here. - - * lex.l (Vdisplay_tokens): New static variable. - (F__display_tokens__): New function. - (display_token): New function. - (DISPLAY_TOK_AND_RETURN): New macro. - (COUNT_TOK_AND_RETURN): Use DISPLAY_TOK_AND_RETURN. - ([\"\'], "'", \"): Move handle_string outside of - COUNT_TOK_AND_RETURN macro parameter list. - (handle_identifier): Don't use macros to return token values here. - ({S}*{COMMENT}{SNLCMT}*|{S}*{NL}{SNLCMT}*): - Recognize block comments here. - - * pr-output.cc (Fdisp): If nargout > 0, produce an sq-string - unless arg is a dq-string. - -2008-04-17 John W. Eaton - - * parse.y (looks_like_copyright): Handle leading whitespace. - (class stdio_stream_reader): New class. - (skip_white_space): New function. - (gobble_leading_white_space): New arg, EOF. Change all uses. - Use skip_white_space and grab_comment_block to process comments. - (process_leading_comments): Delete. - (parse_fcn_file): Call gobble_leading_white_space instead of - process_leading_comments. - Skip parsing if gobble_leading_white_space detects EOF. - * lex.l (process_comment): Delete CCHAR arg. Change all uses. - ({CCHAR}): Unput comment character before calling process_comment. - (grab_comment_block): Rename from grab_help_text. Don't discard - spaces from comment text. Update input_line_number and - current_input_column as characters are read. Warn only once about - incompatible comment characters in a given block of comments. - Use stream_reader class instead of accessing yyinput and yyunput - directly. - (class flex_stream_reader): New class. - (process_comment): Use grab_comment_block to handle all comments. - Don't call maybe_gripe_matlab_incompatible_comment. - Always store comment text returned by grab_comment_block. - * lex.h (grab_comment_block): Provide decl. - (class stream_reader): New class. - -2008-04-16 John W. Eaton - - * parse.y (Fautoload, Fmfilename): Call - octave_call_stack::caller_user_code, not - octave_call_stack::caller_user_script_or_function. - * toplev.cc, toplev.h (octave_call_stack::caller_user_code): - Rename from octave_call_stack::caller_user_script_or_function. - (octave_call_stack::do_caller_user_code): Rename from - octave_call_stack::do_caller_user_script_or_function. - * ov-usr-fcn.h (class octave_user_code): New class, derived from - octave_fucntion. - (class octave_user_function, class octave_user_script): Derive - from octave_user_code, not octave_function. - (octave_user_script::user_code_value, - octave_user_function::user_code_value): New functions. - * ov.cc (octave_value::user_script_value, - octave_value::user_code_value): New functions. - * ov.h: Provide decls. - (octave_value::is_user_code, octave_value::is_user_script): - New functions. - * ov-base.cc (octave_base_value::user_script_value, - octave_base_value::user_code_value): New virutal functions. - * ov-base.h: Provide decls. - (octave_base_value::is_user_script, octave_base_value::is_user_code): - New virtual functions. - * error.cc (verror, pr_where, error_2, warning_1): - Call octave_call_stack::caller_user_code instead of - octave_call_stack::caller_user_script_or_function - * input.cc (get_user_input): Likewise. - * debug.h (bp_table::breakpoint_map): Use pointer to - octave_user_code instead of octave_user_function. - * debug.cc (get_user_code): Rename from get_user_function. - Return pointer to octave_user_code instead of octave_user_function. - Change all uses. - (bp_table::do_add_breakpoint, bp_table::do_remove_breakpoint, - bp_table::do_remove_all_breakpoints_in_file, - bp_table::do_get_breakpoint_list): - Avoid dereferencing invalid pointers. - (parse_dbfunction_params): Call - octave_call_stack::caller_user_code, not - octave_call_stack::caller_user_script_or_function. - - * load-save.cc (Fsave): Fix continuation character in doc string. - - * pt-walk.h (tree_walker::visit_function_def): New function. - * pt-pr-code.cc (tree_print_code::visit_function_def): New function. - * pt-pr-code.h: Provide decl. - * pt-bp.cc (tree_breakpoint::visit_function_def): New function. - * pt-bp.h: Provide decl. - * pt-check.cc (tree_checker::visit_function_def): New function. - * pt-check.h: Provide decl. - - * parse.y (finish_function): Return ptr to tree_function_def object - if curr_fcn_ptr is not defined. Avoid dereferencing invalid pointers. - (frob_function): Set curr_fcn_ptr only when reading a function file. - (function): Call finish function in both cases to generate value - of production. - - * pt-cmd.h, pt-cmd.cc (tree_function_def): New class. - - * parse.y (parse_and_execute): Delete. - * parse.h: Delete decl. - - * pt-pb.cc (tree_breakpoint::visit_octave_user_script): New function. - * pt-pb.h: Provide decl. - * pt-check.cc (tree_checker::visit_octave_user_script): New function. - * pt-check.h: Provide decl. - * pt-pr-code.cc (tree_print_code::visit_octave_user_script): - New function. - * pt-pr-code.h: Provide decl. - * pt-walk.h (visit_octave_user_script): New pure virtual function. - - * parse.y (make_script, process_leading_comments, - looking_at_function_keyword): New static functions. - (SCRIPT): New token. - (script): New non-terminal. - (command): Handle script here. - (parse_fcn_file): Eliminate EXEC_SCRIPT argument. Change all - callers. Parse scripts and return an octave_user_script rather - than executing them here. - (load_fcn_from_file): Handle script and function files the same. - (source_file): Call d_multi_index_op on object returned by - parse_fcn_file. - (is_function_file): Delete. - (gobble_leading_white_space): Don't recurse. Simplify. Eliminate - SKIP_CODE, IN_PARTS, and SAVE_COPYRIGHT arguments. Change all - callers. - (octave_function_ptr): Delete unused typedef. - (get_help_from_file): If help text isn't found by - gobble_leading_whitespace, parse file to find it. - - * lex.l (SCRIPT_FILE_BEGIN): New exclusive start state. - (prep_lexer_for_script): New function. - (grab_help_text): New arg, EOF. - (process_comment): New function. - ({CCHAR}): Use it. - * lex.h (prep_lexer_for_script): Provide decl. - - * lex.h, lex.cc, parse.y (lexical_feedback::beginning_of_function): - Delete data member and all uses. - - * ov-usr-fcn.cc (octave_user_script::~octave_user_script): - Move destructor here from ov-usr-fcn.h. Delete cmd_list. - (octave_user_script::subsref, octave_user_script::accept, - octave_user_script::traceback_error): New functions. - (octave_user_script::do_multi_index_op): - Execute cmd_list instead of calling source_file. - * ov-usr-fcn.h (octave_usr_script::cmd_list, - octave_usr_script::t_parsed, octave_usr_script::t_checked, - octave_usr_script::call_depth): New data members. - (octave_usr_script::octave_usr_script): Initialize all data members. - (octave_usr_script::octave_usr_script (const std::string&, const - std::string&, tree_statement_list *, const std::string&)): - New constructor. - (octave_usr_script::function_value, - octave_usr_script::user_script_value, mark_fcn_file_up_to_date, - octave_usr_script::stash_fcn_file_time, - octave_usr_script::time_parsed, octave_usr_script::time_checked, - octave_usr_script::subsref, octave_usr_script::body): New functions. - (octave_user_script::subsref, octave_user_script::accept, - octave_user_script::traceback_error): Provide decls. - -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-07 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc (Fqrshift): New function. - * DLD-FUNCTIONS/chol.cc (Fcholinsert, Fcholdelete, Fcholshift): - New functions. - -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-01 John W. Eaton - - * pt-id.h (do_lookup (bool&, bool)): Delete. - (do_lookup (tree_argument_list *, const string_vector&, - octave_value_list&, bool&)): Call MAYBE_DO_BREAKPOINT here. - -2008-04-02 David Bateman - - * graphics.cc (void gnuplot_backend::close_figure (const - octave_value&) const): Allow for an input and output stream. - -2008-03-28 Jaroslav Hajek - - * DLD-FUNCTIONS/lookup.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2008-03-28 David Bateman - - * ov-complex.cc (SCALAR_MAPPER, CD_SCALAR_MAPPER): New macro for - complex values with zero imaginary part. - (erf, erfc, gamma, lgamma): Use the new mappers to define these - mapper functions. - * ov-complex.h (erf, erfc, gamma, lgamma): Declare them. - * ov-cx-mat.cc (any_element_less_than, any_element_greater_than): - New static functions - (DARRAY_MAPPER, CD_ARRAY_MAPPER): New macro for complex values - with zero imaginary part. - (erf, erfc, gamma, lgamma): Use the new mappers to define these - mapper functions. - * ov-cx-mat.h (erf, erfc, gamma, lgamma): Declare them. - * ov-cx-sparse.cc (any_element_less_than, any_element_greater_than): - New static functions - (DSPARSE_MAPPER, CD_SPARSE_MAPPER): New macro for complex values - with zero imaginary part. - (erf, erfc, gamma, lgamma): Use the new mappers to define these - mapper functions. - * ov-cx-sparse.h (erf, erfc, gamma, lgamma): Declare them. - * ov-re-sparse.cc (CD_SPARSE_MAPPER): Use correct mapper functors. - * mapper.cc: Add tests for the above cases. - -2008-03-27 John W. Eaton - - * DLD-FUNCTIONS/max.cc: Rename from minmax.cc. - * Makefile.in (DLD_XSRC): Rename minmax.cc to max.cc. - - * DLD-FUNCTIONS/__convn__.cc (convn): Use traits class and - typedefs to allow all types to be deduced from argument types. - -2008-03-27 S�ren Hauberg - - * DLD-FUNCTIONS/__convn__.cc (Fconvn): Allow convolving real data with - complex data. - -2008-03-26 John W. Eaton - - * ov-range.h (octave_range::subsref (const std::string&, - const std::list&, int)): - Forward to simple subsref. - * ov-base-sparse.h (octave_base_sparse::subsref (const std::string&, - const std::list&, int)): Likewise. - * ov-base-scalar.h (octave_base_sparse::subsref (const std::string&, - const std::list&, int)): Likewise. - * ov-base-matrix.h (octave_base_matrix::subsref (const std::string&, - const std::list&, int)): Likewise. - - * ov-struct.cc, ov-cell.h (octave_cell::subsref (const - std::string&, const std::list&, int)): - Define nargout version of subsref instead of simple version. - * ov-struct.cc, ov-struct.h (octave_struct::subsref (const - std::string&, const std::list&, int)): - Define nargout version of subsref instead of simple version. - - * ov-builtin.h (octave_builtin::subsref (const std::string&, - const std::list&): Forward to nargout subsref. - * ov-cell.h (octave_cell::subsref (const std::string&, - const std::list&)): - * ov-class.h (octave_class::subsref (const std::string&, - const std::list&): Likewise. - * ov-fcn-handle.h (octave_fcn_handle::subsref (const std::string&, - const std::list&): Likewise. - * ov-list.h (octave_list::subsref (const std::string&, - const std::list&): Likewise. - * ov-mex-fcn.h (octave_mex_function::subsref (const std::string&, - const std::list&): Likewise. - * ov-struct.h (octave_struct::subsref (const std::string&, - const std::list&)): - * ov-usr-fcn.h (octave_user_function::subsref (const std::string&, - const std::list&): Likewise. - - * ov.cc (octave_value::subsref): Use value of nargout instead of - is_constant method to decide which type of subsref method to call. - (octave_value::assign): Always call simple subref method here. - - * DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/det.cc, - DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/inv.cc, - DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/symrcm.cc, file-io.cc): - Texinfo fixes. - -2008-03-26 S�ren Hauberg - - * DLD-FUNCTIONS/__convn__.cc (Fconvn): - Call complex_array_value to extract N-d array. - -2008-03-26 John W. Eaton - - * ov-base-sparse.cc (octave_base_sparse::print_raw): - Also display percentage of elements that are nonzero. - -2008-03-25 S�ren Hauberg - - * DLD-FUNCTIONS/__convn__.cc: New file. - * Makefile.in: Add __convn__.cc - -2008-03-25 David Bateman - - * DLD-FUNCTIONS/hex2num.cc: New function - * Makefile.in (DLD_XSRC): Add hex2num.cc. - -2008-03-25 Jaroslav Hajek - - * mappers.cc (Fexpm1, Flog1p): New functions. - * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, - ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-cx-sparse.cc, ov-cx-sparse.h, ov-range.h, ov-re-mat.cc, - ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, ov-scalar.cc, - ov-scalar.h, ov.h: - Provide expm1 and log1p functions. - - * mappers.cc (Froundb): New functions - * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, - ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, - ov-cx-sparse.cc, ov-cx-sparse.h, ov-intx.h, ov-range.h, - ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, - ov-scalar.cc, ov-scalar.h, ov.h: - Provide roundb mapper function. - -2008-03-25 Jaroslav Hajek - - * load-save.cc (save_vars): Handle -struct modifier. - (save_fields): New function. - (Fsave): Document new feature. - -2008-03-25 John W. Eaton - - * lex.h (lexical_feedback::looking_at_initializer_expression): - New data member. - * lex.l (lexical_feedback::init): Initialize it. - (handle_identifier): Don't unconditionally force identifiers to be - variables in the current scope. Don't call force_local_variable - for symbols that appear in parameter initializer expressions. - * parse.y (decl_param_init): New parser "subroutine". - (decl2): Use it. Set lexer_flags.looking_at_initializer_expression - to false after parsing initializer. - -2008-03-24 David Bateman - - * data.cc (map_s_s): Fix for sparse/sparse mappers that resulted - in an empty sparse matrix being returned. - (Fhypot): New function based on the libm hypot function. - -2008-03-24 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-21 John W. Eaton - - * ov-cell.h (octave_cell::is_constant): Return true. - * ov-cell.h, ov-cell.cc (octave_cell::subsref (const std::string&, - const std::list&)): Define. - (octave_cell::subsref (const std::string&, - const std::list&, int)): Call panic_impossible. - - * ov-struct.h (octave_struct::is_constant): New function. - * ov-struct.h, ov-struct.cc (octave_struct::subsref (const std::string&, - const std::list&)): Define. - (octave_struct::subsref (const std::string&, - const std::list&, int)): Call panic_impossible. - -2008-03-21 David Bateman - - * DLD-FUNCTIONS/amd.cc: New file. - * Makefile.in (DLD_XSRC): Add amd.cc. - -2008-03-20 David Bateman - - * Cell.cc (Cell Cell::diag (void) const): delete. - (Cell Cell::diag (octave__idx_type) const):Rewrite in terms of - template classes function. - * Cell.h (Cell diag (void) const): delete. - - * ov.h (octave_value diag (octave_idx_type) const): New method. - * ov-base.h (virtual octave_value diag (octave_idx_type) const): - New virtual method. - * ov-base.cc (octave_value octave_base_value::diag - (octave_idx_type) const): New default method. - - * ov-base-mat.h (octave_value diag (octave_idx_type) const): New - method. - * ov-base-sparse.h (octave_value diag (octave_idx_type) const): New - method. - * ov-base-scalar.h (octave_value diag (octave_idx_type) const): New - method. - * ov-range.h (octave_value diag (octave_idx_type) const): New - method. - - * data.cc (make_diag, make_spdiag): Delete. - (Fdiag): Rewrite in terms of octave_value diag function. - - * data.cc (static octave_value make_diag (const Cell&, - octave_idx_type)): New instantiation of template function. - (static octave_value make_diag (const octave_value&, - octave_idx_type)): Allow cell arrays. - - * Cell.cc (Cell Cell::diag (void) const, Cell Cell::diag - (octave__idx_type)): New methods for diagonal matrices. - * Cell.h (Cell Cell::diag (void) const, Cell Cell::diag - (octave__idx_type)): Declare them. - -2008-03-18 David Bateman - - * ov-re-mat.cc (lgamma): Convert to a allow negative arguments. - * ov-re-sparse.cc (lgamma): ditto. - * ov-scalar.cc (lgamma): ditto. - - * DLD-FUNCTIONS/minmax.cc: 64-bit indexing fix. - -2008-03-13 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Handle num_named_args in initialization list instead of functinon body. - - * octave.gperf: Eliminate varargin and varargout keywords. - * lex.l (is_keyword_token): Eliminate varargin_kw and varargout_kw - from switch statement. - * parse.y (return_list): Eliminate special cases for VARARGOUT. - Call validate on tree_parameter_list object. - (param_list1): Likewise, for VARARGIN. - * pt-misc.cc (tree_parameter_list::validate): New function. - (tree_parameter_list::mark_varargs_only): Now private. - (tree_parameter_list::mark_varargs): Now private. - * pt-misc.h (tree_parameter_list::validate): Provide decl. - -2008-03-12 John W. Eaton - - * variables.cc (Vwhos_line_format): Omit print_dims parameter. - Fix doc string in Vwhos_line_format DEVAR. - (symbol_record_name_compare): Delete unused function. - (whos_parameter::dimensions): Delete struct field. - (symbol_info_list): New class. - (dimensions_string_req_first_space, make_dimensions_string, - dimensions_string_req_total_space): Delete. - (parse_whos_line_format): Move functionality to new - symbol_info_list class. - (print_symbol_info_line): Move functionality to new - symbol_info_list::struct symbol_info::displaly_line method. - (do_who): Simplify with new symbol_info_list class. - Handle index expressions in addition to symbol names. - - * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Fix separator detection. - -2008-03-11 John W. Eaton - - * DLD-FUNCTIONS/eig.cc (Feig): Handle possible error from EIG. - * DLD-FUNCTIONS/qp.cc (qp, Fqp): Likewise. - * xpow.cc (xpow): Likewise. - -2008-03-11 John W. Eaton - - * DLD-FUNCTIONS/dlmread.cc: Style fixes. - -2008-03-11 David Bateman - - * DLD-FUNCTIONS/dlmread.cc: Function ported from octave forge. Add - spreadsheet style ranges. - * Makefile.in (DLD_XSRC): Add dlmread.cc. - -2008-03-10 John W. Eaton - - * mex.cc (mxCreateLogicalScalar): Argument is now mxLogical. - - * data.cc (Fisfloat): New function. - * ov.h (octave_value::is_float_type): Ditto. - * ov-base.h (octave_base_value::is_float_type): Ditto. - * ov-complex.h (octave_complex): Ditto. - * ov-cx-mat.h (octave_complex_matrix): Ditto. - * ov-cx-sparse.h (octave_sparse_complex_matrix): Ditto. - * ov-range.h (octave_range): Ditto. - * ov-re-mat.h (octave_matrix): Ditto. - * ov-re-sparse.h (octave_sparse_matrix): Ditto. - * ov-scalar.h (octave_scalar): Ditto. - - * mxarray.h.in (mxLogical): Use unsigned char instead of int. - From Antwerpen, G. (Gert) van . - -2008-03-07 John W. Eaton - - * ov-struct.cc (octave_struct::print_raw): Don't print contents fo - struct arrays that have more than one element. - -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 - - * parse.y: Move tests here from test/test_eval.m. - * DLD-FUNCTIONS/fft.cc: Move tests here from test/test_signal.m. - * DLD-FUNCTIONS/dassl.cc: Move tests here from test/test_diffeq.m. - * DLD-FUNCTIONS/lsode.cc: Move tests here from test/test_diffeq.m. - * DLD-FUNCTIONS/quad.cc: Move tests here from test/test_quad.m. - * DLD-FUNCTIONS/time.cc: Move tests here from test/test_system.m. - -2008-03-06 Alexander Barth - - * DLD-FUNCTIONS/__lin_interpn__.cc (lookup): - Handle decreasing coordinate values. - -2008-03-05 Jaroslav Hajek - - * DLD-FUNCTIONS/chol.cc (Fcholupdate): Adjust code to meet - Octave's coding guidelines. - - * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): Adjust - code to meet Octave's coding guidelines. - * DLD-FUNCTIONS/qr.cc (Fqrdelete): Fix incorrect test. - - * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): Modify to use - 0-based indexing in liboctave's QR classes. - -2008-03-04 Jaroslav Hajek - - * DLD-FUNCTIONS/chol.cc (Fcholupdate): New function. - - * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): - New functions. - -2008-03-04 Ryan Rusaw - - * toplev.h (octave_call_stack::element): New static function. - (octave_call_stack::cs): Now std::deque instead of std::list. - - * pt-stmt.cc (curr_statement, curr_caller_statement): Delete. - * pt-stmt.h: Delete decls. - - * pt-stmt.h, pt-stmt.cc (tree_statement_stack): New class. - - * pt-stmt.cc (tree_statement::eval): Use tree_statement_stack - instead of curr_statement variable. - - * ov-usr-func.cc (octave_user_function::do_multi_index_op): - Don't set curr_caller_statement. - - * error.cc (verror, pr_where): Call tree_statement_stack::current_line - and tree_statement_stack::current_column instead of - instead of curr_statement->line and curr_statement->column. - * input.cc (get_user_input): Likewise. - -2008-02-27 John P. Swensen - - * debug.cc (get_user_function): Call symtab::find_function instead - of symtab::find_user_function. - -2008-02-27 John W. Eaton - - * oct-stream.cc (do_read): Stop reading if seek fails. - -2008-02-26 John W. Eaton - - * ov-base-int.cc (octave_base_int_helper, - octave_base_int_helper_traits): New templates and specializations. - (octave_base_int_matrix::convert_to_str_internal, - octave_base_int_matrix::convert_to_str_internal): Use them. - - * DLD-FUNCTIONS/rand.cc (do_rand): Pass name of calling function - to octave_rand::state. - - * variables.cc (bind_ans): Handle cs-lists recursively. - - * ov-cs-list.h, ov-cs-list.cc (octave_cs_list::print, - octave_cs_list::print_raw): Delete. - -2008-02-25 John W. Eaton - - * Cell.cc (Cell::map): New function. - * Cell.h (Cell::map): Declare. - (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, - xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, - xisxdigit, xtoascii, xtolower, xtoupper): New mapper functions. - (ctype_mapper): New private typedef. - - * ov-cell.h (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, - xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, - xisxdigit, xtoascii, xtolower, xtoupper): New mapper functions. - -2008-02-25 Michael Goffioul - - * ov-scalar.cc (octave_scalar::round): Use xround instead of ::round - in mapper implementation. - -2008-02-25 John W. Eaton - - * ov-base.cc (UNDEFINED_MAPPER, STRING_MAPPER): New macros. Use - them to define mapper functions. - - * mappers.cc (Fisalnum, Fisalpha, Fisascii, Fiscntrl, Fisdigit, - Fisgraph, Fislower, Fisprint, Fispunct, Fisspace, Fisupper, - Fisxdigit, Ftoascii, Ftolower, Ftoupper): - Use DEFUNX to define ctype mapper functions. - Use new function names. - - * ov-base.h, ov-base.cc, ov-str-mat.h, ov-str-mat.cc: - Prepend x to ctype mapper function names. - - * graphics.h.in (row_vector_property::row_vector_property): - Set default constraints here. - (row_vector_property::add_constraint): New function. - (row_vector_property::validate): Delete decl. - (axes::properties::init): Use single-arg add_constraint function - for xlim, ylim, zlim, clim, and alim properties. - - * graphics.cc (row_vector_property::validate): Delete. - - * graphics.cc (axes::properties::update_camera, - axes::properties::update_aspectratios): - Avoid shadow warnings from GCC. - - * graphics.h.in (base_properties::get_bounding_box): - Avoid unused argument warning from GCC. - - * graphics.h.in (array_property::add_constraint): Arg is now const - reference, not value. - - * graphics.h.in, graphics.cc (class row_vector_property): New class. - (axes::properties): xlim, ylim, zlim, clim, alim, xtick, ytick, - ztick properties are now row_vector_property objects instead of - array_property objects. - - * genprops.awk: Special case row_vector_property in the same way - as array_property. - -2008-02-22 John W. Eaton - - * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/colamd.cc, - DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/dmperm.cc, - DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/symbfact.cc, zfstream.h, zfstream.cc: - Use 0 instead of NULL. - -2008-02-22 David Bateman - - * DLD-FUNCTIONS/chol.c (Fchol, Fcholinv, Fchol2iinv): Treat - sparse matrices. Add the "lower" and "vector" flags. - * DLD-FUNCTIONS/inv.c (Finv): Treat sparse matrices. - * DLD-FUNCTION/sparse.cc (static bool is_sparse (const - octave_value&)): Remove and use arg.is_sparse_type () instead. - (Fspcumprod, Fspcumsum, Fspprod, spsum, spsumsq, spdiag): Remove. - * DLD-FUNCTIONS/splu.cc: Remove. - * DLD-FUNCTIONS/lu.cc: Treat sparse matrices, Add "vector" flag. - * DLD-FUNCTIONS/spchol.cc: Move to symbfact.cc - * DLD-FUNCTIONS/symbfact.cc: Remove cholesky functions Fspchol, - Fspcholinv, Fspchol2inv. - * DLD-FUNCTIONS/luinc.cc: Modify for new sparse LU - constructors. Ass the 'vector' flag. - * DLD-FUNCTIONS/spparms.cc: Add the sum_tol flag. - - * Makifile.in (DLD_XSRC): Remove spchol.cc, splu.cc and add - symbfact.cc - * data.cc (NATIVE_REDUCTION): Treat sparse matrices - (DATA_REDUCTION): Ditto. - (template static octave_value make_spdiag (const T&, - octave_idx_type)): New template function for sparse diag - function. Instantiate it. - (static octave_value make_diag (const octave_value&, - octave_idx_type): Use make_spdiag for sparse matrice. - (Fatan2): Compatibility fixes for mixed full/sparse matrices. - -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-20 John W. Eaton - - * data.cc (map_d_m, map_m_d, map_m_m, Fatan2, Ffmod): - Handle N-d arrays. - - * ov-bool-mat.h (octave_bool_matrix (const Array2&)): Delete. - -2008-02-20 David Bateman - - * DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/find.cc, - * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qr.cc: - Treat sparse matrices. - - * DLD-FUNCTIONS/sparse.cc (Fspmin, Fspmax, Fatan2): Remove functions. - - * DLD-FUNCTIONS/dmperm.cc: Rename from spqr.cc. - (Fspqr): Delete function. - - * DLD-FUNCTIONS/spqr.cc, DLD-FUNCTIONS/spdet.cc, - DLD-FUNCTIONS/spfind.cc: Remove. - - * Makefile.in (DLD_XSRC): Add dmperm.cc to the list. - Delete det.cc, find.cc, minmax.cc, and qr.cc from the list. - - * Makefile.in (OV_SRC): Remove ov-mapper.cc. - (OV_INCLUDES): Remove ov-mapper.h. - (DEFUN_PATTERN): No longer accept DEFUN_MAPPER as valid. - * ov-mapper.cc, ov-mapepr.h: Delete, remove all includes of - ov-mapper.h from all files. - - * op-b-sbm.cc, op-bm-sbm.cc, op-smb-b.cc, op-sbm-bm.cc: Include - ov-bool-sparse.h. - - * defun-int.h (DEFUN_MAPPER_INTERNAL, install_builtin_mapper): - Remove. - * defun.cc (install_builtin_mapper): Ditto. - * defun.h (DEFUN_MAPPER): Remove. - - * mappers.cc: Rewrite all mapper function using DEFUN and newly - introduced octave_value mapper functions. - (dummyp, xabs, xisalnum, xisascii, xiscntrl, xisdigit, - xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, - xtoascii, xtolower, xtoupper, xconj, ximag, xreal): Remove - static wrapper functions. - - * mkbuiltins (XDEFUN_MAPPER_INTERNAL, install_builtin_functions): - Remove. - * mkgendoc (XDEFUN_MAPPER_INTERNAL): Remove. - - * ov.cc (octave_mapper::register_type): Remove. - - * ov.h (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, - ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, - imag, isinf, isna, isnan, lgamma, log, log10, real, round, signum, - sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, iscntrl, - isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, - isxdigit, toascii, tolower, toupper): - New octave_value mapper functions. - - * ov-base.h (abs, acos, acosh, angle, arg, asin, asinh, atan, - atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, - gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, - signum, sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, - iscntrl, isdigit, isgraph, slower, isprint, ispunct, isspace, - isupper, isxdigit, toascii, tolower, toupper): - New virtual mapper functions. - * ov-base.cc (abs, acos, acosh, angle, arg, asin, asinh, atan, - atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, - gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, - signum, sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, - iscntrl, isdigit, isgraph, slower, isprint, ispunct, isspace, - isupper, isxdigit, toascii, tolower, toupper): - Base versions of mapper functions. - - * ov-bool-mat.h (abs, acos, acosh, angle, arg, asin, asinh, atan, - atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, - gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, - signum, sin, sinh, sqrt, tan, tanh): - Mapper function recast boolen matrix as double. - * ov-bool.h (abs, acos, acosh, angle, arg, asin, asinh, atan, - atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, - gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, - signum, sin, sinh, sqrt, tan, tanh): Ditto. - * ov-bool-sparse.h (abs, acos, acosh, angle, arg, asin, asinh, - atan, atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, - floor, gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, - round, signum, sin, sinh, sqrt, tan, tanh): Ditto. - (char_array_value): New method to convert to charNDArray. - * ov-bool-sparse.cc (char_array_value): New method to convert to - charNDArray. - * ov-complex.cc (char_array_value): ditto. - (xabs, ximag, xreal): Static wrapper functions. - (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, - conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, - isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, - tanh): New mapper methods. - * ov-complex.h: Provide decls. - - * ov-cx-mat.cc (char_array_value): New method to convert to - charNDArray. - (xabs, ximag, xreal): Static wrapper functions. - (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, - conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, - isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, - tanh): New mapper methods. - * ov-cx-mat.h: Provide decls. - - * ov-cx-sparse.cc (char_array_value): New method to convert to - charNDArray. - (xabs, ximag, xreal): Static wrapper functions. - (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, - conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, - isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, - tanh): New mapper methods. - * ov-cx-sparse.h: Provide decls. - - * ov-intx.h (abs, signum, imag, ceil, conj, fix, floor, real, - round, finite, isinf, isna, isnan): Define for both matrix and - scalar classes. - - * ov-range.h (abs, acos, acosh, angle, arg, asin, asinh, atan, - atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, - gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, - signum, sin, sinh, sqrt, tan, tanh): New mapper functions. - - * ov-re-mat.cc (any_element_less_than): Static function to check if - any elemet was less than a value, - (any_element_greater_than): Ditto with greater than. - (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, - conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, imag, - isinf, isna, isnan, lgamma, log, log10, real, round, signum, sin, - sinh, sqrt, tan, tanh): New mapper functions. - * ov-re-mat.h: Provide decls. - - * ov-scalar.cc (any_element_less_than): Static function to check if - any elemet was less than a value, - (any_element_greater_than): ditto with greater than. - (abs acos acosh angle arg asin asinh atan atanh - ceil conj cos cosh erf erfc exp finite fix floor gamma imag - isinf isna isnan lgamma log log10 real round signum sin sinh - sqrt tan tanh): New mapper functions. - * ov-scalar.h: Provide decls. - - * ov-str-mat.cc (xisalnum, xisascii, xiscntrl, xisdigit, - xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, - xtoascii, xtolower, xtoupper): New static wrapper functions. - (isalnum, isalpha, isascii, iscntrl, isdigit, isgraph, islower, - isprint, ispunct, isspace, isupper, isxdigit, toascii, tolower, - toupper): New mapper methods. - * ov-str-mat.h: Provide decls. - -2008-02-18 David Bateman - - * data.cc (Fatan2): Reject arguments that are integer types. - -2008-02-19 Jaroslav Hajek - - * DLD-FUNCTIONS/qr.cc: Doc fix. - -2008-02-18 John W. Eaton - - * symtab.h - (symbol_table::fcn_info::fcn_info_rep::clear_unlocked_functions): - symbol_table::fcn_info::fcn_info_rep::clear_cmdline_function, - symbol_table::fcn_info::fcn_info_rep::clear_autoload_function): - New functions. - (symbol_table::fcn_info::fcn_info_rep::clear_user_function): - Don't clear locked functions. - (symbol_table::fcn_info::fcn_info_rep::clear_mex_function): - Call clear_user_function instead of setting function_on_path directly. - (symbol_table::fcn_info::fcn_info_rep::clear): - Use new functions to do the real work. - - * ov.h (octave_value::lock, octave_value::unlock, - octave_value::islocked): New functions. - * ov-base.cc (octave_base_value::lock, octave_base_value::unlock): - New functions. - * ov-base.h Provide decls. - (octave_base_value::islocked): New function. - * ov-fcn.h (octave_function::islocked): Now const. - -2008-02-15 John W. Eaton - - * ov-builtin.cc (octave_builtin::do_multi_index_op): - Catch possible octave_execution_exception. - * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Likewise. - * ov.cc (do_binary_op, do_cat_op, do_unary_op, - octave_value::do_non_const_unary_op): Likewise. - -2008-02-14 John W. Eaton - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/qz.cc: - Don't check f77_exception_encountered. - - * sighandlers.cc (user_abort): If interrupting immediately, set - octave_interrupt_state if it is not already set. - - * pt-stmt.cc (tree_statement::eval): Catch execution exceptions. - - * octave.cc (lo_error_handler): New static function. - (initialize_error_handlers): Set liboctave_error_handler to - lo_error_handler, not error. - - * DLD-FUNCTIONS/urlwrite.cc (urlget): Call octave_rethrow_exception - instead of octave_throw_interrupt_exception. - * utils.cc (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_FOR_VSNPRINTF): - Likewise. - -2008-02-12 David Bateman - - * graphics.h.in: Implement the cdatamapping property in patch and - image objects. - -2008-02-12 John W. Eaton - - * pt-loop.cc (tree_simple_for_command::eval): Compute range - element with multiplication. - -2008-02-11 John W. Eaton - - * Makefile.in ($(MAKEDEPS)): Skip dependencies if omit_deps is defined. - -2008-02-09 John W. Eaton - - * pr-output.cc (set_range_format): Eliminate sign arg. - Change all callers. - -2008-02-08 John W. Eaton - - * ov-struct.cc (octave_struct::subsref): Allow Cell::index to resize. - - * input.cc (interactive_input): Eliminate debug arg. Change All uses. - (get_user_input): Don't process input_buf if there is an error. - Call reset_error_handler instead of setting error_state to 0. - -2008-02-08 Michael Goffioul - - * graphics.h.in (callback_property::execute): New static - helper method (useful to execute callbacks by name). - * graphics.cc (callback_property::execute): Likewise. - (execute_callback): Avoid undefined argument when executing - callback. Do not use arguments when the callback is a string. - -2008-02-07 John W. Eaton - - * ov-range.h (octave_range::sort): New functions. - -2008-02-07 David Bateman - - * Makefile.in (DLD_XSRC): Delete spkron.cc. - * DLD-FUNCTIONS/spkron.cc: Delete. - * DLD-FUNCTIONS/kron.cc: Include here and dispatch to the sparse - version if either argument is sparse. - -2008-02-06 John W. Eaton - - * Makefile.in (parse.cc): Also use --defines option for bison. - -2008-02-06 Michael Goffioul - - * graphics.cc (axes::properties::set_defaults): Set default axes - color to white. - -2008-02-06 John W. Eaton - - * Makefile.in (parse.cc): Use "-o $@" instead of renaming y.tab.c. - (maintainer-clean): Don't remove y.tab.c. - - * Makefile.in (parse.cc : parse.y): Use mv instead of move-if-change. - (stamp-prereq, stamp-liboctave-prereq): Eliminate. - (clean): Don't remove stamp-prereq and stamp-liboctave-prereq. - (OPT_BASE, OPT_IN, OPT_INC): New macros. - (OPT_HANDLERS): Define in terms of OPT_BASE. - ($(OPT_INC) : %.h : %.in): New pattern rule. - (PREREQ): New macro. - ($(MAKEDEPS)): Simplify with $(PREREQ). - -2008-02-05 John W. Eaton - - * Makefile.in: Unconditionally include $(MAKEDEPS). - Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. - -2008-02-05 Michael Goffioul - - * graphics.h.in (base_properties::get_boundingbox): New method. - (figure::properties::get_boundingbox): Overload method. - (axes::properties::get_boundingbox): Likewise. - * graphics.cc (figure::properties::get_boundingbox): Return a - left-to-right/top-to-bottom bounding box rectangle. - (axes::properties::get_boundingbox): Likewise. - (axes::properties::update_camera): Remove backend access and - use the new axes bounding box. - -2008-02-04 Shai Ayal - - * graphics.h.in (axes::properties::update_xlim, - axes::properties::update_ylim, axes::properties::update_zlim): - New update methods. - - * graphics.cc (axes::properties::calc_ticks): New function. - (axes::properties::magform): New function. - (axes::update_axis_limits): Call update_{x,y,z}lims if - appropriate. - -2008-02-04 Michael Goffioul - - * graphics.h.in (base_graphics_backend::get_screen_size, - graphics_backend::get_screen_size): New methods. - (graphics_backend::available_backends): Export symbol. - (class figure::properties, class axes::properties): Export classes. - (figure::properties::get_boundingbox): New utility method. - (figure::properties::position): Use valid default position. - (axes::properties::gridlinestyle, - axes::properties::minorgridlinestyle): - Use dotted line style as default. - * graphics.cc (default_figure_position): New static function. - (gnuplot_backend::get_screen_size): New method. - (figure::properties::get_boundingbox): New utility method. - -2008-02-02 Shai Ayal - - * graphics.h.in (base_scaler::~base_scalar): New virtual destructor. - * graphics.cc (axes::properties::update_camera): Tag abs with std. - - * graphics.h.in (graphics_backend::find_backend): New function. - (class figure): Add __backend__ property and set method. - -2008-02-02 John W. Eaton - - * help.cc (do_type): Don't print dyamically loaded function files. - - * ov-fcn.h (octave_function::is_dynamically_loaded_function): Delete. - -2008-02-01 John W. Eaton - - * symtab.cc (Fset_variable, Fvariable_value): - New functions, but commented out for now. - -2008-01-30 Michael Goffioul - - * graphics.h.in (axes::properties::get_transform_matrix, - axes::properties::get_inverse_transform_matrix, - axes::properties::get_opengl_matrix_1, - axes::properties::get_opengl_matrix_2, - axes::properties::get_transform_zlim): New accessors. - (base_properties::is_clipping): New accessor. - (class graphics_xform): New class encapsulating axes transformation. - (axes::properties::get_transform): New method returning a - graphics_xform object. - * graphics.cc (class graphics_xform): New class. - -2008-01-31 David Bateman - - * ov.cc (octave_value::octave_value (const ArrayN&), - octave_value::octave_value (const Sparse&, const MatrixType &), - octave_value::octave_value (const ArrayN&)): New - constructors. - * ov.h: (octave_value (const ArrayN&), - octave_value (const Sparse&, const MatrixType &), - octave_value (const ArrayN&)): Declare them. - (octave_value sort (octave_idx_type, sortmode) const, octave_value - sort (Array &, octave_idx_type, sortmode) const): - octave_value sort method. - - - * ov-base.cc (sort): Base versions of teh octave_value sort methods. - * ov-base.h (sort): Declare the octave_value sort methods - * ov-base-scalar.h (sort): Simple sort methods for scalars. - * ov-base-mat.h, ov-base-sparse.h (sort): Sort methods calling - underlying array or sparse sort methods. - * ov-str-mat.h (sort): String specific sort methods. - - * TEMPLATE-INST/Array-tc.cc: Instantiate the array sort methods. - * ov-streamoff.h (sort): Sort versions returning and error. - * oct-stream.cc, ov-typeinfo.cc, Array-os.cc: Null instantiation - of array sort methods. - - * Makefile.in (DLD_XSRC): Remove sort.cc - * DLD-FUNCTIONS/sort.cc: Remove - * data.cc (Fsort): New function using octave_value sort methods - for the sorting. Add tests. - -2008-01-30 Thomas Weber - - * pager.cc (Fmore): Doc fix. - -2008-01-28 Michael Goffioul - - * genprops.awk: Add update ('u') modifier and document the - readonly ('r') modifier. - * graphics.h.in (class base_scaler, class lin_scaler, class - log_scaler, class scaler): New classes to make abstraction of the - axis scale. - (base_graphics_backend::get_screen_resolution, - graphics_backend::get_screen_resolution): New methods. - (axes::properties::sx, axes::properties::sy, - axes::properties::sz): New scaler fields. - (axes::properties::get_x_scaler, axes::properties::get_y_scaler, - axes::properties::get_z_scaler): New accessors. - (axes::properties::x_render, axes::properties::x_render_inv, - axes::properties::x_gl_mat1, axes::properties::x_gl_mat2, - axes::properties::x_zlim): New utility Matrix fields. - (axes::properties::get_boundingbox, - axes::properties::update_camera, - axes::properites::update_aspectratios, - axes::properties::update_transform, - axes::properties::update_xscale, axes::properties::update_yscale, - axes::properties::update_zscale, axes::properties::update_view, - axes::properties::update_xdir, axes::properties::update_ydir, - axes::properties::update_zdir): New updater methods. - (axes::properties::init): Initialize sx, sy, sz and x_zlim correctly. - (axes::properties::position): Use valid default position value. - (axes::properties::xscale, axes::properties::yscale, - axes::properties::zscale, axes::properties::xdir, - axes::properties::ydir, axes::properties::zdir, - axes::properties::view): Add updater ('u') property modifier. - * graphics.cc (default_axes_position, default_axes_outerposition): - New initializers. - (convert_position): New utility function to convert position - according to specified units. - (gnuplot_backend::get_screen_resolution): New method. - (axes::properties::set_defaults): Initilize recently added properties. - (xform_matrix, xform_vector, transform, xform_scale, - xform_translate, scale, translate, xform, normalize, dot, cross, - unit_cube, cam2xform, xform2cam): New inline transformation - utility functions. - (axes::properties::update_camera, - axes::properties::update_aspectratios, - axes::properties::get_boundingbox): New updater methods for - computing transformation matrices. - (axes::update_axis_limits): Update transformation data. - -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-25 David Bateman - - * DLD-FUNCTIONS/rand.cc (Frandp): Relax relative error on randp - tests. - -2008-01-25 Michael Goffioul - - * graphics.h.in (base_properties::get_backend, - base_graphics_object::get_backend, graphics_backend::get_backend): - New methods for convenient access to the backend. - (figure::get_backend, figure::set_backend): Remove. - * graphics.cc (base_properties::get_backend): New method. - (Fdrawnow): Use graphics_object::get_backend to simplify code. - -2008-01-24 Pascal Dupuis - - * mxarray.h.in: Include . - -2008-01-22 John W. Eaton - - * graphics.cc (clear_drawnow_request): New function. - (Fdrawnow): Add it to the unwind_protect stack. - - * input.cc (Vdrawnow_requested): No longer static. - * input.h: Provide decl. - * graphics.cc (Fdrawnow, Fset, make_graphics_object): - Use Vdrawnow_requested directly. - - * toplev.cc (octave_add_atexit_function, - octave_remove_atexit_function): New functions. - (Fatexit): Use them. - * graphics.cc (Fdrawnow): Call octave_add_atexit_function instead - of using eval. - * toplev.h (octave_add_atexit_function, - octave_remove_atexit_function): Provide decls. - -2008-01-22 Michael Goffioul - - * graphics.h.in (base_properties::is_visible, - base_properties::set_modified): New accessors. - (class base_graphics_backend, class graphics_backend): New classes - for handling octave/backend interaction. - (figure::properties::close): Add "pop" argument controlling - whether the figure should be popped from the list of existing figures. - (class figure::properties): New backend field and accessors, holding - the graphics backend associated with the figure. - * graphics.cc (class gnuplot_backend): New class for the default - gnuplot backend. - (figure::properties::close): Add "pop" argument and transfer the - figure closing to the associated backend. - (Fdrawnow): New builtin function, converted from drawnow.m. - -2008-01-19 John W. Eaton - - * genprops.awk (emit_source): Use "pname" for property name argument. - -2008-01-19 Shai Ayal - - * graphics.h.in (class figure::properties): New properties: - alphamap, currentcharacter, currentobject, current_point, - dockcontrols, doublebuffer, filename, integerhandle, - inverthardcopy, keypressfcn, keyreleasefcn, menubar, mincolormap, - name, numbertitle, paperunits, paperposition, paperpositionmode, - papersize, papertype, pointer, pointershapecdata, - pointershapehotspot, position, renderer, renderermode, resize, - resizefcn, selectiontype, toolbar, units, windowbuttondownfcn, - windowbuttonmotionfcn, windowbuttonupfcn, windowbuttonwheelfcn, - windowstyle, wvisual, wvisualmode, xdisplay, xvisual, xvisualmode, - buttondownfcn. - -2008-01-19 Michael Goffioul - - * graphics.h.in (base_properties::beingdeleted, - base_properties::is_beingdeleted, - base_properties::get_beingdeleted, - base_properties::set_beingdeleted): - Add beingdeleted property and accessors. - * graphics.cc (base_properties::get): Likewise. - (gh_manager::free): Set beingdeleted to "on" when freeing an object. - * genprops.awk: Skip C++-style comments in property declaration. - - * graphics.h.in (class axes::properties): New properties: alim, - alimmode, xminortick, yminortick, zminortick, ambientlightcolor, - cameraposition, cameratarget, cameraupvector, cameraviewangle, - camerapositionmode, cameratargetmode, cameraupvectormode, - cameraviewanglemode, currentpoint, drawmode, fontangle, fontname, - fontsize, fontweight, fontunits, gridlinestyle, - minorgridlinestyle, linestyleorder, linewidth, plotboxaspectratio, - plotboxaspectratiomode, projection, tickdir, tickdirmode, - ticklength, tightinset, units, x_viewtransform, - x_projectiontransform, x_viewporttransform, x_normrendertransform, - x_rendertransform. - * genprops.awk: Handle new readonly modifier 'r'. - -2008-01-18 Juhani Saastamoinen - - * genprops.awk: Avoid using "default" as a variable name. - -2008-01-17 Michael Goffioul - - * graphics.h.in (data_property::get_data_limits): Reset min/max values. - -2008-01-17 David Bateman - - * ov-fcn-inline.cc: Add tests for Finline. - -2008-01-17 Ben Abbott - - * load-path.cc (F__pathorig__): Rename from Fpathdef. - (Frestoredefaultpath): New function. - -2008-01-16 John W. Eaton - - * pt-assign.cc (tree_simple_assignment::rvalue, - tree_multi_assignment::rvalue): Handle assignment of - comma-separated lists. - -2008-01-15 John W. Eaton - - * mappers.cc (install_mapper_functions): Move test for asin here - from test/test_arith.m. - - * graphics.h.in (class line::properties, class text::properties): - Rename erase_mode property to erasemode. - -2008-01-15 Michael Goffioul - - * graphics.h.in (base_properties::remove_child, - base_properties::adopt, base_properties::update_axis_limits): - Make virtual. - (base_graphics_object::mark_modified, - base_graphics_object::override-defaults, - base_graphics_object::set_from_list, base_graphics_object::set, - base_graphics_object::get, base_graphics_object::get_parent, - base_graphics_object::remove_child, base_graphics_object::adopt, - base_graphics_object::reparent, base_graphics_object::defaults, - base_graphics_object::type): Add default implementation. - (class root_figure, class figure, class axes, class line, - class text, class image, class patch, class surface): - Remove overloaded virtual methods whose implementation is - identical to the default one. - - * genprops.awk: Handle 'h' modifier for hidden properties. - Replace "get(void)" method with "get(bool all = false)" to allow - access to hidden properties. - - * graphics.h.in (base_properties::get, base_graphics_object::get, - graphics_object::get, root_figure::get, figure::get, axes::get, - line::get, text::get, patch::get, surface::get, image::get): - New arg, ALL, to access hidden properties. - (gh_manager::do_get_object): Do not look for invalid handles. - (figure::properties::__plot_stream__, - figure::properties::__enhanced__, axes::properties::__colorbar__): - Make properties hidden. - (axes::properties, line::properties, text::properties, - patch::properties, surface::properties): Remove obsolete 'a' - property modifier. - * graphics.cc (base_properties::get): New arg ALL, to access - hidden properties. - (base_properties::mark_modified): Call mark_modified only on valid - parent object. - (__get__): New internal function returning all properties, - including the hidden ones. - -2008-01-15 John W. Eaton - - * graphics.cc (properties::set_currentfigure, - properties::set_currentaxes): Don't convert arg to double - before passing to graphics_handle constructor. - (base_properties::remove_child): Call mark_modified if list of - children changes. - -2008-01-15 Shai Ayal - - * graphics.h.in (class line::properties): New properties: - displayname, erasemode. - (class text::properties) New properties: backgroundcolor, - displayname, edgecolor, erase_mode, editing, fontunits, linestyle, - linewidth, margin, verticalalignment. - -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. - - * symtab.h (symbol_table::do_pop_context): Remove symbol_records - which have no more context. - (symbol_table::symbol_record::pop_context, - (symbol_table::symbol_record::symbol_record_rep::pop_context): - Return size of value_stack, or 1 if variable is persistent or global. - -2008-01-14 Kai Habel - - * graphics.h.in (class patch::properties): New properties: - cdatamapping, facevertexalphadata, facevertexcdata, vertexnormals, - normalmode, facelighting, edgealpha, edgelighting, - backfacelighting, ambientstrength, diffusestrength, - specularstrength, specularexponent, specularcolorreflectance, - erasemode. - -2008-01-14 Michael Goffioul - - * graphics.h.in (gh_manager::do_make_graphics_handle, - gh_manager::make_graphics_handle): New boolean parameter - do_createfcn. - * graphics.cc (xcreatefcn): New static function. - (gh_manager::do_make_graphics_handle): New boolean parameter - do_createfcn. Execute createfcn callback accordingly. - (make_graphics_object, F__go_figure__): Use do_createfcn - parameter and call xcreatefcn - - * genprops.awk (emit_get_callback): Pass user data to execute method. - * graphics.cc (execute_callback): New static function. - (callback_property::validate): Make it work. - (callback_property::execute): Make it work. - (gh_manager::do_free): Execute delete function here. - * graphics.h.in (callback_property::execute): Fix decl. - (base_properties::buttondownfcn, base_properties::createfcn, - base_properties::deletefcn, base_properties::userdata): Default - value is empty Matrix, not undefined octave_value object. - (base_properties::execute_createfcn): New function. - (base_properties::execute_deletefcn): New function. - -2007-12-13 Shai Ayal - - * graphics.h.in, graphics.cc (class base_properties): New - properties: busyaction, buttondownfcn, clipping, createfcn, - deletefcn, handlevisibility, hittest, interruptible, selected, - selectionhighlight, uicontextmenu, userdata, visible. - (class figure): Delete visible property. - -2008-01-13 Michael Goffioul - - * graphics.h.in: Sprinkle with OCTINTERP_API as needed. - (axes::properties::xaxislocation): Allow value of zero. - (axes::properties::yaxislocation): Likewise. - -2008-01-12 Michael Goffioul - - * Makefile.in (distclean): Delete graphics-props.cc. - - * genprops.awk: Handle new graphics property classes. - - * graphics.h.in, graphics.cc: Adapt for new specific property types. - -2008-01-12 John W. Eaton - - * toplev.cc (octave_config_info): Add GNUPLOT to the struct. - * oct-conf.h.in (OCTAVE_CONF_GNUPLOT): New macro. - -2008-01-11 John W. Eaton - - * DLD-FUNCTIONS/__qp__.cc (qp): Undo part of change from - 2007-09-04 (compute Y at each iteration). - -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. - - * DLD_FUNCTIONS/__gnuplot_raw__.l: Delete. - * Makefile.in (DLD_XSRC): Remove it from the list. - (BUILT_DISTFILES): Remove __gnuplot_raw__.cc from the list. - (stamp-prereq): Don't depend on __gnuplot_raw__.cc. - (maintainer-clean): Don't remove __gnuplot_raw__.cc. - (__gnuplot_raw__.cc): Delete target. - (__gnuplot_raw__.o, pic/__gnuplot_raw__.o): Delete targets. - - * 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 - - * 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. - - * gripes.cc (gripe_wrong_type_arg (const std::string&, const - octave_value&, bool)): New function. - * gripes.h: Provide decl. - - * oct-stream.cc (printf_value_cache::printf_value_cache): - Reject structs, cells, objects, and lists. - (octave_base_stream::do_printf): Quit early if printf_value_cache - constructor fails. - - * parse.y (make_anon_fcn_handle): Don't attempt to convert - expression to assignment to __retval__. - -2008-01-07 Michael Goffioul - - * ov-builtin.h (octave_builtin): Tag with OCTINTERP_API. - * ov-dld-fcn.h (octave_dld_function): Likewise. - - * ov-dld-fcn.cc (octave_dld_function::create): New function. - * ov-dld-fcn.h: Provide decl. - * defun.h (DEFINE_FUNX_INSTALLER_FUN3): Call it instead of - creating a new octave_dld_function object directly. - -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. - -2008-01-04 Thomas Weber - - * variables.cc (Fclear): Doc fix. - -2008-01-04 John W. Eaton - - * symtab.h (symbol_table:pop_scope): Avoid accessing beyond end of - scope_stack. - -2008-01-04 David Bateman - - * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Use data method instead of - elem in the case where F(0) is non-zero. - -2007-12-28 John W. Eaton - - Merge changes from object branch: - - 2007-12-12 John W. Eaton - - * load-path.cc (load_path::dir_info::get_file_list, - load_path::move_method_map, load_path::remove_method_map, - load_path::do_find_fcn, load_path::do_find_private_fcn, - load_path::do_find_method, load_path::do_find_file, - load_path::do_find_first_of, load_path::do_find_all_first_of, - load_path::do_display, load_path::add_to_method_map, genpath, - execute_pkg_add_or_del): Use file_ops::concat. - - 2007-08-24 John W. Eaton - - * variables.cc (Fmislocked): return value for nargin == 0 case. - - 2007-07-27 John W. Eaton - - * pt-idx.cc (tree_index_expression::rvalue): - Pass substring of type to subsref when doing partial evaluation. - (tree_index_expression::lvalue): Likewise. - - 2007-06-29 John W. Eaton - - * ov-class.cc (is_built_in_class, set_class_relationship, - Fsuperiorto, Finferiorto): New functions. - (octave_class::in_class_method): New function. - (octave_class::subsref, octave_class:subsasgn): Use it. - - 2007-06-28 John W. Eaton - - * ov-class.cc (sanitize): New function. - (make_idx_args): Use it. - - 2007-06-28 John W. Eaton - - * ov-class.cc (octave_class::subsasgn): Expect and use only - one return value from feval of subsasgn method. - - * ov.cc (octave_value::assign): Don't convert to struct if - indexing a class object with ".". - - * pt-idx.cc (tree_index_expression::make_arg_struct): - Use Cell instead of octave_value_list for subscripts. - - * ov-class.cc (make_idx_args): For "." index, subs field is - string, not cell. - - 2007-06-27 John W. Eaton - - * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, - octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, - octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, - octave_fcn_handle::load_hdf5): Adapt to new symbol table objects. - - * symtab.h (symbol_table::all_variables, - symbol_table::do_all_variables): New arg, defined_only. - - 2007-06-26 John W. Eaton - - * ls-mat5.cc (read_mat5_binary_element): Adapt to new symbol table - objects. - - * variables.cc (Vwhos_line_format): New static variable. - (Fwhos_line_format): New function. - (symbol_record_name_compare): Delete function. - (symbol_record_name_compare, whos_parameter): New structs. - (print_descriptor, dimensions_string_req_first_space, - dimensions_string_req_total_space, make_dimensions_string, - parse_whos_line_format, print_symbol_info_line): New static - functions, adapted from old symbol table class. - (do_who): Adapt to new symbol table objects. - - * symtab.h (symbol_table::glob_variables): New functions. - (symbol_table::do_glob): New argument, vars_only. Change all uses. - - 2007-06-22 John W. Eaton - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::help_for_dispatch): - New function. - * symtab.h: Provide decl. - (symbol_table::fcn_info::help_for_dispatch, - symbol_table::help_for_dispatch): New functions. - - * help.cc (help_from_symbol_table): Call - symbol_table::help_for_dispatch instead of - extract_help_from_dispatch. - - * help.cc (extract_help_from_dispatch): Delete. - * help.h: Delete decl. - - 2007-06-21 John W. Eaton - - * DLD-FUNCTIONS/dispatch.cc (class octave_dispatch): Delete class. - (builtin, any_arg_is_magic_colon, dispatch_record): Delete functions. - (Fbuiltin, Fdispatch): Adapt to new symbol table objects. - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::print_dispatch): - New function. - * symtab.h: Provide decl. - (symbol_table::fcn_info::print_dispatch, symbol_table::print_dispatch): - New functions. - - * symtab.h (symbol_table::fcn_info::fcn_info_rep::clear_dispatch, - symbol_table::fcn_info::clear_dispatch, symbol_table::clear_dispatch): - New functions. - - * symtab.h (symbol_table::fcn_info::fcn_info_rep::get_dispatch, - symbol_table::fcn_info::get_dispatch, symbol_table::get_dispatch): - New functions. - - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): - Use leftmost class argument as dispatch type, or first argument if - there are no class arguments. - - 2007-06-20 John W. Eaton - - * ov-base.cc (Vprint_answer_id_name, Fprint_answer_id_name): Delete. - (octave_base_value::print_with_name): Always print name. - - * ov-base.cc (Vsilent_functions): No longer static. - * ov-base.h: Provide decl. - - * ov-class.cc (Fmethods): Define as command. - - * ov-class.cc (octave_class::print): Simply call print_raw. - - * ov-class.cc (octave_class::print_with_name): New function. - * ov-class.h: Provide decl. - - 2007-06-19 John W. Eaton - - * ov.cc (octave_value::do_unary_op, octave_value::do_binary_op): - Handle class methods. - - * ov.cc (octave_value::unary_op_fcn_name, - octave_value::binary_op_fcn_name): New functions. - * ov.h: Provide decls. - - * ov-typeinfo.cc (octave_value_typeinfo::register_unary_class_op, - octave_value_typeinfo::register_binary_class_op, - octave_value_typeinfo::do_register_unary_class_op, - octave_value_typeinfo::do_register_binary_class_op, - octave_value_typeinfo::do_lookup_unary_class_op, - octave_value_typeinfo::do_lookup_binary_class_op): New functions. - * ov-typeinfo.h: Provide decls. - - * ov-typeinfo.h (octave_value_typeinfo::unary_class_op_fcn, - octave_value_typeinfo::binary_class_op_fcn): New typedefs. - (octave_value_typeinfo::unary_class_ops, - octave_value_typeinfo::binary_class_ops): New data members. - (octave_value_typeinfo::octave_value_typeinfo): Initialize them. - (octave_value_typeinfo::lookup_unary_class_op, - octave_value_typeinfo::lookup_binary_class_op): New functions. - - * OPERATORS/op-class.cc: New file. - * Makefile.in (OP_XSRC): Add it to the list. - - * ov.cc (install_types): Call octave_class::register_type here. - - * ov-class.h (octave_class): Implement by containing a map object - instead of deriving from octave_struct. - * ov-class.cc (octave_class::subsref, octave_class::subsasgn): - Don't use octave_class implementation as default action. - - * ov.h, ov.cc (octave_value::octave_value (const Octave_map&, const - std::string&)): New constructor. - - 2007-06-18 John W. Eaton - - * ov-class.cc (octave_class::subsref, octave_class::subsasgn): - Handle dispatch to user-defined methods. - - * parse.y (load_fcn_from_file): New arg, dispatch_type. - Change all uses. - - * ov-fcn.h (octave_function::is_class_constructor, - octave_function::is_class_method, octave_function::dispatch_class): - New virtual functions. - - * ov-usr-fcn.h (octave_user_function::dispatch_class, - octave_usr_function::stash_dispatch_class): New functions. - (octave_usr_fucntion::xdispatch_class): New data member. - * parse.y (frob_function): Call stash_dispatch_class here. - - * ov-struct.cc (Ffieldnames): Also handle objects. - - * ov-class.cc (Fmethods): New function. - * load-path.cc (load_path::do_methods): New function. - * load-path.h (load_path::methods): New function. - - * ov.h (octave_value::is_object): New function. - * ov-base.h (octave_base_value::is_object): New virtual function. - * ov-class.h (octave_class::is_object): New function. - * ov-class.cc (Fisobject): New function. - - 2007-06-15 John W. Eaton - - * ov-class.cc (octave_class::print): Call display method if found. - - * symtab.h (symbol_table::fcn_info::find_method): New function. - (symbol_table::find_method): New function. - (symbol_table::fcn_info::fcn_info_rep::find_method): Provide decl. - * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_method): - New function. - (symbol_table::fcn_info::fcn_info_rep::find): Use it. - - 2007-06-14 John W. Eaton - - * symtab.h (symbol_table::clear_mex_functions): Make it work. - (symbol_table::fcn_info::fcn_info_rep::clear_mex_function, - symbol_table::fcn_info::clear_mex_function): New functions. - - 2007-06-08 John W. Eaton - - * defun.cc (Falias): Delete. - - * variables.cc (load_fcn_try_ctor): New function. - (lookup): call load_fcn_try_ctor instead of load_fcn_from_file. - - * variables.cc, variables.h (at_top_level, lookup_by_name, lookup, - initialize_symbol_tables, fcn_out_of_date, symbol_out_of_date, - lookup_function, lookup_user_function, link_to_global_variable, - link_to_builtin_or_function, force_link_to_function, Fdocument, - is_local_variable, do_clear_all, do_clear_functions, - do_clear_globals, do_clear_variables, do_clear_function, - do_clear_global, do_clear_variable, do_clear_symbol, - do_clear_function_pattern, do_clear_global_pattern, - do_clear_variable_pattern, do_clear_symbol_pattern, - clear_function, clear_variable, clear_symbol): - Delete (some functionality moved to the new symtab.cc and some is - no longer needed). - (Fignore_function_time_stamp): Move to symtab.cc. - - * lex.l (lookup_identifier): Delete. - - * parse.y (is_function_file): New function. - (load_fcn_from_file): Return pointer to octave_function, not bool. - - * ov-usr-fcn.h, ov-usr-fcn.cc (octave_user_function::argn_sr, - octave_user_function::nargin_sr, octave_user_function::nargout_sr, - octave_user_function::varargin_sr): Delete data members. - (octave_user_function::install_automatic_vars): Delete. - (octave_user_script::do_multi_index_op): New function. - - * ov-fcn.h (octave_function::locked, octave_function::my_dir_name): - New data members. - (octave_function::dir_name, octave_function::stash_dir_name, - octave_function::lock, octave_function::unlock, - octave_function::islocked): New functions. - - * of-fcn-handle.h, ov-fcn-handle.cc (octave_fcn_handle::subsref): - Call out_of_date_check here to simplify time stamp checking. - (octave_fcn_handle::reload_warning): Delete. - - * ov.h (octave_value::is_user_script, octave_value::is_user_function): - New functions. - * ov-base.h (octave_base_value::is_user_script, - octave_base_value::is_user_function): New pure virtual functions. - * ov-fcn.h (octave_function::is_user_script, - octave_function::is_user_function): Delete. - - * load-save.cc (install_loaded_variable): Greatly simplify. - - * load-path.h, load-path.cc: Change private_fcn_file to private_file. - (load_path::private_fcn_map): New data member. - (load_path::do_add, load_path::do_remove, load_path::do_update): - Also manage private_file_map here. - (load_path::add_to_private_fcn_map): New function. - (load_path::remove_private_fcn_map): New function. - (load_path::do_find_private_fcn): Make it work. - (get_file_list): New function. - (load_path::do_display): Use it. Display private map. - (load_path::find_method, load_path::find_fcn): Handle directory name. - - * token.cc, token.h, toplev.cc, debug.cc, defun.cc, defun-dld.h, - defun-int.h, error.cc, help.cc, load-save.h, load-save.cc, mex.cc, - octave.cc, ov-fcn-handle.cc, ov-usr-fcn.cc, parse.h, parse.y, - lex.l, variables.cc: Adapt to new symbol table objects (my - apologies for the lack of detail). - - * unwind-prot.h (unwind_protect::add): Set default value for ptr arg. - - * pt-stmt.cc (tree_statement::eval): Rework method for deciding - whether to assign value to ans. - - * pt-idx.cc (tree_index_expression::rvalue): - Looking up symbol may evaluaate first args now. - - * pt-id.h, pt-id.cc (tree_identifier::document, - tree_identifier::is_defined, tree_identifier::define, - tree_identifier::is_function, tree_identifier::lookup, - tree_identifier::link_to_global): Delete. - (tree_identifier::do_lookup): Simplify. - (tree_identifier::rvalue): Looking up symbol can't execute script now. - - * pt-misc.cc (tree_parameter_list::initialize_undefined, - tree_parameter_list::is_defined): Call is_variable for elt, not - is_defined. - - * pt-fcn-handle.h (tree_anon_fcn_handle::fcn): Now pointer to - octave_user_function, not value. Change all uses. - - * pt-decl.h (tree_decl_command::initialized): Delete data member. - (tree_decl_elt::is_variable): New function. - * pt-decl.cc: Fix all uses of tree_decl_command::initialized. - - * ls-hdf5.cc, ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, - ls-oct-ascii.cc, ls-oct-binary.cc, input.cc: Don't include symtab.h. - - * dynamic-ld.h, dynamic-ld.cc (octave_dynamic_loader::load_oct, - octave_dynamic_loader::load_mex, octave_dynamic_loader::do_load_oct, - octave_dynamic_loader::do_load_mex): Adapt to new symbol table - objects. Return pointer octave_function instead of bool. - - * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Disable for now. - Disable code that works with old symbol tables. - (Fbuiltin): Simply call symbol_table::add_dispatch. - - * pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, pt-assign.h, - pt-binop.cc, pt-binop.h, pt-bp.h, pt-cell.cc, pt-cell.h, - pt-cmd.cc, pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, - pt-const.h, pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, - pt-exp.h, pt-fcn-handle.cc, pt-fcn-handle.h, pt-id.cc, pt-id.h, - pt-idx.cc, pt-idx.h, pt-jump.cc, pt-jump.h, pt-loop.cc, pt-loop.h, - pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h, pt-select.cc, - pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, pt-unop.h: - Adapt dup functions to use scope instead of symbol_table objects. - - * TEMPLATE-INST/Array-sym.cc: Delete. - * Makefile.in (TI_XSRC): Remove it from the list. - - * symtab.h, symtab.cc: Replace with new versions. - - 2007-05-16 John W. Eaton - - * oct-lvalue.cc, oct-lvalue.h (octave_lvalue::chg_fcn): Delete. - Fix all uses. - - 2007-05-15 John W. Eaton - - * load-path.cc (load_path::do_find_private_function): New function. - * load-path.h (load_path::do_find_private_function): Provide decl. - (load_path::find_private_function): New function. - - 2007-05-08 John W. Eaton - - * pt-idx.cc (tree_index_expression::rvalue): Handle dispatch here. - - * pt-id.cc (tree_identifier::is_variable, tree_identifier::lookup): - New functions. - * pt-id.cc: Provide decls. - - * parse.y (current_class_name): New global variable. - * parse.h: Provide decl. - - * parse.y (load_fcn_from_file, parse_fcn_file): - New arg, dispatch_type. - (parse_fcn_file): Protect current_class_name and set it to - dispatch_type before parsing function. - (load_fcn_from_file): If dispatch_type is not empty, call - load_path::find_method instead of load_path::find_fcn. - * parse.h: Fix decls for extern functions. - - * lex.h (lexical_feedback::parsing_class_method): New data member. - * lex.l (lexical_feedback::init): Initialize it. - (lookup_identifier): Check it and set sym_name accordingly. - - * ov-usr-fcn.h (octave_user_function::mark_as_class_constructor, - octave_user_function::is_class_constructor, - octave_user_function::mark_as_class_method, - octave_user_function::is_class_method): New functions. - (octave_user_function::class_constructor, - octave_user_function::class_method): New data members. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Initialize them. - - * load-path.h, load-path.cc: Use typedefs to simplify template decls. - Use fcn consistently instead of function. - - 2007-05-03 John W. Eaton - - * ov-class.cc (Fclass): Move here. - * ov-typeinfo.cc: From here. - - * input.cc (octave_gets): Call load_path::update if user input - contains something other than one of the characters " \t\n\r". - - * ov-class.cc, ov-class.h: New files. - * Makefile.in: Add them to the appropriate lists. - - * load-path.cc (genpath): Skip directories beginning with "@". - (load_path::dir_info::get_file_list): Don't return anything. - Call get_private_function_map here. - (load_path::dir_info::initialize): Not here. - (load_path::dir_info_::get_method_file_map): New function. - (load_path::method_map): New data member. - (load_path::do_clear): Also clear method_map. - (load_path::do_add): Also call add_to_method_map. - (load_path::do_update): Also clear method_map and call - (load_path::do_find_method): New function. - (load_path::do_add_to_method_map): New function. - (load_path::move_fcn_map, load_path::move_method_map): New functions. - (load_path::move): Use them. - (load_path::remove_fcn_map, load_path::remove_method_map): - New functions. - (load_path::remove): Use them. - * load-path.h: Provide/fix decls. - (load_path::find_method): New static function. - - * Makefile.in (%.df : %.cc): Use mv instead of - $(simple-move-if-change-rule). - -2007-12-21 John W. Eaton - - Version 3.0.0 released. - - * version.h (OCTAVE_VERSION): Now 3.0.0. - (OCTAVE_API_VERSION): Now api-v32. - (OCTAVE_RELEASE_DATE): Now 2007-12-21. - -2007-12-19 Thomas Kasper - - * OPERATORS/op-scm-cs.cc (DEFBINOP (pow)): Extract complex value - from second arg. - -2007-12-12 David Bateman - - * DLD-FUNCTIONS/sparse.cc (Fsparse): Check for scalar arguments - for 2 argument version. - -2007-12-12 John W. Eaton - - * graphics.h.in (class axes) Add the layer property. - * graphics.cc (class axes) Ditto. - - * graphics.cc (gh_manager::get_handle): Use ceil instead of trunc. - -2007-12-11 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.19+. - -2007-12-11 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.19. - (OCTAVE_API_VERSION): Now api-v31. - (OCTAVE_RELEASE_DATE): Now 2007-12-11. - - * graphics.cc (make_graphics_object): - If successful, call __request_drawnow__. - - * input.cc (Vgud_mode): New static variable. - (F__gud_mode__): New function. - (get_user_input): If debug and Vgud_mode, print location info in - format for Emacs GUD mode. - -2007-12-11 David Bateman - - * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, - OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: Privilege - conversion to dense matrices for compatibility. - - * DLD-FUNCTIONS/sparse.cc (FSparse): Remove the mutate flag, as - default bahavior is now to keep matrix sparse always. - - * graphics.cc (axes::properties::properties): - Initialize xcolor, ycolor, and zcolor to (0, 0, 0). - - * graphics.h.in (gh_manager::next_handle): Now double. - * graphics.cc (gh_manager::get_handle, gh_manager::gh_manager): - Set fractional part of next_handle to a random value. - -2007-12-10 John W. Eaton - - * ov-cell.cc (octave_cell::all_strings): Handle empty elements. - Handle N-d cell arrays. - - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): - For compatibility, return [x, fval, info] instead of [x, info, msg]. - Move tests here from test/test_nonlin.m. - - * OPERATORS/op-cm-s.cc: Define function for el_mul with - DEFNDBINOP_OP, not DEFBINOP_OP. - - * OPERATORS/op-s-cm.cc: Define functions for el_and and el_or - operators with DEFNDBINOP_FN. - - * oct-hist.cc (default_history_file): Use file_ops::concat. - * load-path.cc (dir_info::initialize, dir_info::get_file_list, - load_path::do_find_fcn, load_path::do_find_file, genpath, - execute_pkg_add_or_del, load_path::do_find_first_of, - load_path::do_find_all_first_of): Likewise. - - * help.cc (Flookfor): Avoid doubling directory separator. - * dirfns.cc (Fmkdir): Likewise. - - * pt-mat.cc (tree_matrix::rvalue): Produce sq_string if any - strings are sq_string objects. - -2007-12-10 David Bateman - - * graphics.h.in (data_property::data): Declare as NDArray instead - of Matrix. Change all uses. - -2007-12-10 Shai Ayal - - * graphics.h.in (class figure) Add the color property. - * graphics.cc (class figure) Ditto. - -2007-12-07 David Bateman - - * data.cc (Fnorm): Don't return a scalar stored as a sparse - matrix. Convert it to a scalar. - - * graphics.cc (check_limit_val): Delete. - (check_limit_vals): Simplify and no longer use check_limit_val. - -2007-12-05 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.18+. - -2007-12-05 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.18. - (OCTAVE_API_VERSION): Now api-v30. - (OCTAVE_RELEASE_DATE): Now 2007-12-05. - -2007-12-04 John W. Eaton - - * Makefile.in (INCLUDES): Add builtins.h to the list. - - * oct-hist.cc (default_history_file): Use += instead of - push_back to append character to std::string object. - - * Makefile.in (LIBDLFCN): Delete all uses. - - * toplev.cc (octave_config_info): Remove LIBDLFCN and - DLFCN_INCFLAGS from the list. - * oct-conf.h.in (OCTAVE_CONF_DLFCN_INCFLAGS, OCTAVE_CONF_LIBDLFCN): - Delete. - - * error.cc (Ferror): Handle error id. - - * load-save.cc (Fsave, Fload): Doc fixes. - From Marco Caliari . - -2007-12-04 Shai Ayal - - * graphics.h.in (base_properties::get_type - base_properties::get___modified__, - base_properties::get___myhandle__): New functions. - -2007-12-04 Christoph Mayer . - - * toplev.h (clean_up_and_exit, recover_from_exception, - do_octave_atexit, global_command, curr_parent_function): - Tag with OCTINTERP_API. - -2007-12-03 David Bateman - - * DLD-FUNCTIONS/luinc.cc: Make tests conditional on HAVE_UMFPACK. - * DLD-FUNCTIONS/spqr.cc: Make tests conditional on HAVE_CXSPARSE. - - * DLD-FUNCTIONS/regexp.cc: Use "%!testif" blocks for conditional - tests on PCRE. - - * graphics.cc (class axes): Add color and activepositionproperty - properties to axis objects. - * graphics.h.in (class axes): ditto. - - * DLD-FUNCTIONS/regexp.cc: Also include sys/types.h for regexp. - -2007-11-30 John W. Eaton - - * DLD-FUNCTIONS/sort.cc (operator < (const Complex&, const Complex&), - operator > (const Complex&, const Complex&)): - Pass args by const reference, not value. - - * data.cc, matherr.c, pr-output.cc, sysdep.cc, - DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/minmax.cc, - DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/sort.cc, - DLD-FUNCTIONS/tsearch.cc: Include lo-math.h instead of cmath - or math.h. - -2007-11-30 Moritz Borgmann - - * ls-mat5.h (mat5_data_type): Delete trailing comma in enum decl. - * oct-stream.cc (octave_base_stream::do_printf): Use - OCTAVE_EMPTY_CPP_ARG to avoid annoying Sun compiler warning. - * OPERATORS/op-sbm-sbm.cc (DEFDBLCONVFN): Delete useless macro - invocation. - - * DLD-FUNCTIONS/typecast.cc (typecast): No longer static. - -2007-11-30 John W. Eaton - - * graphics.cc (updating_axis_limits): New static variable. - (check_limit_val, check_limit_vals, get_axis_limits): New functions. - (axes::update_axis_limits): Make it work. - * graphics.h.in (base_properties::get_children): New function. - (base_properties::get_xdata, base_properties::get_ydata, - base_properties::get_zdata, base_properties::get_ldata, - base_properties::get_udata, base_properties::get_xldata, - base_properties::get_xudata, base_properties::get_cdata, - base_properties::get_properties (void) const): - New virtual functions. - (graphics_object::get_xdata, graphics_object::get_ydata, - graphics_object::get_zdata, graphics_object::get_ldata, - graphics_object::get_udata, graphics_object::get_xldata, - graphics_object::get_xudata, graphics_object::get_cdata, - graphics_object::get_properties (void) const, - root_figure::get_properties (void) const, - figure::get_properties (void) const, - axes::get_properties (void) const, - line::get_properties (void) const, - text::get_properties (void) const, - image::get_properties (void) const, - patch::get_properties (void) const, - surface::get_properties (void) const)): New functions. - (radio_property::radio_property (const radio_values&)): - Provide default value for argument. - (radio_property::radio_property (const radio_values&, const - std::string&)): Delete. - (axes::xlimmode, axes::ylimmode, axes::zlimmode, axes::climmode, - axes::xscale, axes::yscale, axes::zscale): Declare as - radio_property instead of octave_value values. Adjust all uses. - -2007-11-29 John W. Eaton - - * pr-output.cc (octave_print_internal_template (std::ostream&, - const octave_int&, bool)): Rename from octave_print_internal. - (PRINT_INT_SCALAR_INTERNAL): New macro. Use it to define - non-template functions for printing scalar octave_int values. - (octave_print_internal_template (std::ostream&, const intNDArray&, - bool, int)): Rename from octave_print_internal. - (PRINT_INT_ARRAY_INTERNAL): New macro. Use it to define - non-template functions for printing scalar octave_int values. - * pr-output.h: Declare non-template functions for printing - octave_int scalar and array values. - Delete declarations of template funtions for printing octave_int - scalar and array values. - -2007-11-28 John W. Eaton - - * graphics.cc (base_properties::update_axis_limits, - axes::update_axis_limits): New functions. - * graphics.h.in (class data_property): New class. - (graphics_object::update_axis_limits): New function. - (base_graphics_object::update_axis_limits): New virtual function. - (base_properties::update_axis_limits, axes::update_axis_limits): - Provide decls. - (class line, class image, class patch, class surface): Use it - instead of octave_value for data properties. Tag data properties - with "l" modifier. - (class axes): Tag scale properties with "l" modifier. - * genprops.awk: Handle "l" modifier. - - * mkbuiltins: Emit #include "builtins.h" for the builtins.cc file. - From Christoph Mayer . - - * TEMPLATE-INST/Array-tc.cc (resize_fill_value): - Delete. - - * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)): - Initialize undefined values to resize_fill_value (). - -2007-11-27 John W. Eaton - - * TEMPLATE-INST/Array-tc.cc (resize_fill_value): - Tag inline. From Moritz Borgmann . - - * pt-bp.cc (tree_breakpoint::visit_decl_command): Also check line - number of cmd. - * pt-decl.cc (tree_global_command::eval, tree_static_command::eval): - Insert MAYBE_DO_BREAKPOINT here. - - * error.cc (Fwarning): If setting state "all" to "error", leave - Octave:matlab-incompatible and Octave:single-quote-string warning - states unchanged. - (warning_enabled): Allow individual warning states to override - "warning error all". - - * octave.cc (execute_eval_option_code, execute_command_line_file): - Handle interrupts. - * toplev.cc (recover_from_exception): Now extern. - * toplev.h (recover_from_exception): Provide decl. - - * pt-idx.cc (tree_index_expression::lvalue): Treat object == [] - the same as undefined. - -2007-11-26 John W. Eaton - - * oct-stream.cc (DO_DOUBLE_CONV): Always use long. - - * oct-stream.cc (do_write): Call float_value and double_value on - octave_int objects instead of relying on conversion operators. - - * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ): - Call double_value on octave_int objects - instead of relying on conversion operator. - (read_mat5_binary_file_header): - Call char_value on octave_int objects - instead of relying on conversion operator. - (read_mat5_binary_element): - Call bool_value on octave_int objects - instead of relying on conversion operator. - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value, - OCTAVE_VALUE_INT_MATRIX_T::scalar_value, - OCTAVE_VALUE_INT_MATRIX_T::matrix_value, - OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value, - OCTAVE_VALUE_INT_MATRIX_T::array_value, - OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, - OCTAVE_VALUE_INT_SCALAR_T::double_value, - OCTAVE_VALUE_INT_SCALAR_T::scalar_value, - OCTAVE_VALUE_INT_SCALAR_T::matrix_value, - OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, - OCTAVE_VALUE_INT_SCALAR_T::array_value, - OCTAVE_VALUE_INT_SCALAR_T::complex_array_value, - Call double_value on octave_int objects - instead of relying on conversion operator. - (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, - OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): - Call bool_value on octave_int objects - instead of relying on conversion operator. - (OCTAVE_VALUE_INT_MATRIX_T::char_array_value, - OCTAVE_VALUE_INT_SCALAR_T::char_array_value): - Call char_value on octave_int objects - instead of relying on conversion operator. - -2007-11-26 David Bateman - - * Sparse-op-defs.h (SPARSE_BASE_REDUCTION_OP): Check that the fill - value is not zero before creating the matrices. - - * graphics.cc (class axes): Add the {x|y|z}color color property. - * graphics.h.in (class axes): ditto. - - * ov-base.cc (Vsparse_auto_mutate, Fsparse_auto_mutate): New - internal variable and built-in function to set it. - * ov-base.h (extern bool Vsparse_auto_mutate): Export internal - variable to other functions. - * ov-re-sparse.cc (octave_sparse_matrix::try_narrowing_conversion - (void)), ov-cx-sparse.cc - (octave_sparse_complex_matrix::try_narrowing_conversion (void)), - ov-bool-sparse.cc - (octave_sparse_bool_matrix::try_narrowing_conversion (void)): - Use Vsparse_auto_mutate flag to determine whether to convert - sparse matrices to full matrices if that saves space. - - * DLD-FUNCTIONS/minmax.cc (MINMAX_DOUBLE_BODY): New version of - MINMAX_BODY macro without the initialization. - (MINMAX_INT_BODY): Macro for min/max for the integer types - (MINMAX_BODY): New macro that calls the appropriate instantiation - of the other two macros. - - * graphics.cc (class axes): Add __colorbar__ property. - * graphics.h.in (class axes): ditto. - - * data.cc (Fnorm): Document the "inf" string argument for matrice - and vectors and the "fro" argument for vectors. - - * graphics.h.in (class figure): Add __enhanced__ property to cache - whether the terminal supports enhanced mode. Add interpreter - property to all text classes, to determine the renderer for the - text. - * graphics.cc (class figure): ditto. - -2007-11-26 Shai Ayal - - * graphics.cc (string_properties): delete class - (property_name): rename class to caseless_str. - (radio_values::possible_vals): change type to caseless_str. - -2007-11-26 Michael Goffioul - - * builtins.h (install_builtins): Tag with OCTINTERP_API. - * toplev.h (octave_interpreter_ready, octave_initialized): Likewise. - -2007-11-14 John W. Eaton - - * mex.cc (mex::foreign_memlist): New data member. - (mex::mark_foreign, mex::unmark_foreign): New functions. - (mex::free): Don't warn about pointers found in foreign_memlist. - (maybe_mark_foreign): New function. - (mxArray_octave_value::get_data, mxArray_octave_value::get_ir, - mxArray_octave_value::get_jc): - Call maybe_mark_foreign on returned pointer. - -2007-11-14 David Bateman - - * mex.cc (mxArray_sparse::mxArray_sparse (const mxArray_sparse&)): - Also ensure that pr and pi are correctly copied. - -2007-11-14 John W. Eaton - - * Makefile.in (@bsd_gcc_kluge_targets_frag@): Delete line for - Makefrag.bsd substitution. - - * graphics.h.in (base_properties::tag): New property. - (base_properties::get_tag, base_properties::set_tag): New functions. - (root_figure::set, root_figure::get, figure::set, figure::get, - axes::set, axes::get, line::set, line::get, text::set, text::get, - patch::set, patch::get, surface::set, surface::get): Handle tag. - -2007-11-14 Joseph P. Skudlarek - - * DLD-FUNCTIONS/regexp.cc: Undo previous change. - -2007-11-14 John W. Eaton - - * mex.cc (mex::mark, mex::unmark): Now public. - (mex::persistent): Delete. - (mexMakeArrayPersistent): Call maybe_unmark_array instead of - mex::persistent. - (mexMakeMemoryPersistent): Call maybe_unmark instead of - mex::persistent. - (maybe_unmark (void *)): New function. - (mxSetDimensions, mxSetPr, mxSetPi, mxSetData, mxSetImagData, - mxSetIr, mxSetJc): Use it. From David Bateman. - -2007-11-13 Joseph P. Skudlarek - - * DLD-FUNCTIONS/rand.cc (Frand): Update URL reference in doc string. - -2007-11-12 David Bateman - - * graphics.h.in, graphics.cc (class text): Add the fontangle and - fontweight properties. Add string_property class to handle the - string radio values. - -2007-11-12 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.17+. - -2007-11-12 David Bateman - - * graphics.h.in, graphics.cc (class text): Add the fontname and - fontsize properties. - -2007-11-10 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.17. - (OCTAVE_API_VERSION): Now api-v29. - (OCTAVE_RELEASE_DATE): Now 2007-11-10. - -2007-11-09 John W. Eaton - - * DLD-FUNCTIONS/__gnuplot_raw__.l: Don't add atexit ("closeplot") - to PKG_ADD file. - -2007-11-09 David Bateman - - * graphics.cc, graphics.h.in (class patch): Add the field "keylabel". - - * data.cc (Fcputime) [__WIN32__]: Correct scaling of sys and usr times. - - * graphics.cc (is_handle): Handle must be a real scalar. - -2007-11-09 Joseph P. Skudlarek - - * data.cc (Fislogical): Fix typo in documentation entry. - -2007-11-08 John W. Eaton - - * DLD-FUNCTIONS/__gnuplot_raw__.l (F__gnuplot_save_data__): - Note obsolescence in doc string. - (WARN_OBSOLETE): New macro - (F__gnuplot_save_data__, Fgnuplot_command_plot, - Fgnuplot_command_replot, Fgnuplot_command_splot, - Fgnuplot_command_using, Fgnuplot_command_with, - Fgnuplot_command_axes, Fgnuplot_command_title, - Fgnuplot_command_end, Fgnuplot_use_title_option, - F__clear_plot_window__, Fcloseplot, Fpurge_tmp_files, - F__gnuplot_raw__, F__gnuplot_send_inline_data__, F__gnuplot_set__, - F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__, - F__gnuplot_replot__): Use WARN_OBSOLETE. - -2007-11-07 John W. Eaton - - * DLD-FUNCTIONS/regexp.cc: Handle HAVE_PCRE_PCRE_H. Check - HAVE_PCRE_H instead of HAVE_PCRE to decide whether to include pcre.h. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (Fgnuplot_command_plot, - Fgnuplot_command_replot, Fgnuplot_command_splot, - Fgnuplot_command_using, Fgnuplot_command_with, - Fgnuplot_command_axes, Fgnuplot_command_title, - Fgnuplot_command_end, Fgnuplot_use_title_option, - F__clear_plot_window__, Fcloseplot, Fpurge_tmp_files, - F__gnuplot_raw__, F__gnuplot_send_inline_data__, F__gnuplot_set__, - F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__, - F__gnuplot_replot__): Note obsolescence in doc string. - -2007-11-06 Kai Habel - - * graphics.h.in (class surface::properties): New properties, - cdata, facecolor, facealpha, edgecolor, linestyle, - linewidth, marker, markeredgecolor, markerfacecolor, markersize. - * graphics.cc (surface::properties::properties, - surface::properties::set, surface::properties::get, - surface::properties::factory_defaults): Handle new properities. - -2007-11-06 David Bateman - - * data.cc (DATA_REDUCTION): Handle the 'native' and 'double' - arguments of the Fsum function. - * OPERATORS/op-bm-bm.cc (matrix_to_bool_matrix, - scalar_to_bool_matrix): New type conversion functions. - (install_bm_bm_ops): Install new type conversions functions. - -2007-11-06 Michael Goffioul - - * toplev.cc (Fsystem) [__WIN32__ && ! __CYGWIN__]: - Quote the complete command. - -2007-11-06 John W. Eaton - - * data.cc (Fnorm): New tests. - - * defun-int.h (DEFINE_FUNX_INSTALLER_FUN3): Don't install function - if check_version produces an error. - -2007-11-05 John W. Eaton - - * pt-idx.cc (tree_index_expression::lvalue): Try to do a better - job of computing the number of elements in lvalue expressions when - the last indexing element is ".". - -2007-11-02 John W. Eaton - - * file-io.cc (fopen_mode_to_ios_mode): Use std::ios::app instead - of std::ios::ate. - -2007-11-02 Olli Saarela - - * input.cc, pr-output.cc, bitfcns.cc, DLD-FUNCTIONS/time.cc: - Fix broken @examples in help texts. - -2007-10-31 John W. Eaton - - * data.cc (Fnorm): Avoid warning about p_val possibly being used - uninitialized. - - * version.h (OCTAVE_VERSION): Now 2.9.16+. - -2007-10-31 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.16. - (OCTAVE_API_VERSION): Now api-v28. - (OCTAVE_RELEASE_DATE): Now 2007-10-31. - -2007-10-31 Muthiah Annamalai - - * pt-assign.h (tree_simple_assignment::op_type, - tree_multi_assignment::op_type): New functions. - * pt-unop.h (tree_unary_expression::op_type): New function. - -2007-10-31 John W. Eaton - - * graphics.cc (line::properties::get): Fix property name - (markerface -> markerfacecolor). - - * Makefile.in (INCLUDES): Add debug.h to the list. - -2007-10-30 John Swensen - - * debug.h: New file. - * debug.cc (parse_dbfunction_params, do_find_bkpt_list, - intmap_to_ov): New functions. - (Fdbstop, Fdbclear): Use parse_dbfunction_params. - Improve compatibility. - (Fdbstatus): Improve compatibility. - - * help.cc (do_which): No longer static. - * help.h: Provide decl. - -2007-10-30 David Bateman - - * symtab.cc: Doc fixes for small book format. - -2007-10-30 John W. Eaton - - * file-io.cc (fopen_mode_to_ios_mode): Handle 'W' as 'w' and 'R' - as 'r', but warn about them. - -2007-10-29 Thomas Treichl - - * data.cc: Include sytime.h, sys/types.h, and sys/resource.h. - -2007-10-25 John W. Eaton - - * graphics.cc (figure::properties::set_currentaxes): - Allow currentfigure to be NaN. - -2007-10-25 Michael Goffioul - - * DLD-FUNCTIONS/__contourc__.cc: Use unsigned int instead of uint. - (drawcn): Use 1 << k instead of pow (2, k). - -2007-10-25 John W. Eaton - - * symtab.h (symbol_record::TYPE): Delete trailing comma in enum decl. - - * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Use - OCTAVE_EMPTY_CPP_ARG to avoid annoying Sun compiler warning. - - * Makefile.in (graphics.h): Use $(AWK) instead of awk. - - * DLD-FUNCTIONS/time.cc (Ftime, Fmktime): Avoid unnecessary cast. - - * data.cc (Ftic, Ftoc): Call double_value on octave_time objects - instead of relying on conversion operator. - * ov.cc (octave_value::octave_value (octave_time)): Likewise. - - * variables.cc (symbol_out_of_date): Use explicit conversion to - time_t instead of relying on conversion operator. - * ov-fcn-handle.cc (octave_fcn_handle::subsref): Likewise. - - * data.cc (tic_toc_timestamp): Rename from __tic_toc_timestamp__. - Change all uses. - -2007-10-24 David Bateman - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::OCTAVE_VALUE_INT_MATRIX_T - (const ArrayN&)): New constructor. - * ov.cc (octave_value::octave_value(const ArrayN) with T being - octave_int8, octave_uint8, octave_int16, octave_uint16, - octave_int32, octave_uint32, octave_int64, octave_uint64): New - constructors. - * ov.h (octave_value::octave_value(const ArrayN) with T being - octave_int8, octave_uint8, octave_int16, octave_uint16, - octave_int32, octave_uint32, octave_int64, octave_uint64): - Declare them. - * DLD-FUNCTIONS/sort.cc (template class octave_sort, - template class vec_index, template class - octave_sort *>, with T being - octave_int8, octave_uint8, octave_int16, octave_uint16, - octave_int32, octave_uint32, octave_int64, octave_uint64): New - instantiations of sort template classes. - (Fsort): Use them. - -2007-10-24 John W. Eaton - - * graphics.cc (root_figure::properties::set_currentfigure): - Allow currentfigure to be NaN. - - * pt-idx.cc (tree_index_expression::lvalue): Correctly compute - number of elements in lvalue expression when last indexing - element is ".". - -2007-10-23 John W. Eaton - - * graphics.cc (is_handle (const graphics_handle&)): New function. - (gh_manager::do_free, reparent, base_properties::set_parent, - properties::get_title, properties::get_xlabel, - properties::get_ylabel, properties::get_zlabel, - properties::remove_child, make_graphics_object, F__go_figure__, - F__go_delete__, __go_axes_init__): Call OK on graphics handle - object instead of relying on implicit conversion operator. - * graphics.h.in (graphics_handle::operator double ()): Delete. - (graphics_handle::operator bool ()): Delete. - (gh_manager::do_handle_list, gh_manager::do_figure_handle_list, - base_properties::adopt): Call VALUE on graphics handle object - instead of relying on implicit conversion operator. - - * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Call - DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 with "( )" as arg list - instead of "()". - - * mxarray.h.in (mxClassID): Delete trailing comma in enum decl. - - * symtab.h (symbol_table::symbol_table): Reduce default table size - to 64. - -2007-10-22 Kim Hansen - - * unwind-prot.cc: Include . - -2007-10-22 David Bateman - - * data.cc (Ftic, Ftoc, Fcputime): New builtin versions of the - benchmarking functions for speed. - * oct-map.cc (Octave_map::squeeze, Octave_map::permute): New methods. - (Octave_map::index (const octave_value_list&, bool)): Add resize_ok - argument, define as const and use const_iterator internally. - (Octave_map::index (idx_vector&, ...), Octave_map::index (Array - &, ...)): New forms of the index function. - * oct-map.h (squeeze, permute, indx (const octave_value_list&, bool), - index (idx_vector&, ...), index (Array &, ...)): Add - or update declaration. - * ov-struct.cc (octave_struct::do_index_op (const octave_value_list&, - bool)): New method. - * ov-struct.h (do_index_op (const octave_value_list&, bool)): Declare - it. - (squeeze (void), permute (const Arra&, bool): New methods. - -2007-10-19 Kai Habel - - * DLD-FUNCTIONS/__contourc__.cc (add_point): Rename from - cl_add_point. Change all uses. - (end_contour): Rename from cl_end_contour. Change all uses. - (start_contour): Rename from cl_start_contour. Change all uses. - (drawcn): Rename from cl_drawcn. New algorithm for locating contours. - (mark_facets): New function. - (cntr): Rename from cl_cntr. Change all uses. New algorithm for - locating contours. - -2007-10-19 John W. Eaton - - * ov-cell.cc (octave_cell::subsasgn): If RHS is cs-list, don't - fail if shape of LHS is different. - * ov-struct.cc (octave_struct::subsasgn): Likewise. - -2007-10-19 Olli Saarela - - * help.cc (Flookfor): Call print_usage instead of usage. - * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): Likewise. - -2007-10-17 John W. Eaton - - * DLD-FUNCTIONS/spchol.cc (Fsymbfact): Delete special code for METIS. - -2007-10-17 Gabriele Pannocchia - - * DLD-FUNCTIONS/__qp__.cc (qp): Fix check for Wact(j). - -2007-10-15 S�ren Hauberg - - * error.cc (Ferror): Make text fit on pages when using smallbook. - * load-save.cc (Fsave_header_format_string): Ditto. - * ov-struct.cc (Fcell2struct): Ditto. - * DLD-FUNCTIONS/besselj.cc (Fairy): Ditto. - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Ditto. - -2007-10-15 David Bateman - - * graphics.cc (axes::properties::get): Fix typo. - -2007-10-13 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.15+. - -2007-10-13 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.15. - (OCTAVE_API_VERSION): Now api-v27. - (OCTAVE_RELEASE_DATE): Now 2007-10-13. - -2007-10-13 David Bateman - - * graphics.h.in (class patch): Add the faces and vertices properties. - * graphics.cc (patch::properties::properties): Initialize faces - and vertices. - (patch::properties::get): Also fetch faces and vertices. - (patch::properties::factory_defaults): Set faces and vertices. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-11 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (urlget): Disable use of EPSV mode. - -2007-10-11 Brian Gough - - * DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/regexp.cc, dirfns.cc, - input.cc: Spelling fixes. - -2007-10-10 John W. Eaton - - * OPERATORS/op-sbm-sbm.cc (bool_matrix_to_double_matrix): - New conversion function. - (install_sbm_sbm_ops): Install it. - - * ov-re-mat.cc (double): Handle sparse as a special case. - -2007-10-10 Olli Saarela - - * data.cc, debug.cc, dirfns.cc, error.cc, file-io.cc, help.cc, - load-save.cc, ov-fcn-inline.cc, parse.y, pr-output.cc, symtab.cc, - syscalls.cc, toplev.cc, variables.cc, DLD-FUNCTIONS/bsxfun.cc, - DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/fft.cc, - DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftw.cc, - DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/lsode.cc, - DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spchol.cc, - DLD-FUNCTIONS/splu.cc, DLD-FUNCTIONS/spparms.cc: Spelling fixes. - -2007-10-10 Kim Hansen - - * DLD-FUNCTIONS/lpsolve.cc: Delete. - * Makefile.in (DLD_XSRC): Remove it from the list. - - * data.cc (Fsqueeze): Document 2d behaviour. - * ov-range.h (octave_range::squeeze): New function. - -2007-10-09 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (urlget_cleanup): New function. - (urlget): Protect call to curl_easy_perform with - BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and - END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. - -2007-10-09 David Bateman - - * input.cc (accept_line): Drop this function and remove automatic - insertion of closing quotes as the transpose operator confuses it. - (initialize_command_input): Remove accept_line from here as well. - -2007-10-09 John W. Eaton - - * ov-mapper.cc (octave_mapper::apply): If possible, use - d_d_map_fcn to handle complex values which have imag(z) == 0. - - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread) [! HAVE_CURL]: - Throw error instead of returning empty string hiding error message - in third return value. - (progress_func): Delete. - (Furlread): Don't set progress callback for curl. - (write_data, form_query_string, urlget): Now static. - -2007-10-08 David Bateman - - * input.cc (quoting_filename): Function to add a leading quote to - a string if needed. - (accept_line): Function to check if a string needs a closing quote - before calling the rl_newline function. - (initialize_command_input): Initialize completer_quote_characters, - filename_quote_characters, quoting_function, - user_accept_line_function. - - * data.cc (template static make_diag (...)): New - template class version of make_diag. Make other make_diag - functions depend on it. - ( static octave_value make_diag (const octave_value&, - octave_idx_type)): Treat all possible internal Octave types. - -2007-10-08 John W. Eaton - - * load-save.cc (save_vars, dump_octave_core): - Don't pass INFNAN_WARNED to do_save. - (do_save): Delete unused arg, INFNAN_WARNED. - Don't pass INFNAN_WARNED to save_ascii_data. - * ls-oct-ascii.cc (save_ascii_data_for_plotting): - Don't pass INFNAN_WARNED to save_ascii. - (save_ascii_data): Delete unused arg, INFNAN_WARNED. - - * ov.h (octave_value::save_ascii): Delete unused arg, INFNAN_WARNED. - * ov-base-int.cc (octave_base_int_matrix::save_ascii, - octave_base_int_scalar::save_ascii): Likewise. - * ov-base-sparse.cc (octave_base_sparse::save_ascii): Likewise. - * ov-base.cc (octave_base_value::save_ascii): Likewise. - * ov-bool-mat.cc (octave_bool_matrix::save_ascii): Likewise. - * ov-bool.cc (octave_bool::save_ascii): Likewise. - * ov-cell.cc (octave_cell::save_ascii): Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::save_ascii): Likewise. - * ov-fcn-inline.cc (octave_fcn_inline::save_ascii): Likewise. - * ov-list.cc (octave_list::save_ascii): Likewise. - * ov-struct.cc (octave_struct::save_ascii): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::save_ascii): Likewise. - * ov-range.cc (octave_range::save_ascii): Likewise. - - * ov-scalar.cc (octave_scalar::save_ascii): Remove warning about - reloading inf/nan values. Delete unused arg, INFNAN_WARNED. - * ov-complex.cc (octave_complex::save_ascii): Likewise. - * ov-re-mat.cc (octave_matrix::save_ascii): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::save_ascii): Likewise. - - * ov-fcn-inline.cc (Finline): Use DEFUNX instead of DEFUN. - -2007-10-08 Michael Goffioul - - * sighandlers.h (can_interrupt): Tag with OCTINERP_API. - * sysdep.h (raw_mode, octave_popen, octave_pclose, - same_file_internal): Likewise. - -2007-10-06 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): - Always allow MVAL to re resized if NR > 0. - (FINISH_CHARACTER_CONVERSION): Likewise. - - * mappers.cc (install_mapper_functions): Undo previous change. - Fix doc string for lgamma. - (xzlgamma): Delete. - -2007-10-05 John W. Eaton - - * graphics.h.in (axes::properties): New property, colororder. - * graphics.cc (default_colororder): New function. - (axes::properties::properties, axes::properties::get, - axes::properties::set_defaults, - axes::properties::factory_defaults, ): Handle colororder. - - * mappers.cc (xzlgamma): New static function. - (install_mapper_functions): Pass xzlgamma for c_c_map for lgamma - mapper. Pass 1 for can_ret_cmplx_for_real and set hi to - octave_Inf. - -2007-10-04 John W. Eaton - - * DLD-FUNCTIONS/symrcm.cc: Move static functions to top of file to - avoid forward decls. - (Q_enq): Delete unused arg QH. Change all uses. - (Q_deq): Delete unused arg QT. Change all uses. - (find_starting_node): Delete unused local variable J. - (H_heapify_min, H_insert, find_starting_node, Fsymrcm): - Move local variable decls to point of first use. - - * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): - Avoid control-reaches-end-of-non-void-function warning. - - * pt-const.cc (tree_constant::dup): Avoid unused parameter warning. - - * pr-output.cc (set_real_format, set_real_matrix_format, - set_complex_format, set_complex_matrix_format): - Delete unused arg, SIGN. Change uses. - - * oct-map.cc (Octave_map::Octave_map): Avoid shadow warning. - - * load-save.cc (write_header): Use reinterpret_cast to avoid - old-style cast warning. - - * data.cc (do_permute): Delete unused arg, FNAME. Change all uses. - - * sysdep.cc (w32_set_octave_home, w32_set_quiet_shutdown, - MINGW_signal_cleanup): - Only define if defined (__WIN32__) && ! defined (_POSIX_VERSION). - -2007-10-04 Jason Riedy - - * ls-mat5.cc (read_mat5_binary_data): Map miUTF16 to miUINT16, - miUTF32 to miUINT32. The matfile format currently states that - wide UTF formats are in the same byte order as the integers. - (read_mat5_binary_element): Replace all UTF16 and UTF32 - characters with the high bit set (value >127) by '?' and warn - that we've done so. - -2007-10-04 Michael Goffioul - - * sysdep.cc (w32_set_octave_home): Base OCTAVE_HOME location on - octinterp, not the main exe. - -2007-10-03 John W. Eaton - - * data.cc (Fnorm): New function. - (F__vnorm__): Delete. - -2007-10-03 Michael Goffioul - - * DLD-FUNCTIONS/typecast.cc: Include . - -2007-10-03 John W. Eaton - - * oct-map.cc (Octave_map::Octave_map (const dim_vector&, - const string_vector&)): Delete. - (Octave_map::Octave_map (const dim_vector&, const Cell&)): - New function. - * ov-struct.cc (Fstruct): Allow creation of empty struct arrays - with field names. - -2007-10-01 Shai Ayal - - * graphics.cc ((color_property::color_property (const - octave_value& val)): Undo change from 2007-09-26 - (patch::properties::properties): use the "a" modifier to - face_color & edge_color properties - (patch::properties::set): Undo change from 2007-09-26 - * graphics.h.in (color_property::color_property - (const octave_value& val)): Undo change from 2007-09-26 - -2007-10-01 Michael Goffioul - - * octave.cc (octave_main): Add "--line-editing" option to force - readline line editing. - -2007-09-28 David Bateman - - * ov-range.h (int8_array_value, int16_array_value, int32_array_value, - int64_array_value, uint8_array_value, uint16_array_value, - int32_array_value, uint64_array_value): New methods - -2007-09-28 Kai Habel - - * graphics.h.in (color_property::colormap_property (const Matrix&)): - Use floating point math in calculation of colormap. - -2007-09-26 David Bateman - - * graphics.cc (color_values::str2rgb): accept upper, lower and - mixed-case versions of the string representing the color. Allow - black defined as "k" and white as "w". - (color_property::color_property (const octave_value& val, - const radio_values &v)): Modify the constructor to also take a - radio_values argument. Use it. - (patch::properties::set): Change set_facecolor calls to initialize - the color_property argument with the available radio_values. - * graphics.h.in (color_property::color_property - (const octave_value& val, const radio_values &v)): Also pass a - radio_values argument. - - * ov-range.h (sparse_matrix_value, sparse_complex_matrix_value): - New methods. - - * mk-pkg-add: Simplfy the autoload commands. - * parse.y (Fautoload): Allow bare filename if file is in the same - directory as the script from where the autoload command is run. - -2007-09-25 Matthias Drochner - - * syscalls.cc (Fpopen2): Doc fix. - Use "sort -r" instead of "sort -nr" in test. - -2007-09-18 John W. Eaton - - * input.cc (input_event_hook, Finput_event_hook): Call - command_editor::add_event_hook and - command_editor::remove_event_hook intstead of - command_editor::set_event_hook and - command_editor::restore_event_hook. - -2007-09-17 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.14+. - -2007-09-17 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.14. - (OCTAVE_API_VERSION): Now api-v26. - (OCTAVE_RELEASE_DATE): Now 2007-09-17. - - * Makefile.in (DISTFILES): Add genprops.awk to the list. - - * ov-typeinfo.h (cat_op_fcn): Third arg in function pointer - typedef is now Array instead of Array. - - * file-io.cc (do_stream_open): Use binary mode by default. - -2007-09-14 Shai Ayal - - * genprop.awk: Handle "a" modifier. - -2007-09-14 Kai Habel - - * graphics.h.in (radio_values::contains): New function. - (radio_values::validate): Use it. - * graphics.cc (color_property::operator =): Call it instead of - validate here. - -2007-09-13 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (glpk): Pass LPX_FX, not LB_DB, to - lpx_set_col_bnds when lb[i] == ub[i]. - From: Zhi Wang . - - * graphics.h.in (colormap_property::colormap_property): - Use jet colormap as default. - -2007-09-12 John W. Eaton - - * graphics.cc (text::properties::properties): Default color is - black, not white. - * graphics.h (text::properties::color): Declare as color_property, - not octave_value. - - * graphics.h.in (root_figure::defaults, figure::defaults, - axes::defaults, line::defaults, text::defaults, image::defaults, - patch::defaults, surface::defaults): New functions. - * gripes.cc (gripe_not_implemented): New function. - * gripes.h: Provide decl. - -2007-09-10 John W. Eaton - - * genprops.awk: Add missing newline character at end of file. - From Alexander Klimov . - -2007-09-10 David Bateman - - * data.cc (do_cat): Avoid invalid indexing into ra_idx vector. - -2007-09-06 David Bateman - - * DLD-FUNCTIONS/__delaunay__.cc, DLD-FUNCRIONS/__voronoi__.cc, - DLD-FUNCTIONS/convhulln.cc: Avoid variables in global scope - -2007-09-06 David Bateman - - * Makefile.in (stamp-prereq): Add graphics.h to the dependency list. - -2007-08-31 John W. Eaton - - * Makefile.in (INCLUDES): Remove graphics.h from the list. - (DISTFILES): Include graphics.h.in in the list. - (genprops.awk): New file. - (graphics.h): New rule. - (distclean): Remove graphics.h. - * graphics.h.in: New file, from graphics.h. - (graphics_handle): Now a class instead of typedef. Adapt all uses. - (OCTAVE_GRAPHICS_PROPERTY_INTERNAL, OCTAVE_GRAPHICS_PROPERTY, - OCTAVE_GRAPHICS_MUTABLE_PROPERTY): Delete macros. - (class root_figure, class figure, class axes, class line, class - text, class image, class patch, class surface): Use genprops.awk - to generate property declarations and set/get functions. - * graphics.h: Delete. - * graphics.cc (nan_to_empty, empty_to_nan): Delete. - (root_figure::properties::set, figure::properties::set, - axes::properties::set, line::properties::set, - text::properties::set, image::properties::set, - patch::properties::set, surface::properties::set): Call - type-specific set functions to set properties. - (root_figure::properties::set_currentfigure, - figure::properties::set_currentaxes, figure::properties::set_visible, - axes::properties::get_title, axes::properties::get_xlabel, - axes::properties::get_ylabel, axes::properties::get_zlabel, - axes::properties::set_title, axes::properties::set_xlabel, - axes::properties::set_ylabel, axes::properties::set_zlabel): - Define custom versions. - -2007-09-06 David Bateman - - * DLD-FUNCTIONS/bsxfun.cc: New function. - * DLD-FUNCTIONS/typecast.cc: New function. - * Makefile.in (DLD_XSRC): Add bsxfun.cc and typecast.cc. - * ov.cc (do_cat_op): Modify use of Array to - Array and adjust where necessary. - * ov.h (do_cat_op): ditto. - * data.cc (do_cat): ditto. - * pt-mat.cc (tree_matrix::rvalue): ditto. - -2007-09-05 Michael Goffioul - - * oct-stream.cc (octave_base_stream::do_printf): Ignore precision - portion of format string if printing Inf, NaN, or NA values. - -2007-09-05 David Bateman - - * DLD-FUNCTIONS/sort.cc (mx_sort_sparse, mx_sort_sparse_indexed): - New template classes for sparse sort functions. - (Fsort): Use them. - * ov.h (octave_value (const Sparse&, const MatrixType&), - octave_value (const Sparse&, const MatrixType&)): New - constructors. - * ov.cc (octave_value::octave_value (const Sparse&, - const MatrixType&), octave_value::octave_value (const - Sparse&, const MatrixType&)): Define them. - * ov-re-sparse.h (octave_sparse_matrix (const MSparse&, - const MatrixType&), octave_sparse_matrix (const Sparse&), - octave_sparse_matrix (const Sparse&, const MatrixType&)): - New constructors. - * ov-cx-sparse.h (octave_sparse_complex_matrix (const MSparse&, - const MatrixType&), octave_sparse_complex_matrix (const - Sparse&), octave_sparse_complex_matrix (const - Sparse&, const MatrixType&)): ditto. - -2007-09-04 Gabriele Pannocchia - - * DLD-FUNCTIONS/__qp__.cc (qp): Use Wact(j) == i - n_eq when - checking for blocking constraint. Don't resize lambda_tmp. Only - compute Y = Aact.pseudo_inverse () if it is needed. - -2007-08-31 Michael Goffioul - - * ls-mat-ascii.cc (get_lines_and_columns): Check beg variable for - NPOS to avoid segmentation fault. - - * load-path.cc (load_path::do_find_file): Do not assume paths - use forward slashes. - -2007-08-30 John W. Eaton - - * sysdep.cc (Fpause): Doc fix. - -2007-08-30 Gabriele Pannocchia - - * DLD-FUNCTIONS/__qp__.cc (qp): Resize Wact to n_act-neq, not n_act. - -2007-08-29 John W. Eaton - - * graphics.cc (class root_figure::properties): - Rename from root_figure::root_figure_properties. - (class figure::properties): Rename from figure::figure_properties. - (class axes::properties): Rename from axes::axes_properties. - (class line::properties): Rename from line::line_properties. - (class text::properties): Rename from text::text_properties. - (class image::properties): Rename from image::image_properties. - (class patch::properties): Rename from patch::patch_properties. - (class surface::properties): Rename from surface::surface_properties. - - * base-list.h (octave_base_list::remove): Implement our own - remove_if function here. - -2007-08-28 John W. Eaton - - * graphics.h (base_properties): Move class definition before - definition of base_graphics_object class. Provide forward - declaration of base_graphics_object prior to definition of - base_properties. - (base_graphics_object::get_properties): New virtual function. - (graphics_object::get_properties, root_figure::get_properties, - figure::get_properties, axes::get_properties, - line::get_properties, text::get_properties, image::get_properties, - patch::get_properties, surface::get_properties): New functions. - (root_figure::properties, figure::properties, axes::properties, - line::properties, text::properties, image::properties, - patch::properties, surface::properties): Data member now private. - -2007-08-27 John W. Eaton - - * load-path.cc (load_path::do_find_file): Also files with non - rooted relative names. - * load-save.cc (find_file_to_load): Likewise. Also handle - appending .mat to files with relative names. - - * graphics.cc (base_properties::mark_modified, - base_properties::override_defaults, - base_properties::delete_children, figure::get_default, - axes::get_default): Move definitions here, from graphics.h. - * graphics.h (class gh_manager): Move decl to end of file. - - * Cell.h (Cell::Cell (const octave_value_list&)): Create row - vector instead of column vector. - - * pt-idx.cc (tree_index_expression::lvalue): Handle [x.a] = - ... style assignments. - * ov-struct.cc (octave_struct::subsasgn): Handle case of RHS as - comma-separated list. - - * ov-cell.cc (gripe_failed_assignment): New function. - (octave_cell::subsasgn): Call gripe_failed_assignment if assign - methods fail. - -2007-08-24 David Bateman - - * symtab.cc (void symbol_table::clear (void)): If the record in - the symbol table to clear is a user function that is a sub - function with a static parent or if the parent is the current - parent function, don't delete the record. - (void symbol_table::clear_functions (void)): ditto. - (void symbol_table::clear (const std::string&)): ditto. - (void symbol_table::clear_function (const std::string&)): ditto. - - * graphics.h (class text): Add property color. - * graphics.cc (text::text_properties::text_properties) ditto. - (text::text_properties::set): ditto. - (text::text_properties::get): ditto. - (text::text_properties::factory_defaults): ditto. - -2007-08-24 John W. Eaton - - * mappers.cc (dummyp): New function. - (install_mapper_functions): Use it to handle character data in - finite, isinf, isna, and isnan functions. - - * load-path.cc (load_path::do_remove): Call remove_hook function - before removing directory from list. - -2007-08-24 David Bateman - - * ov-bool-sparse.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class - is now logical. - * ov-re-sparse.cc, ov-cx-sparse.cc - (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class is now double. - * ov-mapper.cc (octave_mapper::apply): Use is_sparse_type method - rather than comparing class name. - * ls-mat5.cc (save_mat5_element_length, save_mat5_binary_element): - ditto. - * pt-mat.cc (tree_matrix:rvalue): sparse matrices are now of class - "double" or "logical", create new single type concat clause for - them. - * mex.cc (get_class_id): No longer need to special case sparse - matrices. - - * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/convhulln.cc, - DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/__voronoi__.cc: New - functions ported from octave-forge. - * DLD-FUCTIONS/__dsearchn__.cc: New file. - * DLD-FUNCTIONS/__voronoi__.cc: Return point at infinity and - include it in the polygrons of the Voronoi diagram for - compatibility. - * Makefile.in: Add specific build targets for __delanayn__.cc, - convhulln.cc and __voronoi__.cc to link to Qhull. - (DLD_SRC): Add new functions. - (OCTAVE_LIBS): Add QHULL_LIBS - -2007-08-22 David Bateman - - * variables.cc (Fmunlock): Call munlock and not mlock. - * symtab.cc (symbol_record::mark_as_formal_parameter): Typo. - -2007-08-10 John W. Eaton - - * pt-idx.cc (tree_index_expression::get_struct_index): Improve - error message. - * ov-struct.cc (Fstruct, Fcell2struct): Trap invalid field names here. - -2007-08-10 Peter A. Gustafson - - * graphics.h, graphics.cc (axes::axes_properties): New properties, - xaxislocation and yaxislocation. - -2007-08-10 Kai Habel - - * graphics.cc, graphics.h (patch): New class. - (axes::axes_properties): New properties, clim and climmode. - (surface::surface_properties::surface_properties): Handle patch. - (F__go_patch__): New function. - -2007-07-30 John W. Eaton - - * mex.cc (mxArray_number::mxArray_number (int, const char **)): - First arg is now mwSize. - (max_str_len): Return mwSize value, not int. - * mxarray.h.in (mxArray::mxArray (int, const char **)): - First arg is now mwSize. - (mxArray::mxArray (mxClassID, mwSize, mwSize, int, mxComplexity)): - Third arg is now mwSize. - (mxArray::get_string (char *, int)): Second arg is now mwSize. - -2007-07-26 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc: Include glpk/glpk.h if - HAVE_GLPK_GLPK_H is defined. - -2007-07-26 David Bateman - - * pr-output.cc (Frats): Return character array with same number of - rows as original value. - -2007-07-26 John W. Eaton - - * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename cur_fcn to xfcn. - - * version.h (OCTAVE_VERSION): Now 2.9.13+. - -2007-07-25 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.13 - (OCTAVE_API_VERSION): Now api-v25. - (OCTAVE_RELEASE_DATE): Now 2007-07-25. - - * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename fcn to curr_fcn. - -2007-07-25 David Bateman - - * Makefile.in: Adjust DISTFILES to allow out of tree "make dist" - to work. - -2007-07-24 Shai Ayal - - * graphics.cc (color_property::operator = (const octave_value&)): - New method. - * graphics.h: Provide decl. - -2007-07-24 Rafael Laboissiere - - * oct-conf.h.in (OCTAVE_CONF_RUNTEST): Delete definition. - * toplevel.cc (Foctave_config_info): Remove RUNTEST from struct. - -2007-07-23 David Bateman - - * pr-output.cc (rat_format, rat_string_len): Global variable - controlling behavior of rational approximation. Use throughout. - (class pr_rational_float): New class for rational approximation of - floats, specifically with the << operator defined. - (std::ostream& operator << (std::ostream&, const - pr_rational_float&)): Operator to print rational approximations of - double values. - (std::string rational_approx (double, int)): Function to convert a - double value to a string of maximum length giving the rational - approximation. - (pr_any_float): Include the output of rational approximations. - (Fformat): Add the "rat" format as an option. - (Frats): New function. - -2007-07-23 Aquil H. Abdullah - - * mex.cc (mxCreateStructArray): Declare second arg as const. - * mexproto.h (mxCreateStructArray): Ditto. - -2007-07-20 David Bateman - - * zfstream.cc (BUFSIZE): Increase default buffer size to 256kB - (gzfilebuf::underflow): Stash the last 16 characters read, so as - to avoid calling pbackfail as much as possible. - -2007-07-18 David Bateman - - * zfstream.cc (int_type gzfilebuf::pbackfail (int_type)): New - method to putback a character when the putback position in the - internal buffer doesn't exist. - * zfstream.h (int_type pbackfail (int_type)): Declaration it. - -2007-07-14 Michael Goffioul - - * ov-bool-sparse.cc (octave_sparse_bool_matrix:load_hdf5): - Use OCTAVE_LOCAL_BUFFER for temporary boolean value. - -2007-06-27 David Bateman - - * DLD-FUNCTIONS/sparse.cc (Fspdiag): Ensure spdiag(zeros(1,0)) returns - 0x0 matrix. Doc update. - * data.cc (Fdiag): Doc update. - -2007-06-28 John W. Eaton - - * ov-cell.cc (octave_cell::subsasgn): Given x = {}, convert to - struct for assignments like x(1).f = val; - - * oct-stream.cc (octave_scan_1): New function - (octave_scan): Use it. Handle fmt.width. - - * graphics.h (axes::axes_properties::visible): New data member. - * graphics.cc (axes::axes_properties::axes_properties, - axes::axes_properties::set, axes::axes_properties::get, - axes::axes_properties::factory_defaults): Handle visible property. - -2007-06-27 Kai Habel - - * graphics.h (color_values::color_values): Arg is now std:string - instead of char. Call str2rgb, not c2rgb. - * graphics.h, graphics.cc: (color_values::str2rgb): Rename from - c2rgb. Handle long color names, not just single char abbreviations. - -2007-06-27 David Bateman - - * load-save.cc (Fsave): Ensure header is written for non - existent file with "-append". - * ls-hdf5.h: First steps towards having append work for hdf5. - -2007-06-26 John W. Eaton - - * load-save.cc (Fsave): Open files correctly for -append. - Don't write file headers if appending. Error for -append -hdf5. - -2007-06-25 Olaf Till - - * oct-stream.h (octave_stream_list::list): Use std::map. - (octave_stream_list::curr_len): Delete data member. - (octave_stream_list::octave_stream_list): Fix initializations. - - * oct-stream.cc (octave_steam_list::do_insert, - octave_steam_list::do_lookup, octave_steam_list::do_remove, - octave_steam_list::do_clear, octave_steam_list::do_list_open_files, - octave_steam_list::do_open_file_numbers, - octave_steam_list::do_get_file_number): - Use new octave_stream_list::list type. - (octave_stream_list::do_insert): Insert octave_stream with key - corresponding to file-descriptor. - (octave_stream_list::do_insert, octave_steam_list::insert): - Remove const qualifier of argument. - -2007-06-18 S�ren Hauberg - - * DLD-FUNCTIONS/__lin_interpn__.cc: Replace octave_NaN with octave_NA. - -2007-06-15 Shai Ayal - - * graphics.h (OCTAVE_GRAPHICS_PROPERTY_INTERNAL, - OCTAVE_GRAPHICS_PROPERTY, OCTAVE_GRAPHICS_MUTABLE_PROPERTY): - New macros. Use them to declare individual properties and define - accessor methods for each property in the property classes. - -2007-06-15 Kai Habel - - * graphics.cc (Fget, Fset): Handle vectors of handles. - -2007-06-14 John W. Eaton - - * sysdep.cc (octave_popen, octave_pclose): New functions. - * sysdep.h: Provide decls. - - * oct-procbuf.cc (procbuf::open): Use octave_popen. - (procbuf::close): Use octave_pclose. - * oct-prcstrm.cc (octave_oprocstream::octave_oprocstream, - octave_iprocstream::ictave_oprocstream): Likewise. - - * graphics.h (text::text_properties::rotation): New data member. - * graphics.cc (text::text_properties::text_properties, - text::text_properties::set, text::text_properties::get, - text::text_properties::factory_defaults): Handle rotation property. - -2007-06-14 Kai Habel - - * graphics.cc (color_values::c2rgb): Also accept 'k' for black. - -2007-06-14 David Bateman - - * ov-ch-mat.h (idx_vector index_vector (void) const): Remove - definition. - * ov-ch-mat.cc (idx_vector index_vector (void) const): Move it - here. Special case ":" case for compatibility. - -2007-06-13 John W. Eaton - - * ov-re-mat.cc (octave_matrix::load_ascii): - Do a better job of handling read errors and empty matrices. - * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Likewise. - * ov-bool-mat.cc (octave_bool_matrix::load_ascii): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::load_ascii): Likewise. - -2007-06-13 David Bateman - - * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): Don't treat as single - argument if arg2 is empty and nargin=2. - -2007-06-13 Shai Ayal - - * graphics.h, graphics.cc: Move class declarations to graphics.h. - Move larger functions outside of class declarations in graphics.cc. - -2007-06-12 Benjamin Lindner - - * DLD-FUNCTIONS/cellfun.cc: Use fullfile to generate filenames - instead of assuming / will work as directory separator. - -2007-06-12 David Bateman - - * DLD-FUNCTIONS/interpn.cc: Remove it. - * DLD-FUNCTIONS/__lin_interpn__.cc: Move it. This is now a support - function of interpn.m. - * Makefile.in (DLD_XSRC): Remove interpn.cc and add __lin_interpn__.cc. - -2007-06-07 David Bateman - - * ov-fcn-handles.cc (octave_fcn_handle::save_hdf5): More care that - all open HDF5 descriptors are closed. - (octave_fcn_handle::load_hdf5): Ditto. - -2007-06-06 Benjamin Lindner - - * utils.cc [__MINGW32__]: Don't define HAVE_C99_VSNPRINTF. - -2007-06-06 Michael Goffioul - - * defaults.h.in, ls-hdf5.h, ov-complex.h, ov-cx-mat.h, ov-intx.h, - sysdep.h: Sprinkle with OCTINTERP_API as needed. - -2007-06-05 John W. Eaton - - * help.h (raw_help): Tag with OCTINTERP_API. - - * Makefile.in (INCLUDES): Remove mxarray.h from the list so that - it is not distributed. - (EXTRAS): Add mxarray.h to the list so that it is installed. - - * sysdep.cc (same_file_internal) [OCTAVE_USE_WINDOWS_API]: - Avoid leaking file handles. - -2007-05-08 Michael Weitzel - - * DLD-FUNCTIONS/symrcm.cc: Fix for queuing error that might cause - an infinite loop. - -2007-06-04 John W. Eaton - - * data.cc (Fislogical): Rename from Fisbool. - Make isbool an alias for islogical. - -2007-06-03 David Bateman - - * Makefile.in (DISTFILES): Add mxarray.h.in - (install-inc): Modify target so that mxarray.h is installed - correctly. - (distclean): Remove mxarray.h on distclean. - * mex.cc: Use mwSize for dimensions and mwIndex for indexing - throughout, with the exception of struct key indexes. - * mexproto.h: ditto. - * mxarray.h: remove. - * mxarray.h.in: Copy here and define mwSize, mwIndex, and use - throughout. - * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): Use mwSize and - mwIndex. - * ov-bool-sparse (octave_sparse_bool_matrix::as_mxArray): ditto. - * ov-cell.cc (octave_cell:as_mxArray): ditto. - * ov-ch-mat.cc (octave_char_matrix:as_mxArray): ditto. - * ov-cx-mat.cc (octave_complex_matrix::as_mxArray): ditto. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray): ditto. - * ov-int.h (as_mxArray): ditto. - * ov-range.cc (octave_range:as_mxArray): ditto. - * ov-re-mat.cc (octave_matrix:as_mxArray): ditto. - * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray): ditto. - * ov-struct.cc (octave_struct::as_mxArray): ditto. - -2007-06-02 David Bateman - - * graphics.cc (color_property class): g++ doesn't like anonymous - enums. Give type to color_type enum. - -2007-05-31 Shai Ayal - - * graphics.cc (radio_values, radio_property, color_values): - New classes. - (color_property class): Handle both color and radio values. - -2007-05-31 John W. Eaton - - * toplev.cc (main_loop): Improve bad_alloc error message. - - * octave.cc (execute_command_line_file, execute_eval_option_code): - Likewise. - -2007-05-31 Michael Goffioul - - * toplev.cc (octave_atexit_functions): - Now std::list instead of std::stack. - (do_octave_atexit): Adapte to octave_atexit_functions as list. - (Fatexit): Allow second arg of false to remove element from list. - - * DLD-FUNCTIONS/symrcm.cc: Use ! instead of "not". - - * sysdep.cc (same_file_internal) [OCTAVE_USE_WINDOWS_API]: - Use INVALID_HANDLE_VALUE, not INVALID_FILE_HANDLE. - -2007-05-28 G. D. McBain - - * ov-list.cc (append): Doc fix. - -2007-05-28 John W. Eaton - - * pt-loop.cc (DO_ND_LOOP): Avoid parser problem with obsolete g++. - -2007-05-23 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.12+. - -2007-05-23 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.12. - (OCTAVE_RELEASE_DATE): Now 2007-05-23. - - * parse.y (make_anon_fcn_handle): Don't build assignment expression. - * ov-fcn-handle.cc (octave_fcn_handle::print_raw): - Don't split assignment expression. - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Special case for inline function body evaluation. - -2007-05-22 John W. Eaton - - * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): - Set current function as parent of anonymous function handle. - - * Makefile.in (uninstall): Also remove - $(DESTDIR)$(octincludedir)/octave, $(DESTDIR)$(octincludedir), - $(DESTDIR)$(octlibdir), and $(DESTDIR)$(octfiledir). - -2007-05-22 Thomas Weber - - * debug.cc, error.cc, load-save.cc, oct-hist.cc, sighandlers.cc, - symtab.cc: Fix typos. - -2007-05-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.11+. - -2007-05-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.11. - (OCTAVE_API_VERSION): Now api-v24. - (OCTAVE_RELEASE_DATE): Now 2007-05-22. - -2007-05-21 David Bateman - - * debug.cc (Fdbstop): handle integer, vector and multiple line - arguments. - (Fdbclar): ditto. Eliminate extraneous debugging messages. - -2007-05-21 S�ren Hauberg - - * load-path.cc (Fpath, Frehash): Replace "LOADPATH" with "load - path" in doc strings. - - * parse.y (Feval): Add example. - -2007-05-21 David Bateman - - * error.cc (rethrow_error): Use NULL name so that "error:" is not - added to the message - (Frethrow): Correctly treat empty stack. - -2007-05-21 John W. Eaton - - * oct-map.h (Octave_map::numel): Return number of array elements, - not number of map elements. - (Octave_map::nfields): Rename from length. - (Octave_map::empty): Delete. - Change all uses of empty to check nfields () == 0 instead. - -2007-05-21 S�ren Hauberg - - * help.cc (Fautoload): Doc fix. - * variables.cc (Fiscommand): Doc fix. - -2007-05-19 David Bateman - - * ov-fcn-inline.cc (Fvectorize): Doc fix. - -2007-05-16 S�ren Hauberg - - * ov.cc (Fsubsref, Fsubsasgn): Doc fix. - -2007-05-16 John W. Eaton - - * load-path.h (load_path::sys_path): New static data member. - (load_path::system_path): New static function. - (load_path::do_system_path): New function. - * load-path.cc (Vsystem_path): Delete. - (load_path::do_initialize): Use sys_path, not Vsystem_path. - (Fpathdef): Call load_path::system_path instead of using Vsystem_path. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. - -2007-05-16 David Bateman - - * load_pathc.cc (std::string octave_system_path (void)): New - function. - * load-path.h (std::string octave_system_path (void)): Declare it. - - * load-save.cc (static load_save_format get_file_format - (std::istream&, const std::string&)): Add filename argument, and - pass it to read_mat5_binary_header. Use new format throughout file. - (Fload): Don't allow gzip of matlab v7 files as the files - themselves include compression. - - * ls-mat5.cc (arrayclsstype:MAT_FILE_WORKSPACE_CLASS): New class - type. - (read_mat5_binary_element): Workspaces, don't have dimensions, so - don't read them. Implement read of matlab objects, but only use - them for inline functions. Implement reading of function and - workspace classes. - (read_mat5_binary_header): Add filename argument. Read sub-system - specific data block given as an offset in bytes 117 to 124. - (save_mat5_binary_element): Include saving of inline functions. - - * ls-mat5.h (read_mat5_binary_header): Include filename. - - * ov-fcn-handle.cc (octave_fcn_handle_save_ascii, - octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, - octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, - octave_fcn_handle::load_hdf5): Save and reload the local symbol - table of the user function associated with anonymous function - handles. Save and load the absolute path and the exec_prefix for - normal function handles and use then to find equivalent functions - between different installations of Octave. Attempt to maintain - backward and forward compatibility. - (Ffunctions): Additional outputs, including the workspace of - anonymous functions, and more compatiable outputs. - - * ov-fcn-handle.h (user_function_value): Expose the user function - value of a function handle. - - * ov-fcn-inline.cc (Octave_map octave_fcn_inline::map_value - (void) const): Return a structure compatiable with matlab's class - implementation of inline functions. - - * ov-fcn-inline.h (map_value): Declare it. - -2007-05-14 Bob Weigel - - * DLD-FUNCTIONS/svd.cc: Doc fix. - -2007-05-14 Thomas Weber - - * DLD-FUNCTIONS/fft.cc (do_fft): Handle empty matrices. New tests. - -2007-05-14 S�ren Hauberg - - * toplev.cc (Fatexit): Simplify example in doc string. - * help.cc (Flookfor): Doc fix. - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): - Reformat to avoid long lines in doc string example. - -2007-05-13 S�ren Hauberg - - * toplev.cc (Fquit): Doc fix. - * help.cc (Fhelp): Doc fix. - * oct-hist.cc (Fsaving_history): Doc fix. - -2007-05-11 John W. Eaton - - * variables.cc (symbol_out_of_date): - Always check for files that have gone missing. - -2007-05-08 Michael Weitzel - - * DLD-FUNCTIONS/symrcm.cc: New function for Reverse Cuthill-McKee - permutation. - -2007-05-07 John W. Eaton - - * oct-map.cc (Octave_map::resize): Handle case of no keys. - (keys_ok): Rename from equiv_keys. Return value is now status. - Pass key names as string_vector reference arg. - (Octave_map::assign (const octave_value_list&, const Octave_map&)): - Call keys_ok, not equiv_keys. Handle case of no keys. - -2007-04-30 John W. Eaton - - * Makefile.in (%.df : %.cc): Use mv instead of - $(simple-move-if-change-rule). - -2007-04-30 David Bateman - - * pt-loop.cc (DO_ND_LOOP): New args, CONV and ARG. - Use octave_idx_type instead of int for loop counters. - Remove redundant assignments to variable "quit" as it is - always defined in quit_loop_now. - Special case rows = 0 and 1 cases in loops over arrays. - Include some of the code that was separate from the macro - DO_ND_LOOP in the macro itself - (tree_simple_for_command::eval): USE DO_ND_LOOP for all loops. - (DO_LOOP): Delete. - -2007-04-30 John W. Eaton - - * mex.cc (mex::cleanup): Don't call unmark for elements of the set - inside the loop. From Laurent Mazet . - -2007-04-30 David Bateman - - * OPERATORS/op-int-conv.cc: Define sq and dq string conversion - operators. Delete old char_matrix_str conversions. - * OPERATORS/op-int-conv.cc (install_int_conv_ops): Install them. - -2007-04-27 Benjamin Lindner . - - * octave.cc (execute_startup_files): Call same_file to check for - already executed init files. - -2007-04-27 John W. Eaton - - * sysdep.cc (same_file_internal): New function. POSIX code - from same_file in utils.cc. Windows code from - Benjamin Lindner . - Don't canonicalize file names. - Also return false if stat calls fail. - * sysdep.h: Provide decl. - * utils.cc (same_file): Use same_file_internal. - -2007-04-27 David Bateman - - * graphic.cc (get_property_form_handle, set_property_in_handle): - New functions. - * grahics.h: New file. - * mex.cc (mexGet, mexSet): use the above to implement mexGet - and mexSet. - * Makefile.in (INCLUDES): Add graphics.h - -2007-04-26 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Only deal with varargout if ret_list->takes_varargs () is true. - -2007-04-26 S�ren Hauberg - - * DLD-FUNCTIONS/urlwrite.cc: Doc fix. - -2007-04-26 David Bateman - - * pt-loop.cc (tree_simple_for_command::eval (void)): Correct - reshaping of dim_vector in for loop for multi-dimensional array. - -2007-04-26 John W. Eaton - - * load-save.cc (find_file_to_load): Only consider regular files. - -2007-04-24 Shai Ayal - - * graphics.cc (color_property): Eliminate alpha channel from RGB - color spec. - -2007-04-23 Shai Ayal - - * graphics.cc (color_property::color_property): - New arg A for alpha channel. Set rgba instead of red, green, blue. - (color_property::color_property (char)): New constructor. - (color_propery::rgba): New data member. - (color_property::red, color_property::green, color_property::blue): - Delete. - (color_property::validate): Use rgba. - (color_property::c2rgba): New function. - -2007-04-23 S�ren Hauberg - - * data.cc (Fsize_equal): Allow more than two arguments. - -2007-04-20 John W. Eaton - - * DLD-FUNCTIONS/__gnuplot_raw__.l (deftypefn): - (Vautomatic_replot): Delete static variable. - (Fautomatic_replot): Delete function. - - * toplev.cc (Fcasesen): Delete obsolete function. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (gnuplot::makeplot): Check - whether caller is "splot", not "gsplot". - -2007-04-19 John W. Eaton - - * lex.l (is_keyword_token): Delete all_va_args_kw switch case. - * octave.gperf: Remove all_va_args_kw from the list. - -2007-04-19 Daniel J. Sebald - - * syscalls.cc: Fix popen2 test to stop trying after 100 times - throught the loop. - -2007-04-16 Geordie McBain - - * ov-fcn-inline.cc (Fargnames): Doc fix. - -2007-04-13 Geordie McBain - - * DLD-FUNCTIONS/find.cc (Ffind): Doc fix. - -2007-04-11 John W. Eaton - - * Makefile.in (DOCSTRINGS): Don't echo commands. - (doc-files): Use mv, not $(simple-move-if-change-rule). - - * data.cc (Fnot, Fuplus, Fuminus, Ftranspose, Fctranspose, Fplus, - Fminus, Fmtimes, Fmrdivide, Fmpower, Fmldivide, Flt, Fle, Feq, - Fge, Fgt, Fne, Ftimes, Frdivide, Fpower, Fldivide, Fand, For): - New functions. - -2007-04-09 John W. Eaton - - * graphics.cc (line::line_properties::markeredgecolor, - line::line_properties::markerfacecolor): New properties. - -2007-04-06 John W. Eaton - - * data.cc (F__vnorm__): New function. - - * pt-fcn-handle.cc (tree_anon_fcn_handle::param_list, - tree_anon_fcn_handle::cmd_list, tree_anon_fcn_handle::ret_list, - tree_anon_fcn_handle::sym_tab): Delete. Remove all uses. - (tree_anon_fcn_handle::fcn): New data member. - (tree_anon_fcn_handle::tree_anon_fcn_handle): Initialize it. - (tree_anon_fcn_handle::rvalue, tree_anon_fcn_handle::dup): - Extract parameter list, return list, function body, and symbol - table from fcn. - (tree_anon_fcn_handle::parameter_list, tree_anon_fcn_handle::body): - Forward request to fcn. - - * ov-usr-fcn.h (octave_user_function::local_sym_tab): Rename from - sym_tab. Change all uses. - (octave_user_function::sym_tab): New function. - - * octave.cc (execute_command_line_file): - -2007-04-05 David Bateman - - * DLD-FUNCTIONS/regexp.cc (Fregexprep): Correct iteration over - cell arrays so that the source and pattern are iterated seperately - in the same manner as matlab. - -2007-04-05 Laurent Mazet - - * mex.cc (mxArray_octave_value::get_string): Copy nel elements, - not buflen elements. - -2007-04-05 John W. Eaton - - * oct-stream.cc (DO_DOUBLE_CONV): New macro. - (do_printf): Use it. - -2007-04-04 John W. Eaton - - * input.cc (octave_yes_or_no): Force interactive_input to use readline. - - * octave.cc (execute_eval_option_code): Catch bad::alloc here. - -2007-04-03 John W. Eaton - - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): - Use && for logical, not &. - - * DLD-FUNCTIONS/qr.cc (Fqr): Clarify nargin check. - - * error.cc (Frethrow): Add braces to avoid ambiguous if/else. - * oct-stream.cc (octave_scan<>): Likewise. - * DLD-FUNCTIONS/colamd.cc (Fetree): Likewise. - * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Likewise. - - * ov-fcn-handle.cc (make_fcn_handle): Pass ultimate parent - function name to lookup_function. - -2007-03-29 John W. Eaton - - * DLD-FUNCTIONS/filter.cc (filter): Fix typo in doc string. - From Utkarsh Upadhyay . - -2007-03-28 Rafael Laboissiere - - * DLD-FUNCTIONS/__glpk__.cc: Fix #ifdef logic around GLPK_PRE_4_14. - -2007-03-27 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.10+ - -2007-03-27 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.10. - (OCTAVE_API_VERSION): Now api-v23. - (OCTAVE_RELEASE_DATE): Now 2007-03-27. - - * version.h (OCTAVE_COPYRIGHT): Update for 2007. Add "and others". - (X_OCTAVE_WARRANTY_STATEMENT): Rename from OCTAVE_WARRANTY_STATEMENT. - Accept arg. - (OCTAVE_WARRANTY_STATEMENT): Define using X_OCTAVE_WARRANTY_STATEMENT. - (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Define using - X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY. - (X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Rename - from OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY. - Accept arg and pass to X_OCTAVE_WARRANTY_STATEMENT. - (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Pass empty - arg to X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS. - (OCTAVE_STARTUP_MESSAGE): Put info about news last. - -2007-03-27 John W. Eaton - - * Makefile.in (dist, conf-dist): Use ln, not $(LN_S). - -2007-03-26 Juhani Saastamoinen - - * file-io.cc (do_stream_open) [! HAVE_ZLIB]: - Call fopen with mode, not tmode. - -2007-03-26 John W. Eaton - - * OPERATORS/op-str-str.cc (DEFCHARNDBINOP): New macro. Use it to - define functions for eq and ne ops. Also define lt, le, ge, and - gt ops. - -2007-03-23 David Bateman - - * DLD-FUNCTIONS/rand.cc: Make more statistical tests optional. - -2007-03-23 John W. Eaton - - * bitfcns.cc (Fbitshift): Error if third argument is not a scalar. - -2007-03-23 David Bateman - - * DLD-FUNCTIONS/rand.cc: Make statistical tests optional and - add tests for fixed sequences. - -2007-03-22 John W. Eaton - - * graphics.cc (base_graphics_object::mark_modified): - New virtual function. - (base_properties::__modified__): New data member. - (base_properties::base_properties): Initialize it. - (graphics_object::mark_modified, base_properties::mark_modified, - root_figure::mark_modified, figure::mark_modified, - axes::mark_modified, line::mark_modified, text::mark_modified, - image::mark_modified, surface::mark_modified, - root_figure::root_figure_properties::mark_modified, - figure::figure_properties::mark_modified, - axes::axes_properties::mark_modified, - line::line_properties::mark_modified, - text::text_properties::mark_modified, - image::image_properties::mark_modified, - surface::surface_properties::mark_modified): New functions. - (figure::figure_properties::set, figure::figure_properties::get, - axes::axes_properties::set, axes::axes_properties::get, - line::line_properties::set, line::line_properties::get, - text::text_properties::set, text::text_properties::get, - image::image_properties::set, image::image_properties::get, - surface::surface_properties::set, surface::surface_properties::get): - Handle __modified__ property. - - * parse.y (Fautoload): Use warning_with_id. - -2007-03-21 John W. Eaton - - * DLD-FUNCTIONS/__qp__.cc (ABS): Delete. Use std::abs instead. - (null): Set elements of retval with magnitudes less than eps to 0. - - * error.cc (Fwarning): Allow setting options with struct. - If setting options, return previous state. - - * graphics.cc (axes::axes_properties::set_defaults): Reverse sense - of mode test for setting outerposition property. - (figure::figure_properties::set): If setting visible property, - make this figure the current figure. - (gh_manager::figure_handle_list, gh_manager::do_figure_handle_list): - New functions. - (F__go_figure_handles__): New function. - - * sysdep.cc (Fpause): Also call drawnow if nargin == 0. - (Fkbhit, Fsleep, Fusleep): Also call drawnow here. - -2007-03-20 David Bateman - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Correct for shape of return - matrix for the case of UniformOutput being true. - -2007-03-20 John W. Eaton - - * sysdep.cc (Fpause): Call drawnow. - -2007-03-15 John W. Eaton - - * variables.cc (F__lock_global__): Delete. - -2007-03-14 John W. Eaton - - * graphics.cc: New file. - * Makefile.in (DIST_SRC): Add it to the list. - -2007-03-13 John W. Eaton - - * file-io.cc (do_stream_open): Use binary mode if 't' is not - specified in mode, but don't add 'b' if it is already present. - -2007-03-09 David Bateman - - * data.cc (do_cat): Also treat case of all empty matrices. - -2007-03-08 John W. Eaton - - * mex.cc (mxArray_octave_value::set_dimensions, - mxArray_octave_value::set_m, mxArray_octave_value::set_n, - mxArray_octave_value::set_class_name, - mxArray_octave_value::set_ir, mxArray_octave_value::set_jc, - mxArray_octave_value::remove_field, - mxArray_octave_value::set_field_by_number): - Don't panic; request mutation instead. - (class mxArray_octave_value): - - * mxarray.h (mxArray::set_m, mxArray::set_n, - mxArray::set_dimensions): Wrap method call call with - DO_VOID_MUTABLE_METHOD. - -2007-03-08 David Bateman - - * data.cc (do_cat): Ignore leading empty matrices. - -2007-03-07 Bob Weigel - - * urlwrite.cc (urlget): Allow URL redirects. - -2007-03-05 David Bateman - - * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Treat both files and strings. - -2007-03-05 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Check GLPK_PRE_4_14, not - GLPK_PRE_4_15. - -2007-03-02 John W. Eaton - - * parse.y (Fautoload): Undo previous change. - Warn if FILE is not an absolute file name. - - * utils.cc (make_absolute): Make copy of arg before - -2007-03-01 John W. Eaton - - * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&), - (octave_base_matrix::octave_base_matrix (const MT&, const MatrixType&)): - Use common definition with default argument value. - * ov-base-scalar.h (octave_base_scalar::typ): New data member. - Initialize in constructors. - (octave_base_scalar::matrix_type): New funtions. - -2007-03-01 David Bateman - - * DLD-FUNCTIONS/md5sum.cc: New file. - * Makefile.in (DLD_XSRC): Add md5sum.cc - -2007-03-01 Olli Saarela - - * input.cc (FPS1): Fix @seealso. - -2007-03-01 David Bateman - - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Special case scalar - types and always return "Full" matrix type. - -2007-02-28 John W. Eaton - - * input.cc (interactive_input): Also call flush_octave_stdout - after calling drawnow. - -2007-02-27 John W. Eaton - - * Makefile.in (uninstall): Also remove octave-$(version)$(EXEEXT), - oct-gperf.h, and all .oct files. Remove PKG_ADD. - From Thomas Treichl . - - * load-path.h, (load_path::initialize, load_path::do_initialize): - New arg, set_initial_path. - * load-path.cc (load_path::do_initialize): Don't add system - directories to apth if set_initial_path is false. - * octave.cc (set_initial_path): New static variable. - (NO_INITIAL_PATH_OPTION): New define. - (usage_string): Include --no-initial-path in message. - (long_opts): Include no-initial-path/NO_INITIAL_PATH_OPTION here. - (octave_main): Handle NO_INITIAL_PATH_OPTION. - Pass set_initial_path to load_path::initialize. - - * parse.y (Fautoload): Warn about duplicate entries. Only insert - the first found. - -2007-02-27 David Bateman - - * error.cc (Vlast_error_file, Vlast_erro_name, Vlast_error_row, - Vlast_error_column): New static variables. - (verror): Use them to store the location of last error. - (rethrow_error, Frethrow, Flasterror): New functions. - - * DLD-FUNCTIONS/regexp.cc (octcellregexp): Wrapper to octregexp - function for cases when string or pattern are cell arrays - (Fregexp, Fregexpi): Use them. - (octregexprep): New function with functionality of old Fregexprep. - (Fregexprep): Treat cell arguments. - -2007-02-26 Michael Goffioul - - * Makefile.in: Use $(LN_S) instead of ln or ln -s. - - * DLD-FUNCTIONS/getrusage.cc: Undef min after including windows.h. - -2007-02-25 John W. Eaton - - * DLD-FUNCTIONS/interpn.cc: Include dNDArray.h, not dMatrix.cc. - - * error.h: Include cstdarg. - From Juhani Saastamoinen . - -2007-02-23 John W. Eaton - - * variables.cc (lookup_function): Don't dereference NULL - curr_parent_fucntion pointer. - * ov-fcn-handle.cc (make_fcn_handle): Call lookup_function with - parent set to empty string if call_stack is empty. - - * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Also adjust argument list - in calls to functions that are not overloaded. Call - lookup_by_name to find function instead of searching fbi_symtab - directly. - - * help.cc (do_which): Return empty string if file not found. - -2007-02-22 John W. Eaton - - * mex.cc (mxArray_cell::mxArray_cell (const mxArray_cell&), - mxArray_struct::mxArray_struct (const mxArray_struct&)): - Avoid calling clone on 0 elements. - - * variables.cc (symbol_out_of_date): If checking nested function, - look for file using parent function name. Delete unused - variable NAMES. - - * oct-stream.cc (octave_stream::do_gets): If no limit or not - at limit, read ahead one character at end of line for compatibility. - (octave_stream::gets, octave_stream::getl): Set max_len to -1 if - tc_max_len is not defined. - * file-io.cc (Ffgets, Ffgetl): If no limit specified, pass - undefined octave_value object as max_len in call to - octave_stream::gets. - -2007-02-21 John W. Eaton - - * mex.cc (mexErrMsgIdAndTxt, mexWarnMsgIdAndTxt): Handle second - arg as format and accept variable number of arguments. - * mexproto.h: Fix decls. - - * error.h, error.cc (vmessage, vusage, vwarning, verror, - vparse_error, vmessage_with_id, vusage_with_id, vwarning_with_id, - verror_with_id, vparse_error_with_id): Provide va_list versions of - variadic error, warning, and message functions. - (message, usage, warning, error, parse_error, message_with_id, - usage_with_id, warning_with_id, error_with_id, - parse_error_with_id): Call va_list versions. - - * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Return error - code and message instead of throwing error if functionality is - missing. - - * oct-obj.h (octave_value_list::splice): Set default for - replacement list argument. - -2007-02-20 Rafael Laboissiere - - * DLD-FUNCTIONS/__glpk__.cc: Adapt code for changes in the GLPK - API for version 4.15 or later. - -2007-02-20 John W. Eaton - - * mxarray.h (mxArray::get_scalar): New function. - * mex.cc (mxArray_base::get_scalar): New pure virtual function. - (mxArray_octave_value::get_scalar, mxArray_matlab::get_scalar, - mxArray_number::get_scalar): New functions. - (mxGetScalar): Call get_scalar here. - - * mex.cc (mxArray_octave_value::get_dimensions): Cache ndims here. - (mxArray_octave_value::get_number_of_dimensions): - Call get_dimensions here to cache both ndims and dims. - -2007-02-17 John W. Eaton - - * variables.cc (symbol_out_of_date): Don't exit early if looking - at nested function. - -2007-02-16 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): Clear - function if original was loaded from relative path and the name - can no longer be found in path. Mark files found from relative - path as relative. - (clear): Only warn if there is more than one function to clear. - - * variables.cc (symbol_out_of_date): Don't ignore return value in - call to octave_env::make_absolute. - (symbol_out_of_date): Clear symbol if original was loaded from - relative path and name can no longer be found in path. - - * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): - Also check whether new file is same as the old file. - - * utils.cc (same_file): Move here from variables.cc. - * utils.h: (same_file): Provide decl. - - * parse.y (frob_function): Stash parent function name if parsing - nested function. - - * ov-fcn-handle.cc (make_fcn_handle): Pass current function name - as parent in call to lookup_function. - - * ov-fcn.h (octave_function::parent_fcn_name): New virtual function. - - * ov-usr-fcn.h (octave_user_function::parent_name): New data member. - (octave_user_function::stash_parent_function_name, - octave_user_function::parent_function_name): New methods. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Initialize parent_name. - - * variables.h, variables.cc (lookup_function): New arg, parent. - If not empty, try this first for lookup. - - * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): If doing - path lookup, check relative status. Pass relative to oct_file_in_path. - (octave_dynamic_loader::do_load_mex): Likewise, for mex_file_in_path - - * defun-int.h, defun.cc (install_mex_function): New arg, relative. - (install_dld_function): Likewise. - (octave_dld_fcn_installer): Likewise. - (DEFINE_FUNX_INSTALLER_FUN3): Pass relative to install_dld_function. - - * dynamic-ld.h (octave_dynamic_loader::load_oct, - octave_dynamic_loader::load_mex, - octave_dynamic_loader::do_load_oct - octave_dynamic_loader::do_load_mex): New arg, relative. - - * dirfns.h (Vcurrent_directory): Delete unused variable. - - * variables.cc (symbol_out_of_date): Also compare function time - stamp to Vlast_chdir_time if function is from relative lookup. - - * dirfns.cc (Vlast_chdir_time): New variable. - (octave_change_to_directory): Update it if chdir succeeds. - * dirfns.h (Vlast_chdir_time): Provide decl. - - * ov-fcn.h (octave_function::relative): New data member. - (octave_function::mark_relative, octave_function::is_relative): - New functions. - - * parse.y (fcn_file_from_relative_lookup): New static variable. - (load_fcn_from_file): Note whether function file was found from - relative path element. - (frob_function): Maybe mark function as relative. - - * parse.y (lookup_autoload): Don't call octave_env::make_absolute - on return value. - * variables.cc (symbol_out_of_date): Make name absolute after call - to lookup_autoload. - - * input.cc (interactive_input): New arg, DEBUG. Don't call - drawnow if debugging. - (get_user_input): Pass DEBUG to interactive_input. - -2007-02-16 Michael Goffioul - - * syscalls.cc (Fpopen2): New function. - (pipe): Modify to return input and output file descriptor - seperately rather than in a list. - -2007-02-16 Muthiah Annamalai - - * debug.cc (Fdbtype): Improve compatibility. - -2007-02-16 John W. Eaton - - * toplev.cc (wait_for_input): New function. - (run_command_and_return_output): Use it instead of napping. - - * oct-procbuf.h (octave_procbuf::pid): Now const. - * procstream.h (procstreambase::pid): Now const. - (procstreambase::file_number): New function. - -2007-02-15 John W. Eaton - - * mxarray.h (mxChar): Use char instead of unsigned short. - - * toplev.cc (Foctave_config_info): Remove - OCTAVE_CONF_MKOCTFILE_INCFLAGS and OCTAVE_CONF_MKOCTFILE_LFLAGS - from the list. - * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_INCFLAGS, - OCTAVE_CONF_MKOCTFILE_LFLAGS): Don't define. - (OCTAVE_CONF_INCLUDEDIR, OCTAVE_CONF_OCTINCLUDEDIR, - OCTAVE_CONF_OCTLIBDIR, OCTAVE_CONF_PREFIX): New definitions. - -2007-02-14 Alexander Barth - - * DLD-FUNCTIONS/interpn.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2007-02-14 John W. Eaton - - * input.cc (interactive_input): Check error_state after call to feval. - -2007-02-10 John W. Eaton - - * oct-stream.cc (octave_stream::rewind): Call seek (0, SEEK_SET) - instead of rep->rewind. - (octave_base_stream::rewind): Delete Function. - * oct-stream.h (octave_base_stream::rewind): Delete decl. - -2007-02-09 John W. Eaton - - * ls-mat5.cc (PAD): Adjust to change in write_mat5_tag. - (TAGLENGTH): Delete unused macro. - - * ov-struct.cc (octave_struct::load_ascii, - octave_struct::load_binary, octave_struct::load_hdf5): - Delete obsolete attempt at backward compatibility. - - * ls-mat5.cc (read_mat5_binary_element): Don't attempt to read - fieldnames if there are no fields. - (write_mat5_tag): Don't use small data element format if bytes == 0. - - * ls-mat5.cc (read_mat5_binary_element): Always create a structure - that is at least 1x1. - * ov-struct.cc (octave_struct::load_ascii, - octave_struct::load_binary, octave_struct::load_hdf5): Likewise. - -2007-02-08 Michael Goffioul - - * DLD-FUNCTIONS/__glpk__.cc: Include glplib.h if glpk.h does not. - Provide definitions for lib_set_fault_hook and lib_set_print_hook - if they are not defined. - -2007-02-07 John W. Eaton - - * defaults.cc (subst_octave_home): - Only substitute at beginning of string. - - * ls-hdf5.cc (save_hdf5_empty): Use OCTAVE_LOCAL_BUFFER. - * ov-bool-mat.cc (octave_bool_matrix::save_hdf5, - octave_bool_matrix::load_hdf5): Likewise. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_hdf5, - octave_sparse_bool_matrix::load_hdf5): Likewise. - -2007-02-07 Michael Goffioul - - * ov-cell.cc (octave_cell::save_hdf5): Correct test for H5Dwrite - return value. - -2007-02-07 John W. Eaton - - * zfstream.cc (gzfilebuf::open_mode): Always append "b" to c_mode. - - * toplev.cc (Foctave_config_info): Use struct for conf_info. - Call subst_octave_home on selected values when initializing map. - * defaults.cc (subst_octave_home): Now extern. - * defaults.h.in: Provide decl. - -2007-02-05 John W. Eaton - - * mex.cc (mxArray_number::as_octave_value): Fake mxSINGLE_CLASS - by returning double-precision values. - (mxArray_sparse::as_octave_value): Clarify error message. - - * ov-complex.h (octave_complex): Use std instead of OCTAVE_STD - since the latter was unconditionally defined to be std anyway. - -2007-02-05 Michael Goffioul - - * ov-complex.h: Tag octave_complex class with OCTINTERP_API. - -2007-01-30 John W. Eaton - - * Merge of changes from graphics-branch: - - 2007-01-26 John W. Eaton - - * DLD-FUNCTIONS/__contourc__.cc: New function. - * Makefile.in (DLD_XSRC): Add it to the list. - - 2007-01-25 John W. Eaton - - * input.cc (Vdrawnow_requested): New static variable. - (F__request_drawnow__): New function. - (interactive_input): New function. Update Vlast_prompt_time here. - (octave_gets, get_user_input, octave_yes_or_no): - Call interactive_input instead of gnu_readline. - - * symtab.h (symbol_record::eternal): New data member. - (symbol_record::symbol_record): Initialize it. - (symbol_record::make_eternal, symbol_record::is_eternal): - Don't forward to symbol_def functions. - (symbol_record::symbol_def::make_eternal, - symbol_record::symbol_def::is_eternal): Delete. - (symbol_record::symbol_def::eternal): Delete data member. - (symbol_record::symbol_def::symbol_def): Delete initialization. - - * pt-id.cc (tree_identifier::link_to_global): Include variable - name in warning message. - - * variables.cc (F__lock_global__): New function. - - 2007-01-11 John W. Eaton - - * ls-oct-ascii.cc (save_ascii_data_for_plotting, save_three_d): - Set precision to 6 instead of 4. - -2007-01-29 David Bateman - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Don't panic if - nargout is greater than 3. - -2007-01-24 John W. Eaton - - * pt-assgn.cc (former_built_in_variables): New static data. - (maybe_warn_former_built_in_variable): New static function. - (tree_simple_assignment::tree_simple_assignment, - tree_multi_assignment::tree_multi_assignment): - Move definition here from pt-assign.h - Maybe warn about assignment to obsolete built-in variables. - - * version.h (OCTAVE_STARTUP_MESSAGE): Mention "news" function. - - * pt-stmt.cc (tree_statement::eval): Use dynamic_cast, not - static_cast. - - * help.cc (help_from_file): Show .oct or .mex file name if one - exists in the same directory as the .m file. - -2007-01-23 Luis F. Ortiz - - * strfns.cc (Fstrncmp): New function. - -2007-01-17 John W. Eaton - - * help.cc (help_from_file, help_from_symbol_table, help_from_list): - Rewrite using raw_ versions. - -2007-01-17 David Bateman - - * help.cc (raw_help, raw_help_from_file, - raw_help_from_symbol_table, raw_help_from_list): New functions. - * help.h (raw_help): Provide decl. - -2007-01-16 John W. Eaton - - * DLD-FUNCTIONS/__pchip_deriv__.cc: Fix dpchim decl for --enable-64. - (F__pchip_deriv__): Fix call to dpchim for --enable-64. - - * DLD-FUNCTIONS/fftw.cc: Delete decl for fftw_planner. - -2007-01-11 Michael Goffioul - - * load-path.h (class load_path): Tag with OCTINTERP_API. - - * ls-oct-binary.cc (read_binary_data): Use unsigned char, not - char, for reading flags and data types. - -2007-01-10 Luis F. Ortiz - - * parse.y (load_fcn_from_file): Delete unused variable NAMES. - If NM is absolute, strip directory and extension parts. - -2007-01-10 Michael Goffioul - - * DLD-FUNCTIONS/getrusage.cc: Use #ifdef __WIN32__, not __MINGW32__. - -2007-01-10 John W. Eaton - - * parse.y (load_fcn_from_file): Only compare last two characters - when looking for ".m". - -2007-01-06 John W. Eaton - - * version.h (OCTAVE_CONFIG_STATEMENT): New macro - (OCTAVE_NAME_AND_VERSION): Remove config info. - (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): - Use OCTAVE_CONFIG_STATEMENT here. - -2007-01-05 David Bateman - - * Makefile.in (DLD_XSRC): Add fftw.cc and remove fftw_wisdom.cc - * DLD-FUNCTIONS/fftw.cc: New file. - * DLD-FUNCTIONS/fftw_wisdom.cc: Delete. - * defaults.cc (Vfftw_wisdom_program): Delete variable. - (set_default_fftw_wisdom_prog): Delete function that sets it. - (install_defaults): Delete set_default_fftw_prog from defaults. - (Ffftw_wisdom_program): Delete. - -2007-01-04 David Bateman - - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, - octave_fcn_handle::load_binary): - Throw error if handle can't be created. - -2007-01-04 Luis F. Ortiz - - * mex.cc (mxArray_number::mxArray_number (int, const char **)): - Correctly index LHS in assignment. - -2007-01-03 John W. Eaton - - * data.cc (Fisinteger): New function. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::is_integer_type, - OCTAVE_VALUE_INT_SCALAR_T::is_integer_type): New function. - * ov.h (octave_value::is_integer_type): New function. - * ov-base.h (octave_base_value::is_integer_type): New virtual function. - -2007-01-03 Michael Goffioul - - * toplev.cc (Fsystem): Handle async calls on Windows systems. - -2007-01-03 David Bateman - - * (OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, - OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, - OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, - OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc): - Modify div and ldiv functions so that scalars stored as sparse - matrices are special cased. - - * ov-re-sparse.cc (double_value, complex_value): Scalar can be - stored as a sparse matrix and so don't warn on implicit conversion - to a scalar. - * ov-cx-sparse.cc (double_value, complex_value): ditto. - * ov-bool-sparse.cc (double_value, complex_value): ditto. - -2007-01-03 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Also check - for _mexFunction. - -2006-12-30 John W. Eaton - - * ov-fcn-inline.cc: For compatibility, class id is - "function_handle", not "inline function". - -2006-12-27 John W. Eaton - - * Makefile.in (%.df : %.cc): Insert a "do not edit" notice in the - .df files. - - * mex.cc (mxArray_matlab::get_class_name, - mxArray_octave_value::get_class_id): Use "function_handle", not - "function handle". - -2006-12-14 John W. Eaton - - * pt-decl.cc (tree_decl_elt::eval): New function. - * pt-decl.h (tree_decl_elt::eval): Provide decl. - (tree_decl_elt::is_defined, tree_decl_elt::lvalue_ok, - tree_decl_elt::mark_as_formal_parameter, tree_decl_elt::rvalue, - tree_decl_elt::lvalue): New functions. - - * pt-misc.h (class tree_parameter_list): Derive from - octave_base_list instead of - octave_base_list. - (tree_parameter_list::tree_parameter_list (tree_identifier *)): Delete. - (tree_parameter_list::tree_parameter_list (tree_decl_elt *)): - New function. - * pt-misc.cc (tree_parameter_list::mark_as_formal_parameters, - tree_parameter_list::initialize_undefined_elements, - tree_parameter_list::undefine, tree_parameter_list::dup, - tree_parameter_list::convert_to_const_vector, - tree_parameter_list::is_defined): Handle argument list elements - as tree_decl_list objects instead of tree_identifier objects. - (tree_parameter_list::define_from_arg_vector): Likewise. - Always process entire list, setting default values if possible. - Accept ":" to mean "use default argument". - - * parse.y (param_list2): Use decl2 to recognize - "identifier '=' expression" in addition to "identifier". - - * parse.y (return_list1, make_anon_fcn_handle, finish_function): - Adapt to new definition of tree_parameter_list. - * pt-bp.cc (tree_breakpoint::visit_parameter_list): Likewise. - * pt-check.cc (tree_checker::visit_parameter_list): Likewise. - * pt-pr-code.cc (tree_print_code::visit_parameter_list): Likewise. - -2006-12-08 John W. Eaton - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value, - OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, - OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, - OCTAVE_VALUE_INT_MATRIX_T::char_array_value): - Use fortran_vec to avoid expensive indexing operator. - -2006-12-08 David Bateman - - * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::matrix_value, - OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, - OCTAVE_VALUE_INT_MATRIX_T::matrix_value, - OCTAVE_VALUE_INT_MATRIX_T::comlex_matrix_value): New functions. - (OCTAVE_VALUE_INT_MATRIX_T::array_value, - OCTAVE_VALUE_INT_MATRIX_T::comlex_array_value): - Use octave_idx_type instead of int for indexing. - -2006-12-04 David Bateman - - * xpow.cc (xpow (const Matrix&, double)): Add matrix type probing - to matrix inverse. - (xpow (const ComplexMatrix&, double)): ditto. - * DLD-FUNCTIONS/inv.cc (Finv): Add matrix type probing. - -2006-12-06 John W. Eaton - - * sysdep.cc: Include "Cell.h" here. - * input.h: Include "oct-obj.h", not "ov-list.h". - -2006-12-06 Michael Goffioul - - * mappers.cc (install_mapper_functions): Undefine isascii before - the DEFUN_MAPPER for it. - - * input.cc (get_user_input): Prevent out of bounds array access - when checking for EOL. - -2006-12-05 John W. Eaton - - * ls-oct-ascii.cc (extract_keyword): If no match and looking for - more, skip to end of line before trying another match. - - * pt-mat.cc (tm_row_const::empty): New function. - (tm_const::init): Don't append anything if tmp tm_row_const object - is empty. - (tree_matrix::rvalue): Default return value is Matrix(). - Don't do anything if tmp tm_const object is empty. - - * dirfns.cc (Fmkdir): Fix thinko in previous change. - -2006-12-05 Paul Kienzle - - * DLD-FUNCTIONS/rand.cc: Test for Poisson generator with lambda > 1e8. - -2006-12-04 David Bateman - - * data.cc (Fdata): If ndims is greater than nargout and - nargout is greater than 1, then collect size of trailing - dimensions into retval(end). - - * load-path.cc (load_path::do_find_fcn): Return empty string if - tests fail. - - * ov-base-mat.cc (void octave_base_matrix::assign (const - octave_value_list&, const MT&)): Invalidate matrix type on - assignment. - -2006-11-30 John W. Eaton - - * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): - Accept "r" or "w" for second argument. - -2006-11-29 John W. Eaton - - * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Look in load-path - if reading wisdom file, but not if writing. - -2006-11-28 John W. Eaton - - * mex.cc (mxArray_struct::get_field_by_number): - Return 0 if key_num is out of range. - (mxArray_struct::set_field_by_number): - Do nothing if key_num is out of range. - (mxArray_cell::get_cell, mxArray_cell::set_cell): - Avoid out-of-bounds indexing - -2006-11-28 Luis F. Ortiz - - * mex.cc (mxArray_matlab::get_n, mxArray_octave_value::get_n): - Return product of last N-1 dims. - -2006-11-28 John W. Eaton - - * lex.l (eat_whitespace): Also handle CRLF as EOL. - - * dirfns.cc (Fmkdir): Handle "mkdir (parent, dir)". - -2006-11-21 John W. Eaton - - * load-path.cc (load_path::do_find_file, - load_path::do_find_first_of, load_path::do_find_all_first_of): - Call rooted_pathname instead of absolute_pathname. - * utils.cc (fcn_file_in_path, oct_file_in_path, mex_file_in_path): - Likewise. - -2006-11-16 Michael Goffioul - - * oct-hist.cc (default_history_file): Instead of appending - "/.octave_hist", append directory separator (but only if - necessary), then ".octave_hist". - -2006-11-16 John W. Eaton - - * data.cc (Fresize): Fix doc string. - -2006-11-15 John W. Eaton - - * DLD-FUNCTIONS/__gnuplot_raw__.l (write_data, write_inline_data): - New functions. - (save_in_tmp_file): Use write_data. - (gnuplot::send_inline_data, gnuplot_do_send_inline_data): - New functions. - (F__gnuplot_send_inline_data__, F__gnuplot_save_data__): - New functions. - - * ls-oct-ascii.cc (save_ascii_data_for_plotting): - Call save_ascii_data with precision = 4. - (save_three_d): Temporarily set precision to 4 for output stream. - -2006-11-15 Michael Goffioul - - * Cell.h (Cell): Tag class with OCTINTERP_API. - -2006-11-13 John W. Eaton - - * octave.cc (maximum_braindamage): Disable - Octave:fopen-file-in-path and Octave:load-file-in-path warnings. - - * load-save.cc (find_file_to_load): New function. - (Fload): Call find_file_to_load to search load path for file. - - * file-io.cc (Ffopen): Search load path for file. - - * load-path.cc (path::do_find_first_of, path::do_find_file): - Break out of all loops once file is found, not just innermost one. - - * data.cc (Fsize_equal): New function. - -2006-11-13 Michael Goffioul - - * ov.cc (check_subsref_elements, Fsubsref, Fsubsasgn): - New functions. - - * ov-re-mat.h, ov-scalar.h, pr-output.h: - Sprinkle with OCTINTERP_API as needed. - -2006-11-11 John W. Eaton - - * Makefile.in (parse.cc): Avoid creating empty files. - (%.df : %cc, builtins.cc, mkbuiltins, PKG_ADD, DOCSTRINGS, - doc-files, gendoc.cc, ops.cc, $(OPT_HANDLERS), oct-errno.cc, - oct-gperf.h): Use $(simple-move-if-change-rule) here. - (lex.cc, __gnuplot_raw__.cc): - Use $(destdir-move-if-change-rule) here. - (ifndef omit_deps): Don't include stamp-prereq here. - ($(DEF_FILES), $(MAKEDEPS)): Also depend on stamp-prereq. - -2006-11-10 John W. Eaton - - * ov-str-mat.cc (octave_char_matrix_str::load_ascii, - octave_char_matrix_str::load_binary): - Use chMatrix as buffer instead of C string. - -2006-11-09 John W. Eaton - - * ov-usr-fcn.h (octave_user_function::inline_function): - New data member. - (octave_user_function::mark_as_inline_function): Set it. - (octave_user_function::is_inline_function): Check it. - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Also skip setting curr_parent_fucntion if evaluating an inline - function. - (octave_user_function::octave_user_function): - Initialize inline_function. - * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): - Mark user function as inline here. - -2006-11-09 Michael Goffioul - - * load-path.cc (load_path::move): Don't use reference to file_info - object that will be erased. - -2006-11-07 John W. Eaton - - * utils.cc (file_in_path): Don't unconditionally return "". - - * pager.cc (default_pager): Don't append options here. - (pager_command): New function. - (do_sync): Use it. - (VPAGER_FLAGS): New variable. - (FPAGER_FLAGS): New function. - -2006-11-06 John W. Eaton - - * oct-hist.cc (default_history_file): If env_file is not empty, - just accept it rather than checking to see if it exists. - -2006-11-03 Bill Denney - - * help.cc (keywords): Document try and unwind_protect. - -2006-11-03 John W. Eaton - - * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. - (DLL_CDEFS): Rename from XTRA_CDEFS. - Substitute OCTINTERP_DLL_DEFS, not XTRA_OCTINTERP_DEFS. - -2006-11-02 Michael Goffioul - - * sysdep.cc (MSVC_init): Also cal w32_sigint_init and - w32_set_quiet_shutdown. - -2006-11-01 John W. Eaton - - * ov.h (octave_value::idx_type_value): New function. - * data.cc (fill_matrix, Flinspace, Freshape): Use idx_type_value - instead of int_value to extract size args. - -2006-10-31 John W. Eaton - - * ov-range.h (octave_range::empty_clone): Return octave_matrix - object instead of octave_range. - -2006-10-29 Juhani Saastamoinen - - * ls-mat5.cc (read_mat5_tag): Declare bytes as int32_t, not just int. - -2006-10-28 John W. Eaton - - * toplev.cc (Fatexit): Push function names on the stack even if we - don't have atexit or on_exit. - -2006-10-28 Michael Goffioul - - * mappers.cc (install_mapper_functions): Undefine toascii before - the DEFUN_MAPPER for it. - -2006-10-27 John W. Eaton - - * mexproto.h: Include oct-dlldefs.h. - - * pr-output.cc (SPECIALIZE_UABS): New macro. - Use it to generate specializations of abs for unsigned int types. - Instantiate abs for signed int types. - - * load-path.cc (load_path::do_initialize): - Use dir_path::path_sep_str instead of ":". - Don't append ":::" to xpath when calling do_set. - - * dirfns.cc (Fls, cleanup_iprocstream): Delete. - - * sysdep.cc (Ftilde_expand): If arg is cellstr, return cellstr. - - * ov.h (octave_value::is_cellstr): New function. - * ov-base.h (octave_base_value::is_cellstr): New function. - * ov-cell.h (octave_cell::is_cellstr): New function. - * ov-cell.cc (Fiscellstr): Implement with is_cellstr. - * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)): - New constructor. - (Cell::is_cellstr): New function. - * Cell.h: Provide decls. - - * defaults.cc (subst_octave_home): If dir_sep_char is not '/', - replace before returning. - From Michael Goffioul . - -2006-10-26 John W. Eaton - - * cutils.c (octave_strcasecmp, octave-strncasecmp): - Move to liboctave/lo-cutils.c. - * utils.h: Delete decls. - * strcasecmp.c: Move to liboctave/strcasecmp.c. - * strncase.c: Move to liboctave/strncase.c. - * Makefile.in (DIST_SRC): Delete them from the list. - - * bitfcns.cc (bitshift): If A < 0, return -bitshift (-A, N, MASK). - -2006-10-26 Michael Goffioul - - * help.cc (display_help_text): Quote sed patterns with ". - - * file-io.cc: Include file-io.h. - - * TEMPLATE-INST/Array-os.cc, TEMPLATE-INST/Array-sym.cc, - TEMPLATE-INST/Array-tc.cc, defun-int.h, error.h, file-io.h, - gripes.h, ls-oct-ascii.h, mexproto.h, oct-map.h, oct-obj.h, - oct-stream.cc, oct-stream.h, octave.h, ov-base.h, - ov-bool-sparse.cc, ov-bool-sparse.h, ov-cx-sparse.cc, - ov-cx-sparse.h, ov-fcn.h, ov-re-sparse.cc, ov-re-sparse.h, - ov-str-mat.h, ov-typeinfo.cc, ov-typeinfo.h, ov.h, pager.h, - parse.h, pr-output.cc, pr-output.h, procstream.h, sighandlers.h, - symtab.h, unwind-prot.h, utils.h, variables.h: - Sprinkle with OCTINTERP_API as needed. - -2006-10-26 John W. Eaton - - * ov-bool.h (octave_bool::sparse_matrix_value, - octave_bool::sparse_complex_matrix_value - octave_bool::sparse_bool_matrix_value): New functions. - -2006-10-25 John W. Eaton - - * sighandlers.cc: Check defined (RETSIGTYPE_IS_VOID) instead of - RETSIGTYPE == void. - - * oct-procbuf.cc (BUFSIZ): Define if not already defined. - (octave_procbuf::open): Pass BUFSIZ as size argument to setvbuf. - -2006-10-25 Michael Goffioul - - * Makefile.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. - - * oct-procbuf.cc [_MSC_VER]: Define W32POPEN and W32PCLOSE the - same as for __MINGW32__. - (octave_procbuf::open, octave_procbuf::close) [_MSC_VER]: - Use the same code as for __MINGW32__ and __CYGWIN__. - - * oct-prcstrm.cc [_MSC_VER]: Define popen and pclose. - -2006-10-25 John W. Eaton - - * sysdep.cc (w32_set_octave_home): Correctly initialize bin_dir. - Fill it with '\0' instead of ' '. - -2006-10-24 Michael Goffioul - - * Makefile.in: Filter out $(XTRA_CXXDEFS) from $(ALL_CXXFLAGS) for - $(DLD_PICOBJ). - -2006-10-24 John W. Eaton - - * sysdep.cc (MSC_init): New function. - (sysdep_init): Call it. - (w32_set_octave_home): New function, based on code from Michael - Goffioul . - (MINGW_init): Call w32_set_octave_home here too. - -2006-10-23 John W. Eaton - - * symtab.cc (symbol_table::clear_mex_functions): New function. - * symtab.h: Provide decl. - * vriables.cc (clear_mex_functions): New function. - * variables.h Provide decl. - * toplev.cc: Call clear_mex_functions instead of delete_symbol_tables. - - * variables.cc (delete_symbol_tables): Delete. - * variables.h: Delete decl. - - * mex.cc (mex::unmark_array): New function. - (mex::persistent): Define with unmark_array. - (maybe_unmark_array): New function. - (mxArray_struct::set_field_by_number, mxArray_cell::set_cell): - Call maybe_unmark_array on val to avoid freeing val twice on exit - from mex function. - (mxFree): Call xfree, not free. - -2006-10-21 John W. Eaton - - * ov-intx.h - (OCTAVE_VALUE_INT_MATRIX_T::OCTAVE_TYPE_PREDICATE_FUNCTION, - (OCTAVE_VALUE_INT_SCALAR_T::OCTAVE_TYPE_PREDICATE_FUNCTION): - Function is now const, so it properly overloads method in base - class. - - * mex.cc (mxArray_octave_value::is_uint32): - Call val.is_uint32_type, not val.is_int32_type. - (mxArray_octave_value::is_uint64): - Call val.is_uint64_type, not val.is_int64_type. - (mxArray_octave_value::is_uint8): - Call val.is_uint8_type, not val.is_int8_type. - -2006-10-20 Paul Kienzle - - * ov-mex-fcn.h (octave_mex_function::atexit): New function. - (octave_mex_function::exit_fcn_ptr): New data member. - * ov-mex-fcn.cc (octave_mex_function::exit_fcn_ptr): New data member. - (octave_mex_function::octave_mex_function): Initialize it. - (octave_mex_function::~octave_mex_function): - If we have an exit function, call it. - -2006-10-20 John W. Eaton - - * variables.cc (delete_symbol_tables): New function. - * variables.h: Provide decl. - * toplev.cc (do_octave_atexit): Call it. - - * mex.cc (mex::mex): New arg, a pointer to the current mex function. - (mex::curr_mex_fcn): New data member. - (mex::current_mex_function): New function. - (mexAtExit): Set exit function pointer in current mex file object. - -2006-10-20 Paul Kienzle - - * mex.cc (enum callstyle): Delete enum definition. - (Fortran_mex, C_mex): Delete functions. - (call_mex): First arg is now bool. - * ov-mex-fcn.cc (call_mex): Fix decl to match new definition. - (Fortran_mex, C_mex): Delete decls. - (octave_mex_function::do_multi_index_op): Simplify call to call_mex. - -2006-10-20 John W. Eaton - - * lex.l (handle_identifier): If a command name is found, skip - starting command mode if parsing an object index. - -2006-10-20 David Bateman - - * DLD-FUNCTION/spqr.cc (dmperm_internal): New function with core - of Fdmperm. - (Fdmperm): Call dmperm_internal rather then calculating loally. - (Fsprank): New function to calculate the strutural rank also using - dmperm_internal. - -2006-10-19 John W. Eaton - - * ov-struct.cc (octave_struct::as_mxArrary): - Use OCTAVE_LOCAL_BUFFER to allocate tempoarary array of field names. - - * mxarray.h (mxArray::persistent): Delete var and all uses. - (mxArray::mark_persistent, mxArray::unmark_persistent, - mxArray::is_persistent): Delete functions. - * mex.cc (mex::function_name): Use mxArray::strsave, not strsave. - (mex::mark_array): New function. - (mex::make_value): Use it. - (mex::free_value): Return true if we found ptr in arraylist. - (mex::persistent (mxArray *)): Remove ptr from arraylist instead - of marking it as persistent. - (mxArray::malloc): Call ::malloc instead of malloc. - (mxArray::calloc): Call ::calloc instead of calloc. - (maybe_mark_array): New function. - (mxCreateCellArray, mxCreateCellMatrix, mxCreateCharArray, - mxCreateCharMatrixFromStrings, mxCreateDoubleMatrix, - mxCreateDoubleScalar, mxCreateLogicalArray, mxCreateLogicalMatrix, - mxCreateLogicalScalar, mxCreateNumericArray, - mxCreateNumericMatrix, mxCreateSparse, - mxCreateSparseLogicalMatrix, mxCreateString, mxCreateStructArray, - mxCreateStructMatrix, mxDuplicateArray): Use it. - (mxDestroyArray): No need to check persistence now. - Also delete ptr if mex_context->free_value does not. - (call_mex): No need to delete elements of argout now. - -2006-10-18 John W. Eaton - - * dynamic-ld.cc (octave_shlib_list::remove, - octave_shlib_list::do_remove, octave_mex_file_list::remove, - octave_mex_file_list::do_remove): New arg, cl_hook. - (octave_shlib_list::do_remove): Pass cl_hook to octave_shlib close - function. - (octave_dynamic_loader::do_load_oct): Don't call close on shl - directly. Pass do_clear_function to octave_shlib_list::remove. - - * mex.cc (mexUnlock): Don't warn if unlocking a function that is - not locked. - - * pt-fcn-handle.cc (tree_anon_fcn_handle::dup): - Correctly duplicate symbol table info. - -2006-10-17 Michael Goffioul - - * oct-map.h: Include . - -2006-10-16 John W. Eaton - - * oct-stream.cc (octave_stream_list::do_remove): Handle "all" as a - special case. - -2006-10-13 Michael Goffioul - - * Makefile.in: Adapt rules to use $(LIBPRE). - -2006-10-11 John W. Eaton - - * mex.h (UINT64_T, uint64_T, INT64_T, int64_T, UINT32_T, uint32_T, - INT32_T, int32_T, UINT16_T, uint16_T, INT16_T, int16_T, UINT8_T, - uint8_T, INT8_T, int8_T): Conditionally define. - From Andy Adler . - -2006-10-09 John W. Eaton - - * oct-conf.h.in (OCTAVE_CONF_CURL_LIBS): Substitute. - * toplev.cc (octave_config_info): Add CURL_LIBS to the list. - -2006-10-09 Alexander Barth - - * DLD-FUNCTIONS/urlwrite.cc: New file providing urlwrite and urlread. - -2006-10-09 John W. Eaton - - * pt-mat.cc (tree_matrix::dup): Append new elements to new matrix. - * pt-cell.cc (tree_cell::dup): Append new elements to new cell array. - -2006-10-04 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.9+. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (F__clear_plot_window__): - Rename from Fclearplot. Only clear plot window. - -2006-10-03 John W. Eaton - - * DLD-FUNCTIONS/luinc.cc (Fluinc): Avoid crash if SparseLU or - SparseComplexLU constructor fails. - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): - Delete unused variable. - -2006-10-03 David Bateman - - * Makefile.in (OCT_LINK_DEPS) Include $(CAMD_LIBS) in the list. - (octave$(EXEEXT)): Include $(CAMD_LIBS) in link command. - -2006-10-02 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.9. - (OCTAVE_API_VERSION): Now api-v22. - (OCTAVE_RELEASE_DATE): Now 2006-10-02. - - * pr-output.cc (pr_plus_format): Use "inline" instead of "static - inline" for template functions to avoid problems when not - compiling with g++. - - * mex.cc (call_mex): Delete elements of argout. - From Kai Labusch . - -2006-09-29 John W. Eaton - - * DLD-FUNCTIONS/spfind.cc (sparse_find_non_zero_elem_idx): - Leading dimension is NR, not NC. - - * Makefile.in (DEP_5): Include oct-errno.cc in the list. - -2006-09-27 John W. Eaton - - * pr-output.cc (abs): New template function. Instantiate for - unsigned types. - -2006-09-27 David Bateman - - * file-io.cc (Fsprintf): If fmt is an sq_string, return an sq_string. - - * DLD-FUNCTIONS/sparse.cc (spfind, sparse_find): Delete. - * DLD-FUNCTIONS/spfind.cc: New file implementating compatible - sparse find function. - * Makefile.in (DLD_XSRC): Add spfind.cc. - -2006-09-26 Bill Denney - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx, Ffind): - Handle direction and limit on number of elements to find. - -2006-09-26 John W. Eaton - - * error.cc (warning_1): Call error_2, not error. - -2006-09-15 John W. Eaton - - * ops.h (DEFSTRDBLCONVFN): New arg, TFROM. - * OPERATORS/op-double-conv.cc: Declare and install sq_string - conversions too. - - * ov-base-int.cc (octave_base_int_scalar::convert_to_str_internal, - octave_base_int_matrix::convert_to_str_internal): - New functions. - * ov-base-int.h: Provide decls. - -2006-09-15 S�ren Hauberg . - - * data.cc (Fsize): If nargout > ndims, fill with 1. - -2006-09-15 John W. Eaton - - * octave.cc: Fix xerbla decl. - -2006-09-13 John W. Eaton - - * DLD-FUNCTIONS/cellfun.cc: Improve error message for uniform - output case when results are not scalars. Avoid shadow decls. - -2006-09-13 David Bateman - - * ov-scalar.h (octave_scalar::sparse_matrix_value, - octave_scalar::sparse_complex_matrix_value): New extractor functions. - * ov-complex.h (octave_complex::sparse_matrix_value, - octave_complex::sparse_complex_matrix_value): Ditto. - * DLD-FUNCTIONS/spkron.cc (Fspkron): Change example in help. - -2006-09-12 David Bateman - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow matlab compatiable - 'UniformOutput' and 'ErrorHandler' options. Change output when - called with function handler or inline function to by default have - 'UniformOutput' set to true. Allow functions with multiple inputs - and outputs. Add test code. Replace some int with octave_idx_type. - (Fnum2cell): Replace some int with octave_idx_type. Add test code. - -2006-09-11 Yozo Hida - - * DLD-FUNCTIONS/gcd.cc (Fgcd): Extend range by using std::floor - instead of converting to int. - -2006-09-05 John W. Eaton - - * mex.cc (mxArray_sparse::as_octave_value): Cast nzmax to - octave_idx_type for sparse matrix constructors. - -2006-09-01 John W. Eaton - - * dirfns.cc: Don't handle nargout == 0 as a special case. - (octave_change_to_directory): Perform tilde expansion on directory - name here. - -2006-08-30 John W. Eaton - - * load-save.cc (get_file_format): Fix misplaced #endif. - -2006-08-29 John W. Eaton - - * load-path.cc (execute_pkg_add_or_del): - Source PKG_ADD or PKG_DEL in base workspace. - * parse.y (source_file): New optional arg, context. - * parse.h (source_file): Fix decl. - -2006-08-25 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.8+. - -2006-08-24 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.8. - (OCTAVE_API_VERSION): Now api-v21. - (OCTAVE_RELEASE_DATE): Now 2006-08-24. - -2006-08-23 John W. Eaton - - * ov.h (octave_value::save_ascii): Delete strip_nan_and_inf arg. - * ov-base.h, ov-base.cc (octave_base_value::save_ascii): Likewise. - * ov-base-int.h, ov-base-int.cc (octave_base_int_matrix::save_ascii, - octave_base_int_scalar::save_ascii, ): Likewise. - * ov-base-sparse.cc, ov-base-sparse.h - (octave_base_sparse::save_ascii): Likewise. - * ov-bool-mat.cc, ov-bool-mat.h (octave_bool_matrix::save_ascii): - Likewise. - * ov-bool.cc, ov-bool.h (octave_bool::save_ascii): Likewise. - * ov-cell.cc, ov-cell.h (octave_cell::save_ascii): Likewise. - * ov-complex.cc, ov-complex.h (octave_complex::save_ascii): Likewise. - * ov-fcn-handle.cc, ov-fcn-handle.h (octave_fcn_handle::save_ascii): - Likewise. - * ov-fcn-inline.cc, ov-fcn-inline.h (octave_fcn_inline::save_ascii): - Likewise. - * ov-list.cc, ov-list.h (octave_list::save_ascii): Likewise. - * ov-range.cc, ov-range.h (octave_range::save_ascii): Likewise. - * ov-scalar.cc, ov-scalar.h (octave_scalar::save_ascii): Likewise. - * ov-str-mat.cc, ov-str-mat.h (octave_char_matrix_str::save_ascii): - Likewise. - * ov-struct.cc, ov-struct.h (octave_struct::save_ascii): Likewise. - * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. - * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): - Likewise. - * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): - Likewise. - * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. - - * ls-oct-ascii.cc, ls-oct-ascii.h (save_ascii_data): - Delete strip_nan_and_inf arg. - (save_ascii_data_for_plotting): Delete strip_nan_and_inf arg from - call to save_ascii_data. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (handle_using): Accept "(EXPR)" - as components of using clauses. - (enum _toktype): New element DOLLAR. - Accept "$" in lexer. - - * ls-oct-ascii.cc (save_ascii_data): Delete arg strip_nan_and_inf. - Change all uses. - - * ls-oct-ascii.h (save_three_d): Provide decl. - * load-save.h (save_ascii_data_for_plotting, save_three_d): - Delete decls. - -2006-08-22 John W. Eaton - - * ov.h (octave_value::save_ascii): strip_nan_and_inf is now int, - not bool. - * ov-base.h, ov-base.cc (octave_base_value::save_ascii): Likewise. - * ov-base-int.h, ov-base-int.cc (octave_base_int_matrix::save_ascii, - octave_base_int_scalar::save_ascii, ): Likewise. - * ov-base-sparse.cc, ov-base-sparse.h - (octave_base_sparse::save_ascii): Likewise. - * ov-bool-mat.cc, ov-bool-mat.h (octave_bool_matrix::save_ascii): - Likewise. - * ov-bool.cc, ov-bool.h (octave_bool::save_ascii): Likewise. - * ov-cell.cc, ov-cell.h (octave_cell::save_ascii): Likewise. - * ov-complex.cc, ov-complex.h (octave_complex::save_ascii): Likewise. - * ov-fcn-handle.cc, ov-fcn-handle.h (octave_fcn_handle::save_ascii): - Likewise. - * ov-fcn-inline.cc, ov-fcn-inline.h (octave_fcn_inline::save_ascii): - Likewise. - * ov-list.cc, ov-list.h (octave_list::save_ascii): Likewise. - * ov-range.cc, ov-range.h (octave_range::save_ascii): Likewise. - * ov-scalar.cc, ov-scalar.h (octave_scalar::save_ascii): Likewise. - * ov-str-mat.cc, ov-str-mat.h (octave_char_matrix_str::save_ascii): - Likewise. - * ov-struct.cc, ov-struct.h (octave_struct::save_ascii): Likewise. - * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. - * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): - Likewise. - - * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): - Don't strip Inf and NaN here. Call ComplexMatrix::save_ascii to - do the real work. - * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): - Don't strip Inf and NaN here. Call Matrix::save_ascii to do the - real work. - - * ov-re-mat.cc, ov-cx-mat.cc (strip_infnan): Delete. - * ls-oct-ascii.cc, ls-oct-ascii.h (save_ascii_data): - strip_nan_and_inf is now int, not bool. - (strip_infnan): Delete. - (save_ascii_data_for_plotting): Call save_ascii_data with - strip_nan_and_inf = 2. - - * Makefile.in (INCLUDES): Remove matrix.h from the list. - -2006-08-22 David Bateman - - * sparse-xpow.cc: Replace all uses of pow by std::pow. - (elem_pow): Simplify for two sparse matrices arguments. - -2006-08-22 John W. Eaton - - * ls-oct-ascii.cc: Increase default value of save_precision to 16. - - * ls-mat-ascii.cc (save_mat5_ascii_data): Use scientific format. - -2006-08-21 John W. Eaton - - * ls-mat5.cc (read_mat5_binary_data, read_mat5_integer_data, - write_mat5_array): Unconditionally enable code for 64-bit int types. - - * ov-fcn-handle.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): - For compatibility, set class to function_handle. - -2006-08-18 John W. Eaton - - * pr-output.cc (set_real_matrix_format): Also always include space - for sign if values are int, inf, or nan. - (set_complex_format, set_complex_matrix_format): Always include - space for sign in real format, but never in imaginary format. - - * gripes.cc (gripe_logical_conversion): New function. - * gripes.h: Provide decl. - * ov.h (octave_value::bool_value, octave_value::bool_matrix_value, - octave_value::bool_array_value): New arg, warn. - * ov-base.cc, ov-base.h (octave_base_value::bool_value, - octave_base_value::bool_matrix_value, - octave_base_value::bool_array_value): Likewise. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, - OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): Likewise. - * ov-range.h (octave_range::bool_array_value): Likewise. - * ov-re-mat.cc, ov-re-mat.h (octave_matrix::bool_array_value): - Likewise. - * ov-re-sparse.cc, ov-re-sparse.h - (octave_sparse_matrix::bool_array_value): Likewise. - * ov-scalar.h (octave_scalar::bool_value, - octave_scalar::bool_array_value): Likewise. - * OPERATORS/op-bm-b.cc (oct_assignop_conv_and_assign): - Ask for warning from bool_array_value. - * OPERATORS/op-bm-bm.cc (oct_assignop_conv_and_assign): Likewise. - * ov-bool.h (octave_bool::bool_value, - octave_bool::bool_matrix_value, octave_bool::bool_array_value): - Likewise. - * ov-bool-mat.h (octave_bool_matrix::bool_matrix_value, - octave_bool_matrix::bool_array_value): Likewise. - * ov-bool-sparse.cc, ov-bool-sparse.h - (octave_sparse_bool_matrix::bool_matrix_value, - octave_sparse_bool_matrix::bool_array_value): Likewise. - -2006-08-18 Benjamin Lindner - - * ls-mat5.cc (read_mat5_tag): Declare type as int32_t, not int. - (read_mat5_binary_element): Likewise, for len and element_length. - -2006-08-18 John W. Eaton - - * load-save.h (enum load_save_format): New element, LS_MAT_ASCII_LONG. - * load-save.cc (Fload, Fsave): Make -ascii Matlab compatible. - (do_save): Handle LS_MAT_ASCII. - * ls-mat-ascii.cc (save_mat_ascii_data): New function. - * ls-mat-ascii.h: Provide decl. - -2006-08-17 John W. Eaton - - * ls-mat5.cc (save_mat5_element_length): Correctly compute element - length for character data. Handle N-d character data - (save_mat5_binary_element): Handle N-d character data. - -2006-08-16 John W. Eaton - - * parse.y (gobble_leading_white_space): New arg, SKIP_CODE. - Change all uses. - -2006-08-15 John W. Eaton - - * help.cc (help_from_file): Call get_help_from_file with new file - arg. Print file info here. - - * parse.y (get_help_from_file): Delete include_file_info arg. - Provide two versions, one that returns the file found in a - reference arg and one that does not. - - * variables.cc (do_isglobal): New function. - (Fisglobal): Use it. - (Fis_global): New function. - -2006-08-14 John W. Eaton - - * variables.cc (symbol_record_name_compare): Fix casts. - - * ov-cell.cc (octave_cell::subsasgn): Call empty_conv for 0x0 - objects, not just empty objects. - - * oct-map.h (Octave_map::clear): Also clear key_list. - - * load-path.cc (load_path::find_dir_info, load_path::do_add, - load_path::do_remove): Perform tilde expansion on directory here. - -2006-07-29 John W. Eaton - - * matrix.h: Delete to avoid conflict with liboctave/Matrix.h on - case-insensitive filesystems. - - * version.h (OCTAVE_VERSION): Now 2.9.7+. - -2006-07-28 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.7. - (OCTAVE_API_VERSION): Now api-v20. - (OCTAVE_RELEASE_DATE): Now 2006-07-28. - - * load-path.cc (path::do_add): Warn for trailing "//". - - * strfns.cc: Comment out some tests for snapshot. - -2006-07-27 John W. Eaton - - * defaults.cc (Vlocal_api_arch_lib_dir): New variable. - (set_default_local_api_arch_lib_dir): New function. - (install_defaults): Call it. - (set_exec_path): Put Vlocal_api_arch_lib_dir in the list. - * toplev.cc (localapiarchlibdir): Include it in the list. - * defaults.h.in (OCTAVE_LOCALAPIARCHLIBDIR): Substitute here. - -2006-07-26 John W. Eaton - - * mex.cc (mxArray::as_octave_value (mxArray *)): New static function. - (call_mex, mexPutVariable, mexCallMATLAB, - mxArray_cell::as_octave_value, mxArray_struct::as_octave_value): - Use static version of as_octave_value here. - (mxArray_sparse::mxArray_sparse (const mxArray_sparse&)): - Check pr, ir, and jc before calling memcpy. - (mxArray_number::mxArray_number): Check pr before calling memcpy - - * mxarray.h (mxArray::as_octave_value (mxArray *)): Provide decl. - (mxArray::as_octave_value): Now protected. - - * file-io.cc (Ffeof, Fferror): Use DEFUNX instead of DEFUN. - - * mex.cc (xfree): New function. - (mex::free): Use it. - (mxArray_struct::~mxArray_struct, mxArray_cell::~mxArray_cell): - Delete elements with delete, not mxDestroyArray. - (mex::cleanup): Don't call mex::free or mex::free_value. - (mex::free_value): Add debug warning. - (mex::mark, mex::unmark): Fix debug warning. - (call_mex): Use unwind_protect frame. - (mexUnlock): Use iterator to remove item from mex_lock_count. - - * octave.cc (maximum_braindamage): Use disable_warning instead of - bind_internal_variable to disable function-name-clash warning. - * error.cc (disable_warning): No longer static. - * error.h: Provide decl. - -2006-07-25 David Bateman - - * mex.cc (mxArray_octave_value::get_class_id): Handle sparse. - (class mxArray_sparse): Derive from mxArray_matlab, not - mxArray_number. - (mxArray_sparse::as_octave_value): Implement function. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::as_mxArray): - Implement function. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray): - Implement function. - * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray): - Implement function. - -2006-07-25 John W. Eaton - - * mex.cc (mxArray_struct::as_octave_value, call_mex, - mexCallMATLAB, mxArray_cell::as_octave_value): - Convert NULL mxArray* pointers to empty matrix values. - (mxArray_octave_value:get_ir): Fix typo. - -2006-07-22 John W. Eaton - - * mxarray.h: New file. - * mex.h, mexproto.h, mex.cc: New implementation of mxArray and MEX - interface. - - * ov.h (octave_value::mex_get_ir, octave_value::mex_get_jc): - New functions. - * ov-base.h (octave_base_value::mex_get_ir, - octave_base_value::mex_get_jc): New virtual functions. - * ov-base-sparse.h (octave_base_sparse::mex_get_ir, - octave_base_sparse::mex_get_jc): New functions. - - * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::as_mxArray, - OCTAVE_VALUE_INT_MATRIX_T::as_mxArray): New functions. - * ov-int8.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-uint8.h, - ov-uint16.h, ov-uint32.h, ov-uint64.h: Define OCTAVE_INT_MX_CLASS - before including ov-intx.h. Undef it after. - * ov-range.cc (octave_range::as_mxArray): New function. - * ov-range.h: Provide decl. - * ov-scalar.cc (octave_scalar::as_mxArray): New function. - * ov-scalar.h: Provide decl. - * ov-complex.cc (octave_complex::as_mxArray): New function. - * ov-complex.h: Provide decl. - * ov-re-mat.cc (octave_matrix::as_mxArray): New function. - * ov-re-mat.h: Provide decl. - * ov-cx-mat.cc (octave_complex_matrix::as_mxArray): New function. - * ov-cx-mat.h: Provide decl. - * ov-ch-mat.cc (octave_char_matrix::as_mxArray): New function. - * ov-ch-mat.h: Provide decl. - * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): New function. - * ov-bool-mat.h: Provide decl. - * ov-bool.cc (octave_bool::as_mxArray): New function. - * ov-bool.h: Provide decl. - - * ov-struct.h (octave_struct::numel): New function. - - * ls-mat5.cc (arrayclasstype): Use "MAT_FILE_" instead of "mx" as - prefix for element names. - - * ov.h (octave_value::as_mxArray): New function. - * ov-base.cc (octave_base_value::as_mxArray): New function. - * ov-base.h: Provide decl. - - * ov.h (octave_value::mex_get_data): New function. - * ov-base.h (octave_base_value::mex_get_data): New function. - * ov-base-scalar.h (octave_base_scalar::mex_get_data): New function. - * ov-base-matrix.h (octave_base_matrix::mex_get_data): New function. - * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::mex_get_data): New function. - - * ov.h (octave_value::nfields): New function. - * ov-base.cc (octave_base_value::nfields): New virtual function. - * ov-base.h: Provide decl. - * ov-struct.h (octave_struct::nfields): New function. - -2006-07-19 John W. Eaton - - * OPERATORS/op-bm-bm.cc (oct_assignop_conv_and_assign): New function. - (install_bm_bm_ops): Install it for various types. - * OPERATORS/op-bm-b.cc (oct_assignop_conv_and_assign): New function. - (install_bm_b_ops): Install it for various types. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, - OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): New functions. - * ov-range.h (octave_range::bool_array_value): New function. - * ov-re-sparse.cc (octave_sparse_matrix::bool_array_value): - New function. - * ov-re-sparse.h: Provide decl. - * ov-re-mat.cc (octave_matrix::bool_array_value): New function. - * ov-re-mat.h: Provide decl. - - * ov-base.cc (octave_base_value::numeric_assign): - Avoid memory leak when converting LHS. - -2006-07-18 John W. Eaton - - * ov.h (octave_value::is_int8_type, octave_value::is_int16_type, - octave_value::is_int32_type, octave_value::is_int64_type, - octave_value::is_uint8_type, octave_value::is_uint16_type, - octave_value::is_uint32_type, octave_value::is_uint64_type): - New functions. - * ov-base.h (octave_base_value::is_int8_type, - octave_base_value::is_int16_type, - octave_base_value::is_int32_type, - octave_base_value::is_int64_type, - octave_base_value::is_uint8_type, - octave_base_value::is_uint16_type, - octave_base_value::is_uint32_type, - octave_base_value::is_uint64_type): New functions. - * ov-int8.h, ov-int16.h, ov-int32.h, ov-int16.h, ov-uint8.h, - ov-uint16.h, ov-uint32.h, ov-uint16.h: Define OCTAVE_BASE_INT_T. - * ov-intx.h: Use OCTAVE_BASE_INT_T to define type-specific predicate. - - * ov.h (octave_value::is_double_type, octave_value::is_single_type): - New functions. - * ov-base.h (octave_base_value::is_double_type, - octave_base_value::is_single_type): New functions. - * ov-re-mat.h (octave_matrix::is_double_type): New function. - * ov-cx-mat.h (octave_matrix::is_double_type): New function. - * ov-scalar.h (octave_scalar::is_double_type): New function. - * ov-complex.h (octave_complex::is_double_type): New function. - * ov-range.h (octave_range::is_double_type): New function. - * ov-re-sparse.h (octave_sparse_matrix::is_double_type): New function. - * ov-cx-sparse.h (octave_sparse_complex_matrix::is_double_type): - New function. - -2006-07-15 John W. Eaton - - * ov-typeinfo.cc: Also instantiate arrays of assignany_ops. - - * oct-errno.cc.in (octave_errno::octave_errno): VALUE field in - errno_struct no longer const. - - * DLD-FUNCTIONS/dispatch.cc (octave_dispatch::do_index_op): - Declare resize_ok arg as bool, not int. - Provide default value for resize_ok. - -2006-07-14 John W. Eaton - - * oct-stream.cc (do_write): Include explicit instantiations. - - * ov-str-mat.h (octave_char_matrix_sq_str::resize): - Include fill arg to match base class. - * ov-struct.h (octave_struct::resize): Likewise. - - * ov-base-mat.cc, ov-base-mat.h, ov-base-sparse.cc, - ov-base-sparse.h, ov-base.cc, ov-base.h, ov-bool.cc, - ov-bool.h, ov-complex.cc, ov-complex.h, ov-intx.h, ov-list.cc, - ov-list.h, ov-range.cc, ov-range.h, ov-scalar.cc, ov-scalar.h, - ov-str-mat.cc, ov-str-mat.h, ov.h (do_index_op): - Declare resize_ok arg as bool, not int. - Provide default value for resize_ok. - - * c-file-ptr-stream.h (c_file_ptr_stream::c_file_ptr_stream): - Qualify init. - -2006-07-13 John W. Eaton - - * oct-map.h (Octave_map::del): Add missing std:: qualifier to use - of find template. - -2006-07-07 John W. Eaton - - * ov.h (octave_value::is_bool_scalar): New function. - * ov-base.h (octave_base_value::is_bool_scalar): New function. - * ov-bool.h (octave_bool::is_bool_scalar): New function. - - * oct-map.cc (Octave_map::keys): Use assert. - (Octave_map::assign): Avoid inserting new key in map unless - assignment to cell succeeds. - - * oct-map.h (Octave_map::del): Only touch key_list if map contains key. - Assert that key_list contains key. - - * oct-map.h (Octave_map::maybe_add_to_key_list): For efficiency, - check map, not key_list. From Paul Kienzle . - -2006-07-06 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Declare mrowsc volatile. - - * ov-struct.cc (octave_struct::print_raw): Print keys in key_list - order. - - * oct-map.h (Octave_map::key_list): New data member. - (Octave_map::maybe_add_to_key_list): New function. - (Octave_map::key_list_iterator, Octave_map::const_key_list_iterator): - New typedefs. - (Octave_map::del): Also delete key from key_list. - * oct-map.cc (Octave_map::keys): Compute return value from - key_list instead of map. - (Octave_map::assign, Octave_map::contents): Call maybe_add_to_key_list. - * oct-map.h, oct-map.cc (Octave_map::Octave_map): - Insert keys in key_list. - - * oct-map.h (Octave_map::Octave_map (const dim_vector&, - const string_vector&)): New arg, key_list_arg. - * oct-map.cc: Move definition here. - -2006-07-05 John W. Eaton - - * mex.cc (mexGetVariable): Rename from mexGetArray, swap arguments. - (mexGetVariablePtr): Rename from mexGetArrayPtr, swap arguments. - (mexErrMsgIdAndTxt, mexWarnMsgIdAndTxt): New functions. - * mexproto.h: Provide decls. - Include decls for as yet unsupported functions. - * mex.h: Add enum for class ids. - (mexGetArray): Define using mexGetVariable. - (mexGetArrayPtr): Define using mexGetVariablePtr. - -2006-07-02 John W. Eaton - - * ov-str-mat.cc (CHAR_MATRIX_CONV): Omit "warn-" from label. - * parse.y (maybe_warn_variable_switch_label): Likewise. - -2006-07-01 John W. Eaton - - * parse.y (finish_cell): Use finish_matrix to do constant folding. - -2006-06-30 John W. Eaton - - * ov-base.cc (octave_base_value::numeric_assign): - Avoid memory leak when converting LHS. - - * oct-hist.cc (do_history, initialize_history, Fhistory_file): - Don't perform tilde expansion on history file name. - - * syscalls.cc (Flstat, Fstat): Don't perform tilde expansion on arg. - * input.cc (Fread_readline_init_file): Likewise. - * dirfns.cc (Fcd, Freaddir): Likewise. - - * load-path.cc (genpath): Don't perform tilde expansion on name. - (load_path::do_add): Don't warn about moving "." to front of list. - -2006-06-28 John W. Eaton - - * load-path.cc (Faddpath): Don't treat "." specially here. - Don't check directory status here. - (Fpath): Handle all args. Don't treat "." specially here. - (Faddpath, Frmpath): Delete unused variable xpath. - (load_path::do_add): New function. - (load_path::do_prepend, load_path::do_append): Use it. - (load_path::do_remove): Really prevent removal of ".". - (load_path::do_clear): Clearing doesn't remove ".". - (load_path::append, load_path::prepend, load_path::do_append, - load_path::do_prepend): New arg, warn. - - * load-path.h: Fix decls. - - * DLD-FUNCTIONS/regexp.cc (octregexp_list): - Avoid bug in older versions of g++. - -2006-06-27 John W. Eaton - - * Makefile.in (clean): Also remove $(DLD_OBJ). - - * sighandlers.cc (install_signal_handlers): Don't handle SIGPROF. - From Geoffrey Knauth . - -2006-06-25 John W. Eaton - - * mk-pkg-add: Avoid apparently non-portable sed patterns. - -2006-06-21 John W. Eaton - - * variables.cc (do_who): Handle mex. - - * symtab.cc (SYMBOL_DEF::type_as_string, SYMBOL_DEF::which, - symbol_table::clear_functions, table::clear_function, - symbol_table::clear_function_pattern): - Handle mex. - * symtab.h (symbol_record::is_mex_function, - symbol_record::symbol_def::is_mex_function): New functions. - (symbol_record::TYPE): New value, MEX_FUNCTION. - (symbol_record::is_function, symbol_table::user_function_name_list, - SYMTAB_ALL_TYPES): Handle MEX_FUNCTION. - - * ov-fcn.h (octave_function::octave_function): - Provide default for doc string arg. - - * defun.cc (install_mex_function): New function. - * defun-int.h: Provide decl. - - * ov-builtin.cc (any_arg_is_magic_colon): Delete. - (octave_builtin::do_multi_index_op): Call has_magic_colon method - for args instead of any_arg_is_magic_colon. - - * ov-base.h (octave_base_value::is_mex_function): New function. - * ov.h (octave_value::is_mex_function): New function. - - * ov-mex-fcn.h, ov-mex-fcn.cc: New files. - - * parse.y (load_fcn_from_file): Also handle .mex files. - - * dynamic-ld.cc (octave_dynamic_loader::load_oct): Rename from load. - (octave_dynamic_loader::do_load_oct): Rename from do_load. - * dynamic-ld.h: Fix decls. - - * utils.cc (mex_file_in_path): New function. - * utils.h: Provide decl. - - * variables.cc (symbol_out_of_date): Also handle mex files. - - * load-path.cc (load_path::dir_info::get_file_list, - load_path::dir_info::get_private_function_map, - load_path::do_find_fcn, load_path::add_to_fcn_map, - load_path::do_display): Also handle mex files. - * load-path.h (load_path::find_mex_file): New static function. - (load_path::MEX_FILE): New static data member. - (load_path::do_find_fcn): By default, also look for mex files. - - * matrix.h, mex.h, mex.cc: New files from Octave Forge - * mexproto.h: New file, extracted from mex.h. - * Makefile.in: Add them to the appropriate lists. - -2006-06-20 John W. Eaton - - * ov-re-mat.cc (octave_matrix::convert_to_str_internal): - Don't lose empty dimensions on conversion to char. - - * strfns.cc (Fstrcmp): Handle comparison of cellstr and empty string. - -2006-06-16 John W. Eaton - - * parse.y (%union): New type, anon_fcn_handle_type. - (anon_fcn_handle): Now anon_fcn_handle_type, not tree_constant_type. - (make_anon_fcn_handle): Return tree_anon_fcn_handle, not tree_constant. - - * comment-list.cc (octave_comment_list::dup): New function. - * comment-list.h: Provide decl. - - * pt-cmd.cc (tree_no_op_command::dup): New function. - * pt-cmd.h: Provide decl. - (tree_command::dup): New pure virtual function. - - * pt-loop.cc (tree_while_command::dup, tree_do_until_command::dup, - tree_simple_for_command::dup, tree_complex_for_command::dup): - New functions. - * pt-loop.h: Provide decls. - - * pt-jump.cc (tree_break_command::dup, tree_continue_command::dup, - tree_return_command::dup): New functions. - * pt-jump.h: Provide decls. - - * pt-except.cc (tree_try_catch_command::dup, - tree_unwind_protect_command::dup): New functions. - * pt-except.h: Provide decls. - - * pt-select.cc (tree_if_clause::dup, tree_if_command_list::dup, - tree_if_command::dup, tree_switch_case::dup, - tree_switch_case_list::dup, tree_switch_command::dup): - New functions. - * pt-select.h: Provide decls. - - * pt-decl.cc (tree_decl_elt::dup, tree_decl_init_list::dup, - tree_global_command::dup, tree_static_command::dup): New functions. - * pt-decl.h: Provide decls. - - * pt-exp.h (tree_expression::copy_base): New function. - (tree_expression::dup): New pure virtual function. - - * pt-fcn-handle.cc, pt-fcn-handle.h (tree_anon_fcn_handle): New class. - - * pt-fcn-handle.cc (tree_function_handle::dup): New function. - * pt-fcn-handle.h: Provide decl. - - * pt-colon.cc (tree_colon_expression::dup): New function. - * pt-colon.h: Provide decl. - (tree_colon_expression::tree_colon_expression (tree_expression *, - tree_expression *, tree_expression *, int, int)): New constructor. - - * pt-const.cc (tree_constant::dup): New function. - (tree_constant::tree_constant (const octave_value&, const - std::string&, int, int)): New constructor. - * pt-const.h: Provide decls. - - * pt-idx.cc (tree_index_expression::dup): New functoin. - (tree_index_expression::tree_index_expression (int, int)): - New constructor. - * pt-idx.h: Provide decls. - - * pt-arg-list.cc (tree_argument_list::dup): New function. - * pt-arg-list.h: Provide decl. - - * pt-id.cc (tree_identifier::dup): New function. - * pt-id.h: Provide decl. - - * pt-cell.cc (tree_cell::dup): New function. - * pt-cell.h: Provide decl. - - * pt-mat.cc (tree_matrix::dup): New function. - * pt-mat.h: Provide decl. - - * pt-assign.cc (tree_simple_assignment::dup, - tree_multi_assignment::dup): New functions. - * pt-assign.h: Provide decls. - - * pt-binop.cc (tree_binary_expression::dup, - tree_boolean_expression::dup): New functions. - * pt-binop.h: Provide decls. - - * pt-unop.cc (tree_prefix_expression::dup, - tree_postfix_expression::dup): New functions. - * pt-unop.h: Provide decls. - - * pt-stmt.cc (tree_statement::dup, tree_statement_list::dup): - New functions. - * pt-stmt.h: Provide decls. - - * pt-misc.cc (tree_parameter_list::dup, - tree_return_list::dup): New functions. - * pt-misc.h: Provide decls. - - * symtab.cc (symbol_table::dup, symbol_table::inherit, - symbol_record:is_automatic_variable): New functions. - * symtab.h: Provide decls. - (symbol_record::automatic_variable): New data member. - (symbol_record::symbol_record): Initialize it. - (symbol_record::mark_as_automatic_variable): New function. - - * pt-walk.h (tree_walker::visit_anon_fcn_handle): - New pure virtual function. - * pt-pr-code.cc (tree_print_code::visit_anon_fcn_handle): New function. - * pt-pr-code.h: Provide decl. - * pt-bp.cc (tree_breakpoint::visit_anon_fcn_handle): New function. - * pt-bp.h: Provide decl. - * pt-check.cc (tree_checker::visit_anon_fcn_handle): New function. - * pt-check.h: Provide decl. - -2006-06-13 John W. Eaton - - * pt-stmt.cc (tree_statement_list::eval): Revise previous change - to preserve return-last-value-computed semantics. - - * DLD-FUNCTIONS/fsolve.cc (hybrd_info_to_fsolve_info): - Warn about invalid values of INFO from MINPACK instead of calling - panic_impossible. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Don't assign values returned by evaluation of cmd_list to - temporary variable. Delete unused variable last_computed_value. - - * pt-stmt.cc (tree_statement_list::eval): - Clear retval before each statement is evaluated. - -2006-06-12 John W. Eaton - - * unwind-prot.h (unwind_protect_fptr): New macro. - * load-path.cc (load_path::do_set): Use it instead of - unwind_protect_ptr when protecting add_hook function pointer. - * dynamic-ld.cc (octave_dynamic_loader::do_load): Use FCN_PTR_CAST - here instead of reinterpret_cast. - -2006-06-09 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.6+. - -2006-06-09 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.6. - (OCTAVE_API_VERSION): Now api-v19. - (OCTAVE_RELEASE_DATE): Now 2006-06-09. - - * ov-cell.cc (cell::save_hdf5): Use leading zeros to keep elements - correctly sorted in the HDF file. - From Stephen Fegan . - -2006-06-08 John W. Eaton - - * ov-usr-fcn.cc (function::do_multi_index_op): Append contents of - varargout to ret_list before calling convert_to_const_vector. - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - No need to handle all_va_args here. - - * ov-va-args.h, ov-va-args.cc: Delete files. - * Makefile.in (OV_INCLUDES, OV_SRC): Delete from the lists. - - * ov.cc (install_types): Don't register octave_all_va_args type. - * ov.h, ov.cc (octave_value::octave_value (octave_value::all_va_args)): - Delete. - * ov.h (octave_value::is_all_va_args): Delete. - (octave_value::enum all_va_args): Delete. - - * pt-pr-code.cc (tree_print_code::visit_octave_user_function_header): - Print "varargout" and "varargin" instead of "...". - - * pt-misc.h, pt-misc.cc (tree_parameter_list::convert_to_const_vector): - Arg is now const Cell& instead of tree_va_return_list*. - - * ov-usr-fcn.h, ov-usr-fcn.cc (octave_user_function::vr_list, - octave_user_function::curr_va_arg_number): - Delete variables and all uses. - (octave_function::octave_va_start, octave_function::octave_va_arg, - octave_function::octave_vr_val, octave_function::has_varargout): - Delete functions and all uses. - - * ov-fcn.h (octave_function::octave_va_start, - octave_function::octave_va_arg, octave_function::octave_vr_val, - octave_function::has_varargout): Delete. - - * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Delete. - - * lex.l ({EL}): Don't handle "..." as varargin or varargout. - * octave.gperf (all_va_args, ALL_VA_ARGS, all_va_args_kw): Delete. - * parse.y (ALL_VA_ARGS): Delete token and all uses. - - * defaults.h.in (OCTAVE_DATAROOTDIR): Substitute here. - * toplev.cc (octave_config_info): Add datarootdir to the struct. - -2006-06-07 John W. Eaton - - * ov-cell.cc (octave_cell::subsasgn): Handle c-s list object on - RHS if last index is '{'. - * pt-assign.cc (tree_multi_assignment::rvalue): Compute all LHS - lvalues before evaluating RHS. If LHS lvalue expects more than - one output, pass octave_cs_list object to assign method. - * pt-idx.cc (tree_index_expression::lvalue): Compute expected - number of values if '{' index appears last. - * pt-arg-list.cc (tree_argument_list::lvalue_list): New function. - * pt-arg-list.h (tree_argument_list::lvalue_list): Provide decl. - * oct-lvalue.h (octave_lvalue::nel): New data member. - (octave_lvalue::numel): New functions - * oct-obj.cc (octave_value_list::has_magic_colon): New function. - * oct-obj.h (octave_value_list::has_magic_colon): Provide decl. - * pt-arg-list.cc (tree_argument_list::nargout_count): Delete function. - * pt-arg-list.h (tree_argument_list::nargout_count): Delete decl. - -2006-06-06 John W. Eaton - - * sighandlers.cc (generic_sig_handler, sigint_handler): - Use strsignal instead of accessing sys_siglist directly. - * siglist.h: Use HAVE_DECL_SYS_SIGLIST instead of SYS_SIGLIST_DECLARED. - * siglist.c: Update sys_siglist. - (init_signals, strsignal): New functions. - * octave.cc (octave_main): Call init_signals here. - - * toplev.cc (Foctave_config_info): Delete LIBPLPLOT from struct. - -2006-06-05 John W. Eaton - - * pt-assign.cc (Vprint_rhs_assign_val): Delete variable. - (Fprint_rhs_assign_val): Delete function. - tree_simple_assignment::rvalue, tree_multi_assignment::rvalue): - No special case for Vprint_rhs_assign_val. - -2006-06-02 John W. Eaton - - * pt-arg-list.h (tree_argument_list::mark_as_simple_assign_lhs, - tree_argument_list::is_simple_assign_lhs): New functions. - (tree_argument_list::simple_assign_lhs): New data member. - * parse.y (assign_lhs): Classify LHS here. - (make_assign_op): Create simple or multi assign op based on - classification of LHS, not its length. - -2006-06-01 John W. Eaton - - * Makefile.in (DLD_XSRC): Add __pchip_deriv__.cc to the list. - -2006-06-01 David Bateman - - * DLD-FUNCTIONS/__pchip_deriv__.cc: New file. - -2006-05-31 John W. Eaton - - * load-path.h (load_path::set_command_line_path): Make it - additive. - -2006-05-26 John W. Eaton - - * load-path.cc (genpath, maybe_add_path_elts, Fgenpath, Frehash, - Fpath, Fpathdef): Move here from defaults.cc. - * load-path.cc, load-path.h: New files. - * Makefile.in (INCLUDES, DIST_SRC): Add them to the lists. - * help.cc (make_name_list, simple_help): Use load_path instead of - octave_fcn_file_name_cache. - (Flookfor): Use load_path instead of Vload_path_dir_path. - * octave.cc (octave_main): Likewise. - * parse.y (load_fcn_from_file): Likewise. - * utils.cc (Ffile_in_loadpath, file_in_path, fcn_file_in_path, - oct_file_in_path): Likewise. - * variables.cc (symbol_exist, symbol_out_of_date): Likewise. - * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Likewise. - * utils.cc (Ffind_first_of_in_loadpath): Delete. - * input.cc (octave_gets): Call load_path::update here. - * dirfns.cc (octave_change_to_directory): Likewise. - * defaults.cc (VLOADPATH, VDEFAULT_LOADPATH, Vload_path_dir_path, - maybe_add_or_del_packages, update_load_path_dir_path, - execute_default_pkg_add_files, set_load_path): Delete. - * defaults.h.in (Vload_path_dir_path, - execute_default_pkg_add_files, maybe_add_default_load_path, - set_load_path): Delete decls. - - * fn-cache.h, fn-cache.cc: Delete. - * Makefile.in (INCLUDES, DIST_SRC): Remove them from the lists. - - * input.cc (octave_gets): Only update Vlast_prompt_time if we are - interactive and actually printing a prompt. Don't print prompt if - reading startup files or command line files. Initialize - Vlast_prompt_time to 0. - - * pr-output.cc (set_format): Always include space for sign. - -2006-05-23 John W. Eaton - - * load-save.cc (Fsave): Use tellp instead of pubseekoff to - determine whether we are at beginning of file. - - * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::increment, - OCTAVE_VALUE_INT_SCALAR_T::decrement, - OCTAVE_VALUE_INT_MATRIX_T::increment, - OCTAVE_VALUE_INT_MATRIX_T::decrement): New functions. - * OPERATORS/op-int.h (OCTAVE_INSTALL_M_INT_UNOPS, - OCTAVE_INSTALL_S_INT_UNOPS, OCTAVE_M_INT_UNOPS, - OCTAVE_S_INT_UNOPS): Uncomment increment and decrement ops. - -2006-05-19 John W. Eaton - - * symtab.cc (SYMBOL_DEF::document): If definition is a function, - also pass doc string to function object. - * ov-fcn.h (octave_function::document): New function. - * defun.cc (print_usage (octave_function *)): New function. - (print_usage (void)): New function. - (print_usage (const std::string&)): Provide for backward - compatibility. Ignore arg. - (Fprint_usage): Don't accept arg. - * defun-int.h (print_usage (void)): Provide decl. - (print_usage (const std::string&)): Tag with GCC_ATTR_DEPRECATED. - -2006-05-04 David Bateman - - * DLD-FUNCTIONS/conv2.cc: New file from Octave Forge. - * Makefile.in (DLD_XSRC): Add it to the list - -2006-05-17 Bill Denney - - * help.cc (keywords): Improve and Texinfoize. - -2006-05-17 John W. Eaton - - * symtab.cc (Vwhos_line_format): Show class instead of type. - (symbol_table::parse_whos_line_format): - Use 't' for "Type" and 'c' for "Class". - (symbol_record::print_symbol_info_line): Likewise. - (maybe_list_cmp_fcn): Fix casts. - -2006-05-11 John W. Eaton - - * octave.cc (IMAGE_PATH_OPTION): New macro. - (usage_string, verbose_usage): Include --image-path option. - (long_opts): Include --image-path. - (octave_main): Handle IMAGE_PATH_OPTION. - - * toplev.cc (Foctave_config_info): Delete fcnfilepath, imagepath, - localfcnfilepath, and localoctfilepath from the struct. - * defaults.h.in (OCTAVE_FCNFILEPATH, OCTAVE_IMAGEPATH, - OCTAVE_LOCALFCNFILEPATH, OCTAVE_LOCALOCTFILEPATH): Delete variables. - - * octave.cc (octave_main): Call set_exec_path and set_load_path - instead of bind_internal_variable. - - * defaults.cc (Fpathdef): Rename from FDEFAULT_LOADPATH. - Don't allow default path to be set. - (Fpath): Rename from FLOADPATH. Make Matlab-compatible. - (update_load_path_dir_path): No need to pass VDEFAULT_LOADPATH to - dir_path constructor now. - (update_exec_path, FDEFAULT_EXEC_PATH, - set_default_default_exec_path, set_default_exec_path, - maybe_add_default_load_path): Delete functions. - (VDEFAULT_EXEC_PATH): Delete variable. - (FEXEC_PATH): Leading and trailing colons no longer special. - (set_exec_path, set_load_path, set_image_path, - maybe_add_path_elts): New functions. - (install_defaults): Call set_exec_path and set_load_path instead - of set_default_exec_path and set_default_path. Don't call - set_default_default_exec_path. Do call set_image_path. - * defaults.cc (genpath, Fgenpath): New functions. - (Vlocal_ver_oct_file_dir, Vlocal_api_oct_file_dir, - Vlocal_oct_file_dir, Vlocal_ver_fcn_file_dir, - Vlocal_api_fcn_file_dir, Vlocal_fcn_file_dir, Vimage_dir): - New variables. - (set_default_local_ver_oct_file_dir, - set_default_local_api_oct_file_dir, - set_default_local_oct_file_dir, - set_default_local_ver_fcn_file_dir, - set_default_local_api_fcn_file_dir, - set_default_local_fcn_file_dir, set_default_image_dir): - New functions. - (install_defaults): Call them. - * defaults.h.in (set_exec_path, set_load_path, set_image_path, - Vlocal_ver_oct_file_dir, Vlocal_api_oct_file_dir, - Vlocal_oct_file_dir, Vlocal_ver_fcn_file_dir, - Vlocal_api_fcn_file_dir, Vlocal_fcn_file_dir, - Vlocal_fcn_file_dir, Vimage_dir): Provide decls. - -2006-05-10 John W. Eaton - - * ov-cell.cc (Fcellstr): Trim trailing blanks. - * Cell.h (Cell::Cell (const string_vector&)): New arg, TRIM. - - * oct-hist.cc (initialize_history, Fhistory_size): - Also call command_history::set_size here. - - * defun.cc (Fprint_usage): New function. - * help.cc (display_usage_text): New function. - -2006-05-09 Keith Goodman - - * DLD-FUNCTIONS/rand.cc: Doc string fix. - -2006-05-09 Jorge Barros de Abreu - - * data.cc (FInf, FNaN): Fix typo in doc string. - -2006-05-08 John W. Eaton - - * Makefile.in (DEFUN_PATTERN): Match DEFUNX_DLD. - * mkbuiltins: Handle XDEFUNX_DLD_INTERNAL. - * mkgendoc: Likewise. - * mk-pkg-add: Likewise. Do all the matching with sed. - * defun-int.h (DEFINE_FUNX_INSTALLER_FUN, DEFINE_FUNX_INSTALLER_FUN2, - DEFINE_FUNX_INSTALLER_FUN3): New macros. - (DEFINE_FUN_INSTALLER_FUN3): Define using DEFINE_FUNX_INSTALLER_FUN3. - (DEFUNX_DLD_INTERNAL): New macro. - * defun-dld.h (DEFUNX_DLD): New macro. - - * DLD-FUNCTIONS/__gnuplot_raw__.l: Mark __gnuplot_set__ as a - command, not a rawcommand. - - * load-save.cc: No need to handle built-in variables. - * help.cc (simple_help): No need to handle built-in variables. - - * variables.cc (is_builtin_variable, builtin_string_variable, - builtin_real_scalar_variable, builtin_any_variable): - Delete functions. - (Fexist, Fdocument, do_who, Fwho, link_to_builtin_or_function): - No need to handle built-in variables. - * variables.h (is_builtin_variable, builtin_string_variable, - builtin_real_scalar_variable, builtin_any_variable): Delete decls. - - * symtab.h (symbol_record::symbol_def::is_builtin_variable, - symbol_record::is_builtin_variable): Delete. - (symbol_record::TYPE): Remove BUILTIN_VARIABLE from enum. - (symbol_record::symbol_def::is_variable, SYMTAB_ALL_TYPES, - SYMTAB_VARIABLES): No need to handle built-in variables now. - (symbol_record::define_builtin_variable, - symbol_record::link_to_builtin_variable): Delete decls. - * symtab.cc (record::define, SYMBOL_DEF::type, - SYMBOL_DEF::type_as_string): No need to handle built-in variables. - (symbol_record::define_builtin_variable): Delete. - (symbol_record::variable_reference): No need to attemp to link to - built-in variable. - - * utils.cc (check_preference, warn_old_style_preference): Delete. - * utils.h (check_preference): Delete decl. - - * defun-int.h: Delete all DEFVAR macros. - - * Makefile.in, mkbuiltins: No need for VAR_FILES. - - * parse.y (current_script_file_name): Delete all uses. - (clear_current_script_file_name): Delete function. - - * variables.cc (symbols_of_variables): Delete DEFVAR and function. - (bind_ans): Lookup ans in curr_sym_tab, not fbi_sym_tab. - SR is no longer static, so we insert value in local scope. - - * defun.cc (bind_builtin_variable): Delete function. - * defun-int.h: Delete decl. - - * defaults.cc (fftw_wisdom_program): Rename from fftw_wisdom_prog. - Change all uses. - (VDEFAULT_LOADPATH): Rename from Vdefault_load_path. Change all uses. - (VLOADPATH): Rename from Vload_path. Change all uses. - (VDEFAULT_EXECPATH): Rename from Vdefault_exec_path. Change all uses. - (VEXECPATH): Rename from Vexec_path. Change all uses. - (VEDITOR): Rename from Veditor. Change all uses. - (Ffftw_wisdom_program, FDEFAULT_LOADPATH, FLOADPATH, - FDEFAULT_EXEC_PATH, FEXEC_PATH, FEDITOR, FIMAGEPATH): New functions. - (fftw_wisdom_program, default_load_path, loadpath, - default_exec_path, exec_path, editor, image_path): Delete functions. - (symbols_of_defaults): Delete DEFVARs and function. - - * pr-output.cc (set_output_prec_and_fw): Set Voutput_precision and - Voutput_max_field_width directly instead of calling - bind_builtin_variable. - - * octave.cc (octave_main, maximum_braindamage): - Call bind_internal_variable instead of bind_builtin_variable. - - * pager.cc (Fmore): Set Vpage_screen_output directly instead of - calling bind_builtin_variable. - - * error.cc (Fwarning): Set Vdebug_on_warning directly instead of - calling bind_builtin_variable. - - * error.cc (initialize_warning_options): Now static. - (disable_warning, initialize_default_warning_state): New functions. - - * error.h (initialize_warning_options): Delete decl. - (initialize_default_warning_state): Provide decl. - * octave.cc (octave_main): Call initialize_default_warning_state - instead initialize_warning_options. - - * lex.l (warn_matlab_incompatible, warn_separator_insert, - warn_single_quote_string): Delete functions. - (symbols_of_lex): Delete DEFVARS. - (Vwarn_matlab_incompatible, Vwarn_separator_insert, - Vwarn_single_quote_string): Delete variables. - (maybe_warn_separator_insert, gripe_single_quote_string, - gripe_matlab_incompatible): Call warning_with_id instead of warning. - - * variables.h (SET_NONEMPTY_INTERNAL_STRING_VARIABLE, - SET_INTERNAL_VARIABLE_WITH_LIMITS): New macros. - - * ls-oct-ascii.cc (Fsave_precision): New function. - (save_precision): Delete function. - (symbols_of_ls_oct_ascii): Delete DEFVAR and function. - - * oct-hist.cc (initialize_history): New function. - * oct-hist.h: Provide decl. - * octave.cc (octave_main): Call initialize_history instead of - command_history::read. - - * oct-hist.cc (Fhistory_size, Fhistory_file, - Fhistory_timestamp_format_string, Fsaving_history): New functions. - (history_size, history_file, history_timestamp_format_string, - saving_history): Delete functions. - (symbols_of_oct_hist): Delete DEFVARs and function. - - * pt-mat.cc (Fstring_fill_char): New function. - (string_fill_char): Delete function. - (symbols_of_pt_mat): Delete DEFVAR and function. - - * variables.cc (Fignore_function_time_stamp, ans): New functions. - (ignore_function_time_stamp): Delete function. - (symbols_of_variables): Delete DEFVARs and function. - - * oct-procbuf.cc: (Vkluge_procbuf_delay): Delete variable. - (octave_procbuf::open): Never delay after fork. - (kluge_procbuf_delay): Delete function. - (symbols_of_oct_procbuf): Delete DEFVAR and function. - - * dirfns.cc (Fconfirm_recursive_rmdir): New function. - (confirm_recursive_rmdir): Delete function. - (symbols_of_dirfns): Delete DEFVAR and function. - - * error.cc (initialize_warning_options): Now extern. - Rename from init_warning_options. - * error.h: Provide decl. - * octave.cc (octave_main): Call it here. - - * error.cc (Fbeep_on_error, Fdebug_on_error, Fdebug_on_warning): - New functions. - (beep_on_error, debug_on_error, debug_on_warning): Delete Functions. - (symbols_of_error): Delete DEFVARs and function. - - * help.cc (Finfo_file, Finfo_program, Fmakeinfo_program, - Fsuppress_verbose_help_message): New function. - (info_file, info_program, makeinfo_program, - suppress_verbose_help_message): Delete function. - (symbols_of_help): Delete DEFVARs and function. - (Vinfo_program): Rename from Vinfo_prog. Change all uses. - - * input.cc (FPS1, FPS2, FPS4, Fcompletion_append_char, - Fecho_executing_commands): New functions. - (ps1, ps2, ps4, completion_append_char, echo_executing_commands): - Delete functions. - (symbols_of_input): Delete DEFVARs and function. - (VPS1, VPS2, VPS4): Rename from Vps1, Vps2, Vps4. Change all uses. - (Fecho): Set Vecho_executing_commands directly. - - * load-save.cc (crash_dumps_octave_core, Fdefault_save_options, - Foctave_core_file_limit, Foctave_core_file_name, - Foctave_core_file_options, Fsave_header_format_string): - New functions. - (crash_dumps_octave_core, default_save_options, - octave_core_file_limit, octave_core_file_name, - octave_core_file_options, save_header_format_string): - Delete functions. - (symbols_of_load_save): Delete DEFVARs and function. - - * ov-base.cc (Fprint_answer_id_name, Fsilent_functions): New functions. - (print_answer_id_name, silent_functions): Delete functions. - (symbols_of_ov_base): Delete DEFVARs and function. - - * ov-usr-fcn.cc (Fmax_recursion_depth): New function. - (max_recursion_depth): Delete function. - (symbols_of_ov_usr_fcn): Delete DEFVAR for max_recursion_depth. - Delete function. - - * pager.cc (Fpage_output_immediately, Fpage_screen_output, FPAGER): - New functions. - (page_output_immediately, page_screen_output, pager_binary): - Delete functions. - (symbols_of_pager): Delete DEFVARs and function. - (VPAGER): Rename from Vpager_binary. Change all uses. - - * pr-output.cc (Ffixed_point_format, Fprint_empty_dimensions, - Fsplit_long_rows, Foutput_max_field_width, Foutput_precision, - Fstruct_levels_to_print): New functions. - (fixed_point_format, print_empty_dimensions, split_long_rows, - output_max_field_width, output_precision, struct_levels_to_print): - Delete functions. - (symbols_of_pr_output): Delete DEFVARs and function. - - * pt-assign.cc (Fprint_rhs_assign_val): New function. - (print_rhs_assign_val): Delete function. - (symbols_of_pt_assign): Delete DEFVAR. Delete function. - - * sighandlers.cc (Fdebug_on_interrupt, Fsighup_dumps_octave_core, - Fsigterm_dumps_octave_core): New functions. - (debug_on_interrupt, sighup_dumps_octave_core, - sigterm_dumps_octave_core): Delete functions. - (symbols_of_sighanlders): Delete DEFVARs. Delete function. - - * symtab.cc (Vdebug_symtab_lookups): Now bool. - (Fdebug_symtab_lookups, Fwhos_line_format, - Fvariables_can_hide_functions): New functions. - (debug_symtab_lookups, whos_line_format, - variables_can_hide_functions): Delete functions. - (symbols_of_symtab): Delete DEFVARs and function. - -2006-05-04 David Bateman - - * DLD-FUNCTIONS/sqqr (Fdmperm): Allow compilation with versions - v2.0.0 of CXSparse or later. - -2006-05-04 John W. Eaton - - * variables.cc (set_internal_variable): Move here from - DLD-FUNCTIONS/__gnuplot_raw__.l. - * variables.h (SET_INTERNAL_VARIABLE): Likewise. - (set_internal_variable): Provide decls. - - * DLD-FUNCTIONS/__gnuplot_raw__.l: Convert all DEFVARs to DEFUN_DLDs. - (gnuplot::init): Delete. - (gnuplot::gnuplot): Don't call init here. - (set_internal_variable): New functions. - (SET_INTERNAL_VARIABLE): New macro. - - * Makefile.in: Undo changes of 2006-03-16. - * DLD-FUNCTINS/__gnuplot_raw__.l: Move here from __gnuplot_raw__.l. - Undo changes of 2006-03-16. - -2006-05-03 David Bateman - - * ov-base-mat.h: Add caching of matrix type, and code to supply - and copy matrix type. - * ov-bool-mat.h: Add caching to constructor. - * ov-re-mat.h: ditto. - * ov-cx-mat.h: ditto. - * ov.cc: Add to the BoolMatrix, Matrix and the ComplexMatrix - octave_value constructors, the ability to specify the matrix type. - * ov.h: Adapt declaration of above constructors. - (MatrixType matrix_type(void) const, MatrixType matrix_type (const - MatrixType&)): New functions for probing and setting matrix type. - * ov-base.cc (virtual MatrixType matrix_type(void) const, virtual - MatrixType matrix_type (const MatrixType&)): New default functions - for probing and setting matrix type. - * ov-base.h (virtual MatrixType matrix_type(void) const, virtual - MatrixType matrix_type (const MatrixType&)): Declarations. - * ov-base-sparse.h: Replace all uses of SparseType with - MatrixType. Replace sparse_type function with matrix_type function. - * ov-bool-sparse.h: Replace all uses of SparseType with MatrixType. - * ov-cx-sparse.h: ditto. - * ov-re-sparse.h: ditto. - * sparse-xdiv.cc: ditto. - * sparse-xdiv.h: ditto. - * sparse-xpow.cc: ditto. - * DLD-FUNCTIONS/luinc.cc: ditto. - * DLD-FUNCTIONS/splu.cc: ditto. - * xdiv.cc (xdiv, xleftdiv): Pass the matrix type, simplfy since - the matrix solve function now calls lssolve if singular. - * xdiv.h (xdvi, xleftdiv): Update the declarations - * OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, - OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-m.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-m.cc: Update use of - xdiv and xleftdiv functions to allow matrix type caching. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Update to allow typing - of Matrix, and ComplexMatrix types. Add new test code for this. - - * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): new function. - - * DLD-FUNCTIONS/regexp.cc (class regexp_elem): New class to store - matched element in a std::list. - (octregexp_list): Take algorithm from octregexp and construct a - list of matches. - (octregexp): Rewrite to use linked list of matches. - (Fregexprep): New function, working directly in linked list of - matches. - -2006-05-02 John W. Eaton - - * lex.l ({CCHAR}): Exit rawcommand mode if returning '\n' token. - -2006-05-02 David Bateman - - * DLD-FUNCTIONS/rand.cc (do_rand): Require real scalar for seed. - -2006-05-01 John W. Eaton - - * error.h (Vwarning_option): Delete. - * variables.cc (looks_like_struct): Remove use from commented code. - - * gripes.cc, gripes.h (gripe_implicit_conversion): New arg, ID. - Change all uses. - - * defaults.cc (set_local_site_defaults_file, set_site_defaults_file): - Allow filenames to be set from the environment. - - * oct-map.cc (octave_map::resize): No longer const. - * ov-struct.h (octave_struct::resize): Deal with it. - - * octave.cc (initialize_error_handlers): Also call - set_liboctave_warning_with_id_handler. - (execute_startup_files): Check that home_rc is not an empty string. - (F__version_info__): Resize vinfo before assigining elements. - - * ov-base.cc (warn_num_to_str, warn_resize_on_range_error): - Delete functions. - (symbols_of_ov_base): Delete DEFVARS. - (Vwarn_num_to_str, Vwarn_resize_on_range_error): Delete variables. - (value::convert_to_str): Check state of warning ID - Octave:num-to-str instead of using Vwarn_num_to_str. - * OPERATORS/op-chm.cc: Likewise. - * ov-base.h (Vwarn_num_to_str, Vwarn_resize_on_range_error): - Delete decls. - - * ov-list.cc (octave_list::assign): Call warning_with_id instead - of warning. - - * parse.y (warn_assign_as_truth_value, warn_associativity_change, - warn_function_name_clash, warn_future_time_stamp, - warn_missing_semicolon, warn_precedence_change, - warn_variable_switch_label, symbols_of_parse): - Delete DEFVARs and functions. - (Vwarn_assign_as_truth_value, Vwarn_associativity_change, - Vwarn_function_name_clash, Vwarn_future_time_stamp, - Vwarn_missing_semicolon, Vwarn_precedence_change, - Vwarn_variable_switch_label): Delete variables. - * parse.h (Vwarn_future_time_stamp): Delete decl. - * parse.y (fold): Check state of warning ID - Octave:associativity-change and Octave:precedence-change instead - of using Vwarn_associativity_change and Vwarn_precedence_change. - (maybe_warn_associativity_change, maybe_warn_missing_semi, - maybe_warn_assign_as_truth_value, make_binary_op, make_boolean_op, - frob_function): Call warning_with_id instead of warning. - * dynamic-ld.cc (octave_dynamic_loader::do_load): Likewise. - - * ov.cc (warn_fortran_indexing, warn_imag_to_real, symbols_of_ov): - Delete DEFVARs and functions. - (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete variables. - - * ov.cc (octave_value::vector_value, octave_value::int_vector_value, - octave_value::complex_vector_value): Check state of warning ID - Octave:fortran-indexing instead of using Vwarn_fortran_indexing. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::double_value, - octave_sparse_complex_matrix::complex_value): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::matrix_value, - octave_complex_matrix::complex_value): Likewise. - * ov-re-mat.cc (octave_matrix::complex_value, - octave_matrix::double_value): Likewise. - * ov-streamoff.cc (octave_streamoff::streamoff_value): Likewise. - * ov-re-sparse.cc (octave_sparse_matrix::complex_value, - octave_sparse_matrix::double_value): Likewise. - * ov-range.cc (octave_range::complex_value, - octave_range::double_value): Likewise. - * ov-ch-mat.cc (octave_char_matrix::complex_value, - octave_char_matrix::double_value): Likewise. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::complex_value, - octave_sparse_bool_matrix::double_value): Likewise. - * ov-bool-mat.cc (octave_bool_matrix::complex_value, - octave_bool_matrix::double_value): Likewise. - - * ov-cx-sparse.cc (octave_sparse_complex_matrix::double_value, - octave_sparse_complex_matrix::matrix_value, - octave_sparse_complex_matrix::sparse_matrix_value): Check state of - warning ID Octave:imag-to-real instead of using Vwarn_imag_to_real. - * ov-cx-mat.cc (octave_complex_matrix::double_value, - octave_complex_matrix::matrix_value, - octave_complex_matrix::complex_value, - octave_complex_matrix::sparse_matrix_value): Likewise. - * ov-complex.cc (octave_complex::double_value, - octave_complex::matrix_value, octave_complex::array_value): Likewise. - - * ov.h (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete decls. - - * pt-mat.cc (warn_empty_list_elements, warn_string_concat): - Delete functions. - (symbols_of_pt_mat): Delete DEFVARs. - (Vwarn_empty_list_elements, Vwarn_string_concat): Delete variables. - (tm_row_const::tm_row_const_rep::eval_warning, tm_const::init, - maybe_warn_string_concat): Call warning_with_id instead of warning. - - * ov-str-mat.cc (warn_str_to_num, symbols_of_ov_str_mat): - Delete DEFVAR and functions. - (Vwarn_str_to_num): Delete variable. - (CHAR_MATRIX_CONV): Call warning_with_id instead of warning. - - * utils.cc (warn_neg_dim_as_zero, symbols_of_utils): - Delete DEFVAR and functions. - (Vwarn_neg_dim_as_zero): Delete variable. - (check_dimensions): Call warning_with_id instead of warning. - - * pt-misc.cc (warn_undefined_return_values, symbols_of_pt_misc): - Delete DEFVAR and functions. - (Vwarn_undefined_return_values): Delete variable. - (tree_parameter_list::initialize_undefined_elements): - Call warning_with_id instead of warning. - - * dynamic-ld.cc (warn_reload_forces_clear, symbols_of_dynamic_ld): - Delete DEFVAR and functions. - (Vwarn_reload_forces_clear): Delete variable. - (do_clear_function, octave_dynamic_loader::do_load): - Call warning_with_id instead of warning. - * error.cc (warning_enabled): Now extern. - (Fwarning): If specific id is not found, return state of "all". - - * error.h: Provide decl. - - * gripes.cc (warn_divide_by_zero, symbols_of_gripes): - Delete DEFVAR and functions. - (gripe_divide_by_zero): Check whether warning is enabled, then - call warning_with_id instead of warning. - (Vwarn_divide_by_zero): Delete variable. - -2006-04-27 John W. Eaton - - * variables.cc (Fexist): Fix doc string. - - * help.cc (simple_help): No need to handle built-in constants now. - * variables.cc (do_who): Likewise. - (symbol_exist): Likewise. - (link_to_builtin_or_function): Likewise. - * symtab.cc (SYMBOL_DEF::type_as_string): Likewise. - (record::read_only_error): Likewise. - (SYMBOL_DEF::type): Likewise. - (record::variable_reference): Likewise. - (symbol_record::define_builtin_const): Delete function. - - * symtab.h (symbol_record::define_builtin_const): Delete decl. - (symbol_record::symbol_def::is_constant): Delete function. - (symbol_record::symbol_def::is_builtin_constant): Delete function. - (symbol_record::symbol_def::is_constant): Delete function. - (symbol_record::is_builtin_constant): Delete function. - (SYMTAB_ALL_TYPES): No need to handle builtin-constants now. - (symbol_record::TYPE): Remove BUILTIN_CONSTANT from enum. - - * defun.cc (install_builtin_constant): Delete function. - * defun-int.h (install_builtin_constant): Delete decl. - - * variables.cc (bind_builtin_constant): Delete function. - * variables.h (bind_builtin_constant): Delete decl. - - * defun-int.h (DEFCONST, DEFCONSTX, DEFCONST_INTERNAL, - DEFCONSTX_INTERNAL): Delete definitions. - - * sighandlers.cc (FSIG): New function to replace DEFCONST in - symbols_of_sighandlers. - - * octave.cc (intern_argv): Set octave_argv instead of calling - bind_builtin_variable here. - (Fargv, Fprogram_invocation_name, Fprogram_name): New functions to - replace DEFCONSTs in symbols_of_toplvev in toplev.cc. - (octave_program_invocation_name, octave_program_name): - New static variables. - (execute_command_line_file): Use unwind_protect_str to protect - octave_program_invocation_name, octave_program_name instead of - using a restore function. - (restore_program_name): Delete. - - * defaults.cc (FOCTAVE_HOME): New function to replace DEFCONST in - symbols_of_defaults. - -2006-04-27 David Bateman - - * DLD-FUNCTIONS/regexp.cc (octregexp): Fix for infinite loop in - regexp. Include news regexp arguments, and associated tests. - -2006-04-26 John W. Eaton - - * oct-stream.cc: Also instantiate do_read functions for boolNDArray. - -2006-04-26 Bill Denney - - * pager.cc (Fterminal_size): Add list_in_columns to @seealso. - -2006-04-26 John W. Eaton - - * dirfns.cc (Ffilesep): New function to replace DEFCONST in - symbols_of_dirfns. - (Fpathsep): New function. - - * defaults.cc (set_default_default_exec_path): Use - dir_path::path_sep_str instead of std::string (SEPCHAR_STR). - (set_default_exec_path): Likewise. - (set_default_path): Likewise. - (maybe_add_default_load_path): Likewise. Use dir_path::is_path_sep. - -2006-04-18 John W. Eaton - - * DLD-FUNCTIONS/regexp.cc: Include , for transform decl. - - * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd): - Always return something. - - * sighandlers.cc (octave_set_signal_handler, - octave_set_interrupt_handler): New arg, restart_syscalls, with - default value true. - * sighandlers.h: Fix decls to match. - * sysdep.cc (octave_kbhit): Disable restarting of system calls. - - * help.cc (Flookfor): Add std qualifier to transform function. - Include , for transform decl. - -2006-04-16 John W. Eaton - - * pager.h (octave_diary_buf, octave_pager_buf): Use std:stringbuf - directly. - - * ls-mat-ascii.cc (read_mat_ascii_data): Use std::istringstream - directly. - * load-save.cc (parse_save_options): Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - * oct-strstrm.h (octave_istrstream::is): Likewise. - - * __gnuplot_raw__.l (printrange, handle_using, gnuplot::do_open, - gnuplot::do_set, gnuplot::do_show, gnuplot::makeplot, - gnuplot::handle_title): Use std::ostringstream directly. - * toplev.cc (run_command_and_return_output): Likewise. - * symtab.h (symbol_table::symbol_table): Likewise. - * strfns.cc (Flist_in_columns): Likewise. - * pt.cc (tree::str_print_code): Likewise. - * parse.y (yyerror, fold, finish_matrix): Likewise. - * pr-output.cc (PRINT_ND_ARRAY, octave_print_internal, Fdisp): - Likewise. - * symtab.cc (symbol_table::print_descriptor): Likewise. - * ov-list.cc (octave_list::print_raw, octave_list::save_ascii, - octave_list::save_binary, octave_list::save_hdf5): Likewise. - * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline, - octave_fcn_inline::load_ascii, octave_fcn_inline::print_raw, - Finline): Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, - octave_fcn_handle::save_binary, octave_fcn_handle::save_hdf5): - Likewise. - * ov-cs-list.cc (octave_cs_list::print_raw): Likewise. - * ov-cell.cc (octave_cell::print_raw, octave_cell::save_hdf5): - Likewise. - * oct-strstrm.h (octave_ostrstream::os, octave_ostrstream::str): - Likewise. - * oct-stream.h (scanf_format_list::buf, printf_format_list::buf): - Likewise. - * oct-stream.cc (scanf_format_list::scanf_format_list, - printf_format_list::printf_format_list, - octave_base_stream::do_gets, BEGIN_CHAR_CLASS_CONVERSION, - octave_stream_list::do_list_open_files): Likewise. - * ls-oct-ascii.h (extract_keyword): Likewise. - * load-save.cc (do_load): Likewise. - * lex.l (have_continuation, handle_string): Likewise. - * input.cc (get_user_input): Likewise. - * dirfns.cc (Fls): Likewise. - * error.cc (error_message_buffer, vwarning, verror, pr_where): - Likewise. - * defun.cc (print_usage): Likewise. - * help.cc (display_help_text, Ftype, first_help_sentence): - Likewise. - * ls-mat5.cc (save_mat5_binary_element): Likewise. - * DLD-FUNCTIONS/regexp.cc (octregexp): Likewise. - * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Likewise. - -2006-04-13 John W. Eaton - - * Makefile.in (lex.o parse.o __gnuplot_raw__.o, pic/parse.o - pic/__gnuplot_raw__.o): Omit -Wold-style-cast from CXXFLAGS. - - * ls-mat5.cc (READ_INTEGER_DATA): Allocate local buffer to avoid - pointer tricks. - - * DLD-FUNCTIONS/regexp.cc (octregexp): Use OCTAVE_LOCAL_BUFFER - instead of allocting memory with malloc. - - * DLD-FUNCTIONS/sparse.cc (Fsparse): Use octave_value extractors - instead of using get_rep. - - * DLD-FUNCTIONS/dispatch.cc (dispatch_record): Use dynamic_cast, - not reinterpret_cast. - - * DLD-FUNCTIONS/besselj.cc (Fairy): Use int_value instead of - double_value and cast to extract kind arg. - (int_arrayN_to_array): Arg is ArrayN, not ArrayN. - - * OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, - OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, - OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, - OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc: No need to cast - away const just to cache sparse type. - * ov-base-sparse.h (octave_base_sparse::typ): Now mutable. - (octave_base_sparse::sparse_type): Now const. - - * OPERATORS/op-cm-scm.cc (DEFBINOP(div)): Explicitly cast args - here instead of using CAST_BINOP_ARGS. - - * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): Second arg to - CAST_BINOP_ARGS is also const. - - * DLD-FUNCTIONS/chol.cc (Fcholinv, Fchol2inv): Eliminate nargout - arg to avoid unused variable warnings. - - * unwind-prot.h, unwind-prot.cc (unwind_protect::save_bool, - unwind_protect::save_int, unwind_protect::save_str, - unwind_protect::save_ptr, unwind_protect::save_var): - Pointer args now const. - (unwind_protect_const_ptr): New macro. - - * symtab.cc (maybe_list_cmp_fcn): Use static_cast instead of X_CAST. - * variables.cc (symbol_record_name_compare): Likewise. - * ls-mat5.cc (MAT5_DO_WRITE, save_mat5_binary_element): Likewise. - - * ov-fcn-handle.cc (octave_fcn_handle::save_hdf5, - octave_fcn_handle::load_hdf5): Eliminate unnecessary casts. - * ov-fcn-inline.cc (octave_fcn_inline::save_hdf5, - octave_fcn_inline::load_hdf5): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::save_hdf5, - octave_char_matrix_str::load_hdf5): Likewise. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_hdf5, - octave_sparse_bool_matrix::load_hdf5): Likewise. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::save_hdf5, - octave_sparse_complex_matrix::load_hdf5): Likewise. - * ov-re-sparse.cc (octave_sparse_matrix::save_hdf5, - octave_sparse_matrix::load_hdf5): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::save_ascii, - octave_char_matrix_str::load_ascii): Likewise. - * mappers.cc (xtoascii): Likewise. - * load-save.cc (read_binary_file_header, write_header): Likewise. - * parse.y (get_help_from_file, parse_fcn_file): Likewise. - * DLD-FUNCTIONS/rand.cc (do_rand): Likewise. - * ls-hdf5.cc (read_hdf5_data, hdf5_add_attr, save_hdf5_empty, - load_hdf5_empty add_hdf5_data): Likewise. - * ls-mat4.cc (read_mat_binary_data): Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - - * oct-stream.cc (expand_char_class, octave_base_stream::do_gets): - Use static_cast instead of C-style cast. - * oct-procbuf.cc (kluge_procbuf_delay): Likewise. - * parse.y (gobble_leading_white_space,: Likewise. - * DLD-FUNCTIONS/besselj.cc (int_array2_to_matrix, - int_arrayN_to_array): Likewise. - * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Likewise. - * DLD-FUNCTIONS/ccolamd.cc (Fcsymamd): Likewise. - * pt-pr-code.cc (tree_print_code::print_comment_elt): Likewise. - * DLD-FUNCTIONS/besselj.cc (do_bessel): Likewise. - * DLD-FUNCTIONS/spchol.cc (Fsymfact): Likewise. - * DLD-FUNCTIONS/sparse.cc (sparse_find): Likewise. - * DLD-FUNCTIONS/sort.cc (FloatFlip): Likewise. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Likewise. - * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ, - read_mat5_binary_element, save_mat5_binary_element): Likewise. - - * DLD-FUNCTIONS/splu.cc (Fspinv): Use dynamic_cast instead of - C-style cast. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Likewise. - - * DLD-FUNCTIONS/sort.cc (mx_sort): Use reinterpret_cast instead of - C-style cast. - * ls-mat5.cc (write_mat5_tag): Likewise. - - * ov-typeinfo.h (octave_value_typeinfo::octave_value_typeinfo): - Eliminate unnecessary casts in constructor initializers. - - * ops.h (CAST_CONV_ARG, CAST_UNOP_ARG, CAST_BINOP_ARGS, - DEFASSIGNANYOP_FN): Use C++ dynamic_cast instead of DYNAMIC_CAST macro. - - * unwind-prot.h (unwind_protect_ptr): Use combination of - reinterpret_cast and const_cast instead of X_CAST. - - * dynamic-ld.cc (loader::do_load): Use reinterpret_cast instead of - X_CAST. - * ov-base-int.cc (octave_base_int_matrix::save_binary, - octave_base_int_matrix::load_binary, - octave_base_int_scalar::save_binary, - octave_base_int_scalar::load_binary): Likewise. - * ov-bool-mat.cc (octave_bool_matrix::save_binary, - octave_bool_matrix::load_binary): Likewise. - * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_binary, - octave_sparse_bool_matrix::load_binary): Likewise. - * ov-bool.cc (octave_bool::save_binary, octave_bool::load_binary): - Likewise. - * ov-cell.cc (octave_cell::save_binary, octave_cell::load_binary): - Likewise. - * ov-complex.cc (octave_complex::save_binary, - octave_complex::load_binary): Likewise. - * ov-cx-mat.cc (octave_matrix::save_binary, - octave_matrix::load_binary): Likewise. - * ov-cx-sparse.cc (octave_sparse_complex_matrix::save_binary, - octave_sparse_complex_matrix::load_binary): Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::save_binary, - octave_fcn_handle::load_binary): Likewise. - * ov-fcn-inline.cc (octave_fcn_inline::save_binary, - octave_fcn_inline::load_binary): Likewise. - * ov-list.cc (octave_list::save_binary, octave_list::load_binary): - Likewise. - * ov-range.cc (octave_range::save_binary, octave_range::load_binary): - Likewise. - * ov-re-mat.cc (octave_matrix::save_binary, - octave_matrix::load_binary): Likewise. - * ov-re-sparse.cc (octave_sparse_matrix::save_binary, - octave_sparse_matrix::load_binary): Likewise. - * ov-scalar.cc (octave_scalar::save_binary, - octave_scalar::load_binary): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::save_binary, - (octave_char_matrix_str::load_binary): Likewise. - * ov-struct.cc (octave_struct::save_binary, - octave_struct::load_binary): Likewise. - * ls-oct-binary.cc (save_binary_data, read_binary_data): Likewise. - * ls-mat4.cc (read_mat_file_header, save_mat_binary_data): Likewise. - * ls-mat5.cc (read_mat5_tag, read_mat5_binary_element, - read_mat5_binary_element, read_mat5_binary_file_header, - MAT5_DO_WRITE, write_mat5_array, write_mat5_integer_data, - save_mat5_binary_element, READ_INTEGER_DATA): Likewise. - -2006-04-12 John W. Eaton - - * ov.h (OV_REP_TYPE): New macro. - - * DLD-FUNCTIONS/sparse.cc (MINMAX_BODY): No need to cast arg1 to - const octave_sparse_matrix&. - - * ov-base.cc (print_answer_id_name, warn_resize_on_range_error, - warn_num_to_str, silent_functions): Move here, from ov.cc. - (Vwarn_resize_on_range_error, Vsilent_functions): Likewise. - (Vprint_answer_id_name): Likewise. Now static. - (symbols_of_ov_base): New function. Move DEFVARs for - print_answer_id_name, warn_resize_on_range_error, warn_num_to_str, - and silent_functions here from symbols_of_ov in ov.cc. - * ov.h (Vprint_answer_id_name): Delete decl. - * ov-base.h (Vwarn_resize_on_range_error, Vwarn_num_to_str): - Move decls here from ov.h. - - * ov-str-mat.cc (warn_str_to_num): Move here, from ov.cc. - (Vwarn_str_to_num): Likewise. Now static. - (symbols_of_ov_str_mat): New function. Move DEFVAR for - warn_str_to_num here from symbols_of_ov in ov.cc. - * ov.h (Vwarn_str_to_num): Delete decl. - - * ov-struct.cc (octave_struct::load_ascii): Pass loop counter, not - count, to read_ascii. - * ov-list.cc (octave_list::load_ascii): Likewise. - - * ov-list.cc (octave_list::do_index_op): Allow index to extract - multiple items. Result is always a list. - - * pr-output.cc (struct_levels_to_print): Move here from ov.cc. - (Vstruct-levels_to_print): Likewise. - (symbols_of_pr_output): Move DEFVAR for struct_levels_to_print here - from symbols_of_ov in ov.cc. - * pr-output.h (Vstruct_levels_to_print): Nove decl here from ov.h. - - * gripes.cc (warn_divide_by_zero): Move here from ov.cc. - (Vwarn_divide_by_zero): Likewise. Now static. - (symbols_of_gripes): New function. Move DEFVAR for - warn_divide_by_zero here from symbols_of_ov in ov.cc. - * ov.h (Vwarn_divide_by_zero): Delete decl. - - * load-save.cc (do_load): Declare count octave_idx_type, not int. - * ls-oct-ascii.cc, ls-oct-ascii.h (read_ascii_data): Likewise. - - Rearrange octave_value class hierarchy so that rep is a pointer - an octave_base_value object and the octave_base_value class - stores the reference count. Virtualness now goes with the - octave_base_value class, not the octave_value class. - - * ops.h, ov-base-int.cc, ov-base-int.h, ov-base-mat.h, - ov-base-scalar.h, ov-base-sparse.h, ov-base.cc, ov-base.h, - ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, - ov-bool-sparse.h, ov-bool.cc, ov-bool.h, ov-cell.cc, ov-cell.h, - ov-ch-mat.h, ov-colon.h, ov-complex.cc, ov-complex.h, - ov-cs-list.h, ov-cx-mat.cc, ov-cx-mat.h, ov-cx-sparse.cc, - ov-cx-sparse.h, ov-fcn-handle.h, ov-fcn-inline.h, ov-fcn.cc, - ov-fcn.h, ov-intx.h, ov-list.cc, ov-list.h, ov-range.cc, - ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, - ov-re-sparse.h, ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, - ov-streamoff.h, ov-struct.cc, ov-struct.h, ov-type-conv.h, - ov-typeinfo.cc, ov-typeinfo.h, ov-va-args.h, ov.cc, ov.h, - variables.cc, DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/splu.cc, - OPERATORS/op-chm.cc: Cope with octave_value hierarchy changes - (apologies for the lack of detail). - - * ov.cc (octave_value::nil_rep): Delete. - * ov.h (octave_value::nil_rep): Delete decl. - - * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA, - DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA, - DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2, - DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): - Move macro definitions here from ov.h. - (struct_indent, increment_struct_indent, decrement_struct_indent, - list_indent, increment_list_indent, decrement_list_indent): - Delete decls. - - * ov-base.cc. ov-base.h (do_index_op, ndims, all, any, - convert_to_str, print_with_name, numeric_assign, - reset_indent_level, increment_indent_level, - decrement_indent_level, current_print_indent_level, newline, - indent, reset): Move member functions here from octave_value class. - (count, curr_print_indent_level, beginning_of_line): - Move data members here from octave_value class. - (gripe_indexed_assignment, gripe_assign_conversion_failed, - gripe_no_conversion): Move here from ov.cc. - - * ov.h (class octave_xvalue): Delete. - (octave_value::octave_value (const octave_xvalue&)): Delete. - (anonymous union): Delete. - (octave_value::rep): Now a pointer to octave_base_value instead of - octave_value. - - (octave_value::internal_rep): Return pointer to octave_base_value, - not octave_value. - -2006-04-11 John W. Eaton - - * pt-assign.cc (tree_simple_assignment::rvalue, - tree_multi_assignment::rvalue): - Error if RHS is a comma-separated list. - -2006-04-07 John W. Eaton - - * defaults.cc (FOCTAVE_VERSION): New function to replace - corresponding DEFCONSTX macro in symbols_of_defaults. - - * file-io.cc (FP_tmpdir, FSEEK_SET, FSEEK_CUR, FSEEK_END, Fstdin, - Fstdout, Fstderr): New functions to replace DEFCONSTX macros in - symbols_of_file_io. - (const_value): New static function. - (symbols_of_file_io): Delete. - - * syscalls.cc (FF_DUPFD, FF_GETFD, FF_GETFL, FF_SETFD, FF_SETFL, - FO_APPEND, FO_ASYNC, FO_CREAT, FO_EXCL, FO_NONBLOCK, FO_RDONLY, - FO_RDWR, FO_SYNC, FO_TRUNC, FO_WRONLY, FWNOHANG, FWUNTRACED, - FWCONTINUE): New functions to replace DEFCONSTX macros in - symbols_of_syscalls. - (const_value): New static function. - (symbols_of_syscalls): Delete. - - * pr-output.cc (pr_max_internal, pr_min_internal): - Return 0 if all values are Inf or NaN. - Always leave space for sign when printing Inf or NaN values. - - * parse.y (Fmfilename): Don't let filenames like ../foo fake us out. - - * data.cc (fill_matrix): Create separate versions for int, bool, - and double, and Complex values. - (FInf, FNaN, Fe, Feps, Fpi, Frealmax, Frealmin, FI, FNA, Ffalse, - Ftrue): New functions to replace DEFCONST and DEFCONSTX macros in - symbols_of_data. Provide i, J, and j aliases for I. - Provide nan alias for NaN. Provide inf alias for Inf. - (symbols_of_data): Delete. - -2006-04-06 John W. Eaton - - * parse.y (parse_and_execute, parse_fcn_file): - Create octave_script_function object and push it on the call stack. - - * parse.y (Fmfilename): Check for script or user function file on - call stack. - - * ov-builtin.cc (octave_builtin::do_multi_index_op): - Use octave_call_stack instead of curr_function to save pointer to - current function. - * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): Likewise. - - * pt-bp.h (MAYBE_DO_BREAKPOINT): Use octave_call_stack instead of - curr_function to get pointer to current function. - * pt-arg-list.cc (list::convert_to_const_vector): Likewise. - * variables.cc (Fmlock, Fmunlock, Fmislocked): Likewise. - * input.cc (get_user_input): Likewise. - * error.cc (warning_1, error_2): Likewise. Only enter debug mode - if there is a scripting language caller. - * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Likewise. Check - scripting language caller, not current function. - - * toplev.cc (curr_caller_function, curr_function): Delete. - * toplev.h: Delete decls. - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Don't protect and set curr_caller_function. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. - * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. - - * variables.cc (do_who): Use octave_call_stack instead of - curr_caller_function to get pointer to calling function. - * input.cc (get_user_input): Likewise. - * error.cc (pr_where): Likewise. No need for curr_function now. - * parse.y (Fmfilename): Likewise. Check for scripting language - caller, not any calling function. - - * ov-usr-fcn.h (octave_user_script): New class. - * ov-fcn.h (octave_function::is_user_script): New virtual function. - - * toplev.h, toplev.cc (octave_call_stack): New class. - - * debug.cc (Fdbwhere): Use get_user_function here. - -2006-04-05 John W. Eaton - - * Makefile.in (mk-pkg-add): Use mfilename to simplify. - (PKG_ADD): Don't pass --prefix arg to mk-pkg-add. - (PKG_ADD.inst): Delete target. - (clean): Don't remove PKG_ADD.inst. - (install-oct): Don't depend on PKG_ADD.inst. Install PKG_ADD, not - PKG_ADD.inst. - - * parse.y (Fmfilename): New function. - -2006-04-04 David Bateman - - * help.cc (Flookfor): Skip overloaded functions. Lookup help text - of autoloaded function, not parent that contains the autoload. - -2006-04-03 David Bateman - - * data.cc (Fresize): New function. - * oct-map.cc, ov-base-mat.cc, ov-base-sparse.cc, ov-base.cc, - ov-bool.cc, ov-complex.cc, ov-range.cc, ov-scalar.cc, - ov-str-mat.cc (resize): Add boolean fill argument. - * oct-map.h, ov-base-mat.h, ov-base-sparse.h, ov-base.h, - ov-bool.h, ov-complex.h, ov-intx.h, ov-range.h, ov-scalar.h, - ov-str-mat.h, ov.h (resize): Ditto. - - * DLD-FUNCTIONS/rand.cc (do_rand): Additional argument for - gamma and poisson distributions. Change "state" and "seed" - arguments so that they choose between generators. - Add, poisson, gamma and exponential generators. - (Frand, Frandn): Update docs for new generators, add tests. - (Frande, Frandp, Frandg): New generators, with test code. - - * DLD-FUNCTIONS/daspk.cc (Fdaspk): Allow functions to be passed - using function handles, inline functions, and cell arrays of - strings, inline and function handles. - * DLD-FUNCTIONS/dasrtk.cc (Fdasrt): Likewise. - * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. - * DLD-FUNCTIONS/lsode.cc (Flsode): Likewise. - - * ls-hdf5.h (hdf5_fstreambase::open): Remove unused arg prot. - -2006-03-30 Bill Denney - - * data.cc: Include numel in @seealso. - -2006-03-30 David Bateman - - * DLD-FUNCTIONS/fftw_wisdom.cc: Don't attempt to save wisdom to - an empty filename or invalid filename. - -2006-03-28 John W. Eaton - - * DLD-FUNCTIONS/matrix_type.cc: Update copyright notice and FSF - address. - -2006-03-24 John W. Eaton - - * DLD-FUNCTIONS/spchol.cc (Fsymbfact): Use CHOLMOD_NAME to select - proper version of row_subtree function. - - * ov-cell.cc (octave_cell::save_hdf5): Use OSSTREAM instead of - fixed character buffer and sprintf. - * ov-list.cc (octave_list::save_hdf5, octave_list::save_ascii, - octave_list::save_binary): Likewise. - - * ov-cell.h (octave_cell::convert_to_str_internal): - Undo previous change for pad arg. - * ov-cell.cc (octave_cell::all_strings): Reinstate pad arg, pass - it on to all_strings. - * ov.h (octave_value::all_strings): Reinstate pad arg. - * ov-base.cc (octave_base_value::all_strings): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::all_strings): Likewise. - * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. - -2005-10-25 David Bateman - - * data.cc (do_cat): With 1 arg, return [](0x0) for compatibility. - -2006-03-23 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.5+. - -2006-03-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.5. - (OCTAVE_API_VERSION): Now api-v18. - (OCTAVE_RELEASE_DATE): Now 2006-03-22. - -2006-03-21 John W. Eaton - - * ov-cell.h (octave_cell::convert_to_str_internal): - Ignore pad and force args. - * ov-cell.cc (octave_cell::all_strings): Delete args. Never pad. - * ov-base.cc (octave_base_value::all_strings): Delete args. - Always force string conversion, never pad. - * ov-str-mat.cc (octave_char_matrix_str::all_strings): - Delete args. Don't strip whitespace. - * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. - * strfns.cc (Fchar): No args for all_strings. - -2006-03-21 David bateman - - * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Use GetProcessTimes for - MinGW to obtain user and system times. - -2006-03-17 John W. Eaton - - * strfns.cc (F__list_in_columns__): New function. - -2006-03-16 Bill Denney - - * DLD-FUNCTIONS/time.cc: Improve @seealso entries in doc strings. - -2006-03-16 John W. Eaton - - * __gnuplot_raw__.l (F__gnuplot_show__): Temporarily use DEFCMD - instead of DEFUN. - (symbols_of___gnuplot_raw__): Temporarily mark __gnuplot_plot__, - __gnuplot_set__, __gnuplot_splot__, and __gnuplot_replot__ as raw - commands. - - * variables.cc (is_marked_as_rawcommand, unmark_rawcommand, - mark_as_rawcommand): Temporarily not static. - * variables.h: Temporarily Provide decls. - -2006-03-16 David Bateman - - * sparse-xdiv.cc (result_ok): delete. - (xdiv, xleftdiv): Simplify to use version of SpareMatrix::solve - and SparseComplexMatrix::solve which internally treats rectangular - and singular matrices. - * DLD-FUNCTIONS/luinc.cc: Remove error test for singular matrix as - QR solver now implemented. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Paranoid check on - error_state. Disable tests for the detection of underdetermined - lower and over-determined upper matrix due to problems with - non minimum norm solutions. - * DLD-FUNCTIONS/spqr.cc: Warning for issue of use of Fspqr for - under-determined problems. - -2006-03-16 John W. Eaton - - * __gnuplot_raw__.l: Move here from DLD-FUNCTIONS/__gnuplot_raw__.l. - Use DEFUN, not DEFUN_DLD. Include defun.h, not defun-dld.h. - (gnuplot::do_init):Move guts to symbols_of___gnuplot_raw__. - (symbols_of___gnuplot_raw__): New function. - - * Makefile.in (DLD_XSRC): Delete __gnuplot_raw__.l from the list. - (DIST_SRC): Include __gnuplot_raw__.l in the list. - (__gnuplot_raw__.cc): Depend on __gnuplot_raw__.l, not - DLD-FUNCTIONS/__gnuplot_raw__.l - - * ls-oct-ascii.h (extract_keyword): Use std::string compare method - instead of strncmp. - * ls-oct-ascii.cc (extract_keyword): Likewise. - -2006-03-15 William Poetra Yoga Hadisoeseno - - * data.cc (Frows, Fcolumns): New functions. - - * DLD-FUNCTIONS/time.cc (Fstrptime, Fstrftime): Fix docstring. - - * strfns.cc (Fstrcmp): Fixed docstring. - -2006-03-15 John W. Eaton - - * pager.cc (Fterminal_size): New function. - - * help.cc (help_from_info): Simplify. - (try_info): Use feval to call doc instead of executing info program. - (additional_help_message): Point users to doc instead of help -i. - From S�ren Hauberg . - - * toplev.cc (Fsystem): Return output if nargout > 1, not 0. - -2006-03-14 Keith Goodman - - * help.cc (Fhelp, Fwhich, Flookfor): Doc string fix. - -2006-03-14 John W. Eaton - - * defun.cc (print_usage): New arg, extra_msg. - - * xpow.cc: Omit tests for now. - - * parse.y (QUOTE, TRANSPOSE): For compatibility, now have same - precedence as POW and EPOW. - -2006-03-14 Bill Denney - - * load-save.cc (Fload, Fsave): Update docstring for functional form. - -2006-03-14 John W. Eaton - - * xpow.cc (elem_xpow): Undo previous change. - -2006-03-14 Paul Kienzle - - * xpow.cc: New tests. - -2006-03-13 John W. Eaton - - * variables.cc (fcn_out_of_date): No longer static. - * ov-fcn-handle.cc (warn_reload): New function. - (octave_fcn_handle::subsref): Implement basic logic for updating - when pointed-to function changes. - -2006-03-10 John W. Eaton - - * xpow.cc (elem_xpow): Only use complex pow if really necessary. - - * symtab.cc (symbol_table::glob, symbol_table::symbol_list, - symbol_table::subsymbol_list): Force result to be a column - vector. - - * oct-stream.h (octave_stream::stream_ok): Undo previous change. - Eliminate who parameter. Change all callers. - - * variables.cc (do_who): Return more info in structure array for - verbose output. - * symtab.h (symbol_record::size, symbol_record::class_name, - symbol_record::is_sparse_type, symbol_record::is_complex_type, - symbol_record::size, symbol_record::symbol_def::class_name, - symbol_record::symbol_def::is_sparse_type, - symbol_record::symbol_def::is_complex_type): New functions. - * ov.h (octave_value::size): New function. - -2006-03-09 John W. Eaton - - * toplev.cc (run_command_and_return_output): Swap output and - status for compatibility. - - * Makefile.in (defaults.h, oct-conf.h): Force updates. - - * defaults.h.in (OCTAVE_RELEASE): New macro. - - * octave.cc (F__version_info__): New arg, release. - (initialize_version_info): Pass release arg to F__version_info__. - - * toplev.cc: Include api_version in the list. - - * Makefile.in (DIST_SRC): Include octave.cc here. - (DISTFILES, DEP_5): Not here. - - * octave.cc (F__version_info__): New function. - (initialize_version_info): New function. - (octave_main): Call initialize_version_info just before reading - init files. - - * version.h (OCTAVE_RELEASE_DATE): New macro. - - * ov-fcn-handle.h (octave_fcn_handle::dims): New function. - -2006-03-08 John W. Eaton - - * oct-stream.cc (octave_stream::stream_ok): Move definition here, - from oct-stream.h. New arg, warn. If warn is true and stream is - invalid, print warning. - (octave_stream::error): Always avoid warning message from - stream_ok. Return "invalid stream object" if stream is not ok. - -2006-03-08 David Bateman - - * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Change nnz to nz to remove - shadowed variable warning. - * DLD-FUNCTIONS/spqr.cc: Update for new upstream CXSPARSE release. - -2006-03-06 John W. Eaton - - * help.cc (display_help_text): Force linebreak with @sp. - -2006-03-06 Keith Goodman - - * bitfcns.cc, data.cc, debug.cc, file-io.cc, help.cc, - load-save.cc, mappers.cc, ov-cell.cc, ov-fcn-inline.cc, - ov-struct.cc, ov-usr-fcn.cc, ov.cc, pr-output.cc, utils.cc, - variables.cc, DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, - DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc, - DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, - DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw_wisdom.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, - DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/sparse.cc, - DLD-FUNCTIONS/spchol.cc, DLD-FUNCTIONS/splu.cc, - DLD-FUNCTIONS/spqr.cc, DLD-FUNCTIONS/sqrtm.cc: - Move @seealso inside @defXXX macro. Remove "and" from @seealso. - -2006-03-04 John W. Eaton - - * help.cc (additional_help_message): Don't print "\n" before message. - (help_from_symbol_table): If Vsuppress_verbose_help_message is - true, don't print which info. - -2006-03-03 John W. Eaton - - * dirfns.cc (Vconfirm_recursive_rmdir): New static variable. - (symbols_of_dirfns): DEFVAR it. - (confirm_recursive_rmdir): New function. - (Frmdir): Maybe ask for confirmation for recursive removal. - Require second arg to be "s". - - * input.cc (octave_yes_or_no): New function. - (Fyes_or_no): New function. - * input.h (octave_yes_or_no): Provide decl. - -2006-03-02 John W. Eaton - - * dirfns.cc (Fmkdir, Frmdir): Now commands. - -2006-02-20 David Bateman - - * ov.h (virtual bool is_sparse_type (bool)): New virtual function - * ov-base.h (bool is_sparse_type (bool)): New function - * ov-base-sparse.h (bool is_sparse_type (bool)): New function - * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTION/colamd.cc, - DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/splu.cc, - DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/matrix_type.cc, pt-mat.cc: - Replace us of 'arg.class_name () == "sparse"' with - 'arg.is_sparse_type ()' - -2006-02-20 David Bateman - - * pt-mat.cc (class tm_row_const): Add any_sparse bool variable. - (tm_row_const::tm_row_const_rep::do_init_element): Initialize - any_sparse variable if any matrice is sparse. - (class tm_const): Add any_sparse bool variable. - (tm_const::init): Initialize any_sparse variable. - (tree_matrix::rvalue): If any matrix is sparse use sparse matrix - as initial matrix for concatenation - * DLD-FUNCTIONS/matrix_type.cc: Add tests for new rectangular - diagonal, permuted diagonal, triangular and permuted triangular - matrices - -2006-02-20 John W. Eaton - - * toplev.cc (__builtin_delete, __builtin_new): Use std::cerr for - messages instead of std::cout. - (main_loop, do_octave_atexit): Use octave_stdout, not std::cout. - -2006-02-15 John W. Eaton - - * parse.y (Fautoload): Return struct array of autoload info if - nargin == 0. - -2006-02-15 Keith Goodman - - * help.cc (keywords): Doc string fix. - -2006-02-15 John W. Eaton - - * oct-procbuf.cc (close): Use __CYGWIN__ instead of __CYGWIN32__. - -2006-02-13 David Bateman - - * DLD_FUNCTIONS/regexp.cc (octregexp): Add matlab compatiable - named tokens. Update the tests - -2006-02-10 John W. Eaton - - * lex.l (\[{S}*): Maybe set lexer_flags.looking_at_return_list or - lexer_flags.looking_at_matrix_or_assign_lhs here. - * parse.y - (return_list_beg): Don't use in_return_list here. - (assign_lhs, matrix): Don't use in_matrix_or_assign_lhs here. - (in_matrix_or_assign_lhs, in_return_list): Delete unused macros. - (matrix): Clear lexer_flags.looking_at_matrix_or_assign_lhs in all - cases. - -2006-02-09 John W. Eaton - - * utils.cc (oct_file_in_path): Check len > 4, not len > 2. - From Larrie Carr . - -2006-02-09 David Bateman - - * DLD-FUNCTIONS/spqr.cc: New file for sparse QR and dmperm based on - CSparse. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): dintinguish between - rectangular and singular matrices. Add tests. - * DLD-FUNCTIONS/luinc.cc: Add tests. - * DLD-FUNCTIONS/spkron.cc: Ditto. - * Makefile.in (DLD_XSRC): Add spqr.cc. - (OCT_LINK_DEPS): Add CSSPARSE_LIBS. - * sparse-xdiv.h: Remove conditio of lssolve. - -2006-02-08 John W. Eaton - - * parse.y (frob_function): Clear ID_NAME from top_level symbol - table if we are defining a function at the top-level and a - function with the same name is already in the top-level symbol - table. - -2006-01-31 John W. Eaton - - * ov-base-sparse.h (octave_base_sparse::nzmax): New function. - * ov.h (octave_value::nzmax): New function. - * ov-base.cc (octave_base_value::nzmax): New function. - * ov-base.h: Provide decl. - * data.cc (Fnzmax): New function. - * DLD-FUNCTIONS/sparse.cc (Fnzmax): Delete. - -2006-01-31 Kim Hansen - - * __glpk__.cc (F__glpk__): Fix for sparse matrices. - -2006-01-30 John W. Eaton - - * gripes.cc (gripe_wrong_type_arg (const char*, const char*, bool)): - New function. - (gripe_wrong_type_arg (const char*, const std::string&, bool)): - Define using const char*, const char*, bool version. - (gripe_wrong_type_arg (const char*, const octave_value&, bool)): - Define using const char*, const std::string&, bool version. - - * ov.h (octave_value::nnz): New function. - * ov-base.cc (octave_base_value::nnz): New function. - * ov-base.h: Provide decl. - * ov-base-mat.h (octave_base_matrix::nnz): New function. - * ov-base-scalar.h (octave_base_scalar::nnz): New function. - * Cell.cc (Cell::nnz): New function. - * Cell.h: Provide decl. - * data.cc (Fnnz): New function. - * DLD-FUNCTIONS/sparse.cc (Fnnz): Delete. - -2006-01-13 John W. Eaton - - * ov-struct.cc (octave_struct::print_raw): Correctly print scalar - structs and empty struct arrays. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (Fclearplot): For compatibility, - also turn off hold state for current figure. - -2006-01-13 Bill Denney - - * dirfns.cc: Add @seealso{} to docstrings. - -2006-01-13 John W. Eaton - - * help.cc (display_help_text): Use warning() to print raw Texinfo - source. Don't redirect error output for makeinfo process. - - * DLD-FUNCTIONS/__gnuplot_raw__.l (F__gnuplot_init__): Delete - function and PKG_ADD directive. - (gnuplot::gnuplot): Call do_init here. - (gnuplot::init): Delete static function. - (gnuplot::close_all): New static function. - (class gnuplot_X): New class. - (gnpulot_X::X): New static instance. - -2006-01-12 David Bateman - - * help.cc (make_name_list): Add autoload functions to list of - available completions. - (simple_help): Add autoloaded functions to functions listed - (first_help_sentence): Avoid issue with single line help string - that is not terminated in \n. - (Flookfor): Check for string match in the keyword/function, etc - name. Also look for string match in help of autoloaded functions. - Load oct-files to be able to access their help string. - * parse.y (string_vector autoloaded_functions (void)): New - function to list all autloaded functions. - (string_vector reverse_lookup_autoload (const std::string& nm)): - Reverse lookup function to match file to autoloaded functions. - * parse.h (autoloaded_functions, reverse_lookup_autoload): - Declaration. - - * oct-map.cc (maybe_delete_elements): New function. - * oct-map.h (maybe_delete_elements): Declare it. - * ov-struct.cc (octave_struct::subsref): Handle indexing empty - structure. - (octave_struct::subsasgn): If rhs is [], delete elements. - (octave_struct::print_raw): Handle printing empty structure. - - * ls-mat5.cc (read_mat5_binary_element): Allow reading of sparse - elements when nnz doesn't equal nzmax. - -2006-01-10 David Bateman - - * DLD-FUNCTIONS/sparse.cc (sparse_find): Use Sparse::nonzero() - rather than Sparse::nnz(), due to possibility of overallocation - of memory. - -2006-01-06 John W. Eaton - - * oct-map.cc (Octave_map::transpose): Avoid GCC 3.3.x parse error. - -2005-12-14 John W. Eaton - - * oct-stream.cc (octave_stream::invalid_stream_error): Delete. - * oct-stream.h (octave_stream::stream_ok): Don't fail with error. - -2005-12-14 David Bateman - - * DLD-FUNCTIONS/regexp.cc: New file. - - * DLD-FUNCTIONS/dispatch.cc: Update tests for string/sq_string - differences. - - * error.cc (Vquiet_warning): New variable. - (vwarning): Use Vquiet_warning to prevent warning output. - (Fwarning): Include "quiet" option to Fwarning function. - Assign retval when using "query". Typo in error message. - (Flastwarn): Clear warning_state when using Flastwarn to probe warning - message. - - * ov-struct.cc: Update Fstruct tests for change in error output. - - * Makefile.in: Include regexp when needed with appropriate libraries. - -2005-12-13 David Bateman - - * Makefile.in: Change references to gplot.l to __gnuplot_raw__.l. - * DLD-FUNCTIONS/__gnuplot_raw__.l: Rename from DLD-FUNCTIONS/gplot.l. - Remove all references to deprecated gplot, gsplot, graw, gset and - gshow functions. - * help.cc (static help_list keywords[]): Remove gsplot and gplot. - - * ls-oct-ascii.cc (save_three_d): Don't strip Inf or NaN. - (save_ascii_data_for_plotting): Ditto. - -2005-12-13 John W. Eaton - - * oct-stream.cc (octave_stream_list::do_insert): Check open state - of stream in list instead of whether stream state is OK. - -2005-12-12 David Bateman - - * OPERATORS/op-struct.cc (transpose): New function. - (install_struct_ops): Install it. - - * oct-map.cc (Octave_map::transpose): New function. - * oct-map.h: Provide decl. - -2005-12-08 John W. Eaton - - * Cell.cc (Cell::column): New function. - * pt-loop.cc (DO_ND_LOOP): Simplify. - (simple_for_loop_command::eval): Correctly handle N-d numeric and - cell arrays when only the first dimension is 0. - -2005-12-07 John W. Eaton - - * lex.l (NL): Also accept '\r'. - - * error.cc (Vbacktrace_on_warning, warning_options, - Vlast_warning_id, Vlast_error_id): New file-scope variables. - (Vwarning_frequency, Vwarning_option): Delete unused variables. - (set_warning_option): Delete unused function. - (Fwarning): Update for compatibility. Use DEFCMD, not DEFUN. - (warning_enabled, check_state): New functions. - (warning (const char *fmt, ...)): Use it. - (init_warning_options): New function. - (symbols_of_error): Call it. - (vwarning, Flastwarn): Handle Vlast_warning_id. Improve compatibility. - (handle_message): New arg, ID. Change all callers. - (vwarning, verror, error_1): New arg, ID. Change all callers. - (verror, Flasterr): Handle Vlast_error_id. Improve compatibility. - - * error.cc (message_with_id, usage_with_id, warning_with_id, - error_with_id, parse_error_with_id): New functions. - (error_2, warning_1, usage_1): New functions. - * error.h (message_with_id, usage_with_id, warning_with_id, - error_with_id, parse_error_with_id): Provide decls. - -2005-11-30 John W. Eaton - - * DLD-FUNCTIONS/schur.cc (Fschur): Doc string fix. - From Jorge Barros de Abreu . - -2005-11-28 John W. Eaton - - * syscalls.cc (Funame): New function. - -2005-11-21 John W. Eaton - - * pr-output.cc (pr_int): Fix thinko in byte-swapping for bit format. - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): - Use C++ static_cast instead of C-style casts. - -2005-11-21 William Poetra Yoga H - - * DLD-FUNCTIONS/cellfun.cc (Fcellfun): - Docstring and error message fixes. - -2005-11-17 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): Don't cast arg1 to - const octave_complex_matrix&. - -2005-11-16 John W. Eaton - - * Makefile.in (PKG_ADD.inst): New target. - (install-oct): Depend on it. - (clean): Remove it. - - * mk-pkg-add: New option --install. Don't use --prefix option. - Delete obsolete comments. - - * Cell.cc (Cell::index): Indexing with () is a no-op, not an error. - * oct-map.cc (Octave_map::index): Likewise. - * ov-base-mat.cc (octave_base_matrix::do_index_op): Likewise. - * ov-base-sparse.cc (octave_base_sparse::do_index_op): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): - Likewise. - -2005-11-11 John W. Eaton - - * Makefile.in (install-oct): Fix thinko in previous change. - - * version.h (OCTAVE_VERSION): Now 2.9.4 - (OCTAVE_API_VERSION): Now api-v17. - - * variables.cc (symbol_out_of_date): Check for autoloads here too. - - * Makefile.in (PKG_ADD): Depend on $(DLD_DEF_FILES), not $(DLD_SRC). - (%.df : %.cc): Also insert PKG_ADD commands in .df files. - (install-oct): Generate PKG_ADD file for install directory here. - Don't depend on PKG-ADD. No need to make .oct file links. - (clean): No need to delete links. - (stamp-oct-links): Delete target. - (distclean): No need to remove stamp-oct-links. - (all): Depend on $(OCT_FILES), not stamp-oct-links. - - * mk-pkg-add: New file. - * Makefile.in (DISTFILES): Add it to the list. - - * mk-oct-links: Delete. - * Makefile.in (DISTFILES): Remove it from the list. - -2005-11-10 John W. Eaton - - * ov-str-mat.h (octave_char_matrix_str::permute, - octave_char_matrix_str::resize): New functions. - (octave_char_matrix_sq_str::reshape, - octave_char_matrix_sq_str::permute, - octave_char_matrix_sq_str::resize): New functions. - - * OPERATORS/op-str-str.cc, OPERATORS/op-str-s.cc, - OPERATORS/op-str-m.cc: Use DEFNDCHARCATOP_FN. - - * data.cc (do_cat): No need to handle character arrays specially here. - - * ops.h (DEFNDCHARCATOP_FN): New macro. - * OPERATORS/op-int.h (OCTAVE_INT_CHAR_CONCAT_FN, - OCTAVE_CHAR_INT_CONCAT_FN, OCTAVE_INSTALL_INT_CHAR_CONCAT_FN, - OCTAVE_INSTALL_CHAR_INT_CONCAT_FN): New macros. - * OPERATORS/op-int-concat.cc: Use them do define char/int op functions. - (install_int_concat_ops): Install char/int concat ops. - - * ov-scalar.h (class octave_scalar): Provide extractors - for all int array types and char array type. - -2005-11-09 John W. Eaton - - * ov-bool-mat.h (class octave_bool_matrix): Provide extractors - for all int array types and char array type. - * ov-bool.h (class octave_bool): Likewise. - - * ov-intx.h (class OCTAVE_VALUE_INT_MATRIX_T): Provide extractors - for all int array types and char array type. - (class OCTAVE_VALUE_INT_SCALAR_T): Provide extractors for all int - scalar and array types and char array type. - - * pt-mat.cc (tm_const::class_nm): New data member. - (tm_const::tm_const): Initialize it. - (tm_const::class_name): New function. - (tm_row_const::tm_row_const_rep::class_nm): New data member. - (tm_row_const::tm_row_const_rep::tm_row_const_rep): Initialize it. - (tm_row_const::class_name): New function. - (get_concat_class): New function. - (tm_row_const::tm_row_const_rep::do_init_element): Use it. - (tm_const::init): Use it. - -2005-11-07 John W. Eaton - - * strfns.cc (Fstrcmp): If args are not strings or cell arrays of - strings, return false. - -2005-11-01 John W. Eaton - - * Makefile.in (oct-gperf.h): Avoid extra temporary file. - (distclean): Delete oct-errno.cc here. - From Quentin Spencer . - -2005-11-01 Quentin Spencer - - * DLD-FUNCTIONS/spchol.cc: Use C++ true/false instead of - preprocessor defined TRUE/FALSE. - * Makefile.in (DISTFILES): Add mk-errno-list to the list. - -2005-10-30 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (gnuplot::set_gnuplot_exe, - gnuplot::do_set_gnuplot_exe): New functions. - (gnuplot_binary): Call gnuplot::set_gnuplot_exe here. - - * DLD-FUNCTIONS/gplot.l (gnuplot::set_gnuplot_use_title_option, - gnuplot::do_set_gnuplot_use_title_option): New functions. - (gnuplot_use_title_option): - Call gnuplot::set_gnuplot_use_title_option here. - -2005-10-27 James R. Van Zandt - - * mappers.cc: Doc fix for lgamma. - * DLD-FUNCTIONS/gammainc.cc (Fgammainc): Doc fix. - -2005-10-27 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Declare mrowsA volatile. - - * pt-mat.cc (tm_row_const::tm_row_const_rep::tm_row_const_rep): - Ensure that we always have at least two dimensions here. - (tm_const::tm_const): Likewise. - (tm_const::rows, tm_const::columns): Simplify. - (tm_row_const::rows, tm_row_const::columns)): Simplify. - -2005-10-26 John W. Eaton - - * oct-procbuf.cc (octave_procbuf::open): Cast 0 to void * to avoid - new g++ warning. - * toplev.cc (Fsystem): Likewise. - - Changes for GCC 4.1, tip from Arno J. Klaassen - : - - * ov.h (do_unary_op (octave_value::unary_op, const octave_value&)): - Publish externally used friend function. - (do_unary_op (octave_value::unary_op, const octave_value&, - const octave_value&)): Likewise. - -2005-10-25 David Bateman - - * data.cc (do_cat): called with 2 args, should return args(1) - for compatibility. - -2005-10-23 David Bateman - - * Makefile.in (DLD_XSRC): Add spchol.cc. - * sparse-xpow.cc (xpow): Change call to sparse inverse to include - SparseType. - * DLD-FUNCTIONS/colamd.c (Fsymbfact): Remove. - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): 64-bit fixes and fix - for permutation of upper/lower triangular matrices. - * DLD-FUNCTIONS/splu.cc (Fspinv): Implemtation of sparse inverse - function. - * DLD-FUNCTIONS/spchol.cc (sparse_chol): Static function for core of - the sparse cholesky factorization. - (Fspchol): New function for sparse cholesky factorization R'R. - (Fsplchol): New function for sparse cholesky factorization LL'. - (Fspcholinv): New cholesky inverse function. - (Fspchol2inv): New cholesky inverse function. - (Fsymbfact): Implementation of symbolic factorization using cholmod. - -2005-10-21 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (read_until): Special case STRING. - (handle_string): Restore function. - ("'", "\""): Call handle string when matching these tokens.. - -2005-10-20 John W. Eaton - - * pt-mat.cc (tm_row_const::all_real): New data member. - (tm_row_const::all_real_p): New function. - (tm_row_const::tm_row_const_rep::all_real): New data member. - (tm_row_const::tm_row_const_rep::all_real_p): New function. - (tm_row_const::tm_row_const_rep::init): Set all_real and all_cmplx - to true here. - (tm_row_const::all_cmplx): Rename from is_cmplx. - (tm_row_const::all_complex_p): Rename from complex_p. - (tm_row_const::tm_row_const_rep::all_cmplx): Rename from is_cmplx. - (tm_row_const::tm_row_const_rep::all_complex_p): Rename from complex_p. - (tm_row_const::tm_row_const_rep::init): Set all_real and all_cmplx - to true here. - (SINGLE_TYPE_CONCAT): New macro. - (tree_matrix::rvalue): Use it for single type cases. - - * pt-mat.cc: Sprinkle with OCTAVE_QUIT. - -2005-10-18 John W. Eaton - - * octave.cc (octave_main): If not embedded, call clean_up_and_exit - instead of return to exit function. - -2005-10-18 Arno J. Klaassen - - * DLD-FUNCTIONS/gplot.l (gnuplot::handle_title): - Omit class name from declaration. - -2005-10-17 Keith Goodman - - * DLD-FUNCTIONS/sort.cc: Doc string fix. - -2005-10-17 John W. Eaton - - * oct-conf.h.in (OCTAVE_CONF_F77_FLOAT_STORE_FLAG): Substitute - OCTAVE_CONF_F77_FLOAT_STORE_FLAG here. - -2005-10-14 John W. Eaton - - * mk-errno-list: New script. - * Makefile.in (oct-errno.cc): Use it. - -2005-10-13 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (F__gnuplot_raw__): - Call print_usage with correct function name. - -2005-10-12 John W. Eaton - - * DLD-FUNCTIONS/gplot.l: Major cleanup. - Built-in variable gnuplot_has_frames no longer necessary. - (gnuplot): New class to manage multiple gnuplot processes. - (handle_string): Delete. It was only used for the case of - __gnuplot_plot__ "file", which is no longer allowed. - -2005-10-05 John W. Eaton - - * variables.cc (symbol_exist): Chekck for autoloaded functions. - - * parse.y (Fautoload): New function. - (autoloading, autoload_map): New static variables. - (load_fcn_from_file, frob_function): Handle autoloading. - (lookup_autoload): New function. - (get_help_from_file): New args, symbol_found and include_file_info. - Change all callers. - -2005-10-05 David Bateman - - * help.cc (try_info): format in command string for mingw. - -2005-09-30 John W. Eaton - - * ov.cc (octave_value::~octave_value): No need to set rep to zero - after deleting. - -2005-09-29 John W. Eaton - - * syscalls.cc (mk_stat_map): Store mode too. - (FS_ISREG, FS_ISDIR, FS_ISCHR, FS_ISBLK, FS_ISFIFO, FS_ISLNK, - FS_ISSOCK): New functions. - (Fstat): Fix docstring. - -2005-09-28 John W. Eaton - - * oct-stream.cc (printf_value_cache::double_value): Force - character strings to be converted to ASCII equivalents. - - * data.cc (Fcomplex): New function. - - * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Return arg unchanged if - class name is same as name of conversion. - - * dirfns.cc (Frmdir, Fmkdir): For compatibility, return true for - success and false for failure. Return third value, msgid. - (Frmdir): Handle second arg for recursive behavior. - -2005-09-23 John W. Eaton - - * parse.y (load_fcn_from_file): Don't look in path if file is - absolute and has .oct or .m extension. - - * utils.cc (Ferrno_list): New function. - - * oct-errno.h, oct-errno.cc.in: New files. - * Makefile.in: Add them to the appropriate lists. - (oct-errno.cc): New rule. - ($(OPT_HANDLERS)): Use $(PERL) instead of just perl. - - * utils.cc: Include oct-errno.h. - (Ferrno): Rename from FERRNO. Allow errno to be set. Allow - lookups of errno codes by name and access to structure containing - all errno names and codes. - -2005-09-19 John W. Eaton - - * pt-bp.cc (tree_breakpoint::visit_index_expression): - Avoid dereferencing invalid pointer. - -2005-09-19 David Bateman - - * Makefile.in (OCT_LINK_DEPS): Include UFsparse libraries. - - * DLD_FUNCTIONS/__glpk__.cc (F__glpk__): Replace isinf with - xisinf. Allow sparse matrices as second argument. - - * syscalls.cc: Typos. - * sysdep.cc: Typos. - -2005-09-16 John W. Eaton - - * syscalls.cc (Fwaitpid): Doc fix. Expect WNOHANG, WUNTRACED, - WCONTINUED as args instad of int values. - Return values are now [pid, status, msg] instad of [pid, msg]. - (WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, - WIFSTOPPED, WSTOPSIG, WIFCONTINUED): New functions. - (symbols_of_syscalls): DEFCONST WNOHANG, WUNTRACED, and WCONTINUE. - - * oct-procbuf.cc (octave_procbuf::close): Call octave_syscalls::waitpid - here instead of calling waitpid directly. - * sighandlers.cc (OCL_REP::wait): Likewise. - - * sysdep.h [__MINGW32__]: Don't define waitpid here. - -2005-09-15 John W. Eaton - - * sysdep.h [__MINGW32__]: Move to definition of waitpid sysdep.h. - - * sysdep.cc, sighandlers.cc: Rename all win32_ symbols to w32. - - * sysdep.cc (w32_set_quiet_shutdown): New function. - * sysdep.h: Provide decl. - * sysdep.cc (MINGW_signal_cleanup): Use it. - * sighandlers.cc (octave_catch_interrupts): Use it. - - * sysdep.h: Provide decl. - (MINGW_SIGNAL_CLEANUP): New macro. - (USE_W32_SIGINT): Move definition here. - * sighandlers.cc: From here. - - * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): Use print_usage, not usage. - * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd, Fetree): Likewise. - (Fcolamd, Fsymamd) [! HAVE_COLAMD]: Return empty octave_value_list - object. - - * sysdep.cc (sysdep_cleanup): New function. - Move w32 clean up code here. - * toplev.cc (clean_up_and_exit): From here. - Call sysdep_cleanup here. - -2005-09-15 David Bateman - - * Makefile.in (DLD_XSRC): Add ccolamd.cc - (OCTAVE_LIBS): Add LIBGLOB. - (OCT_LINK_DEPST, octave): Add AMD, COLAMD, CCOLAMD and CHOLMOD - libraries. - * default.cc (set_default_exec_path, set_default_path, - maybe_add_default_load_path, LOADPATH): Use SEPCHAR_STR and SEPCHAR. - * help.cc (display_help_text): Exclude /dev/null on mingw. - * oct-procbuf.cc (W32POPEN, W32PCLOSE): Macros for cygwin/mingw. - (octave_procbuf::open, octave_probuf::close): Use them. - * sighandler.cc (user_abort): New function with core of old - sigint_handler. - (sigint_handler): Simplify and specialize for w32. - (w32_sigint_handler): W32 version of sigint handler. - (octave_catch_interrupts): Initialize w32 siginit handler. - * sysdep.cc (MINGW_init): New function. - (sysdep_init): Use it. - * toplev.cc (clean_up_and_exit): Clean w32 signalling shutdown. - * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): New function. - * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Allow conditional build. - Include oct-sparse.h rather than colamd.h. - * DLD-FUNCTIONS/ccolamd.cc: New file with Fccolamd a Fcsymamd. - -2005-09-14 John W. Eaton - - * ov-complex.cc (octave_complex::try_narrowing_conversion): - Don't drop -0i. - * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): - Likewise. - -2005-09-14 Daniel - - * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/chol.cc, - DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fftw_wisdom.cc, utils.cc: - Doc string fixes. - From Jorge Barros de Abreu . - -2005-09-14 David Bateman - - * help.cc (Flookfor, print_lookfor, first_help_sentence): - New functions. - -2005-09-07 Bill Denney - - * dirfns.cc (Fglob): Doc fix. - -2005-09-07 John W. Eaton - - * ov-struct.cc (Fstruct): Allow struct (zeros (0, N)) to create a - 0xN struct array. - -2005-09-04 David Bateman - - * DLD-FUNCTIONS/colamd.c (COLAMD_NAME, SYMAMD_NAME): New macros - (symetree, make_set, link, finf, etdfs, TreePostorder, coletree, - Fcolamd, Fsymamd, Fetree): Update for 64-bit indexing and colamd - versin 2.4. - -2005-09-01 John W. Eaton - - * variables.cc (symbol_out_of_date): Don't check nested functions. - -2005-08-31 John W. Eaton - - * oct-map.cc (Octave_map::index): Don't crash if index list is empty. - * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): - Likewise. - - * oct-map.h (Octave_map::ndims): New function. - -2005-08-30 John W. Eaton - - * ov-range.h (octave_range::permute): New function. - - * ov-struct.cc (octave_struct::load_ascii, - octave_struct::load_binary, octave_struct::load_hdf5): Try harder - to read old-style files correctly. - -2005-08-25 David Bateman - - * OPERATORS/op-sm-m.cc, OPERATORS/op-sm-cm.cc, OPERATORS/op-scm-m.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-m-sm.cc, OPERATORS/op-m-scm.cc, - OPERATORS/op-cm-sm.cc, OPERATORS/op-cm-scm.cc: Use mixed matrix/sparse - multiply operator rather than casting sparse to matrix. - -2005-07-18 John W. Eaton - - * strfns.cc (Fstrcmp): New function from S�ren Hauberg - and Tom Holroyd . - Adapt to Octave conventions. - -2005-07-11 David Bateman - - * ov-fc-inline.cc (Fvectorize): Allow string arguments - -2005-07-08 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (Fhold, Fishold): Delete. - (clear_before_plotting): Delete static variable. - Delete PKG_ADD line for hold. - -2005-07-07 John W. Eaton - - * pr-output.cc (pr_plus_format): Delete "static" from template decl. - - * oct-stream.cc (octave_scan): Delete explicit instantiation of - octave_scan since a specialization is provided. - - * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Include - , for std::transform decl. Use std qualifier for - transform and tolower. - -2005-07-05 Antoine Moreau - - * DLD-FUNCTIONS/betainc.cc (Fbetainc): Fix doc string to match - function definition.. - -2005-07-05 Mats Jansson - - * file-io.cc (Fmkstemp): Check if second argument is true - before marking file for deletion. - -2005-07-05 John W. Eaton - - * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): - Rename from char_matrix_str::do_index_op. New arg, type. - ov-str-mat.h (octave_char_matrix_str::do_index_op): Define using - do_index_op_internal. - (octave_char_matrix_sq_str::do_index_op): New function. - -2005-07-01 John W. Eaton - - * parse.y (end_error): Also handle end_try_catch case. - -2005-06-17 John W. Eaton - - * help.cc (help_from_list, help_from_symbol_table, - help_from_file): New arg, symbol_found. - (builtin_help): Use symbol_found arg to determine whether help - text is empty or symbol is not available. - - * symtab.cc (symbol_record::print_info): Print more info. - - * DLD-FUNCTIONS/dispatch.cc (Fdispatch_help): Delete. - (dispatch_record): Don't prepend "<>" to help text. - (Fdispatch): Don't setup dispatched help. - - * help.cc (extract_help_from_dispatch): New function. - (help_from_symbol_table): Use it. - * defun.cc (print_usage): Use it. - - * toplev.cc (octave_config_info): Include localapifcnfiledir and - localapioctfiledir in the list. - - * symtab.h (symbol_record::alias): New arg, mark_to_clear. - (symbol_record::aliases_to_clear): New data member. - (symbol_record::push_alias_to_clear): New function. - * symtab.cc (symbol_record::alias): If mark_to_clear is true, push - this pointer on aliases_to_clear stack for s. - (symbol_record::clear): Also clear aliases_to_clear_stack. - - * defun.cc (install_dld_function): Create full file name alias in - fbi_sym_tab and hide it from view. - Don't call protect or make_eternal on sym_rec. - - * variables.cc (fcn_out_of_date): New function. - (symbol_out_of_date): Also check for symbol using full function - file name. - - * symtab.h (symbol_record::visible): New data member. - (symbol_record::hide, symbol_record::show, symbol_record::is_visible): - New functions. - - * symtab.h (symbol_record::maybe_delete_def): New private function. - * symtab.cc (symbol_record::clear, symbol_record::alias, - symbol_record::pop_context, - symbol_record::define (octave_function *, unsigned int)): Use it. - (symbol_table::symbol_list): Only include visible symbols in list. - - * parse.y (frob_function): Hide nested function names. - - * parse.y (frob_function): Create full file name alias in - fbi_sym_tab and hide it from view. - * defun.cc (install_dld_function): Likewise. - -2005-06-16 John W. Eaton - - * ov-dld-fcn.cc (octave_dld_function): Check Voct_file_dir to see - if function is system file, Vfcn_file_dir. - * defaults.cc (set_default_oct_file_dir): New function. - (install_defaults): Call it. - (Voct_file_dir): New global variable. - * defaults.h.in (Voct_file_dir): Provide decl. - - * variables.cc (function_out_of_date_internal): Use - Vignore_function_time_stamp only to avoid calling stat. - (symbol_out_of_date): Don't check Vignore_function_time_stamp here. - (function_out_of_date): Rename from function_out_of_date_internal. - - * defaults.cc (loadpath): Don't do anything if value is unchanged. - If loadpath changes, also update Vlast_prompt_time. - -2005-06-14 John W. Eaton - - * pt-mat.cc (Vwarn_string_concat): Default value now false. - (symbols_of_pt_mat): Change initial value here as well. - - * ls-mat5.cc, mappers.cc, oct-stream.cc, pr-output.cc: Change all - uses of octave_is_NaN_or_NA to xisnan. - -2005-06-14 Keith Goodman - - * input.cc (get_user_input): Renamed debug commands to dbnext, - dbstep, and dbcont. - * pt.cc: Renamed dbg_next to dbnext in comment string. - * pt.h: Renamed dbg_next to dbnext in comment string. - -2005-06-14 David Bateman - - * pt-arg-list.cc (F__end__): Return 1 for dimensions larger than ndim. - -2005-06-14 John W. Eaton - - * ls-mat5.cc (save_mat5_array_length): Special case for NaN, NA, - and Inf values. Only check if abs value is greater than FLT_MAX. - -2005-06-09 David Bateman - - * ls-mat5.cc (save_mat5_element_length): 1 element strings will be - saved in a compressed format, so calculate the length accordingly. - -2005-05-30 David Bateman - - * ls-mat5.cc (read_mat5_binary_element): Don't convert to string - if matrix is not of type mxCHAR_CLASS. - -2005-05-23 John W. Eaton - - * file-io.cc (Ffopen): Don't fail with internal error message if - we fail to create a valid stream object. - (do_stream_open (const std::string&, const std::string&, - const std::string&, int&): Always create octave_stream object, - even if file pointer returne from fopen is 0. - - * load-save.cc (gripe_file_open): New function. - (get_file_format, Fload, Fsave): Use it. - - * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Return - appropriately sized empty values for empty args. - - * debug.cc (Fdbwhere, get_user_function): Look at - curr_caller_function, not curr_function, since function is now set - inside mapper, built-in (and therefore dld) functions too. - -2005-05-21 John W. Eaton - - * pr-output.cc, pr-output.h (Vprint_empty_dimensions): Now extern. - * ov-cell.cc (octave_cell::print_raw): Conditionally print - dimensions of empty 2-d cell arrays. - - * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Return empty - values for empty args. - - * lex.l (handle_string): If single-quote string, \ and . have no - special meaning. - -2005-05-18 John W. Eaton - - * pt-colon.cc (tree_colon_expression::make_range): Don't require - scalars values as range components. - - * version.h (OCTAVE_VERSION): Now 2.9.3 - (OCTAVE_API_VERSION): Now api-v16. - - * ov-base-sparse.cc (octave_base_sparse::print_raw): - Make spacing of output consistent with other parts of Octave. - - * DLD-FUNCTIONS/rand.cc (do_rand): Chop trailing singelton - dimensions before generating array. - -2005-05-17 John W. Eaton - - * ov.cc (install_types): Don't call octave_stream::register_type. - * ov.h, ov.cc (octave_value::octave_value (const octave_stream&, - int): Delete constructor. - (octave_value::is_stream, octave_value::stream_value, - octave_value::stream_number): Delete functions. - * ov-base.h (octave_base_value::is_stream): Delete function. - * ov-base.h, ov-base.cc (octave_base_value::stream_value, - octave_base_value::stream_number): Delete functions. - * file-io.cc (Fisstream): Delete function. - * op-file.h, op-file.cc, OPERATORS/op-fil-sbm.cc, - OPERATORS/op-fil-scm.cc, OPERATORS/op-fil-sm.cc, - * OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, - OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, - OPERATORS/op-fil-m.cc, OPERATORS/op-fil-s.cc, - OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-rec.cc, - OPERATORS/op-fil-str.cc: Delete files. - * Makefile.in (OP_XSRC, SPARSE_OP_XSRC): Delete op-fil-*.cc from - the lists. - (OV_INCLUDES): Delete op-file.h from the list. - (OV_SRC): Delete op-file.cc from the list. - * oct-stream.cc, oct-stream.h (octave_stream_list::insert, - octave_stream_list::do_insert): Return stream number instead of - octave_value. - -2005-05-16 David Bateman - - * ls-mat.cc (save_mat5_binary_element): Increase size of - compression buffer. - (load_mat5_binary_element): Allow ASCII encoded as UTF8, - and give error messages for multi-byte UTF8 and UTF16 and UTF32 - encodings. - - * ls-hdf5.h (H5T_NATIVE_IDX): New macro defining native indexing - type for HDF5 files - - * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): Use - H5T_NATIVE_IDX to allow 64-bit indexing. - * ov-bool-sparse.cc (save_hdf5, load_hdf5): ditto. - * ov-re-sparse.cc (save_hdf5, load_hdf5): ditto. - * ov-cx-sparse.cc (save_hdf5, load_hdf5): ditto. - * ov-cell.cc (save_hdf5, load_hdf5): ditto. - - * load-save.cc (parse_save_options): Remove -nozip option. - (Fsave): If user defines file format, ignore completely the default - file format options. - -2005-05-12 John W. Eaton - - * Makefile.in (oct-gperf.h): Try harder to cause Make to exit here - if gperf is missing or fails to create a valid file. - -2005-05-10 John W. Eaton - - * lex.l ({SNLCMT}*\]{S}*): If whitespace was gobbled, - unput SPC before returning the token. - ({SNLCMT}*\}{S}*): Likewise. - -2005-05-09 John W. Eaton - - * parse.y (except_command): Make catch clause optional in try - statements. - * pt-except.cc (tree_try_catch_command::eval): - Always buffer error messages. - -2005-05-06 John W. Eaton - - * ov-struct.cc (octave_struct::save_ascii, - octave_struct::save_binary, octave_sruct::save_hdf5): - Always save cell array. - (octave_struct::load_ascii, octave_struct::load_binary, - octave_sruct::load_hdf5): Try to read old-style files correctly. - - * DLD-FUNCTIONS/__qp__.cc (qp): Use chol2inv to compute inverse - from Cholesky factors. - (cholinv): Delete. - - * DLD-FUNCTIONS/chol.cc (Fcholinv): New function. - (Fchol2inv): New function. - -2005-05-05 Keith Goodman - - * ov-usr-fcn.cc (Fnargout, Fnargin): Update doc strings. - * help.cc (keywords): Update doc strings for varargin, varargout. - -2005-05-05 John W. Eaton - - * oct-stream.cc (BEGIN_S_CONVERSION): Correctly handle width - specifiers. - -2005-05-04 John W. Eaton - - * ls-mat5.cc (read_mat5_binary_element): Implement reading of N-d - structure arrays. - - * ov-struct.cc (octave_struct::load_hdf5, - octave_struct::load_binary, octave_struct::load_ascii): Assign - cell_value to map slot, not octave_value containing the cell. - -2005-05-02 John W. Eaton - - * error.cc (Flasterr): Don't access argv if an error occurs when - creating it. - - * mkgendoc (main): Print header message. - -2005-05-02 Bill Denney - - * data.cc, defaults.cc, DLD-FUNCTIONS/qz.cc, file-io.cc, - sighandlers.cc, syscalls.cc: Docstring fixes. - -2005-05-02 John W. Eaton - - * pr-output.cc (octave_print_internal (std::ostream&, - const Range&, bool, int)): Don't print newline at end of broken - rows (that is handled by pr_col_num_header). - From Keith Goodman . - - * Makefile.in (octave$(EXEEXT)): List $(UMFPACK_LIBS) ahead of - $(BLAS_LIBS). - (OCTAVE_LIBS): Include $(GLPK_LIBS) in the list if dynamic linking - is not enabled. - From Dmitri A. Sergatskov . - -2005-05-02 John W. Eaton - - * oct-map.h, oct-map.cc (Octave_map::seek, Octave_map::contents): - New non-const versions. - (Octave_map::assign (const octave_value_list&, - const std::string&, const Cell&)): Allow both tmp RHS and LHS to - be resized. For clarity, always resize to new_dims. - -2005-05-02 David Bateman - - * ov-re-sparse.cc, ov-cx-sparse.cc (load_binary): read save_type into - one byte variable. - -2005-04-29 John W. Eaton - - * oct-stream.cc (DO_LITERAL_CONVERSION): Cast fmt[i] to unsigned - char for comparison. - - * c-file-ptr-stream.h (c_file_ptr_stream): New template class, - converted from i_c_file_ptr_stream. - (i_c_file_ptr_stream, o_c_file_ptr_stream, io_c_file_ptr_stream): - Now typedefs. - (i_c_zfile_ptr_stream, o_c_zfile_ptr_stream, io_c_zfile_ptr_stream): - New typedefs. - * c-file-ptr-stream.h, c-file-ptr-stream.cc (c_zfile_ptr_buf): - New class. - - * oct-stdstrm.h (class octave_tstdiostream): New template class, - converted from octave_stdiostream. - (octave_stdiostream): Now a typedef. - [HAVE_ZLIB] (octave_zstdiostream): New a typedef. - * oct-stdstrm.cc: Delete. - * Makefile.in (DIST_SRC): Remove it from the list. - -2005-04-29 David Bateman - - * Makefile.in: Add matrix_type.cc and spkron.cc to DLD_XSRC. - - * ls.mat.cc (read_mat5_binary_element): Allow for endian change - for compressed data elements. - - * ov-base-sparse.cc (assign): Invalidate matrix type. - - * ov-base-sparse.cc (SparseType sparse_type (void), - SparseType sparse_type (const SparseType&): - Functions to read and set sparse matrix type. - - * ov-bool-sparse.cc (load_binary): Remove third argument. - (load_hdf5): Cast hsize_t comparisions with int to avoid warning. - * ov-cx-sparse.cc (load_hdf5): Ditto. - * ov-re-sparse.cc (load_hdf5): Ditto. - - * ov-re-sparse.cc (convert_to_str_internal): Add third argument - for string type. - * ov-re-sparse.h (convert_to_str_internal): Adject declaration. - - * sparse-xdiv.cc (xdiv, xleftdiv): Pass SparseType as third - argument, use it and return it to allow caching of type. - * sparse-xdiv.h (xdiv, xleftdiv): Change declarations for third - argument of type SparseType. - - * DLD-FUNCTIONS/luinc.cc (Fluinc): Use type_name and not - class_name to test for real/complex sparse matrices. - Set matrix type. - - * DLD-FUNCTIONS/splu.cc (Fsplu): Set matrix type. - - * OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, - OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, - OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, - OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc (div, ldiv): - Pass and recache SparseType wirh xdiv/xleftdiv. - -2005-04-29 John W. Eaton - - * file-io.cc (maybe_warn_interface_change): Delete function. - (fopen_mode_to_ios_mode): Don't call it. - -2005-04-27 John W. Eaton - - * ov-fcn-handle.cc (octave_fcn_handle::subsref): - Check whether function referenced by handle is out of date. - (Ffunctions): Tag nameless user function as "command-line". - - * variables.cc (symbol_out_of_date (octave_fucntion *)): New function. - (function_out_of_date): New function. - * parse.y (load_fcn_from_file (const std::string&, bool)): - New function. - - * DLD-FUNCTIONS/gplot.l (gnuplot_init): New function to handle - initialization. If builtin variables have already been installed, - simply update our cached values. - (F__gnuplot_init__): Call gnuplot_init to do all the real work. - (Fclearplot, Fcloseplot, Fhold, Fishold, Fpurge_tmp_files, - F__gnuplot_raw__, F__gnuplot_set__, F__gnuplot_plot__, - F__gnuplot_splot__, F__gnuplot_replot__, Fgplot, Fgsplot, Fgraw, - Fgset, Fgshow): Call gnuplot_init before doing anything. - - * parse.y: (safe_fclose): Delete comment list to avoid memory leak. - (parse_and_execute (FILE *)): Also save and restore global_command. - -2005-04-26 John W. Eaton - - * mkbuiltins (VAR_FILES): Expect $(VAR_FILES) to have .df suffix. - - * Makefile.in (clean): Also remove $(DLD_PICOBJ). - Use mk-oct-links --delete to remove links to .oct files. - Remove $(DOC_FILES) not $(DEF_FILES) and $(VAR_FILES). - - * mk-oct-links (mk-oct-links): Handle --delete option. - Rename -p option to be --print. Skip nonexistent .df files. - -2005-04-25 John W. Eaton - - * oct-hist.cc (default_history_file, default_history_size): Now static. - * oct-hist.h: Delete decls. - - * oct-hist.cc (default_history_timestamp_format, - default_history_timestamp_format): New functions. - (Vdefault_history_timestamp_format): New variable. - (symbols_of_oct_hist): DEFVAR it. - (octave_history_write_timestamp): New function. - * oct-hist.h (octave_history_write_timestamp): Provide decl. - * toplev.cc (): call octave_history_write_timestamp here. - * octave.cc (maximum_braindamage): - Bind history_timestamp_format_string here. - -2005-04-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.9.2. - (OCTAVE_API_VERSION): Now api-v15. - - * pager.cc (default_pager): Also append -X. - - * DLD-FUNCTIONS/dispatch.cc (Fdispatch): Dispatch help on "string" - and "sq_string" types. - (dispatch_record): Add extra space to force new paragraph after - each dispatched function name if we are formatting with Texinfo. - Force noindent of preceding "Overloaded function:" tag. - -2005-04-21 John W Eaton - - * ls-mat5.cc (read_mat5_binary_element): Only read sparse matrix - values if sizeof (int) == sizeof (octave_idx_type). - - * DLD-FUNCTIONS/colamd.cc: These functions only work if - sizeof (int) == sizeof (octave_idx_type). - - * Makefile.in (parse.cc): Expect 14 shift/reduce conflicts. - - * parse.y (USING TITLE WITH AXES COLON OPEN_BRACE CLEAR): - Delete unused tokens. - - * DLD-FUNCTIONS/__qp__.cc (qp): Use octave_idx_type where needed. - - * DLD-FUNCTIONS/__qp__.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2005-04-20 John W. Eaton - - * lex.l (IDENT): Allow $ in identifiers. - * utils.cc (valid_identifier): Likewise. - -2005-04-19 John W. Eaton - - * toplev.cc (Fsystem): Move enum exec_type declaration to file - scope and rename system_exec_type. Change all uses. - -2005-04-14 David Bateman - - * load-save.cc (Vdefault_save_format, Voctave_core_file_format): - Delete variables. - (Vdefault_save_options, Voctave_core_file_options): New variables. - (get_save_format): Delete function. - (parse_save_options (const string_vector&, ...), - parse_save_options (const std::string&, ...)): New functions. - (dump_octave_core): Allow save_as_floats to be used. - (dump_octave_core): Parse save options. - (Fsave): Split parsing of options, and default formats. - (default_save_format): Delete function and DEFVAR. - (default_save_options): New function. DEFVAR it. - (octave_core_file_format): Delete function and DEFVAR. - (octave_core_file_options): New function. DEFVAR it. - - * octave.cc (default_save_format): Delete binding - (default_save_options): New bindings - - * Makefile.in: Add luinc.cc to DLD_XSRC. - * DLD-FUNCTIONS/luinc.cc: New file for incomplete LU factorization. - - * ov-bool-sparse.h (index_vector): New function. - * ov-re-sparse.cc (index_vector): Ditto. - * ov-re-sparse.h (index_vector): Definition. - - * ov-mapper.cc (any_element_less_than, any_element_greater_than): - New versions for SparseMatrix - (SPARSE_MAPPER_LOOP_2, SPARSE_MAPPER_LOOP_1, SPARSE_MAPPER_LOOP): - New macros. - (octave_mapper::apply): Add special cases for sparse arguments to - the mapper functions - - * ov-re-sparse.cc (streamoff_array_value): Use octave_idx_type. - (convert_to_str_internal): New function. - * ov-re-sparse.h (convert_to_str_internal): Definition. - - * DLD-FUNCTIONS/sparse.cc (Fsparse): More care for nargin=2 case. - - * DLD-FUNCTIONS/splu.cc (Fsplu): Use octave_idx_type. - -2005-04-14 John W. Eaton - - * strfns.cc (Fchar): If arg is a dq string, return a dq string. - - * pt-mat.cc (Vwarn_string_concat): New static variable. - (symbols_of_pt_mat): DEFVAR it. - (warn_string_concat): New function. - (maybe_warn_string_concat): New function. - (tree_matrix::rvalue): If all args are single quoted strings, - create a single quoted string object. If all args are strings - (any type), create a double quoted string object. If a mixture of - string types, maybe warn. - (class tm_row_const, class tm_row_const_rep, class tm_const): - Note whether all values are double or single quoted strings. - - * ov.h (octave_value::is_dq_string): New function. - -2005-04-13 John W. Eaton - - * strfns.cc (Fchar): Create sq_string objects here. - -2005-04-12 John W. Eaton - - * file-io.cc (Ffprintf, Fprintf, Fsprintf): - Pass octave_value to octave_stream::printf for FMT. - (Fscanf, Fsscanf): Likewise, for octave_stream::scanf and - octave_stream::oscanf. - - * oct-stream.cc, oct-stream.h (octave_stream::printf, - octave_stream::scanf, octave_stream::oscanf): New versions that - accept an octave_value for FMT. - (octave_stream::puts): New version that accepts octave_value for - value to print. - (octave_base_stream::do_scanf): If all_char_conv, force - conversion to string to avoid warning. - - * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_sq_str): New class. - (octave_char_matrix_dq_str): New typedef. - - * ov.h, ov.cc: All string constructors now take type argument. - - * ov.cc (install_types): Register octave_char_matrix_sq_str. - - * ov.h (octave_value::convert_to_str): New arg, type. - (octave_value::convert_to_str_internal): Likewise. - Change all derived classes. - - * ov.h (octave_value::is_sq_string): New predicate. - - * octave.gperf (__FILE__): Now a DQ_STRING. - - * ls-mat4.cc (read_mat_binary_data): Force sq strings here. - * ls-mat5.cc (read_mat5_binary_element): And here. - - * lex.l ([\;\,]): Return SQ_STRING, not STRING. - ([^#% \t\r\n\;\,\"\'][^ \t\r\n\;\,]*{S}*): Likewise. - (handle_string): Type of string to return depends on delimeter. - - * parse.y (DQ_STRING, SQ_STRING): New token types. - (STRING): Delete token type. - (string): New non-terminal. - (constant): Recognize string here instead of STRING. - (word_list): Likewise. - (opt_sep): Handle DQ_STRING and SQ_STRING. - - * OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, - OPERATORS/op-str-str.cc: Define operators for both sq and dq - strings. - -2005-04-08 John W. Eaton - - * Makefile.in (clean): Use exact filenames instead of *.xxx. - Also remove PKG_ADD. - (DISTFILES): Add gplot.cc to the list. - (maintainer-clean): Remove gplot.cc here. - - * Initial merge of 64-bit changes from Clinton Chee: - - 2005-04-07 John W. Eaton - - * ls-oct-ascii.h, ls-oct-ascii.cc (extract_keyword): Now template - functions defined in the header file. - - * ls-mat5.cc, ov-base-sparse.h, ov-base.h, ov-bool-sparse.cc - ov-cx-sparse.cc, ov-re-sparse.cc, ov.cc, pt-loop.cc, - sparse-xdiv.cc, sparse-xpow.cc, DLD-FUNCTIONS/sparse.cc, - DLD-FUNCTIONS/spdet.cc: - Use octave_idx_type instead of int where needed. - - 2005-03-31 Clinton Chee - - * Cell.cc, Cell.h, data.cc, defaults.cc, dirfns.cc, file-io.cc, - gripes.cc, gripes.h, ls-mat-ascii.cc, ls-mat4.cc, ls-oct-ascii.cc, - oct-map.cc, oct-map.h, oct-obj.cc, oct-obj.h, oct-stream.cc, - oct-stream.h, octave.cc, ops.h, ov-base-mat.cc, ov-base.h, - ov-bool-mat.cc, ov-cell.cc, ov-cs-list.cc, ov-cx-mat.cc, - ov-intx.h, ov-list.cc, ov-mapper.cc, ov-range.cc, ov-range.h, - ov-re-mat.cc, ov-scalar.h, ov-str-mat.cc, ov-struct.cc, ov.cc, - ov.h, pr-output.cc, pt-arg-list.cc, pt-cell.cc, pt-loop.cc, - pt-mat.cc, pt-select.cc, symtab.h, utils.cc, utils.h, xdiv.cc, - xpow.cc: - Use octave_idx_type instead of int where needed. - - 2005-04-01 John W. Eaton - - * toplev.cc (octave_config_info): Add USE_64_BIT_IDX_T to the list. - * oct-conf.h.in (OCTAVE_CONF_USE_64_BIT_IDX_T): Substitute here. - - 2005-03-31 John W. Eaton - - * DLD-FUNCTIONS/sort.cc: Don't use unsigned int for index into - dim_vector, or cast dim to unsigned int. - (Fsort): No need to cast arg before asking for dims. - - * DLD-FUNCTIONS/gcd.cc (Fgcd): Use OCTAVE_LOCAL_BUFFER to allocate - local array of NDArray objects. - - 2005-03-31 Clinton Chee - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colloc.cc, - DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, - DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/det.cc, - DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/expm.cc, DLD-FUNCTIONS/fft.cc, - DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, - DLD-FUNCTIONS/fftw_wisdom.cc, DLD-FUNCTIONS/filter.cc, - DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/fsolve.cc, - DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/inv.cc, - DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lu.cc, - DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/quad.cc, - DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, - DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/sort.cc, - DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, - DLD-FUNCTIONS/syl.cc: - Use octave_idx_type instead of int where needed. - -2005-04-06 David Bateman - - * Makefile.in: Link to UMFPACK_LIBS. Add zfstream.{cc,h} to build and - dist files. - - * zfstream.cc: New file for C++ binding for fstream like class for - zlib. - - * zfstream.h: Definition for fstream like C++ bindings to zlib. - - * load-save.cc (static bool check_gzip_magic (const std::string&)): - New function to look for GZIP magic - (static load_save_format get_file_format (const istream &file)): New - function split from old get_file_format but passed istream to allow - use with zlib istream. - (static load_save_format get_file_format (const std::string&, - const std::string&, bool)): Modify the test uncompressed file first, - then compressed version - (Fload) Allow -v6, -6, -v7 and -7 options. Split load code to allow - use of zlib. - (Fsave) Allow -zip, -z, -v6, -6, -v7 and -7 options. Split save code - to allow use of zlib. - - * load-save.h: add LS_MAT7_BINARY to load_save_format enum - - * ls-mat5.cc (read_mat5_binary_element): Test for miCOMPRESSED flag for - matlab v7 files, and decompress data in memory. Allow reading of matlab - logical variables either in mxDOUBLE_CLASS or mxUINT8_CLASS. - (int save_mat5_array_length(const double*, ...): New function to - calculate number of bytes used to save NDArray. - (int save_mat5_array_length(const Complex*, ...): New function to - calculate number of bytes used to save ComplexNDArray. - (int save_mat5_element_length): New function to find number of bytes - needed to save data element. - (save_mat5_binary_element): New input arguments, mat7_format and - compressing, that define if we are in a matlab v7 format and where we - are currently compressing the data element. If mat7_format use - miCOMPRESSED flag for matlab v7 files, and compress data in memory. - Add capability to save logical variables as mxUINT8_CLASS. If v7 - format maximum variable length is 63 characters and not 31. Use the - save_mat5_element_length function to pre-calculate the number of bytes - taken by a variable rather than use a negative seek to correct after - writing (zlib can't do negative seeking) - - * ls-mat5.h: Add to miCOMPRESSED, miUTF8, miUTF16 and miUTF32 flags to - the enum mat5_data_type. - (save_mat5_binary_element): Add args mat7_format and compressing to the - definition. - -2005-04-06 John W. Eaton - - * OPERATORS/op-scm-scm.cc: Delete #pragma implementation. - -2005-04-05 John W. Eaton - - * ov-ch-mat.h (octave_char_matrix::index_vector): New function. - - * oct-stream.cc (BEGIN_C_CONVERSION): Clear stream state if - we hit EOF after we read something. - - * pt-assign.cc (tree_multi_assignment::rvalue): - Allow assignments of the form [a,b,c] = x{:}. - -2005-03-30 John W. Eaton - - * mappers.cc (install_mapper_functions): Use std:: as needed. - * defun-int.h (DEFUN_MAPPER_INTERNAL): Don't use X_CAST on - function pointer args. - - * ov-complex.cc, ov-cx-mat.cc, xpow.cc, ls-mat5.cc: Use std:: for - Complex functions instead of relying on wrappers from oct-cmplx.h. - - * oct-stream.cc (octave_scan): Initialize c1 to EOF. - -2005-03-29 John W. Eaton - - * utils.cc (get_dimensions): Produce error instead of warning if - given a matrix argument. - - * load-save.cc (Fload, Fsave): Also accept -V4 option. - - * ls-hdf5.h (hdf5_fstreambase::hdf5_fstreambase, - hdf5_fstreambase::open): Use & instead of == to test whether mode - is std::ios::in or std::ios::out. - (hd5_ifstream::istream, hd5_ifstream::open, hd5_ofstream::istream, - hd5_ofstream::open): Default mode now includes binary flag. - -2005-03-28 John W. Eaton - - * oct-stream.cc (octave_stream::write): For compatibility, Write - zeros instead of seeking if SKIP is nonzero. - - * DLD-FUNCTIONS/gplot.l (Fgraw): Recommend __gnuplot_raw__, not - __gnuplot__raw__. - (Fgshow): Recommend __gnuplot_show__, not __gnuplot__show__. - Don't add "mark_as_rawcommand ("replot")" to PKG_ADD file. - -2005-03-26 John W. Eaton - - * input.cc (gnu_readline): Don't wrap call to command_editor::readline - with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. - -2005-03-25 John W. Eaton - - * toplev.cc (main_loop): Don't use octave_set_current_context here. - - * pt-loop.cc (simple_for_loop::eval): In for i = matrix ... end, - skip loop if matrix is empty. Likewise for cell arrays. - -2005-03-24 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Texinfoize doc string. - - * Makefile.in (install-oct): Always create $(octfiledir) and - install PKG_ADD file there. - - * octave.cc (octave_main): Fix logic in test for exit after - evaluating --eval option code. - -2005-03-23 John W. Eaton - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Require 9 arguments. - Print error messages and return early if value extractions fail. - Default for message level now 0. - Rename local variable error to be errnum. - (glpk_fault_hook): Call message instead of writing to octave_stderr. - (glpk_fault_hook): Call error instead of writing to octave_stderr. - (glpk): Likewise. - Declare mark static. Delete declaration of fperr. - (glpk): Delete unnecessary casts. - - * DLD-FUNCTIONS/__glpk__.cc (OCTAVE_GLPK_GET_REAL_PARAM, - OCTAVE_GLPK_GET_INT_PARAM): New macros. - (F__glpk__): Use them. - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Accept lpsolver and - save_pb in param arg instead of as separate args. - Arg list now matches new interface for glpk.m. - Don't return lambda and redcosts fields in extra if isMIP. - - * toplev.cc (do_octave_atexit): Call reset_error_handler before - each call to feval. - -2005-03-22 John W. Eaton - - * Makefile.in: Add special rule for __glpk__.oct. - - * toplev.cc (octave_config_info): Add GLPK_LIBS to the list. - * oct-conf.h.in (OCTAVE_CONF_GLPK_LIBS): Substitute here. - - * DLD-FUNCTIONS/__glpk__.cc (F__glpk__, glpk): - Adapt to Octave coding style. - (glpk): Move decls closer to first use. - (F__glpk__): Eliminate unnecessary loop seting inf values. - Ensure that isMIP is initialized. - Declare sense, nz, and isMIP volatile to avoid GCC warnings that - these variables might be might be clobbered by `longjmp' or `vfork' - - * DLD-FUNCTIONS/__glpk__.cc: New file. - - * Makefile.in (DLD_XSRC): Add it to the list. - -2005-03-21 John W. Eaton - - * octave.cc (maximum_braindamage): - Don't set warn_matlab_incompatible to true. - -2005-03-17 John W. Eaton - - * lex.l (class bracket_brace_paren_nesting_level): Use static - const int members instead of anonymous enum. - -2005-03-16 John W. Eaton - - * ov-struct.cc (octave_struct::save_ascii): Don't convert Cell - object to cs-list. - (octave_struct::save_binary): Likewise - (octave_struct::save_hdf5): Likewise. - - * DLD-FUNCTIONS/gplot.l (Fset, Fshow): Delete. - (F__gnuplot_plot__): Rename from Fgplot. - (F__gnuplot_splot__): Rename from Fgsplot. - (F__gnuplot_raw__): Rename from Fgraw. - (F__gnuplot_set__): Rename from Fgset. - (F__gnuplot_show__): Rename from Fgshow. - (F__gnuplot_replot__): Rename from Freplot. - (WARN_DEPRECATED, DEPRECATED_BODY): New macros. - (Fgplot, Fgsplot, Fgraw, Fgset, Fgshow): New functions. - -2005-03-15 John W. Eaton - - * lex.l ({NL}): Reset lexer_flags.doing_rawcommand - state here. - - * version.h (OCTAVE_API_VERSION): Now 2.9.0. - (OCTAVE_API_VERSION): Now api-v14. - - * Makefile.in (INCLUDES): Delete sparse-ops.h from the list. - - * cellfun.cc: New function from Octave-forge. Adapt to Octave - coding standards. - * Makefile.in (DLD_XSRC): Add it to the list. - -2005-03-14 John W. Eaton - - * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Avoid crash if symbol - lookup fails. - -2005-03-10 John W. Eaton - - * toplev.cc (Foctave_config_info): Print error instead of crashing - if struct does not contain field we are looking for. - -2005-03-09 John W. Eaton - - * load-save.cc (Fload, Fsave): Accept -text as an alias for -ascii. - Issue warning for future change in meaning of -ascii. - - * Makefile.in (bin-dist): Delete target. - (BINDISTFILES, BINDISTLIBS): Delete variables. - -2005-03-04 John W. Eaton - - * octave.cc (octave_main): Concatenate all --eval arguments. - -2005-03-03 John W. Eaton - - * input.cc (input_from_command_line_file): Move definition here. - * parse.y: From here. - * input.h (input_from_command_line_file): Move decl here. - * parse.h: From here. - - * input.cc (octave_gets): - Don't save history if input is from command line file. - - * parse.y (parse_and_execute, parse_fcn_file, eval_string): - Don't alter value of input_from_command_line_file here. - (input_from_command_line_file): Default value is false. - (eval_string): Turn off line editing here. - - * toplev.cc, toplev.h (main_loop): Delete fun_to_call arg and all uses. - - * octave.cc (fun_to_call): Delete static variable. - (persist, code_to_eval): New static variables. - (long_opts): Delete --funcall, add --eval and --persist. - (usage_string, verbose_usage, octave_main): Likewise. - (FUNCALL_OPTION): Delete. - (EVAL_OPTION, PERSIST_OPTION): New macros. - (maximum_braindamage): Set persist to true. - (execute_eval_option_code): New function. - (restore_program_name): New function. - (execute_command_line_file): New function. - (octave_main): Call execute_eval_option code and - execute_command_line file. If persist, go interactive even after - evaluating --eval code and/or command-line file. - - * ov-bool-sparse.h, ov-bool-sparse.cc - (octave_sparse_bool_matrix::sparse_matrix_value, - octave_sparse_bool_matrix::sparse_complex_matrix_value): - Accept bool arg. - - * parse.y (looks_like_copyright): Check first 9 characters, not 14. - -2005-03-02 John W. Eaton - - * oct-stream.cc (octave_scan (std::istream&, const - scanf_format_elt&, double*)): New specialization to handle Inf, - NaN, and NA. - - * parse.y (looks_like_copyright): - Rename from looks_like_octave_copyright. Change all uses. - Simply match "Copyright". - -2005-03-01 John W. Eaton - - * DLD-FUNCTIONS/odessa.cc: Delete. - * Makefile.in (DLD_XSRC): Remove it from the list. - (OPT_HANDLERS): Remove ODESSA-opts.cc from the list. - -2005-02-28 John W. Eaton - - * toplev.cc (octave_config_info): Remove LIBGLOB and GLOB_INCFLAGS - from the list. - * oct-conf.h.in (OCTAVE_CONF_LIBGLOB, OCTAVE_CONF_GLOB_INCFLAGS): - Delete. - * Makefile.in (OCTAVE_LIBS): Remove $(LIBGLOB) from the list. - -2005-02-25 John W. Eaton - - Sparse merge. - - 2005-02-25 John W. Eaton - - * DLD-SRC/rand.cc (Frand): Accept "state" as an alias for "seed". - - * DLD-SRC/dispatch.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - - 2005-02-13 David Bateman - - * ov-fcn-inline.h, DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/gcd.cc: - Remove additional licensing clause, with authors permission - - * ov-base-sparse.h: New constructor to cache SparseType, not yet - used - * ov-re-sparse.h: likewise - * ov-cx-sparse.h: likewise - * ov.h: Likewise - - * sparse-xdiv.cc: Remove spparms umfpack flag - - * DLD-FUNCTIONS/spparms.cc: Warning that umfpack flag is ignored. - - 2005-01-16 David Bateman - - * ls-mat5.cc (read_mat5_integer_data): Change "T &m" to "T *m" and - instantiate with values like octave_int8 rather than int8NDArray. - Modify function to fit - (read_mat5_binary_element): Use new form of read_mat_integer_data - to read data directly into sparse matrix - (write_mat5_integer_data): Change "const T &m" to "T *m", etc. New - instantiation with int. - (save_mat5_binary_element): Modify to save sparse data - - 2005-01-15 David Bateman - - * data.cc (do_cat): Use first non-empty matrix as base for - concatenation. - * pt-mat.cc (tree_matrix::rvalue): ditto. - - 2005-01-14 John W. Eaton - - * ov.cc (do_cat_op): When checking for empty args, use - all_zero_dims, not numel. - * ov.h (octave_value::all_zero_dims): New function. - - * ov-bool-sparse.cc (try_narrowing_conversion): Convert to - bool_matrix, not matrix. - - 2005-01-13 David Bateman - - * data.cc (make_diag): Use numel not capacity to remove ambiguity. - * ov.h (octave_value::capacity): New virtual funtion. - * ov-base.h (octave_base_value::capacity): New function calls numel. - * data.cc (Freshape): Use arg.numel() rather than arg.dims().numel() - since sparse numel now consistent. - * symtab.h (symbol_record::symbol_def::capacity, - symbol_record::capacity): New methods. - * symtab.cc (symbol_record::print_symbol_info_line, - symbol_table::parse_whos_line_format, symbol_table::maybe_list): - used capacity() and not numel() to properly assess size of - sparse objects. - * ov-base-sparse.h (octave_base_sparse::capacity): New function, - (octave_base_sparse::numel): Delete. - * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value): - Only fill from non-zero elements of sparse array. - * DLD-FUNCTIONS/splu.cc (Fsplu): Change use of nelem to numel. - * ov.cc (do_cat_op): Early return for concatenation with empty - objects. - - 2005-01-12 John W. Eaton - - * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings. - - 2005-01-11 John W. Eaton - - * OPERATORS/op-double-conv.cc: New conversions for sparse_matrix - and sparse_bool_matrix to matrix. - - 2005-01-11 David Bateman - - * ov-base-sparse.h (octave_base_sparse::any, - octave_base_sparse::all): Use new constructors, etc as pointed out - by JWE. - - 2005-01-10 John W. Eaton - - * DLD-FUNCTIONS/sparse.cc (MINMAX_BODY, Fspatan2, make_spdiag): - Write retval(0) = result instead of retval(0) = octave_value (result). - * DLD-FUNCTIONS/splu.cc (Fsplu): Likewise. - - 2005-01-08 David Bateman - - * ls-mat5.cc (read_mat5_integer_data): Instantiate for Array - (read_mat5_binary_element): Add code to read sparse matrices - saved in matlab v5 format - - 2005-01-07 David Bateman - - * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, - OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, - OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc, - OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, - OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc, - OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc, - OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc, - OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc, - OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc, - OPERATORS/op-sm-sm.cc, OPERATORS/op-s-scm.cc, - OPERATORS/op-s-sm.cc: New octave_value constructors allow - macros from ops.h to be used rather than sparse-ops.h. Remove - other explicit uses of maybe_mutate. - - * sparse-ops.h: delete file. - - * colamd.cc (Fcolamd, Fsymamd, Fetree): Remove no longer needed - use of get_rep() and use the sparse matrix conversion functions - directly. - - * data.cc (Freshape): Use arg.dims().numel() rather than - arg.numel() due to definition of numel for sparse matrices. - - * sparse.cc (Ffull, Fspfind, SPARSE_DIM_ARG_BODY, MINMAX_BODY, - Fspatan2, make_spdiag): Convert to use new octave_value sparse - constructors, sparse matrix conversion functions and remove - maybe_mutate calls. - (Fspreshape): Delete - - * splu.cc (Fsplu): Remove remaining explicit octave_value - construction. - - * ov-base-sparse.h (do_index_op, resize, reshape, permute, squeeze): - Move these methods from the derived classes. - * ov-base-spase.cc (do_index_op): Move this method from the derived - classes. - * ov-bool-sparse.h (do_index_op, resize, reshape, permute, squeeze): - delete. - * ov-re-spase.cc (do_index_op): delete. - * ov-cx-sparse.h (do_index_op, resize, reshape, permute, squeeze): - delete. - * ov-cx-spase.cc (do_index_op): delete. - * ov-bool-spase.cc (do_index_op): delete. - * ov-re-sparse.h (do_index_op, resize, reshape, permute, squeeze): - delete. - - * DLD-FUNCTIONS/spdet.cc (Fspdet): Remove use of SparseDet and - SparseComplexDET classes and use DET and ComplexDET classes. - - * DLD-FUNCTIONS/colamd.cc op-bm-sbm.cc OPERATORS/op-b-sbm.cc - OPERATORS/op-cm-scm.cc OPERATORS/op-cm-sm.cc OPERATORS/op-cs-scm.cc - OPERATORS/op-cs-sm.cc OPERATORS/op-fil-sbm.cc OPERATORS/op-fil-scm.cc - OPERATORS/op-fil-sm.cc OPERATORS/op-m-scm.cc OPERATORS/op-m-sm.cc - OPERATORS/op-sbm-b.cc OPERATORS/op-sbm-bm.cc OPERATORS/op-sbm-sbm.cc - OPERATORS/op-scm-cm.cc OPERATORS/op-scm-cs.cc OPERATORS/op-scm-m.cc - OPERATORS/op-scm-s.cc OPERATORS/op-scm-scm.cc OPERATORS/op-scm-sm.cc - OPERATORS/op-sm-cm.cc OPERATORS/op-sm-cs.cc OPERATORS/op-sm-m.cc - OPERATORS/op-sm-s.cc OPERATORS/op-sm-scm.cc OPERATORS/op-sm-sm.cc - OPERATORS/op-s-scm.cc OPERATORS/op-s-sm.cc ov-base-sparse.cc - ov-base-sparse.h ov-bool-sparse.cc ov-bool-sparse.h ov-cx-sparse.cc - ov-cx-sparse.h ov-re-sparse.cc ov-re-sparse.h sparse-base-lu.cc - sparse-base-lu.h DLD-FUNCTIONS/sparse.cc sparse-xdiv.cc sparse-xdiv.h - sparse-xpow.cc sparse-xpow.h DLD-FUNCTIONS/spdet.cc - DLD-FUNCTIONS/splu.cc DLD-FUNCTIONS/spparms.cc: Remove additional - licensing clause with authors permission. - - 2005-01-05 David Bateman - - * DLD-FUNCTIONS/colamd.cc: Rename from colamdoct.cc. Base colamd.h - now found in COLAMD/colamd.h. - (Fcolamd): Return value is now used. - (Fsymamd): ditto. - - * Makefile.in: include colamd.cc in DLD_XSRC. - - * ov.h (sparse_matrix_value, sparse_complex_matrix_value, - sparse_bool_matrix_value): New virtual functions - - * ov-base.cc (octave_base_value::sparse_matrix_value, - octave_base_value::sparse_complex_matrix_value, - octave_base_value::sparse_bool_matrix_value): New default sparse - matrix extraction functions. - - * ov-base.h (sparse_matrix_value, sparse_complex_matrix_value, - sparse_bool_matrix_value): Declare them. - - * ov-re-mat.cc (octave_matrix::sparse_matrix_value, - octave_matrix::sparse_complex_matrix_value): Conversion functions. - - * ov-re-mat.h (sparse_matrix_value, sparse_complex_matrix_value): - Declare them. - - * ov-cx-mat.cc (octave_complex_matrix::sparse_matrix_value, - octave_complex_matrix::sparse_complex_matrix_value): Conversion - functions. - - * ov-cx-mat.h (sparse_matrix_value, sparse_complex_matrix_value): - Declare them. - - * ov-bool-mat.h (sparse_matrix_value, sparse_complex_matrix_value, - sparse_bool_matrix_value): Conversion functions. - - * DLD_FUNCTIONS/spdet.cc (Fspdet): Use the above constructors - and conversion functions. - * DLD_FUNCTIONS/splu.cc (Fsplu): ditto. - - 2004-12-30 John W. Eaton - - * DLD-FUNCTIONS/splu.cc (Fsplu): Avoid shadow warnings. - - * sparse-xpow.cc (elem_xpow): Delete unsed variables. - * sparse-xdiv.cc (x_el_div): Likewise. - - * DLD-FUNCTIONS/det.cc (Fdet): Delete unused argument nargout. - * DLD-FUNCTIONS/spdet.cc (Fspdet): Likewise. - - * DLD-FUNCTIONS/sparse.cc (Fnzmax): Return a value. - - * ov.cc, ov.h (octave_value::octave_value (const SparseMatrix&), - (octave_value::octave_value (const SparseBoolMatrix&), - (octave_value::octave_value (const SparseComplexMatrix&)): - New constructors. - - 2004-12-29 John W. Eaton - - * DLD-FUNCTIONS/sparse.cc (SPARSE_DIM_ARG_BODY): Rename from - DEFUN_DLD_SPARSE_DIM_ARG. Omit HELP arg. Omit DEFUN_DLD, so the - macro only defines the function body. - (Fspprod, Fspcumprod, Fspsum, Fspcumsum, Fspsumsq): Define with - DEFUN_DLD, not DEFUN_DLD_SPARSE_DIM_ARG. Use SPARSE_DIM_ARG_BODY - to define function body. - - * DLD-FUNCTIONS/sparse.cc (load_sparse_type, sparse_type_loaded): - Delete function, variable, and all uses. - * ov.cc: Include ov-bool-sparse.h, ov-re-sparse.h, ov-cx-sparse.h. - (install_types): Register sparse types. - - Merge of sparse code from David Bateman and - Andy Adler . - - * sparse-xdiv.cc, sparse-xpow.cc: New files. - * Makefile.in (DIST_SRC): Add them to the list. - - * sparse-ops.h sparse-xdiv.h, sparse-xpow.h: New files. - * Makefile.in (INCLUDES): Add them to the list. - - * DLD-FUNCTIONS/colamdoct.cc, DLD-FUNCTIONS/sparse.cc, - DLD-FUNCTIONS/spdet.cc, DLD-FUNCTIONS/splu.cc, - DLD-FUNCTIONS/spparms.cc: New files. - * Makefile.in (DLD_XSRC): Add them to the list. - - * ov-base-sparse.cc, ov-base-sparse.h, ov-bool-sparse.cc, - ov-bool-sparse.h, ov-cx-sparse.cc, ov-cx-sparse.h, - ov-re-sparse.cc, ov-re-sparse.h: New files. - * Makefile.in (OV_SPARSE_SRC, OV_SPARSE_INCLUDES): New lists. - (OV_SRC): Add $(OV_SPARSE_SRC) to the list. - (INCLUDES): Add $(OV_SPARSE_INCLUDES) to the list. - - * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, - OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, - OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, - OPERATORS/op-fil-sbm.cc, OPERATORS/op-fil-scm.cc, - OPERATORS/op-fil-sm.cc, OPERATORS/op-m-scm.cc, - OPERATORS/op-m-sm.cc, OPERATORS/op-sbm-b.cc, - OPERATORS/op-sbm-bm.cc, OPERATORS/op-sbm-sbm.cc, - OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, - OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, - OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, - OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, - OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, - OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, - OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: New files. - * Makefile.in (SPARSE_OP_XSRC): New list. - (OP_XSRC): Add $(SPARSE_OP_XSRC) to the list. - -2005-02-23 John W. Eaton - - * parse.y (fold (tree_binary_expression*)): Skip constant folding - for some expressions to preserve warnings. - (Vwarn_associativity_change): New static variable. - (warn_associativity_change): New function. - (symbols_of_parse): DEFVAR warn_associativity_change. - (maybe_warn_associativity_change): New function. - (make_binary_op): Use it. - -2005-02-22 John W. Eaton - - * parse.y (POW, EPOW): Use %left associativity for compatibility. - - * ov-base-int.cc (octave_baes_int_matrix::load_binary): - Handle arrays with only one dimension. - * ov-bool-mat.cc (octave_bool_matrix::load_binary): Likewise. - * ov-cell.cc (octave_cell::load_binary): Likewise. - * ov-cell.cc (octave_complex_matrix::load_binary): Likewise. - * ov-re-mat.cc (octave_matrix::load_binary): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::load_binary): Likewise. - - * ov-mapper.cc (octave_mapper::subsref): Return retval after - calling next_subsref. - - * ov-mapper.cc (octave_builtin::subsref): If nargout is 0 and we - have additional indexing to perform, set it to 1 before calling - do_multi_index_op. - - * oct-map.cc (Octave_map::intfield, Octave_map::stringfield): - New functions. - * oct-map.h: Provide decls. - * DLD-FUNCTIONS/time.cc (extract_tm): Use intfield and stringfield - to access map elements. - -2005-02-21 John W. Eaton - - * ov-builtin.cc (octave_builtin::subsref): If nargout is 0 and we - have additional indexing to perform, set it to 1 before calling - do_multi_index_op. - * ov-usr-fcn.cc (octave_user_function::subsref): Likewise. - - * DLD-FUNCTIONS/gplot.l (send_to_plot_stream): - Replot with no previous plot is a no-op. - (makeplot): Likewise. - (Vautomatic_replot): Don't use this variable in low-level functions. - -2005-02-18 John W. Eaton - - * Makefile.in (oct-gperf.h): Remove -E from list of gperf options. - - * data.cc (do_permute): Use zero-based indexing for permutation - vector that is passed to octave_value::permute method. - Allow permutation vector longer than number of dimenensions of - permuted matrix. - -2005-02-17 John W. Eaton - - * version.h (OCTAVE_API_VERSION): Now 2.1.64-cvs. - (OCTAVE_API_VERSION): Now api-v12-cvs. - -2005-02-16 John W. Eaton - - * ov-base-mat.h (octave_base_matrix::squeeze): Explicitly convert - result of matrix.squeeze() to MT. - -2005-02-15 John W. Eaton - - * dirfns.cc (deftypefn): Don't print to octave_stdout if nargout > 0. - - * pt-mat.cc (tree_matrix::rvalue): Min size of ra_idx is 2. - - * file-io.cc (Ffclear): New function. - - * sighandlers.h: Define SIGCHLD if it is not already defined and - SIGCLD is defined. - - * sighandlers.cc (octave_set_signal_handler): Request system calls - restarted if interrupted by signals (except for SIGALRM). - * dirfns.cc (Fls): Don't bother with sleeping or checking errno. - -2005-02-11 John W. Eaton - - * sighandlers.cc (sigpipe_handler): Don't try to take action. - Set octave_signal_caught and octave_signals_caught here. - (sigchld_handler): Call octave_child_list::wait here. - Set octave_signal_caught and octave_signals_caught here. - (octave_signals_caught): New static file-scope variable. - (sigint_handler): Also set octave_signal_caught. - - * sighandlers.cc (sigpipe_handler): - - * DLD-FUNCTIONS/gplot.l (plot_stream_event_handler): Rename from - plot_stream_death_handler. Return true if plotter has exited. - Call close_plot_stream with false arg. - (plot_stream_pid): Delete static file-scope variable and all uses. - (close_plot_stream): New arg, remove_from_child_list, with default - value of true. Only call octave_child_list::remove if - remove_from_child_list is true. - - * pager.cc (octave_pager_pid, saved_interrupt_handler, - interrupt_handler_saved): Delete static file-scope variables and - all uses. - (clear_external_pager): Do nothing if external_pager is 0. - (pager_event_handler): Rename from pager_death_handler. - Improve warning message. Return true if pager has exited. - (octave_pager_buf::do_sync): Check errno == EPIPE after write. - (flush_octave_stdout): No need to check external_pager before - calling clear_external_pager. - - * toplev.cc (recover_from_exception): Set octave_signal_caught to zero. - (main_loop): Set octave_signal_hook to octave_signal_handler here. - - * sighandlers.cc (octave_signal_handler): New function. - * sighanlders.h: Provide decl. - - * sighandlers.cc (install_signal_handlers): Initialize - octave_signals_caught. - - * sighandlers.h (octave_child::status, have_status): New data members. - (child_event_handler): Rename from dead_child_handler. - Change all uses. - (octave_child_list::reap, octave_child_list::wait): New functions. - (octave_child_list::length, octave_child_list::do_length, - octave_child_list::elem, octave_child_list::do_elem, - octave_child_list::list, octave_child_list::curr_len): Delete. - - * sighandlers.h, sighandlers.cc - (octave_child_list::octave_child_list_rep): New class. - - * input.cc (gnu_readline, octave_gets, get_user_input): - Call OCTAVE_QUIT before doing anything. - - * base-list.h (octave_base_list::remove_if): New function. - - * TEMPLATE-INST/Array-oc.cc: Delete. - * Makefile.in (TI_XSRC): Remove from list. - -2005-02-10 Driss Ghaddab - - * cutils.c (octave_usleep) [HAVE_POLL]: Fix typo. - -2005-02-10 John W. Eaton - - * variables.cc (symbol_exist): Don't search path if explicitly - asked for a variable or builtin. From David Bateman - . - -2005-02-09 John W. Eaton - - * variables.cc (same_file): New static function. - (symbol_out_of_date): Use it. - - * syscalls.cc (Fcanonicalize_file_name): New function. - -2005-02-08 Walter Landry - - * symtab.h (symbol_record::mark_as_command): Avoid AIX compiler error. - -2005-02-07 John W. Eaton - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Return [] instead - of [](1x0) for scalar arg of zero. - -2005-02-06 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (tmp_files): Delete. - From Todd Neal . - -2005-02-04 John W. Eaton - - * sighandlers.cc (octave_child_list::~octave_child_list): Move here. - * sighandlers.h: From here. - -2005-02-02 John W. Eaton - - * Makefile.in (parse.cc): Expect 12 shift/reduce conflicts. - * parse.y (loop_command): Allow "for (k=1:10) ... endfor". - -2005-01-27 David Bateman - - * ov-mapper.cc (octave_mapper::apply): Only work on real arguments - if c_c_map_fcn or d_d_map_fcn or d_b_map_fcn is defined.xo - -2005-01-26 Joel Andersson - - * help.cc (keywords): Document endswitch. - -2005-01-21 John W. Eaton - - * DLD-FUNCTIONS/filter.cc (filter): Avoid slow Marray indexing ops. - -2005-01-20 John W. Eaton - - * Makefile.in (EXTRAS): Move ov-base-mat.cc ov-base-scalar.cc here. - (OV_SRC): From here. - -2005-01-18 John W. Eaton - - * ov-complex.h (octave_complex::any): New function. - * ov-scalar.h (octave_scalar::any): New function. - - * file-io.cc (Fmkstemp): Fix doc string. Error message belongs in - third output value. From Mats Jansson . - -2005-01-12 John W. Eaton - - * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings. - -2005-01-11 John W. Eaton - - * DLD-FUNCTIONS/gplot.l (UNOP): Avoid trailing comment. - -2005-01-10 John W. Eaton - - * ls-oct-ascii.cc (extract_keyword (std::istream&, const - string_vector&, std::string&, int&, const bool)): - Remove duplicate definition. - -2004-12-27 Martin Dalecki - - * Cell.cc, c-file-ptr-stream.cc, comment-list.cc, oct-map.cc, - oct-obj.cc, ov-base.cc, ov-base-int.cc, ov-base-mat.cc, - ov-base-scalar.cc, ov-bool.cc, ov-bool-mat.cc, ov-builtin.cc, - ov.cc, ov-cell.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, - ov-cs-list.cc, ov-cx-mat.cc, ov-dld-fcn.cc, ov-fcn.cc, - ov-fcn-handle.cc, ov-fcn-inline.cc, ov-file.cc, ov-int16.cc, - ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-list.cc, ov-mapper.cc, - ov-range.cc, ov-re-mat.cc, ov-scalar.cc, ov-streamoff.cc, - ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-uint16.cc, - ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, - ov-va-args.cc, procstream.cc, pt-arg-list.cc, pt-assign.cc, - pt-binop.cc, pt-bp.cc, pt.cc, pt-cell.cc, pt-check.cc, pt-cmd.cc, - pt-colon.cc, pt-const.cc, pt-decl.cc, pt-except.cc, pt-exp.cc, - pt-fcn-handle.cc, pt-id.cc, pt-idx.cc, pt-jump.cc, pt-loop.cc, - pt-mat.cc, pt-misc.cc, pt-pr-code.cc, pt-select.cc, pt-stmt.cc, - pt-unop.cc, symtab.cc, token.cc, unwind-prot.cc: - Delete #pragma implementation. - - * Cell.h, c-file-ptr-stream.h, comment-list.h, oct-map.h, - oct-obj.h, ov-base.h, ov-base-int.h, ov-base-mat.h, - ov-base-scalar.h, ov-bool.h, ov-bool-mat.h, ov-builtin.h, - ov-cell.h, ov-ch-mat.h, ov-complex.h, ov-cs-list.h, ov-cx-mat.h, - ov-dld-fcn.h, ov-fcn.h, ov-fcn-handle.h, ov-fcn-inline.h, - ov-file.h, ov.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-int8.h, - ov-list.h, ov-mapper.h, ov-range.h, ov-re-mat.h, ov-scalar.h, - ov-streamoff.h, ov-str-mat.h, ov-struct.h, ov-typeinfo.h, - ov-uint16.h, ov-uint32.h, ov-uint64.h, ov-uint8.h, ov-usr-fcn.h, - procstream.h, pt-arg-list.h, pt-assign.h, pt-binop.h, pt-bp.h, - pt-cell.h, pt-check.h, pt-cmd.h, pt-colon.h, pt-const.h, - pt-decl.h, pt-except.h, pt-exp.h, pt-fcn-handle.h, pt.h, pt-id.h, - pt-idx.h, pt-jump.h, pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, - pt-select.h, pt-stmt.h, pt-unop.h, symtab.h, token.h, - unwind-prot.h: Delete #pragma interface. - -2004-12-27 John W. Eaton - - Merge of changes from Teemu Ikonen to - remove gnuplot from main parser. - - * pt-plot.cc, pt-plot.h: Delete. - * Makefile.in (PT_SRC, PT_INCLUDES): Delete them from the lists. - - * DLD-FUNCTIONS/gplot.l: New file. - * Makefile.in: Include it in the DLD_XSRC list. - - * dirfns.cc (octave_change_to_directory): - Don't call do_external_plotter_cd. - - * symtab.h (symbol_record::TYPE): New element, RAWCOMMAND. - (symbol_record::symbol_def::mark_as_rawcommand, - symbol_record::symbol_def::unmark_rawcommand, - symbol_record::symbol_def::is_rawcommand): New functions. - (symbol_record::symbol_def::symbol_type): Bitfield is now 9 bits wide. - (symbol_record::mark_as_rawcommand, - symbol_record::unmark_rawcommand, symbol_record::is_rawcommand): - New functions. - (SYMTAB_ALL_TYPES): Include RAWCOMMAND. - - * parse.y (make_plot_command): Delete function. - (tree_plot_command_type, subplot_type, subplot_list_type, - plot_limits_type, plot_range_type, subplot_using_type, - subplot_style_type, subplot_axes_type): - Delete non-terminal type decls. - (PLOT, STYLE, AXES_TAG): Delete token types. - (title, plot_command, plot_command2, plot_options, plot_command1, - ranges, ranges1, using, using1, style, axes): Delete non-terminals. - - * toplev.cc (do_octave_atexit): Don't call close_plot_stream. - - * variables.cc (rawcommand_set): New static variable. - (is_marked_as_rawcommand, mark_as_rawcommand, unmark_rawcommand, - Fiscommand, Fmark_as_rawcommand, Funmark_rawcommand, - Fisrawcommand, is_rawcommand_name): New functions. - * variables.h: Provide decl for is_rawcommand_name. - - * pt-bp.cc, pt-bp.h, pt-check.cc, pt-check.h, pt-pr-code.cc, - pt-pr-code.h, pt-walk.h: Delete all declarations, definitions, and - uses of visit_subplot, visit_subplot_axes, visit_subplot_list, - visit_subplot_style, and visit_subplot_using methods. - - * lex.h (lexer_flags): New field, doing_rawcommand. - * lex.l ([\;\,]): Also handle raw commands here. - (lexer_flags::init): Initialize doing_racommand to false. - (handle_identifier): Recognize raw commands ere. - (handle_string): Don't do string escape conversions on raw command - strings. - - * octave.gperf: Delete gplot_kw, gsplot_kw, replot_kw. - - * lex.h (lexer_flags): Delete fields cant_be_identifier, - doing_set, in_plot_range, in_plot_using, in_plot_style, - in_plot_axes, past_plot_range, and plotting. - * lex.l: Delete all uses of these lexer flags and remove all - special cases for plotting. - (plot_style_token, plot_axes_token, is_plot_keyword): Delete. - - * file-io.cc, file-io.h (tmp_files, mark_for_deletion, - cleanup_tmp_files): Move here. - * pt-plot.cc, pt-plot.h: From here. - - * Makefile.in (PKG_ADD): New target. - (all): Depend on PKG_ADD. - (install-oct): Depend on PKG_ADD. Install PKG_ADD file. - (gplot.cc): New target. - (stamp-prereq): Depend on gplot.cc. - (VAR): Don't include $(DLD_SRC) here. - (DLD_OBJ, DLD_DEF_FILES): Include .l files. - - * defun-int.h (DEFVAR, DEFCONST, DEFCONSTX): Move definition here. - * defun.h: From here. - -2004-12-22 John W. Eaton - - * ls-oct-ascii.cc (extract_keyword (std::istream&, const - string_vector&, std::string&, int&, const bool): New function. - * ls-oct-ascii.h: Provide decl. - * ov-bool-mat.cc (octave_bool_matrix::load_ascii): - Use new extract_keyword function to avoid calling tellg/seekg. - * ov-cell.cc (octave_cell::load_ascii): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Likewise. - * ov-re-mat.cc (octave_matrix::load_ascii): Likewise. - * ov-str-mat.cc (octave_char_matrix_str::load_ascii): Likewise. - -2004-12-20 John W. Eaton - - * pt-idx.cc (tree_index_expression::has_magic_end): Return true if - any argument list element has a magic end token. - -2004-12-03 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.64. - -2004-12-03 Teemu Ikonen - - * file-io.cc: Doc string fixes. - -2004-12-02 David Bateman - - * input.cc (get_user_input): Only set nm and line for debugging if - both debug is true and curr_caller_function is non-null. - -2004-12-02 David Bateman - - * ls-mat5.cc (arrayclasstype): Add mxINT64_CLASS, mxUINT64_CLASS, - mxFUNCTION_CLASS enum values. - (read_mat5_integer_data): New template function. - (OCTAVE_MAT5_INTEGER_READ): New macro. - (read_mat5_binary_element): Handle reading integer types. - Eliminate automatic conversion from int to double. - (write_mat5_integer_data): New template function. - Instantiate it for the 8 integer data types - (save_mat5_binary_element): Handle integer data types. - - * load-save.cc (Fload): Check file existence here. - If file does not exist, append ".mat" to name and try again. - (get_file_format): Delete check for file existence. - -2004-11-30 John W. Eaton - - * Makefile.in (oct-gperf.h): Use -L C++ instead of -L ANSI_C. - Use -Z octave_kw_hash option, delete -H and -N options. - * lex.l (is_keyword_token): Use octave_kw_hash::in_word_set - instead of octave_kw_lookup. - (is_keyword): Likewise. - -2004-11-22 John W. Eaton - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - Check to see whether object is a function or function handle - instead of constant. - -2004-11-19 John W. Eaton - - * ov-str-mat.cc (octave_char_matrix_str::do_index_op): - Skip indexing operation if indices are invalid. - - * pr-output.cc (set_range_format, set_complex_matrix_format, - set_complex_format, set_real_matrix_format, set_real_format): - Also specify std::ios::fixed for bank format. - -2004-11-17 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.63. - (OCTAVE_API_VERSION): Now api-v12. - -2004-11-17 David Bateman - - * pt-arg-list.cc (F__end__): Ask dv for the number of elements - instead indexed_object. - -2004-11-16 David Bateman - - * ov.h (octave_value::numel): Now virtual. Call rep->numel (). - * ov.cc (octave_value::numel): Delete. - * ov-base.h (octave_base_value::numel): New function. - -2004-11-12 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.62. - -2004-11-09 John W. Eaton - - * OPERATORS/op-int-concat.cc: New file for mixed integer/other - concatentation operators. - * Makefile.in (INTTYPE_OP_XSRC): Add it to the list. - - * ops.h (DEFNDCATOP_FN2): New macro. - - * OPERATORS/op-int.h (OCTAVE_CONCAT_FN2, - OCTAVE_INSTALL_CONCAT_FN2, OCTAVE_DOUBLE_INT_CONCAT_FN, - OCTAVE_INSTALL_DOUBLE_INT_CONCAT_FN, OCTAVE_INT_DOUBLE_CONCAT_FN, - OCTAVE_INSTALL_INT_DOUBLE_CONCAT_FN): New macros. - -2004-11-09 David Bateman - - * Cell.cc (concat): Delete. - (Cell::concat): New method. - * Cell.h: Provide decls. - - * oct-map.cc (concat): Delete - (Octave_map::concat): New method. - * oct-map.h: Provide decls. - - * ov.h (typedef octave_value (*cat_op_fcn) (octave_value&, - const octave_value&, const Array&): Change definition of - cat_op_fcn so first argument is not constant. - - * ops.h (CATOPDECL): First arg is no longer constant. - (DEFCATOP_FN, DEFNDCATOP_FN): Change to use new concat methods. - - * OPERATORS/op-chm.cc, OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, - OPERATORS/op-str-str.cc (DEFCATOP): Change explicit concat functions - to use new concatenation methods. - -2004-11-05 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.61. - - * DLD-FUNCTIONS/det.cc (det): Always compute rcond so we can - detect numerically singular matrices. - -2004-11-04 John W. Eaton - - * pt-colon.cc (tree_colon_expression::line, - tree_colon_expression::column): New functions. - * pt-colon.h: Provide decls. - - * oct-stream.cc (octave_stream::seek (long, int)): Return error - (but leave file position unchanged) for attempt to seek beyond end - of file. - - * DLD-FUNCTIONS/inv.cc (Finv): Check rcond value returned from - LAPACK routines, and be careful to avoid optimizing away the - 1+rcond == 1.0 check. - * DLD-FUNCTIONS/det.cc (Fdet): Likewise. - -2004-11-03 John W. Eaton - - * data.cc (Fsize): Return 1 if requested dimension is larger than - the number of dimensions of the given object. - -2004-11-01 Claude Lacoursiere a - - * ls-hdf5.cc (read_hdf5_data): Expect num_obj to be in distinct group. - * ov-cell.cc (octave_cell::load_hdf5): Likewise. - * ov-list.cc (octave_list::load_hdf5): Likewise. - * ov-struct.cc (octave_struct::load_hdf5): Likewise. - -2004-11-01 David Bateman - - * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, - MArrayN&, MArrayN&, int)): The variable si is now at least 2-D. - (Ffilter): Force si to be 2-D, while allowing arbitrary vector - orientation. - -2004-11-01 John W. Eaton - - * data.cc (INSTANTIATE_EYE): New macro. Use it to instantiate - identity matrix functions for various matrix types. - - * variables.cc (do_who): Fix typo in for loop. - -2004-10-28 John W. Eaton - - * ls-mat5.cc (save_mat5_binary_element): Save structure elements - in correct order. - -2004-10-26 John W. Eaton - - * ov-fcn.h (octave_function::octave_va_arg): No longer const. - -2004-10-22 John W. Eaton - - * DLD-FUNCTIONS/filter.cc: Remove some unnecessary parens. - -2004-10-22 David Bateman - - * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, - MArrayN&, MArrayN&, int)): If value to filter is - dimensionality 2 it might still be a vector, use special case. - -2004-10-21 John W. Eaton - - * ov-base.cc (INT_CONV_METHOD): Apply saturation semantics here too. - -2004-10-19 John W. Eaton - - * ov-range.h (octave_range::write): New function. - -2004-10-18 John W. Eaton - - * symtab.cc (symbol_record::dimensions_string_req_first_space, - symbol_record::make_dimensions_string): Use dims() for all objects. - -2004-10-18 Oyvind Kristiansen - - * symtab.cc (symbol_table::parse_whos_line_format): Handle - size-of-parameter and center-specific format specifiers. - -2004-10-18 John W. Eaton - - * pt-plot.cc (handle_plot_data): If plotting data from file, - always use "using" clause. - -2004-10-12 David Bateman - - * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element, - tm_const::init): Dimensionality of matrices not necessarily the - same. Check before comparing. - -2004-10-06 John W. Eaton - - * pt-fcn-handle.h (tree_fcn_handle::name): New function. - -2004-10-01 John W. Eaton - - * ov-range.h (octave_range::valid_as_scalar_index): Ensure int value. - (octave_range::valid_as_zero_index): Likewise. - - * ov-scalar.h (octave_scalar::valid_as_scalar_index): Ensure int value. - (octave_scalar::valid_as_zero_index): Likewise. - -2004-09-24 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.60. - (OCTAVE_API_VERSION): Now api-v11. - - * OPERATORS/op-int.h (OCTAVE_MM_INT_OPS): Include missing matrix - by int matrix ops. - (OCTAVE_INSTALL_MM_INT_OPS): Install them. - - * OPERATORS/op-i64-i64.cc: Define and install missing int64 by - matrix and scalar ops. - -2004-09-24 David Bateman - - * ov-fcn-inline (Finline): Attempt better auto-detection of - symbols that should be recognized as arguments. - -2004-09-24 John W. Eaton - - * ov-str-mat.cc (default_numeric_conversion_function): Return - scalar object if numel == 1. - -2004-09-23 John W. Eaton - - * ops.h (DEFSTRDBLCONVFN): New macro. - * OPERATORS/op-double-conv.cc: Use it to define new conversion op. - Define new range to double matrix conversion. - (install_int_conv_ops): Install new ops. - - * ops.h (DEFSTRINTCONVFN): New macro. - * OPERATORS/op-int-conv.cc: Use it to define new conversion ops. - (install_int_conv_ops): Install them. - - * (OCTAVE_SS_INT_OPS2, OCTAVE_SM_INT_OPS2, OCTAVE_MM_INT_OPS2, - OCTAVE_INSTALL_SS_INT_OPS2, OCTAVE_INSTALL_SM_INT_OPS2, - OCTAVE_INSTALL_MS_INT_OPS2, OCTAVE_INSTALL_MM_INT_OPS2): - Delete unused macros. - - * OPERATORS/op-int.h (OCTAVE_SS_INT_BOOL_OPS): New args Z1 and Z2. - (OCTAVE_SS_INT_OPS): Pass appropriately typed zero values to - OCTAVE_SS_INT_BOOL_OPS. - * OPERATORS/op-i64-i64.cc, OPERATORS/op-ui64-ui64.cc: Likewise. - - * pr-output.cc (pr_plus_format): Now template. - Specialize for Complex. - (octave_print_internal): Lookup print_conv_type using - octave_int, not just T. - - * ov-struct.cc (octave_struct::subsref): Pass skip to next_subsref. - - * oct-stream.cc (do_read): Hitting EOF should not be an error. - -2004-09-22 John W. Eaton - - * pt-plot.cc (send_to_plot_stream): Skip automatic replot if in - multiplot mode. - - * variables.cc (get_global_value): New arg, silent. - * variables.h (get_global_value): Default value for silent arg is - false. - -2004-09-22 David Bateman - - * ov-fcn-inline.cc (Finline): When called with a single arg, derive - argument of inline function in a compatible manner. - -2004-09-22 Federico Zenith - - * DLD-FUNCTIONS/qz.cc (Fqz): New @tex section(s) in doc string for - better formating of printed documentation. Use @var in doc string. - - * DLD-FUNCTIONS/time.cc (Fstrftime): Fix typo in doc string. - * error.cc (Flasterr, Flastwarn): Likewise. - * mappers.cc (Farg, Fasinh, Fatanh, Ffinite, Fsin, Fsinh, Ftan): - Likewise. - * file-io.cc (Fmktemp): Likewise. - * pt-plot.cc (symbols_of_pt_plot): Fix typos in doc string for - gnuplot_has_frames. - - * input.cc (symbols_of_input): Replace --echo-input with new - --echo-commands in PS4 doc string. - - * pt-assign.cc (symbols_of_pt_assign): Mark print_rhs_assign_val - as built-in in doc string. - - * symtab.cc (symbols_of_symtab): Mark variables_can_hide_functions - as built-in in doc string. - -2004-09-21 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.59. - - * oct-fstrm.h (octave_fstream::octave_fstream, - octave_fstream::create): Set default float format to actual native - format, not flt_fmt_native. - * oct-iostrm.h (octave_base_iostream::octave_base_iostream, - octave_istream::octave_istream, octave_ostream::octave_ostream): - Likewise. - * oct-prcstrm.h (octave_iprocstream::octave_iprocstream, - octave_oprocstream::octave_oprocstream, - octave_iprocstream::create, octave_oprocstream::create): - Likewise. - * oct-stdstrm.h (octave_stdiostream::octave_stdiostream, - octave_stdiostream::create): - Likewise. - * oct-stream.h (octave_base_stream::octave_base_stream): - Likewise. - * oct-strstrm.h (octave_base_strstream::octave_base_strstream, - octave_istrstream::octave_istrstream, octave_istrstream::create): - Likewise. - -2004-09-21 David Bateman - - * data.cc (Freshape): Allow a single empty dimension argument - to flag unknown dimension and calculate its value from the - other dimensions. - -2004-09-21 John W. Eaton - - * symtab.h (symbol_record::~symbol_record): Delete definition if - count goes to zero. - * symtab.cc (symbol_table::~symbol_table): Move here from symtab.h. - Call delete on each symbol record in the table instead of just - clearing them. - -2004-09-17 David Bateman - - * DLD-FUNCTIONS/sort.cc (ascending_compare, descending_compare): - Now templates (avoids g++ 3.4.x compile problems). - Fix other uses of these functions to also treat them as templates. - (mx_sort): For unsigned EIGHT_BYTE_INT versions correct the test - for the position of NaN. Problems when mode was DESCENDING or - UNDEFINED. Use static_cast (dim) rather than - (unsigned int) dim. - (IFloatFlip): Now static. - -2004-09-17 David Bateman - - * DLD-FUNCTIONS/det.cc (Fdet): Only compute estimate of the - condition number if requested as output. - - * DLD-FUNCTIONS/schur.cc (Fschur): Only compute unitary matrix if - requested as output. - -2004-09-17 John W. Eaton - - * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline): - Call eval_string instead of feval ("eval", ...). - Construct anonymous function handle to avoid going through the - symbol table. - - * ov-fcn-handle.h (octave_fcn_handle::fcn_val): New function. - (octave_fcn_handle::octave_fcn_handle (const std:string&)): - New constructor. - -2004-09-16 John W. Eaton - - * parse.y (frob_function): Clear id_name from curr_sym_tab, not - top_level_sym_tab. - - * symtab.cc (maybe_list): Count sizes using size_t, not int. - - * variables.cc (symbol_out_of_date): Always look in LOADPATH. - -2004-09-15 John W. Eaton - - * OPERATORS/op-int-conv.cc: Define and install bool to int - conversions. - * OPERATORS/op-double-conv.cc: Define and install bool to double - conversions. - - * ov.cc (octave_value::assign): Handle subsref for containers. - * oct-lvalue.cc (octave_lvale::value): Likewise. - - * DLD-FUNCTIONS/sort.cc (mx_sort): Return octave_value, not - octave_value list. - -2004-09-15 David Bateman - - * ov.cc (octave_value::octave_value (const ArrayN&, bool)): - New Constructor . - * ov.h: Provide decl. - - * DLD-FUNCTIONS/sort.cc (sortmode): New enum to define sort direction. - (template class vec_index): New class to contain values and - index for indexed sorts, replacing all previous struct versions. - Instantiate for double, Complex, char and octave_value. - (template static octave_value_list mx_sort (ArrayN &, int, - sortmode)): New templated version of mx_sort replacing all previous - versions, but specific to non indexed sorts. Instantiate for char - and double if not IEEE754. - (template <> static octave_value_list mx_sort (ArrayN &, - int, sortmode)): Specialized function of mx_sort of IEEE754. - (template static octave_value_list mx_sort_indexed - (ArrayN &, int, sortmode)): New templated version of mx_sort - for indexed sorts. Instantiate for double, Complex, char and - octave_value. - (ascending_compare, descending_compare): Comparison functions - for double, char, vec_index *, vec_index *, - vec_index *, vec_index. Fix Complex comparison - operator to sort by arg of values if absolute values are equal. - (Fsort): Update docs for new mode argument and for sorting of - strings and cell arrays of strings. Implement mode argument to - define ascending and descending sorts. Include sorting of cell - arrays of strings. Adapt for new templated versions of the mx_sort - function. - -2004-09-15 John W. Eaton - - * ov-cell.cc (octave_cell::subsref): Pass nargout to next_subsref. - * ov-builtin.cc (octave_builtin::subsref): Likewise. - * ov-fcn-handle.cc (octave_fcn_handle::subsref): Likewise. - * ov-list.cc (octave_list::subsref): Likewise. - * ov-mapper.cc (octave_mapper::subsref): Likewise. - * ov-struct.cc (octave_struct::subsref): Likewise. - * ov-usr-fcn.cc (octave_user_function::subsref): Likewise. - - * ov-struct.cc, ov-struct.h (octave_struct::subsref (const - std::string&, const std::list&, int)): - Define this version. - (octave_struct::subsref (const std::string&, const - std::list&)): Panic in this version. - * ov-list.cc, ov-list.h: Likewise. - * ov-cell.cc, ov-cell.h: Likewise. - - * ov.cc (octave_value::subsref (int, const std::string&, const - std::list&, size_t)): New function. - * ov.h: Provide decl. - - * ov-cell.h (octave_cell::is_constant): Return false. - * ov-struct.h (octave_struct::is_constant): Delete. - * ov-list.h (octave_list::is_constant): Delete. - -2004-09-14 David Bateman - - * DLD-FUNCTIONS/sort.cc (mx_sort (charNDArray&, bool, int)): - New function to sort character strings. - (Fsort): Handle character strings. - -2004-09-11 John W. Eaton - - * ov-fcn-handle.cc (octave_fcn_handle::save_ascii): - Write directly to OS. - (octave_fcn_handle::load_ascii, octave_fcn_handle::load_binary, - octave_fcn_handle::load_hdf5): Check parse status after calling - eval_string. Don't dereference fh unless it is valid. - -2004-09-11 David Bateman - - * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, - octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, - octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, - octave_fcn_handle::load_hdf5): New functions. - * ov-fcn-handle.h: Provide decls. - - * ov-fcn-inline.cc (octave_fcn_inline::load_ascii): - Allow spaces in saved function. - (octave_fcn_inline::save_hdf5): Properly close all HDF5 objects. - - * ls-oct-ascii.cc (read_ascii_data): Check return type of - .load_ascii for errors reading the variables - - * variables.cc (lookup_function_handle, clear_variable, - clear_symbol): New functions. - * variables.h: Provide decls. - -2004-09-10 John W. Eaton - - * ov-builtin.cc (octave_builtin::do_multi_index_op): Use unwind - protect frame instead of a single unwind_protect::run. - * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. - - * data.cc (fill_matrix, identity_matrix): - Also allow logical data type. - -2004-09-10 David Bateman - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value, - OCTAVE_VALUE_INT_MATRIX_T::scalar_value, - OCTAVE_VALUE_INT_SCALAR_T::double_value, - OCTAVE_VALUE_INT_SCALAR_T::scalar_value): New functions. - -2004-09-10 John W. Eaton - - * ov-base-scalar.h (octave_base_scalar::clone, - octave_base_scalar::empty_clone): New functions. - -2004-09-09 John W. Eaton - - * pt-pr-code.h (tree_print_code::newline): New optional arg, alt_nl. - * pt-pr-code.cc (tree_print_code::newline): Use it if not printing - newlines. - (tree_print_code::visit_statement): If we printed ";", call - newline with optional arg set to "". - (tree_print_code::printing_newlines): New data member. - (tree_print_code::tree_print_code): Initialize it. - (tree_print_code::suspend_newline, tree_print_code::resume_newline): - New functions. - (tree_print_code::newline, tree_print_code::indent): Use it - - * ov-fcn-handle.cc (octave_fcn_handle::print_raw): - Print code for anonymous function handles. - -2004-09-08 John W. Eaton - - * ov-fcn-handle.cc (Ffunc2str, Ffunctions): Don't call substr(1) - on fh_nm, since we no longer need to skip "@" in the name. - - * error.cc (pr_where): Do a better job of printing location info. - - * input.cc (get_user_input): Print location info before the debug - prompt. From Keith Goodman . - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Save and set curr_caller_function and curr_caller_statement here. - * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. - - * pt-stmt.cc (curr_caller_statement): New variable. - * pt-stmt.h: Provide decl. - - * toplev.cc (curr_caller_function): New variable. - * toplev.h: Provide decl. - - * pt-arg-list.cc (convert_to_const_vector): - Unwind-protect index_position before modifying it. - Don't protect and set index_position unless stash_object is true. - -2004-09-08 David Bateman - - * ov-fcn-inline.cc (octave_fcn_inline::save_ascii, - octave_fcn_inline::load_ascii, octave_fcn_inline::save_binary, - octave_fcn_inline::load_binary, octave_fcn_inline::save_hdf5, - octave_fcn_inline::load_hdf5): New functions. - * ov-fcn-inline.h: Provide decls. - -2004-09-08 John W. Eaton - - * ov.h: Add octave_array_type_traits specialization for - boolNDArray element type. - -2004-09-07 John W. Eaton - - * oct-stream.cc: Instantiate octave_stream::write for Array. - (octave_stream::read): Expand read_fptr_table to include dt_logical. - - * ov-bool.h (octave_bool::write): New function. - * ov-bool-mat.h (octave_bool_matrix::write): New function. - - * ov-fcn-inline.h (octave_fcn_inline::octave_fcn_inline): New copy - constructor. - (octave_fcn_inline::clone, octave_fcn_inline::empty_clone): - New functions. - - * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle): New copy - constructor. - (octave_fcn_handle::clone, octave_fcn_handle::empty_clone): - New functions. - -2004-09-06 John W. Eaton - - * ov.cc (install_types): Call octave_fcn_inline::register_type. - - * version.h (OCTAVE_API_VERSION): Now api-v10. - - * OPERATORS/op-b-b.cc, OPERATORS/op-bm-bm.cc: Define and install - unary plus and unary minus operators. - - * OPERATORS/op-int.h, OPERATORS/op-cm-cm.cc, - OPERATORS/op-cs-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-range.cc: - Define and install unary plus operator. - - * ov.cc (unary_op_as_string): Handle op_uplus too. - - * parse.y (prefix_expr): Build unary plus op here instead of - converting to no-op. - (make_prefix_op): Accept op_uplus. - -2004-09-03 John W. Eaton - - * OPERATORS/op-b-bm.cc (DEFCONV): Define bool scalar to bool - matrix conversion. - (install_b_bm_ops): Install it. - Install conversion for assignment of bool matrix to indexed bool. - * OPERATORS/op-b-b.cc (install_b_b_ops): Install conversion for - assignment of bool to indexed bool. - -2004-09-03 David Bateman - - * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, - OPERATORS/op-bm-bm.cc: Modify concatenation between boolean types - so that it returns a boolean. - - * ov-bool.cc (octave_bool::do_index_op): Return boolean matrix. - - * ov-intx.h (do_index_op (const octave_value_list&, int)): - New function for indexed subsref of int types. - -2004-09-03 John W. Eaton - - * OPERATORS/op-int.h (OCTAVE_SM_INT_OPS): Define int by double - mixed comparison and bool ops. - (OCTAVE_INSTALL_SM_INT_OPS): Install them. - (OCTAVE_MS_INT_OPS): Define double by int mixed comparison and - bool ops. - (OCTAVE_INSTALL_MS_INT_OPS): Install them - - * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, - OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, - OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, - OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: - Define and install various mixed-type operators. - - * OPERATORS/op-int.h (OCTAVE_MM_INT_OPS): Also define mixed int - and double matrix comparison and bool ops. - (OCTAVE_INSTALL_MM_INT_OPS): Install them. - (OCTAVE_SS_INT_BOOL_OPS, OCTAVE_SM_INT_BOOL_OPS, - OCTAVE_MS_INT_BOOL_OPS, OCTAVE_MM_INT_BOOL_OPS): - Define logical AND and OR ops. - (OCTAVE_INSTALL_SS_INT_BOOL_OPS, OCTAVE_INSTALL_SM_INT_BOOL_OPS, - OCTAVE_INSTALL_MS_INT_BOOL_OPS, OCTAVE_INSTALL_MM_INT_BOOL_OPS): - Install them. - (OCTAVE_MM_INT_CMP_OPS, OCTAVE_MM_INT_BOOL_OPS): Accept prefix arg. - (OCTAVE_MM_CONV): New macro. - (OCTAVE_MM_INT_OPS): Use it to define complex matrix conversion. - (OCTAVE_MIXED_INT_CMP_OPS, OCTAVE_MIXED_INT_BOOL_OPS): New macros. - - * OPERATORS/op-int.h (OCTAVE_MS_INT_OPS): Don't define indexed int - matrix = complex scalar assignment ops. - (OCTAVE_MS_INT_OPS): Don't define indexed int matrix = complex - matrix assignment ops. - (OCTAVE_SM_CONV): New macro. - (OCTAVE_SM_INT_OPS): Use it to define int scalar -> (int|complex) - matrix widening ops. - (OCTAVE_RE_INT_ASSIGN_OPS, OCTAVE_CX_INT_ASSIGN_OPS): New macros. - (OCTAVE_INT_OPS): Use them here. - (OCTAVE_INSTALL_SS_INT_OPS): Install indexed int scalar = scalar - and indexed int scalar = complex scalar assignment conversions. - (OCTAVE_INSTALL_SM_INT_OPS): Install int scalar -> (int|complex) - matrix widening ops. Install indexed int scalar = - (int|real|complex) matrix assignment conversions. - (OCTAVE_INSTALL_MS_INT_OPS): Install indexed int matrix = complex - scalar assignment conversion. - (OCTAVE_INSTALL_MM_INT_OPS): Install int matrix -> complex matrix - widening op. Install indexed int matrix = complex matrix - assignment conversion. - (OCTAVE_INSTALL_RE_INT_ASSIGN_OPS, OCTAVE_INSTALL_CX_INT_ASSIGN_OPS): - New macros. - (OCTAVE_INSTALL_INT_OPS): Use them. - - * op-int.h: (OCTAVE_INSTALL_SM_INT_ASSIGNCONV): New macro. - * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, - OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, - OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, - OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: - Use it to define mixed size integer scalar/integer matrix - assignment conversions. - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, - OCTAVE_VALUE_INT_SCALAR_T::complex_array_vale): - New functions. - -2004-09-02 John W. Eaton - - * DLD-FUNCTIONS/quad.cc (Fquad): Pass "__quad_fcn_" instead of - "__quad_fcn__" to unique_symbol_name. - - * ov-fcn-inline.cc (octave_fcn_inline): Pass "__inline_" instead - of "__inline__" to unique_symbol_name. - - * variables.cc (unique_symbol_name): Make better random symbol name. - -2004-09-01 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.58. - - * Makefile.in (OP_INCLUDES): New variable. - Include OPERATORS/op-int.h here. - * Makefile.in (dist): Also link $(OP_INCLUDES). - - * Makefile.in (DISTFILES): Include $(EXTRAS) in the list. - -2004-09-01 David Bateman - - * DLD-FUNCTION/quad.cc: Allow function handle and inline functions. - Use a unique function name and delete it on exit. - - * ov.h (is_inline_function): New virtual function. - * ov-fcn-inline.h (is_inline_function): New function. - * ov-base.h (is_inline_function): New function. - - * ov-fcn-inline.cc (octave_fcn_handle::octave_fcn_handle): - Use unique_symbol_name and clear_function instead of manipulating - symbol table directly. - - * variables.cc (unique_symbol_name): New function. - (clear_function): New function. - * variables.h: Provide decls. - - * dynamic-ld.cc (do_clear_function): Rename from clear_function. - -2004-09-01 John W. Eaton - - * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, - OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, - OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, - OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: - Define and install mixed assignment ops. - * op-int.h: Define mixed integer/double ops. - Define simple division ops. - - * ov-complex.h (octave_complex_scalar): New typedef to simplify - various macros where naming consistency matters. - -2004-08-31 David Bateman - - * OPERATORS/op-int.h (ss_pow, ms_el_pow, mm_el_pow): New power - functions. - (sm_el_pow): Return correct type. - (OCTAVE_SS_POW_OPS, OCTAVE_SM_POW_OPS, OCTAVE_MS_POW_OPS, - OCTAVE_MM_POW_OPS): New macros to define the power operator over - integer types. - (OCTAVE_SS_INT_OPS, OCTAVE_SM_INT_OPS, OCTAVE_MS_INT_OPS, - OCTAVE_MM_INT_OPS): Use the new macros for the power operators. - (OCTAVE_INSTALL_SS_INT_OPS, OCTAVE_INSTALL_MS_INT_OPS, - OCTAVE_INSTALL_MM_INT_OPS): Install new power functions. - - * OPERATORS/op-int-conv.cc (INT_CONV_FUNCTIONS): Correct return - types for unsigned integer scalars and signed integer matrices. - - * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Conversion betwen same - types returns the original value. - - * bitfcns.cc (BITOP): Fix for mixed scalar/matrix ops. Allow - octave_range as an argument, by using class_name rather than - type_id to test. - -2004-08-31 John W. Eaton - - * pr-output.cc (pr_int): Also handle bank_format. - (octave_print_internal (std::ostream& os, const intNDArray&, - bool, int)): Likewise. - -2004-08-31 David Bateman - - * pr-output.cc (pr_int(std::ostream, const T&, int)): - New template function to print formatted integer types. - Instantiate it for all of the integer types. - (octave_print_internal (std::ostream, const intNDArray&, bool, - int)): Use pr_int. Align output up in columns, and check for - free_format or plus_format. - (octave_print_internal (std::ostream, const octave_int&, bool)): - Use pr_int. Check for free_format and plus_format. - - * ls-hdf5.cc (hdf5_read_next_data): When importing hdf5 files, - allow structures and lists (for backward compatibility). Also - allow importation of integer types into octave int and uint types. - -2004-08-31 John W. Eaton - - * data.cc (fill_matrix, identity_matrix): Convert class name to - oct_data_conv::data_type and switch on that. - (identity_matrix (int, int)): New template. - (identity_matrix (int, int, const std::string&)): Use it. - - * ov.h (octave_type_traits, octave_array_type_traits): Move here. - * oct-stream.cc: From here. - -2004-08-31 David Bateman - - * data.cc (Fzeros, Fones, Feye): Update help text for optional - class argument. - (static octave_value identity_matrix (int, int, const std::string&)): - New function to create identity matrices with an arbitrary type. - (Feye): Call new version of identity matrix function, even for scalars. - (static octave_value fill_matrix (const octave_value_list&, double, - const char *)): Update to allow arbitrary classes of matrices to be - created. - -2004-08-31 John W. Eaton - - * ls-mat5.cc (read_int): New function. - - * oct-stream.cc (octave_base_stream::do_read, - octave_base_stream::read, octave_base_stream::write): Delete. - * oct-stream.h: Delete decls. - - * oct-stream.cc (octave_stream::read): Handle block_size and - separate input/output types. - (octave_stream::write): Handle block_size and various input types. - (octave_type_traits, octave_array_type_traits): New traits classes. - (do_read): New templates to read data and perform type conversion. - (octave_stream::write (const Array&, int, - oct_data_conv::data_type, int, oct_mach_info::float_format), - do_write, write_int): - New templates to write ints and perform type conversion. - Instantiate for various Octave types. - - * ov.cc (octave_value::write): New function. - * ov.h: Provide decl. - * ov-base.cc (octave_base_value::write): New function. - * ov-base.h: Provide decl. - * ov-complex.h (octave_complex::write): New function. - * ov-cx-mat.h (octave_complex_matrix::write): New function. - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::write): New function. - (OCTAVE_VALUE_INT_SCALAR_T::write): New function. - * ov-re-mat.h (octave_matrix::write): New function. - * ov-scalar.h (octave_scalar::write): New function. - * ov-str-mat.h (octave_char_matrix_str::write): New function. - - * file-io.cc (Ffread): Handle block size, to/from format in - precision argument. - (Ffwrite): Handle block size in precision argument. - -2004-08-25 David Bateman - - * ov-cell.cc (octave_cell::subsasgn): Delete elements of cell array - when type is "(" and rhs is empty. - -2004-08-09 John W. Eaton - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::index_vector, - OCTAVE_VALUE_INT_SCALAR_T::index_vector): New functions. - -2004-08-06 David Bateman - - * OPERATORS/op-struct.cc: New file. - * ov-struct.h (octave_struct::resize (const dim_vector&)): - New function. - * oct-map.h (Octave_map::resize (const dim_vector&)): New function. - * ov-map.cc (Octave_map::reshape): - Correct return for same sized reshape. - (Octave_map::resize (const dim_vector&)): New function. - (concat (const Octave_map&, const Octave_map&, const Array&)): - Complete concatenation function. - * Makefile.in (OP_XSRC): Include op-struct.cc in the list. - -2004-08-05 John W. Eaton - - * pt-stmt.h (tree_statement::set_command, - (tree_statement::set_expression): New functions. - - * parse.y (param_list_beg): Handle pushing new symbol table - context for anonymous function handle parameter lists here. - (anon_fcn_handle): New non-terminal. - (expression): Include anon_fcn_handle here. - (make_anon_fcn_handle): New static function. - -2004-08-05 David Bateman - - * ov.cc (octave_value::fcn_inline_value): New virtual function. - * ov.h (octave_value::fcn_inline_value): Provide decl. - * ov-base.cc (octave_base_value::fcn_inline_value): New function - * ov-base.h (octave_base_value::fcn_inline_value): Provide decl. - * ov-fcn-handle.cc (octave_fcn_handle::octave_fcn_handle - (const std::string&, const string_vector&, const std::string&), - octave_fcn_handle::convert_to_str_internal, Finline, Fargnames, - Fformula, Fvectorize): Delete. - (octave_fcn_handle::print_raw): Remove inline case. - * ov-fcn-handle.h (octave_fcn_handle::fcn_type, - octave_fcn_handle::octave_fcn_handle (const std::string&, const - string_vector&, const std::string&), - octave_fcn_handle::inline_fcn_name, - octave_fcn_handle::inline_fcn_text, - octave_fcn_handle::inline_fcn_arg_names, - octave_fcn_handle::is_inline, - octave_fcn_handle::convert_to_str_internal, - octave_fcn_handle::typ, octave_fcn_handle::iftext, - octave_fcn_handle::ifargs): Delete constructors, - functions, and data members (moved to ov-fcn-inline.h). - * Makefile.in: Include ov-fcn-inline.h and ov-fcn-inline.cc where - appropriate. - * ov-fcn-inline.h, ov-fcn-inline.cc: New class. - -2004-08-05 John W. Eaton - - * ov-base-int.cc (octave_base_int_matrix::save_ascii, - octave_base_int_matrix::load_ascii, - octave_base_int_matrix::save_binary, - octave_base_int_matrix::load_binary, - octave_base_int_matrix::save_hdf5, - octave_base_int_matrix::load_hdf5, - octave_base_int_matrix::try_narrowing_conversion, - octave_base_int_scalar::print_raw, - octave_base_int_scalar::save_ascii, - octave_base_int_scalar::load_ascii, - octave_base_int_scalar::save_binary, - octave_base_int_scalar::load_binary, - octave_base_int_scalar::save_hdf5, - octave_base_int_scalar::load_hdf5): - Sprinkle with this-> as needed. - - * Makefile.in (EXTRAS): New macro. Move ov-base-int.cc here from - OV_INTTYPE_SRC. - (INCLUDES_FOR_INSTALL): New macro. - (install-inc, uninstall): Use it instead of INCLUDES. - - * variables.h (symbol_exist): Default for type is now "any". - -2004-08-05 David Bateman - - * ov-fcn-handle.cc (octave_fcn_handle (const std::string&, - const string_vector&, const std::string&)): New constructor for inline - function handles. - (octave_fcn_handle::print_raw): Allow inline functions to be printed. - (octave_fcn_handle::convert_to_str_internal): New function to allow - Fchar to work on inlined function handles. - (Finline, Fformula, Fargnames, Fvectorize): New functions. - * ov-fcn-handle.h (octave_fcn_handle (const std::string&, - const string_vector&, const std::string&)): Provide decl. - (octave_fcn_handle::convert_to_str_internal): Provide decl. - (fcn_type): New enum for the type of function handle. - (octave_fcn_handle::inline_fcn_text, octave_fcn_handle::is_inline, - octave_fcn_handle::inline_fcn_arg_names): New functions. - (octave_fcn_handle::typ, octave_fcn_handle::iftext, - octave_fcn_handle::ifargs): New private variables for inline functions. - -2004-08-04 John W. Eaton - - * parse.y (fcn_handle): - Recognize '@' FCN_HANDLE rather than just FCN_HANDLE. - Decrement lexer_flags.looking_at_function_handle here. - * lex.h (lexical_feedback::looking_at_function_handle): - New data member. - (lexical_feedback::init): Initialize it. - * lex.l (handle_identifier): Only reject keywords if we are - looking at a function handle. - ("@"): Recognize this separately from what follows. - Increment lexer_flags.looking_at_function_handle here. - - * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle - (octave_function*, const std::string)): Delete. - * ov.h, ov.cc (octave_value::octave_value (octave_function *)): Delete. - (octave_value::octave_value (octave_function *, const std::string)): - Delete. - - * ov-fcn-handle.h (octave_fcn_handle::fcn): Now octave_value, not - pointer to octave_function. - (octave_fcn_handle::octave_fcn_handle (const octave_value&, const - std::string)): New constructor. - * variables.cc (lookup_function): Return octave_value, not pointer - to octave_function. Change all uses. - (lookup_user_function): Return octave_value, not pointer - to octave_user_function. Change all uses. - -2004-08-03 John W. Eaton - - * ov-usr-fcn.cc (octave_user_fcn::do_multi_index_op): Call - install_automatic_vars here. - (octave_user_fcn::octave_user_fcn): Not here. - (install_automatic_vars): Don't mark argn_sr, nargin_sr, - nargout_sr, or varargin_sr as static. - - * oct-stream.cc (octave_scan): Avoid need for pushing two - characters back on the input stream. - -2004-08-02 John W. Eaton - - * oct-stream.cc (octave_scan): For %i format, recognize numbers - with leading 0x or 0X as hex and leading 0 as octal. - - * OPERATORS/op-fcn-handle.cc: Delete. - * Makefile.in (OP_XSRC): Delete it from the list. - * pr-output.cc (octave_print_internal (std::ostream&, const - std::string&, bool, int): New function. - * ov-fcn-handle.cc (octave_value::subsref): New function. - * ov-fcn-handle.h (class fcn_handle_elt, class fcn_handle_array): - Delete. - (class octave_fcn_handle): Derive from octave_base_value, not - octave_base_matrix. - - * ov-cx-mat.cc (try_narrowing_conversion): Also allow complex to - real conversion for N-d arrays. - -2004-07-30 John W. Eaton - - * lex.l ([^#% \t\r\n\;\,\"\'][^ \t\r\n\;\,]*{S}*): - Also recognize \r as a word list separator. - -2004-07-27 John W. Eaton - - * bitfcns.cc (DO_BITSHIFT): Pass mask to bitshift. - (bitshift (double, int, EIGHT_BYTE_INT): New arg, mask. - (DO_UBITSHIFT, DO_SBITSHIFT): Use bitshfit, not operator >>. - Use nbits function from octave_int type to set bits_in_type. - - * ov-struct.cc (Fisfield): Only print usage message if number of - arguments is incorrect. Return false for invalid arguments. - From Andy Adler . - -2004-07-27 David Bateman - - * Cell.cc (Cell::index): Quit early if an error occurs when - creating index vector object. - - * ov-int8.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-uint8.cc, - ov-uint16.cc, ov-uint32.cc, ov-uint64.cc (HDF5_SAVE_TYPE): Define - for HDF5 native format for the type. - - * ov-base-int.h (save_ascii, save_binary, load_binary, save_hdf5): - Delete unused arguments. - - * ov-base-int.cc (octave_base_int_matrix::save_ascii, - octave_base_int_matrix::save_binary, - octave_base_int_scalar::save_ascii, - octave_base_int_scalar::save_binary, - octave_base_int_scalar::save_hdf5): Delete unused argument. - - * ov-base-int.cc (octave_base_int_matrix::save_binary, - octave_base_int_matrix::load_binary, - octave_base_int_matrix::save_hdf5, - octave_base_int_matrix::load_hdf5, - octave_base_int_scalar::save_ascii, - octave_base_int_scalar::load_ascii, - octave_base_int_scalar::save_binary, - octave_base_int_scalar::load_binary, - octave_base_int_scalar::save_hdf5, - octave_base_int_scalar::load_hdf5): Implement missing functions. - -2004-07-23 David Bateman - - * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value, - OCTAVE_VALUE_INT_SCALAR_T::array_value): new methods to extract array - value from integer types. - - * bitfcns.cc (BITOPX): New Macro renamed from BITOP. - (BITOP): Alter to allow different types and call BITOP appropriately. - (DO_SBITSHIFT, DO_UBITSHIFT): New macros for signed, unsigned - bitshifts. - - (DO_BITSHIFT): Test for shift of more bits than in type, which is - undefined. Generalize to allow double args as well. - (Fbitshift): Add int and double types. - (Fbitmax): Return 53 bit value which conforms to IEEE754 double - mantissa. - (Fintmax, Fintmin): New functions. - (Fbitget, Fbitset, Fbitcmp): Delete. - - * OPERATORS/op-int.h: Add sm_el_pow function - - * ops.h (CATOPDECL, DEFCATOPX, DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, - CATOP_NONCONFORMANT, INSTALL_CATOP): New macros. - - * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, - OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, - OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, - OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, OPERATORS/op-m-cm.cc, - OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, - OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, - OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc, - OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc (CATOPDECL, DEFCATOPX, - DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, CATOP_NONCONFORMANT, - INSTALL_CATOP): Use them to define concatenation functions. - - * OPERATORS/op-int.h (OCTAVE_CONCAT_FN, OCTAVE_INSTALL_CONCAT_FN): - New macros to define and install concatentaion functions for int/uint - types. - - * TEMPLATE-INST/Array-tc.cc (INSTANTIATE_ARRAY_CAT): Delete. - - * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): - Also append empty elements to the list of elements to be parsed. - (tree_matrix::rvalue): Use new concatenation binary operators. - - * data.cc (cat_add_dims): Delete (now dim_vector::concat). - (do_cat): Use new concatenation binary operators. - - * ov-typeinfo.cc (cat_op_fcn): Instantiate the array of cat functions. - (register_cat_op, do_register_cat_op, do_lookup_cat_op): New functions. - (cat_ops): Lookup table of binary concatentaion operators. - - * ov-typeinfo.h (lookup_cat_op): New function. - - * ov.cc (gripe_cat_op, gripe_cat_op_conv, do_cat_op): New functions. - - * ov.h (cat_op_fcn): Definition. - (resize, do_cat_op): New functions. - - * ov-intx.h (resize): New_function - - * version.h (OCTAVE_API_VERSION): Bump version to api-v9. - - * Cell.cc, Cell.h, oct-map.cc, oct-map.h (cat): Delete. - (concat): New function. - - * Cell.cc, Cell.h (insert): New function - - * ov-base.cc, ov-base.h, ov-scalar.h, ov-complex.h, ov-bool.h, - ov-range.h, ov-base-mat.h, (resize): New function. - -2004-07-23 John W. Eaton - - * symtab.cc (whos_parameter): Move decl here, from symtab.h. - -2004-07-23 Oyvind Kristiansen - - * symtab.cc (symbol_record::subsymbols_list): New method. - (symbol_record::maybe_list): Call to subsymbols_list and merge - result with the original list of symbols. - - * symtab.cc (symbol_record::make_dimensions_string): New method. - (symbol_record::print_symbol_info_line): Print N-d info. Output - for long format now under control of format string. - (symbol_table::maybe_list): Headers to whos listing updated. - Also print footer info. - (symbol_table::print_descriptor): Method printing the - header of whos listings. - (symbol_table::parse_whos_line_format): New method. - (whos_line_format, Vwhos_line_format): New built-in variables. - (symbols_of_symtab): DEFVAR them. - (symbol_record::nelem, symbol_record::symbol_def::nelem, - symbol_record::byte_size, symbol_record::symbol_def::byte_size): - New methods. - (symbol_record::dimensions_string_req_first_space): New method. - (symbol_record::dimensions_string_req_total_space): New method. - * symtab.h (whos_parameter): New struct. Container for one - parameter in whos_line_format. - -2004-07-22 Paul Kienzle - - * DLD-FUNCTIONS/dassl.cc (Fdassl): Fix doc string. - * ov-struct.cc (Fstruct): Likewise. - * symtab.cc (Fdebug_symtab_lookups): Likewise. - -2004-07-22 David Bateman - - * data.cc (Fsize): Return 1 for dimensions exceeding ndim. - - * ov.cc (octave_value::octave_value (const ArrayN)): - New constructor. - * ov.h: Provide decl. - * ov-cx-mat.h (octave_complex_matrix (const ArrayN&)): - New constructor. - * ov-re-mat.h (octave_complex_matrix (const ArrayN&)): - New constructor. - - * ov-re-mat.h (octave_matrix(const ArrayN&)): New constructor - * pt-loop.cc (DO_ND_LOOP): New macro for use of NDArray in for loop. - (tree_simple_for_command::eval): Use it, and allow iteration over - cell arrays. - -2004-07-12 John W. Eaton - - * ov-intx.h: N-d array and scalar extractor functions take no args. - - * ov.h (octave_value::int8_scalar_value, - octave_value::int16_scalar_value, octave_value::int32_scalar_value, - octave_value::int64_scalar_value, octave_value::uint8_scalar_value, - octave_value::uint16_scalar_value, octave_value::uint32_scalar_value, - octave_value::uint64_scalar_value): New functions. - * ov-base.cc (octave_base_value::int8_scalar_value, - octave_base_value::int16_scalar_value, - octave_base_value::int32_scalar_value, - octave_base_value::int64_scalar_value, - octave_base_value::uint8_scalar_value, - octave_base_value::uint16_scalar_value, - octave_base_value::uint32_scalar_value, - octave_base_value::uint64_scalar_value): New functions. - * ov-base.h: Provide decls. - - * lex.l: (Vtoken_count): New static variable. - (COUNT_TOK_AND_RETURN): New macro. Use it everywhere a token is - returned to the parser. - (F__token_count__): New function. - -2004-06-25 John W. Eaton - - * OPERATORS/op-int-conv.cc: Add conversions for range type. - -2004-06-17 John W. Eaton - - * bitfcns.cc (bitfcns): New file. - * Makefile.in (DIST_SRC): Add it to the list. - -2004-06-16 John W. Eaton - - * OPERATORS/op-int.h: New file. - * OPERATORS/op-i16-i16.cc, OPERATORS/op-i8-i8.cc, - OPERATORS/op-ui32-ui32.cc, OPERATORS/op-i32-i32.cc, - OPERATORS/op-int-conv.cc, OPERATORS/op-ui64-ui64.cc, - OPERATORS/op-i64-i64.cc, OPERATORS/op-ui16-ui16.cc, - OPERATORS/op-ui8-ui8.cc: Use new macros from op-int.h. - -2004-06-14 John W. Eaton - - * pr-output.h, pr-output.cc (octave_print_conv): New traits class. - (template void octave_print_internal (std::ostream&, - const intNDArray&, bool, int), - (template void octave_print_internal (std::ostream&, - const octave_int&, bool)): New template functions. - Instantiate versions for new int types. - - * ov-typeinfo.h (octave_value_typeinfo::type_conv_ops): - New data member. - (octave_value_typeinfo::register_type_conv_op, - octave_value_typeinfo::lookup_type_conv_op, - octave_value_typeinfo::do_register_type_conv_op, - octave_value_typeinfo::do_lookup_type_conv_op): New functions. - - * ov-re-mat.cc (Fdouble): New function. - - * ov-range.h (octave_range::reshape): Reshape array_value, not - matrix_value. - - * ov-base-scalar.h (octave_base_scalar::all, - octave_base_scalar::any, octave_base_scalar::is_true): Use - ST() instead of 0.0. - - * ov-base-mat.h (octave_base_matrix::byte_size): New function. - - * ops.h (INSTALL_COLNVOP, DEFCONVFNX, DEFDBLCONVFN, DEFCONVFN, - DEFCONVFN2): New macros. - - * DLD-FUNCTIONS/filter.cc (Ffilter): Kluge type conversions. - - * ov.cc (install_types): Register new integer types. - - * ov.h, ov.cc (octave_value::octave_value (const octave_int8&), - octave_value::octave_value (const octave_uint8&), - octave_value::octave_value (const octave_int16&), - octave_value::octave_value (const octave_uint16&), - octave_value::octave_value (const octave_int32&), - octave_value::octave_value (const octave_uint32&), - octave_value::octave_value (const octave_int64&), - octave_value::octave_value (const octave_uint64&), - octave_value::octave_value (const int8NDArray&), - octave_value::octave_value (const uint8NDArray&), - octave_value::octave_value (const int16NDArray&), - octave_value::octave_value (const uint16NDArray&), - octave_value::octave_value (const int32NDArray&), - octave_value::octave_value (const uint32NDArray&), - octave_value::octave_value (const int64NDArray&), - octave_value::octave_value (const uint64NDArray&)): - New constructors. - - * ov.h (octave_value::internal_rep): New function. - (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Also define - static_type_id, static_type_name, and static_class_name - functions. - - * Cell.h (Cell::reshape (const dim_vector&)): New forwarding - function for return type conversion. - - * ov-int16.cc, ov-int16.h, ov-int32.cc, ov-int32.h, ov-int64.cc, - ov-int64.h, ov-int8.cc, ov-int8.h, ov-uint16.cc, ov-uint16.h, - ov-uint32.cc, ov-uint32.h, ov-uint64.cc, ov-uint64.h, ov-uint8.cc, - ov-uint8.h, ov-type-conv.h, ov-int-traits.h, - OPERATORS/op-int-conv.cc, OPERATORS/op-double-conv.cc, - OPERATORS/op-i16-i16.cc, OPERATORS/op-i32-i32.cc, - OPERATORS/op-i64-i64.cc, OPERATORS/op-i8-i8.cc, - OPERATORS/op-ui16-ui16.cc, OPERATORS/op-ui32-ui32.cc, - OPERATORS/op-ui64-ui64.cc, OPERATORS/op-ui8-ui8.cc: New files. - Makefile.in: Add them to the appropriate lists. - -2004-06-03 John W. Eaton - - * ov-fcn-handle.h (octave_function_handle::is_matrix_type, - octave_function_handle::is_numeric_type, - octave_function_handle::is_constant, - octave_function_handle::is_true): New functions. - (octave_function_handle::is_defined): Delete (inherited version is - OK). - -2004-06-03 David Bateman - - * DLD-FUNCTIONS/filter.cc: Fix for length(a)=1 && length(b)=2 case. - -2004-05-07 John W. Eaton - - * ov.cc (octave_value::print_with_name): Only print name tag if - Vprint_answer_id_name is true. - - * octave.cc (intern_argv): Insert __nargin__ in top_level_sym_tab - instead of making it a builtin variable. Mark it static. - * ov-usr-fcn.cc (octave_user_function::install_automatic_vars): - Mark local automatic variables static. - -2004-04-30 John W. Eaton - - * oct-stream.cc (octave_base_stream::clearerr): New function. - (octave_stream::clearerr): New function. - (seek (long, int)): Call clearerr here. - * oct-stdstrm.h (octave_stdiostream::clear): New function. - * c-file-ptr-stream.h (c_file_ptr_buf::clear, - i_c_file_ptr_stream::clear, o_c_file_ptr_stream::clear, - io_c_file_ptr_stream::clear): New functions. - -2004-04-29 David Bateman - - * load-save.cc (Fload, Fsave): Accept -mat as well as -mat-binary. - -2004-04-27 David Bateman - - * DLD-FUNCTIONS/sort.cc: Add missing "class" keywords to template - instantiations. - -2004-04-22 John W. Eaton - - * pt-plot.cc (Fclearplot): Temporarily turn off automatic_replot. - Clear display after resetting title, labels, etc. - -2004-04-22 John W. Eaton - - * pt-colon.cc (tree_colon_expression::rvalue): Also check for - error_state after evaluating each subexpression. - -2004-04-22 David Bateman - - * ov-base-scalar.h (octave_base_scalar::permute): New function. - - * ov-base-mat.cc (octave_base_matrix::is_true): Make N-d aware. - -2004-04-22 John W. Eaton - - * oct-stream.cc (printf_value_cache::curr_value): Now NDArray. - (printf_value_cache::double_value): Extract N-d array, not Matrix. - -2004-04-21 John W. Eaton - - * parse.y (function2): Pass id name to frob_function. Delete id. - (frob_function): Accept function name instead of identifier. - Don't try to rename symbol table entry. Lookup symbol record for - function name here. Insert name in symbol table if needed. - Operate on symbol record instead of identifier. - -2004-04-21 David Bateman - - * DLD_FUNCTIONS/fft.cc(do_fft): Correctly initialize the variable dim - for scalar arguments. - - * DLD-FUNCTIONS/minmax.cc: Handle single vector arg correctly. - -2004-04-20 John W. Eaton - - * ls-mat-ascii.cc (read_mat_ascii_data): Prepend "X" to keywords. - Only drop text after last "." in name. - - * lex.l (is_keyword): New function. - (Fiskeyword): Use it. - * lex.h: Provide decl. - - * lex.l (is_keyword_token): Rename from is_keyword. - -2004-04-16 John W. Eaton - - * file-io.cc (maybe_warn_interface_change): New function. - (fopen_mode_to_ios_mode): Use it. - -2004-04-16 Paul Kienzle - - * file-io.cc (fopen_mode_to_ios_mode): Default to binary mode. - (Ffopen): Document 't' and 'b' mode flags. - -2004-04-16 John W. Eaton - - * Makefile.in (DLD_XSRC): Add gcd.cc to the list. - -2004-04-16 David Bateman - - * DLD-FUNCTIONS/gcd.cc: New file. - -2004-04-15 David Bateman - - * ov-ch-mat.h: convert_to_str_interal returns charNDArray. - -2004-04-12 John W. Eaton - - * version.h (OCTAVE_BUGS_STATEMENT): Bug list is now bug@octave.org. - -2004-04-08 John W. Eaton - - * ov-base-mat.cc (octave_base_matrix::do_index_op): Quit early - if an error occurs when creating index vector object. - - * ov.cc (octave_value::numeric_assign): Always call maybe_mutate - on return value. - -2004-04-06 David Bateman - - * DLD_FUNCTIONS/sort.cc: Use the new template sort class, adapt for - N-d arrays, and allow optional dim argument. - - * DLD_FUNCTIONS/fftn.cc: Save result of transpose operation. - Check for failure of transpose. - -2004-04-02 John W. Eaton - - * ov-bool.h (octave_bool::bool_array_value): New function. - - * ov-base-mat.cc (octave_base_matrix::subsasgn): Don't allow - expressions like x(i)(j) or x(i){j} when x is empty. - - * load-save.cc (get_file_format): Error if file does not exist. - (Fload): Also complain here if specific file type is specified and - file does not exist. - -2004-04-02 Quentin Spencer - - * parse.y: Use persistent instead of static in warnings messages. - -2004-04-02 John W. Eaton - - * pt-decl.cc (tree_static_command::do_init): Initialize to empty - matrix by default. - -2004-04-02 David Bateman - - * ov-re-mat.cc (octave_matrix::convert_to_str_internal): - Return charNDArray. - * ov-bool-mat.cc (octave_bool_matrix::convert_to_str_internal): - Call array_value. - - * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, - DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/minmax.cc, - DLD-FUNCTIONS/filter.cc: - Convert for N-d array, better Matlab compatibility. - - * load-save.cc (Fload): Better handling of non existent files. - -2004-03-19 John W. Eaton - - * ov-list.cc (octave_list::subsref): Correctly create return value. - Return comma-separate list if {-style indexing extracts more than - one value. - -2004-03-12 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.57. - (OCTAVE_API_VERSION): Now api-v8. - - * ov-cell.cc (octave_cell::save_hdf5): Handle empty cells. - (octave_cell::load_hdf5): Likewise. - -2004-03-11 John W. Eaton - - * ov-base-mat.cc (octave_base_matrix::subsasgn): If empty, - allow type conversion when indexing with "{" and ".". - -2004-03-10 John W. Eaton - - * pr-output.cc (init_format_state): Also set compact_format. - (pr_col_num_header): Print one newline character before column - headers for compact format. - -2004-03-09 John W. Eaton - - * version.h (OCTAVE_WWW_STATEMENT): New macro. - (OCTAVE_STARTUP_MESSAGE): Include it here. - (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS): And here. - - * octave.cc (verbose_usage): Use OCTAVE_WWW_STATEMENT here. - - * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): If there are no - nonzero elements, return [](0x1) or [](1x0), not [](0x0). - Correctly preserve orientation for row vectors. - -2004-03-08 Petter Risholm - - * data.cc (do_cat): Check for length of args before getting dimension. - New arg, fname. Print usage message corresponding to fname. - (Fcat): Pass "cat" as fname arg to do_cat. - (Fhorzcat): Pass "horzcat" as fname arg to do_cat. - (Fvertcat): Pass "vertcat" as fname arg to do_cat. - -2004-03-05 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.56. - (OCTAVE_API_VERSION): Now api-v7. - -2004-03-04 John W. Eaton - - * ov-struct.cc (Frmfield): New function - - * oct-map.h (Octave_map::contains): Return bool, not int. - - * ov-cell.cc (Fiscellstr): No error if arg is not a cell array. - (Fcellstr): Return arg if it is already a cell array of character - strings. - -2004-03-03 John W. Eaton - - * ov-bool.cc (octave_bool::load_hdf5, octave_bool::save_hdf5): - Avoid unnecessary casts. - * ov-bool-mat.cc (octave_bool_matrix::load_hdf5, - octave_bool_matrix::save_hdf5): Likewise. - * ov-cell.cc (octave_cell::load_hdf5, octave_cell::save_hdf5): - Likewise. - * ov-complex.cc (octave_complex::load_hdf5, - octave_complex::save_hdf5): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::load_hdf5, - octave_complex_matrix::save_hdf5): Likewise. - * ov-range.cc (octave_range::load_hdf5, octave_range::save_hdf5): - Likewise. - * ov-re-mat.cc (octave_matrix::load_hdf5, octave_matrix::save_hdf5): - Likewise. - * ov-scalar.cc (octave_scalar::load_hdf5, octave_scalar::save_hdf5): - Likewise. - * ov-str-mat.cc (octave_char_matrix_str::load_hdf5, - octave_char_matrix_str::save_hdf5): Likewise. - -2004-03-03 David Bateman - - * ov-cell.cc (octave_cell::save_hdf5, octave_cell::load_hdf5): - Make N-d aware. - -2004-03-03 John W. Eaton - - * parse.y: Delete spaces surrounding = in %name-prefix directive. - -2004-03-01 Petter Risholm - - * Cell.cc (Cell::cat): New function. - * Cell.h: Provide decl. - - * oct-map.cc (Octave_map::cat): New function. - * oct-map.h: Provide decl. - - * data.cc (Fcat): Speedup implementation. - - * data.cc (Fhorzcat, Fvertcat): New functions. - - * Array-tc.cc: Instantiate cat function. - -2004-03-01 David Bateman - - * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): New functions - to save/load empty matrices keeping their dimensions. - * ls-hdf5.h (save_hdf5_empty, load_hdf5_empty): Provide decls. - - * ov-re-mat.cc (save_hdf5, load_hdf5): Cleanup, check empty matrix. - * ov-cx-mat.cc (save_hdf5, load_hdf5): Ditto. - * ov-bool-mat.cc (save_hdf5, load_hdf5): Ditto. - - * ov-str-mat.cc (save_ascoo, load_ascii, save_binary, - load_binary, save_hdf5, load_hdf5): Cleanup, check empty matrix, - and save/load N-d arrays. - -2004-02-27 John W. Eaton - - * octave.cc (execute_startup_files): Don't find current directory - for absolute name of local_rc until after executing home_rc. - -2004-02-24 John W. Eaton - - * input.cc (input_event_hook): Return type is now int. Return 0. - - * file-io.cc (do_stream_open): Don't call ::error if stream can't - be created. Don't call ::fopen if arch is invalid. Set error - state for stream if fopen fails. - * oct-stream.h (octave_stream::error (const char *)): New function. - (octave_stream::error (const std::string&)): Now public. - -2004-02-23 John W. Eaton - - * file-io.cc (Fftell): Return long integer instead of streamoff_array. - (do_stream_open): Create octave_stdiostream instead of octave_fstream. - - * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell): - Always fail. Signatures now match C library functionsb. - * oct-iostrm.cc (octave_base_iostream::seek, - octave_base_iostream::tell): Likewise. - * oct-strstrm.cc (octave_base_strstream::seek, - octave_base_strstream::tell): Likewise. - - * oct-stream.cc (octave_stream::seek, octave_stream::tell): - Signatures now match C-library functions. - - * oct-stdstrm.cc (octave_stdiostream::seek, octave_stdiostream::tell): - Call io_c_file_ptr_stream::seek and tell. Signatures now match - C-library functions. - - * c-file-ptr-stream.h (c_file_ptr_buf::seek, c_file_ptr_buf::tell): - New functions. - (i_c_file_ptr_stream::seek, i_c_file_ptr_stream::tell): Likewise. - (o_c_file_ptr_stream::seek, o_c_file_ptr_stream::tell): Likewise. - (io_c_file_ptr_stream::seek, io_c_file_ptr_stream::tell): Likewise. - -2004-02-20 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.55. - (OCTAVE_API_VERSION): Now api-v6. - - * sighandlers.cc (sigfpe_handler, sigpipe_handler): - Don't increment octave_interrupt_state if it is less than 0. - (sigint_handler): If octave_interrupt_state is less than zero, - reset it. - - * pt-except.cc (do_catch_code): Call OCTAVE_QUIT here so the catch - code won't run if an interrupt is pending. Don't run catch code - if octave_interrupt_state is less than zero. - -2004-02-20 Per Persson - - * Makefile.in (OCT_LINK_DEPS, OCTINTERP_LINK_DEPS): - Include $(LIBS) in the list before $(FLIBS). - -2004-02-20 John W. Eaton - - * pr-output.cc (octave_print_internal (std::ostream&, const - Range&, bool, int)): Don't print values beyond the limits of the - range. - - * sighandlers.cc (sigint_handler): Print message after two - consecutive interrupts, dump core after three or more. - - * load-save.cc (dump_octave_core): Handle core size limit. - Rename from save_user_variables. Change all callers. - (Fload, dump_octave_core, Fsave): Open HDF5 fils in binary mode. - (do_save): Extract switch over file types to separate function. - - * load-save.cc (Voctave_core_file_limit): New variable. - (octave_core_file_limit): New function. - (symbols_of_load_save): Add DEFVAR for octave_core_file_limit. - - * load-save.cc (Voctave_core_file_name): New variable. - (octave_core_file_name): New function. - (symbols_of_load_save): Add DEFVAR for octave_core_file_name. - - * load-save.cc (Voctave_core_file_format): - Rename from Voctave_core_format. - (octave_core_file_format): Rename from octave_core_format. - (symbols_of_load_save): Fix DEFVAR to match. - -2004-02-19 John W. Eaton - - * ov.cc (Fsizeof): New function. - - * ov.h (octave_value::byte_size): New function. - * ov-base.h (octave_base_value::byte_size): New function. - * ov-base-scalar.h (octave_base_scalar::byte_size): New function. - * ov-bool-mat.h (octave_bool_matrix::byte_size): New function. - * ov-ch-mat.h (octave_char_matrix::byte_size): New function. - * ov-cx-mat.h (octave_complex_matrix::byte_size): New function. - * ov-re-mat.h (octave_matrix::byte_size): New function. - * ov-range.h (octave_range::byte_size): New function. - * ov-cell.cc (octave_cell::byte_size): New function. - * ov-cell.h: Provide decl. - * ov-struct.cc (octave_struct::byte_size): New function. - * ov-struct.h: Provide decl. - * ov-streamoff.h (octave_streamoff::byte_size): New function. - * ov-list.cc (octave_list::byte_size): New function. - * ov-list.h: Provide decl. - - * xpow.cc (elem_xpow (const Matrix&, double)): - Convert both operands to Complex if any element of A is negative. - (elem_xpow (const NDArray&, double)): Likewise. - -2004-02-18 John W. Eaton - - * load-save.cc (Voctave_core_format): New static_variable. - (octave_core_format): New function. - (symbols_of_load_save): Add DEFVAR for octave_core_format. - (get_save_format): Rename from get_default_save_format. - Pass name of format as arg. New optional arg, fallback_format. - Change all uses. - (save_user_variables): Use pass Voctave_core_format to - get_save_format here. Pass LS_BINARY as fallback_format. - - * sighandlers.cc (my_friendly_exit): New optional arg, save_vars. - Only call save_user_variables if save_vars is true. - (sigint_handler): If interactive, offer to abort and save - workspace after three consecutive interrupts. - (sigint_handler, sigpipe_handler, sigfpe_handler): - Increment octave_interrupt_handler instead of setting it to 1. - -2004-02-16 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.54. - (OCTAVE_API_VERSION): Now api-v5. - - * Makefile.in (DLD_XSRC): Always include fftw_wisdom.cc. - - * DLD-FUNCTIONS/fftw_wisdom.cc: - Rename from DLD-FUNCTIONS/fft_wisdom.cc. - (Vfftw_wisdom_prog): Delete extern decl. - (Ffftw_wisdom): Rename from Ffft_wisdom. - Use Vfftw_wisdom_prog instead of Vwisdom_prog. - Always define function. Signal error if not configured to use FFTW3. - - * defaults.cc (symbols_of_defaults): Rename WISDOM_PROGRAM to be - FFTW_WISDOM_PROGRAM. - (Vfftw_wisdom_prog): Rename from Vwisdom_prog. - (fftw_wisdom_program): Rename from wisdom_program. - For simplicity, always define FFTW_WISDOM_PROGRAM even when not - using fftw3. - (set_default_wisdom_prog): Look for OCTAVE_FFTW_WISDOM_PROGRAM in - the environment instead of OCTAVE_WISDOM_PROGRAM. - (set_default_fftw_wisdom_prog): Rename from set_default_wisdom_prog. - * defaults.h.in (Vfftw_wisdom_prog): Provide extern decl. - -2004-02-16 David Bateman - - * DLD-FUNCTIONS/fft.cc: Adapt for Nd arrays, combine with ifft.cc. - * DLD-FUNCTIONS/ifft.cc: Delete. - * DLD-FUNCTIONS/fft2.cc: Adapt for Nd arrays, combine with ifft.cc. - * DLD-FUNCTIONS/ifft2.cc: Delete. - * DLD-FUNCTIONS/fftn.cc: New function for Nd FFT and inverse FFT. - * DLD-FUNCTIONS/fft_wisdom.cc: New function to manipulate FFTW - wisdom. - - * Makefile.in: Remove ifft.cc and ifft2.cc. Add fftn.cc and - ifftn.cc. Make building of fft-wisdom.cc conditional on the - value of FFTW_LIBS. - * defaults.cc (Vwisdom_prog): New variable - (set_default_wisdom_prog, wisdom_prog): New functions. - (symbols_of_defaults): Add DEFVAR for wisdom_prog. - -2004-02-16 John W. Eaton - - * ov-list.cc (octave_list::subsasgn): Call assign for Cell objects - here, not the base octave_value::assign. - -2004-02-15 John W. Eaton - - * lex.l (yywrap): Don't #undef this symbol. - -2004-02-15 Petter Risholm - - * pt-mat.cc: Make [,] concatenation work for N-d arrays. - -2004-02-15 John W. Eaton - - * data.cc (do_cat): Merge with Fcat. - -2004-02-15 Petter Risholm - - * ov-cell.cc (Fstruct2cell): New function. - -2004-02-14 John W. Eaton - - * Makefile.in (OCTINTERP_LINK_DEPS, OCT_LINK_DEPS): Always define. - - * oct-conf.h.in: Add OCTAVE_CONF_DL_LD, OCTAVE_CONF_DL_LDFLAGS, - and OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS. - Delete OCTAVE_CONF_MKOCTFILE_SH_LDFLAGS. - - * toplev.cc (octave_config_info): Delete MKOCTFILE_SH_LDFLAGS. - Add DL_LD, DL_LDFLAGS, and MKOCTFILE_DL_LDFLAGS to the struct. - -2004-02-14 Per Persson - - * Makefile.in (%.oct): Use DL_LD instead of SH_LD to build .oct files. - -2004-02-14 John W. Eaton - - * ov-base-scalar.h (octave_base_scalar::squeeze): New function. - -2004-02-13 Petter Risholm - - * data.cc (Fcat): New function. - * data.cc (do_cat): New function. - * data.cc (cat_add_dims): New function. - -2004-02-13 John W. Eaton - - * toplev.cc (main_loop): Call octave_parse, not yyparse. - * octave.cc (octave_main): Increment octave_debug, not yydebug. - * parse.y (%name-prefix): New directive, set to "octave_". - * parse.h: Provide declarations for octave_lex and octave_parse - instead of yylex and yyparse. - * lex.l (%option prefix): New directive, set to "_octave". - Define yylval to be octave_lval. - Move definitions of YY_INPUT, YY_FATAL_ERROR, TOK_RETURN, - TOK_PUSH_AND_RETURN, BIN_OP_RETURN, XBIN_OP_RETURN here. - * lex.h: From here. - -2004-02-07 Petter Risholm - - * ov-struct.cc (Fcell2struct): New function. - (cell2struct_check_args, cell2struct_construct_idx): Likewise. - -2004-02-07 John W. Eaton - - * ov-scalar.h (octave_scalar::empty_clone): - Return empty octave_matrix, not an octave_scalar object. - * ov-complex.h (octave_complex::empty_clone): - Return empty octave_complex_matrix, not an octave_complex object. - -2004-02-06 John W. Eaton - - * ov-usr-fcn.h (octave_user_function::function_name): Delete. - (octave_user_function::fcn_name): Delete unused data member. - (octave_user_function::stash_function_name): Save name in - tree_function::my_name instead of fcn_name. - Change all uses of fcn_name to be my_name instead. - - * pt.h, pt.cc (tree::break_function): Now pointer to - octave_function rather than octave_user_function object. - - * pt-bp.h (MAYBE_DO_BREAKPOINT): Use name instead of function_name - to get name from curr_function. - * pt-pr-code.cc (tree_print_code::visit_octave_user_function_header): - likewise. - * debug.cc (Fdbwhere, Fdbtype, ): Likewise - * error.cc (pr_where): Likewise. - * variables.cc (Fmlock, Fmunlock, Fmislocked): Likewise. - (lookup_function, lookup_user_function, link_to_builtin_or_function): - Likewise, for curr_parent_function. - - * debug.cc (get_user_function, Fdbwhere): - Cast curr_function to pointer to octave_user_function. - - * ov-mapper.cc (octave_mapper::do_multi_index_op): - Save and restore curr_function here. - * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. - - * toplev.h, toplev.cc (curr_function, curr_parent_function): Now - pointers to octave_function rather than octave_user_function objects. - - * ov-usr-fcn.h (octave_user_function::is_user_function): New function. - * ov-fcn.h (octave_function::takes_varargs, - octave_function::octave_va_start, octave_function::octave_va_arg, - octave_function::octave_all_va_args, - octave_function::takes_var_return, octave_function::octave_vr_val, - octave_function::is_user_function): New virtual functions. - -2004-02-05 John W. Eaton - - * ov-struct.cc (Fstruct): Use new Octave_map constructor to create - structures with specified sizes but no keys. - - * ov-struct.cc (Fstruct): New function, from Paul Kienzle - and Petter Risholm . - - * oct-map.h (Octave_map::Octave_map): Allow dimension to be - specified for map with no keys. - - * ov-struct.cc (fieldnames): Return 0x1 cell array if no fieldnames. - -2004-02-05 Petter Risholm - - * ov-base-mat.cc (octave_base_matrix::do_index_op): - Don't fail if number of indices is greater than 2. - -2004-02-05 John W. Eaton - - * data.cc (Fsize): Update for N-d objects. - - * ls-mat5.cc (read_mat5_binary_element): Force conversion. - - * ov-base.cc (octave_base_value::char_matrix_value): - Pass force arg to convert_to_str. - - * data.cc (Freshape): Chop trailing singletons from new dimensions. - -2004-02-03 John W. Eaton - - * error.cc (defun_usage_message): Only accept one arg, a const - std::string& object. Change all uses. Pass nul-terminated string - to defun_message_1. - (defun_usage_message_1): New function, equivalent to old - defun_usage_message. - - * ov-base.cc (nint_value): Use fix, not NINT. - (INT_CONV_METHOD): Likewise, use fix instead of just casting. - - * data.cc (make_diag): Use int_value instead of nint_value to - extract k for Matlab compatibility. - (Flinspace): Likewise, for npoints. - (fill_matrix): Likewise, for extracting dims. - (Fsize): Likewise, for extracting dim argument. Require int value. - * utils.cc (get_dimensions): Likewise. Use fix, not NINT. - -2004-02-02 John W. Eaton - - * error.cc (verror, error_1): New arg, os. Use this instead - of always printing to std:cerr. Change all callers. - - * error.cc (defun_usage_message): New function. - * error.h: Provide decl. - * defun.cc (print_usage): Use it to display error message. - - * error.cc (verror): New arg, save_last_error. Change all callers. - (usage): Set error_state after calling verror. - - * oct-map.cc (Octave_map::assign (const std::string, const Cell&)): - Set dimensions to RHS dimensions, not 1x1. - -2004-01-23 John W. Eaton - - * ov-bool.cc, ov-cx-mat.cc, ov-re-mat.cc, ov-str-mat.cc: - Include . - * file-io.cc, ls-hdf5.cc, ls-mat4.cc, ls-mat5.cc, ls-oct-binary.cc: - Include , not for new defn of OCTAVE_LOCAL_BUFFER. - * load-save.cc, ls-mat-ascii.cc, ls-oct-ascii.cc - No need to include now. - - * DLD-FUNCTIONS/eig.cc (Feig): Use new optional arg for EIG to - avoid computing eigenvectors if not requested. - Based on a patch from David Bateman . - -2004-01-23 John W. Eaton - - * ov-cell.cc (all_strings): Always compute total required length - of retval. - -2004-01-22 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.53. - (OCTAVE_API_VERSION): Now api-v4. - - * error.cc (pr_where): New arg, print_code with default value true. - (warning): Call pr_where with second arg false. - - * file-io.cc (Ffrewind): Only return value if nargout > 0. - (Ffprintf): Likewise. - (Fprintf): Likewise. - - * file-io.cc (Ffrewind): Return 0 for success, -1 for failure. - Make docs match. - - * Makefile.in (distclean): Remove DOCSTRINGS. - (maintainer-clean): Remove $(OPT_HANDLERS). - -2004-01-21 John W. Eaton - - * ov-cell.cc (octave_cell::subsref): Make '{' case N-d aware. - - * ov-scalar.cc (streamoff_array_value): New function. - * ov-scalar.h: Provide decl. - - * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): New maco. - Use it to define streamoff by matrix, streamoff by scalar, scalar - by streamoff, and matrix by streamoff comparison operators. - (install_streamoff_ops): Install them. - - * Cell.h (Cell::operator ()): Delete (we inherit them from Array). - (maybe_resize, elem_internal): Delete unused functions. - - * ls-mat5.cc (write_mat5_cell_array): Cell& arg is now const. - -2004-01-20 John W. Eaton - - * variables.cc (is_valid_function): If warn, also print error - message if arg is not a string. - - * ov-usr-fcn.cc (Fnargin, Fnargout): New functions. - - * octave.cc (intern_argv): Lookup __nargin__ instead of nargin. - * ov-usr-fcn.cc (octave_user_function::install_automatic_vars): - Lookup __nargin__ and __nargout__ instead of nargin and nargout. - - * variables.h (at_top_level): Now extern. - (lookup_user_function): New function. - * variables.cc: Provide decls. - - * ov.h, ov.cc (octave_value::user_function_value): - New virtual function. - * ov-base.h, ov-base.cc (octave_base_value::user_function_value): - Provide default version. - * ov-usr-fcn.h (octave_user_function::user_function_value): - New function. - - * ov-re-mat.cc (complex_array_value): New function. - * ov-re-mat.h: Provide decl. - - * ov-cell.cc (Fiscellstr): Don't return value on usage error. - - * error.cc: (symbols_of_error): Delete DEFVAR for error_text. - Define __error_text__ and error_text as aliases for lasterr. - - * error.cc (bind_global_error_variable, clear_global_error_variable): - Delete. - * variables.h: Delete decls. - - * parse.y (Feval, Fevalin): Don't call bind_global_error_variable. - Don't add clear_global_error_variable to the unwind_protect stack. - Increment buffer_error_messages before evaluating "eval" code, - decrement it before evaluating "catch" code. - - * pt-except.cc (do_catch_code): Don't call bind_global_error_variable. - Don't add clear_global_error_variable to the unwind_protect stack. - Decrement buffer_error_messages here. - (tree_try_catch_command::eval): Increment buffer_error_messages here. - - * error.cc, error.h (buffer_error_messages): Now an int. - -2004-01-16 John W. Eaton - - * toplev.cc (octave_config_info): Add float_format, - words_big_endian, and words_little_endian to the struct. - -2004-01-14 David Bateman - - * ov-cell.cc (octave_cell::load_hdf5): Fix for HDF5 version 1.6 - handling of number of objects in a group. - * ov-struct.cc (octave_struct::load_hdf5): Likewise. - * ov-list.cc (octave_list::load_hdf5): Likewise. - * ls-hdf5.cc (read_hdf5_data): Likewise. - -2004-01-13 John W. Eaton - - * ls-hdf5.h: Surround contents with #if defined (HAVE_HDF5). - -2004-01-10 John W. Eaton - - * oct-stream.cc (convert_to_valid_int, get_size): - Use lo_ieee_is_NaN_or_NA instead of xisnan. - (octave_base_stream::do_printf): Correct special case check for - NA, NaN, Inf, or out of range integers. - - * dirfns.cc (Fglob): Always return list of files as a cell array. - (Freaddir): Likewise. - - * dirfns.cc (Fls): If nargout > 0, return ls output. - -2004-01-09 John W. Eaton - - * load-save.cc (Fload): Assume -force by default. - - * oct-stream.cc (octave_base_stream::write): - Allow fwrite (fid, "some string") to work. - - * toplev.cc (Fcomputer): Delete. - (octave_config_info): Add unix and windows fields to the struct. - -2004-01-06 David Bateman - - * ls-hdf5.cc: Fix handle of old versus new format files. - - * ls-oct-binary.cc: Split the load/save functionality into the types - themselves. Backward compatibility maintained. - - * ov-struct.cc (save_binary, load_binary): - * ov-str-mat.cc (save_binary, load_binary): - * ov-scalar.cc (save_binary, load_binary): - * ov-re-mat.cc (save_binary, load_binary): - * ov-range.cc (save_binary, load_binary): - * ov-list.cc (save_binary, load_binary): - * ov-cx-mat.cc (save_binary, load_binary): - * ov-complex.cc (save_binary, load_binary): - * ov-cell.cc (save_binary, load_binary): - * ov-bool.cc (save_binary, load_binary): - * ov-bool-mat.cc (save_binary, load_binary): - New functions for loading and saving structures in octave binary - format. - - * ov-str-mat.h (save_binary, load_binary): - * ov-scalar.h (save_binary, load_binary): - * ov-re-mat.h (save_binary, load_binary): - * ov-range.h (save_binary, load_binary): - * ov-list.h (save_binary, load_binary): - * ov-cx-mat.h (save_binary, load_binary): - * ov-complex.h (save_binary, load_binary): - * ov-cell.h (save_binary, load_binary): - * ov-bool.h (save_binary, load_binary): - * ov-bool-mat.h (save_binary, load_binary): - * ov-struct.h (save_binary, load_binary): - Provide decls. - - * ov.h (save_binary, load_binary): New virtual functions. - - * ov-base.cc (save_binary, load_binary): New functions, for fallbacks - with error message. - * ov-base.h: Provide decls. - - * load-save.cc: Remove "-import" flag and make it the default. - * load-save.h: Likewise. - - * ls-oct-ascii.cc: Split the load/save functionality into the types - themselves. Save "string" variables with the name "string" rather than - string array. Backward compatiability maintained in ov-cs-mat.cc. - Include new version of extract_keyword that halts if the next value is - invalid rather that searching for the next valid value. - - * ls-oct-ascii.h: Extract_keyword header updated. - Include definition of OCT_RBV and CELL_ELT_TAG, since they are now - used elsewhere. - - * ls-hdf5.cc: Split load/save functionality into the types themselves. - The hdf5 format is changed so that each object is a group with a - dataset "type" being a string with the octave_value type and the - dataset or group "value" containing the value of the data, struct, etc. - This allows extensibility. Backward compatibility is maintained. The - "import" flag is now assumed to always be true and has been removed. - - * ov-struct.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-str-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-scalar.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-re-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-range.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-list.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-cx-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-complex.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-cell.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-bool.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-bool-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - New functions for loading and saving structures in octave ascii - and hdf5 formatted files. - - * ov-struct.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-str-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-scalar.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-re-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-range.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-list.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-cx-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-complex.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-cell.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-bool.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - * ov-bool-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): - Provide decls. - - * ov-typeinfo.cc (octave_value_typeinfo::do_lookup_type): Include - make_unique so that the stored type value is not used for all loaded - variables. - - * ov.h: (save_ascii, load_ascii, save_hdf5 and load_hdf5): - New virtual functions. - - * ov-base.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): - New functions, for fallbacks with error message. - * ov-base.h: Provide decls. - -2003-12-22 John W. Eaton - - * ov-cx-mat.cc (octave_complex_matrix::assign): RHS arg is N-d. - * ov-cx-mat.h: Fix decl. - - * ops.h (DEFNDASSIGNOP_FN): New macro. - * OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, - OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-m-s.cc: Use it instead of DEFASSIGNOP_FN. - -2003-12-19 John W. Eaton - - * xpow.cc (xpow (double, double)): Avoid apparent GNU libm bug. - -2003-12-17 John W. Eaton - - * symtab.cc (symbol_record::print_symbol_info_line): - Also check is_static to see if a symbol can be cleared. - -2003-12-16 John W. Eaton - - * lex.l (is_keyword): Also allow varargout_kw if - lexer_flags.looking_at_return_list is false provided that we are - defining a function and we haven't seen the function name yet. - * parse.y (return_list): Don't require [] around varargout. - - * DLD-FUNCTIONS/find.cc (DO_FIND_OP): Delete macro. - (find_to_fortran_idx): Delete. Move guts of function to - find_nonzero_elem_idx. - (find_nonzero_elem_idx): Now a template function. Handle overall - array index here too. Make it N-d aware. - - * pt-pr-code.cc (tree_print_code::visit_complex_for_command, - tree_print_code::visit_octave_user_function_header, - tree_print_code::visit_matrix, tree_print_code::visit_cell, - tree_print_code::visit_multi_assignment): Keep track of nearest - [, {, or ( nesting level. - (tree_print_code::visit_index_expression): Likewise. Check nesting - level to decide how to print index. - (tree_print_code::reset): Also reset nesting level stack. - - * pt-pr-code.h (tree_print_code::nesting): New data member. - (tree_print_code::tree_print_code): Initialize it. - - * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&)): - If arg has no dimensions, resize to be 0x0. - -2003-12-15 John W. Eaton - - * oct-map.cc (Octave_map::assign): Use Octave_map::contents member - function instead of operator []. - * ov-struct.cc (octave_struct::subsasgn): Likewise. - * DLD-FUNCTIONS/time.cc (extract_tm): Likewise. - - * DLD-FUNCTIONS/time.cc (mk_tm_map): Use Octave_map::assign member - function instead of operator []. - * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Likewise. - * DLD-FUNCTIONS/getgrent.cc (mk_gr_map): Likewise. - * DLD-FUNCTIONS/getpwent.cc (mk_pw_map): Likewise. - * load-save.cc (do_load): Likewise. - * ls-hdf5.cc (hdf5_read_next_data): Likewise. - * ls-mat5.cc (read_mat5_binary_element): Likewise. - * oct-map.cc (Octave_map::reshape): Likewise. - * oct-map.cc (Octave_map::index): Likewise. - * ov-fcn-handle.cc (Ffunctions): Likewise. - * pt-idx.cc (make_arg_struct): Likewise. - * sighandlers.cc (make_sig_struct): Likewise. - * syscalls.cc (mk_stat_map): Likewise. - * toplev.cc (Foctave_config_info): Likewise. - - * ls-hdf5.cc (add_hdf5_data): Temporary Octave_map is now const. - * ls-mat5.cc (save_mat5_binary_element): Likewise. - - * oct-map.cc (Octave_map::assign (const std::string&, const - octave_value&)): New function. - * oct-map.h: Provide decl. - (Octave_map::contents (const std::string&)): New function. - (Octave_map::operator [] (const std::string&) const): Delete. - (Octave_map::operator [] (const std::string&)): Delete. - -2003-12-09 John W. Eaton - - * OPERATORS/op-cell.cc: Allow transpose for cell arrays. - * OPERATORS/op-m-m.cc, OPERATORS/op-cm-cm.cc, - OPERATORS/op-bm-bm.cc, OPERATORS/op-streamoff.cc, - OPERATORS/op-str-str.cc: Improve error message for attempt to - transpose N-d object. - -2003-11-27 John W. Eaton - - * pt-arg-list.cc (F__end__): Handle N-d objects. - -2003-11-25 John W. Eaton - - * OPERATORS/op-b-bm.cc: New file. - - * OPERATORS/op-bm-b.cc (op_el_and, op_el_or): Define and install. - * OPERATORS/op-bm-bm.cc (op_el_and, op_el_or, assign): Likewise. - - * ov-str-mat.cc (CHAR_MATRIX_CONV): New macro. - * ov-str-mat.h (octave_char_matrix_str::double_value, - octave_char_matrix_str::matrix_value, - octave_char_matrix_str::array_value, - octave_char_matrix_str::complex_value, - octave_char_matrix_str::complex_matrix_value, - (octave_char_matrix_str::complex_array_value): Use it. - - * ov-bool-mat.cc (default_numeric_conversion_function): - Convert to NDArray, not Matrix. - * ov-str-mat.cc (default_numeric_conversion_function): Likewise. - - * ov-range.h (octave_range::array_value): New function. - (octave_range::complex_array_value): Likewise. - * ov-ch-mat.h (charNDArray::array_value): New function. - (charNDArray::complex_array_value): Likewise. - * ov-str-mat.h (octave_char_matrix_str::array_value): Likewise. - (octave_char_matrix_str::complex_value): Likewise. - (octave_char_matrix_str::complex_matrix_value): Likewise. - (octave_char_matrix_str::complex_array_value): Likewise. - - * mappers.cc (acosh, log, log10, sqrt): - Use octave_Inf instead of DBL_MAX for range limit. - -2003-11-24 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.52. - (OCTAVE_API_VERSION): Now api-v3. - - * DLD-FUNCTIONS/rand.cc (do_rand): Pass function name from arg - list in calls to error. - - * ov-cs-list.cc, ov-cs-list.h (octave_cs_list::octave_cs_list): - Explicitly initialize base class in constructors. - - * ov.h (octave_value::all_strings): Pass second arg to rep function. - - * ov.h (octave_value::string_value): Pass arg to rep function. - - * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f): Delete unused arg names. - * DLD-FUNCTIONS/rand.cc (Frand, Frandn): Likewise. - * ls-hdf5.h (hdf5_streambase::hdf5_streambase): Likewise. - * ls-hdf5.cc (read_hdf5_data): Likewise. - * ls-utils.cc (get_save_type): Likewise. - * parse.y (Fassignin): Likewise. - * utils.cc (empty_arg): Likewise. - * ov-usr-fcn.h (octave_user_function::subsref): Likewise. - * ov-base-mat.h (octave_base_matrix::subsref): Likewise. - * ov-mapper.h (octave_mapper::subsref): Likewise. - * ov-builtin.h (octave_builtin::subsref): Likewise. - * ov-complex.cc (octave_complex::complex_array_value): Likewise. - * ov-cell.h (octave_cell::subsref): Likewise. - * ov-base-scalar.h (octave_base_scalar::subsref): Likewise. - * ov-struct.h (octave_struct::subsref): Likewise. - * ov-range.h (octave_range::subsref): Likewise. - * ov-list.h (octave_list::subsref): Likewise. - * ov-base.cc (octave_base_value::print_info): Likewise. - * pt-check.cc (tree_checker::visit_subplot_axes): Likewise. - * pr-output.cc (octave_print_internal (std::ostream&, double, bool), - octave_print_internal (std::ostream&, const Complex&, bool), - octave_print_internal (std::ostream&, const ArrayN&, - bool, int): Likewise. - * oct-stream.cc (octave_scan<> (std::istream&, const - scanf_format_elt&, char*): Likewise - * TEMPLATE-INST/Array-tc.cc (resize_fill_value): - Likewise. - * pt-bp.cc (tree_breakpoint::visit_octave_user_function, - tree_breakpoint::visit_octave_user_function_header, - tree_breakpoint::visit_octave_user_function_trailer, - tree_breakpoint::visit_plot_limits, - tree_breakpoint::visit_plot_range, - tree_breakpoint::visit_subplot, - tree_breakpoint::visit_subplot_axes, - tree_breakpoint::visit_subplot_list, - tree_breakpoint::visit_subplot_style, - tree_breakpoint::visit_subplot_using): Likewise. - * ov.cc (octave_value::column_vector_value, - (octave_value::complex_column_vector_value, - (octave_value::row_vector_value, - octave_value::complex_row_vector_value, - octave_value::do_non_const_unary_op): Likewise. - - * load-save.cc: Only include ls-hdf5.h if HAVE_HDF5 is defined. - From Melqart . - - * pr-output.h (octave_fcn_handle::print_as_scalar): Delete. - - * pr-output.cc (octave_print_internal): New version for - ArrayN objects. - * pr-output.h: Provide decl. - * ov-fcn-handle.cc (octave_fcn_handle::print_raw): Use it. - - * OPERATORS/op-fcn-handle.cc: New file. - * Makefile.in (OP_XSRC): Add it to the list. - - * ov-fcn-handle.h, ov-fcn-handle.cc (octave_fcn_handle): - Now an array of function handle objects. - - * ov.h, ov.cc (octave_value::octave_value (const fcn_handle_array&), - (octave_value::octave_value (octave_function *f, const std::string&)): - New constructors. - (octave_value::octave_value (const octave_fcn_handle&)): Delete. - - * ov-base-mat.cc (octave_base_matrix::print_as_scalar): - Check dims instead of rows and columns. - - * ov.h (octave_value::is_function_handle): New function. - * ov-base.h (octave_base_value::is_function_handle): New function. - -2003-11-23 John W. Eaton - - * ov-bool-mat.h (octave_bool_matrix::array_value): Construct return - value directly from matrix data member, not matrix.matrix_value (). - - * ov-re-mat.h (octave_matrix::index_vector): Construct idx_vector - from NDArray, not Matrix. - - * ov-bool-mat.h (octave_bool_matrix::index_vector): Construct - idx_vector from boolNDArray, not boolMatrix. - - * ov.cc (install_types): Also register dld function type. - - * OPERATORS/op-streamoff.cc: Install increment and decrement operators. - * ov-streamoff.h (octave_streamoff::increment, - octave_streamoff::decrement): New functions. - - * ov-streamoff.h, ov-streamoff.cc: Move streamoff_array class to - liboctave/so-array.h and liboctave/so-array.cc. - - * oct-stream.cc (octave_stream::seek): Extract std::streamoff from - tc_offset instead of int. - - * ov-re-mat.cc (octave_matrix::double_value): Use numel, not length. - - * ov-re-mat.cc (octave_matrix::streamoff_array_value): New function. - * ov-re-mat.h: Provide decl. - - * ov-scalar.cc (octave_scalar::streamoff_value): New function. - * ov-scalar.h: Provide decl. - - * ov.cc (octave_value::streamoff_array_value, - octave_value::streamoff_value): New functions. - * ov.h: Provide decls. - - * ov-base.cc (octave_base_value::streamoff_array_value, - octave_base_value::streamoff_value): New functions. - * ov-base.h: Provide decls. - - * ov-usr-fcn.cc (install_automatic_vars): Don't do anything unless - sym_tab is defined. - - * ov-streamoff.h, ov-streamoff.cc, OPERATORS/op-streamoff.cc: - New files. - - * ov-cell.h (octave_value_cell::is_matrix_type): New function. - - * ov-mapper.h (octave_mapper::octave_mapper): No copying. - * ov-fcn.h (octave_function::octave_function): Likewise. - * ov-usr-fcn.h (octave_function::octave_function): Likewise. - * ov-builtin.h (octave_builtin::octave_builtin): Likewise. - * ov-dld-fcn.h (octave_dld_function::octave_dld_function): Likewise. - -2003-11-22 John W. Eaton - - * ov-mapper.h (octave_mapper::octave_mapper): Make public. - Provide copy constructor and assignment operator. - * ov-fcn.h (octave_function::octave_function): Likewise. - * ov-builtin.h (octave_builtin::octave_builtin): Likewise. - * ov-dld-fcn.h (octave_dld_function::octave_dld_function): Likewise. - - * ov-typeinfo.cc (octave_value_typeinfo::register_type, - octave_value_typeinfo::do_register_type): New arg, val. - Save it in vals array. - (octave_value_typeinfo::lookup_type, - octave_value_typeinfo::do_lookup_type): New functions. - * ov-typeinfo.h: Provide decl. - (octave_value_typeinfo::vals): New data member. - (octave_value_typeinfo::octave_value_typeinfo): Initialize it. - - * ov.h (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Pass - - * ov.h (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Define register_type - here. Also pass an empty object of the to-be-registered type to - register_type. - (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Declare register_type - here, but don't define it. - -2003-11-21 John W. Eaton - - * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle (void)): - New constructor. - - * ov-usr-fcn.h (octave_user_function::octave_user_function): - Delete decl for private constructor. - - * ov-str-mat.cc (octave_char_matrix_str::matrix_value): - Conversion to matrix is an error unless explicitly forced. - - * ov-str-mat.cc (octave_char_matrix_str::double_value): New function. - * ov-str-mat.h: Provide decl. - - * ov-file.cc (print_raw): Use parens around ?: conditional used on - RHS of << output operator. - - * c-file-ptr-stream.cc (c_file_ptr_buf::seekoff, - c_file_ptr_buf::seekpos): Can't use fseek here, so just fail (by - returning -1) until we have a better solution. - - * oct-stream.cc (octave_stream::tell): Return std::streamoff, not long. - * oct-iostrm.cc (octave_base_iostream::tell): Likewise. - * oct-stdstrm.cc (octave_stdiostream::tell): Likewise. - * oct-strstrm.cc (octave_base_strstream::tell): Likewise. - * oct-stream.h, oct-iostrm.h, oct-stdstrm.h, oct-strstrm.h: - Fix decls to match. - -2003-11-20 John W. Eaton - - * ls-mat-ascii.cc (get_lines_and_columns): Delete second arg in - call to istream::seekg. - - * ov-mapper.cc (MAPPER_LOOP_2, any_element_less_than, - any_element_greater_than, octave_mapper::apply): - Handle N-d arrays. - -2003-11-19 John W. Eaton - - * ls-mat5.cc (read_mat5_binary_element, save_mat5_binary_element): - Handle N-d arrays. - - * lex.l (next_token_is_index_op): New function. - (handle_close_bracket): Use it. - - * ls-hdf5.cc, ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, - ls-oct-ascii.cc, ls-oct-binary.cc, ls-utils.cc, ls-hdf5.h, - ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, - ls-oct-binary.h, ls-utils.h: New files, extracted from load-save.cc. - * Makefile.in: Add them to the appropriate lists. - -2003-11-18 John W. Eaton - - * pr-output.cc (octave_print_internal): Don't indent rows for - plus_format. Use pr_plus_format for Range type with plus_format. - (plus_format_chars): New static variable. - (set_format_style): Allow optional arg for plus format to set it. - (pr_plus_format): Use it. - - * ov-bool.h (octave_bool::array_value, - octave_bool::complex_array_value): New functions. - - * ov-base-mat.cc (octave_base_matrix::do_index_op): - Ensure correct number of indices for Array indexing code. - -2003-11-17 John W. Eaton - - * DLD-FUNCTIONS/qz.cc (qz): Use x.data()+offset instead of &a(i,j). - First and third args for dlag2 are const. - - * DLD-FUNCTIONS/sort.cc (Fsort): Use const qualifier as appropriate. - - * DLD-FUNCTIONS/balance.cc (balance): Use data() instead of - fortran_vec where appropriate in call to dggbak. - - * DLD-FUNCTIONS/dasrt.cc (dasrt_user_j): Simplify inserting x and - xdot in arg vector. - (dasrt_user_f): Likewise. - (dasrt_user_cf): Likewise. - * DLD-FUNCTIONS/dassl.cc (dassl_user_function): Likewise. - (dassl_user_jacobian): Likewise. - * DLD-FUNCTIONS/lsode.cc (lsode_user_function): Likewise. - (lsode_user_jacobian): Likewise. - * DLD-FUNCTIONS/daspk.cc (daspk_user_function): Likewise. - (daspk_user_jacobian): Likewise. - -2003-11-16 John W. Eaton - - * ov-range.h (octave_range::reshape): New function. - -2003-11-15 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.51. - (OCTAVE_API_VERSION): Now api-v2. - - * version.h (OCTAVE_BUGS_STATEMENT): Also tell people to look at - http://www.octave.org/bugs.html. - - * oct-map.cc (Octave_map::assign): Use resize, not resize and fill. - * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise. - - * Cell.cc (Cell::Cell): Pass dim_vector to resize instead of two ints. - -2003-11-14 John W. Eaton - - * Makefile.in (stamp-liboctave-prereq): New target. - ($(DEF_FILES), $(MAKEDEPS)): Depend on it. - (distclean): Remove it. - - * parse.y (cancel_obj_idx): New rule. - (postfix_expr, prefix_expr): Use begin_obj_idx after every - postfix_expr on RHS. Use cancel_obj_idx as soon as possible for - cases where we are not working on an index expression. - - * lex.l (maybe_unput_comma, handle_close_bracket): - Don't insert comma if we are looking at an object index and the - closest nesting level is a brace. - - * parse.y (postfix_expr): Use begin_obj_idx between postfix_expr - and the indexing delimiter rather than after it. - - * lex.h (lexical_feedback::braceflag): New member variable. - * lex.l (lexical_feedback::init): Initialize braceflag. - (\{{S}*): Increment lexer_flags.braceflag, not - lexer_flags.bracketflag. - (handle_close_bracket): Handle lexer_flags.braceflag and - lexer_flags.bracketflag separately based on bracket_type. - Delete unnecesary yyinput/yyunput. - - * lex.l (next_token_is_postfix_unary_op): Also recognize ++ and --. - - * ov-typeinfo.cc (octave_value_typeinfo::register_type, - octave_value_typeinfo::do_register_type): - New arg, c_name for class name. - * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-builtin.cc, - ov-cell.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, - ov-cs-list.cc, ov-cx-mat.cc, ov-dld-fcn.cc, ov-fcn-handle.cc, - ov-file.cc, ov-list.cc, ov-mapper.cc, ov-range.cc, ov-re-mat.cc, - ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov-usr-fcn.cc, - ov-va-args.cc: Pass class name to DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA. - * ov.h (octave_value::class_name): New virtual function. - (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Define c_name, for class name. - Pass c_name to octave_value_typeinfo::register_type. - (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Declare static member - c_name for class name. Provide class_name member function. - - * ov-typeinfo.cc (Fclass): New function. - -2003-11-13 John W. Eaton - - * utils.cc (Fisvarname): Pass correct name to make_argv. - - * ov-cell.cc (Fiscellstr): New function. - - * ov-file.h (octave_file::all, octave_file::any, - octave_file::dims, octave_file::is_real_type, - octave_file::ist_real_scalar): New functions. - - * lex.l (bracket_brace_paren_nesting_level::is_bracket_or_brace): - New function. - (handle_close_bracket): New arg, bracket_type. Change all uses. - First arg is now bool. - ({SNLCMT}*\}{S}*): New pattern. - (maybe_unput_comma): Handle brace nesting level the same as brackets. - (handle_close_brace): Likewise. - ({S}+): Likewise. - ({S}*{COMMENT}{SNLCMT}*): Likewise. - ({S}*{NL}{SNLCMT}*): Likewise. - ({NL}): Likewise. - ({CCHAR}): Likewise. - (")"): Likewise. - (\{{S}*): Handle the same as \[{S}*. - ("}"): Handle the same as \]. - - * Makefile.in (stamp-prereq): Add oct-gperf.h, parse.cc, and - lex.cc to the list. - -2003-11-12 John W. Eaton - - * ov-cell.cc (print_as_scalar): New function. - * ov-cell.h: Provide decl. - - * ov-cell.cc (octave_cell::print_name_tag): Delete. - * ov-cell.h: Delete decl. - - * ov-base-mat.cc (octave_base_matrix::print_name_tag): Delete. - * ov-base-mat.h: Delete decl. - - * ov-base.cc (octave_base_value::print_name_tag): - Use print_as_scalar here. - * ov.h (octave_base_value::print_as_scalar): New virtual function. - * ov-base.h (octave_base_value::print_as_scalar): - New default implementation. - * ov-base-mat.h (octave_base_matrix::pirnt_as_scalar): - Don't declare as virtual here. - - * ov-struct.cc (octave_struct::print_raw): If only printing keys, - also print dimensions of fields and overall array. - - * sysdep.cc (Fnative_float_format): New function. - - * input.cc (generate_possible_completions): Also append all - possible filename completions here. - -2003-11-11 John W. Eaton - - * oct-stream.cc: Explicitly instantiate octave_scan functions. - - * TEMPLATE-INST/Array-c.cc, TEMPLATE-INST/Array-os.cc, - TEMPLATE-INST/Array-sym.cc, ov-typeinfo.cc: - Use new INSTANTIATE_ARRAY macro. - - * data.cc (do_permute): New function. - (Fpermute, Fipermute): Use it. - - * ov-base.cc (octave_base_value::permute): New function. - * ov-base.h: Provide decl. - - * ov.h (octave_value::ipermute): New function. - -2003-11-11 Petter Risholm - - * data.cc (Fpermute, Fipermute): New functions. - * ov.h (octave_value::permute): New function. - * ov-base-mat.h (octave_base_matrix::permute): New function. - -2003-11-10 John W. Eaton - - * oct-obj.h (octave_value_list): Internal representation is now - std::vector instead of Array. - - * ov-list.h, ov-list.cc: Internal representation is now Cell, not - octave_value_list. - (Flist): Print one-time warning. - - * ov.cc (octave_value::octave_value (const octave_value_list&, bool)): - Cope with octave_cs_list not being derived from octave_list. - - * ov-cs-list.cc (octave_cs_list): Handle conversion of Cell array - to octave_value_list here. - - * ov-cs-list.h (class octave_cs_list): Derive from - octave_base_value, not octave_list. - - * ov-cs-list.h, ov-cs-list.cc: Remove commented-out code. - - * TEMPLATE-INST/Array-tc.cc (resize_fill_value): Use modern - specialization syntax. - - * ov-cell.cc (octave_cell::print_raw): Use dim_vector::str. - - * Cell.cc, Cell.h, debug.cc, file-io.cc, load-save.cc, - oct-fstrm.cc, oct-iostrm.cc, oct-iostrm.h, oct-map.cc, oct-map.h, - oct-prcstrm.cc, oct-stdstrm.h, oct-stream.cc, oct-strstrm.h, - octave.cc, ov-base.h, ov-cell.cc, ov.cc, ov.h, pt-cell.h, - pt-mat.cc, pt-mat.h, pt-plot.cc, pt-stmt.cc, variables.cc, - DLD-FUNCTIONS/rand.cc: Avoid -Wshadow warnings. - -2003-11-01 John W. Eaton - - * ov.h (octave_base_value::is_bool_matrix): New virtual function. - * ov-base.h (octave_base_value::is_bool_matrix): New function. - -2003-10-31 John W. Eaton - - * ov.cc (octave_value::length): If any dim is zero, return 0. - - * ov-cell.cc (octave_cell::subsref): When indexing with '{', quit - early if an error occurs in do_index_op. - - * ov.cc (octave_value::next_subsref): Don't do anything if - error_state is true. - - * cutils.c (octave_usleep) [HAVE_SELECT]: Introduce new local - scope for declaration of delay. - [HAVE_POLL]: Likewise, for delay and pfd. - - * ov-base.cc (octave_base_value::bool_array_value): - Function takes no args. - * ov-base.h: Likewise, for decl. - * ov-bool-mat.h (boolNDArray::bool_array_value): Likewise. - - * ov-fcn.cc, ov-fcn.h (octave_value::clone, - octave_value::empty_clone): Return type is octave_value*, not - octave_function*. - -2003-10-29 John W. Eaton - - * ov-str-mat.h (octave_char_matrix_str::reshape): New function. - Force result to be a string. - -2003-10-29 Petter Risholm - - * data.cc (DATA_REDUCTION): Work on NDArray and ComplexNDArray - objects instead of Matrix and ComplexMatrix objects. - -2003-10-29 John W. Eaton - - * ov-bool-mat.h (octave_bool_matrix::NDArray, - octave_bool_matrix::ComplexNDArray): New functions. - - * ov-complex.cc (octave_complex::array_value, - octave_complex::complex_array_value): New functions. - * ov-complex.h: Provide decls. - - * ov-scalar.cc (octave_scalar::array_value, - octave_scalar::complex_array_value): New functions. - * ov-scalar.h: Provide decls. - - * oct-map.cc (Octave_map::reshape): New function. - * oct-map.h: Provide decl. - - * ov-struct.h (octave_struct::reshape): New function. - - * Cell.h (Cell:Cell (const Array&): New constructor. - - * data.cc (Freshape): New function. - * ov.h (octave_value::reshape): New function. - * ov-base-mat.h (octave_base_matrix::reshape): New function. - * ov-base.cc (octave_base_value::reshape): New function. - * ov-base.h: Provide decl. - - * DLD-FUNCTIONS/balance.cc: lscale and rscale args for dggbak are - const. Use data() instead of fortran_vec where possible. - * DLD-FUNCTIONS/qz.cc: Likewise. - - * data.cc (fill_matrix): Remove trailing singletons before - allocating the result matrix. - - * input.cc (get_user_input): Don't forget about the diary here. - -2003-10-28 John W. Eaton - - * ov-list.h (octave_list::nelem): Delete. - (octave_list::dims): New function. - * ov-range.h (octave_list::dims): New function. - * ov-struct.h (octave_struct::dims): New function. - * ov-base-scalar.h (octave_base_scalar::dims): New function. - - * ov.h (octave_value::rows): No longer virtual. - * ov.cc (octave_value::rows): Provide common implementation. - * ov-base.h (octave_base_value::rows): Delete. - * ov-base-mat.h (octave_base_matrix::rows): Delete. - * ov-base-scalar.h (octave_base_scalar::rows): Delete. - * ov-struct.h (octave_struct::rows): Delete. - * ov-range.h (octave_range::rows): Delete. - - * ov.h (octave_value::columns): No longer virtual. - * ov.cc (octave_value::columns): Provide common implementation. - * ov-base.h (octave_base_value::columns): Delete. - * ov-base-mat.h (octave_base_matrix::columns): Delete. - * ov-base-scalar.h (octave_base_scalar::columns): Delete. - * ov-struct.h (octave_struct::columns): Delete. - * ov-range.h (octave_range::columns): Delete. - - * ov.h (octave_value::numel): No longer virtual. - * ov.cc (octave_value::numel): Provide common implementation. - * ov-base.h (octave_base_value::numel): Delete. - * ov-base-mat.h (octave_base_matrix::numel): Delete. - * ov-base-scalar.h (octave_base_scalar::numel): Delete. - * ov-struct.h (octave_struct::numel): Delete. - - * ov-cs-list.h (octave_cs_list::dims): New function. - (octave_cs_list::length): Delete. - - * ov.h (octave_value::ndims): No longer virtual. - * ov.cc (octave_value::ndims): Provide common implementation. - * ov-base.h (octave_base_value::ndims): Delete. - * ov-base-mat.h (octave_base_matrix::ndims): Delete. - * ov-base-scalar.h (octave_base_scalar::ndims): Delete. - * ov-struct.h (octave_struct::ndims): Delete. - - * ov-cell.cc (Fcell): Make it work for N-d cells. - - * Cell.h (Cell::Cell (const dim_vector&, const octave_value&)): - New constructor. - - * ov.h (octave_value::length): No longer virtual. - * ov.cc (octave_value::length): Provide common implementation. - * ov-base.h (octave_base_value::length): Delete. - * ov-base-mat.h (octave_base_matrix::length): Delete. - * ov-base-scalar.h (octave_base_scalar::length): Delete. - * ov-struct.h (octave_struct::length): Delete. - * ov-cs-list.h (octave_cs_list::length): Delete. - * ov-list.h (octave_list::length): Delete. - * ov-range.h (octave_range::length): Delete. - - * load-save.cc (save_mat5_binary_element): Use numel instead of - array_length. - * ov-struct.cc (octave_struct::print_raw): Likewise. - * pt-loop.cc (tree_complex_for_command::eval): Likewise. - * oct-map.cc (Octave_map::numel): New function. - * oct-map.h: Provide decl. - - * oct-map.cc, oct-map.h (Octave_map::array_length): Delete. - (common_size): New static function. - (Octave_map::assign): Make resizing work for N-d cell objects. - - * oct-map.cc (Octave_map::dims): New function. - * oct-map.h: Provide decl. - - * pr-output.cc (print_empty_nd_array): New static function. - (PRINT_ND_ARRAY): Use it. - - * ov.h (octave_value::is_empty): No longer virtual. Return value - based on numel. - * data.cc (Fisempty): Use it. - (Fnumel): New function. - - * ov.h (octave_value::numel): New function. - * ov-base.h (octave_base_value::numel): Likewise. - * ov-base-mat.h (octave_base_matrix::numel): Likewise. - * ov-base-scalar.h (octave_base_scalar::numel): Likewise. - -2003-10-27 Petter Risholm - - * ov-base-mat.cc (octave_base_matrix::is_true): - Only work for 2-dimensional objects. - * data.cc (ANY_ALL (FCN)): Allow dim to take values large than 2. - - * ov.h (octave_value::ndims): New function. - * ov-base.h (octave_base_value::ndims): Likewise. - * ov-base-scalar.h (octave_base_scalar::ndims): Likewise. - * ov-base-mat.cc (octave_base_matrix::ndims): New function. - (octave_base_matrix::length): Move here from ov-base-mat.h. - Make it work for N-d arrays. - * ov-base-mat.h (octave_base_matrix::ndims): Provide decl. - * data.cc (Fndims): New built-in function. - -2003-10-27 John W. Eaton - - * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/qz.cc: - Use new F77 arg macros in declarations of external Fortran - subroutines and for calling them. - - * ops.h (DEFNDUNOP_OP, DEFNDUNOP_FN): New arg e, to name value - extractor function prefix. - * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-m-m.cc: - Change all uses. - - * ov-cx-mat.h (octave_complex_matrix::complex_array_value, - octave_char_matrix::char_array_value, - octave_bool_matrix::bool_array_value): Rename from array_value. - * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, - OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, - OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-s-cm.cc: Use complex_array, char_array, and - bool_array as appropriate (instead of just array). - - * ov-base.cc (octave_base_value::array_value, - octave_base_value::bool_array_value, - octave_base_value::complex_array_value, - octave_base_value::char_array_value): Provide default implementations. - * ov-base.h: Provide decls. - - * ov.h (octave_value::array_value, octave_value::bool_array_value, - octave_value::complex_array_value, octave_value::char_array_value): - New virtual functions. - -2003-10-25 John W. Eaton - - * pt-idx.cc (make_subs_cell): Pass dim_vector object to resize. - - * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): - Use resize_and_fill for types. - - * oct-obj.h (octave_value_list::maybe_resize): Use resize_and_fill. - (octave_value_list::resize (int, const octave_value&)): Likewise. - - * oct-map.cc (Octave_map::assign): Use resize_and_fill as needed. - - * Cell.h (Cell (void)): Default size is now 0x0. - -2003-10-23 John W. Eaton - - * OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-cs-m.cc, OPERATORS/op-m-cm.cc, OPERATORS/op-s-cm.cc: - Include headers for N-d operators. - -2003-10-17 John W. Eaton - - * ops.h (DEFNDUNOP_OP, DEFNDUNOP_FN, DEFNDBINOP_OP, - DEFNDBINOP_FN): New N-dimensional macros. - * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, - OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, - OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, - OPERATORS/op-cs-m.cc, OPERATORS/op-m-cm.cc, - OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-m-s.cc, OPERATORS/op-s-cm.cc, - OPERATORS/op-s-m.cc: Use N-dimensional macros as appropriate. - - * DLD-FUNCTIONS/rand.cc (do_rand, Frand, Frandn): - Handle N-dimensions. - - * xpow.cc (elem_xpow (double, const NDArray&), - elem_xpow (double, const ComplexNDArray&), - elem_xpow (const NDArray&, double), - elem_xpow (const NDArray&, const NDArray&), - elem_xpow (const NDArray&, const Complex&), - elem_xpow (const NDArray&, const ComplexNDArray&), - elem_xpow (const Complex&, const NDArray&), - elem_xpow (const Complex&, const ComplexNDArray&), - elem_xpow (const ComplexNDArray&, double), - elem_xpow (const ComplexNDArray&, const NDArray&), - elem_xpow (const ComplexNDArray&, const Complex&), - elem_xpow (const ComplexNDArray&, const ComplexNDArray&): - New functions. - * xpow.h: Provide decls. - - * xdiv.cc (x_el_div (double, const NDArray&), - x_el_div (double, const ComplexNDArray&), - x_el_div (const Complex, const NDArray&), - x_el_div (const Complex, const ComplexNDArray&)): New functions. - * xdiv.h: Provide decls. - - * ov-bool-mat.h (boolNDArray::array_value): New function. - * ov-ch-mat.h (charNDArray::array_value): New function. - * ov-cx-mat.h (ComplexNDArray::array_value): New function. - * ov-re-mat.h (NDArray::array_value): New function. - (NDArray::double_nd_array_value): Delete. - -2003-10-16 John W. Eaton - - * parse.y (text_getc): New static function. - (gobble_leading_white_space): Use it to simplify EOL processing. - -2003-10-15 John W. Eaton - - * file-io.cc (fopen_mode_to_ios_mode): Ignore "t" in mode string. - - * strfns.cc (Fischar): rename from Fisstr. - -2003-10-09 John W. Eaton - - * pr-output.cc (PRINT_ND_ARRAY): New macro. - (octave_print_internal): Use it. - -2003-10-08 John W. Eaton - - * ov.cc (octave_value::octave_value (const ArrayN&, - bool)): New constructor. - * ov.h: Provide decl. - - * ov.h (octave_value::squeeze): New virtual function. - * ov-base.cc (squeeze): Provide default implementation. - * ov-base-mat.h (octave_base_matrix::squeeze): New function. - * data.cc (Fsqueeze): New function. - -2003-10-03 John W. Eaton - - * load-save.cc (make_valid_identifier): Return new string. - Arg is now string, not char *. - (ident_is_all_digits): New function. - (hdf5_read_next_data): Use it. - -2003-10-02 John W. Eaton - - * input.cc (input_event_hook): Clear the event hook if hook_fcn - does not name a valid function. - -2003-10-01 John W. Eaton - - * mappers.cc (xabs): New function. - (install_mapper_functions): Use it instead of abs for complex args - in Octave's abs mapper function. - -2003-09-27 Joseph P. Skudlarek - - * DLD-FUNCTIONS/minmax.cc (min, max): Use @deftypefn machinery, - doc missing semantics, and add more examples to texinfo strings. - -2003-09-26 John W. Eaton - - * load-save.cc (read_mat5_binary_element): Return early if the - miMATRIX element has length zero. - -2003-09-24 John W. Eaton - - * ov-cell.cc (octave_cell::subsasgn): Also attempt empty - conversion after extracting single element from cell array to - allow things like x{i}.elt = rhs to work. - -2003-09-19 John W. Eaton - - * ov.h (octave_value::dim_vector): New function. - - * ov.h, ov.cc (octave_value::octave_value (const Cell&)): - New arg, is_cs_list. - (octave_value::octave_value (const NDArray&)): - Create octave_matrix object, not octave_double_nd_array object. - (octave_value::octave_value (const ComplexNDArray&), - octave_value::octave_value (const boolNDArray&), - octave_value (const charNDArray&, bool)): New constructors. - - * ov.h, ov.cc (octave_value::nil_rep): New function. - (octave_value::octave_value (void)): Use it to initialize empty - octave_value objects. - - * ov-list.h, ov-list.cc (octave_list::octave_list (const Cell&)): - New constructor. - * ov-cs-list.h (octave_cs_list::octave_cs_list (const Cell&)): - Likewise. - - * data.cc (Fsize): Handle N-d objects. - - * pr-output.cc (octave_print_internal): New versions for NDArray, - ComplexNDArray, boolNDArray, and charNDArray objects. - * pr-output.h: Provide decls. - - * ov-re-nd-array.h, ov-re-nd-array.cc: Delete. - - * Cell.h, Cell.cc, ov-base-mat.h, ov-base-mat.cc, ov-bool-mat.h, - ov-bool-mat.cc, ov-ch-mat.h, ov-ch-mat.cc, ov-cx-mat.h, - ov-cx-mat.cc, ov-re-mat.h, ov-re-mat.cc, ov-str-mat.h, - ov-str-mat.cc: Now N-dimensional. - - * oct-map.h, oct-map.cc: Now based on Cell ojects instead of - octave_value_list objects. Change all uses. - - * TEMPLATE-INST/Array-tc.cc: Also instantiate ArrayN objects. - Don't instantiate assign funcitons for Array2 objects. - -2003-09-11 John W. Eaton - - * pt-plot.cc (symbols_of_pt_plot): Default for automatic replot is - now true. - - * pr-output.cc (Fformat): Doc fix. - (current_output_max_field_width, current_output_precision): - New functions. - (float_format::float_format (int, int, int)): Use them to provide - default values for field width and precision. - (print_g): New static variable. - (set_real_format, set_real_matrix_format, set_complex_format) - (set_complex_matrix_format, set_range_format): Handle print_g. - (pr_float, pr_complex): Don't scale if using print_g. - (set_format_style): Accept new "g" and "G" modifiers for short and - long formats and set print_g. - Set default precision and width for short to 5, 10. - Set default precision and width for long to 15, 20. - -2003-09-10 John W. Eaton - - * OPERATORS/op-m-cs.cc (complex_matrix_conv): Delete function. - (install_m_cs_ops): Don't install complex_matrix_conv here. - - * OPERATORS/op-s-cs.cc (complex_matrix_conv): Delete function. - (install_s_cs_ops): Don't install complex_matrix_conv here. - - * OPERATORS/op-s-s.cc (matrix_conv): Delete function. - (install_s_s_ops): Don't install matrix_conv here. - - * OPERATORS/op-cs-s.cc (complex_matrix_conv): Delete function. - (install_cs_s_ops): Don't install complex_matrix_conv here. - - * OPERATORS/op-cs-m.cc (complex_matrix_conv): Delete function. - (install_cs_m_ops): Don't install complex_matrix_conv here. - - * OPERATORS/op-cs-cs.cc (complex_matrix_conv): Delete function. - (install_cs_cs_ops): Don't install complex_matrix_conv here. - - * ov-typeinfo.cc (do_register_unary_op, - do_register_non_const_unary_op, do_register_binary_op, - do_register_assign_op, do_register_assignany_op, - do_register_pref_assign_conv, do_register_widening_op): - Print warning if installing a duplicate function. - -2003-09-10 Petter Risholm - - * data.cc, ov-base.cc, ov-base.h, ov.h, ov.cc, ov-re-mat.h, - ov-scalar.h, ov-re-nd-array.h, ov-re-nd-array.cc: Use NDArray, not - ArrayN. - -2003-09-09 John W. Eaton - - * ov.h (octave_value::double_nd_array_value): New function. - (octave_value::is_real_nd_array): New function. - - * ov-base.cc (octave_base_value::double_nd_array_value): New function. - * ov-base.h: Provide decl. - (octave_base_value::is_real_nd_array): New function. - -2003-09-09 Petter Risholm - - * ov-re-mat.h (octave_matrix::double_nd_array_value): New function. - * ov-scalar.h (octave_scalar::double_nd_array_value): New function. - - * ov-re-nd-array.cc (octave_double_nd_array::assign): New function. - (octave_double_nd_array::try_narrowing_conversion): Likewise. - (octave_double_nd_array::valid_as_scalar_index): Likewise. - (octave_double_nd_array::double_value): Likewise. - (octave_double_nd_array::matrix_value): Likewise. - (octave_double_nd_array::complex_value): Likewise. - (octave_double_nd_array::convert_slice_to_matrix): Likewise. - * ov-re-nd-array.h: Provide decls. - (octave_double_nd_array::is_real_nd_array): New function. - (octave_double_nd_array::double_nd_array_value): New function. - (octave_double_nd_array::double_nd_array_value): New function. - - * OPERATORS/op-m-nd.cc, OPERATORS/op-nd-m.cc, - OPERATORS/op-nd-nd.cc, OPERATORS/op-nd-s.cc, OPERATORS/op-s-nd.cc: - New files. - * Makefile.in (OP_XSRC): Add them to the list. - -2003-09-09 David Bateman - - * OPERATORS/op-cs-s.cc (DEFBINOP): First arg is complex, second is - double. - -2003-09-05 John W. Eaton - - * pt-cell.cc (tree_cell::rvalue): Don't assume that the number of - elements in a tree_argument_list is the same as the number of - objects it contains (cs-list objects expand to more than one). - - * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): - New function, extracted from tm_row_const::tm_row_const_rep::init. - (tm_row_const::tm_row_const_rep::init): Use it. - Also handle cs-list objects. - - * ov-cs-list.cc (octave_cs_list::print_raw): New function. - * ov-cs-list.h (octave_cs_list::print_raw): Provide decl. - * ov-list.h (octave_list::lst): Now protected instead of private. - -2003-09-04 John W. Eaton - - * pt-plot.cc (subplot_style::columns_ok): Allow boxes style to - have 2 columns as well. - -2003-08-28 John W. Eaton - - * dirfns.cc (Fls): Check EAGAIN to avoid losing output. - * toplev.cc (run_command_and_return_output): Likewise. - -2003-08-25 John W. Eaton - - * OPERATORS/op-str-s.cc, OPERATORS/op-str-m.cc: New files. - * Makefile.in (OP_XSRC): Add them to the list. - -2003-08-22 John W. Eaton - - * defaults.cc (maybe_add_or_del_packages): Use source_file instead - of parse_and_execute. - * parse.y (source_file): New function. - (Fsource): Use it. - * parse.h (source_file): Provide decl. - -2003-08-21 John W. Eaton - - * utils.cc (octave_vsnprintf): Copy va_list to avoid using more - than once. - -2003-08-07 John W. Eaton - - * utils.cc (octave_vsnprintf): Call octave_raw_vsnprintf instead - of calling vsnprintf directly. - (octave_vsnprintf) [HAVE_C99_VSNPRINTF]: Declare nchars to be size_t. - -2003-08-06 Heine Kolltveit - - * utils.cc (check_dimensions(Array&, char), - get_dimensions(octave_value&, char, Array&): New functions. - * utils.h (check_dimensions (Array&, char), - get_dimensions (octave_value&, char, Array&)): Provide decl. - - * data.cc (fill_matrix): Also create N-d arrays. - (Fones, Fzeros): Handle more than 2 args to create N-d arrays. - -2003-07-30 John W. Eaton - - * data.cc (make_diag): Use std::abs instead of our own ABS macro. - - * utils.cc (identity_matrix): Move here from data.cc. - (identity_matrix): Use std::min instead of our own MIN macro. - - * utils.h (identity_matrix): Provide decl. - - * DLD-FUNCTIONS/svd.cc (Fsvd): Improve handling of empty matrix arg. - - * ov.cc (octave_value(const ArrayN&)): New constructor. - * ov.h (octave_value(const ArrayN&)): Provide decl. - -2003-07-30 Heine Kolltveit - - * ov.cc (octave_value(const ArrayN&)): New constructor. - * ov.h (octave_value(const ArrayN&)): Provide decl. - -2003-07-30 John W. Eaton - - * ov.h (Vpropagate_empty_matrices): Delete decl. - * ov.cc: (Vpropagate_empty_matrices): Delete. - (propagate_empty_matrices): Delete. - (symbols_of_ov): Delete DEFVAR for propagate_empty_matrices. - - * utils.cc (empty_arg): Behave as though propagate_empty_matrices - is always 1. - * ov-range.cc (octave_range::is_true): Likewise. - * ov-base-mat.cc (octave_base_matrix::is_true): Likewise. - - * octave.cc (maximum_braindamage): Also set - warn_matlab_incompatible to TRUE. - - * lex.l (Vwhitespace_in_literal_matrix): Delete. - (whitespace_in_literal_matrix): Delete. - (symbols_of_lex): Delete DEFVAR for whitespace_in_literal_matrix. - ({S}*\,{S}*, {S}+, - ({S}*{COMMENT}{SNLCMT}*, - {S}*{NL}{SNLCMT}*, maybe_unput_comma): Behave as though - old Vwhitespace_in_literal_matrix varaible is always 1. - - * octave.cc (maximum_braindamage): Don't set - whitespace_in_literal_matrix. - -2003-07-29 John W. Eaton - - * Makefile.in (install-lib): Use $(INSTALL), not - $(INSTALL_PROGRAM) for $(SHLLIB) files. - -2003-07-29 Paul Kienzle - - * Makefile.in: Don't need special system.c for Cygwin. - * oct-procbuf.cc: Use popen rather than fork/exec for Windows. - -2003-07-28 Paul Kienzle - - * sysdep.cc (CYGWIN_init): Convert TMPDIR to system agnostic path. - -2003-07-25 Paul Kienzle - - * help.cc (try_info, display_help_text): - Protect spaces in filenames with quotes. - * oct-hist.cc (do_edit_history): Likewise. - * pt-plot.cc (open_plot_stream): Likewise. - -2003-07-15 John W. Eaton - - * oct-stream.cc (get_size, octave_base_stream::error, - octave_base_stream::do_gets, octave_base_stream::getl, - octave_base_stream::gets, octave_base_stream::do_scanf, - octave_base_stream::scanf, octave_base_stream::do_oscanf, - octave_base_stream::oscanf, do_printf_conv, - octave_base_stream::do_printf, octave_base_stream::printf, - octave_base_stream::puts, octave_base_stream::invalid_operation, - octave_stream::getl, octave_stream::gets, octave_stream::scanf, - octave_stream::oscanf, octave_stream::printf, octave_stream::puts, - octave_stream::invalid_stream_error): Handle name of calling - function for error messages as a std::string object. Change all - callers. - - * file-io.cc (Fprintf, Fputs): New functions, so we can get - function prefixes on error messages right. - (Ffgetl, Ffgets, Ffprintf, Fsprintf, Fputs, Ffscanf, Fsscanf): - Pass name of calling function to octave_stream method. - - * oct-stream.h (octave_base_stream::do_char_scanf, - octave_base_stream::do_real_scanf): Delete unused decls. - - * load-save.cc (read_mat5_binary_element): Correctly read struct - arrays. - - * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): - New args, warnfor and nargout. Change all callers. - (symbols_of_pt_misc): New function. - (warn_undefined_return_values): New function. - - * octave.cc (maximum_braindamage): Don't set - define_all_return_values. - - * ov-usr-fcn.cc (ov_user_function::do_multi_index_op): Always - intiialize undefined elements in ret_list to []. - Never return last computed value. - (Vreturn_last_computed_value, Vdefine_all_return_values): Delete. - (return_last_computed_value, define_all_return_values): Delete. - (symbols_of_ov_usr_fcn): Delete DEFVARs for - return_last_computed_value, define_all_return_values, and - default_return_value. - -2003-07-14 John W. Eaton - - * pt-misc.cc (tree_parameter_list::convert_to_const_vector): - Don't skip undefined elements. - -2003-07-13 John W. Eaton - - * octave.cc (maximum_braindamage): Don't set - default_global_variable_value or initialize_global_variables. - - * pt-decl.cc (Vinitialize_global_variables): Delete. - (initialize_global_variables): Delete. - (symbols_of_pt_decl): Delete. - (tree_global_command::do_init): Default initial value is now - always []. - -2003-07-11 John W. Eaton - - * octave.cc (maximum_braindamage): Don't set default_eval_print_flag. - - * parse.y (Vdefault_eval_print_flag): Delete: - (default_eval_print_flag): Delete. - (symbols_of_parse): Delete DEFVAR for default_eval_print_flag. - (Feval, Fevalin): Return empty octave_value_list and turn printing - on in eval_string if nargout is zero. - - * ov-list.cc (octave_list::assign): Check - Vwarn_resize_on_range_error, not Vresize_on_range_error. - - * ov.cc (Vwarn_resize_on_range_error): New variable. - (warn_resize_on_range_error): New function. - (symbols_of_ov): Add DEFVAR for warn_resize_on_range_error. - - * ov.cc (Vresize_on_range_error): Delete. - (resize_on_range_error): Delete. - (symbols_of_ov): Delete DEFVAR for resize_on_range_error. - - * pt-mat.cc (Vwarn_empty_list_elements): New variable. - (warn_empty_list_elements): New function. - (symbols_of_pt_mat): Add DEFVAR for warn_empty_list_elements. - (tm_row_const::tm_row_const_rep::init, tm_const::init): - Check Vwarn_empty_list_elements, not Vempty_list_elements_ok. - - * pt-mat.cc (Vempty_list_elements_ok): Delete. - (empty_list_elements_ok): Delete. - (symbols_of_pt_mat): Delete DEFVAR for empty_list_elements_ok. - -2003-07-11 Russell Standish - - * TEMPLATE-INST/Array-tc.cc (resize_fill_value): Provide - specialization. - -2003-07-10 John W. Eaton - - * strfns.cc (Fchar): Force string conversions without warnings. - - * ov.h (octave_value::convert_to_str, octave_value::all_strings, - octave_value::string_value, octave_value:convert_to_str_internal): - New arg, force. Fix all derived classes to match. - - * strfns.cc (Fchar): Temporarily reset Vwarn_num_to_str to avoid - warnings. - - * ov.cc (convert_to_str): New arg, force. - - * octave.cc (maximum_braindamage): Don't set treat_neg_dim_as_zero. - - * utils.cc (Vwarn_neg_dim_as_zero): New variable. - (warn_neg_dim_as_zero): New function. - (symbols_of_utils): Add DEFVAR for warn_neg_dim_as_zero. - (check_dimensions): Check Vwarn_neg_dim_as_zero, not - Vtreat_neg_dim_as_zero. - - * utils.cc (Vtreat_neg_dim_as_zero): Delete. - (treat_neg_dim_as_zero): Delete. - (symbols_of_utils): Delete DEFVAR for treat_neg_dim_as_zero. - -2003-07-09 John W. Eaton - - * octave.cc (maximum_braindamage): Don't set prefer_column_vectors. - - * ov.cc (Vprefer_column_vectors): Delete. - (prefer_column_vectors): Delete. - (symbols_of_ov): Delete DEFVAR for prefer_column_vectors. - - * octave.cc (maximum_braindamage): Don't set do_fortran_indexing. - - * ov-re-mat.cc (octave_matrix::double_value, - octave_matrix::complex_value): Use Vwarn_fortran_indexing, not - Vdo_fortran_indexing. - * ov-range.cc (octave_range::double_value, - octave_range::complex_value): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::double_value, - octave_complex_matrix::complex_value): Likewise. - * ov-ch-mat.cc (octave_char_matrix::double_value, - octave_char_matrix::complex_value): Likewise. - * ov-bool-mat.cc (octave_bool_matrix::double_value, - octave_bool_matrix::complex_value): Likewise. - - * ov.cc (Vwarn_fortran_indexing): New variable. - (warn_fortran_indexing): New function. - (symbols_of_ov): Add DEFVAR for warn_fortran_indexing. - (octave_value::vector_value, octave_value::int_vector_value, - (octave_value::complex_vector_value): Check - Vwarn_fortran_indexing, not Vdo_fortran_indexing. - - * ov.h (Vwarn_fortran_indexing): Provide decl. - - * ov.cc (Vdo_fortran_indexing): Delete unused variable. - (do_fortran_indexing): Delete unused function. - (symbols_of_ov): Delete DEFVAR for do_fortran_indexing. - * ov.h (Vdo_fortran_indexing): Delete decl. - - * ov.cc (octave_value::convert_to_str): Call convert_to_str_internal. - (octave_value::convert_to_str_internal): New virtual function. - Rename all derived class convert_to_str functions to match. - - * variables.cc (generate_struct_completions): Set - discard_warning_messages, not Vwarning_option. Also protect - warning_state. - - * parse.y (fold): Temporarily discard warning messages. - Also protect warning_state. - - * error.cc (discard_warning_messages): New variable. - (vwarning): Use it. - (warning): Don't print backtrace if discard_warning_messages is true. - - * ov.cc (octave_value::convert_to_str): - Handle type conversion warning here. - - * gripes.cc (gripe_implicit_conversion): - New function accepting std::string args. - - * octave.cc (maximum_braindamage): Don't set - implicit_num_to_str_ok or implicit_str_to_num_ok. - - * ov-base.cc (octave_base_value::char_matrix_value): - Vimplicit_num_to_str_ok no longer exists. - (octave_base_value::all_strings): Likewise. - (octave_base_value::string_value): Likewise. - - * ov-str-mat.cc (octave_char_matrix_str::matrix_value): Warn based - on Vwarn_str_to_num instead of Vimplicit_str_to_num_ok. - - * ov.cc (Vwarn_num_to_str, Vwarn_str_to_num): New variables. - (warn_num_to_str, warn_str_to_num): New functions. - (symbols_of_ov): Add DEFVARs for warn_num_to_str and Vwarn_str_to_num. - * ov.h (Vwarn_num_to_str, Vwarn_str_to_num): Provide decl. - - * ov.cc (Vimplicit_num_to_str_ok, Vimplicit_str_to_num_ok): - Delete unused variables. - (implicit_num_to_str_ok, implicit_str_to_num_ok): - Delete unused functions. - (symbols_of_ov): Delete DEFVARs for implicit_num_to_str_ok and - implicit_str_to_num_ok. - * ov.h (Vimplicit_num_to_str_ok, Vimplicit_str_to_num_ok): - Delete decls. - - * pt-mat.cc (tree_matrix::rvalue): Vimplicit_num_to_str_ok no - longer exists. - - * ov.cc (Vwarn_imag_to_real): New variable. - (warn_imag_to_real): New function. - (symbols_of_ov): Add DEFVAR for warn_imag_to_real. - * ov.h (Vwarn_imag_to_real): Provide decl. - - * ov.cc (Vok_to_lose_imaginary_part): Delete unused variable. - (ok_to_lose_imaginary_part): Delete unused function. - (symbols_of_ov): Delete DEFVAR for ok_to_lose_imaginary_part. - * ov.h (Vok_to_lose_imaginary_part): Delete decl. - - * ov-complex.cc (octave_complex::double_value): Warn based on - Vwarn_imag_to_real instead of Vok_to_lose_imaginary_part. - (octave_complex::matrix_value): Likewise. - * ov-cx-mat.cc (octave_complex_matrix::double_value): Likewise. - (octave_complex_matrix::matrix_value): Likewise. - - * octave.cc (maximum_braindamage): Don't set ok_to_lose_imaginary_part. - -2003-07-08 John W. Eaton - - * sighandlers.cc (sig_hup_or_term_handler): New function. - (install_signal_handlers): Install sig_hup_or_term_handler for - SIGHUP and SIGTERM instead of generic_sig_handler. - (Vsighup_dumps_octave_core, Vsigterm_dumps_octave_core): - New static variables. - (sighup_dumps_octave_core, sigterm_dumps_octave_core): - New static functions. - (symbols_of_sighandlers): Add DEFVARs for sighup_dumps_octave_core - and sigterm_dumps_octave_core. - - * defaults.h.in (OCTAVE_LOCALAPIFCNFILEDIR, OCTAVE_LOCALAPIOCTFILEDIR): - Subsitute new variables. - - * defun.cc (check_version): Compare version to OCTAVE_API_VERSION, - not OCTAVE_VERSION. Mismatch is now fatal. - * defun-int.h (DEFINE_FUN_INSTALLER_FUN3): Pass - OCTAVE_API_VERSION instead of OCTAVE_VERSION to check_version. - * version.h (OCTAVE_API_VERSION): New macro, initial value api-v1. - - * defaults.cc (Vdefault_exec_path): New static variable. - (set_default_default_exec_path): New function. - (install_defaults): Call it. - (exec_path): Use it. - (default_exec_path): New function. - (symbols_of_defaults): Add DEFVAR for DEFAULT_EXEC_PATH. - -2003-07-07 John W. Eaton - - * defaults.h.in (OCTAVE_LOCALSTARTUPFILEDIR, OCTAVE_STARTUPFILEDIR): - Set values directly instead of constructing them. - -2003-06-28 Arno J. Klaassen - - * toplev.cc (octave_config_info): Key for OCTAVE_CONF_DEFS should - be DEFS, not UGLY_DEFS. - -2003-06-27 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.50. - -2003-06-26 John W. Eaton - - * variables.cc (symbol_exist): Distinguish between user and dld - functions loaded in memory. - -2003-06-24 John W. Eaton - - * pt-mat.cc (tm_row_const::init, tm_const::init): Don't ignore - empty matrices that have one non-zero dimension. - - * variables.cc (symbol_exist): Use dir_path::find_first_of to - search for .oct and .m files. - - * ov-base.cc (octave_base_value::subsasgn): Also allow type - conversion for empty numeric objects with more than one index. - * ov-base-mat.cc (octave_base_matrix::subsasgn): Likewise. - -2003-06-23 John W. Eaton - - * variables.cc (do_who): New arg, return_list. If return_list is - true, return values in cell or struct arrays instead of printing. - (Fwho, Fwhos): If nargout is 1, ask do_who to return lists of values. - * oct-map.h (Octave_map (const std::string&, const octave_value_list&): - New constructor. - -2003-06-19 John W. Eaton - - * pt-idx.cc (tree_index_expression::rvalue): - Correctly handle index expressions like x(end).f(end). - (tree_index_expression::lvalue): Likewise. - - * pt-arg-list.cc (F__end__): Add nr, nc info to error messages. - -2003-06-18 John W. Eaton - - * pr-output.cc (set_format (const Matrix&, int&, double&)): Ask - any_element_is_negative to return true for negative zero as well. - (set_format (const ComplexMatrix&, int&, int&, double&)): Likewise. - -2003-06-16 John W. Eaton - - * toplev.cc (main_loop): Set octave_interrupt_hook and - octave_bad_alloc_hook to unwind_protect::run_all here. - (recover_from_exception): Don't call unwind_protect::run_all here. - - * pt-except.cc (do_catch_code): Return immediately if - octave_interrupt_immediately is nonzero. - - * sighandlers.cc (sigint_handler): If jumping, don't set - octave_interrupt_state. - -2003-06-14 John W. Eaton - - * load-save.cc (get_save_type): Avoid all save types other than - LS_DOUBLE to avoid apparent Matlab bugs. - -2003-06-13 John W. Eaton - - * parse.y (frob_function, parse_fcn_file): Handle help_buf as - stack of strings. - * lex.l ({CCHAR}): Handle help_buf as stack of strings. - Store text returned from grab_help_text in help_buf here. - (reset_parser): Handle help_buf as stack of strings. - (prep_for_nested_function): Push empty string onto help_buf stack. - (grab_help_text): Return help text instead of storing it in help_buf. - * parse.h, parse.y (help_buf): Now a stack of strings. - - * oct-stream.cc (printf_value_cache::string_value): Don't attempt - to extract values when none are available. - -2003-06-04 John W. Eaton - - * pt-plot.cc (Vgnuplot_has_multiplot): Delete variable. - (gnuplot_has_multiplot): Delete. - (symbols_of_pt_plot): Delete DEFVAR for gnuplot_has_multiplot. - -2003-05-28 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.49. - -2003-05-28 Teemu Ikonen - - * load-save.cc (save_mat5_binary_element, save_mat_binary_data): - Allow saving of non-7-bit ASCII characters. - -2003-05-28 John W. Eaton - - * oct-stream.cc (FINISH_CHARACTER_CONVERSION, - octave_base_stream::do_scanf): Do a better job of resizing for - charachter conversions. - -2003-05-25 John W. Eaton - - * ov-cx-mat.cc (octave_complex_matrix::assign): Move definition here. - * ov-cx-mat.h: From here. - -2003-05-24 John W. Eaton - - * ov-range.cc (octave_range::try_narrowing_conversion): Convert to - [](1x0) instead of [](0x0) if range is empty. - -2003-05-14 John W. Eaton - - * Makefile.in: Handle DESTDIR. - -2003-05-13 John W. Eaton - - * lex.l: Use yyunput (X, yytext) instead of unput (X) for newer - versions of flex. - -2003-05-06 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.48. - -2003-05-02 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.47. - -2003-05-01 John W. Eaton - - * load-save.cc (save_ascii_data): If saving a range with - non-integer base, limit, or increment, save as matrix instead. - (get_save_type): Avoid unsigned types. - -2003-04-30 John W. Eaton - - * octave.cc (initialize_pathsearch): Don't save old and set new - value of TEXMFDBS. - - * toplev.cc (restore_texmfdbs_envvar): Delete function. - (Fsystem): Don't set and reset TEXMFDBS. - - * toplev.h, toplev.cc (octave_original_texmfdbs): Delete variable. - -2003-04-25 John W. Eaton - - * DLD-FUNCTIONS/getpwent.cc (Fgetpwnam): Delete unnecessary - c_str() method. - -2003-04-22 John W. Eaton - - * file-io.cc: Include for auto_ptr. - -2003-04-18 John W. Eaton - - * toplev.cc (octave_config_info): Delete LIBKPATHSEA from struct. - * oct-conf.h.in: Don't substitute LIBKPATHSEA. - - * octave.cc (octave_main): Don't call dir_path::set_program_name. - -2003-04-17 John W. Eaton - - * ov-file.h (octave_file::empty_clone): Create an octave_scalar - object, not an octave_file object. - -2003-04-01 John W. Eaton - - * load-save.cc (hdf5_read_next_data): Extract list before - assigning to map element. - (add_hdf5_data): Prefix faked names with '_' so they are valid - identifiers. - -2003-03-24 Mats Jansson - - * syscalls.cc (Fkill): Fixed docstring typo. - -2003-03-18 John W. Eaton - - * ov-cell.h (octave_cell::is_matrix_type): New function. - -2003-03-09 Duncan Temple Lang - - * octave.cc (octave_main): New arg, embedded. - * octave.h: Fix decl. - * main.c: Pass 0 for embedded here. - -2003-03-03 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.46. - - * oct-conf.h.in: Undo previous change. - - * load-save.cc (read_mat5_binary_element): Handle structure arrays. - (save_mat5_binary_element): Likewise. - -2003-03-01 John W. Eaton - - * ov-cell.cc (octave_cell::subsasgn): Use make_unique in - appropriate places to preserve copy on write semantics. - - * oct-conf.h.in: Substitute OCTAVE_CONF_KPATHSEA_INCFLAGS. - - * oct-stdstrm.h (octave_stdiostream::output_stream): Return stream - if mode is out, not in. - -2003-02-22 John W. Eaton - - * strfns.cc (Fchar): New function. - - * ov-cell.cc (octave_cell::all_strings): Allow elements to be - string arrays. - * ov.cc (octave_value::all_strings, octave_value::convert_to_str): - New optional arg, pad. Change all derived classes. - - * ov-struct.cc (Ffieldnames, Fisfield): Move here from data.cc. - - * data.cc (Ffieldnames): Rename from Fstruct_elements. Return - cell array instead of a string array. - (Fisfield): Rename from struct_contains. - -2003-02-22 Paul Kienzle - - * toplev.cc: Put config info in array of strings, then convert to map. - -2003-02-22 John W. Eaton - - * variables.cc (symbol_exist): For names like foo.bar, don't omit - the part after the dot. - -2003-02-21 John W. Eaton - - * octave.cc (fun_to_call): New static variable. - (octave_main): Pass it to main_loop. - (long_opts): Accept --funcall. - (usage_string, verbose_usage): Add --funcall. - - * toplev.cc (main_loop): New arg, fun_to_call. If non-empty, - evaluate this function before continuing. - -2003-02-21 Paul Kienzle - - * file-io.cc (Fmkstemp): Use OCTAVE_LOCAL_BUFFER instead of using - std::auto_ptr directly. - -2003-02-21 John W. Eaton - - * ov.h, ov.cc (octave_value (long long int)): New constructor. - (octave_value (unsigned long long int)): Likewise. - - * oct-obj.h (octave_value_list::operator delete): Handle systems - with or without placement delete. - -2003-02-21 Paul Kienzle - - * utils.cc (octave_vsnprintf): Return value of vsnprintf is int, - not size_t. Make sure there is some space left in the buffer for - vsnprintf versions which return the number of characters written - even when the buffer is too short. - -2003-02-20 John W. Eaton - - * debug.cc (get_user_function): Use dynamic_cast, not static_cast. - - * ov-usr-fcn.cc (octave_user_function::traceback_error): Now const. - - * ov.cc (octave_value (const octave_fcn_handle&)): New constructor. - (octave_value::fcn_handle_value): New virtual function. - * ov-base.cc (octave_value::fcn_handle_value): Provide default. - * ov-usr-fcn.cc (octave_user_function::stash_fcn_file_name): New - arg, nm. Change all callers. - * ov-fcn.h (octave_function::is_nested_function): New virtual function. - * parse.y (get_feval_args): New function. - (feval (octave_function *, const octave_value_list&, int)): Likewise. - (feval (const octave_value_list&, int)): Allow the first arg to be - a function handle as well as a string. - * variables.cc (load_function): New function. - * pt-walk.h, pt-pr-code.h, pt-pr-code.cc, pt-check.h, pt-check.cc, - pt-bp.h, pt-bp.cc: Handle new tree_fcn_handle class. - * pt-all.h: Include pt-fcn-handle.h. - * pt-fcn-handle.h, pt-fcn-handle.cc, ov-fcn-handle.h, - ov-fcn-handle.cc: New files. - -2003-02-19 John W. Eaton - - * parse.y (FCN_HANDLE): New token type. - (fcn_handle): New non-terminal. - (primary_expr): Also accept fcn_handle. - (tree_fcn_handle_type): New %type. - (union): New field, tree_fcn_handle_type. - (make_fcn_handle): New function. - - * lex.l (@{IDENT}): Recognize function handle syntax. - (@): Don't recognize "@" as a single token. - - * load-save.cc (struct hdf5_callback_data): Provide constructor. - (hdf5_callback_data::name, hdf5_callback_data::doc): Now - std::string instead of char*. Change all uses. - -2003-02-18 Roger Banks - - * load-save.cc (read_ascii_data, read_ascii_data, - read_mat5_binary_element, save_mat5_binary_element, - save_ascii_data): Handle cell arrays. - (write_mat5_cell_array): New function. - -2003-02-18 John W. Eaton - - * Makefile.in (DLD_XSRC): Delete log.cc from the list. - Add sqrtm.cc to the list. - - * DLD-FUNCTIONS/log.cc: Delete. - -2003-02-18 Paul Kienzle - - * DLD-FUNCTIONS/sqrtm.cc: New file. - -2003-02-18 David Bateman - - * DLD-FUNCTIONS/lu.cc (Flu): Allow non-square matrices. - -2003-02-17 John W. Eaton - - * load-save.cc (read_binary_file_header, do_load, do_save, - write_header): No longer static. - (load_save_format): Move enum decl to load-save.h. - -2003-02-15 John W. Eaton - - * oct-stdstrm.h, oct-stdstrm.cc (octave_base_stdiostream, - octave_iostdiostream, octave_istdiostram, octave_ostdiostream): - Combine all functionality into one class, octave_stdiostream. - Change all uses. - - * file-io.cc (Ftmpfile, Fmkstemp): New functions. - * oct-stdstrm.h (octave_iostdiostream): New class. - (octave_istdiostream::octave_istdiostream, - octave_istdiostream::create, - octave_ostdiostream::octave_ostdiostream, octave_ostdiostream::create, - octave_iostdiostream::octave_iostdiostream, - octave_iostdiostream::create): Make close function the last arg. - Change all uses. - - * c-file-ptr-stream.h (io_c_file_ptr_stream): New class. - -2003-02-14 John W. Eaton - - * octave.cc (maximum_braindamage): Set boolean built-in variables - to true and false instead of 1.0 and 0.0. - (octave_main): Likewise. - * error.cc (Fwarning): Likewise. - - * pager.cc (Fmore): Make the no-arg case work too. - - * ov-str-mat.h (octave_char_matrix_str::is_real_type, - octave_char_matrix_str::is_matrix_type, - octave_char_matrix_str::is_numeric_type): Always return false. - -2003-02-13 John W. Eaton - - * lex.l (): If we are parsing a command, reset start state. - Use BEGIN (INITIAL) instead of BEGIN 0. Use parens around start - state in BEGIN statements. - -2003-02-13 Paul Kienzle - - * variables.cc (Fmlock, Fmunlock, Fmislocked): New functions. - - * variables.cc (mlock, munlock, mislocked): New functions. - * variables.h: Provide decls. - - * symtab.h (symbol_record::unmark_static): New function. - -2003-02-12 John W. Eaton - - * error.cc (reset_error_handler): New function. - * toplev.cc (main_loop): Use it here. - * lex.l (reset_parser): Don't set error_state and warning_state here. - * parse.y (eval_string): Reset parser before calling yyparse. - -2003-01-29 John W. Eaton - - * data.cc (Ffmod): New function. - - * c-file-ptr-stream.cc (c_file_ptr_buf::underflow_common): New - function. - * c-file-ptr-stream.h (c_file_ptr_buf::underflow, - c_file_ptr_buf::uflow): Use it. - (c_file_ptr_buf): Derive from std::streambuf, not OCTAVE_STD_FILEBUF. - Don't cache file descriptor. - -2003-01-28 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc: Move min and max functions from here to - liboctave/dMatrix.cc and liboctave/CMatrix.cc. - -2003-01-24 John W. Eaton - - * DLD-FUNCTIONS/rand.cc: Rewrite to use new octave_rand functions. - -2003-01-23 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_printf): Handle values - outside the range of integers in int conversions for - compatibilitiy wtih Matlab. - -2003-01-22 John W. Eaton - - * load-save.cc (get_mat_data_input_line): Handle lines with CR - only as separator. - - * oct-stream.cc (octave_base_stream::do_printf): Handle Inf and - NaN in int conversions for compatibility with Matlab. - - * data.cc (symbols_of_data): Doc fix for realmin. - - * cutils.c (octave_raw_vsnprintf): New function. - * utils.cc (octave_snprintf): Move here from cutils.c. - (octave_Vsnprintf): Likewise. Allow octave_raw_vsnprintf to be - interrupted. - * utils.h (octave_vsnprintf, octave_snprintf): No longer extern "C". - -2003-01-21 John W. Eaton - - * pt-loop.cc (tree_complex_for_command::eval): Fix typo. - -2003-01-16 Mumit Khan - - * mk-oct-links: Use $SED if set. - * mkbuiltins: Likewise. - * mkdefs: Likewise. - * mkdocs: Likewise. - * mkgendoc: Likewise. - * mkops: Likewise. - -2003-01-11 Paul Kienzle - - * Makefile.in (gendoc$(BUILD_EXEEXT)): Pass $(BUILD_CXXFLAGS) and - $(BUILD_LDFLAGS) to compiler. - -2003-01-11 John W. Eaton - - * parse.y (Fassignin): New function. - -2003-01-10 John W. Eaton - - * sighandlers.cc (make_sig_struct): New function. - (symbols_of_sighandlers): Add DEFCONST for SIG struct. - - * syscalls.cc (Fkill): New function. - -2003-01-06 John W. Eaton - - * oct-stream.cc (get_size): If only one dimension is specified and - it is zero, also set the other dimension to zero instead of one. - -2003-01-04 John W. Eaton - - * sysdep.cc [__DECCXX]: Add a kluge for some missing template - functions. - -2003-01-03 John W. Eaton - - * ov-usr-fcn.cc (octave_vr_val): Assert vr_list != 0, not vr_list. - * variables.cc (builtin_string_variable, builtin_any_variable, - builtin_real_scalar_variable, bind_builtin_variable): Likewise. - - * TEMPLATE-INST/Array-tc.cc: Provide specialization of - Array::resize_fill_value before instantiation of - Array. - - * oct-obj.h (octave_value_list::operator delete): Define version - of delete operator to correspond to placement new operator. - - * mkgendoc: In generated code, define __USE_STD_IOSTREAM if using - Compaq C++. - - * Makefile.in (distclean): Also remove doc-files and gendoc.cc. - - * input.cc (initialize_command_input): Use const for - initialization of char * from literal string. - - * pt-plot.cc (subplot::extract_plot_data): Call single_subsref, - not subsref. - * ov.h, ov.cc (single_subsref (const std::string&, const - octave_value_list&)): Rename from subsref. - - * symtab.cc (symbol_table::rename): Explicitly convert C string to - std::string so type of second arg of ?: matches third. - (symbol_table::lookup): Likewise. - - * mappers.cc: Remove std:: qualifiers from C library names. - -2003-01-03 John W. Eaton - - * pt-exp.h (tree_expression::has_magic_end): New pure virtual function. - * pt-id.h (tree_identifier::has_magic_end): New function. - * pt-colon.h (tree_colon_expression::has_magic_end): Likewise. - * pt-idx.h (tree_index_expression::has_magic_end): Likewise. - * pt-const.h (tree_constant::has_magic_end): Likewise. - * pt-unop.h (tree_unary_expression::has_magic_end): Likewise. - * pt-binop.h (tree_binary_expression::has_magic_end): Likewise. - * pt-assign.h (tree_multi_assignment::has_magic_end): Likewise. - (tree_simple_assignment::has_magic_end): Likewise. - * pt-mat.cc (tree_matrix::has_magic_end): Likewise. - * pt-arg-list.cc (tree_argument_list::has_magic_end): Likewise. - - * pt-arg-list.cc (tree_argument_list::append): Check all - expression types for magic end token.. - - * file-io.cc (Ftmpnam): Improve error checking. - (symbols_of_file_io): Move definition of P_tmpdir here from dirfns.cc. - - * dirfns.cc (symbols_of_dirfns): Install new built-in constant - P_tmpdir. - -2003-01-02 John W. Eaton - - * dirfns.cc (symbols_of_dirfns): New function. - Install new built-in constant filesep. - - * utils.cc (Fisvaranme): New function. - (valid_identifier): Identifiers can't start with digits! Doh! - - * lex.l (Fiskeyword): New function. - - * Makefile.in (INCLUDES): Don't forget base-list.h. - - * symtab.cc (symbol_record::define): If definition already exists, - redefine it instead of replacing it. - - * variables.cc (symbol_exist): Don't use reference when handling - sr->def (). - - * pt-plot.cc (save_in_tmp_file): octave_value arg is now const. - * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): - Likewise. - - * symtab.cc (symbol_record::clear): Don't do anything if the - symbol record is already undefined. - -2003-01-01 John W. Eaton - - * pt-arg-list.cc (tree_argument_list::append): New function. - (tree_argument_list::convert_to_const_vector): Don't save and - set pointer to indexed object if list_includes_magic_end is false. - * pt-arg-list.h (tree_argument_list::append): Provide decl. - (tree_argument_list::list_includes_magic_end): New data member. - (tree_argument_list::tree_argument_list): Initialize it. - - * ov-base.cc (octave_base_value::char_matrix_value, - octave_base_value::all_strings, octave_base_value::string_value): - Attempt conversions here if Vimplicit_num_to_num_ok is true. - - * ov.cc (Vimplicit_num_to_str_ok): Move here from pt-mat.cc and - make extern. - * ov.h: Provide decl. - - * oct-stream.cc (printf_value_cache::looking_at_string): Delete. - (printf_value_cache::string_value): Just attempt conversion. - (octave_base_stream::do_printf): When doing '%s' format, - just attempt converstion. - - * file-io.cc (Ffread): Allow size to be omitted even when - additional arguments are given. - -2002-12-31 John W. Eaton - - * pt-arg-list.cc (F__end__): Fail if rows or columns is negative. - (tree_argument_list::convert_to_const_vector): Only protect and - save pointer to the indexed object if it is a constant. - - * syscalls.cc (Fmkfifo): Use long_value instead of cast. - - * ov.h (octave_value::short_value, octave_value::ushort_value, - octave_value::uint_value, octave_value::long_value, - octave_value::ulong_value): New functions. - - * syscalls.cc (mk_stat_map, Fgetegid, getgid, geteuid): Likewise. - Delete unnecessary casts. - * file-io.cc (Ffgetl, Ffgets, Fftell, Fsscanf): Likewise. - * toplev.cc (Fsystem): Likewise. - - * ov-file.h (octave_file::double_value, octave_file::scalar_value): - Delete unnecessry cast. - - * ov.cc (octave_value::octave_value): Add constructors for - octave_time, short int, unsigned short int, unsigned int, long - int, unsigned long int, - - * ov.h (octave_value::do_subsref (const std::string&, const - octave_value_list&)): Rename from subsref. Change all derived classes. - - * input.cc (generate_completion): Delete unused variable prefix_len. - - * ov.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Delete volatile - qualifier for decls of static_type_id and t_id. - (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Likewise, for def of t_id. - -2002-12-30 John W. Eaton - - * utils.cc (Ffile_in_path): Index args correctly. - - * utils.cc (Ffile_in_path): Call error, not print_usage, for - invalid option error. - (Ffile_in_loadpath): Likewise. - - * load-save.cc: Use OCTAVE_LOCAL_BUFFER instead of local automatic - arrays or using new/delete. - - * lex.l (.): Try another approach to handling EOF here. - - * load-save.cc (read_mat_ascii_data): Use isalpha and isalnum, not - ::isalpha and ::isalnum. - - * defaults.cc (maybe_add_or_del_packages): SCRIPT_FILE arg is now - a const reference type. - - * ov.h (octave_value::subsref, octave_value::subsasgn, - octave_value::assign, octave_value::do_non_const_unary_op, - octave_value::numeric_assign): TYPE arg is now a const reference - type. Change all derived classes. - - * ov.cc (octave_value::subsref (const std::string&, const - octave_value_list&)): Move body here, from ov.h. - - * octave.cc (octave_main): Return 0 at end of function to avoid - compiler warnings. - -2002-12-30 Paul Kienzle - - * parse.y: Fix typo in doc string. - -2002-12-29 John W. Eaton - - * DLD-FUNCTIONS/lpsolve.cc (Flpsolve): Rename from Flp_solve. - (Flpsolve_options): Rename ffrom Flp_solve_options. - -2002-12-27 John W. Eaton - - * parse.y (Fevalin): New function. - - * variables.cc (curr_caller_sym_tab): New global variable. - * variables.h: Provide decl. - (initialize_symbol_tables): Initialize it. - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Protect and set it here. - -2002-12-26 John W. Eaton - - * utils.cc (search_path_for_file): Second arg now string_vector. - Use find_first_of, not find. - (search_path_for_all_files): Second arg now string_vector. - Use find_all_first_of, not find_all. - (Ffile_in_path): Accept cell array of strings as first argument. - (Ffile_in_loadpath): Likewise. - - * dynamic-ld.cc (octave_dynamic_loader::load): New arg, file_name. - (octave_dynamic_loader::do_load): Likewise. If file_name is not - empty, use it instead of searching in path. - - * parse.y (load_fcn_from_file): Use find_first_of to perform search. - - * ov-cell.cc (octave_cell::all_strings): New function. - * ov-cell.h: Provide decl. - -2002-12-25 John W. Eaton - - * parse.y (function_end): If parsing a nested function, set - lexer_flags.parsing_nested_function to -1. - (frob_function): If lexer_flags.parsing_nested_function is - negative, set it to zero. - * lex.h (lexical_feedback::parsing_nested_function): Now int. - Change uses as needed. - - * lex.l (NESTED_FUNCTION_BEGIN): Rename from NESTED_FUNCTION_START. - Now an exclusive start state. - (NESTED_FUNCTION_END): New exclusive start state. - (is_keyword): When matching a new function keyword in a nested - function context, explicitly return END and set start state to - NESTED_FUNCTION_END. - (.): Accept EOF here too. - - * variables.cc (link_to_builtin_or_function): Maybe prepend parent - function name symbol name. - - * parse.y (parent_function_name): New variable. - (fcn_name): New non-terminal. - (function2): Use it. - (parsed_fcn_name): Fold into fcn_name. - (function_end): Don't call check_for_garbage_after_fcn_def. - Set lexer_flags.parsing_nested_function on EOF. - * parse.h: Provide decl for parent_function_name. - - * ov-usr-fcn.h (octave_user_function::mark_as_nested_function, - (octave_user_funciton::is_nested_function): New functions. - (octave_user_function::nested_function): New data member. - (octave_user_function::do_multi_index_op): Maybe protect and set - curr_parent_function pointer. - * parse.y (frob_function): Maybe mark as nested function. - - * toplev.cc (curr_parent_function): New global variable. - * toplev.h: Provide decl. - - * lex.l (check_for_garbage_after_fcn_def): Delete. - * lex.h: Delete decl. - - * lex.l (prep_for_nested_function): New function. - (): Use it here. - (is_keyword): And here. - (lookup_identifier): Maybe prepend parent function name. - - * variables.cc (initialize_symbol_tables): Give names to the three - main symbol tables. - * symtab.cc (symbol_table::lookup, symbol_table::rename): Print - debugging info if Vdebug_symtab_lookups is nonzero. - (debug_symtab_lookups): New function. - (Vdebug_symtab_lookups): New static varaible. - (symbols_of_symtab): DEFVAR it. - * symtab.h (symbol_table::table_name): New member variable. - (symtab_count): New static member variable. - (symbol_table::symbol_table): Handle table name. - -2002-12-24 John W. Eaton - - * parse.y (frob_function): Don't give nested functions the same - name as the function file. - - * lex.h (lexical_feedback::parsing_nested_function): New data member. - * lex.l (lexical_feedback::init): Initialize it to false. - (): Set lexer_flags.parsing_nested_function - to true. - - * parse.y (symtab_context): Now a stack. Change all uses. - - * lex.l (NESTED_FUNCTION_START): New start state to handle - "function" keyword in a nested function context. - (prep_for_function): New function. - (is_keyword): Allow functions to be nested in function files. - - * lex.l (is_keyword): Maybe ignore END tokens. - Increment and decrement end_tokens_expected as appropriate. - (handle_identifier): If is_keyword returns -1, return immediately. - ({IDENT}{S}*): Do nothing if handle_identifier returns -1. - - * parse.y (end_tokens_expected): New variable. - (parse_fcn_file): Protect and set it. - - * parse.y (begin_obj_idx): Increment - lexer_flags.looking_at_object_index. - (postfix_expr): Decrement it as appropriate here. - - * lex.h (lexical_feedback::looking_at_object_index): Now int. - - * parse.y (postfix_expr): Reset lexer_flags.looking_at_object_index - in () and {} cases too. - -2002-12-21 John W. Eaton - - * pt-arg-list.cc (indexed_object, indexed_position): - New file-scope static variables. - (tree_argument_list::convert_to_const_vector): New arg, object. - Protect and set indexed_object and indexed_position. - (F__end__): New function. - - * octave-lvalue.h (octave_lvalue::object): New member function. - * pt-idx.cc (make_value_list): New arg, object. Change all - callers. Pass object to convert_to_const_vector. - - * lex.h (lexical_feedback.looking_at_object_index): New data member. - * lex.l (lexical_feedback::init): Initialize it. - (is_keyword): If looking at object index, end is not a keyword. - (handle_identifier): If end is not a keyword, transform it to __end__. - * parse.y (begin_obj_idx): New non-terminal. - (postfix_expr): Use it. - - * defun.cc (install_builtin_function): New arg, can_hide_function. - * defun-int.h: Fix decl. - (DEFCONSTFUN_INTERNAL): New macro. - * defun.h (DEFCONSTFUN): New macro. - * mkbuiltins (XDEFCONSTFUN_INTERNAL): New macro. - * mkgendoc: Likewise. - * Makefile.in (DEFUN_PATTERN): Make it work for DEFCONSTFUN too. - * symtab.h (symbol_record::can_hide_function): New data member. - (symbol_record::symbol_record): Initialize it. - * symtab.cc (symbol_record::variable_reference): Also check - can_hide_function flag. - -2002-12-20 John W. Eaton - - * DLD-FUNCTIONS/time.cc (extract_tm): Use int_value() instead of - casting double_value() to int. - - * ov.cc (octave_value::next_subsref): Arg "skip" is now size_t. - - * oct-obj.h (octave_value_list::octave_value_list (double), - octave_value_list::octave_value_list (const Matrix&), - octave_value_list::octave_value_list (const DiagMatrix&), - octave_value_list::octave_value_list (const RowVector&), - octave_value_list::octave_value_list (const ColumnVector&), - octave_value_list::octave_value_list (const Complex&), - octave_value_list::octave_value_list (const ComplexMatrix&), - octave_value_list::octave_value_list (const ComplexDiagMatrix&), - octave_value_list::octave_value_list (const ComplexRowVector&), - octave_value_list::octave_value_list (const ComplexColumnVector&), - octave_value_list::octave_value_list (const char *), - octave_value_list::octave_value_list (const std::string&), - octave_value_list::octave_value_list (const string_vector&), - octave_value_list::octave_value_list (double, double, double), - octave_value_list::octave_value_list (const Range&): Delete. - Adjust uses of octave_value/octave_value_list to handle this change. - - * ov.cc (octave_value::octave_value (int)): New constructor. - * ov.h: Provide decl. - In files that construct integer-valued octave_value objects, use - ints instead of casing to double. - -2002-12-19 John W. Eaton - - * load-save.cc (read_mat_ascii_data): Allow commas to separate values. - Try harder to convert filenames to valid identifiers in a - Matlab-compatible way. - -2002-12-18 John W. Eaton - - * Makefile.in: No need to add $(LIBKPATHSEA) to LINK_DEPS, since - it is not included in liboctave. - -2002-12-18 JD Cole - - * pt-check.cc (tree_checker::visit_subplot_axes, - tree_checker::visit_do_until_command): New functions. - * pt-check.h: Provide decl. - -2002-12-17 John W. Eaton - - * variables.cc (Fclear): Fix off-by-one error. - - * oct-stream.cc (octave_base_stream::do_gets): Correctly read - last line of file even if it does not end with new line - character. - - * pt-select.cc (equal): Don't look up == op, just try it and see - whether it works. - - * oct-stream.cc (printf_format_list::printf_format_list): - Handle empty format string. - -2002-12-06 John W. Eaton - - * pt-mat.cc (class tm_row_const::tm_row_const_rep): Derive from - octave_base_list instead of SLList. Fix tm_row_const member - functions as needed, change all uses. - (class tm_const): Derive from octave_base_list, not SLList. Fix - member functions as needed, change all uses. - * pt-mat.h (class tree_matrix): Derive from octave_base_list - instead of including SLList object as data member. Fix member - functions as needed, change all uses. - - * pt-idx.h (tree_index_expression::args, - tree_index_expression::arg_nm, tree_index_expression::dyn_field): - Now std::list, not SLList. Fix member functions as needed, change - all uses. - - * oct-map.h (Octave_map::map): Now std::map instead of CHMap. - Fix member functions as needed, change all uses. - - * oct-lvalue.h (octave_lvalue::idx): Now std::list instead of - SLList object. Fix member functions as needed, change all uses. - - * dynamic-ld.cc (octave_shlib_list::lib_list): Now std::list - instead of DLList object. Fix member functions as needed, change - all uses. - - * ov.h (octave_value::subsref, octave_value::subsasgn): - Index arg is not std::list, not SLList. Change all derived - classes, all uses. - - * pt-stmt.h (tree_statement_list): Derive from base_octave_list - object instead of including SLList object as data member. Fix - member functions as needed, change all uses. - * pt-select.h (tree_switch_case_list): Likewise. - (tree_if_command_list): Likewise. - * pt-misc.h (tree_parameter_list, tree_return_list, - tree_va_return_list): Likewise. - * pt-plot.h (subplot_list): Likewise. - * pt-mat.h (tree_matrix): Likewise. - * pt-decl.h (tree_decl_init_list): Likewise. - * pt-arg-list.h (tree_argument_list): Likewise. - * comment-list.h (octave_comment_list): Likewise. - - * BaseSLList.cc, DLList.cc, Map.cc, SLList.cc, SLStack.cc, - Stack.cc: Delete. - * Makefile.in (DIST_SRC): Delete them from the list. - - * BaseSLList.h, DLList.h, Map.h, Pix.h, SLList.h, SLStack.h, - Stack.h: Delete - * Makefile.in (INCLUDES): Delete them from the list. - - * Map-oct-obj.cc, SLList-expr.cc, SLList-misc.cc, SLList-plot.cc, - SLList-tc.cc, SLList-tm.cc: Delete. - * Makefile.in (TI_XSRC): Delete them from the list. - - * ov-base-mat.cc (octave_base_matrix::assign): Pass - MT::resize_fill_value () as third arg for ::assign. - - * Cell.h (Cell::resize_fill_value): Use empty Matrix object, not - undefined octave_value object. - (Cell::Cell (int, int, const octave_value&)): Use - resize_fill_value () as default value, not undefined octave_value - object. - -2002-12-05 John W. Eaton - - * Makefile.in (DEFUN_PATTERN): Make it work for DEFCMD too. - - * base-list.h: New file. - -2002-12-04 John W. Eaton - - * toplev.cc (octave_interpreter_ready): New global variable. - * toplev.h: Provide decl. - - * octave.cc (octave_main): Call execute_default_pkg_add_files just - before executing startup files. Set octave_interpreter_ready to - true before calling execute_default_pkg_add_files. - - * defaults.cc (maybe_add_or_del_packages, default_load_path, - update_load_path_dir_path): New static functions. - (set_default_path, loadpath): Call update_load_path_dir_path. - (symbols_of_defaults): Use DEFVAR, not DEFCONST for DEFAULT_LOADPATH. - (execute_default_pkg_add_files): New function. - * defaults.h.in: Provide decl. - - * utils.cc (search_path_for_all_files): New function. - (Ffile_in_loadpath, Ffile_in_path): Allow search to return all - files in the path. - - * Cell.cc (Cell (const string_vector&)): New constructor. - - * oct-obj.cc (octave_value_list::assign): Allow optional fill - value for resizing. - * oct-map.cc (Octave_map::assign): Pass fill_value in initial - assignment too. - -2002-12-03 John W. Eaton - - * TEMPLATE-INST/Map-tc.cc, TEMPLATE-INST/Map-fnc.cc: Delete. - * Makefile.in (TI_XSRC): Delete them from the list. - - * fn-cache.h (octave_fcn_file_name_cache::cache): Now std::map, - not CHMap. - - * TEMPLATE-INST/SLStack-i.cc, TEMPLATE-INST/SLStack-ovl.cc, - TEMPLATE-INST/SLStack-pc.cc, TEMPLATE-INST/SLStack-str.cc, - TEMPLATE-INST/SLStack-sym.cc, TEMPLATE-INST/SLStack-tok.cc, - TEMPLATE-INST/SLStack-ue.cc, TEMPLATE-INST/SLStack-ui.cc: - Delete unnecessary files. - * Makefile.in (TI_XSRC): Delete them from the list. - - * toplev.cc (octave_atexit_functions): Now std::stack, not SLStack. - * pt-plot.cc (tmp_files): Likewise. - * lex.l (token_stack): Likewise. - (class bracket_brace_paren_nesting_level): Make context a data - member instead of deriving from SLStack object. - Use std::stack instead of SLStack. - * ov-usr-fcn.h (octave_user_function::saved_args): Likewise. - * symtab.h (symbol_record::context): Likewise. - (symbol_record::global_link_context): Likewise. - - * unwind-prot.h (unwind_protect::elt_list): Rename from list. - Now std::stack, not SLStack. - - * pt-stmt.h (tree_statement_list): Make list member data instead - of deriving from SLList object. - * pt-select.h (tree_switch_case_list): Likewise. - (tree_if_command_list): Likewise. - * pt-plot.h (subplot_list): Likewise. - * pt-mat.h (tree_matrix): Likewise. - * pt-decl.h (tree_decl_init_list): Likewise. - * pt-arg-list.h (tree_argument_list): Likewise. - * comment-list.h (octave_comment_list): Likewise. - - * defun.h (DEFCMD): Rename from DEFUN_TEXT. Provide DEFUN_TEXT as - an alias for DEFCMD. Change all uses. - - * variables.cc (at_top_level): New function. - (do_who, Fmark_as_command, Funmark_command): Use it. - - * lex.l (COMMAND_START): Rename from TEXT_FCN. Change all uses. - (MATRIX_START): Rename from MATRIX. Change all uses. - * variables.cc (command_function_set): Rename from - text_function_set. - (mark_as_command): Rename from mark_as_text_function. - (is_marked_as_command): Rename from is_marked_as_text_function. - (Fmark_as_command): Rename from Fmark_as_text_function. - (Funmark_command): Rename from Funmark_text_function. - (is_command_name): Rename from is_text_function_name. - * symtab.h (symbol_record::COMMAND): Rename from TEXT_FUNCTION. - (symbol_record::mark_as_command): Rename from mark_as_text_function. - (symbol_record::unmark_command): Rename from - symbol_record::unmark_text_function. - (symbol_record::is_command): Rename from - symbol_record::is_text_function. - (symbol_record::symbol_def::mark_as_command): Rename from - symbol_record::symbol_def::mark_as_text_function. - (symbol_record::symbol_def::unmark_command): Rename from - symbol_record::symbol_def::unmark_text_function. - (symbol_record::symbol_def::is_command): Rename from - symbol_record::symbol_def::is_text_function. - - * pt-jump.h, pt-jump.cc: Undo previous changes. - * parse.y: Undo previous changes for brea, continue, and return. - -2002-11-25 John W. Eaton - - * pt-stmt.cc (tree_statement::eval): Allow the lookup to execute - script files. If script file has been executed, don't bother to - call expr->rvalue (). - -2002-11-22 John W. Eaton - - * Makefile.in (OCTINTERP_LINK_DEPS): Include $(FLIBS) in - OCTINTERP_LINK_DEPS. - - * variables.cc (text_function_set): New static data. - (mark_as_text_function, unmark_text_function, - is_marked_as_text_function, Fmark_as_text_function, - Funmark_text_function): New functions. - (is_text_function_name): Handle functions marked as text functions - in special list, not just those marked in the symbol record. - * symtab.h (symbol_record::mark_as_text_function, - symbol_record::unmark_text_function, - symbol_record::symbol_def::mark_as_text_function, - symbol_record::symbol_def::unmark_text_function): New functions. - - * oct-map.h (Octave_map::rows, Octave_map::columns): New functions. - * ov-struct.h (octave_struct::rows, octave_struct::columns, - octave_struct::length): New functions. - -2002-11-21 John W. Eaton - - * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_SH_LDFLAGS): New macro. - * toplev.cc (octave_config_info): Add it to the struct. - - * lex.l (): If yytext begins with # or %, don't - recognize it as a string. - - * oct-map.h (Octave_map::operator[]): New const version. - * oct-map.cc (equiv_keys): New function. - (assign (const idx_vector&, const Octave_map&)): New function. - * ov-struct.cc (octave_struct::subsasgn): Use it. - -2002-11-20 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.40. - - * p-b-b.cc, op-bm-bm.cc, op-chm.cc, op-cm-cm.cc, op-cm-cs.cc, - op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, - op-cs-s.cc, op-fil-b.cc, op-fil-bm.cc, op-fil-cm.cc, op-fil-cs.cc, - op-fil-lis.cc, op-fil-m.cc, op-fil-rec.cc, op-fil-s.cc, - op-fil-str.cc, op-list.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, - op-m-s.cc, op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, - op-s-s.cc, op-str-str.cc, op-bm-b.cc, op-cell.cc, BaseSLList.cc, - BaseSLList.h, ChangeLog, Map.cc, Map.h, SLList.cc, SLList.h, - SLStack.cc, SLStack.h, Stack.cc, Stack.h, oct-map.cc, oct-map.h, - oct-obj.cc, oct-obj.h, c-file-ptr-stream.cc, c-file-ptr-stream.h, - ov-base-mat.cc, ov-base-scalar.cc, ov-base-scalar.h, ov-base.cc, - ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h, - ov-builtin.cc, ov-builtin.h, ov-ch-mat.cc, ov-ch-mat.h, - ov-colon.cc, ov-complex.cc, ov-complex.h, ov.h, ov-cx-mat.cc, - ov-cx-mat.h, ov-fcn.cc, ov-fcn.h, ov-file.cc, ov-file.h, - ov-list.cc, ov-list.h, ov-mapper.cc, ov-mapper.h, ov-range.cc, - ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h, - ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, ov-struct.h, - ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, ov-usr-fcn.h, - ov-va-args.cc, ov.cc, ov-base-mat.h, procstream.cc, procstream.h, - pt-arg-list.cc, pt-arg-list.h, pt-binop.cc, pt-binop.h, - pt-check.cc, pt-check.h, pt-cmd.cc, pt-cmd.h, pt-colon.cc, - pt-colon.h, pt-const.cc, pt-const.h, pt-decl.cc, pt-decl.h, - pt-except.cc, pt-except.h, pt-exp.cc, pt-exp.h, pt-id.cc, pt-id.h, - pt-idx.cc, pt-idx.h, pt-jump.cc, pt-jump.h, pt-loop.cc, pt-loop.h, - pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h, pt-pr-code.cc, - pt-pr-code.h, pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, - pt-unop.cc, pt-unop.h, pt.cc, pt.h, symtab.h, token.cc, token.h, - unwind-prot.cc, unwind-prot.h, ov-base-nd-array.cc, - ov-re-nd-array.h, ov-re-nd-array.cc, ov-base-nd-array.h, - comment-list.h, comment-list.cc, DLList.cc, DLList.h, - ov-dld-fcn.h, ov-dld-fcn.cc, Cell.cc, Cell.h, pt-cell.h, - pt-cell.cc, ov-cell.h, ov-cell.cc, pt-plot.cc, pt-plot.h, - pt-assign.cc, pt-assign.h, pt-bp.cc, pt-bp.h, symtab.cc, - ov-cs-list.h, ov-cs-list.cc: - Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of - "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)". - -2002-11-19 John W. Eaton - - * oct-obj.h (octave_value_list::~octave_value_list): New function. - -2002-11-19 John W. Eaton - - * DLD-FUNCTIONS/odessa.cc (odessa_user_j): Put T in args(1), not - args(0). - -2002-11-18 John W. Eaton - - * parse.y (symtab_context): Now extern. - * parse.h: Provide decl. - * lex.l (reset_parser): Set it to 0. - -2002-11-15 John W. Eaton - - * pt-bp.cc (octave_debug_on_interrupt_state): New global variable. - * pt-bp.h: Provide decl. - (MAYBE_DO_BREAKPOINT): Check it. - - * sighandlers.cc (sigint_handler): Handle debug_on_interrupt. - (Vdebug_on_interrupt): New static variable. - (symbols_of_sighandlers): New function. DEFVAR Vdebug_on_interrupt. - (debug_on_interrupt): New function. - - * lex.h (YY_FATAL_ERROR): Use OCTAVE_QUIT here. - - * utils.cc (toplevel): Delete variable. - - * sighandlers.cc (OCTAVE_MEMORY_EXHAUSTED_ERROR): Delete. - -2002-11-14 John W. Eaton - - * sighandlers.cc (octave_new_handler): Delete. - (install_signal_handlers): Don't call set_new_handler. - * toplev.cc (main_loop): Handle bad_alloc exception here. - - * sighandlers.cc (octave_new_handler): Allow return after - OCTAVE_JUMP_TO_TOP_LEVEL. - (sigfpe_handler): Likewise. - -2002-11-13 John W. Eaton - - * variables.cc (is_variable): New static function. - (generate_struct_completions): Only evaluate objects that look - like variables. - -2002-11-12 John W. Eaton - - * pt-jump.h, pt-jump.cc (tree_break_expression, - tree_continue_expression, tree_return_expression): Rename from - tree_break_command, tree_continue_command, tree_return_command. - Implement as expressions that return TRUE instead of commands. - Change all uses. - * parse.y (make_break_expression, make_continue_expression, - make_return_expression): Rename from make_break_command, - make_continue_command, make_return_command. Change all uses. - (jump_expr): Rename from jump_command, type is now expression. - Use in simple_expr, not command. - - * toplev.cc (octave_initialized): New global variable. - (main_loop): Set it to true here. - * sighandlers.cc (sigint_handler): Exit immediately if we have not - finished init process. - - * load-save.cc (extract_keyword): Return std::string, not char *. - Change all uses. - (read_ascii_data): Likewise. - (read_binary_data): Likewise. - (read_hdf5_data): Likewise. - (read_mat_ascii_data): Likewise. - (read_mat_binary_data): Likewise. - (do_load): Name and doc are now std::string objects, not char *. - (install_loaded_variable): Likewise. - (read_hdf5_data): Doc is now std::string object, not char *&. - (read_mat_ascii_data): Call OCTAVE_QUIT in strategic locations. - (get_lines_and_columns): Likewise. - - * toplev.cc (main_loop): Call OCTAVE_QUIT after executing command. - * parse.y (parse_and_execute (FILE *)): Likewise. - -2002-11-12 Joseph P. Skudlarek - - * input.cc (match_sans_spaces_semi): Rename from match_sans_spaces. - Ignore trailing semicolons too. Change all callers. - -2002-11-11 John W. Eaton - - * octave.gperf: Allow "persistent" as a synonym for static. - - * defun-int.h (DEFUN_MAPPER_INTERNAL): Don't forget doc string - when creating octave_mapper object. - - * sysdep.cc (BSD_init): Avoid failure if FP_X_DNML is not defined. - -2002-11-08 John W. Eaton - - * cutils.c: Be sure to always return buf. - - Undo previous vnprintf changes. The portable snprintf I found - does not handle floating point conversions... - -2002-11-07 John W. Eaton - - * Makefile.in (liboctinterp.$(LIBEXT)): Include $(XERBLA) here. - (octave.$(EXEEXT)): Not here. - (liboctinterp.$(SHLEXT)): Include $(PIC_XERBLA) here. - - * main.c: Move decl for xerbla here from octave.cc. - - * cutils.c (octave_vsnprintf): Use portable_snprintf to avoid - having to cope with all kinds of buggy implementations. - - * snprintf.c: New file. - * Makefile.in (DISTFILES): Add it to the list. - - * oct-snprintf.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - - * oct-snprintf.c: New file. - * Makefile.in (DIST_SRC): Add it to the list. - - * toplev.cc (main_loop): Use SET_OCTAVE_INTERRUPT_IMMEDIATELY - instead of assigning octave_interrupt_immediately. - -2002-11-06 John W. Eaton - - * utils.cc (jump_to_top_level): Delete. - - * toplev.cc (toplevel): Delete. - (main_loop): Adapt to new signal/exception handling scheme. - - * sighandlers.cc (octave_signal_mask, octave_save_signal_mask, - octave_restore_signal_mask): Move to libcruft/misc/quit.cc. - (sigint_handler) [USE_EXCEPTIONS_FOR_INTERRUPTS]: set - octave_interrupt_state. Only jump if octave_interrupt_immediately - is true, and then only to enclosing context. - - * lex.h (YY_FATAL_ERROR): Use OCTAVE_JUMP_TO_TOP_LEVEL, not - jump_to_top_level. - * sighandlers.cc (octave_new_handler, sigfpe_handler, endif, - sigpipe_handler): Likewise. - - * input.cc (gnu_readline): Surround call to - command_editor::readline with - BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and - END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. - - * data.cc, oct-stream.cc, ov-cell.cc, ov-mapper.cc, ov-re-mat.cc, - ov.cc, pr-output.cc, pt-loop.cc, pt-stmt.cc, xdiv.cc, xpow.cc, - DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, - DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, - DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/log.cc, - DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qz.cc, - DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/sort.cc: Sprinkle with - OCTAVE_QUIT. - - * DLD-FUNCTIONS/odessa.cc (Fodessa): Correctly extract bsub from - function arg. - -2002-11-04 John W. Eaton - - * cutils.c (octave_vsnprintf): Handle C99 snprintf semantics. - - * oct-obj.h (octave_value_list::operator =): Copy names too. - (octave_value_list::octave_value_list (const octave_value_list&)): - Likewise. - -2002-11-01 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.39. - - * variables.cc (generate_struct_completions): Temporarily reset - discard_error_messages and error_state - (looks_like_struct): Temporarily reset Vwarning option, - error_state, and discard_error_messages. - - * pt-idx.cc (tree_index_expression::eval_error): Now const. - (tree_index_expression::get_struct_index): Require valid identifier. - (tree_index_expression::make_arg_struct, - tree_index_expression::rvalue, tree_index_expression::lvalue): - Handle possible error from get_struct_index. - - * utils.cc (valid_identifier): Move here from load-save.cc. - * utils.h: Provide decl. - - * input.cc (generate_possible_completions): Call - command_editor::filename_completion_desired here. - (generate_possible_completions): Don't generate struct completions - if text contains directory separator or "..". - -2002-10-31 John W. Eaton - - * DLD-FUNCTIONS/odessa.cc (odessa_user_f, odessa_user_j, - odessa_user_b): Reorder args for consistency with other solvers. - (Fodessa): Use extract_function to set args. - (odessa_user_j): Rename from odessa_user_mf. - - * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function, fsolve_user_jacobian): - Print warning if user returns complex value. - * DLD-FUNCTIONS/quad.cc (quad_user_function): Likewise. - * DLD-FUNCTIONS/lsode.cc (lsode_user_function, lsode_user_jacobian): - Likewise. - * DLD-FUNCTIONS/dassl.cc (dassl_user_function, dassl_user_jacobian): - Likewise. - * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f, dasrt_user_cf, dasrt_user_j): - Likewise. - * DLD-FUNCTIONS/daspk.cc (daspk_user_function, daspk_user_jacobian): - Likewise. - - * DLD-FUNCTIONS/daspk.cc (daspk_user_jacobian): New function. - (Fdaspk): Handle extracting Jacobian from function argument. - - * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function): New function. - (Ffsolve): Handle extracting Jacobian from function argument. - - * Makefile.in (%.oct): Depend on octave$(EXEEXT) so that octave - will be built before any .oct files. - (all): Depend on stamp-oct-links. - (octave$(EXEEXT)): Don't depend on stamp-oct-links. - - * ov-base.cc (octave_base_value::subsasgn): Handle default numeric - case here. - * ov-base-mat.cc (octave_base_matrix::subsasgn): Delete. - -2002-10-30 John W. Eaton - - * Makefile.in (OCT_LINK_DEPS): Add $(BLAS_LIBS), $(FFTW_LIBS), and - $(FLIBS). - -2002-10-29 John W. Eaton - - * version.h (OCTAVE_VERSION): Now 2.1.38. - - * utils.cc (octave_vformat): Get return value from - streambuf::vform. - - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Always return solution. - Don't barf on nargout == 3. - - * pt-idx.h (tree_index_expression::dyn_field): New data member. - * pt-idx.cc (tree_index_expression::tree_index_expression - (tree_expression*, tree_expression*, int, int)): New constructor. - (tree_index_expression::append (tree_expression*)): New function. - (tree_index_expression::get_struct_index): New function. - (tree_index_expression::make_arg_struct): Handle dynamic fields. - (tree_index_expression::rvalue): Likewise. - (tree_index_expression::lvalue): Likewise. - - * parse.y (make_indirect_ref (tree_expression*, tree_expression*)): - New function. - (indirect_ref_op): New non-terminal. - (postfix_expr): Use it. - Recognize dynamic struct field references. - (parsing_indir): Delete unused non-terminal. - - * lex.l ("("): Set lexer_flags.looking_at_indirect_ref to false here. - - * pt-idx.cc (tree_index_expression::name): Simplify. - -2002-10-28 John W. Eaton - - * oct-conf.h.in (OCTAVE_CONF_HAVE_DLOPEN_API, - OCTAVE_CONF_HAVE_LOADLIBRARY_API, OCTAVE_CONF_HAVE_SHL_LOAD_API): - Delete. - * toplev.cc (octave_config_info): Delete them from the struct - - * load-save.cc (read_ascii_data): Use octave_read_double and - octave_read_complex so that we handle Inf, NaN, and NA. - (read_mat_ascii_data): Likewise. - (save_ascii_data): Use octave_write_double andoctave_write_complex. - -2002-10-25 John W. Eaton - - * toplev.cc (octave_config_info): Rename WITH_DYNAMIC_LINKING to - ENABLE_DYNAMIC_LINKING. - * oct-conf.h.in: Likewise. - * mkbuiltins: Likewise. - * fn-cache.cc (file_name_cache_elt::update): Likewise. - * Makefile.in: Likewise. - -2002-10-24 John W. Eaton - - * cutils.c (octave_vsnprintf): Buffer and buffer size now static. - * utils.cc (octave_vformat): Don't free buffer returned from - octave_vsnprintf here. - - * ov-usr-fcn.cc (va_arg, va_start, vr_val): Only print warning - once per session. - - * ov-mapper.cc (octave_mapper::apply): Don't try real_type case if - arg is a string and we have a ch_map_fcn. - - * Makefile.in: Add $(LIBKPATHSEA) to $(OCTAVE_LIBS) if - $(INCLUDE_LINK_DEPS) is false, not if $(SHARED_LIBS) is false. - -2002-10-23 John W. Eaton - - * DLD-FUNCTIONS/daspk.cc (daspk): Use set_options, not copy. - * DLD-FUNCTIONS/dasrt.cc (dasrt): Likewise. - * DLD-FUNCTIONS/dassl.cc (dassl): Likewise. - * DLD-FUNCTIONS/fsolve.cc (fsolve): Likewise. - * DLD-FUNCTIONS/lsode.cc (lsode): Likewise. - * DLD-FUNCTIONS/odessa.cc (Fodessa): Likewise. - * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. - -2002-10-22 John W. Eaton - - * oct-map.cc (Octave_map::assign): Fix typo in resizing. - - * pt-loop.cc (tree_complex_for_command::eval): Only return list - for val if struct array has more than one element. - (tree_simple_for_command::eval): Likewise. - - * ov-struct.cc (octave_struct::print_raw): Don't create - octave_list directly, use octave_value (const octave_value_list&) - constructor instead. - Call print_with_name for tmp, not val(0). - - * version.h (OCTAVE_VERSION): Now 2.1.37. - (OCTAVE_CONTRIB_STATEMENT): New macro. - (OCTAVE_STARTUP_MESSAGE): Use it. - -2002-10-17 John W. Eaton - - * data.cc (fill_matrix): If nargin is zero, use val, not 0.0. - - * main.c: New file. - * octave.h: New file. - * octave.cc (octave_main): Rename from main. - Include octave.h. - * Makefile.in (OBJECTS): Add octave.o, builtins.o, and ops.o to - the list. - (octave): Depend on and link main.o, not octave.o, builtins.o, and - ops.o (they are now in liboctinterp). - (DEP_5): Add main.c here. - - * oct-conf.h.in: No need to substitute OCTAVE_CONF_OCTAVE_LITE. - * toplev.cc (octave_config_info): Likewise, don't include it in - struct. - - * mkbuiltins: Remove check for OCTAVE_LITE, since it is now - implied by WITH_DYNAMIC_LINKING. - * Makefile.in: Likewise, replace tests for OCTAVE_LITE with tests - for WITH_DYNAMIC_LINKING instead. - - * oct-conf.h.in: Use OCTAVE_CONF_HAVE_DLOPEN_API, - OCTAVE_CONF_HAVE_LOADLIBRARY_API, and - OCTAVE_CONF_HAVE_SHL_LOAD_API instead of OCTAVE_CONF_WITH_DL and - OCTAVE_CONF_WITH_SHL. - * toplev.cc (octave_config_info): Likewise. - -2002-10-16 John W. Eaton - - * help.cc (display_help_text): Quote output file name for Cygwin. - - * Makefile.in (install-lib): Don't bother with versions for - $(SHLBIN) files. - - * help.cc (display_help_text): Match zero or more comment - characters instead of one or more. - - * Makefile.in (install-oct): Process files from $(DLD_DEF_FILES), - not $(DLD_SRC). Look for them in current directory, not $(srcdir). - -2002-10-15 John W. Eaton - - * ov-mapper.cc (octave_mapper::apply): Handle real and complex - types first. If the arg is something else, try ch_map_fcn if it - is defined. - -2002-10-15 Paul Kienzle - - * Makefile.in: If building shared but not static libs, only set - XERBLA to the location of the pic object file if FPICFLAG is - defined. - -2002-10-14 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/getrusage.cc, data.cc, - file-io.cc, ov-base.cc, ov-bool-mat.cc, ov-ch-mat.cc, - ov-complex.cc, ov-cx-mat.cc, ov-range.cc, ov-re-mat.cc, - ov-re-nd-array.cc: Change all uses of octave_Inf, octave_NA, and - octave_NaN to be calls to lo_ieee_Inf_value, lo_ieee_NA_value, and - lo_ieee_NaN_value instead of using the constants directly to avoid - linking problem with Cygwin. - - * Makefile.in (install): No need to use cd to create links. - -2002-10-14 Paul Kienzle - - * Makefile.in: Merge liboctave with liboct-readline and - liboct-pathsearch. - Use link dependencies for shared libs if INCLUDE_LINK_DEPS. - (LIBRARIES): If doing shared libs, include versioned library in list. - (liboctinterp.$(SHLEXT), liboctinterp.$(SHLEXT_VER)): Reverse - actions -- build unversioned library, symbolic link adds version - info. - (install, uninstall): Handle link and load forms of the library - separately. - - * toplev.cc (octave_config_info): Remove LIBOCT_READLINE and - LIBOCT_PATHSEARCH, add LIBREADLINE. - * oct-conf.h.in: Likewise. - -2002-10-11 John W. Eaton - - * lex.l (handle_identifier): Don't enter token in local symbol - table if the following token is a dot and it looks like a binary - operator. - (force_local_variable): If name is not a variable, clear it before - defining. - - * oct-procbuf.cc (Vkluge_procbuf_delay): Make default 0 for all - systems. - - * octave.cc (execute_startup_files, initialize_pathsearch): - Use file_ops::dir_sep_str instead of OCTAVE_DIR_SEP_STR. - (main): Use file_ops::dir_sep_chars instead of OCTAVE_DIR_SEP_CHARS. - - * ov-re-mat.cc (octave_matrix::convert_to_str): Warn for out of - range conversions. For negative values, set to 0. - * ov-scalar.cc (octave_scalar:convert_to_str): Likewise. - - * mappers.cc (xabs): New static function. - (install_mapper_functions): Use it for abs for character matrices. - Handle ch_map_flag separately from can_ret_cmplx_for_real in - all uses of DEFUN_MAPPER. - * defun.h (DEFUN_MAPPER): Handle ch_map_flag separately from - can_ret_cmplx_for_real. - * defun-int.h (DEFUN_MAPPER_INTERNAL): Likewise. - * mkbuiltins: Likewise. - * mkgendoc: Likewise. - * ov-mapper.cc (octave_mapper::apply): Use ch_map_flag and - can_ret_cmplx_for_real instead of flag. - * ov-mapper.h (octave_mapper::ch_map_flag): Rename from flag. - (octave_mapper::can_ret_cmplx_for_real): New data member. - (octave_mapper::octave_mapper): Handle it here. - -2002-10-10 John W. Eaton - - * octave.cc (execute_startup_files): Don't forget directory - separator for local initfile. - - * move-if-change: Delete. - * Makefile.in (DISTFILES): Delete it from the list. - -2002-10-09 John W. Eaton - - * Makefile.in: Use $(EXEEXT) and $(BUILD_EXEEXT) as appropriate. - - * pt-plot.cc (Vgnuplot_binary): Use GNUPLOT_BINARY as default. - - * octave.cc (execute_startup_files): - Use octave_env::getcwd instead of "./". - Use OCTAVE_DIR_SEP_STR instead of "/". - (initialize_pathsearch): Use OCTAVE_DIR_SEP_STR instead of /. - (main): Look for OCTAVE_DIR_SEP_CHARS, not '/'. - -2002-10-08 John W. Eaton - - * Makefile.in (gendoc): Use $(BUILD_CXX), not $(CXX). - -2002-10-07 John W. Eaton - - * utils.cc (octave_sleep): Cast result of modf to unsigned int. - -2002-10-07 Paul Kienzle - - * sighandlers.cc (my_friendly_exit): If kill is unavailable, use - raise. - -2002-10-06 John W. Eaton - - * sysdep.cc (CYGWIN_init): New function. - (sysdep_init) [__CYGWIN__]: Call it. - - * pt-plot.cc (subplot::handle_plot_data): Surround file names in - single quotes, not double (for Windows). - (do_external_plotter_cd): Likewise. - -2002-10-03 John W. Eaton - - * cutils.c (octave_usleep): Call octave_sleep, not sleep. - - * utils.cc (octave_sleep (double)): New function. - * utils.h: Provide decl. - * sysdep.cc (Fpause, Fsleep): Use it. - - * cutils.c (do_octave_usleep): Merge with octave_usleep. - (octave_usleep): Make it work for Windows systems. From Paul - Kienzle . - -2002-10-03 Paul Kienzle - - * cutils.c (octave_usleep): Make it work for Windows systems. - - * toplev.cc (Fsystem): Error message if fork is not available. - -2002-10-02 John W. Eaton - - * cutils.c (octave_sleep): Handle Windows, which may not have - sleep, but should have Sleep. - - * oct-conf.h.in (OCTAVE_CONF_SED): Add an entry for SED. - * toplev.cc (octave_config_info): Likewise. - * Makefile.in (oct-gperf.h): Use $(SED), not sed. - -2002-09-27 John W. Eaton - - * file-io.cc (fopen_mode_to_ios_mode): Set ios::ate instead of - ios::app for "a+" mode. - * oct-stream.cc (octave_stream::mode_as_string): Recognize - ios::ate, not ios::app as "a+" mode. - (octave_stream::mode_as_string): Use parens since | has lower - precedence than ==. - -2002-09-26 Paul Kienzle - - * sysdep.cc: Include conio.h if it exists. - (octave_kbhit): Rename from kbhit. Implement with _kbhit if it - exists. Change all callers. - * cutils.c (octave_sleep): New function. - Change all callers of sleep to use octave_sleep instead. - -2002-09-26 John W. Eaton - - * BaseSLList.cc, BaseSLList.h, Cell.cc, Cell.h, DLList.cc, - DLList.h, Map.cc, Map.h, OPERATORS/op-b-b.cc, - OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, - OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, - OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, - OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, - OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, - OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, - OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, - OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-m-s.cc, OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, - OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, - OPERATORS/op-str-str.cc, SLList.cc, SLList.h, SLStack.cc, - SLStack.h, Stack.cc, Stack.h, c-file-ptr-stream.cc, - c-file-ptr-stream.h, comment-list.cc, comment-list.h, oct-map.cc, - oct-map.h, oct-obj.cc, oct-obj.h, ov-base-mat.cc, ov-base-mat.h, - ov-base-nd-array.cc, ov-base-nd-array.h, ov-base-scalar.cc, - ov-base-scalar.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, - ov-bool-mat.h, ov-bool.cc, ov-bool.h, ov-builtin.cc, ov-builtin.h, - ov-cell.cc, ov-cell.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, - ov-complex.cc, ov-complex.h, ov-cs-list.cc ov-cs-list.h, - ov-cx-mat.cc, ov-cx-mat.h, ov-dld-fcn.cc, ov-dld-fcn.h, ov-fcn.cc, - ov-fcn.h, ov-file.cc, ov-file.h, ov-list.cc, ov-list.h, - ov-mapper.cc, ov-mapper.h, ov-range.cc, ov-range.h, ov-re-mat.cc, - ov-re-mat.h, ov-re-nd-array.cc, ov-re-nd-array.h, ov-scalar.cc, - ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, - ov-struct.h, ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, - ov-usr-fcn.h, ov-va-args.cc, ov.cc, ov.h, procstream.cc, - procstream.h, pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, - pt-assign.h, pt-binop.cc, pt-binop.h, pt-bp.cc, pt-bp.h, - pt-cell.cc, pt-cell.h, pt-check.cc, pt-check.h, pt-cmd.cc, - pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, - pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, pt-exp.cc, - pt-exp.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-jump.cc, - pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, - pt-misc.h, pt-plot.cc, pt-plot.h, pt-pr-code.cc, pt-pr-code.h, - pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, - pt-unop.h, pt.cc, pt.h, symtab.cc, symtab.h, token.cc, token.h, - unwind-prot.cc, unwind-prot.h: - If __GNUG__, use pragma interface/implementation. Allow this to - be turned off by defining NO_PRAGMA_INTERFACE_IMPLEMENTATION. - -2002-09-26 Paul Kienzle - - * mappers.cc (install_mapper_functions): Install erf, not xerf. - Install erfc, not xerfc. - - * pt-bp.cc (tree_breakpoint::visit_unwind_protect_command): - Rename lst1 and lst2 to avoid dlgs.h conflict. - - * parse.y: Replace TEXT with STRING to avoid winnt.h conflict. - * lex.l: Ditto. - - * sysdep.cc (raw_mode): Non-fatal warning if raw_mode is not - supported. - - * sighandlers.cc: Don't define handlers for non-existent signals. - - * utils.cc: Don't include unneeded termio headers. - -2002-09-19 John W. Eaton - - * BaseSLList.cc, BaseSLList.h, Cell.cc, Cell.h, DLList.cc, - DLList.h, Map.cc, Map.h, OPERATORS/op-b-b.cc, - OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, - OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, - OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, - OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, - OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, - OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, - OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, - OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, - OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, - OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, - OPERATORS/op-m-s.cc, OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, - OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, - OPERATORS/op-str-str.cc, SLList.cc, SLList.h, SLStack.cc, - SLStack.h, Stack.cc, Stack.h, c-file-ptr-stream.cc, - c-file-ptr-stream.h, comment-list.cc, comment-list.h, oct-map.cc, - oct-map.h, oct-obj.cc, oct-obj.h, ov-base-mat.cc, ov-base-mat.h, - ov-base-nd-array.cc, ov-base-nd-array.h, ov-base-scalar.cc, - ov-base-scalar.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, - ov-bool-mat.h, ov-bool.cc, ov-bool.h, ov-builtin.cc, ov-builtin.h, - ov-cell.cc, ov-cell.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, - ov-complex.cc, ov-complex.h, ov-cs-list.cc ov-cs-list.h, - ov-cx-mat.cc, ov-cx-mat.h, ov-dld-fcn.cc, ov-dld-fcn.h, ov-fcn.cc, - ov-fcn.h, ov-file.cc, ov-file.h, ov-list.cc, ov-list.h, - ov-mapper.cc, ov-mapper.h, ov-range.cc, ov-range.h, ov-re-mat.cc, - ov-re-mat.h, ov-re-nd-array.cc, ov-re-nd-array.h, ov-scalar.cc, - ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, - ov-struct.h, ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, - ov-usr-fcn.h, ov-va-args.cc, ov.cc, ov.h, procstream.cc, - procstream.h, pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, - pt-assign.h, pt-binop.cc, pt-binop.h, pt-bp.cc, pt-bp.h, - pt-cell.cc, pt-cell.h, pt-check.cc, pt-check.h, pt-cmd.cc, - pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, - pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, pt-exp.cc, - pt-exp.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-jump.cc, - pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, - pt-misc.h, pt-plot.cc, pt-plot.h, pt-pr-code.cc, pt-pr-code.h, - pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, - pt-unop.h, pt.cc, pt.h, symtab.cc, symtab.h, token.cc, token.h, - unwind-prot.cc, unwind-prot.h: - Use USE_PRAGMA_INTERFACE_IMPLEMENTATION instead of __GNUG__ to - decide whether to use the interface/implementation pragmas. - -2002-09-18 John W. Eaton - - * load-save.cc: Undo previous change. - - * ov-struct.cc (octave_struct::subsasgn): Ensure that indexed - object is not shared before calling subsasgn. - -2002-09-04 John W. Eaton - - * load-save.cc: Use % instead of # as comment character in ascii - data files. - -2002-08-17 Mumit Khan - - * c-file-ptr-stream.h (c_file_ptr_buf::c_file_ptr_buf): Add Intel - C++ runtime support. - - * Cell.h, gripes.cc, ov-base-scalar.cc, ov-colon.cc, ov-fcn.cc, - ov-file.cc, ov-mapper.h, ov-va-args.cc, token.cc, xpow.cc, - OPERATORS/op-b-b.cc, OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, - OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, - OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, - OPERATORS/op-cs-s.cc, OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, - OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, - OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, - OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, - OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, OPERATORS/op-m-cm.cc, - OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, - OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, - OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc, - TEMPLATE-INST/Array-sym.cc, TEMPLATE-INST/Array-tc.cc, - TEMPLATE-INST/Map-tc.cc, TEMPLATE-INST/SLList-expr.cc, - TEMPLATE-INST/SLList-tc.cc, TEMPLATE-INST/SLList-tm.cc, - TEMPLATE-INST/SLStack-sym.cc: Make the implementation of - octave_value_list visibile for template instantiation. - -2002-08-17 John W. Eaton - - * DLD-FUNCTIONS/dasrt.cc: Include not . - - * pager.h: Include lo-sstream.h and use macros instead of using - strstreambuf class directly. - - * load-save.cc (read_mat_ascii_data): Handle istrstream here too. - - * procstream.h (procstream::procstream): Also accept std::string arg. - (iprocstream::iprocstream, iprocstream::open): Likewise. - (oprocstream::oprocstream, oprocstream::open): Likewise. - (procstreambase::procstreambase, procstreambase::open): Likewise. - - * pt-plot.cc (gnuplot_terminal_type): Now std::string&, not char*. - (send_to_plot_stream): Likewise, for cmd arg. - - * pt-plot.h, pt-plot.cc: Include lo-sstream.h and use macros - instead of using strstream classes directly. - * oct-strstrm.h: Likewise. - * error.h, error.cc: Likewise. - * oct-stream.h, oct-stream.cc: Likewise. - * lex.l: Likewise. - * toplev.cc: Likewise. - * utils.cc: Likewise. - * pt.cc: Likewise. - * pr-output.cc: Likewise. - * ov-list.cc: Likewise. - * ov-cs-list.cc: Likewise. - * ov-cell.cc: Likewise. - * load-save.cc: Likewise. - * help.cc: Likewise. - * dirfns.cc: Likewise. - -2002-08-15 Paul Kienzle - - * input.cc (octave_read): Do a better job of buffering. - -2002-08-15 John W. Eaton - - * Makefile.in (DLD_DEF_FILES): New macro. - (DEF_5): Delete. - (DEF_4): Now only includes $(SOURCES). - (DEF_FILES): Append $(DLD_DEF_FILES) here. - (stamp-oct-links): Pass $(DLD_DEF_FILES) to mk-oct-links instead - of a list of source files. - * mk-oct-links: Work on .df files instead of .cc files. - - * parse.y (case_list): Allow it to be empty. - - * ov.cc, ov.h (octave_value::int_vector_value): New function. - -2002-08-14 John W. Eaton - - * Makefile.in (OCTAVE_LIBS): Only include $(LIBKPATHSEA) if not - using shared libraries. - - * ov.cc (octave_value::octave_value (const octave_value_list&, bool)): - Don't forget to assign rep. - -2002-08-12 John W. Eaton - - * lex.l: Warn for various Matlab-incompatibilities. - No longer accept <> for NOTEQ. - (gripe_matlab_incompatible): New function. - (maybe_gripe_matlab_incompatible_comment): Likewise. - (gripe_matlab_incompatible_continuation): Likewise. - (gripe_matlab_incompatible_operator): Likewise. - (warn_matlab_incompatible): New function. - (Vwarn_matlab_incompatible): New static variable. - (symbols_of_lex): Add a DEFVAR for it. - - - * file-io.cc (fopen_mode_to_ios_mode): Default value is std::ios::in. - Return std::ios::openmode instead of int. - -2002-08-10 John W. Eaton - - * DLD-FUNCTIONS/dasrt.cc (DASRT_ABORT1, DASRT_ABORT2): - "##" pastes tokens, not strings. - - * DLD-FUNCTIONS/odessa.cc: Add std:: qualifiers as needed. - -2002-08-09 John W. Eaton - - * variables.cc (Fisglobal): Rename from Fis_global. - * file-io.cc (Fisstream): Rename from Fis_stream. - * data.cc (Fisbool): Rename from Fis_bool. - (Fiscomplex): Rename from Fis_complex. - (Fislist): Rename from Fis_list. - (Fismatrix): Rename from Fis_matrix. - (Fisstruct): Rename from Fis_struct. - - * parse.y (switch_case): Make list of command optional. - -2002-08-08 John W. Eaton - - * pr-output.cc (pr_max_internal): Use octave_is_NaN_or_NA instead - of xisnan. - (pr_min_internal): Likewise. - (output_max_field_width): Likewise. - (output_precision): Likewise. - (pr_any_float): Handle NA. - * mappers.cc (Fisna, F_is_nan_or_na): New functions. - * data.cc (symbols_of_data): New constant, NA. - -2002-08-07 John W. Eaton - - * pt-binop.h (tree_binary_expression::is_binary_expression): - New function, return true. - (tree_boolean_expression::is_boolean_expression): New function, - return true. - * pt-exp.h (tree_expression::is_binary_expression): New function. - (tree_expression::is_boolean_expression): Likewise. - * parse.y (EXPR_OR_OR): Now lower precedence than EXPR_AND_AND. - (EXPR_OR): Now lower precedence than EXPR_AND. - (make_boolean_op): Maybe warn about change in precedence. - (make_binary_op): Likewise. - (Vwarn_precedence_change): New static variable. - (warn_precedence_change): New function. - (Vwarn_precedence_change): New DEFVAR. - -2002-08-05 John W. Eaton - - * data.cc (ANY_ALL): Improve arg checks. - -2002-08-04 John W. Eaton - - * ov.h (octave_value::assign_op): New enum values, op_pow_eq and - op_el_pow_eq. - * ov.cc (octave_value::assign_op_as_string): Handle them here. - (ocatave_value::op_eq_to_binary_op): And here. - * parse.y (POW_EQ, EPOW_EQ): New tokens. - (assign_expr): Handle them here too. - (make_assign_op): And here. - - * lex.l: Recognize {POW}= and {EPOW}=. - -2002-08-02 John W. Eaton - - * ov-base-scalar.h (octave_base_scalar::all): New int arg. - (octave_base_scalar::any): Likewise. - * ov-range.h (octave_range::all): Likewise. - (octave_range::any): Likewise. - - * Makefile.in (doc-files): Use mv, not move-if-change here. - - * variables.cc (symbol_exist): New function. - (Fexist): Use it. Handle optional type arg. Make return codes - more compatible with Matlab. - - * data.cc (ANY_ALL): New macro. - (Fany, Fall): Replace guts with ANY_ALL. - -2002-08-01 John W. Eaton - - * data.cc (Fall, Fany): Handle optional DIM argument. - - * ov.h (octave_value::any): New arg, dim. - (octave_value::all): Likewise. - * ov-base.h (octave_base_value::any): Likewise. - (octave_base_value::all): Likewise. - * ov-base-mat.h (octave_base_matrix::any): Likewise. - (octave_base_matrix::all): Likewise. - - * Makefile.in: Use $@-t instead of $@.t. - (doc-files): Use move-if-change when creating doc-files. - - * error.cc (warning): Don't print warning backtrace at top level. - - * ov-cell.cc (octave_cell::print_raw): Print empty dimensions too. - (octave_cell::print_name_tag): Don't print new line if cell is empty. - - * octave.cc (intern_argv): Don't install __argv__. - - * defun-int.h (UNDERSCORIFY): Delete. - (DEFCONST_INTERNAL): Don't install double underscore versions of - constants since they aren't really needed. - (DEFCONSTX_INTERNAL): Likewise. - -2002-07-31 John W. Eaton - - * symtab.cc (symbol_table::clear (void)): Clear all records. - (symbol_table::clear (const std::string&)): Delete second arg. - Clear any symbol that matches, regardless of type. - - * symtab.h (symbol_table::variable_name_list): New function. - (symbol_table::global_variable_name_list): Likewise. - (symbol_table::user_function_name_list): Likewise. - - * symtab.h, symtab.cc (symbol_table::clear_variables): New function. - (symbol_table::clear_functions): Likewise. - (symbol_table::clear_globals): Likewise. - (symbol_table::clear_variable): New function. - (symbol_table::clear_function): Likewise. - (symbol_table::clear_global): Likewise. - (symbol_table::clear_variable_pattern): New function. - (symbol_table::clear_function_pattern): Likewise. - (symbol_table::clear_global_pattern): Likewise. - - * variables.cc (name_matches_any_pattern): Rename from - var_matches_any_pattern. - (is_local_variable): New static inline function. - (maybe_warn_exclusive): Likewise. - (do_clear_all): Likewise. - (do_clear_functions): Likewise. - (do_clear_globals): Likewise. - (do_clear_variables): Likewise. - (do_clear_function): Likewise. - (do_clear_global): Likewise. - (do_clear_variable): Likewise. - (do_clear_symbol): Likewise. - (do_clear_function_pattern): Likewise. - (do_clear_global_pattern): Likewise. - (do_clear_variable_pattern): Likewise. - (do_clear_symbol_pattern): Likewise. - (do_clear_functions): Likewise. - (do_clear_functions): Likewise. - (do_clear_globals): Likewise. - (do_clear_variables): Likewise. - (do_clear_symbols): Likewise. - (do_matlab_compatible_clear): Likewise. - (CLEAR_OPTION_ERROR): New macro. - (Fclear): Rewrite for Matlab compatibility and to cope with new - symbol table semantics. - -2002-07-30 John W. Eaton - - * symtab.cc (symbol_table::clear): Simply clear everything. - (symbol_table::clear_functions, symbol_table::clear_globals, - symbol_table::clear_all): New functions. - - * symtab.h (symbol_record::symbol_def::next_elem): Delete. - (symbol_record::symbol_def::symbol_def): Delete intializer. - - * symtab.h, symtab.cc (symbol_record::push_def): Delete. - (symbol_record::remove_top_def): Delete. - (symbol_record::replace_all_defs): Delete. - (symbol_record::hides_fcn): Delete. - (symbol_record::hides_builtin): Delete. - - * symtab.h (symbol_table::~symbol_table): Call clear before - deleting the table. - - * variables.cc (initialize_symbol_tables): Create fbi_sym_tab too. - (Fexist): Look in fbi_sym_tab, not global_sym_tab. - - * parse.y (function_symtab): Rename from global_symtab. - Set curr_sym_tab to fbi_sym_tab, not global_sym_tab. - Change all uses of global_symtab to be function_symtab instead. - (frob_function): Rename and look for function name in fbi_sym_tab, - not global_sym_tab. - (parse_fcn_file): Clear function name from fbi_sym_tab, not - global_sym_tab. - - * load-save.cc (save_vars): Look for built-in vars in fbi_sym_tab. - * symtab.cc (symbol_record::link_to_builtin_variable): Likewise. - * variables.cc (is_builtin_variable): Likewise. - (bind_ans): Likewise. - (bind_builtin_constant): Likewise. - (bind_builtin_variable): Likewise. - (builtin_string_variable): Likewise. - (builtin_real_scalar_variable): Likewise. - (builtin_any_variable): Likewise. - (is_text_function_name): Likewise, for functions. - (force_link_to_function): Likewise. - (is_builtin_function_name): Likewise. - (is_mapper_function_name): Likewise. - (is_valid_function): Likewise. - (Fclear): Likewise. - (F__print_symtab_info__): Likewise. - * defun.cc (print_usage): Likewise. - (install_builtin_mapper): Likewise. - (install_builtin_function): Likewise. - (install_dld_function): Likewise. - (Falias): Likewise. - * dynamic-ld.cc (clear_function): Likewise. - * variables.cc (do_who): Likewise, for built-ins and functions. - (link_to_builtin_or_function): Likewise. - * help.cc (LIST_SYMBOLS): Likewise. - (make_name_list): Handle fbi_sym_tab too. - - * variables.cc (fbi_sym_tab): New symbol table. - * variables.h (fbi_sym_tab): Provide decl. - -2002-07-29 John W. Eaton - - * symtab.h (symbol_record::alias): Delete unused arg force. - Change all callers. - - * variables.cc (link_to_global_variable): Give local variable - global value. - - * pt-id.cc (tree_identifier::link_to_global): Warn about global - variables that have been defined before being declared global. - for a global variable to be used before it is declared global. - * pt-decl.cc (tree_global_command::do_init): Handle possible error - from tree_identifier::link_to_global. - -2002-07-25 John W. Eaton - - * ov.cc (silent_functions, Vsilent_functions): Move here. - (octave_value::print_with_name): Don't print anything if we are - evaluating a function and Vsilent_functions is true. - - * pt-stmt.cc: From here. - (symbols_of_pt_stmt): Delete. - (tree_statement_list::eval): Don't bother with Vsilent_functions here. - -2002-07-24 John W. Eaton - - * Makefile.in (OPT_HANDLERS): New targets. - (doc-files): New target. - (gendoc.cc): Depend on doc-files, not $(DOC_FILES). - - * DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, - DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/fsolve.cc, - DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/odessa.cc - DLD-FUNCTIONS/quad.cc: Replace option handling code with include - directive. - -2002-07-22 John W. Eaton - - * pt-loop.cc (tree_simple_for_command::eval): Once we know the RHS - is a matrix type check for real_type, not real_matrix. - -2002-07-19 John W. Eaton - - * DLD-FUNCTIONS/quad.cc (quad): Cope with changes to Quad constructors. - -2002-07-17 John W. Eaton - - * DLD-FUNCTIONS/daspk.cc (Fdaspk): Also return istate and error - message. Only generate error if user is not at least requesting - the istate output. - * DLD-FUNCTIONS/dasrt.cc (Fdasrt): Likewise. - * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. - * DLD-FUNCTIONS/lsode.cc (Fodessa): Likewise. - -2002-07-16 John W. Eaton - - * DLD-FUNCTIONS/dasrt.cc (Fdasrt): No need to find ng here. - (dasrt_user_j): New function. - (Fdasrt): Handle Jacobian function. - - * DLD-FUNCTIONS/dassl.cc (dassl_user_jacobian): New function. - (Fdassl): Handle Jacobian function. - - * DLD-FUNCTIONS/dasrt.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2002-07-12 John W. Eaton - - * lex.l (@): Handle new token. - * parse.y (constant): Accept function handle syntax. - (make_constant): Create function handles here. - -2002-07-11 John W. Eaton - - * defun.cc (check_version): Improve error message. - * error.cc (warning): Only print backtrace once per warning series. - Print backtrace before warning messages. - -2002-07-10 John W. Eaton - - * lex.l (maybe_unput_comma): Also handle '{' as an indexing op. - - * DLD-FUNCTIONS/odessa.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2002-07-05 John W. Eaton - - * pt-assign.cc (tree_multi_assignment::rvalue): Call - lhs->nargout_count, not lhs->length. - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): - Handle cs-list objects here. - (tree_argument_list::nargout_count): New function. - * pt-arg-list.h: Provide decl. - - * ov-cs-list.h, ov-cs-list.cc: New files. - * Makefile.in: Add them to the appropriate lists. - - * ov.cc: Include ov-cs-list.h. - New arg, is_cs_list for constructor taking octave_value_list arg. - (install_types): Register ov_cs_list. - * ov.h (octave_value::is_cs_list): New function. - * ov-base.h (octave_base_value::is_cs_list): Likewise. - * ov-cell.cc (octave_cell::subsref): Return cs-list for "{" indexing. - -2002-07-04 John W. Eaton - - * pt-mat.cc (Vempty_list_elements_ok): Default value is now 1. - * octave.cc (maximum_braindamage): No longer need to set value here. - - * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Warn that these - functions are deprecated. - * lex.l (EL): Warn that `...' is deprecated. - * ov-usr-fcn.cc (octave_user_function::varargout_to_vr_val, - octave_user_function::has_varargout): New functions. - (Fvr_val): Ensure varargout is not defined. - (octave_user_function::do_multi_index_op): Copy values from - varargout here. - -2002-07-03 John W. Eaton - - * ov-usr-fcn.h (octave_user_function::varargin_sr): New data member. - * ov-usr-fcn.cc (octave_user_function::octave_user_function): - Initialize it. - (bind_automatic_vars): Handle varargin. Change all callers. - - * octave.gperf: Handle varargin and varargout as keywords. - * lex.l (is_keyword): Likewise. - (IDENT): Move all actions into handle_identifier. - (handle_identifier): Now takes no args. - - * lex.l (EL): Return VARARGIN or VARARGOUT, not ELLIPSIS. - * parse.y (param_list): Use VARARGIN instead of ELLIPSIS. - (return_list): Use VARARGOUT instead of ELLIPSIS. - - * data.cc (make_diag const octave_value&, const octave_value&): - Allow first arg to be 1x0 or 0x1. - -2002-07-02 John W. Eaton - - * defaults.cc (loadpath): Comment out previous change. - - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Return message too. Only - generate error if user is not at least requesting the info output. - - * DLD-FUNCTIONS/lsode.cc (Flsode): Fix typos in setting return value. - -2002-07-01 John W. Eaton - - * oct-stream.cc (printf_value_cache::double_value): If the current - element is empty and there are no more elements in the value list, - set curr_state to conversion_error. - - * input.cc (initialize_command_input): Include (, ), {, and } as - word break characters. - - * variables.cc (looks_like_struct): Don't evaluate text if it is a - function. From Ben Sapp . - - * symtab.h (symbol_record::is_function): Also return true if - symbol is a text function or a mapper function. - -2002-06-28 John W. Eaton - - * defaults.cc (loadpath): Warn if loadpath doesn't contain - leading, trailing, or doubled colon. - - * pt-decl.cc (tree_static_command::eval, tree_global_command::eval): - Call error for any non-zero value of error_state. - * pt-select.cc (tree_if_command::eval): Likewise. - * pt-loop.cc (tree_while_command::eval_error): Don't check error_state. - (tree_do_until_command::eval_error): Likewise. - (tree_simple_for_command::eval_error): Likewise. - (tree_complex_for_command::eval_error): Likewise. - * pt-assign.cc (tree_multi_assignment::eval_error): Likewise. - (tree_simple_assignment::eval_error): Likewise. - * pt-idx.cc (tree_index_expression::eval_error): Likewise. - * pt-colon.cc (tree_colon_expression::eval_error): Likewise. - (tree_colon_expression::rvalue): Delete rendundant error_state check. - -2002-06-26 John W. Eaton - - * ov-mapper.cc (MAPPER_LOOP, MAPPER_LOOP_1, MAPPER_LOOP_2): New macros. - (octave_mapper::apply): Use them to inline the mapper loops. - - * pt-unop.cc (tree_prefix_expression::rvalue): Ensure that the - operand is defined for op_incr and op_decr. - (tree_postfix_expression::rvalue): Likewise. - From Ben Sapp . - -2002-06-25 John W. Eaton - - * ov-mapper.cc (octave_mapper::apply): Exit loops on error. - -2002-06-03 John W. Eaton - - * ov-struct.cc (octave_struct::print_raw): Print field names with - data types if Vstruct_levels_to_print is 0. - (octave_struct::print_name_tag): Don't emit newline if - Vstruct_levels_to_print is negative. - * ov.cc (struct_levels_to_print): Allow negative values too. - -2002-05-24 John W. Eaton - - * DLD-FUNCTIONS/lsode.cc (Flsode): Also return istate and error - message. Only generate error if user is not at least requesting - the istate output. - - * load-save.cc (hdf5_import_multidim, hdf5_check_attr, - hdf5_callback_data, hdf5_read_next_data, read_hdf5_data, - add_hdf5_data): Use 0, not NULL in calls to HDF routines. - - * oct-procbuf.cc (octave_procbuf::open): Use NULL, not 0 as last - arg in call to execl. - - * debug.cc (get_user_function): Initialise dbg_fcn to 0, not NULL. - -2002-05-23 John W. Eaton - - * DLD-FUNCTIONS/lsode.cc (LSODE_options::da_set_opt_mf, - LSODE_options::da_get_opt_mf): New typedefs. - (LSODE_OPTIONS::da_set_fcn, LSODE_OPTIONS::da_get_fcn): New fields. - (lsode_option_table): Fill them in. - (set_lsode_option (const Array&)): New function. - (print_lsode_option_list): Handle vector options. - (show_lsode_option_list): Likewise. - (Flsode_options): Likewise. - - * DLD-FUNCTIONS/lsode.cc (LSODE_options::s_set_opt_mf, - LSODE_options::s_get_opt_mf): New typedefs. - (LSODE_OPTIONS::s_set_fcn, LSODE_OPTIONS::s_get_fcn): New fields. - (lsode_option_table): Fill them in. - (set_lsode_option (const std::string&)): New function. - (print_lsode_option_list): Handle string options. - (show_lsode_option_list): Likewise. - (Flsode_options): Likewise. - -2002-05-22 John W. Eaton - - * c-file-ptr-stream.h (c_file_ptr_buf::fclose): New function. - (c_file_ptr_buf::c_file_ptr_buf): Use it as default argument - instead of extern "C" fclose function. - (i_c_file_ptr_stream::i_c_file_ptr_stream): Likewise. - (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise. - * oct-stdstrm.h (octave_istdiostream::octave_istdiostream): Likewise. - (octave_istdiostream::create): Likewise. - * oct-stdstrm.h (octave_ostdiostream::octave_ostdiostream): Likewise. - (octave_ostdiostream::create): Likewise. - - * oct-prcstrm.cc (cxx_pclose): New static function. - (octave_iprocstream::octave_iprocstream): Pass it to - octave_istdiostream constructor instead of extern "C" pclose function. - (octave_oprocstream::octave_oprocstream): Pass it to - octave_ostdiostream constructor instead of extern "C" pclose function. - - * debug.cc (Fdbtype): Use C++ strings, not C strings. - -2002-05-22 Mumit Khan - - * debug.cc: Include cstdlib instead of stdlib.h. Include cstring. - (dbtype): Use strchr instead of index. - * TEMPLATE-INST/Array-tc.cc (Array::resize_fill_value): - Fix template specialization syntax. - -2002-05-17 Mumit Khan - - * c-file-ptr-stream.h (OCTAVE_STD_FILEBUF): New macro to handle - various forms of extensions to std::filebuf. - (c_file_ptr_buf::c_file_ptr_buf): Use. - * pt-idx.cc (tree_index_expression::tree_index_expression): Remove - default arguments are from definition. - * symtab.cc (SYMBOL_DEF::print_info): Add std::. - (symbol_record::print_info): Likewise. - (symbol_table::print_info): Likewise. - -2002-05-16 John W. Eaton - - * oct-map.cc (Octave_map::assign): Resize RHS if it is shorter - than existing struct array. - - * ov-cell.cc (octave_cell::subsasgn): If an error has occurred, - skip final assignment step. - * ov-list.cc (octave_list::subsasgn): Likewise. - * oct-lvalue.cc (octave_lvalue::assign): Add parens to clarify intent. - (octave_lvalue::do_unary_op): Likewise. - - * parse.y (function_end): Also accept end of input as end of - function if input is coming from an eval string. - - * pr-output.cc (pr_any_float): Don't convert -0 to 0. - -2002-05-15 John W. Eaton - - * input.cc (generate_completion): If it looks like we are - completing a struct, set completion append char to '\0'. - - * variables.cc (generate_struct_completions): Temporarily set - warnings off here. - - * error.cc (warning): Don't do anything if Vdebug_option == "off". - Only print backtrace if Vdebug_option == "backtrace". - (handle_message): Now returns a string containing the text of the - formatted message. Change all callers. - (Fwarning): Now a text-style function. Handle Matlab-compatible - warning options. - (Flasterr, Flastwarn, set_warning_option): New functions. - (Vlast_error_message, Vlast_warning_message, Vwarning_frequency, - Vwarning_option): New static variables. - (vwarning): Set Vlast_warning_message here too. - (verror): Set Vlast_error_message here too. - -2002-05-14 John W. Eaton - - * ov.h (octave_value::get_count): Now const. - - * ov.h, ov.cc (octave_value::do_non_const_unary_op, - octave_value::assign): Idx is now a list of octave_value_list - objects. - - * ov-base.cc, ov-base.h (octave_base_value::do_struct_elt_index_op, - octave_base_value::struct_elt_ref): Delete. - * ov-struct.cc, ov-struct.h (octave_sruct::do_struct_elt_index_op, - octave_struct::struct_elt_ref): Delete. - * ov.cc, ov.h (octave_value::do_struct_elt_index_op, - octave_value::struct_elt_ref, octave_value::assign_struct_elt, - octave_value::convert_and_assign, octave_value::try_assignment, - octave_value::try_assignment_with_conversion, - octave_value::simple_assign): Delete. - - * parse.y (make_index_expression): Type is now a single - character. Change all callers. If expr is already an index - expression, append index to it. - (make_indirect_ref): Likewise. - - * pt-pr-code.cc (octave_print_internal (std::ostream&, const - Cell&, bool, int)): Now just a dummy function, panic if called. - - * pt-idx.cc (tree_index_expression::make_arg_struct): New function. - (tree_index_expression::type): Delete enum, rename from itype, now - a string. - (tree_index_expression::arg_nm): Now a list of string_vector objects. - (tree_index_expression::idx): Now a list of tree_argument_list* - objects. - (tree_index_expression::is_index_expression): Always return true. - (tree_index_expression::apend, make_value_list, make_subs_cell): - New functions. - - * pt-pr-code.cc (visit_index_expression): Handle new definition of - tree_index_expression object. - * pt-check.cc (visit_index_expression): Likewise. - * pt-bp.cc (visit_index_expression): Likewise. - - * ov-usr-fcn.h (octave_user_function::restore_args_passed): - Clear args_passed even if nothing was saved. - - * ov-base.cc (octave_base_value::subsasgn, - octave_base_value::map_keys, octave_base_value::print_info): - New functions. - - * ov.h, ov.cc (octave_value::map_keys, octave_value::print_info, - octave_value::subsref, octave_value::subsasgn, - octave_value::numeric_assign, octave_value::next_subsref): - New functions. - (octave_value::empty_conv): New static function. - (octave_value (octave_value *, int)): New arg, count. - - * ov-base-mat.cc (octave_base_matrix::subsref, - octave_base_matrix::subsasgn): New functions. - * ov-base-mat.h: Provide decls. - - * ov-builtin.cc (octave_builtin::subsref): New function. - * ov-builtin.h: Provide decl. - - * ov-range.cc (octave_range::subsref): New function. - * ov-range.h: Provide decl. - - * ov-cell.cc (octave_cell::subsref, octave_cell::subsasgn, - octave_cell::list_value, octave_cell::print, - octave_cell::print_raw, octave_cell::print_name_tag): New functions. - * ov-cell.h: Provide decls. - - * ov-struct.cc (octave_struct::dotref, octave_struct::subsref, - octave_struct::subsasgn, gripe_invalid_index, - gripe_invalid_index_for_assignment, grip_invalid_index_type, - gripe_failed_assignment): New functions. - (octave_struct::numeric_conv): New static function. - * ov-struct.h: Provide decls. - (octave_struct::is_constant): Return true. - (octave_struct::map_keys): New function. - - * ov-list.cc (octave_list::subsref, octave_list::subsasgn): - New functions. - * ov-list.h: Provide decls. - - * ov-usr-fcn.cc (octave_user_function::subsref, - octave_user_function::print_symtab_info): New functions. - * ov-usr-fcn.h: Provide decl. - - * ov-mapper.cc (octave_mapper::subsref): New function. - * ov-mapper.h: Provide decl. - - * ov-base.cc (octave_base_value::subsref, - octave_base_value::subsasgn): New functions. - * ov-base.h: Provide decls. - - * ov-base.cc (octave_base_value::do_index_op): New arg, resize_ok. - * ov-base-mat.cc (octave_base_matrix::do_index_op): Likewise. - * ov-base-nd-array.cc (octave_base_nd_array::do_index_op): Ditto. - * ov-bool-mat.cc (octave_bool::do_index_op): Ditto. - * ov-str-mat.cc (octave_char_matrix_str::do_index_op): Ditto. - * ov-range.cc (octave_range::do_index_op): Ditto. - * ov-list.cc (octave_list::do_index_op): Ditto. - * ov.cc (octave_value::do_index_op): Ditto. - - * ov-base-mat.cc (octave_base_matrix::print_info): New function. - - * ov-base-mat.h (octave_base_matrix::empty_clone): New function. - * ov-base-nd-array.h (octave_base_nd_array::empty_clone): Ditto. - * ov-base.h (octave_base_value::empty_clone): Ditto. - * ov-bool-mat.h (octave_bool::empty_clone): Ditto. - * ov-ch-mat.h (octave_char_matrix::empty_clone): Likewise. - * ov-colon.h (octave_magic_colon::empty_clone): Likewise. - * ov-complex.h (octave_complex::empty_clone): Likewise. - * ov-cx-mat.h (octave_complex_matrix::empty_clone): Likewise. - * ov-fcn.cc (octave_function::empty_clone): Likewise. - * ov-file.h (octave_file::empty_clone): Likewise. - * ov-range.h (octave_range::empty_clone): Likewise. - * ov-list.h (octave_list::empty_clone): Likewise. - * ov-re-mat.h (octave_matrix::empty_clone): Likewise. - * ov-re-nd-array.h (octave_double_nd_array::empty_clone): Likewise. - * ov-str-mat.h (octave_char_matrix_str::empty_clone): Likewise. - * ov-struct.h (octave_struct::empty_clone): Likewise. - * ov-va_args.h (octave_all_va_args::empty_clone): Likewise. - * ov.h (octave_value::empty_clone): Likewise. - - * ov-base-mat.h (octave_base_matrix::clone): Now const. - * ov-base-nd-array.h (octave_base_nd_array::clone): Likewise. - * ov-base.h (octave_base_value::clone): Likewise. - * ov-bool-mat.h (octave_bool::clone): Likewise. - * ov-ch-mat.h (octave_char_matrix::clone): Likewise. - * ov-colon.h (octave_magic_colon::clone): Likewise. - * ov-complex.h (octave_complex::clone): Likewise. - * ov-cx-mat.h (octave_complex_matrix::clone): Likewise. - * ov-fcn.h (octave_function::clone): Likewise. - * ov-file.h (octave_file::clone): Likewise. - * ov-range.h (octave_range::clone): Likewise. - * ov-list.h (octave_list::clone): Likewise. - * ov-re-mat.h (octave_matrix::clone): Likewise. - * ov-re-nd-array.h (octave_double_nd_array::clone): Likewise. - * ov-str-mat.h (octave_char_matrix_str::clone): Likewise. - * ov-struct.h (octave_struct::clone): Likewise. - * ov-va_args.h (octave_all_va_args::clone): Likewise. - * ov.h (octave_value::clone): Likewise. - - * oct-lvalue.cc (octave_lvalue::assign, octave_lvalue::set_index, - octave_lvalue::do_unary_op): Idx is now a list of indices. Simplify. - * oct-lvalue.h (octave_lvalue::value): Simplify. - (octave_lvalue::struct_elt_names): Delete data member. - (octave_lvalue::type): Now string - Update decls. - - * pt-exp.h (tree_expression::is_indirect_ref): - Delete virtual function. - - * pt-plot.cc (subplot::extract_plot_data): Use subsref, instead of - do_index_op. - - * pt-stmt.cc (tree_statement::eval): Don't try to avoid binding - ans for structure references. - - * symtab.cc (symbol_record::symbol_def::print_info): Rename from - symbol_record::symbol_def::dump_symbol_info. - (symbol_record::print_info): Rename from - symbol_record::dump_symbol_info. Now const.. - (symbol_record::print_symbol_info_line): Now const. - (symbol_table::print_info): Rename from print_stats. Accept - ostream arg. Now const. Print more info. - * symtab.h: Update decls. - - * toplev.cc (octave_config_info): Indexing a map now returns a - list, but we only want to return the first element. - - * variables.cc (generate_struct_completions, looks_like_struct): - Simplify using eval_string. - (F__print_symtab_info__): Rename from F__dump_symtab_info__. - Handle "top-level" and individual function names in addition to - "global". - (F__print_symbol_info__): Rename from F___dump_symbol_info__. - - * octave.cc (intern_argv): Built-in variable argv is now a cell array. - - * ov-complex.cc (valid_scalar_indices): Delete. - * ov-scalar.cc (valid_scalar_indices): Delete. - - * oct-obj.cc (octave_value_list::valid_scalar_indices): New function. - (octave_value_list::index): New arg, resize_ok. - * oct-obj.h: Provide decls. - - * oct-map.cc (Octave_map::keys): Rename from make_name_list. - Change all uses. - (Octave_map::assign, Octave_map::index): New functions. - * oct-map.h: Provide decls. - - * data.cc (Fstruct_contains): Use map_value instead of - do_struct_elt_index_op. - - * Cell.h (Cell (const Array2&, int, int)): - New constructor. - (Cell::resize_fill_value): New static function. - - * input.cc (initialize_command_input): Set basic and completer - word break characters. - -2002-05-07 John W. Eaton - - * ov.h (octave_value::subsref): New function. - * ov-base.cc (octave_base_value::subsref): Likewise. - - * ov-struct.cc (octave_struct::print_raw): Print scalar struct - arrays more compactly. - - * DLD-FUNCTIONS/time.cc (extract_tm): Handle new struct array def. - - * oct-map.cc (Octave_map::array_len): New data member. - (Octave_map::operator[], Octave_map::contsnts): Return - octave_value_list, not Octave_value. Change callers as necessary. - (Octave_map::assign): New function. - (Octave_map::array_length): New fucntion. - * oct-obj.cc (octave_value_list::assign): New function. - -2002-05-06 John W. Eaton - - * TEMPLATE-INST/Map-oct-obj.cc: New file. - * Makefile.in (TI_XSRC): Add it to the list. - - * oct-map.h (Octave_map): Make CHMap a data - member instead of deriving from CHMap, in - preparation for structure arrays. - - * pt-indir.h, pt-indir.cc: Delete. - - * pt-all.h: Don't include pt-indir.h. - - * Makefile.in (PT_SRC): Delete pt-indir.cc from the list. - (PT_INCLUDES): Delete pt-indir.h from the list. - - * pt-walk.h (tree_walker::visit_indirect_ref): Delete. - * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_indirect_ref): - Likewise. - * pt-check.h, pt-check.cc (tree_checker::visit_indirect_ref): Likewise. - * pt-bp.h, pt-bp.cc (tree_breakpoint::visit_indirect_ref): Likewise. - - * pt-walk.h: Delete forward decl for tree_indirect_ref. - * variables.h: Likewise. - - * parse.y (make_indirect_ref): Return tree_index_expression, not - tree_indirect_ref. - - * pt-idx.h (tree_index_expression::struct_elt_name): New function. - - * pt-idx.cc (tree_index_expression::lvalue): Handle dot case too. - (tree_index_expression::name): Likewise. - (tree_index_expression rvalue (int)): Likewise. - (tree_index_expression::eval_error): Likewise. - * pt-pr-code.cc (visit_index_expression): Likewise. - * pt-bp.cc (tree_breakpoint::visit_index_expression): Likewise. - - * pt-idx.h (tree_index_expression::dot): New type enum element. - (tree_index_expression::expr_type): New function. - (tree_index_expression::tree_index_expression (tree_expression*, - const std::string&, int, int)): New constructor. - (tree_index_expression::is_index_expression): Return value is now - conditional on itype. - (tree_index_expression::is_indirect_ref): New function. - (tree_index_expression::lvalue_ok): Also return true if itype is dot. - -2002-05-03 John W. Eaton - - * parse.y (ABORT_PARSE): Maybe restore symbol table context too. - - * pt-idx.h (tree_index_expression::type): New enum. - (tree_index_expression::etype): New data member. - * pt-idx.h (tree_index_expression::tree_index_expression): - New arg, t, to set type of index. - * parse.y (make_index_expression): Likewise. - Change all callers. - - * ov-base.cc (cell_conv): New conversion function. - (install_base_type_conversions): Install it. - Install conversion for indexed assignment of octave_cells to - undefined values. - - * TEMPLATE-INST/Array-tc.cc: Instantiate assign functions too. - (Array::resize_fill_value (void)): - Provide specialization for octave_value. - - * ov-cell.cc (octave_cell::assign (const octave_value_list&, - const octave_value&)): New function. - * Cell.h (Cell::Cell (const octave_value&)): New function. - - * OPERATORS/op-cell.cc (install_list_ops): Use DEFASSIGNANYOP_FN - and INSTALL_ASSIGNANYOP, not DEFASSIGNOP_FN and INSTALL_ASSIGNOP. - -2002-05-03 Cai Jianming - - * OPERATORS/op-cell.cc: New file. - * Makefile.in (OP_XSRC): Include it in the list. - - * parse.y (cell): Return a cell type instead of Matrix type. - - * ov.cc (install_types): Install octave_cell type. - - * pr-output.cc (octave_print_internal): Handle Cells. - * pr-output.h (octave_print_internal): Provide decl. - - * ov-cell.h (octave_cell): Derive from octave_base_matrix. - * ov-cell.cc (do_index_op, assign, print, print_raw, - print_name_tag): Delete. - - * Cell.cc (allocator, index): Delete. - * Cell.h (Cell): Derive from Array2. - Most functions removed since we can use those from Array2 instead. - -2002-05-02 Cai Jianming - - * ov-base-mat.cc (octave_base_matrix::assign): - New function. - * ov-base-mat.h (octave_base_matrix::assign): Provide decl. - * ov-bool-mat.cc (octave_bool_matrix::assign): Delete. - * ov-bool-mat.h (octave_bool_matrix:assign): Delete decl - * ov-cx-mat.cc (octave_complex_matrix::assign (const - octave_value_list& idx, const ComplexMatrix&)): Delete. - * ov-cx-mat.h (octave_complex_matrix:assign (const - octave_value_list& idx, const ComplexMatrix&)): Replace decl with - function. - * ov-re-mat.cc (octave_bool_matrix::assign): Delete. - * ov-re-mat.h (octave_bool_matrix:assign): Delete decl. - -2002-05-02 Cai Jianming - - * OPERATORS/op-bm-b.cc: New file.x - * Makefile.in (OP_XSRC): Add it to the list. - -2002-04-30 John W. Eaton - - * octave.cc (print_version_and_exit): Use - OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not - OCTAVE_NAME_AND_VERSION. - - * octave.cc (verbose_usage): - Use OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not - OCTAVE_NAME_VERSION_AND_COPYRIGHT. - - * version.h (OCTAVE_COPYING_STATEMENT, OCTAVE_WARRANTY_STATEMENT, - OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, - X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS, - OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS, - OCTAVE_BUGS_STATEMENT): New macros. - (OCTAVE_STARTUP_MESSAGE): Define in terms of - X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS - to include bugs address and amplified warranty information. - - * DLD-FUNCTIONS/lsode.cc (Flsode): Delete unused variable nsteps. - -2002-04-29 John W. Eaton - - * help.cc (additional_help_message): Use www.octave.org, not - www.che.wisc.edu/octave/octave.html. - * octave.cc (verbose_usage): Likewise. - -2002-04-27 John W. Eaton - - * DLD-FUNCTIONS/daspk.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -2002-04-25 Paul Kienzle - - * DLD-FUNCTIONS/kron.cc: New file. - * Makefile.in (DLD_SRC): Add it to the list. - -2002-04-22 John W. Eaton - - * parse.y (save_symtab): New non-terminal. Save current symbol - table context here. - (function_beg): Use it. - (symtab_context): New file-scope variable. - (recover_from_parsing_function): Restore symbol table context here. - -2002-04-17 John W. Eaton - - * load-save.cc (get_lines_and_columns): Handle CRLF as line - separator in addition to LF. - -2002-04-11 John W. Eaton - - * load-save.cc (hdf5_ofstream::hdf5_ofstream): - Explicitly List std::ostream(0) in constructor. - (hdf5_ifstream::hdf5_ifstream): - Explicitly List std::istream(0) in constructor. - (hdf5_fstreambase::hdf5_fstreambase): Use std::ios::setstate, not set. - (hdf5_fstreambase::close): Likewise. - (hdf5_fstreambase::open): Likewise. - -2002-04-10 Ben Sapp - - * pt-stmt.cc (delete_breakpoint): List breakpoints if line < 0. - * debug.cc (get_user_function): Check symbol by name first. - (Fdbstop): Rename from Fdbg_set. - (Fdbclear): Rename from Fdbg_delete. - (Fdbstatus): Rename from Fdbg_list. - (Fdbg_where): Rename from Fdbwhere. - (do_dbtype, Fdbtype): New functions. - -2002-04-10 Peter Van Wieren - - * load-save.cc (save_mat5_binary_element): Save elements of 2d - character matrices in proper order. - -2002-04-09 Paul Kienzle - - * utils.cc (do_string_escapes): Handle \0 too. - (undo_string_escape): Likewise. - -2002-04-04 John W. Eaton - - * toplev.cc (octave_config_info): Define struct member EXEEXT, not EXE. - * Makefile.in (install-bin): Use $(EXEEXT), not $(EXE). - * oct-conf.h.in (OCTAVE_CONF_EXEEXT): Define and substitute - OCTAVE_CONF_EXEEXT, not OCTAVE_CONF_EXE. - -2002-04-03 Steven G. Johnson - - * DLD-FUNCTIONS/balance.cc: Use F77_FUNC instead of F77_FCN. - * DLD-FUNCTIONS/qz.cc: Likewise. - * DLD-FUNCTIONS/rand.cc: Likewise. - * octave.cc: Likewise. - * toplev.cc (Foctave_config_info): Delete use of FORTRAN_MAIN_FLAG. - * oct-conf.h.in: Delete use of OCTAVE_CONF_FORTRAN_MAIN_FLAG. - * syscalls.cc (mk_stat_map): - Use HAVE_STRUCT_STAT_ST_RDEV instead of HAVE_ST_RDEV. - Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of HAVE_ST_BLKSIZE. - Use HAVE_STRUCT_STAT_ST_BLOCKS instead of HAVE_ST_BLOCKS. - -2002-04-02 John W. Eaton - - * lex.l, lex.h (parser_end_of_input): New global variable. - (reset_parser): Reset it here. - * parse.y (input): Set it to TRUE on EOF. - (parse_and_executed): Save and restore it, check it to correctly - break out of parse-execute loop. - (parse_fcn_file): Likewise. - (eval_string): Likewise. - * toplev.cc (main_loop): Likewise. - - * parse.y (input): Call YYACCEPT for END_OF_INPUT. - Return no-op command for bare newline. - (parse_and_execute): Handle change in yyparse return value semantics. - - * toplev.cc (main_loop): Likewise. - -2002-03-25 John W. Eaton - - * parse.y (parse_fcn_file): Call error if there is no input file. - (parse_and_execute (FILE *): Protect get_input_from_eval_string. - Set get_input_from_eval_string to false before calling yyparse. - * lex.l (reset_parser): Also skip yyrestart (stdin) if - reading_script_file is true. - -2002-03-07 John W. Eaton - - * pt-loop.cc (evaluating_looping_command): New global. - (tree_while_command::eval): Protect evaluating_looping_command. - Set it to true while evaluating loop. - (tree_do_until_command::eval): Ditto. - (tree_simple_for_command::eval): Ditto. - (tree_complex_for_command::eval): Ditto. - * pt-loop.h (evaluating_looping_command): Provide decl. - * parse.y (parse_fcn_file): Protect get_input_from_eval_string. - Set get_input_from_eval_string to false before calling yyparse. - (make_break_command): Also check evaluating_looping_command. - (make_continue_command): Also check evaluating_looping_command. - (eval_string (const std::string&, bool, int&, int)): Loop over - yyparse to handle multi-line strings. - Move call to unwind_protect::run_frame to end of function. - Don't reset parser before calling yyparse. - Correctly handle return, break, and continue. - - * input.cc (input_from_eval_string_pending): New global variable. - (get_usr_input): Use it. - * input.h (input_from_eval_string_pending): Provide decl. - -2002-03-06 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Don't unwind_protect num_named_args (it doesn't change on - recursive calls). - Do re-initialize curr_va_arg_number to num_named_args after - unwind_protecting. - - * ov-usr-fcn.h (octave_user_function::clear_args_passed): Delete. - (octave_user_function::saved_args): New data member. - (octave_user_function::save_args_passed): New function. - (octave_user_function::restore_args_passed): Ditto. - * ov-usr-fcn.cc (clear_args_passed): Delete. - (restore_args_passed): New function. - (octave_user_function::do_multi_index_op): Correctly save and - restore args passed for recursive calls. - - * TEMPLATE-INST/SLStack-ovl.cc: New file. - * Makefile.in: Add it to the list. - -2002-02-22 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): - Handle define_all_return_values after function is evaluated. - From Paul Kienzle . - - * ov-scalar.cc (convert_to_str): Use octave_value (std::string) - constructor instead of octave_value (char *) constructor so that - setstr (0) will work. - - * pager.cc (octave_pager_buf::sync): Set pointer to beginning - of buffer after calling flush_currnt_contents_to_diary. - (octave_diary_buf::sync): Call eback only once. - -2002-01-03 John W. Eaton - - * lex.l (.): Remove test for EOF since it is already handled - separately. - -2001-12-05 John W. Eaton - - * load-save.cc (save_mat5_binary_element): - Extract dimensions directly from tc. - Handle ranges the same as real matrices. - -2001-11-16 John W. Eaton - - * data.cc (DATA_REDUCTION): If no DIM arg, pass -1 to FCN. - -2001-11-09 John W. Eaton - - * oct-conf.h.in (FFTW_LIBS, LD_CXX, LIBOCT_PATHSEARCH, - LIBOCT_READLINE, MKOCTFILE_LFLAGS): Substitute. - * toplev.cc (octave_config_info): Add them to the map. - -2001-11-08 John W. Eaton - - * DLD-FUNCTIONS/lsode.cc (Flsode): Don't bother to give OUTPUT - matrix a size before calling integration function. - -2001-11-06 John W. Eaton - - Makefile.in (OCTAVE_LIBS): Add $(LIBOCT_READLINE) and - $(LIBOCT_PATHSEARCH) to the list. - -2001-10-08 John W. Eaton - - * DLD-FUNCTIONS/dassl.cc (dassl_user_function): Allow user - supplied RES function to return IDID as second value. - -2001-07-23 John W. Eaton - - * parse.y: Clear help_buf after documenting function. - -2001-06-29 Mumit Khan - - * defun-int.h (DEFINE_FUN_INSTALLER_FUN{2,3}): New macros. - (DEFINE_FUN_INSTALLER_FUN): Use. - * dynamic-ld.cc ({STRINGIFY, STRINGIFY1}): New macros. - (octave_dynamic_loader::mangle_name): Support dynamic linking - for GNU v3 and Sun C++ ABI. - -2001-06-26 Mumit Khan - - * c-file-ptr-stream.h (c_file_ptr_buf::c_file_ptr_buf): Add GCC3 - libstdc++-v3 support. - * load-save.cc (save_mat5_binary_element): Cast arguments to the - correct type. - (save_ascii_data): Eliminate compiler warning. - * toplev.cc (system): Prefix std::. - -2001-05-31 John W. Eaton - - * ov-cx-mat.cc: Deleve unnecessary instantiation of assign function. - * ov-re-mat.cc: Likewise. - * ov-re-nd-array.cc: Likewise. - * ov-str-mat.cc: Likewise. - * ov-bool-mat.cc: Likewise. - - * load-save.cc (save_ascii_data): When saving string data, get raw - string value for matrix row since there may be embedded nuls. - - * pt-mat.cc (Vstring_fill_char): No longer static. - * pt-mat.h: Provide declaration. - -2001-05-17 John W. Eaton - - * octave.cc (initialize_pathsearch): Save initial value of the - TEXMFDBS environment variable here. - * toplev.cc (restore_texmfdbs_envvar): New function. - (Fsystem): Set TEXMFDBS back to original value before running - subprocesses. - -2001-05-02 Mumit Khan - - * Makefile.in (octave): Add $(FFTW_LIBS). - -2001-04-27 John W. Eaton - - * DLD-FUNCTIONS/sort.cc (mx_sort): Check for NaNs in comparisons. - -2001-04-26 John W. Eaton - - * Makefile.in (OCTAVE_LIBS): Delete $(LIBREADLINE) from the list. - (octave): Delete TERMLIBS from link command. - * oct-conf.h.in: Delete references to LIBREADLINE, TERMLIBS. - * toplev.cc (octave_config_info): Delete entries for LIBREADLINE, - TERMLIBS. - -2001-04-25 John W. Eaton - - * Makefile.in (install-lib): Don't use mk-libdir-link. - (install-inc): Don't use mk-includedir-link. - -2001-04-19 John W. Eaton - - * parse.y (fold (tree_binary_expression *)): - Set discard_error_messages here instead of buffer_error_messages. - Don't add clear_global_error_variable to the unwind_protect stack. - (fold (tree_unary_expression *)): Likewise. - (finish_colon_expression): Likewise. - (finish_matrix): Likewise. - - * error.cc (panic): Set discard_error_messages to false here. - (verror): Return immediately if discard_error_messages is true. - - * error.cc (discard_error_messages): New global variable. - * error.h: Provide declaration. - -2001-04-18 John W. Eaton - - * lex.l: If unexpected character is EOF, report EOF error instead - of invalid character error. - -2001-04-18 Mumit Khan - - * load-save.cc (read_mat5_binary_element): Cast arguments to the - correct type when adding stream positions. - * DLD-FUNCTIONS/det.cc (det): Explicity create a Complex value to - work around a Sun C++ type conversion bug. - -2001-04-17 John W. Eaton - - * symtab.cc (define_builtin_const): Don't call replace_all_defs - here. - - * error.cc (error_message_buffer): Now static. - * error.h (error_message_buffer): Delete extern declaration. - -2001-03-29 John W. Eaton - - * DLD-FUNCTIONS/besselj.cc (besselh): Use K arg. - From: Thomas Stuart . - - * oct-stream.cc (get_size): Don't allow [Inf, N] as a size - specification for the read and scanf functions. - (get_size): SIZE is now an Array instead of a Matrix object. - (read): Likewise. Change all callers. - (scanf): Likewise. Change all callers. - -2001-03-26 John W. Eaton - - * DLD-FUNCTIONS/det.cc (Fdet): Only return rcond if nargout > 1. - * DLD-FUNCTIONS/inv.cc (Finv): Only return rcond if nargout > 1. - -2001-03-26 Paul Kienzle - - * DLD-FUNCTIONS/det.cc (Fdet): Suppress warning, but return rcond. - * DLD_FUNCTIONS/inv.cc (Finv): Return rcond if requested. - -2001-02-28 John W. Eaton - - * pt.h (tree::break_statement): New static member. - (tree::break_function): Make const. - * pt.cc (tree::break_statement): Initialize here. - (tree::break_function): Make const. - * pb-bp.h (break_statement): Delete global varaible declaration. - * pt-bp.cc (break_statement): Delete global variable definition. - - * pt-bp.h (tree_breakpoint::bp_list): Rename from lst. - - * pt.h: Don't inlcude ov-usr-fcn.h. - Provide forward declaration of octave_user_function class. - -2001-02-28 Ben Sapp - - * debug.cc (get_user_function): Simplify by using curr_function. - (Fdbg_where): New function. - (Fdbg_list): Now DLD_TEXT instead of DLD_FCN. - (Fdbg_set): Likewise. - (Fdbg_delete): Likewise. - - * pt-bp.h (break_statement): New global variable. - (MAYBE_DO_BREAKPOINT): Check for dbg_next and dbg_step. - Print line, column, and current statement. - * pt-bp.cc (break_statement): New global variable - (tree_breakpoint::visit_do_until_command): Return immediately if - we've already found the line. - (tree_breakpoint::visit_colon_expression): Set breakpoint info here. - (tree_breakpoint::visit_binary_expression): Recurse here when - checking for breakpoints. - - * debug.cc: Move here from DLD-FUNCTIONS/debug.cc. - * Makefile.in (DIST_SRC): Add it to the list. - (DLD_XSRC): Delete it from the list. - - * pt.h (tree::last_line, tree::break_function): New static members. - * pt.cc(tree::last_line, tree::break_function): Initialize them. - - * pt-cell.h (tree_cell::tree_cell): Accept line and column info. - * pt-mat.h (tree_matrix::tree_matrix): Likewise. - - * ov-usr-fcn.h (octave_user_function::sym_tab): Delete. - - * input.cc (get_user_input): Handle dbg_next. - Set tree:break_function and tree::last_line when doing dbg_step. - -2001-02-28 John W. Eaton - - * lex.l (handle_string): Save line and column information in token. - (is_keyword): Save line and column information for plot style and - axes tokens. - - * toplev.cc (main_loop): Set retval to non-zero value if error - occurs when not interactive. - -2001-02-26 John W. Eaton - - * parse.y (gobble_leading_white_space): Handle CRLF here too. - * lex.l (check_for_garbage_after_fcn_def): Likewise. - - * lex.l: Add numeric value of character to error message for - unrecognized characters. - -2001-02-22 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc (EMPTY_RETURN_CHECK): For empty matrix - args, make Octave's min and max behave like Matlab. - -2001-02-18 John W. Eaton - - * OPERATORS/op-s-s.cc (el_or, el_and): Return bool value. - -2001-02-14 John W. Eaton - - * pt-binop.cc (tree_boolean_expression::rvalue): - Don't cast result to double. - - * OPERATORS/op-b-b.cc: Allow & and | operators to return bool values. - -2001-02-09 John W. Eaton - - * data.cc (DATA_REDUCTION): Undo previous change. - -2001-02-13 Matthew W. Roberts - - * load-save.cc (Fload): Accept -4 as an alias for -v4 and -mat4-binary. - (Fsave): Likewise. - -2001-02-13 John W. Eaton - - * lex.l (lexical_feedbac::init): - Initialize looking_at_matrix_or_assign_lhs too. - -2001-02-09 John W. Eaton - - * data.cc (DATA_REDUCTION): Allow FCN(x,0) to be equivalent to FCN(x). - -2001-02-06 Mumit Khan - - * oct-stream.cc (octave_scan): Partially implement and specialize - for char*. Delete the old template instantiations. - (BEGIN_S_CONVERSION): Use strings instead of ostrstreambuf. - (octave_base_stream::do_scanf): Pass correct parameter to - do_scan_conv. - -2001-02-05 Mumit Khan - - * pr-output.cc (set_format): Add std:: namespace qualifier as - needed. - - * oct-stream.cc (octave_scan): Implement, and specialize for - char*. Delete the old template instantiations. - (BEGIN_S_CONVERSION): Use strings instead of ostrstreambuf. - (octave_base_stream::do_scanf): Pass correct parameter to - do_scan_conv. - - * Makefile.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Use to create - archive libraries containing templates. - - * c-file-ptr-stream.h: Include . Use instead of - - (c_file_ptr_buf::int_type): Compat typedef for non-ISO libstdc++. - (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Use. - (c_file_ptr_buf::c_file_ptr_buf): Handle various compilers. - (c_file_ptr_buf::file_number): New member function. - (c_file_ptr_buf::fd): New private data. - (i_c_file_ptr_stream::i_c_file_ptr_stream): Initialize stream - correctly. - (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise. - * c-file-ptr-stream.cc - (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Add - ISO-compliant EOF handling. - * oct-stream.cc (octave_base_stream::file_number): Use - c_file_ptr_buf::file_number to get underlying file descriptor. - - * comment-list.cc: Add missing class qualifier. - - * file-io.cc, load-save.cc, mappers.cc, oct-fstrm.cc, oct-fstrm.h, - oct-iostrm.cc, oct-iostrm.h, oct-stdstrm.cc, oct-stdstrm.h, - oct-stream.cc, oct-stream.h, oct-strstrm.cc, oct-strstrm.h, - ov-base-nd-array.cc, ov-base-scalar.h, ov-complex.cc, ov-cx-mat.cc, - pager.cc, pr-output.cc, procstream.h, pt-bp.h, utils.cc: - Add std:: namespace qualifier as needed, and replace - deprecated or invalid libstdc++-v2 names with standard ones - where appropriate. - - * DLD-FUNCTIONS/minmax.cc: Fix docstring. - - * oct-fstrm.cc (octave_fstream::octave_fstream): Maintain fix for - libstdc++-v2. - - * oct-stdstrm.cc (octave_ostdiostream::create): Remove default - parameter value in definition. - - * oct-stream.cc (octave_stream::mode_as_string): Don't assume - std::iso::openmode is an integral quantity. - - * pager.cc, procstream.h: Initialize streams correctly. - - * utils.cc: Use CXX_ISO_COMPLIANT_LIBRARY guard. - - * ov-base-nd-array.cc (idx_list_to_idx_array): Inline. - - * ov-base-scalar.h (octave_base_scalar::octave_base_scalar): Use - ``const ST& s'' instead of ST to workaround gcc3 complex bug. - -2001-02-05 John W. Eaton - - * lex.l (next_token_is_bin_op): Remove Checks for spacing except - for ops that begin with +, - but are not ++, --, +=, or -=. - -2001-02-02 John W. Eaton - - * input.cc (get_user_input): Handle dbg_cont and dbg_step here. - * debug.cc (Fdbg_cont): Delete. - * pt-bp.h (MAYBE_DO_BREAKPOINT): Check tree::break_next here. - * pt.h (tree::break_next): New static member. - * pt.cc: Initialize it. - - * parse.h (feval (const octave_value_list&, int)): - Set default value for nargout. - (feval (const std::string&, const octave_value_list&, int)): - Set default values for args and nargout. - -2001-02-01 Ben Sapp - - * DLD-FUNCTIONS/debug.cc: New file. - * pt-bp.h, pt-bp.cc: New files, for breakpoints. - * Makefile.in: Add them to the appropriate lists. - - * pt-stmt.cc (tree_statement_list::set_breakpoint, - tree_statement_list::delete_breakpoint, - tree_statement_list::list_breakpoints): New functions. - - * pt.h (tree::break_point): New data member. - (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint): - New virtual functions. - - * pt-mat.cc (tree_matrix::rvalue): Check for breakpoint here. - * pt-unop.cc (tree_prefix_expression::rvalue): Likewise. - (tree_postfix_expression::rvalue): Likewise. - * pt-loop.cc (tree_do_until_command::eval): Likewise. - (DO_LOOP): Likewise. - (tree_simple_for_command::eval): Likewise. - (tree_complex_for_command::eval): Likewise. - * pt-assign.cc (tree_simple_assignment::rvalue): Likewise. - * pt-binop.cc (tree_binary_expression::rvalue): Likewise. - (tree_boolean_expression::rvalue): Likewise. - * pt-cell.cc (tree_cell::rvalue): Likewise. - * pt-colon.cc (tree_colon_expression::rvalue): Likewise. - * pt-except.cc (tree_try_catch_command::eval): Likewise. - (tree_unwind_protect_command::eval): Likewise. - * pt-id.cc (tree_identifier::rvalue): Likewise. - (tree_identifier::lvalue): Likewise. - * pt-indir.cc (tree_indirect_ref::rvalue): Likewise. - * pt-jump.cc (tree_break_command::eval): Likewise. - (tree_continue_command::eval): Likewise. - (tree_return_command::eval): Likewise. - -2001-01-29 John W. Eaton - - * Map.h, Map.cc (CHMap::operator = (const CHMap&)): New function. - (Map::operator = (const Map&)): Likewise. - (Map (const Map&)): Likewise. - - * OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-s.cc, - OPERATORS/op-m-cs.cc, OPERATORS/op-m-s.cc: - Make ldiv operator work for row vector by scalar ops. - - * OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc, - OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc: - Make div operator work for scalar by column vector ops. - -2001-01-17 John W. Eaton - - * parse.y (safe_fclose): Discard comments at the end of a file. - -2001-01-16 John W. Eaton - - * error.cc (pr_where): Call pr_where_1 with two args, not one, to - avoid processing format escapes that might appear in formatted code. - -2001-01-05 John W. Eaton - - * error.cc (vwarning): Write to output_buf, then send formatted - message to diary and error streams. - -2001-01-02 John W. Eaton - - * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): - Handle empty matrix dimensions correctly. - -2000-12-14 John W. Eaton - - * pager.h (octave_pager_buf::diary_skip): New data member. - (octave_pager_buf::octave_pager_buf): Initialize it. - * pager.cc (octave_pager_buf::set_diary_skip): New function. - (octave_pager_stream::set_diary_skip): New function. - (octave_pager_buf::sync): Call flush_current_contents_to_diary - instead of octave_diary.write. - (octave_pager_buf::flush_current_contents_to_diary): Use - diary_skip, reset when done. - (open_diary_file): Call octave_stdout.set_diary_skip here. - -2000-12-06 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc (EMPTY_RETURN_CHECK): New macro. - (min, max): Use it. - - * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): New macro. If single arg - is empty, return empty matrix result and empty matrix for index. - (Fmin, Fmax): Use MINMAX_BODY, so we have consistent definition - for min and max functions. - -2000-11-30 Joerg Specht - - * help.cc (display_help_text): Append new line at end of doc string. - -2000-11-30 John W. Eaton - - * DLD-FUNCTIONS/lsode.cc (LSODE_ABORT1, LSODE_ABORT2): Omit `##' - in macro definition since they are not needed to paste strings - together and picky compilers choke on them. - * DLD-FUNCTIONS/quad.cc (QUAD_ABORT1, QUAD_ABORT2): Likewise. - * DLD-FUNCTIONS/fsolve.cc (FSOLVE_ABORT1, FSOLVE_ABORT2): Likewise. - * DLD-FUNCTIONS/dassl.cc (DASSL_ABORT1, DASSL_ABORT2): Likewise. - -2000-11-29 John W. Eaton - - * mkbuiltins (XDEFUNX_INTERNAL): New macro. - * mkgendoc (XDEFUNX_INTERNAL): Likewise. - * defun-int.h (DEFUNX_INTERNAL): Use it. - - * defun.h (DEFUNX): New macro. - * defun-int.h (DEFUNX_INTERNAL, DECLARE_FUNX): New macro. - (DECLARE_FUN): Define in terms of DECLARE_FUNX. - - * mkdefs: Read and print one line at a time, so we can force - patterns to match only at the beginning of a line. - - * defun-int.h (UNDERSCORIFY): Omit `##' in macro definition since - they are not needed to paste strings together and picky compilers - choke on them. - -2000-11-17 John W. Eaton - - * load-save.cc (save_ascii_data_for_plotting): New function. - * pt-plot.cc (save_in_tmp_file): Use it instead of save_ascii_data. - - * load-save.cc (save_ascii_data): Warn if saving Inf or NaN values. - New arg, infnan_warned. Use it to warn just once per set. - Now static. - (do_save): New arg, infnan_warned. Pass to save_ascii_data. - (save_vars): Initialize infnan_warned here, pass to do_save. - -2000-11-16 Paul Kienzle - - * file-io.cc (Ffprintf): If no file id parameter, don't return - count of characters if nargout is 0 (for compatibility with - Matlab). - -2000-11-16 Ben Sapp - - * DLD-FUNCTIONS/rand.cc (do_rand): Declare loop counter as - volatile int, not just volatile. - -2000-10-31 John W. Eaton - - * load-save.cc (skip_comments): Allow % as comment character too. - (extract_keyword): Likewise. - - * Makefile.in (oct-gperf.h): Remove -a, -g, and -p flags for gperf. - -2000-10-30 John W. Eaton - - * load-save.cc (do_load): Allow result to be returned instead of - inserting variables in the symbol table. Change patterned after - patch by Kian Ming Adam Chai . - -2000-10-27 John W. Eaton - - * Makefile.in (ops.cc): Don't substitute BLAS_LIBS and LIBS here. - - * oct-conf.h.in (OCTAVE_CONF_SPECIAL_MATH_LIB): Delete. - (OCTAVE_CONF_BLAS_LIBS): Add. - * toplev.cc (octave_config_info): Likewise, add BLAS_LIBS and - remove SPECIAL_MATH_LIB from the struct. - - * parse.y (feval (const octave_value_list&, int)): Don't panic - while processing arg names if arg.length() and arg_names.length() - differ. - -2000-10-12 Paul Kienzle - - * ov-cell.h (octave_cell::is_cell): New function. - - * pt-select.cc (equal): New static function. - (tree_switch_case::label_matches): Use it to compare case label - against arg. Handle cell arrays as case labels. - -2000-10-12 John W. Eaton - - Change patterned after patch by Cai Jianming - to support for DIM arg in 2.0.x sources. - - * data.cc (DATA_REDUCTION): New macro. Handle second DIM arg here. - (Fcumprod): Replace function body with DATA_REDUCTION. - (Fcumsum): Likewise. - (Fprod): Likewise. - (Fsum): Likewise. - (Fsumsq): Likewise. - -2000-10-10 John W. Eaton - - * error.cc (pr_where_2): New function. - (pr_where_1): Use it instead of error_1 to avoid setting error_state. - -2000-10-02 John W. Eaton - - * xdiv.cc (xdiv): Warn if execution falls through to lssolve. - -2000-09-06 John W. Eaton - - * utils.cc (FERRNO): New function (currently commented out). - - * c-file-ptr-stream.cc (c_file_ptr_buf::close): Call flush here. - (c_file_ptr_buf::~c_file_ptr_buf): Not here. - * c-file-ptr-stream.h (c_fie_ptr_buf::close_fcn): New typedef. - (c_file_ptr_buf::cf): New data member. Add default constructor arg. - (class c_file_ptr_buf): Derive from filebuf, not streambuf. - (i_c_file_ptr_stream, o_c_file_ptr_stream): Handle close function here. - * oct-procstrm.cc (octave_iprocstream, octave_oprocstream): Likewise. - (octave_iprocstream::do_close, octave_oprocstream::do_close): Delete. - * oct-stdstrm.cc (octave_base_stdiostream::~octave_base_stdiostream): - Don't do anything. - (octave_istdiostream::create): Handle close function here. - (octave_istdiostream::octave_istdiostream): Likewise. - (octave_ostdiostream::create): Likewise. - (octave_ostdiostream::octave_ostdiostream): Likewise. - (class octave_base_stdiostream): Don't cache FILE pointer here. - -2000-09-01 John W. Eaton - - * syscalls.cc (Ffcntl): Don't assume that the file id passed in is - the same as the underlying system file id. - -2000-08-22 John W. Eaton - - * parse.y: Use octave_time, not time. - -2000-08-03 John W. Eaton - - * oct-stream.cc (printf_value_cache::double_value): Also set - curr_stat to conversion_error if there are no values at all. - -2000-08-02 John W. Eaton - - * dirfns.cc (Flink, Fsymlink, Freadlink): New functions. - -2000-08-01 John W. Eaton - - * load-save.cc (Vsave_header_format_string): New variable. - (symbols_of_load_save): DEFVAR it. - (save_header_format, default_save_header_format): New functions. - (write_header): Use Vsave_header_format_string here. - -2000-07-28 John W. Eaton - - * pt-pr-code.h (tree_print_code::curr_print_indent_level, - (tree_print_code::beginning_of_line): No longer static. - (tree_print_code::tree_print_code): Initialize them here. - * pt-pr-code.cc: Not here. - - * pt-stmt.cc (tree_statement::eval): Set curr_statement here. - (tree_statement_list::eval): Not here. - - Debug-on-error stuff based on a patch submitted by Paul Kienzle - for 2.0.x. - - * error.cc (Vdebug_on_warning): New static flag variable. - (debug_on_warning): New function. - (symbols_of_warning): DEFVAR debug_on_warning. - (warning): Handle debug_on_warning here. - - * input.cc (do_keyboard): New function. - (Fkeyboard): Use it to do the real work. - * pt-stmt.cc (curr_statement): New static variable. - (tree_statement::eval): Save and restore it here. - * error.cc (Vdebug_on_error): New static flag variable. - (debug_on_error): New function. - (symbols_of_error): DEFVAR debug_on_error. - (pr_where, pr_where_1): New functions. - (error): Handle debug_on_error here. - -2000-07-20 Joao Cardoso - - * Makefile.in (octave): Link with $(LD_CXX) instead of $(CXX) - -2000-07-20 John W. Eaton - - * oct-stream.cc (octave_base_stream::oscanf): Advance to next - format element before attempting to pick up any trailing stuff. - -2000-07-17 John W. Eaton - - * lex.l (next_token_is_bin_op): Don't recognize `..' as a binary op. - - * load-save.cc (get_file_format): Call read_mat5_binary_file_header - with third arg true instead of false, so we don't barf if the file - is not a matlab v5 binary file. - -2000-07-14 John W. Eaton - - * Makefile.in (octave): Link to ../libcruft/blas-xtra/xerbla.o here. - - * octave.cc (main): Remove kluge to attempt linking our version of - xerbla. - -2000-07-07 Steven G. Johnson - - * load-save.cc (have_h5giterate_bug): New file-scope variable. - (hdf5_read_next_data): Only increment current_item if - have_h5giterate_bug is true. - (read_hdf5_data): Set have_h5giterate_bug here. - Only increment hs.current_item if have_h5giterate_bug is true. - -2000-07-05 John W. Eaton - - * c-file-ptr-stream.cc (c_file_ptr_buf::close): - Return -1 if file pointer is NULL. - Set file pointer to 0 after closing. - (c_file_ptr_buf::~c_file_ptr_buf): Call close after flushing. - -2000-07-05 Steven G. Johnson - - * Makefile.in (BLAS_LIBS): Substitute here. - (octave): Use $(BLAS_LIBS) in the final link command. - -2000-06-30 Steven G. Johnson - - * Makefile.in (octave): Link $(FLIBS) last. - * octave.cc (main): Force our own xerbla to be linked instead of - some system version. - -2000-06-29 James R. Van Zandt - - * load-save.cc (load_save_format): New value, LS_MAT5_BINARY. - (arrayclasstype, mat5_data_type): New enums. - (read_mat5_binary_data): New function. - (read_mat5_tag): New function. - (read_mat5_binary_element): New function. - (read_mat5_binary_file_header): New function. - (get_file_format): Check for mat5 binary format too. - (do_load): Handle mat5 binary format. - (write_mat5_tag): New function. - (write_mat5_array): New function. - (class mat5_callback): New class. - (save_mat5_binary_element): New functnon. - (do_save): Handle mat5 binary format. - (write_header): Handle LS_MAT5_BINARY case too. - (save_user_variables): Handle LS_MAT5_BINARY case too. - (Fsave): Handle LS_MAT5_BINARY case too. - (Fload): Handle LS_MAT5_BINARY case too. - -2000-06-29 Steven G. Johnson - - All of the following changes are protected by #ifdef HAVE_HDF5. - - * load-save.cc (load_save_format): New value, LS_HDF5. - (make_valid_identifier): New function. - (class hdf5_fstreambase, class hdf5_ifstream, class hdf5_ofstream): - New classes for reading and writing hdf5 data. - (hdf5_types_compatible): New function. - (hdf5_import_multidim): New function. - (hdf5_check_attr): New function. - (hdf5_read_next_data): New function. - (hdf5_make_complex_type): New function. - (hdf5_make_range_type): New function. - (read_hdf5_data): New function. - (get_file_format): Handle HDF5 format. - (do_load): Handle LS_HDF5 case. - (Fload): Handle HDF5 format. - (hdf5_add_attr): New function. - (save_type_to_hdf5): New function. - (add_hdf5_data): New function. - (do_save): Handle HDF5 format. - (get_default_save_format): Handle LS_HDF5 case. - (write_header): Handle LS_HDF5 case. - (save_user_variables): Handle HDF5 format. - (Fsave): Handle HDF5 format. - -2000-06-28 John W. Eaton - - * help.cc (display_help_text): If writing to filter fails, send - unformatted text to output stream. - -2000-06-27 John W. Eaton - - * OPERATORS/op-bm-bm.cc (eq): Define using mx_el_eq, not operator ==. - (ne): Likewise, use mx_el_ne, not operator !=. - - * pr-output.cc (Fdisp): Delete. - -2000-06-26 John W. Eaton - - * pr-output.cc (float_format::float_format): Set default values - for width and precision to -1. - (operator << (ostream&, pr_formatted_float&): Set width and - precision if values are >= 0. - (set_real_format, set_real_matrix_format, set_range_format, - set_complex_format, set_complex_matrix_format): If we have all - integers, infinities, or nans, set precision equal to field width. - - * load-save.cc (read_ascii_data): Allow empty strings and string - vectors to be restored. - - * variables.cc (var_matches_any_pattern): New function. - (Fclear): Use it to make exclusive clear work correctly. - -2000-06-08 John W. Eaton - - * ov-range.h (octave_range::is_numeric_type): New function. - - * sysdep.cc (Fkbhit): Also ask for input if forced_interactive. - -2000-06-07 John W. Eaton - - * Makefile.in (oct-gperf.h): Use $(GPERF) instead of gperf. - -2000-05-31 John W. Eaton - - * DLD-FUNCTIONS/qz.cc (Fqz): When computing finite generalized - eigenvalues, don't write past the end of the array. - -2000-05-11 John W. Eaton - - * ov-base-nd-array.h, ov-base-nd-array.cc, ov-re-nd-array.h, - ov-re-nd-array.h: New files. - * Makefile.in: Add them to the appropriate lists. - - * pt-stmt.h, pt-stmt.cc (class tree_statement): - Store comments associated with this parse tree element. - * pt-select.h, pt-select.cc (class tree_if_clause, - class tree_if_command, class tree_switch_case - class tree_switch_command): Likewise. - * pt-loop.h, pt-loop.cc (class tree_while_command, - class tree_do_until_command, class tree_simple_for_command, - class tree_complex_for_command): Likewise. - * pt-except.h, pt-except.cc (class tree_try_catch_command, - class tree_unwind_protect_command): Likewise. - * ov-usr-fcn.h, ov-usr-fcn.cc (class octave_user_function): Likewise. - * pt-pr-code.h, pt-pr-code.cc (tree_print_code::print_comment_elt, - tree_print_code::print_comment_list, - tree_print_code::print_indented_comment): New functions. - (tree_print_code::visit_simple_for_command, - tree_print_code::visit_complex_for_command, - tree_print_code::visit_octave_user_function_header, - tree_print_code::visit_octave_user_function_trailer, - tree_print_code::visit_if_command, tree_print_code::visit_statement, - tree_print_code::visit_switch_case, - tree_print_code::visit_switch_command, - tree_print_code::visit_try_catch_command, - tree_print_code::visit_unwind_protect_command - tree_print_code::visit_while_command, - tree_print_code::visit_do_until_command): Handle comments. - * lex.l, parse.y: Handle comments in parse trees. - * comment-list.h, comment-list.cc: New files. - * Makefile.in: Add them to the appropriate lists. - -2000-04-23 etienne grossmann - - * pt-mat.cc (tm_row_const::tm_row_const_rep::eval_error): - New args x and y, for dimension mismatch info. - Change callers where appropriate. - (tm_const::init): Report mismatched column dimensions. - -2000-04-11 John W. Eaton - - * sysdep.cc (kbhit): Also clear cin if at EOF. - -2000-04-11 Joao Cardoso - - * sysdep.cc (kbhit): New arg, wait. - (raw_mode): Ditto. - (Fkbhit): If given an arg, call kbhit with wait = false. - - * DLD-FUNCTIONS/minmax.cc (Fmax, Fmin): Fix doc string. - -2000-04-04 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load): Undo previous change. - -2000-04-03 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::do_load): Also fail with - error message if we don't find the mangled function name in the - file. - -2000-03-31 John W. Eaton - - * oct-stream.cc (printf_value_cache::string_value): Return string - matrices in a Matlab-compatible way. - (printf_value_cache): Redesign the way list_exhausted works. - - * oct-fstrm.cc (octave_fstream::do_close): New function. - * oct-stdstrm.cc (octave_istdiostream::do_close): Ditto. - (octave_ostdiostream::do_close): Ditto. - * c-file-ptr-stream.cc (c_file_ptr_buf::close): Ditto. - (i_c_file_ptr_stream::close): Ditto. - (o_c_file_ptr_stream::close): Ditto. - * oct-prcstrm.cc (octave_iprocstream::do_close): Ditto. - (octave_oprocstream::do_close): Ditto. - (octave_iprocstram::~octave_iprocstram): Call do_close here. - (octave_iprocstram::~octave_oprocstram): Likewise. - - * oct-stream.h (octave_base_stream::do_close): New virtual function. - (octave_base_stream::close): If stream is open, call do_close. - - * c-file-ptr-stream.cc (c_file_ptr_buf::flush): New function. - (c_file_ptr_buf::~c_file_ptr_buf): Use it. - (c_file_ptr_buf::overflow): Ditto. - (c_file_ptr_buf::sync): Ditto. - -2000-03-30 John W. Eaton - - * oct-procbuf.cc (octave_procbuf::open): Make output streams line - buffered. - -2000-03-24 John W. Eaton - - * sighandlers.cc (my_friendly_exit): Prefix failure messages with - panic instead of error. - - * c-file-ptr-stream.cc (c_file_ptr_buf::~c_file_ptr_buf): - Avoid dereferencing NULL pointer. - - * oct-stream.cc (printf_format_list::add_elt_to_list, - printf_format_list::process_conversion, - printf_format_list::finish_conversion): New args, flags, fw, and prec. - (printf_format_list::printf_format_list): Save more complete info. - (printf_format_list::printme): Print flags, fw, and prec. - (octave_base_stream::printf): Simplify. - (do_printf_conv): Delete have_arg arg, since it is always true now. - (octave_base_stream::do_printf): Handle case of no args and % - directly instead of using do_printf_conv. - (printf_value_cache::exhausted): Rename from no_more_values. - (DO_PCT_CONVERSION): New macro - (octave_base_streain::do_scanf, octave_base_streain::do_oscanf): - Use it. - (scanf_format_list::finish_conversion): `%' counts as a conversion too. - Also don't forget to set type for it. - (OCTAVE_SCAN_0): Delete. - (OCTAVE_SCAN): Rename from OCTAVE_SCAN_1. - (octave_base_stream::scanf, octave_base_stream::oscanf): Don't - special-case number of conversions here. - (octave_base_stream::oscanf, octave_base_stream::do_oscanf): Only - cycle through fmt elements if the number of conversions is greater - than 0. - - * oct-stream.h (scanf_format_list::next): New arg, `cycle'. - (printf_format_list::next): New arg, `cycle'. - (printf_format_list::last_elt_p): New function. - (printf_format_elt): New fields fw, prec, and flags. - Define copy constructor and assignment operator. - (scanf_format_elt): Define copy constructor and assignment operator. - -2000-03-23 John W. Eaton - - * oct-stream.cc (OCTAVE_SCAN_0, OCTAVE_SCAN_1): New macros. - (do_scanf_conv, BEGIN_S_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, - do_scanf, scanf, do_oscanf, do_oscanf, oscanf): Use them instead - of calling istream::scan directly. - (octave_scan): New function. - (do_scanf_conv): Second arg is now scanf_format_elt instead of char*. - Change all callers. - - * oct-procbuf.h, oct-procbuf.cc (octave_procbuf): - Derive from c_file_ptr_buf instead of filebuf. - - * oct-stream.cc (octave_base_stream::printf): Use octave_format - instead of ostream::form. Return number of characters written. - -2000-03-22 John W. Eaton - - * oct-stream.cc (do_printf_conv): Use octave_format instead of - ostream::form. Return number of characters written. - (octave_base_stream::do_printf): Return number of characters written. - - * error.cc (verror, vwarning): Use octave_format instead of - ostream::vform. - - * utils.cc (octave_format, octave_vformat): New functions. - * cutils.c (octave_snprintf, octave_vsnprintf): New functions. - - * oct-lvalue.h (dummy_val): New static variable. - (octave_lvalue::octave_lvalue): Use it to initialize val. - - * variables.cc (is_valid_function): Look in the global symbol - table for functions. - -2000-03-21 John W. Eaton - - * Makefile.in (LIBRARIES): Conditionally define. - (libraries): Depend on $(LIBRARIES). - (octave): Depend on $(LIBRARIES), not libraries. Also depend on - stamp-prereq and stamp-oct-links. - (all): Don't depend on stamp-prereq or stamp-oct-links. - (liboctinterp.$(LIBEXT), liboctinterp.$(SHELXT)): Delete target - before rebuilding. - -2000-03-21 Ben Sapp : - - * Makefile.in (libraries): Depend only on library targets, not - archive members. - -2000-03-17 John W. Eaton - - * Makefile.in (objects): New target - - * c_file_ptr_stream.h, c_file_ptr_stream.cc: New files. - * oct-stdstrm.h, oct-stdstrm.cc, oct-prcstrm.cc: - Use c_file_ptr_buf, i_c_file_ptr_stream, and o_c_fie_ptr_stream - instead of stdiobuf, istdiostream, and ostdiostream. - - * pr-output.cc (set_real_format, set_real_matrix_format, - set_complex_format, set_complex_matrix_format, set_range_format): - Do the right thing again for int, NaN, and Inf values. - -2000-03-14 John W. Eaton - - * pr-output.cc (pr_plus_format): Rename from do_plus_format. - Change all callers. - (pr_float, pr_complex): New arg, scale. Handle scaling here. - (float_format): New class for managing details of formatting - floats. Use it instead of character string formats and the - nonstandard form() function from the GNU iostream library. - -2000-02-23 John W. Eaton - - * Makefile.in (clean): Also delete gendoc. - -2000-02-18 James R. Van Zandt - - * load-save.cc (Vcrash_dumps_octave_core): Fix comment for this var. - -2000-02-18 John W. Eaton - - * lex.l (handle_number): Don't transorm `[Dd]' to `e' if reading - hex. - -2000-02-11 John W. Eaton - - * Makefile.in (install-inc): Install files in - $(octincludedir)/octave. - (uninstall): Remove them from the correct directory too. - - * defaults.h, defaults.cc (Vlocal_ver_arch_lib_dir): New variable. - * defaults.cc (set_default_local_ver_arch_lib_dir): New function. - (install_defaults): Call it. - (exec_path): Prepend the versioned form of the local arch lib - directory to the standard path. - * defaults.h.in (OCTAVE_LOCALVERARCHLIBDIR, - OCTAVE_LOCALVERFCNFILEDIR, OCTAVE_LOCALVEROCTFILEDIR): - Substitute these too. - * toplev.cc (Foctave_config_info): Add them to the struct. - -2000-02-08 John W. Eaton - - * toplev.cc (Foctave_config_info): Add MKOCTFILE_INCFLAGS to the - struct. - * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_INCFLAGS): Define. - -2000-02-07 John W. Eaton - - * DLD-FUNCTIONS/balance.cc (Fbalance): Explicitly request - conversion from Matrix to ComplexMatrix. - * DLD-FUNCTIONS/qz.cc (Fqz): Likewise. - - * ov-re-mat.h (octave_matrix::complex_matrix_value): Explicitly - request conversion from Matrix type. - - * ov-ch-mat.h (octave_char_matrix::matrix_value): Explicitly - request conversion from charMatrix type. - (octave_char_matrix::complex_matrix_value): Likewise. - * ov-bool-mat.h (octave_bool_matrix::matrix_value): Likewise. - (octave_bool_matrix::complex_matrix_value): Likewise. - - * ov-range.h (octave_range::complex_matrix_value): Explicitly - request conversion from Matrix type. - - * ov-cx-mat.h, ov-re-mat.h: Explicitly request conversions from - diagonal matrix types in constructors. - - * mappers.cc (ximag, xreal): Return double, not Complex. - - * error.cc (panic): Turn off buffering of error messages. - Don't call flush_octave_stdout here, verror will do it for us. - (verror): Don't call flush_octave_stdout if buffering error messages. - - * pt-except.cc (tree_try_catch_command::eval): Only restore - buffer_error_message value (by running the unwind_protect element - for it) if it has been saved. - - * help.cc (Ftype): Return value if nargout is NOT equal to zero. - Delete unnecessary unwind_protect::begin_frame(). - - * toplev.cc (octave_config_info): Stuff lots of new config info in - the struct. - - * oct-conf.h.in: Delete TARGET_HOST_TYPE. - -2000-02-04 John W. Eaton - - * siglist.c: Include . - - * lex.l (is_plot_keyword): Add minimum match length in call to - almost_match. - - * Makefile.in (%.df : %.cc): Don't pass -c to compiler. - -2000-02-03 John W. Eaton - - * ov-base-mat.cc: Include pr-output.h here. - - * DLD-FUNCTIONS/rand.cc (curr_rand_dist): Return const char * - instead of char *. - - * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell): - Call pubseekoff instead of seekoff. - - * DLD-FUNCTIONS/dassl.cc (print_dassl_option_list): Use stream - manipulators instead of GNU iostream-specific form function. - * DLD-FUNCTIONS/fsolve.cc (print_fsolve_option_list): Ditto. - * DLD-FUNCTIONS/lsode.cc (print_lsode_option_list): Ditto. - * DLD-FUNCTIONS/quad.cc (print_quad_option_list): Ditto. - * pr-output.cc (pr_scale_header): Ditto. - - * sighandlers.h: Include signal.h here. - * sighandlers.cc: Not here. - - * utils.cc: Include setjmp.h, not csetjmp. - * toplev.cc: Ditto. - - * sighandlers.cc: Include signal.h, not csignal. - - * pt-plot.h: Don't include csignal. - * toplev.cc: Ditto. - * oct-hist.cc: Ditto. - * octave.cc: Ditto. - * pager.cc: Ditto. - * input.cc: Ditto. - * help.cc: Ditto. - - * pt-plot.cc (send_to_plot_stream): Use operator== and substr - method to do limited-length string comparison. - * input.cc (generate_completion): Likewise. - * ov-dld-fcn.cc (octave_dld_function::octave_dld_function): Likewise. - * ov-usr-fcn.cc (octave_user_function::mark_as_system_fcn_file): - Likewise. - - * utils.cc (check_preference): Expect exact string matches. - * variables.cc (ignore_function_time_stamp): Likewise. - * lex.l (whitespace_in_literal_matrix): Likewise. - - * mappers.cc (xconj, ximag, xreal): New functions. Use them in - DEFUN_MAPPER calls. - - * defun-int.h (DEFUN_MAPPER_INTERNAL): Cast function pointer args - to octave_mapper constructor. - -2000-02-02 John W. Eaton - - * procstream.cc (procstreambase::procstreambase, - procstreambase::open, procstreambase::close): - Call std::ios::setstate, not set. - - * lex.l (plot_axes_token): Declare plot_axes as const char *. - Declare tmp const char **. - - * oct-procbuf.h: Include fstream, not streambuf.h. - - * load-save.cc (Fsave): Call pubseekoff instead of seekoff. - * oct-strstrm.cc (octave_base_strstream::tell): Likewise. - (octave_base_strstream::seek): Likewise. - - * oct-stream.cc (octave_base_stream::read): Rename count to char_count. - (octave_base_stream::do_gets): Likewise. - - * octave-stream.cc (octave_base_stream::write): Rename flt_fmt to ffmt. - (octave_base_stream::read): Likewise. - - * TEMPLATE-INST/SLStack-sym.cc: Delete meaningless `extern - template' declarations. - * TEMPLATE-INST/Array-tc.cc: Ditto. - - * TEMPLATE-INST/Map-fnc.cc: Don't try to instantiate goodCHptr or - CHptr_to_index here. - * TEMPLATE-INST/Map-tc.cc: Likewise. - * Map.h (CHNode::goodCHptr, CHNode::CHptr_to_index): Now member - functions. Change all callers. - - * load-save.cc (read_binary_file_header): Declare magic_len `const'. - - * token.h (token::token (const token&), token::operator=): - Delete unnecessary definitions. - - * oct-stream.cc (octave_stream::mode_as_string): Use - std::ios::binary, not std::ios::bin. - * load-save.cc (Fsave, Fload, save_user_variables): Likewise. - - * DLD-FUNCTIONS/qz.cc (Fqz): Use Array class instead of - trying to create automatic int array with variable size. - - * variables.cc (F__dump_symbol_info__): Fix continuation char. - * mappers.cc (Ftoupper): Likewise. - * DLD-FUNCTIONS/besselj.cc (Fairy, Fbesselj): Likewise. - * DLD-FUNCTIONS/chol.cc (Fchol): Likewise. - * DLD-FUNCTIONS/det.cc (Fdet): Likewise. - * DLD-FUNCTIONS/eig.cc (Feig): Likewise. - * DLD-FUNCTIONS/gammainc.cc (gammainc): Likewise. - * DLD-FUNCTIONS/givens.cc (givens): Likewise. - * DLD-FUNCTIONS/hess.cc (hess): Likewise. - * DLD-FUNCTIONS/inv.cc (inv): Likewise. - * DLD-FUNCTIONS/log.cc (logm): Likewise. - * DLD-FUNCTIONS/lu.cc (lu): Likewise. - * DLD-FUNCTIONS/qr.cc (qr): Likewise. - * DLD-FUNCTIONS/schur.cc (schur): Likewise. - * DLD-FUNCTIONS/balance.cc (balance): Likewise. - * DLD-FUNCTIONS/svd.cc (svd): Likewise. - * DLD-FUNCTIONS/syl.cc (syl): Likewise. - * DLD-FUNCTIONS/expm.cc (Fexpm): Likewise. - - * token.h (token::token_type, token::end_tok_type, - token::plot_tok_type): Delete extraneous comma from enum decls. - * load-save.cc (load_save_format): Likewise. - - * pt-idx.cc (tree_index_expression::tree_index_expression): - Delete default arg values. - * oct-fstrm.cc (octave_fstream::octave_fstream): Likewise. - * oct-stream.cc (octave_stream::octave_stream): Likewise. - - * siglist.h, siglist.c: New files. - * Makefile.in: Add them to the appropriate lists. - * siglist.c (sys_siglist): Move definition here from sighandlers.cc. - * siglist.h (sys_siglist): Move declaration here from sighandlers.h. - - * ov.h, ov-bool.h, ov-bool-mat.h (bool_matrix_value): - Delete unnecessary arg. - - * ov.h (octave_value::do_multi_index_op): Rename from do_index_op. - - * ov-fcn.h (octave_function::is_system_fcn_file): Now const. - - * Map.cc (index_to_CHptr): Now a macro. - (CHMap::hash): Now a member function. - - * defun-int.h (UNDERSCORIFY): New macro. - (DEFCONST_INTERNAL, DEFCONSTX_INTERNAL): Use it. - - * data.cc (Fis_list): Fix continuation char. - * defaults.cc (IMAGEPATH): Likewise. - - * Map.cc (CHptr_to_index, goodCHptr): Delete static decl. - - * ov.h (unary_op, binary_op, assign_op): Prepend `op_' to elts. - Change all usses - - * All source files: Sprinkle with std:: qualifier as needed. - -2000-01-31 John W. Eaton - - * sighandlers.cc (install_signal_handlers): Add std:: qualifier - for set_net_handler. - - * All source files: Include iostream, fstream, strstream, - etc. as needed instead of using forward declarations for these - classes. - -2000-01-30 John W. Eaton - - * input.cc (input_event_hook, Finput_event_hook): New functions. - (hook_fcn, user_data): New static variables. - -2000-01-28 John W. Eaton - - * pt-except.cc (do_catch_code): Don't do anything special for - tree_return_command::returning, or tree_break_command::breaking. - - * error.cc (vwarning): New function. - (warning): Use it instead of calling verror. - - * oct-stream.cc (octave_base_stream::oscanf): - Result is now always nconv+1 elements. Return count of successful - conversions in last element. - * file-io.cc (Ffscanf, Fsscanf, Fscanf): Fix doc string. - - * pt-except.cc (do_catch_code): Unwind-protect buffer_error_messages. - Be sure to run all unwind-protects before returning. - (tree_try_catch_command::eval): Add do_catch_code cleanup function - to unwind-protect stack before resetting buffer_error_messages. - Use unwind-protect to save and restore buffer_error_messages. - If there is no catch code, discard the cleanup function and run - the unwind-protect for buffer_error_messages. - - * error.cc (bind_global_error_variable): Avoid dereferencing - error_message_buffer if it is NULL. - - * parse.y (evaluating_function_body): New global flag. - * ov-usr-fcn.cc (octave_user_function::do_index_op): - Protect and set it here. - * parse.y (make_break_command, make_return_command): Check it here. - - * error.cc (warning_state): New global flag. - (warning): Set it here. - * lex.l (reset_parser): Clear it here. - * parse.y (fold): Check it here. - -2000-01-27 John W. Eaton - - * pt-walk.h (tree_walker::visit_do_until_command): New pure virtual. - * pt-pr-code.cc (tree_print_code::visit_do_until_command): - New function. - * pt-loop.h (tree_do_until_command): New class. - (tree_while_command::expr, tree_while_command::list): - Now protected instead of private. - * parse.y (make_do_until_command): New function. - (loop_command): Recognize do-until statement. - (DO, UNTIL): New tokens. - - * input.cc (match_sans_spaces): Require non-blank part of test - string to match standard string exactly. - -2000-01-26 John W. Eaton - - * oct-stream.h (scanf_format_elt::char_class): New struct elt. - Add arg to constructor. - (scanf_format_elt::special_conversion): New enum. - * oct-stream.cc (scanf_format_list::add_elt_to_list): New arg, - char_class. Pass it to scanf_format_elt constructor. - (scanf_format_list::scanf_format_list): Create separate list - elements for whitespace and literal conversions. - (expand_char_class): New function. - (scanf_format_list::finish_conversion): Extract character class - (not including the delimiting brackets) and expand the list of - characters. Pass the result to add_elt_to_list. - (scanf_format_list::all_character_conversions): Also accept '^', - scanf_format_elt::literal_conversion, and - scanf_format_elt::whitespace_conversion types too. - (DO_WHITESPACE_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, - BEGIN_C_CONVERSION, BEGIN_S_CONVERSION, DO_LITERAL_CONVERSION): - New macros. - (octave_base_stream::do_scanf, octave_base_stream::do_oscanf): - Use them to avoid code duplication. - Handle whitespace, literal text, and character class conversions. - (octave_base_stream::oscanf): Loop over all format list elements, - not just the first nconv elements. Clear status flags on is for - all streams. - -2000-01-25 John W. Eaton - - * xdiv.cc (result_ok): Just check value of info. - (solve_singularity_warning): New function. - (xleftdiv, xdiv): Pass pointer to solve_singularity_warning to - solve function. - - * lex.l (handle_identifier): Set next_tok_is_eq if we are looking - at `=', but not if we are looking at `=='. - - * pt-pr-code.cc (tree_print_code::visit_unwind_protect_command): - Print `unwind_protect_cleanup', not `cleanup_code'. - - * pager.cc (octave_pager_buf::flush_current_contents_to_diary): - New function. - (octave_pager_stream::flush_current_contents_to_diary): - Ditto. - (close_diary_file): Use the new octave_pager_stream function to - try to flush the current buffer to the diary when it is closed. - - * variables.cc (Fexist): Return 6 for built-in constants. - - * pt-plot.cc (Fgshow): Don't append " " after last arg. - (Fgset): Likewise. - -2000-01-23 John W. Eaton - - * ov-base-mat.h (octave_base_matrix::length): Return 0 for empty - arrays. - -2000-01-20 John W. Eaton - - * DLD-FUNCTIONS/time.cc (Fstrptime): New function. - - * load-save.cc (Fsave): Add missing else. - -2000-01-17 John W. Eaton - - * DLD-FUNCTIONS/gammainc.cc (Fgammainc): Texinfoize doc string. - * ov-typeinfo.cc (Ftypeinfo): Ditto. - * parse.y (Vwarn_future_time_stamp): Ditto. - * DLD-FUNCTIONS/minmax.cc (Fmax, Fmin): Ditto. - * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Ditto. - * defaults.cc (VOCTAVE_HOME, Frehash): Ditto. - * toplev.cc (Fwarranty, Fcasesen): Ditto. - * utils.cc (Fdo_string_escapes, Ffile_in_loadpath): Ditto. - * variables.cc (F__dump_symtab_info__, F__dump_symbol_info__): Ditto. - * ov-list.cc (Flist, Fappend, Fnth, Freverse, Fsplice): Ditto. - * input.cc (Fread_readline_init_file): Ditto. - * file-io.cc (Fis_stream): Ditto. - * ov-cell.cc (Fiscell, Fcell): Ditto. - * pt-assign.cc (Vprint_rhs_assign_val): Ditto. - * pt-decl.cc (Vinitialize_global_variables): Ditto. - * symtab.cc (Vvariables_can_hide_functions): Ditto. - - * pt-plot.cc (Fgraw, Fgset, Fgshow, Vgnuplot_command_plot, - Vgnuplot_command_replot, Vgnuplot_command_splot, - Vgnuplot_command_using, Vgnuplot_command_with, - Vgnuplot_command_axes, Vgnuplot_command_title, - Vgnuplot_command_end): Texinfoize doc strings. - - * oct-procbuf.cc (__kluge_procbuf_delay__): Rename from - kluge_procbuf_delay. Texinfoize doc string. - -2000-01-13 John W. Eaton - - * parse.y (gobble_leading_whitespace): Discard first space character - after consecutive comment characters. - * lex.l (grab_help_text): Ditto. - - * lex.l (Vwhitespace_in_literal_matrix, Vwarn_separator_insert, - Vwarn_single_quote_string): Texinfoize doc string. - -2000-01-11 John W. Eaton - - * ov.h, ov.cc (octave_value::column_vector_value, - octave_value::row_vector_value, - octave_value::complex_column_vector_value, - octave_value::complex_row_vector_value): New functions. - (octave_value::vector_value): Now returns Array. - (octave_value::complex_vector_value): Now returns Array. - Sprinkle conversions where necessary. - - * ov.cc (Vprefer_column_vectors): Now static. - * ov.h (octave_value (const ComplexRowVector&), - octave_value (const ComplexColumnVector&), - octave_value (const RowVector&), octave_value (const ColumnVector&)): - Delete second arg. Change all callers. - - * oct-obj.h (octave_value_list (const RowVector&), - octave_value_list (const ColumnVector&), - octave_value_list (const ComplexRowVector&), - octave_value_list (const ComplexColumnVector&)): Likewise. - * ov-cx-mat.h, ov-cx-mat.cc - (octave_complex_matrix (const ComplexRowVector&), - (octave_complex_matrix (const ComplexColumnVector&)): - Delete second arg, simply create object with orientation - corresponding to vector arg. Move constructors to class decl. - * ov-re-mat.h, ov-re-mat.cc (octave_matrix (const RowVector&), - (octave_matrix (const ColumnVector&)): - Delete second arg, simply create object with orientation - corresponding to vector arg. Move constructors to class decl. - -2000-01-07 Ben Sapp - - * mappers.cc (Fconj, Ferf, Ferfc, Fgamma, Fimag, Flgamma, Flog10, - Freal, Fround): Add @seealso{...} to doc strings. - -2000-01-06 John W. Eaton - - * oct-stream.cc (do_scanf): Do the right thing again for character - conversions. - - * help.cc (display_help_text): Also strip out leading spaces - before Texinfo @-commands before sending doc string to makeinfo. - (display_help_text): Improve format of `See also' string. - -2000-01-05 John W. Eaton - - * help.cc (display_help_text): Pass a definition for @seealso - through the filter. - -1999-12-22 John W. Eaton - - * lex.l (Vwarn_single_quote_string): New variable. - (syms_of_lex): DEFVAR it. - (warn_single_quote_string): New function. - (gripe_single_quote_string): New function. - Use new stuff to allow warnings for code that uses single quote - characters to introduce string constants. - -1999-12-20 John W. Eaton - - * mkbuiltins: Add #undef quad to generated file. - -1999-12-15 John W. Eaton - - * lex.l (Vwarn_separator_insert): New variable. - (syms_of_lex): DEFVAR it. - (warn_separator_insert): New function. - (maybe_warn_separator_insert): New function. - Use new stuff to allow warnings for code that might result in - auto-insertion of commas or semicolons, depending on the value of - whitespace_in_literal_matrix. - - * parse.y (Fsource): Record function file name here too. - -1999-12-13 John W. Eaton - - * variables.cc (link_to_global_variable): If the local symbol is - not a variable, don't bother to clear it. Instead, just redefine - it by aliasing to the global symbol. - -1999-11-23 John W. Eaton - - * DLD-FUNCTIONS/balance.cc (Fbalance): Texinfoize doc string. - * DLD-FUNCTIONS/det.cc (Fdet): Ditto. - * DLD-FUNCTIONS/eig.cc (Feig): Ditto. - * DLD-FUNCTIONS/givens.cc (Fgivens): Ditto. - * DLD-FUNCTIONS/inv.cc (Finv): Ditto. - * DLD-FUNCTIONS/chol.cc (Fchol): Ditto. - * DLD-FUNCTIONS/hess.cc (Fhess): Ditto. - * DLD-FUNCTIONS/lu.cc (Flu): Ditto. - * DLD-FUNCTIONS/qr.cc (Fqr): Ditto. - * DLD-FUNCTIONS/schur.cc (Fschur): Ditto. - * DLD-FUNCTIONS/svd.cc (Fsvd): Ditto. - * DLD-FUNCTIONS/expm.cc (Fexpm): Ditto. - * DLD-FUNCTIONS/log.cc (Flogm, Fsqrtm): Ditto. - * DLD-FUNCTIONS/syl.cc (Fsyl): Ditto. - * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto. - * DLD-FUNCTIONS/qz.cc (Fqz): Ditto. - * DLD-FUNCTIONS/dassl.cc (Fdassl, Fdassl_options): Ditto. - * DLD-FUNCTIONS/lsode.cc (Flsode, Flsode_options): Ditto. - * data.cc (Flength, Fsize, Fisempty): Ditto. - * sysdep.cc (Fkbhit): Ditto. - * input.cc (Fkeyboard, Finput): Ditto. - * variables.cc (ans): Ditto. - * pr-output.cc (Fdisp, Fformat): Ditto. - * ov.cc (Vprint_answer_id_name): Ditto. - * defaults.cc (IMAGEPATH): Ditto. - * error.cc (Ferror, Fwarning, Fusage, error_text, beep_on_error): - Ditto. - * load-save.cc (Fload, Fsave, Vdefault_save_format, - Vsave_precision): Ditto. - * file-io.cc (Ffflush, Ffopen, Ffclose, Ffputs, Ffgetl, Ffgets, - Ffprintf, Fsprintf, Fscanf, Ffscanf, Fsscanf, Ffread, Ffwrite, - Ffseek, Fftell, Ffeof, Fferror, Ffreport, Ftmpnam, Vstdin_file, - Vstdout_file, Vstderr_file, SEEK_SET, SEEK_CUR, SEEK_END): Ditto. - * pager.cc (Vpager_binary, Vpage_output_immediately, - Vpage_screen_output, Fmore): Ditto. - -1999-11-21 John W. Eaton - - * utils.cc (Vtreat_neg_dim_as_zero): Texinfoize doc string. - * DLD-FUNCTIONS/find.cc (Ffind): Ditto. - * DLD-FUNCTIONS/rand.cc (Frand, Frandn): Ditto. - * DLD-FUNCTIONS/sort.cc (Fsort): Ditto. - * mappers.cc (Fisinf, Fisnan, Ffinite): Ditto. - * data.cc (Fall, Fany, Fdiag, Fones, Fzeros, Feye, Flinspace): Ditto. - * defaults.cc (Vloadpath, Vdefault_loadpath): Ditto. - * parse.y (Feval, Ffeval, Vdefault_eval_print_flag, - Vwarn_missing_semicolon, Vwarn_function_name_clash, Fsource): Ditto. - * ov-usr-fcn.cc (Vmax_recursion_depth, Vdefault_return_value, - Vdefine_all_return_values, Vreturn_last_computed_value): Ditto. - * ov.cc (Vok_to_lose_imaginary_part, Vdo_fortran_indexing, - Vprefer_column_vectors, Vresize_on_range_error, - Vwarn_divide_by_zero): Ditto. - * pt-stmt.cc (Vsilent_functions): Ditto. - * variables.cc (Vignore_function_time_stamp): Ditto. - * dynamic-ld.cc (Vwarn_reload_forces_clear): Ditto. - -1999-11-20 John W. Eaton - - * DLD-FUNCTIONS/fft.cc (Ffft): Texinfoize doc string. - * DLD-FUNCTIONS/ifft.cc (Fifft): Ditto. - * DLD-FUNCTIONS/fft2.cc (Ffft2): Ditto. - * DLD-FUNCTIONS/ifft2.cc (Fifft2): Ditto. - * DLD-FUNCTIONS/filter.cc (Ffilter): Ditto. - * DLD-FUNCTIONS/quad.cc (Fquad, Fquad_options): Ditto. - * DLD-FUNCTIONS/colloc.cc (Fcolloc): Ditto. - * DLD-FUNCTIONS/fsolve.cc (Ffsolve, Ffsolve_options): Ditto. - * defaults.cc (Veditor): Ditto. - * pt-plot.cc (Vautomatic_replot, Vgnuplot_binary, - Vgnuplot_has_frames, Vgnuplot_has_multiplot, Fclearplot, - Fcloseplot, Fpurge_tmp_files, Fishold, Fhold): - - * Makefile.in (parse.cc): Expect 11 shift/reduce conflicts now. - -1999-11-19 John W. Eaton - - * parse.y (Vwarn_assign_as_truth_value, Vwarn_variable_switch_label): - Texinfoize doc strings. - - * DLD-FUNCTIONS/pinv.cc (Fpinv): Texinfoize doc string. - - * defun-int.h (DEFUN_DLD_INTERNAL): New macro. - * defun-dld.h [MAKE_BUILTINS] (DEFUN_DLD): Simply expand to - DEFUN_DLD_INTERNAL. - * mkbuiltins: Generate code to define DEFUN_DLD_INTERNAL. - * mkgendoc: Likewise. - - * Makefile.in (gendoc.o): Don't optimize when creating gendoc. - (%.dc : %.cc): Delete rule. - - * pt-decl.cc (Vdefault_global_variable_value): Texinofize doc string. - * variables.cc (Fclear, Fdocument, Fexist, Fis_global, Fwho): Ditto. - * help.cc (Ftype, Fwhich): Ditto. - * ov.cc (Vstruct_levels_to_print, Vimplicit_str_to_num_ok): Ditto. - * data.cc (Fis_struct, Fstruct_elements, Fstruct_constains): Ditto. - * strfns.cc (Fisstr, Fsetstr): Ditto. - * pt-mat.cc: (Fimplicit_num_to_str_ok, Fstring_fill_char): Ditto. - * utils.cc (Fundo_string_escapes): Ditto. - * mappers.cc: (Fisalnum, Fisalpha, Fisascii, Fiscntrl, Fisdigit, - Fisgraph, Fislower, Fisprint, Fispunct, Fisspace, Fisupper, - Fisxdigit, Ftoascii, Ftolower, Ftoupper): Ditto. - -1999-11-18 John W. Eaton - - * syscalls.cc (symbols_of_syscalls): Use DEFCONSTX to define - Octave constants for C macros like O_WRONLY. - - * oct-lvalue.cc (octave_lvalue::set_index): Disallow expressions - like x(i)(j) = rhs. - -1999-11-17 John W. Eaton - - * symtab.cc (symbol_record::type_as_string): New function. - - * symtab.cc (symbol_record::which): New functions. - * help.cc (do_which): New functions. - (Fwhich): Use them. - - * help.cc (help_from_symbol_table, help_from_file): New functions. - (builtin_help): Use them. - - * help.cc (do_type): New function. - (symbol_record::type): New function. - (Ftype): Use them. - - * help.cc (print_symbol_type): Delete. - - * symtab.cc (symbol_table::name_list): Delete count arg. - (symbol_table::symbol_list): Likewise. - (symbol_table::glob): Likewise. Also return Array - instead of symbol_record **. - Change all callers. - * help.cc (names, display_symtab_names): Delete count arg. - - * help.cc (print_symbol_type, Ftype): No longer need to look up - fcn_file_name in the loadpath. - - * help.cc (print_symbol_type): Handle dld functions. - (help_from_symbol_table, help_from_file): New functions. - (builtin_help): Use them. - -1999-11-16 John W. Eaton - - * ov-cell.cc (Fiscell, Fcell): New Functions. - (octave_cell::do_index_op): New function. - - * utils.cc (get_dimensions): Move here from data.cc and make extern. - (Vtreat_neg_dim_as_zero, treat_neg_dim_as_zero): Likewise. - (symbols_of_utils): New function. - - * data.cc (fill_matrix (const octave_value_list&, double, - const char*)): New function. - (Fones, Fzeros): Use it to avoid some code duplication. - -1999-11-15 John W. Eaton - - * pt-cell.h, pt-cell.cc, ov-cell.h, ov-cell.cc, Cell.h, Cell.cc: - New files. - * Makefile.in: Add them to the appropriate lists. - * pt-walk.h (visit_cell (tree_cell&): New pure virtual. - * pt-pr-code.cc (tree_print_code::visit_cell (tree_cell&)): New - function. - * TEMPLATE-INST/Array-tc.cc: Instantiate 2D arrays of octave_value - objects. - * pt-all.h: Include pt-cell.h. - * ov.h, ov.cc (octave_value::is_cell, octave_value::cell_value): - New functions. - * ov-base.h, ov-base.cc (octave_value::is_cell, - octave_value::cell_value): Provide defaults. - * lex.h, lex.l: Handle `{' and `}' tokens (for cell arrays). - (bracketflag): Rename from braceflag. - (handle_close_bracket): Rename from handle_close_brace. - (class bracket_brace_paren_nesting_level): Rename from - brace_paren_nesting_level. - (bracket_brace_paren_nesting_level::bracket, - bracket_brace_paren_nesting_level::is_bracket): New functions to - keep count of nesting level for `[' and `]'. - (bracket_brace_paren_nesting_level::brace, - bracket_brace_paren_nesting_level::is_brace): Now keeps count of - nesting level for `{' and `}'. - * parse.y (tree_cell_type): New type. - Give '{' the same precedence and associativity as '(' and '.' - (matrix_rows, matrix_rows1): Rename from rows, rows1. - (cell, cell_rows, cell_rows1): New non-terminals. - (cell_or_matrix_row): Rename from matrix_row. - (primary_expr): Accept cell here. - (postfix_expr): Allow indexing using '{' arg_list '}'. - (finish_cell): New function. - -1999-11-12 John W. Eaton - - * utils.cc (jump_to_top_level): No longer declared extern "C". - - * cutils.c (octave_strcasecmp, octave_strncasecmp): New functions. - * utils.cc (almost_match): Call octave_strncasecmp instead of - calling strncasecmp directly. - -1999-11-10 John W. Eaton - - * parse.y: Don't define warn_reload_forces_clear here. - - * Makefile.in (DISTFILES): Include DOCSTRINGS. - -1999-11-05 John W. Eaton - - * sighandlers.cc (install_signal_handlers): Don't install - sigwinch_handler. - - * oct-iostrm.h (octave_istream::eof, octave_ostream::eof): Provide - implementation for these. - - * oct-stream.cc (octave_base_stream::do_scanf): - The stdin stream is only special if we are interactive. - (octave_base_stream::scanf): Ditto. - (octave_base_stream::do_oscanf): Ditto. - (octave_base_stream::oscanf): Ditto. - - * ov.h (octave_value::is_stream): New predicate. - * ov-file.h (octave_file::is_stream): Return true. - * file-io.cc (Fis_stream): New function. - - * ov-file.h (class octave_file): stream is now an object instead - of pointer. - * ov-file.cc (octave_file::print_raw): Handle stream as object - instead of pointer. Also print stream status. - - * ov-base.cc (octave_base_value::stream_value): Return object - instead of pointer. - - * ov.cc (octave_value::stream_value): Return object instead of pointer. - (octave_value::octave_value (const octave_stream&)): Take const - reference instead of pointer arg. - - * TEMPLATE-INST/Array-os.cc: Instantiate Arrays of octave_stream - objects, not pointers to them. - - * OPERATORS/op-fil-b.cc: Cope with octave_stream class changes. - * OPERATORS/op-fil-bm.cc: Likewise. - * OPERATORS/op-fil-cm.cc: Likewise. - * OPERATORS/op-fil-cs.cc: Likewise. - * OPERATORS/op-fil-lis.cc: Likewise. - * OPERATORS/op-fil-m.cc: Likewise. - * OPERATORS/op-fil-rec.cc: Likewise. - * OPERATORS/op-fil-s.cc: Likewise. - * OPERATORS/op-fil-str.cc: Likewise. - * file-io.cc: Likewise. - * syscalls.cc (Fdup): Likewise. - - * oct-fstrm.cc, oct-fstrm.h, oct-iostrm.cc, oct-iostrm.h, - oct-prcstrm.cc, oct-prcstrm.h, oct-stdstrm.cc, oct-stdstrm.h, - oct-stream.cc, oct-stream.h, oct-strstrm.cc, oct-strstrm.h: - Rewrite to allow octave_stream objects to be used like values - instead of having to use pointers. - -1999-11-03 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): If it looks like - we have a matching failure, then reset the failbit in the stream - state. - (octave_base_stream::do_oscanf): Likewise. - -1999-11-02 Ben Sapp - - * help.cc (Fhelp): Texinfoize doc string. - * input.cc (Fecho, Fcompletion_matches): Ditto. - * oct-hist.cc (Fedit_history, Fhistory, Frun_history): Ditto. - * pager.cc (Fdiary): Ditto. - * sysdep.cc (Fclc): Ditto. - * toplev.cc (Fquit, Fatexit): Ditto. - -1999-11-02 John W. Eaton - - * lex.l (yywrap): No longer static. - (have_continuation): Declare input character as int, not char, so - comparison to EOF will work. - -1999-11-01 John W. Eaton - - * defun.cc (print_usage): Use display_help_text instead of sending - help message directly to octave_stdout. - -1999-10-29 John W. Eaton - - * defun-dld.h (INSTALL_DLD_FCNS, INSTALL_DLD_FCN): Delete definitions. - * DLD-FUNCTIONS/dassl.cc: Don't use INSTALL_DLD_FCN or - INSTALL_DLD_FCNS macros. They are not necessary with the new code - in dynamic-ld.cc. - * DLD-FUNCTIONS/lsode.cc: Ditto. - * DLD-FUNCTIONS/fsolve.cc: Ditto. - * DLD-FUNCTIONS/quad.cc: Ditto. - * DLD-FUNCTIONS/time.cc: Ditto. - * DLD-FUNCTIONS/besselj.cc: Ditto. - * DLD-FUNCTIONS/getgrent.cc: Ditto. - * DLD-FUNCTIONS/getpwent.cc: Ditto. - * DLD-FUNCTIONS/inv.cc: Ditto. - * DLD-FUNCTIONS/log.cc: Ditto. - * DLD-FUNCTIONS/minmax.cc: Ditto. - * DLD-FUNCTIONS/rand.cc: Ditto. - - * dynamic-ld.cc, dynamic-ld.h: Major rewrite to allow reloading of - dynamically linked functions. - - * symtab.cc (symbol_record::replace_all_defs): Don't allow top - definition to be NULL. - (symbol_table::clear): Allow dynamically linked functions to be - cleared. - - * symtab.h (TYPE): New enum value, DLD_FUCTION. - (symbol_type): Now 8 bits wide. - (SYMTAB_ALL_TYPES): Include DLD_FUNCTION. - (symbol_record::symbol_def::is_function): Also recognize dld functions. - (symbol_record::symbol_def::is_dld_function): New function. - (symbol_record::is_dld_function): Ditto. - - * defun.cc (install_dld_function): New function. - * defun-int.h: Provide declaration here. - (octave_dld_fcn_installer): New typedef. - (DEFINE_FUN_INSTALLER_FUN): Installer function now takes an - oct_shlib object as an arg. Allow installation of a function to - happen more than once. - - * octave.cc (initialize_error_handlers): Call - set_liboctave_warning_handler here too. - - * ov-builtin.h (is_builtin_function): Return true. - Data member is now protected, not private. - - * ov-fcn.h (is_dynamically_loaded_function): New predicate. - (unload): New function. - Data members are now protected, not private. - - * ov.h (is_builtin_function, is_dld_function): New predicates. - * ov-base.h (is_builtin_function, is_dld_function): Ditto. - - * parse.y (Vwarn_reload_forces_clear): New static flag. - (warn_reload_forces_clear): New function. - (symbols_of_parse): DEFVAR warn_reload_forces_clear. - - * variables.cc (Fclear): Look for dld functions too. - - * ov-dld-fcn.cc, ov-dld-fcn.h: New files. - * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists. - - * Makefile.in (DEFVAR_PATTERN): Also match DEFCONSTX. - -1999-10-26 John W. Eaton - - * DLList.h, DLList.cc: New files. - * Makefile.in (INCLUDES, DIST_SRC): Add them to the lists. - - * DLD-FUNCTIONS/lsode.cc (Flsode): Be sure to call - unwind_protect::run_frame before returning. - * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. - * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. - - * load-save.cc (read_mat_ascii_data): When reading from - tmp_stream, check its state, not the state of is. - - * defun-dld.h (INSTALL_DLD_FCN, INSTALL_DLD_FCNS): New macros. - * DLD-FUNCTIONS/dassl.cc: Use them. - * DLD-FUNCTIONS/lsode.cc: Ditto. - * DLD-FUNCTIONS/fsolve.cc: Ditto. - * DLD-FUNCTIONS/quad.cc: Ditto. - * DLD-FUNCTIONS/time.cc: Ditto. - * DLD-FUNCTIONS/besselj.cc: Ditto. - * DLD-FUNCTIONS/getgrent.cc: Ditto. - * DLD-FUNCTIONS/getpwent.cc: Ditto. - * DLD-FUNCTIONS/inv.cc: Ditto. - * DLD-FUNCTIONS/log.cc: Ditto. - * DLD-FUNCTIONS/minmax.cc: Ditto. - * DLD-FUNCTIONS/rand.cc: Ditto. - - * data.cc (Flinspace): Let linspace functions handle errors. - - * mkgendoc (print_doc_string): Handle quoted names. - - * file-io.cc (symbols_of_file_io): Use DEFCONSTX for SEEK_SET, - SEEK_CUR, and SEEK_END. - - * defun.h (DEFCONST): Just pass name, defn, and doc to - DEFCONST_INTERNAL. - (DEFCONSTX): Likewise, pass name, defn, and doc to DEFCONSTX_INTERNAL. - * defun-int.h [MKBUILTINS] (DEFCONST_INTERNAL): Likewise, pass - name, defn, and doc to XDEFCONST_INTERNAL. - [MKBUILTINS] (DEFCONSTX_INTERNAL): New macro. - (INSTALL_CONST): New macro. - [! MKBUILTINS] (DEFCONST_INTERNAL): Use it to handle details here. - [! MKBUILTINS] (DEFCONSTX_INTERNAL): Ditto. - * mkgendoc: Fix definition of XDEFCONST_INTERNAL to match. - * mkbuiltins: Ditto. - - * mkdefs: Match spaces before BEGIN_INSTALL_BUILTIN. - - * Makefile.in (DEFUN_PATTERN): Also match DEFUN_MAPPER. - -1999-10-26 Ben Sapp - - * data.cc (VI, VInf, VJ, VNaN, Ve, Veps, Vfalse, Vi, Vinf, Vj, - Vnan, Vpi, Vrealmax, Vrealmin): Texinfoize doc strings. - * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh, - Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp, - Ffinite, Ffix, Ffloor, Fgamma, Fimag, Flgamma, Flog, Flog10, - Freal, Fround, Fsign, Fsin, Fsinh, Fsqrt, Ftan, Ftanh): Ditto. - -1999-10-23 Ben Sapp - - * data.cc (Fis_matrix): Texinfoize doc string. - * ov.cc (Vpropagate_empty_matrices): Ditto. - * pt-mat.cc: (Vempty_list_elements_ok): Ditto. - * pr-output.cc (Vfixed_point_format, Voutput_max_field_width, - Voutput_precision, Vprint_empty_dimensions, Vsplit_long_rows): - Ditto. - -1999-10-22 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::do_index_op): If - Vmax_recursion_depth is exceeded, call unwind_protect::run_frame - before returning. - -1999-10-21 John W. Eaton - - * cutils.c (do_octave_usleep): Handle useconds > 1e6. - - * variables.h (is_valid_function): Provide default values for the - string argument. - - * symtab.cc (variable_reference): Maybe print warning (or error) - about variables that hide functions of the same name. - (symbol_record::define (const octave_value&, unsigned int)): Ditto. - (Vvariables_can_hide_functions): New static variable. - (variables_can_hide_functions, symbols_of_symtab): New functions. - - * cutils.c: New file. - * Makefile.in (SOURCES): Add it to the list. - * utils.h: Declare octave_usleep here. - * dirfns.cc (Fls): Simply all octave_usleep. - * oct-procbuf.cc (octave_procbuf::open): Ditto. - * sysdep.cc (Fusleep): Ditto. - * toplev.cc (run_command_and_return_output): Ditto. - -1999-10-20 John W. Eaton - - * data.cc (make_diag (const octave_value&, const octave_value&)): - Delete special cases for scalars and simply attempt conversion of - first arg to a matrix value. If that fails, we will still see an - error message. - - * Makefile.in (DISTFILES): Add mkgendoc to the list. - -1999-10-19 John W. Eaton - - * Makefile.in (stmp-pic): New target. - ($(PICOBJS)): Depend on stmp-pic, not pic. - - * ov.h (get_rep): New function. - - * help.cc (display_help_text): Pass definitions for VERSION, - OCTAVE_HOME, and TARGETHOSTTYPE to makeinfo. - - * DLD-FUNCTIONS/getgrent.cc: Texinfoize all doc strings. - * DLD-FUNCTIONS/getpwent.cc: Ditto. - * DLD-FUNCTIONS/getrusage.cc: Ditto. - * DLD-FUNCTIONS/time.cc: Ditto. - - * defaults.cc (EXEC_PATH, OCTAVE_VERSION): Texinfoize doc strings. - * dirfns.cc (Fcd, Fls, Fpwd, Freaddir, Fmkdir, Frmdir, Frename, - Fglob, Ffnmatch): Ditto. - * file-io.cc (Fpopen, Fpclose, Fumask): Ditto. - * sysdep.cc (Fgetenv, Fputenv, Fpause, Fsleep, Fusleep, Fisieee, - Ftilde_expand): Ditto. - * toplev.cc (Fcomputer, Fsystem, Foctave_config_info): Ditto. - * utils.cc (Ffile_in_path): Ditto. - * syscalls.cc (Fdup2, Fexec, Ffcntl, Ffork, Fgetpgrp, Fgetpid, - Fgetppid, Fgetegid, Fgetgid, Fgeteuid, Fgetuid, Fmkfifo, Fpipe, - Fstat, Funlink, Fwaitpid, F): Ditto. - (Flstat): Refer to stat for doc. - - * help.cc (looks_like_texinfo): New function. - (display_help_text): Use it to see if the doc string looks like - Texinfo source. If so, use makeinfo to format the text before - displaying it. - - * mkgendoc: New script. - * Makefile.in: Use it to create gendoc.cc, which is compiled and - run to create DOCSTRINGS file from sources. - -1999-10-18 John W. Eaton - - * help.cc (help_from_info): Print `unable to find info' message if - try_info returns 127; otherwise, print `not indexed' message. - Don't sleep after printing `not indexed' message. - -1999-10-14 John W. Eaton - - * parse.y (fold (tree_unary_expression *)): New function. - (make_prefix_op, make_postfix_op): Use it. - -1999-10-13 John W. Eaton - - * Makefile.in (oct-gperf.h): Ask for ANSI-C output from gperf - (requires gperf-2.7 or later). - - * sighandlers.cc (sigwinch_handler): New function. - (install_signal_handlers): Install it. - -Thu Sep 23 19:49:36 1999 John W. Eaton - - * toplev.cc (Fsystem): For async case, use execl instead of - system, avoiding the need to exit after executing the subprocess. - -Thu Sep 9 17:09:23 1999 John W. Eaton - - * oct-stream.cc (get_size): Allow zero values. - (get_size): New arg, one_elt_size_spec. - (do_scanf_conv): New arg, `conv_count'. Change instantiation - requests and all callers. - (octave_base_stream::do_scanf): Improve scanning of strings. - (octave_base_stream::do_oscanf): Remove size limit on %s conversions. - - * oct-stream.cc (scanf_format_list::all_character_conversions): - Don't count %p as a character conversion. - -Tue Sep 7 08:31:04 1999 John W. Eaton - - * pr-output.cc (set_real_matrix_format, set_complex_matrix_format): - Move check for fixed_point_format ahead of check for - int_or_inf_or_nan. - -Thu Sep 2 11:54:51 1999 John W. Eaton - - * oct-obj.cc (make_argv): Correctly handle empty strings as args. - -Fri Aug 20 08:17:52 1999 John W. Eaton - - * DLD-FUNCTIONS/quad.cc (quad): Delete unused label. - - * unwind-prot.cc (saved_variable::~saved_variable): Don't try to - delete gen_ptr_value here. - -Mon Aug 16 21:34:33 1999 John W. Eaton - - * lex.l (next_token_is_sep_op): New function. - (handle_close_brace, maybe_unput_comma): Use it. - (have_continuation): Also handle CRLF here. - -Wed Aug 11 16:06:57 1999 John W. Eaton - - * file-io.cc (Ffopen): Make fopen ("filename") work and imply that - MODE = "r". - -Wed Jul 21 15:38:52 1999 John W. Eaton - - * help.cc (display_names_from_help_list): Sort names before - listing them. - (print_symbol_type, Ftype): Also handle built-in constants. - (LIST_SYMBOLS): Correct call to symbol_table::name_list. - (simple_help): List constants here too. List constants and - variables before functions, not after. Sort names before listing - them. - - * variables.cc (do_who): Display built-in constants in a separate - section. - - * error.cc (bind_global_error_variable, clear_global_error_variable): - Call bind_builtin_constant, not bind_builtin_variable to set - __error_text__. - * octave.cc (intern_argv): Likewise, for argv and __argv__. - - * defun.cc (install_builtin_constant): Move function guts to - bind_builtin_constant in variables.cc. - * variables.cc (bind_builtin_constant): New function. - - * symtab.cc (symbol_record::define, symbol_record::variable_reference): - Handle constants the same as functions. - (symbol_record::link_to_builtin_variable): New function. - (symbol_record::define_builtin_const): New function. - (symbol_record::define_as_fcn): Delete unused function. - (symbol_record::read_only_error): - Handle constants the same as variables. - * symtab.h (symbol_record::BUILTIN_CONSTANT): New enum value. - (symbol_record::symbol_type): Increase width to 7 bits. - (symbol_record::symbol_def::is_constant): New function. - (symbol_record::symbol_def::is_builtin_constant): New function. - (symbol_record::is_constant): New function. - (symbol_record::is_builtin_constant): New function. - (SYMTAB_ALL_TYPES): Add symbol_record::BUILTIN_CONSTANT. - * variables.cc (link_to_builtin_variable): Delete unused function. - (link_to_builtin_or_function): Handle built-in constants here too. - - * defun.cc (install_builtin_variable): Delete inst_as_fcn arg. - (install_builtin_constant): New function. - (install_builtin_variable_as_function): Delete unused function. - * defun.h (DEFVAR_INTERNAL): Delete inst_as_fcn arg. - (DEFCONST_INTERNAL): New macro. - * defun.h (DEFVAR): Delete inst_as_fcn arg. - (DEFCONST, DEFCONSTX): Define using DEFCONST_INTERNAL instead of - DEFVAR_INTERNAL. - * data.cc, defaults.cc, error.cc, help.cc, input.cc, lex.l, - load-save.cc, oct-hist.cc, oct-procbuf.cc, ov-fcn.h, - ov-usr-fcn.cc, ov.cc, pager.cc, parse.y, pr-output.cc, - pt-assign.cc, pt-decl.cc, pt-mat.cc, pt-plot.cc, pt-stmt.cc, - toplev.cc, variables.cc: - Change all invocations of DEFVAR to match new definition. - - * data.cc (symbols_of_data): Add DEFCONSTs for true and false. - -Thu Jul 15 10:59:42 1999 John W. Eaton - - * data.cc (Fis_bool, Fis_complex, Fisempty, Fisnumeric, Fis_list, - Fis_map, Fis_struct): Return bool object. - (Fisreal): New function. - - * ov-str-mat.h (octave_char_matrix_str): Only return true if - Vimplicit_str_to_num_ok is also true. - - * DLD-FUNCTIONS/time.cc (Ftime): Print usage message if any - arguments are supplied. - - * variables.cc (symbol_out_of_date): Call octave_time for time stamps. - - * fn-cache.h (octave_fcn_file_name_cache::timestamp): - Now octave_time object. - - * strftime.c: Move to liboctave directory. - * Makefile.in (DIST_SRC): Delete from list. - - * ov-usr-fcn.h (octave_user_function::t_parsed, - octave_user_function::t_checked): Now octave_time objects. - (octave_user_function::time_parsed, - (octave_user_function::time_checked): - Return value is now octave_time object. - (octave_user_function::mark_fcn_file_up_to_date)): - Arg is now octave_time object. - - * ov-fcn.h (octave_function::mark_fcn_file_up_to_date)): - Arg is now octave_time object. - (octave_function::time_parsed, octave_function::time_checked): - Return value is now octave_time object. - - * input.cc (Vlast_prompt_time): Now an octave_time object. - (octave_gets): Call octave_time::stamp() to set Vlast_prompt_time. - - * DLD-FUNCTIONS/time.cc (mk_tm_map, extract_tm, Ftime, Fgmtime, - Flocaltime, Fmktime, Fstrftime): Use new classes defined in - liboctave/oct-time.cc instead of accessing C functions directly. - -Wed Jul 14 17:38:46 1999 John W. Eaton - - * systime.h: Move to liboctave directory. - * Makefile.in (INCLUDES): Delete it from the list - -Tue Jul 13 14:34:57 1999 John W. Eaton - - * sighandlers.cc (sigchld_handler): Only wait for processes in - octave_child_list. - * toplev.cc (cmd_status): Delete unused static variable. - (cmd_death_handler): Delete unused function. - (run_command_and_return_output): Don't add cmd_death_handler to - octave_child_list. Simply extract command exit status from - calling close() on the procstream object. - -Mon Jul 12 22:38:50 1999 John W. Eaton - - * defun.h (DEFUN_MAPPER): Handle new args, d_b_map and c_b_map. - * defun-int.h (DEFUN_MAPPER_INTERNAL): Likewise. - * mappers.cc (install_mapper_functions): Supply new args to - all uses of DEFUN_MAPPER. - * ov-mapper.cc (octave_mapper::apply): Handle mapper functions - that return bool objects. - * ov-mapper.h (octave_mapper::d_b_mapper, octave_mapper::c_b_mapper): - New typedefs. - (octave_mapper::octave_mapper): Handle new mapper function types. - - * DLD-FUNCTIONS/minmax.cc: Do a better job of handling NaNs. - -Sun Jul 11 13:15:17 1999 John W. Eaton - - * pr-output.cc (do_plus_format (ostream&, double)): New function. - (octave_print_internal (ostream&, double, bool)): Use it. - (octave_print_internal (ostream&, const Matrix&, bool, int)): Ditto. - - * pr-output.cc (do_plus_format (ostream&, const Complex&)): - New function. - (octave_print_internal (ostream&, const Complex&, bool)): Use it. - (octave_print_internal (ostream&, const ComplexMatrix&, bool, int)): - Ditto. - -Sun Jun 20 23:04:00 1999 John W. Eaton - - * sysdep.cc: Include sys/ioctl.h if available. - -Sat Jun 19 12:07:16 1999 John W. Eaton - - * variables.cc (do_who): Make pattern and multiple non-option - arguments work. - -Mon Jun 7 09:54:51 1999 John W. Eaton - - * lex.l (next_token_is_bin_op, next_token_is_postfix_unary_op, - handle_number): Delete yytext arg. Change all callers. - (next_token_is_postfix_unary_op): Check the first character - obtained from yyinput before calling it again. - (next_token_is_bin_op): Do a more thorough check. - (handle_identifier): Also enter token in local symbol table if the - following token is a dot and it looks like a binary operator. - (whitespace_in_literal_matrix): Now static. - - * lex.l: Always use unput, not yyunput. - -Fri May 28 11:02:37 1999 John W. Eaton - - * DLD-FUNCTIONS/chol.cc (Fchol): If two output arguments, never - produce error message. - -Thu May 27 18:28:35 1999 John W. Eaton - - * DLD-FUNCTIONS/chol.cc (Fchol): Also return info as second output. - - * DLD-FUNCTIONS/minmax.cc (max (const ComplexMatrix&, const - ComplexMatrix&)): Correct test for real columns only. - (min (const ComplexMatrix&, const ComplexMatrix&)): Likewise. - -Wed Apr 14 12:54:25 1999 John W. Eaton - - * DLD-FUNCTIONS/dassl.cc (Fdassl): Prevent recursive calls. - * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. - * DLD-FUNCTIONS/lsode.cc (Flsode): Likewise. - * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. - - * file-io.cc (Fsscanf, Ffscanf): Doc fix. - -Sat Mar 27 11:07:51 1999 John W. Eaton - - * ov.h (octave_value::count): New function. - * symtab.cc (symbol_record::dump_symbol_info): New function. - * symtab.cc (symbol_record::symbol_def::dump_symbol_info): Ditto. - * variables.cc (F__dump_symbol_info__): Ditto. - - * pt-misc.cc (tree_parameter_list::clear): New function. - * ov-usr-fcn.h (octave_user_function::clear_args_passed): Ditto. - * ov-usr-fcn.cc (clear_param_list): New function. - (clear_args_passed): New function. - (octave_user_function::do_index_op): Use them to decrement - reference counts on local variables. - -Fri Mar 26 00:51:53 1999 John W. Eaton - - * Makefile.in (libraries): Use the libfoo.a(objects) method of - creating static libs. - - * defaults.cc (symbols_of_defaults): Initialize LOADPATH to - Vload_path, not ":". - -Thu Mar 18 12:09:23 1999 John W. Eaton - - * data.cc (Fisnumeric): Fix typo. - -Thu Mar 4 02:17:04 1999 James Macnicol - - * file-io.cc (Ffread, Ffwrite): Add uint16 and uint32 data types - to doc string. - -Wed Mar 3 11:55:17 1999 John W. Eaton - - * lex.l (handle_string): Allow "" to pass through unchanged if - working on a gset command. - -Tue Mar 2 01:36:29 1999 John W. Eaton - - * variables.cc (Fexist): If a variable isn't defined, only go on - to look for a global by the same name if we are at the top level. - -Fri Jan 29 02:18:36 1999 John W. Eaton - - * version.h (OCTAVE_NAME_AND_VERSION): Say `GNU Octave', not just - Octave. - -Thu Jan 28 21:29:16 1999 John W. Eaton - - * toplev.cc (Fcomputer): Use CANONICAL_HOST_TYPE, not TARGET_HOST_TYPE. - (octave_config_info): Likewise. - * version.h: Ditto. - - * sysdep.cc (Fpause): Flush output before getting user input. - -Wed Jan 27 14:18:29 1999 John W. Eaton - - * Makefile.in (DEFFUN_PATTERN, DEFVAR_PATTERN): Use egrep again. - Make the patterns work with stupid egreps that don't like empty - elements in alternation patterns. - -Fri Jan 22 04:41:48 1999 John W. Eaton - - * load-save.cc (save_ascii_data): Check for string type first, - then range, then the rest. - (save_binary_data): Ditto. - - * pager.cc (more_than_a_screenful): Accept length as second arg. - Handle long lines properly, assuming the terminal wraps long lines. - (octave_pager_buf::do_sync): Accept length of data as second arg. - Use write instead of << to put characters on output stream. - (octave_pager_buf::sync): Don't assume data ends at first NUL. - (octave_diary_buf::sync): Ditto. - -Thu Jan 21 22:15:23 1999 John W. Eaton - - * load-save.cc (save_mat_binary_data): Check for string type - first, then range, then the rest. - -Wed Jan 20 12:01:14 1999 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): Handle short and - long ints correctly. - -Fri Jan 15 13:04:58 1999 John W. Eaton - - * parse.y (end_error): Handle case of endswitch too. - - * Makefile.in: Use basic regular expressions and grep instead of - egrep to find files that contain DEFVAR, DEFCONST, or DEFUN. - -Wed Dec 9 14:14:11 1998 John W. Eaton - - * Makefile.in (octave): Add $(RDYNAMIC_FLAG) to link command. - -Fri Dec 4 20:26:33 1998 John W. Eaton - - * DLD-FUNCTIONS/time.cc (Fstrftime): Make it work even when not - using the GNU version of strftime, which allows passing NULL for - the buffer to determine the required size of the buffer. - -Wed Dec 2 22:38:40 1998 John W. Eaton - - * utils.cc (file_in_loadpath): Expect argc == 2, not 3. - -Tue Nov 24 23:38:19 1998 Eric Norum - - * mkbuiltins: Also strip off leading `./' from file names. - * mkops: Ditto. - -Tue Nov 24 23:24:26 1998 John W. Eaton - - * strftime.c: Surround everything with #ifdef HAVE_STRFTIME / #endif. - - * lex.h (YY_FATAL_ERROR): Call yy_falta_error after - jump_to_top_level to avoid gcc warning. - -Fri Nov 20 13:34:47 1998 John W. Eaton - - * ov-bool.h, ov-bool.cc (class octave_bool): Derive from - octave_base_scalar and get common functions via derivation. - * ov-scalar.h, ov-scalar.cc (class octave_scalar): Ditto. - * ov-complex.h, ov-complex.cc (class octave_complex): Ditto. - - * ov-base-scalar.h, ov-base-scalar.cc (class octave_base_scalar): - New files for new class definition. Put common scalar data type - stuff here. - * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists. - -Thu Nov 19 14:30:25 1998 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::mangle_name): - Prepend underscore here. - (octave_dynamic_loader::load_fcn_from_dot_oct_file): Not here. - - * ov-re-mat.h (octave_matrix_value): Delete experimental code for - handling structure references for things like .rows, .cols, etc. - -Wed Nov 18 01:18:46 1998 John W. Eaton - - * Makefile.in (VAR_FILES): Be more careful about matching. - (DEF_FILES): Likewise. - - * ov-base-mat.h, ov-base-mat.cc, ov-bool-mat.h, ov-bool-mat.cc, - ov-ch-mat.h, ov-ch-mat.cc, ov-cx-mat.h, ov-cx-mat.cc, - ov-re-mat.h, ov-re-mat.cc: Move default definition of all, any, - is_matrix_type, is_numeric_type, valid_as_zero_index, and - do_index_op to base class. - Provide definitions that override the defaults where necessary. - - * mappers.cc: Don't include lo-specfun.h. - -Tue Nov 17 14:35:56 1998 John W. Eaton - - * besselj.cc (Fbesselh, Fairy); New functions. - (Fbesselj, Fbessely, Fbesselk, Fbesseli): Update doc strings. - (do_bessel): Handle additional args. - -Fri Nov 13 14:47:11 1998 John W. Eaton - - * lex.l (NUMBER): Allow hexadecimal constants. - (looks_like_hex): New function. - (handle_number): Check for hexadecimal constants and convert them - to unsigned integer values. - -Thu Nov 12 11:13:24 1998 John W. Eaton - - * input.cc (gnu_readline): Check for EOF from command_editor::readline. - - * ov-str-mat.h, ov-str-mat.cc (class octave_char_matrix_str): - Get common functions via new derivation scheme. - - * ov-bool-mat.h, ov-bool-mat.cc (class octave_bool_matrix): - Derive from octave_base_matrix and get common functions via derivation. - * ov-ch-mat.h, ov-ch-mat.cc (class octave_char_matrix): Ditto. - * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto. - * ov-re-mat.h, ov-re-mat.cc (class octave_real_matrix): Ditto. - - * ov-base-mat.h, ov-base-mat.cc (class octave_base_matrix): New - files for new class definition. Put common matrix data type - stuff here. - - * ov-list.cc (Fnth): New function. - - * ov-list.cc (octave_list::do_index_op): Allow more complex indexing. - - * oct-obj.cc (octave_value_list::index): New function. - (octave_value_list::octve_value_list (Array)): - New private constructor. - - * ov-list.cc (Fsplice): Fix docstring to match. - * oct-obj.cc (octave_value_list::splice): Allow special case - splice (x, length(x)+1, 0, y) to be equivalent to append (x, y). - - * ov-list.cc (Fappend): If an arg is a list, concatenate the lists - instead of appending arg as a single element. - -Wed Nov 11 14:07:27 1998 John W. Eaton - - * load-save.cc (get_mat_data_input_line): New function. - (get_lines_and_columns): Use it here. - (read_mat_ascii_data): And here and do our own reading instead of - using Matrix::operator<<. - -Tue Nov 10 16:12:25 1998 John W. Eaton - - * parse.y (make_constant): Initialize retval to 0. - - * toplev.h (clean_up_and_exit (void)): Delete declaration. - * toplev.cc (do_octave_atexit): Move guts of clean_up_for_exit - here, but ensure that the actions are only executed once. - * octave.cc (main): Don't register cleanup_tmp_files with atexit. - - * ov.h, ov.cc (class octave_value): Use DECLARE_OCTAVE_ALLOCATOR - and DEFINE_OCTAVE_ALLOCATOR for uniform declaration and definition - of allocator functions. Use DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA - and DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA for uniform declaration - and definition of type id functions and data. - * ov-usr-fcn.h, ov-usr-fcn.cc (class octave_user_function): Ditto. - * ov-scalar.h, ov-scalar.cc (class octave_scalar): Ditto. - * ov-re-mat.h ov-re-mat.cc (class octave_matrix): Ditto. - * ov-range.h, ov-range.cc (class octave_range): Ditto. - * ov-mapper.h, ov-mapper.cc (class octave_mapper): Ditto. - * ov-list.h, ov-list.cc (class octave_list): Ditto. - * ov-file.h, ov-file.cc (class octave_file): Ditto. - * ov-fcn.h, ov-fcn.cc (class octave_function): Ditto. - * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto. - * ov-complex.h, ov-complex.cc (class octave_complex): Ditto. - * ov-ch-mat.h, ov-ch-mat.cc (octave_char_matrix): Ditto. - * ov-builtin.h, ov-builtin.cc (class octave_builtin): Ditto. - * ov-bool.h, ov-bool.cc (class octave_bool): Ditto. - * ov-bool-mat.h, ov-bool-mat.cc (octave_bool_matrix): Ditto. - - * ov.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): New macro. - (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Ditto. - -Mon Nov 9 16:12:37 1998 John W. Eaton - - * pr-output.cc (octave_print_internal): Reorder default args for - charMatrix version. - (octave_print_internal): New function for boolMatrix. - - * version.h (OCTAVE_STARTUP_MESSAGE): Note that this is a - development release. - - * toplev.cc (do_octave_atexit): Call flush_octave_stdout here. - (clean_up_for_exit): And here. - -Mon Nov 9 15:20:53 1998 John W. Eaton - - * input.cc (get_user_input): Check retval.length(), not retval.length. - -Sun Nov 8 19:30:33 1998 John W. Eaton - - * pt-assign.cc (tree_simple_assignment::rvalue): If etype is - asn_eq, don't evaluate ult again because retval is just rhs value. - (tree_multi_assignment::rvalue): Likewise. - -Fri Nov 6 12:14:29 1998 John W. Eaton - - * pt-loop.cc (tree_for_command::eval): Move code for string RHS - outside if clause for matrix types. - - * pt-idx.cc: Don't forget to define arg_nm. - Move contstructor here. - * pt-idx.h: From here. - - * data.cc (Fisempty): Also return true for empty strings. - -Wed Nov 4 17:21:41 1998 John W. Eaton - - * ov-base.cc (octave_base_value::rows, octave_base_value::columns, - octave_base_value::length): Delete. - * ov-base.h (octave_base_value::rows, octave_base_value::columns, - octave_base_value::length): Define here. All return -1 if not - defined in a derived class. - - * data.cc (Fis_matrix): Also return true if the arg is a range. - -Tue Nov 3 09:40:24 1998 John W. Eaton - - * data.cc (Fis_bool): New function. - Also add alias for islogical. - - * ov.h (octave_value::is_bool_type): New function. - * ov-base.h (octave_base_value::is_bool_type): Likewise. - * ov-bool.h (octave_bool::is_bool_type): Likewise. - * ov-bool-mat.h (octave_bool_matrix::is_bool_type): Likewise. - -Mon Nov 2 13:36:04 1998 John W. Eaton - - * lex.l (handle_close_brace): Also handle case of ']' followed by - other assignment ops (+=, -=, ...). - - * pt-assign.cc (tree_simple_assignment::rvalue): Correctly handle - return value and printing for operators other than `='. - (tree_multi_assignment::rvalue): Likewise. - - * pt-assign.h (tree_multi_assignment::etype): New data member. - * pt-assign.cc (tree_multi_assignment::rvalue): Use it instead of - assuming `='. - (tree_multi_assignment::oper): New function. - * pt-pr-code.cc (tree_print_code::visit_multi_assignment): Use - it instead of always printing `='. - * parse.y (make_assign_op): Pass expression type to - tree_multi_assignment constructor. - - * Makefile.in (stmp-pic): New target. - ($(PICOBJ)): Depend on stmp-pic, not pic. - (clean): Delete stmp-pic. - -Sun Nov 1 23:24:55 1998 John W. Eaton - - * mappers.cc (install_mapper_functions): Add alias for isfinite. - -Sat Oct 31 08:46:55 1998 John W. Eaton - - * data.cc (Fisnumeric): New function. - -Fri Oct 30 08:39:30 1998 John W. Eaton - - * oct-lvalue.cc (octave_lvalue::do_unary_op): Make it work for - indexed ops too. - * ov.cc (octave_value::unary_op_to_assign_op): New function. - (octave_value::do_non_const_unary_op): New function for indexed ops. - - * parse.y (LEFTDIV_EQ, ELEFTDIV_EQ): New tokens. - (assign_expr): Add rules for them. - (make_assign_op): Handle them here too. - * lex.l: Recognize them. - * ov.h (octave_value::assign_op): Add ldiv_eq and el_ldiv_eq. - * ov.cc (octave_value::assign_op_as_string): Ditto. - (octave_value::op_eq_to_binary_op): Ditto. - (octave_value::assign): Handle OP= style operators with brute force. - (octave_value::simple_assign): New function. - - * parse.y (matrix): Dont' forget to reset - lexer_flags.looking_at_matrix_or_assign_lhs. - - * oct-lvalue.cc (octave_lvalue::assign): Don't call change - function if error occurs. - (octave_lvalue::do_unary_op): If we have an index, fail with message. - -Thu Oct 29 09:27:04 1998 John W. Eaton - - * ov.cc (do_binary_op): Protect against invalid type conversions. - (try_assignment_with_conversion): Likewise. - (do_unary_op): Likewise. - - * ov.h (OV_UNOP_FN, OV_UNOP_OP, OV_UNOP_FN_OP): New macros. - Use them to define not, uminus, transpose, hermitian functions - and operators ! and -. - (OV_BINOP_FN, OV_BINOP_OP, OV_BINOP_FN_OP): New macros. - Use them to define add, sub, mul, div, pow, ldiv, lshift, rshift, - lt, le, eq, ge, gt, ne, el_mul, el_div, el_pow, el_ldiv, el_and, - el_or, struct_ref, functions and operators <, <=, ==, >=, >, !=, - +, -, *, and /. - - * ops.h (CONVDECLX): New macro. - * ov-base.cc (matrix_conv, complex_matrix_conv, string_conv): - Use it to declare these functions. - - * ops.h (CONVDECL, INSTALL_WIDENOP): - Prefix function name with `oct_conv_'. - (INSTALL_BINOP, BINOPDECL): Prefix function name with `oct_binop_'. - (INSTALL_ASSIGNOP, INSTALL_ASSIGNANYOP, ASSIGNOPDECL): - Prefix function name with `oct_assignop_'. - (UNOPDECL, DEFNCUNOP_METHOD, INSTALL_UNOP, INSTALL_NCUNOP): - Prefix function name with `oct_unop_'. - - * ov-str-mat.cc (default_numeric_conversion_function): - Return 0 if conversion fails. - - * parse.y (make_prefix_op, make_postfix_op): Use - octave_value::unary_op enum. - - * pt-unop.cc (tree_prefix_expression::rvalue): Use new unary_op - functions from octave_value and octave_lvalue classes. - (tree_prefix_expression::rvalue): Likewise. - - * pt-unop.cc (tree_unary_expression::oper): Move here. - (tree_prefix_expression::oper, tree_postfix_expression): From here. - - * pt-unop.h (tree_prefix_expression, tree_postfix_expression): - Delete enums. - (tree_unary_expression): Use octave_value::unary_op enum. - * parse.y (make_prefix_op, make_postfix_op): Likewise. - - * oct-lvalue.h (octave_lvalue::do_unary_op): New function. - (octave_lvalue::increment, octave_lvalue::decrement): Delete. - - * ov-typeinfo.h (octave_value_typeinfo::non_const_unary_ops): - New data member. - * ov-typeinfo.h (octave_value_typeinfo::lookup_non_const_unary_op): - New function. - * ov-typeinfo.cc (octave_value_typeinfo::register_non_const_unary_op): - New function. - (octave_value_typeinfo::do_register_non_const_unary_op): Ditto. - (octave_value_typeinfo::do_lookup_non_const_unary_op): Ditto. - - * ov.cc (octave_value::do_non_const_unary_op): New function. - - * Makefile.in (OP_XSRC): Add op-chm.cc and op-range.cc to the list. - - * OPERATORS/op-str-str.cc: Define string matrix unary operators here. - (install_str_str_ops): Install them here. - * ov-bool-mat.h (octave_bool_matrix::transpose, - octave_bool_matrix_value::hermitian): Delete. - - * OPERATORS/op-chm.cc: New file. Define char matrix unary operators. - (install_chm_ops): Install them here. - * ov-ch-mat.h (octave_char_matrix::transpose, - octave_char_matrix_value::hermitian): Delete. - * ops.cc (install_ops): Call install_chm_ops. - - * OPERATORS/op-bm-bm.cc: Define bool matrix unary operators here. - (install_bm_bm_ops): Install them here. - * ov-bool-mat.h (octave_bool_matrix::transpose, - octave_bool_matrix_value::hermitian): Delete. - - * ov-bool.h (octave_bool::not, octave_bool::uminus, - octave_bool::transpose, octave_bool::hermitian): Delete. - - * OPERATORS/op-cs-cs.cc: Define complex scalar unary operators here. - (install_cs_cs_ops): Install them here. - * ov-complex.h (octave_complex::not, octave_complex::uminus, - octave_complex::transpose, octave_complex::hermitian): Delete. - - * OPERATORS/op-cm-cm.cc: Define complex matrix unary operators here. - (install_cm_cm_ops): Install them here. - * ov-cx-mat.h (octave_complex_matrix::not, - octave_complex_matrix::uminus, octave_complex_matrix::transpose, - octave_complex_matrix::hermitian): Delete. - - * OPERATORS/op-m-m.cc: Define matrix unary operators here. - (install_m_m_ops): Install them here. - * ov-re-mat.h (octave_matrix::not, octave_matrix::uminus, - octave_matrix::transpose, octave_matrix::hermitian): Delete. - - * OPERATORS/op-range.cc: New file. Define range unary operators. - (install_range_ops): Install them here. - * ov-range.h (octave_range::not, octave_range::uminus, - octave_range::transpose, octave_range::hermitian): Delete. - * ops.cc (install_ops): Call install_range_ops. - - * OPERATORS/op-s-s.cc: Define scalar unary operators here. - (install_s_s_ops): Install them here. - * ov-scalar.h (octave_scalar::not, octave_scalar::uminus, - octave_scalar::transpose, octave_scalar::hermitian): Delete. - - * ops.h (INSTALL_UNOP, CAST_UNOP_ARG, UNOPDECL, DEFUNOPX, DEFUNOP, - DEFUNOP_OP, DEFUNOP_FN): New macros. - - * ov.h (unary_op_fcn): New typedef. - (octave_value::unary_op): New enum. - * ov.cc (octave_value::octave_value): New function. - - * ov.h (octave_value::not, octave_value::uminus, - octave_value::transpose, octave_value::hermitian, - octave_value::increment, octave_value::decrement): Delete. - - * ov-base.cc (octave_base_value::not, octave_base_value::uminus, - octave_base_value::transpose, octave_base_value::hermitian, - octave_base_value::increment, octave_base_value::decrement): Delete. - - * ov.cc (gripe_unary_op): New function. - (do_unary_op): New function. - * ov-typeinfo.h (octave_value_typeinfo::unary_ops): - New data member. - * ov-typeinfo.cc (octave_value_info::register_unary_op, - octave_value_info::do_register_unary_op, - octave_value_info::lookup_unary_op, - octave_value_info::do_lookup_unary_op): - New functions. - - * ov-list.cc (Fsplice): Use new octave_value::int_value function here. - (octave_list::do_index_op): Likewise. - (octave_list::assign): Likewise. - * toplev.cc (Fquit): Likewise. - * syscalls.cc (Fwaitpid): Likewise. - (Ffcntl): Likewise. - * file-io.cc (do_fread): Likewise. - (do_fwrite): Likewise. - * data.cc (make_diag): Likewise. - (Fsize): Likewise. - (get_dimensions): Likewise. - (Flinspace): - - * ov-base.cc (octave_base_value::int_value): New function. - (octave_base_value::nint_value): Ditto. - * ov.h (octave_value::int_value): Ditto. - (octave_value::nint_value): Ditto. - - * ov-list.cc (octave_list::assign): Fix off-by-one error. - -Wed Oct 28 11:01:37 1998 John W. Eaton - - * load-save.cc (read_mat_ascii_data): Try harder to convert file - name to valid variable name. - - * data.cc (Fisempty, Fis_matrix): New functions. - - * ov-str-mat.h (octave_char_matrix_str::is_matrix_type): New function. - - * OPERATORS/op-list.cc: New file. - * Makefile.in (OP_XSRC): Add it to the list. - - * ov-list.cc (octave_list::assign): New function. - - * ov-typeinfo.h (octave_value_typeinfo::assignany_ops): - New data member. - * ov-typeinfo.cc (octave_value_info::register_assignany_op, - octave_value_info::do_register_assignany_op, - octave_value_info::lookup_assignany_op, - octave_value_info::do_lookup_assignany_op): - New functions. - * ov.cc (octave_value::try_assignment (octave_value::assign_op, - const octave_value_list&, const octave_value&)): If no assignment - operator for particular RHS type exists, try finding one for - generic octave_value as RHS type. - * ops.h (DEFASSIGNANYOP_FN): New macro. - - * ov-list.cc (Fsplice): New function. - * oct-obj.cc (octave_value_list::splice): New function. - - * ov.cc (Vresize_on_range_error): No longer static. - * ov.h (Vresize_on_range_error): Provide extern declaration. - - * oct-procbuf.cc (symbols_of_oct_procbuf): Don't declare static. - - * data.cc (Flength): New function. - * ov.h (octave_value::length): New virtual function. - * ov-base.cc (octave_base_value::length): New function. - (octave_base_value::rows, octave_base_value::columns): Move - definitions here, from ov-base.h. Don't return -1. Instead, - gripe about wrong argument type. - * ov-bool-mat.h (octave_bool_matrix::length): New function. - * ov-bool.h (octave_bool::length): Ditto. - * ov-ch-mat.h (octave_char_matrix::length): Ditto. - * ov-complex.h (octave_complex::length): Ditto. - * ov-cx-mat.h (octave_complex_matrix::length): Ditto. - * ov-list.h (octave_list::length): Ditto. - * ov-range.h (octave_range::length): Ditto. - * ov-re-mat.h (octave_matrix::length): Ditto. - * ov-scalar.h (octave_scalar::length): Ditto. - -Tue Oct 27 22:19:24 1998 John W. Eaton - - * ov-list.cc (octave_list::print_raw): Handle case of empty list. - (octave_list::print_name_tag): Likewise. - - * octave.cc (intern_argv): Built-in variable argv is now a list of - strings instead of a string vector. - Always bind argv, making it an empty list if there are no args. - -Mon Oct 26 08:41:46 1998 John W. Eaton - - * xdiv.cc (mx_leftdiv_conform): Explicitly declare args to be - passed as references to const objects. Fix explicit instantiation - requests to match. - (mx_div_conform): Likewise. - - * pt-unop.h (tree_prefix_expression): Reorder constructor args to - put those with default values last. - (tree_postfix_expression): Likewise. - * parse.y: Change all callers. - -Fri Oct 23 12:07:32 1998 John W. Eaton - - * utils.cc (Ffile_in_loadpath): New function. - - * defaults.cc (Vload_path, Vdefault_load_path): Now static. - - * help.cc (simple_help): Use Vload_path_dir_path here instead of - trying to reconstruct it from Vload_path. - * fn-cache.cc (octave_fcn_file_name_cache::do_list): Likewise. - (octave_fcn_file_name_cache::update): Likewise. - - * defaults.cc (octave_loadpath): Construct Vload_path_dir_path - using Vdefault_load_path. - (set_default_path): Likewise. - - * defaults.h, defaults.cc (maybe_add_default_load_path): Delete. - - * defaults.cc (Vdefault_load_path): New static variable. - (set_default_path): Set it. - (maybe_add_default_load_path): Use it. - (symbols_of_defaults): Add DEFCONST for DEFAULT_LOADPATH. - Thanks to Rafael Laboissiere . - - * defaults.cc (set_default_path): If OCTAVE_PATH is set in the - environment, call maybe_add_default_load_path on it. - -Tue Oct 20 20:58:04 1998 John W. Eaton - - * defaults.cc (maybe_add_default_load_path): If LOADPATH contains - an embedded "::", insert the default path there too. - -Fri Oct 16 00:52:15 1998 John W. Eaton - - * parse.y (in_matrix_or_assign_lhs): New subroutine for lexical - feedback. - (matrix): Use it. - (assign_lhs): Ditto. - * lex.h (lexical_feedback::looking_at_matrix_or_assign_lhs): New - data member. - * lex.l (handle_identifier): Use it to handle keywords like `cd' - as variables in contexts like [ab, cd] = foo (). - - * ov-str-mat.h - (octave_char_matrix_str::octave_char_matrix_str (char c)): - New constructor. - * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (char c)): - New constructor. - * ov.cc (octave_value::octave_value (char c): New constructor. - - * pt-loop.cc (tree_simple_for_command::eval): Handle case of RHS - as string. - -Thu Oct 15 00:56:47 1998 John W. Eaton - - * DLD-FUNCTIONS/rand.cc: Declare Fortran subroutines as returning - int, not int*. - -Wed Oct 14 23:51:31 1998 Georg Thimm - - * load-save.cc (Vcrash_dumps_octave_core): New static variable. - (save_user_variables): Only save variables if - Vcrash_dumps_octave_core is true. - (symbols_of_load_save): Add DEFVAR for it here. - (crash_dumps_octave_core): New function. - * octave.cc (maximum_braindamage): Bind crash_dumps_octave_core to - 0.0 here. - -Tue Oct 13 22:05:55 1998 John W. Eaton - - * input.cc (read_readline_init_file): New function. - -Thu Oct 8 13:47:55 1998 John W. Eaton - - * oct-procbuf.h (octave_procbuf::wstatus): New data member. - Initialize in constructors. - (octave_procbuf::wait_status): New member function. - * oct-procbuf.cc (octave_procbuf::sys_close): Use class data - member wstatus, not local variable. - * procstream.cc (procstreambase::close): Don't call sys_close directly. - Get subprocess exit status by calling wait_status for our procbuf. - * pt-plot.cc (close_plot_stream): Send "quit" command to gnuplot - before deleting plot_stream. - -Thu Oct 1 22:39:44 1998 John W. Eaton - - * data.cc (Fis_complex): New function. - -Fri Sep 25 11:50:44 1998 John W. Eaton - - * load-save.cc (write_header): Rename from write_binary_header. - Also write header for Octave ASCII files. - - * load-save.cc (Fsave): Implement -append option. - - * defaults.cc (Frehash): New function. - -Fri Sep 25 11:50:44 1998 John W. Eaton - - * help.cc (help_from_info): Improve error message in case that - info doesn't work. - -Thu Sep 24 10:48:12 1998 John W. Eaton - - * Makefile.in (DLD_XSRC): Replace qzval.cc with qz.cc - - * DLD-FUNCTIONS/balance.cc: Update from A. S. Hodel - . - - * DLD-FUNCTIONS/qz.cc: New file. - - * DLD-FUNCTIONS/qzval.cc: Delete. - - * parse.y (plot_command1): Don't allow it to be empty. - (plot_command): Handle simple `PLOT' and `PLOT ranges' as special - cases here. - -Wed Sep 23 21:10:08 1998 John W. Eaton - - * lex.l: Change {SNLCMT}*\n{SNLCMT}* pattern - to {S}*{COMMENT}{SNLCMT}* | {S}*{NL}{SNLCMT}*. - -Fri Sep 4 10:50:00 1998 John W. Eaton - - * file-io.cc (Ffwrite): Fix doc string. - -Wed Sep 2 16:22:23 1998 John W. Eaton - - * input.cc (match_sans_spaces): Make it work. - - * toplev.cc (quit): Require nargout == 0. - - * input.cc (get_user_input): Only try matching "exit", "quit", and - "return" if debugging. - -Tue Sep 1 12:50:24 1998 John W. Eaton - - * octave.cc: Use -H as single character equivalent of --no-history. - -Sat Aug 29 12:23:12 1998 John W. Eaton - - * oct-obj.cc (octave_value_list::make_argv): If some values are - string vectors, insert all the elements, not just the first. - -Tue Aug 18 16:39:50 1998 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_gets): Accept last line of - file even if it doesn't end in a newline character. - -Tue Aug 18 16:25:49 1998 Mumit Khan - - * xdiv.cc (mx_leftdiv_conform, mx_div_conform): Instantiate correct - templates. - -Thu Jul 30 00:37:43 1998 John W. Eaton - - * pt-loop.cc (tree_for_command::eval): Check for range first. - If error occurs when extracting matrix value, return early. - Don't bother to check for string type. - - * ov-ch-mat.h (octave_char_matrix::is_real_matrix): New function. - -Tue Jun 23 15:09:54 1998 John W. Eaton - - * parse.y (clear_current_script_file_name): New function. - (parse_fcn_file): Bind current_script_file_name while script is - executing. Use unwind_protect to clear it once the script is - finished. - - * pt-plot.cc (Fgraw): New function. - -Mon Jun 22 22:13:38 1998 John W. Eaton - - * variables.cc (is_valid_function): Provide version that takes - function name as string. - - * parse.y (binary_expr): Fix thinko that resulted in incorrect - evaluation of -x^y. Thanks to Richard Allan Holcombe - . - (feval): Don't attempt to copy nonexistent arg names. - -Mon Jun 22 21:35:50 1998 Richard Allan Holcombe - - * xpow.cc (xpow): Improve efficiency for matrix^(scalar int) case. - -Thu Jun 4 12:42:46 1998 John W. Eaton - - * ov-usr-fcn.cc (octave_user_function::octave_all_va_args): - If num_args_passed < num_named_args, create zero length list. - -Thu May 14 16:23:15 1998 John W. Eaton - - * DLD-FUNCTIONS/getrusage.cc: Include sys/types.h too. - -Mon May 11 00:38:45 1998 John W. Eaton - - * pager.cc (Fdiary): Don't forget to set write_to_diary file if - just given a file name. - - * input.cc (octave_gets): Only send new line character to - octave_diary if current_input_line is empty or doesn't already end - with a new line character.. - Don't send input from function files or scripts to octave_diary. - -Sun May 3 19:54:38 1998 John W. Eaton - - * lex.l (reset_parser): Also call yyrestart if forced_interactive - is true, but not if input_from_startup_file is true. - -Tue Apr 28 14:06:20 1998 John W. Eaton - - * oct-procbuf.cc (Vkluge_procbuf_delay): New static variable. - (kluge_procbuf_delay): New function. - (symbols_of_oct_procbuf): New function. - (octave_procbuf::open): Delay Vkluge_procbuf_delay microseconds - after forking. - -Thu Apr 23 15:41:08 1998 John W. Eaton - - * defaults.cc (Vload_path_dir_path): New variable. - * utils.cc (file_in_path): Use it. - - * utils.cc (search_path_for_file): Undo previous change. - (file_in_path): Undo previous change. - * defaults.cc (loadpath): Undo previous change. Tilde expansion - is once again handled correctly by the code in - liboctave/pathsearch.cc. - -Mon Apr 20 21:50:34 1998 John W. Eaton - - * data.cc (get_dimensions): Allow zeros ([], 3) to work, for - compatibility with Matlab. - - * dynamic-ld.cc [WITH_DL && ! HAVE_DLFCN_H]: Add declarations for - dlopen, dlerror, dlsym, and dlclose. - - * octave.gperf: Handle __FILE__ and __LINE__. - * lex.l (is_keyword): Likewise. - * Makefile.in (oct-gperf.h): Pass -D option to gperf. - Postprocess output of gperf to convert name of static variable - from lookup to gperf_lookup, to avoid conflict with our function - of the same name defined in variables.cc. - -Sat Apr 18 20:17:10 1998 John W. Eaton - - * help.cc (USE_GNU_INFO): Delete uses of this macro. - -Thu Apr 16 01:00:12 1998 John W. Eaton - - * dynamic-ld.cc: Only include dlfcn.h if HAVE_DLFCN_H. - -Wed Apr 15 01:03:05 1998 John W. Eaton - - * input.cc (Vlast_prompt_time): New global variable. - (octave_gets): Set it. - * ov-fcn.h (octave_function::time_checked): New virtual function - (octave_function::mark_fcn_file_up_to_date): Ditto. - * ov-usr-fcn.h (octave_user_function::time_checked): New function. - (octave_user_function::mark_fcn_file_up_to_date): Ditto. - (octave_user_function::t_checked): New data member. - * variables.cc (symbol_out_of_date): Only check file time stamp if - a prompt has been printed since the last time check. - - * pt-plot.h, pt-plot.cc (subplot_axes): New class. - (subplot): Handle axes. - (Vgnuplot_command_axes): New static variable. - (gnuplot_command_axes): New function. - (symbols_of_pt_plot): DEFVAR gnuplot_command_axes. - * pt-walk.h (tree_walker::visit_subplot_axes): New virtual function. - * parse.y (plot_options): Handle axes. - * lex.l (plot_axes_token): New function. - (is_keyword): Use it. - (is_plot_keyword): Recognize "axes" and "axis". - * lex.h (class lexical_feedback): New field, in_plot_axes. - (lexical_feedback::init): Reset it. - -Tue Apr 14 23:32:27 1998 John W. Eaton - - * parse.y (parse_fcn_file): New arg, force_script. Change callers. - -Fri Apr 10 11:01:27 1998 John W. Eaton - - * help.cc (type): Also print values of variables. - -Wed Apr 8 01:00:58 1998 John W. Eaton - - * pr-output.cc (set_format): Set scale to 1.0 if all elements are - int or inf or nan. - - * parse.y (Vwarn_future_time_stamp): New variable. - (symbols_of_parse): Add DEFVAR for it. - (warn_future_time_stamp): New function. - (frob_function_def): Maybe warn about files with future time stamps. - -Thu Apr 2 20:43:45 1998 John W. Eaton - - * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): In - error messages, print element numbers starting with 1, not 0. - -Sat Mar 28 15:25:44 1998 John W. Eaton - - * toplev.cc (clean_up_for_exit): New function. - (clean_up_and_exit): Use it. - * sighandlers.cc (my_friendly_exit): Call it instead of - clean_up_and_exit, then do default action for signal. - - * sighandlers.cc (octave_new_handler): Call my_friendly_exit with - signal set to SIGABRT if it is defined, or -1 otherwise. - - * error.cc (verror): Fix thinko in attempt to skip `error: ' tag - when buffering error messages. - * pt-except.cc (tree_try_catch::eval): Reset buffer_error_messages - here if just discarding unwind_protect frame. - -Wed Mar 18 12:35:18 1998 John W. Eaton - - * xpow.cc (elem_xpow): For real-scalar .^ matrix case, result is - complex only if real-scalar is negative and matrix has some - non-integer values. - -Tue Mar 17 17:47:50 1998 John W. Eaton - - * pt-plot.cc (Vgnuplot_command_plot, Vgnuplot_command_replot, - Vgnuplot_command_splot, Vgnuplot_command_using, - Vgnuplot_command_with, Vgnuplot_command_title, - Vgnuplot_command_end): New static variables. - (symbols_of_pt_plot): DEFVAR them. - (gnuplot_command_plot, gnuplot_command_replot, - gnuplot_command_splot, gnuplot_command_using, - gnuplot_command_with, gnuplot_command_title, - gnuplot_command_end): New functions. - (open_plot_stream, send_to_plot_stream, tree_plot_command::eval, - subplot_using::print, subplot_style::print, subplot::print, - do_external_plotter_cd, Fgset, Fgshow): Use them instead of the - GPLOT_CMD_PLOT, GPLOT_CMD_REPLOT, GPLOT_CMD_SPLOT, - GPLOT_CMD_USING, GPLOT_CMD_WITH, GPLOT_CMD_TITLE, and - GPLOT_CMD_END macros. - -Fri Feb 27 12:25:27 1998 John W. Eaton - - * help.cc (additional_help_message): Fix www address. - -Tue Feb 24 00:42:59 1998 John W. Eaton - - * help.cc (simple_help): Put additional help message first. - (additional_help_message): Add information about web site and - mailing list. - -Fri Feb 20 00:41:06 1998 John W. Eaton - - * pt-plot.cc (GPLOT_CMD_REPLOT): Clear before replot. - - * Makefile.in: Better handling of lib flags for linking. - -Thu Feb 19 21:14:30 1998 John W. Eaton - - * pt-decl.cc (Vinitialize_global_values): New static variable. - (initialize_global_variables): New function. - (symbols_of_pt_decl): New function. - DEFVAR Vinitialize_global_values and initialize_global_variables. - (tree_global_command::do_init): If initialize_global_variables is - not true and the variable doesn't have an explicit initializer, don't - initialize it. If we are giving it a default value, use the value - of the variable defualt_global_variable_value. - * octave.cc (maximum_braindamage): Set default_global_variable_value - and initialize_global_variables to Matlab-compatible values. - -Wed Feb 18 04:35:31 1998 John W. Eaton - - * DLD-FUNCTIONS/besselj.cc: Rename from bessel.cc. - * Makefile.in (DLD_XSRC): Likewise. - - * syscalls.cc (Fvfork): Delete. - - * oct-procbuf.cc: Just use fork. - - * parse.y (feval): Provide version that takes function name - separate from other args. - * parse.h: Declare it. - - * oct-procbuf.cc (octave_procbuf::open): Move declaration of - child_std_end outside of child scope and declare volatile. - -Mon Feb 16 15:04:28 1998 John W. Eaton - - * parse.y: Include cstdio, for SEEK_SET. - -Thu Feb 12 22:07:00 1998 John W. Eaton - - * system.c: New file. - * Makefile.in (SOURCES): Add it to the list. - -Fri Feb 6 01:23:18 1998 John W. Eaton - - * oct-stream.cc (octave_base_stream::file_number): Rename from fileno. - Change all uses. - - * fsolve.cc (fsolve_option_table): Add missing & to function names. - -Thu Feb 5 02:27:18 1998 John W. Eaton - - * dirfns.cc (Fls): If first attempt at reading process output - fails, sleep once and try again. - * toplev.cc (run_command_and_return_output): Likewise. - - * oct-procbuf.cc (octave_procbuf::open): Use vfork if it is available. - - * syscalls.cc (Fvfork): New function. - - * ov-bool-mat.cc: Only declare assign function if - CXX_NEW_FRIEND_TEMPLATE_DECL is not defined. - - * ov-base.h, ov-bool-mat.h, ov-bool.h, ov-ch-mat.h, ov-complex.h, - ov-cx-mat.h, ov-range.h, ov-re-mat.h, ov-scalar.h: Handle default - args for *_value functions consistently. - - * symtab.cc (maybe_list_cmp_fcn): Declare args as void*, not - void**, then use X_CAST. - - * OPERATORS/op-s-cm.cc: Include mx-cm-s.h. - - * defun-int.h: Include ov-builtin.h, ov-mapper.h, and symtab.h. - (install_builtin_mapper, install_builtin_function, - install_builtin_variable) Use specific types rather than void * in - declaration. - * defun.cc (install_builtin_mapper, install_builtin_function, - install_builtin_variable): Likewise. Eliminate casts. - - * load-save.cc (read_binary_data, read_mat_file_header, - save_binary_data): Use X_CAST, not static_cast. - * unwind-prot.h (unwind_protect::save_ptr): Likewise. - * Map.cc (goodCHptr, index_to_CHptr, CHptr_to_index): Likewise. - * dynamic-ld.cc (octave_dlopen_dynamic_loder::resolve_reference): - Likewise. - - * pt-mat.cc (tm_const::operator bool ()): - (tm_row_const::operator bool ()): Likewise. - * oct-stream.cc (printf_value_cache::operator bool ()): Likewise. - (scanf_format_list::operator bool ()): Likewise. - (printf_format_list::operator bool ()): Likewise. - (octave_stream::operator bool ()): Likewise. - -Wed Feb 4 13:08:29 1998 John W. Eaton - - * DLD-FUNCTIONS/minmax.cc: Include cmath, not oct-math.h. - - * syscalls.cc (Fdup2): Convert stream to actual system file id. - - * oct-stream.cc (octave_base_stream::fileno, octave_stream::fileno): - New functions. - -Tue Feb 3 00:24:44 1998 John W. Eaton - - * defaults.cc (exec_path): Append Vbin_dir to std_path. - - * octave.cc (initialize_pathsearch): Set TEXMFDBS, not TEXMF. - Look for OCTAVE_DB_PATH in environment. - Simplify using Vdata_dir and Vlibexec_dir. - - * defaults.h.in (Vdata_dir, Vlibexecdir): Declare new vars. - defaults.cc: Define them. - (set_default_data_dir, set_default_libexecdir): New functions. - (install_defaults): Call them. - - * defaults.h.in (OCTAVE_LIBEXECDIR): Define. - -Mon Feb 2 02:43:16 1998 John W. Eaton - - * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). - Use mk-libdir-link. - - * defaults.h.in (OCTAVE_OCTLIBDIR): Substitute value. - (Vlib_dir): Delete declaration. - * defaults.cc (Vlib_dir): Delete. - (set_default_lib_dir): Delete. - (install_defaults): Don't call set_default_lib_dir. - (set_default_info_prog): If oct_info_prog is empty, set default to - "info" -- we expect it to be somewhere in the user's path. - - * defun.h (DEFCONST, DEFCONSTX): Eliminate inst_as_fcn and chg_fcn - args. Always pass true for inst_as_fcn and 0 for chg_fcn to - DEFVAR when creating built-in values like `e' or `stderr' that can - be redefined. Change all uses. - - * help.cc (Ftype): Handle script files too. - (Fwhich): Likewise. - -Sat Jan 31 00:00:26 1998 John W. Eaton - - * ov-ch-mat.cc (octave_char_matrix::is_true): Make it work. - * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::is_true): - Delete. - - * load-save.cc (read_ascii_data): Allow strings of length 0. - If we don't find data on the first call, fail with error message. - (do_load): Pass count of items read to read_ascii_data. - Allow `load foo xyz' to work when foo contains only numbers. - -Fri Jan 30 23:46:42 1998 John W. Eaton - - * ov-str-mat.h (octave_char_matrix_str::all): Delete. - (octave_char_matrix_str::any): Delete. - * ov-ch-mat.h (octave_char_matrix::all, octave_char_matrix::any): - Call charMatrix::all, charMatrix::any. - -Thu Jan 29 16:25:46 1998 John W. Eaton - - * load-save.cc (read_mat_binary_data): Handle third digit of MOPT - as flag indicating row or column major ordering. - -Wed Jan 28 00:18:17 1998 John W. Eaton - - * DLD-FUNCTIONS/dassl.cc (lsode_option_table): - Add missing & to function names. - * DLD-FUNCTIONS/lsode.cc (lsode_option_table): Likewise. - * DLD-FUNCTIONS/quad.cc (quad_option_table): Likewise. - - * Makefile.in (oct-gperf.h): Add -G option to gperf. - - * load-save.cc (get_save_type): Add `UL' and `L' suffixes to large - constant values. For LS_INT, use <= and >= for comparison. - -Mon Jan 26 13:17:59 1998 John W. Eaton - - * ov-usr-fcn.cc (Vmax_recursion_depth): New static variable. - (max_recursion_depth): New fucnction - (symbols_of_ov_usr_fcn): DEFVAR max_recursion_depth. - (octave_user_function::do_index_op): Check Vmax_recursion_depth. - -Thu Jan 22 13:45:26 1998 John W. Eaton - - * dynamic-ld.cc (make_dynamic_loader): Fix typo. - -Tue Jan 20 17:02:19 1998 John W. Eaton - - * variables.cc (Fexist): If local symbol is undefined, check - global table. - - * pr-output.cc (pr_max_internal): Initial value for result is - -DBL_MAX, not DBL_MIN. - -Thu Jan 8 11:54:33 1998 John W. Eaton - - * xpow.cc (elem_xpow): If second arg of pow is complex, make sure - first arg is also complex. - - * symtab.cc (symbol_table::rename): Properly insert new item at - the front of the list to avoid losing the rest of the items. - -Thu Dec 11 23:30:03 1997 John W. Eaton - - * variables.cc (Fclear): Increment index to skip -x arg. - -Tue Dec 9 02:45:35 1997 John W. Eaton - - * Makefile.in (INCLUDES): Don't forget Pix.h. - - * BaseSLList.cc: Don't include nonstandard libg++ header files. - -Sun Nov 30 14:58:56 1997 John W. Eaton - - * pr-output.cc: Include cmath, not oct-math. - * sysdep.cc: Likewise. - - * DLD-FUNCTIONS/bessel.cc: New file. - * Makefile.in (DLD_XSRC): Add it to the list. - -Thu Nov 27 23:28:59 1997 John W. Eaton - - * lex.l (handle_string): Constructor for string class takes - (size_t, char) args, not (char, size_t). - -Wed Nov 26 00:39:34 1997 John W. Eaton - - * Makefile.in (OCTAVE_LIBS): Include $(SPECIAL_MATH_LIB) just - ahead of -lcruft. - -Thu Nov 20 15:16:22 1997 John W. Eaton - - * octave.cc (maximum_braindamage): Bind implicit_num_to_str_ok to 1. - * pt-mat.cc (Vimplicit_num_to_str_ok): New static variable. - (implicit_num_to_str_ok): New function. - (symbols_of_pt_mat): DEFVAR implicit_num_to_str_ok. - (tm_row_const::some_str): New data member. - (tm_row_const::some_strings_p): New function. - (tm_row_const::init): Set some_str. - (tm_const::some_str): New data member. - (tm_const::some_strings_p): New function. - (tm_const::init): Set some_str. - (tree_matrix::eval): If Vimplicit_num_to_str_ok is true and some - of the elements are strings, force a string conversion before - returning. - - * parse.y (fold, finish_colon_expression, finish_matrix): - If an error occurs, return the original expression. - Use unwind_protect to restore error_state. - - * ov-ch-mat.h (octave_char_matrix::convert_to_str): Result is - char_matrix_str, not just char_matrix. - -Wed Nov 19 02:05:40 1997 Mumit Khan - - * DLD-FUNCTIONS/filter.cc: Don't include extern template decls if - CXX_NEW_FRIEND_TEMPLATE_DECL is defined. - * ov-cx-mat.cc: Likewise. - * ov-re-mat.cc: Likewise. - * ov-str-mat.cc: Likewise. - - * ov-cx-mat.h (octave_complex_matrix::decrement, - octave_complex_matrix): Use explicit Complex constructor. - -Wed Nov 19 00:08:13 1997 John W. Eaton - - * pt-decl.cc (tree_global_command::do_init): Initialize global - values to `[]'. Only perform explicit initialization once. - -Tue Nov 18 04:27:55 1997 John W. Eaton - - * pr-output.cc (Vfixed_point_format): New variable. - (fixed_point_format): New fucntion. - (symbols_of_pr_output): Add DEFVAR for fixed_point_format. - (set_real_matrix_format): Handle fixed point format - (set_complex_matrix_format): Handle fixed point format - (set_format): New arg, scale in Matrix, ComplexMatrix, Range versions. - (pr_scale_header): New function. - (octave_print_internal): Handle fixed point format in Matrix, - ComplexMatrix, and Range versions. - * octave.cc (maximum_braindamage): Set fixed_point_format to 1.0. - - * utils.cc (do_string_escapes): Move here, from lex.l. - Arg is now const string& instead of char*. - Return new string object instead of modifying arg in place. - (Fdo_string_escapes): New function. - * lex.l (handle_string): Use new version of do_string_escapes. - - * lex.l (Vbackslash_escapes): Delete. - (backslash_escapes): Delete. - (do_string_escapes): Undo previous change. - (eat_whitespace, eat_continuation): Undo previous change. - (handle_string): Undo previous change. - (symbols_of_lex): Undo previous change. - * octave.cc (maximum_braindamage): Undo previous change. - -Fri Nov 14 01:53:13 1997 John W. Eaton - - * parse.y (eval_string (const string&, bool, int&, int)): No - longer static. - * parse.h: Provide declaration. - * input.cc (get_user_input (const octave_value_list&, bool, int)): - New arg, nargout. Pass it to eval_string. - (keyboard): Pass nargout = 0 to get_user_input. - (input): Pass nargout to get_user_input. - - * input.cc (get_user_input (const octave_value_list&, bool)): - Return octave_value_list() if user enters `quit', `exit', or `return'. - If debugging, let eval_string handle the printing chores and - reset error_state before asking for more input. - - * input.cc (Fkeyboard): Unconditionally turn on history here. - - * lex.l (have_continuation, have_ellipsis_continuation): Declare - arg as bool, not int. Change callers. - - * lex.l (Vbackslash_escapes): New static variable. - (backslash_escapes): New function. - (do_string_escapes): Return immediately if ! Vbackslash_escapes. - (eat_whitespace, eat_continuation): Only call have_continuation if - Vbackslash_escapes. - (handle_string): Backslash is only special if Vbackslash_escapes. - (symbols_of_lex): Add DEFVAR for backslash_escapes. - * octave.cc (maximum_braindamage): Set backslash_escapes to 0. - -Thu Nov 13 16:20:40 1997 John W. Eaton - - * variables.cc (Fexist): Also return 2 if NAME is a regular file - somewhere in the LOADPATH. - - * data.cc (sumsq): Fix doc string. - - * parse.y (Fsource): Call parse_fcn_file, not parse_and_execute. - -Tue Oct 7 16:51:01 1997 John W. Eaton - - * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Set installed to true - after installing the function. - -Thu Sep 25 10:17:26 1997 John W. Eaton - - * DLD-FUNCTIONS/filter.cc (Ffilter): Return second output value - even when called with only 3 arguments. - -Mon Sep 22 16:44:27 1997 John W. Eaton - - * DLD-FUNCTIONS/rand.cc (do_rand): Print error if first of two - args is a string but doesn't match "seed". - (Frand, Frandn): Fix doc string. - -Mon Aug 25 10:42:07 1997 John W. Eaton - - * input.cc (get_user_input): Return an empty string if the user - just types RET. - -Thu Jul 31 22:59:04 1997 John W. Eaton - - * lex.l : Ensure that we handle words that begin with - single or double quotes as strings. - -Thu Jul 17 13:06:48 1997 Klaus Gebhardt - - * DLD-FUNCTIONS/rand.cc (Frand): Use F77_XFCN to call getsd, - setsd, setall, setcgn, dgenunf, and dgennor since they can call - XSTOPX. - -Mon Jul 14 12:54:23 1997 John W. Eaton - - * dynamic-ld.cc (octave_dynamic_loader::load_fcn_from_dot_oct_file): - If first attempt to load function fails, prepend and underscore - and try again. - - * Makefile.in (install-inc): If defaults.h, oct-conf.h, or - oct-gperf.h don't exist in the current directory, look in $(srcdir). - -Mon Jul 7 21:14:07 1997 John W. Eaton - - * DLD-FUNCTIONS/qr.cc (Fqr): Correctly handle nargout == 0. - -Wed Jul 2 16:47:09 1997 John W. Eaton - - * matherr.c: New file. Move matherr function here. - * sysdep.cc: From here. - * Makefile.in (DIST_SRC): Add matherr.c to the list. - - * error.cc (handle_message): Avoid bug in g++ snapshot. - -Thu Jun 26 22:04:09 1997 John W. Eaton - - * utils.cc (file_in_path): Add default load path to PATH arg if - it begins or ends with a colon. - -Wed Jun 25 13:31:06 1997 John W. Eaton - - * oct-lvalue.h (octave_lvalue::struct_elt_ref): Ensure val is unique. - -Fri Jun 20 12:33:35 1997 John W. Eaton - - * toplev.cc (cmd_death_handler): New function. - (run_command_and_return_output): Insert pid of command in - octave_child_list along with pointer to cmd_death_handler so we - can get the exit status without having to block SIGCHLD. - (cleanup_iprocstream): Remove pid of command from octave_child_list. - -Sun Jun 15 16:11:13 1997 John W. Eaton - - * OPERATORS/op-cs-s.cc (ldiv): Doh, v1 is complex, v2 is real. - - * Makefile.in (DISTFILES): Add mkops to the list. - (dist): Correctly link files in DLD-FUNCTIONS, OPERATORS, and - TEMPLATE-INST subdirectories. - -Fri Jun 6 04:30:57 1997 John W. Eaton - - * DLD-FUNCTIONS/npsol.cc, DLD-FUNCTIONS/qpsol.cc, - DLD-FUNCTIONS/fsqp.cc: Delete. - * Makefile.in (DLD_XSRC): Remove them from the list. - - * utils.cc (search_path_for_file): New arg, do_tilde_expansion. - If TRUE, perform tilde expansion on path before searching. - (file_in_path): Call search_path_for_file with do_tilde_expansion - set to false, since we've already performed tilde expansion on the - load path. - - * defaults.cc (loadpath): Perform tilde expansion here. - -Thu Jun 5 01:42:39 1997 John W. Eaton - - * Makefile.in: Make building of static library optional. - (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. - - * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): - Call shl_findsym with type set to TYPE_UNDEFINED. - - * Makefile.in (stamp-picdir): Delete. - (pic): New target. Don't worry so much about creating pic - directory only when it is really needed. - (stamp-interp): Delete. - (libraries): New target. Depend on shared library directly. - -Wed Jun 4 00:09:42 1997 John W. Eaton - - * octave.cc (main): Call dir_path::set_program_name here. - -Tue Jun 3 16:47:34 1997 John W. Eaton - - * variables.cc (symbol_out_of_date): Make it work again. - - * parse.y (parse_and_execute): Move here from toplev.cc - (default_eval_print_flag): Likewise. - (safe_fclose): Likewise. - (eval_string): Likewise. - (Fsource): Likewise. - (Ffeval): Likewise. - (feval): Likewise. - (Feval): Likewise. - (symbols_of_parse): Define default_eval_print_flag here instead of - in varaibles.cc. - (looks_like_octave_copyright): Move here from variables.cc - (gobble_leading_whitespace): Likeiwse. - (is_function_file): Likewise. - (restore_input_stream): Likewise. - (parse_fcn_file): Likewise. - (load_fcn_from_file): Likewise. - (get_help_from_file): Likewise. - - * toplev.cc (syms_of_toplev): Define argv, program_name, and - program_invocation_name here instead of in variables.cc. - - * parse.h (line_editing): Move here from toplev.h. Now bool, not int. - (reading_startup_message_printed) Likewise. - (input_from_startup_file): Likewise. - (input_from_command_line_file): Likewise. - - * load-save.cc: Use bool instead of int where appropriate. - - * input.h (enum echo_state): Move here from variables.h. - (Vecho_executing_commands): Likewise. Now bool, not int. - * input.cc (echo_executing_commands): Move here from variables.cc. - (symbols_of_input): Define echo_executing_commands here instead of - in variables.cc. - - * octave.cc (program_invocation_name): Don't define. - (intern_argv): Don't set program_invocation_name here. - (main): Call octave_env::set_program_name here, not in intern_argv. - - * toplev.cc (quitting_gracefully): Move here from octave.h and - make static bool instead of extern int. - - * error.cc (bind_global_error_variable, clear_global_error_variable): - Move here from variables.cc. - (symbols_of_error): Define error_text here instead of in variables.cc. - - * pager.cc (write_to_diary_file): Now bool, not int. - (really_flush_to_pager): Likewise. - (flushing_to_pager): Likewise. - * sighandlers.h (can_interrupt): Likewise. - * error.h (buffer_error_messages): Likewise. - * oct-hist.h (input_from_tmp_history_file, Vsaving_history): Likewise. - * input.h (forced_interactive): Likewise. - (get_input_from_eval_string): Likeiwse. - (reading_script_file): Likeiwse. - (reading_fcn_file): Likeiwse. - (interactive): Likewise. - - * unwind-prot.cc (saved_variable::saved_variable (bool *, bool)): - Set type_tag to boolean, not int. - -Mon Jun 2 00:40:10 1997 John W. Eaton - - * variables.h (Octave_builtin_fcn): Delete typedef. - - * help.cc (make_name_list): Move here from variables.cc. - (keyword_help, names): Now static. - (struct help_list): Move declaration here from help.h. - - * oct-hist.cc (Vhistory_file, Vhistory_size, Vsaving_history): - Move here from variables.cc. - (symbols_of_oct_hist): New function. - - * version.h: Protect against multiple inclusion. - - * defun.cc (check_version): New function. - * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Use it. - - * help.h, help.cc (additional_help_message): Now extern. - (operator_help): Now static. - - * defun.cc (print_usage): Move here from help.cc - * DLD-FUNCTIONS/*.cc, data.cc, dirfns.cc, file-io.cc, input.cc, - load-save.cc, octave.cc, ov-list.cc, ov-typeinfo.cc, - ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-plot.cc, strfns.cc, - syscalls.cc, sysdep.cc, utils.cc, toplev.cc: - Don't include help.h. - - * TEMPLATE-INST/Array-sym.cc: New file. - - * load-save.cc (do_load): Don't use ostream::form. - * pr-output.cc: Likewise, at least where it is easy to do so. - * oct-stream.cc: Ditto. - - * symtab.h (symbol_record::symbol_def::rows): New function. - (symbol_record::symbol_def::columns): Ditto. - (symbol_record::symbol_def::type_name): Ditto. - (symbol_record::rows): Ditto - (symbol_record::columns): Ditto - (symbol_record::type_name): Ditto - - * symtab.h, symtab.cc (symbol_record::hides_fcn): New function. - (symbol_record::hides_builtin): Ditto. - (symbol_record::print_symbol_info_line): Ditto. - (symbol_table::long_list): Delete. - (symbol_table::symbol_list): New function. - (symbol_table::maybe_list): Delete argc arg. - (symbol_table::name_list): Rename from symbol_table::list. - Change all callers. - - * symtab.h, symtab.cc (class symbol_record_info): Delete. - - * symtab.cc (matches_patterns): Use vector form of glob_match. - -Sun Jun 1 14:04:26 1997 John W. Eaton - - * pt-check.h, pt-check.cc: New files, for semantic checking of - parse trees. - - * symtab.h (class symbol_def): Now nested in symbol_record class. - (enum TYPE): Move from symbol_def to symbol record class. Change - all uses. - - * symtab.h, symtab.cc (symbol_table::maybe_list): New function, - from variables.cc. Change all uses. - - * pt-idx.h (tree_identifier::lvalue_ok): New function. - * pt-id.h (tree_index_expression::lvalue_ok): Likewise. - * pt-indir.h (tree_indirect_ref::lvalue_ok): Likewise. - - * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_oct_obj): Delete. - * pt-walk.h (tree_walker::visit_oct_obj): Delete declaration. - - * lex.h (class lexical_feedback): Delete maybe_screwed_again. - * lex.l (lexical_feedback::init): Don't set it. - -Fri May 30 16:07:22 1997 John W. Eaton - - * mappers.cc: Include here. - -Tue May 27 10:08:43 1997 John W. Eaton - - * toplev.cc (eval_string): Don't index tmp if it is empty. - -Sat May 24 00:18:41 1997 John W. Eaton - - * load-save.cc (valid_identifier): Move here and make static. - * symtab.h, symtab.cc (valid_identifier): Delete declaration and - definition. - -Fri May 23 22:54:28 1997 John W. Eaton - - * symtab.h (symbol_def::symbol_def): Use initializer list instead - of calling init_state. - (symbol_def::init_state): Delete. - - * symtab.cc (symbol_table::print_stats): New function. - * variables.cc (F__dump_symtab_info__): New function. - - * symtab.h, symtab.cc (symbol_table::hash): Return masked value. - (symbol_table::table_size): New data member. - (symbol_table::symbol_table): Set size of table in constructor. - (HASH_TABLE_SIZE): Replace uses with table_size. - (HASH_MASK): Delete. - * variables.cc (initialize_symbol_tables): Set top-level and - global symbol table sizes here. - -Thu May 22 13:32:55 1997 John W. Eaton - - * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): - Call shl_findsym with type set to TYPE_PROCEDURE. Pass the - address of the pointer we want to define. - -Wed May 21 16:30:25 1997 John W. Eaton - - * DLD-FUNCTIONS/time.cc (extract_tm): Avoid memory leak in dealing - with time zone. - - * Makefile.in (install-in): Use new mk-includedir-link macro. - (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. - -Tue May 20 01:24:11 1997 John W. Eaton - - * ov-list.cc (Flist): Rename from Fmake_list. - -Mon May 19 14:45:58 1997 John W. Eaton - - * octave.cc (maximum_braindamage): Set default_eval_print_flag to 0. - -Sat May 17 16:32:23 1997 John W. Eaton - - * defaults.cc (set_default_editor): Default is now Emacs, not vi. - -Fri May 16 00:07:11 1997 John W. Eaton - - * pt-idx.cc (tree_index_expression::name): New function. - - * pt.cc (tree::str_print_code): New file, new convenience function. - * pt-arg-list.cc (tree_argument_list::get_arg_names): Use it. - * pt-assign.cc (tree_simple_assignment::rvalue): Likewise. - (tree_multi_assignment::rvalue): Likewise. - - * pt-colon.h (tree_colon_expression::save_base): New data memmber. - (tree_colon_expression::preserve_base): New function. - * parse.y (finish_colon_expression): When converting to a simple - expression, be sure to delete the original colon expression but - not the base value. - - * pt-mat.cc (tree_matrix::~tree_matrix): Actually do something. - - * pt-all.h: New file. - * parse.y, lex.l, pt-pr-code.cc: Use it. - - * pt.h: Rename from pt-base.h. - - * All parse tree classes: Add private copy constructors and - assignment operators to prevent copying. - - * pt-base.cc: Delete. - - * unwind-prot.h, unwind-prot.cc: Make a bit more object-oriented. - Change all uses of unwind_protect stuff to match. - - * pt-jump.h, pt-jump.cc (breaking, continuing, returning): - Make these flags static members of the corresponding class. - Change all uses. - - * pt-assign.cc (tree_simple_assignment_expression::eval, - tree_multi_assignment_expression::eval): Clear lvalue index here. - - * oct-lvalue.cc (octave_lvalue::assign): Don't clear index here. - * oct-lvalue.h (octave_lvalue::clear_index): New function. - (octave_lvalue::set_index): Rename from octave_lvalue::index. - Change all callers. - -Thu May 15 11:48:10 1997 John W. Eaton - - * pt-select.h, pt-select.cc (class tree_if_command_list, - class tree_if_clause, class tree_switch_case_list, - class tree_switch_case): Move here from pt-misc.h, pt-misc.cc. - * pt-decl.h, pt-decl.cc (class tree_decl_init_list, - class tree_decl_elt): Move here from pt-mist.h, pt-misc.cc - - * pt-arg-list.h, pt-stmt.h: New files, extracted from pt-misc.h. - * pt-arg-list.cc, pt-stmt.cc: New files, extracted from pt-misc.cc. - - * pt-decl.h, pt-except.h, pt-jump.h, pt-loop.h, pt-select.h: - New files, extraced from pt-cmd.h. - * pt-decl.cc, pt-except.cc, pt-jump.cc, pt-loop.cc, pt-select.cc: - New files, extraced from pt-cmd.cc. - - * pt-unop.h, pt-binop.h, pt-colon.h, pt-idx.h, pt-assign.h: - New files, extracted from pt-exp.h - * pt-unop.cc, pt-binop.cc, pt-colon.cc, pt-idx.cc, pt-assign.cc: - New files, extracted from pt-exp.cc - * pt-exp.h, pt-exp.cc: Rename from pt-exp-base.h, pt-exp-base.cc. - - * oct-lvalue.h: Rename from oct-var-ref.h. Rename class from - octave_variable_reference to octave_lvalue. Change all uses. - * oct-lvalue.cc: Rename from oct-var-ref.cc. - - * variables.cc (bind_ans): Only bind ans and print result if value - is defined. - - * defun.cc: New file. Move functions for installing objects in - the symbol table here from variables.cc. - - * oct-obj.h, oct-obj.cc: Add custom allocator, fwiw. - - * toplev.cc (main_loop): Correctly increment command number. - - * TEMPLATE-INST/SLList-tm.cc: Don't instantiate lists of pointers - to tree_matrix_row objects. - * TEMPLATE-INST/SLList-misc.cc: Do instantiate lists of pointers - to tree_argument_list objects. - - * DLD-FUNCTIONS/dassl.cc: Update to use new octave_function - interface to user-supplied functions. - * DLD-FUNCTIONS/fsolve.cc: Likewise. - * DLD-FUNCTIONS/lsode.cc: Likewise. - * DLD-FUNCTIONS/npsol.cc: Likewise. - * DLD-FUNCTIONS/quad.cc: Likewise. - - * dynamic-ld.h, dynamic-ld.cc (builtin_fcn_installer typedef): - Rename from builtin_fcn. - (octave_dynamic_loader::load_fcn_from_dot_oct_file): - Simplify by using new installer function defined by DEFUN_DLD. - - * defun-dld.h (DEFUN_DLD): Use DEFINE_FUN_INSTALLER_FUN instead of - DEFINE_FUN_STRUCT_FUN. - * defun.h (DEFUN_MAPPER): Use DEFUN_MAPPER_INTERNAL. - * defun-int.h (DEFVAR_INTERNAL): Rename from DEFVAR_INT and move - here from defun.h. Change all uses. - (DEFUN_MAPPER_INTERNAL): New macro. - (DEFINE_FUN_INSTALLER_FUN): New macro to define function that the - dynamic loader calls to do all the work of installing a new function. - (DEFINE_FUN_STRUCT_FUN): Delete. - - * parse.y: Rewrite to handle more general expressions. - * lex.l: Corresponding changes. - - * pt-walk.h, pt-pr-code.h, pt-pr-code.cc: Cope with new parse tree - object structure. - - * pt-misc.cc (class tree_for_command): Split into - tree_simple_for_command and tree_complex_for_command classes. - - * pt-misc.h, pt-misc.cc (tree_statement::eval): Handle identifier - lookup and printing and binding ans here. - (tree_statement_list::eval): Simplify. - (tree_argument_list::all_elements_are_constant): New function. - (class tree_decl_elt): Now contains id and expr, not an assignment - expression. - - * pt-exp-base.h pt-exp.h pt-id.h pt-indir.h pt-mat.h pt-const.h, - pt-exp-base.cc pt-exp.cc pt-id.cc pt-indir.cc pt-mat.cc pt-const.cc: - Replace eval functions with rvalue and lvalue functions. - Change all uses. - (lvalue_ok, rvalue_ok): New functions, for future compile-time - semantic checks. - - * oct-var-ref.h (is_defined, is_map): New functions. - - * pt-exp.h (class tree_oct_obj): Delete. - - * variables.cc (extract_function, is_valid_function): Return - pointer to octave_function, not octave_symbol. - (link_to_global_variable): Rewrite. Handle errors in - symbol_record::mark_as_linked_to_global. - - * symtab.h, symtab.cc (class symbol_def, class symbol_record): - Symbols are now stored as octave_value objects only. - - * ov.cc (install_types): Register function types here. - * ov-fcn.h, ov-fcn.cc, ov-builtin.h, ov-builtin.cc, ov-mapper.h, - ov-mapper.cc, ov-usr-fcn.h, ov-usr-fcn.cc: New classes for - functions as values. - * ov.h (class octave_value): Don't derive from octave_symbol. - * oct-fcn.h, oct-fcn.cc, oct-builtin.h, oct-builtin.cc, - oct-mapper.h, oct-mapper.cc, oct-usr-fcn.h, oct-usr-fcn.cc, - oct-sym.h, oct-sym.cc: Delete. - -Sun May 11 17:51:22 1997 John W. Eaton - - * help.cc (Ftype): Make it work again for functions. - - * pt-pr-code.cc (tree_print_code::print_parens): New function. - Use it in other tree_print_code functions to handle printing all - the parens that we found when parsing the expression, not just one - pair. - * pt-exp-base.h (tree_expression::paren_count): Rename from - is_in_parens. - * parse.y (maybe_warn_assign_as_truth_value): Use new name. - - * parse.y (constant): New non-terminal. - (simple_expr1): Use it. - - * parse.y (make_unary_op): Delete. - (simple_expr1): Where appropriate, use make_prefix_op and - make_postfix_op instead of make_unary_op. Allow increment and - decrement ops to work on expressions, not just identifiers. - (make_prefix_op, make_postfix_op): Arg is expression, not identifier. - Handle old unary_op cases too. - (fold (tree_unary_expression *)): Delete. - * pt-exp.h, pt-exp.cc (tree_prefix_expression::eval): Handle unary - minus and not here. - (tree_postfix_expression::eval): Likewise, for transpose and hermitian. - (class tree_prefix_expression, class tree_postfix_expression): - Derive from tree_unary_expression. Delete identifier member. - Delete ident member function. - (tree_unary_expression): Don't handle evaluation here. - * pt-exp-base.h (mark_in_parens): No longer virtual. Return this. - (reference): New virtual function. - (class tree_expression): Don't handle expression type here. - * pt-mvr-base.h (tree_multi_val_ret::tree_multi_val_ret): Likewise. - * pt-mvr.h, pt-mvr.cc (tree_multi_assignment_expression): Likewise. - * pt-walk.h (visit_unary_expression): Delete declaration. - * pt-pr-code.h, pt-pr-code.cc (visit_unary_expression): Delete. - (visit_prefix_expression): Use operand(), not ident(). - new, visit_postfix_expression): - * pt-id.h, pt-id.cc (increment, decrement): Delete. - - * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Get a - reference to each element and use the assignment operator instead - of tree_identifier::define. - * pt-id.h, pt-id.cc (tree_identifier::define): Delete versions - that take octave_value and octave_symbol args. - -Sat May 10 23:32:13 1997 John W. Eaton - - * pt-indir.h, pt-indir.cc (tree_indirect_reference::value): Delete. - - * oct-var-ref.cc (octave_variable_ref::assign): Clear idx after - assignment. - - * octave_value classes: Add is_constant, is_function, and - function_value functions. - - * ov.h, ov.cc (assign): Return void, not reference to octave_value. - (do_index_op): Rename, from index. - (do_struct_elt_index_op): Rename, from struct_elt_val. - Add version that accepts index arg. - Change all uses and derived classes to match. - * pt-const.h (index): Delete. - * oct-var-ref.h, oct-var-ref.cc (value): Handle indexed structure - ops here too. - -Fri May 9 07:40:59 1997 John W. Eaton - - * pt-exp.cc (print_rhs_assign_val, symbols_of_pt_exp): New functions. - (Vprint_rhs_assign_val): New static variable. - (tree_simple_assignment_expression::eval): Use it to optionally - allow the rhs (which is the result) of an assignment to be printed - instead of the left. - - * pt-exp.cc (tree_simple_assignment_expression::eval): Use new - octave_variabl_reference::index function to handle indexing. - - * oct-var-ref.h, oct-var-ref.cc (idx): New data member. - (octave_variable_reference::index): Set it. - (octave_variable_reference::assign): Handle indexing here. - Delete version of this function htat takes index arg. - - * variables.h (struct builtin_varaible): Delete. - * variables.cc (install_builtin_variable): Take all elts of - builtin_variable struct directly. - * defun.h (DEFVAR_INT): Call install_builtin_variable directly. - - * symtab.h, defun-int.h: Don't include variables.h. - - * symtab.h (symbol_record::sv_function): Move typedef here. - * variables.h: From here. - - * oct-var-ref.h, oct-var-ref.cc: New files for - octave_variable_reference class, extracted from variables.h and - variables.cc - * Makefile.in: Add them to the appropriate lists. - - * oct-obj.h (octave_value_list::empty): New function. - - * variables.h (class octave_variable_reference): Rewrite to work - as a proxy class to store a pointer to octave_value and, - optionally, the change function to call and the name of the - structure element we are referencing. Handle assignment, - increment, decrement, and value operations. - -Thu May 8 23:40:59 1997 John W. Eaton - - * ov-re-mat.h, ov-re-mat.cc (struct_elt_ref, struct_elt_val, - assign_struct_elt): Provide functions for looking up and setting - matrix dimensions. - - * symtab.cc (symbol_record::define): Don't call sv_fcn here. - Don't save and restore value here. - (symbol_record::define_builtin_var): Do call sv_fcn here. - (symbol_record::variable_reference): Don't make value unique here. - Return pointer to sv_fcn in octave_variable_reference. - - * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): - Simplify. - - * pt-id.h, pt-id.cc (tree_identifier::reference): Return - octave_variable_reference, not octave_value&. - * symtab.h, symtab.cc (symbol_record::variable_reference): Ditto. - * pt-indir.h, pt-indir.cc (tree_indirect_ref::reference): Ditto. - Simplify too. - - * pt-const.h (tree_constant::reference, tree_constant::value, - tree_constant::assign): Delete unnecessary functions. - * pt-id.h, pt-id.cc (tree_identifier::assign): Ditto. - - * pt-cmd.cc (tree_for_command::do_for_loop_once): Simplify. - - * ov.h, ov.cc, ov-base.h, ov-base.cc, ov-struct.h, ov-struct.cc - (struct_elt_ref): New arg, octave_value* parent. - Allow deferred lookup. Return octave_variable_reference, not - octave_value&. - - * ov.h, ov.cc, ov-re-mat.h, ov-re-mat.cc (assign_struct_elt): - New virtual functions. - - * ov.h, ov.cc (Vresize_on_range_error): Now static. - - * pt-mvr.cc (tree_index_expression::eval): Delete redundant check - of error_state. - -Wed May 7 21:17:00 1997 John W. Eaton - - * input.cc (generate_completion): Rename from command_generator. - Use string objects instead of char*. - (generate_possible_completions): Let qsort also make matches unique. - (initialize_command_input): Register generate_completion with the - command_editor class. - (completion_matches): Simplify using generate_completion. - - * pt-pr-code.cc (tree_print_code::visit_constant): For val, call - print_raw, not print. - - * oct-usr-fcn.h (octave_user_function::argn_sr): New data member. - (octave_user_function::install_automatic_vars): Rename from - install_nargin_and_nargout. - (octave_user_function::bind_automatic_vars): Rename from - bind_nargin_and_nargout. - * oct-usr-fcn.cc (octave_user_function::eval): Extract arg names - from args vector and bind them to argn. - * oct-obj.h (octave_value_list::names): New data member. - * oct-obj.cc (octave_value_list::stash_name_tags): New function. - (octave_value_list::name_tags): Ditto. - * pt-const.h, pt-const.cc (tree_constant::print_raw): New function. - * pt-misc.h, pt-misc.cc (tree_argument_list::get_arg_names): - New function. - * pt-mvr.h, pt-mvr.cc (class index_expression): Cache arg names. - * toplev.cc (feval): Now static. Handle arg names. - - * mkops: Cope with moving files defining operators to OPERATORS - subdirectory. - -Tue May 6 00:48:59 1997 John W. Eaton - - * DLD-FUNCTIONS/getgrent.cc: Use new octave_group class. - * DLD-FUNCTIONS/getpwent.cc: Use new octave_passwd class. - - * syscalls.cc: Simplify by using new functions defined in - liboctave/oct-syscalls.cc. - - * file-io.cc (Ftmpnam): Accept DIR and PREFIX args. - -Mon May 5 00:54:03 1997 John W. Eaton - - * ov-str-mat.cc (octave_char_matrix_str::print_name_tag): Print - empty strings on one line. - - * DLD-FUNCTIONS, OPERATORS, and TEMPLATE-INST: New subdirectories. - Move appropriate files to new directories. - * Makefile.in: Add DLD-FUNCTIONS, OPERATORS, and TEMPLATE-INST - directories to VPATH. Fix rules to work with new directory - structure. - -Sun May 4 22:40:45 1997 John W. Eaton - - * input.cc (initialize_command_input): Rename from - initialize_readline. - (gnu_readline, octave_gets, get_user_input): Simplify, return - string, not char *. - - * Many of other files: Miscellaneous changes to go along with the - changes described in the liboctave/ChangeLog for May 4. More code - moved from here to liboctave. - -Fri May 2 19:50:33 1997 John W. Eaton - - * pathlen.h: Move to ../liboctave. - -Thu May 1 21:50:44 1997 John W. Eaton - - * variables.cc (get_struct_elts): New fucntion. - (looks_like_struct, generate_struct_completions): Move here from - input.cc, rewrite, and make work again. - -Wed Apr 30 00:24:05 1997 John W. Eaton - - * ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h, - ov-ch-mat.cc, ov-ch-mat.h, ov-complex.cc, ov-complex.h, - ov-cx-mat.cc, ov-cx-mat.h, ov-file.cc, ov-file.h, ov-list.cc, - ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, - ov-scalar.h, ov-str-mat.cc, ov-struct.cc, ov.h (scalar_value): - New function. Same as double_value, but name is consistent with - octave_scalar class. - - * op-fil-b.cc, op-fil-cm.cc, op-fil-lis.cc, op-fil-rec.cc, - op-fil-str.cc, op-fil-bm.cc, op-fil-cs.cc, op-fil-m.cc, - op-fil-s.cc: New files. - - * ops.h (ASSIGNOPDECL, DEFASSIGNOP, DEFASSIGNOP_FN, CONVDECL, - DEFCONV, BINOPDECL, DEFBINOPX, DEFBINOP, DEFBINOP_OP, DEFBINOP_FN, - BINOP_NONCONFORMANT): New macros. - * op-b-b.cc, op-bm-bm.cc, op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, - op-cm-s.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc, - op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-s-cm.cc, - op-s-cs.cc, op-s-m.cc, op-s-s.cc, op-str-str.cc: Use them. - - * Makefile.in (octave): Also depend on ops.o. - - * builtins.h: Delete. - * octave.cc: Add extern declaration here. - - * mappers.h: Delete. - * Makefile.in (INCLUDES): Delete from list. - * mkbuiltins: Add extern declaration in builtins.cc. - - * mkops: New file. - * ops.cc: Delete. - * Makefile.in (SOURCES): Delete from the list. - (ops.cc): New target. - (OP_SOURCES): New list. Move all op-*.cc files here from SOURCES. - Add $(OP_SOURCES) to SOURCES list. - - * variables.cc (symbols_of_variables): No longer static. - * ov.cc (symbols_of_ov): Rename from symbols_of_value. - - * ov-base.h: Delete declaration for install_base_type_conversions. - * op-b-b.h, op-bm-bm.h, op-cm-cm.h, op-cm-cs.h, op-cm-m.h, - op-cm-s.h, op-cs-cm.h, op-cs-cs.h, op-cs-m.h, op-cs-s.h, - op-m-cm.h, op-m-cs.h, op-m-m.h, op-m-s.h, op-s-cm.h, op-s-cs.h, - op-s-m.h, op-s-s.h, op-str-str.h: Delete. - * Makefile.in (INCLUDES): Delete them from the list. - -Tue Apr 29 22:27:49 1997 John W. Eaton - - * variables.h, variables.cc (install_builtin_variables): Delete. - * mkbuiltins: Also generate install_builtin_variables function. - * Makefile.in: Fix rule to call mkbuiltins with correct args. - (clean): Also delete def-files and var-files. - * defaults.h.in, dirfns.h, error.h, file-io.h, help.h, input.h, - lex.h, load-save.h, oct-usr-fcn.h, pager.h, parse.h, pr-output.cc, - pr-output.h, pt-mat.h, pt-misc.h, pt-plot.h, toplev.h: - Delete declarations of symbols_of_* functions. - * data.h, syscalls.h: Delete. - - * pr-output.cc (octave_print_internal): Leave printing of final - new line up to the caller. - - * ov.h, ov.cc (reset_indent_level, increment_indent_level, - decrement_indent_level, newline, indent, reset, - curr_print_indent_level, beginning_of_line): - New functions and static data to manage indent level for printing. - (print_as_scalar): Delete. - (print, print_with_name): Always require stream arg. - Change all callers. - - * oct-stream.h (octave_stream::input_stream): Make publicly available. - (octave_stream::output_stream): Likewise. - - * ov-base.h, ov-base.cc, ov.h, ov.cc, ov-file.h ov-base.h - (is_file, stream_value, stream_number): New functions. - * ov-file.h, ov-file.cc: New files for value class to manage files. - * file-io.cc (symbols_of_file_io): Define stdin, stdout, and - stderr as octve_file objects, not just integers. - (Ffopen, Fpopen): Return octave_file objects, not integer file ids. - * syscalls.cc (Fpipe): Likewise. - * oct-stream.h, oct-stream.cc (octave_stream_list::insert): - Return octave_file object, not integer file id. - - * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-ch-mat.cc, - ov-complex.cc, ov-cx-mat.cc, ov-file.cc, ov-list.cc, ov-range.cc, - ov-re-mat.cc, ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov.cc - (print_name_tag, print_raw): New functions. - - * help.cc (Ftype): Don't cast symbol definition to tree_constant *. - - * variables.cc (link_to_global_variable): Don't try to define - symbol with tree_constant objects. - (bind_ans): Call symbol_record::define directly and then - octave_value::print_with_name instead of creating a temporary - assignment expression. - - * pt-pr-code.cc (tree_print_code::indent): Don't use ostream::form. - - * pt-exp-base.h, pt-exp.h, pt-exp.cc (oper): Return string, not - char *. Change all where necessary. - -Mon Apr 28 16:33:49 1997 John W. Eaton - - * ov.h (octave_value binary_op enum): Add lshift and rshift. - (octave_value assign_op enum): Add lshift_eq and rshift_eq. - * ov.cc (assign_op_as_string, binary_op_as_string): Include them. - * parse.y (LSHIFT_EQ RSHIFT_EQ LSHIFT RSHIFT): New tokens. - Add them to the precedence list. - (simple_expr): Add new operators. - (make_assign_op, make_binary_op): Handle new operators. - * lex.l: Recognize new operators. - - * lex.l: Recognize them. - -Sun Apr 27 20:17:49 1997 John W. Eaton - - * pt-misc.cc (Vsilent_functions, silent_functions): - Move here from oct-usr-fcn.cc. - (symbols_of_pt_misc): New function. DEFVAR silent_functions. - (tree_statement_list::eval): Handle Vsilent_functions here instead - of in octave_user_function::eval. - (tree_statement::eval): New functions. - (tree_statement_list::eval): Use them. - Change print flag arg to silent flag. Change all callers. - * variables.cc (install_builtin_variables): Call symbols_of_pt_misc. - * toplev.cc (parse_and_execute): Delete print arg. Change all callers. - (eval_string): Change print flag arg to silent flag. Change callers. - - * dynamic-ld.h, dynamic-ld.cc: Rewrite to use singleton class. - * variables.cc (load_fcn_from_file): Use new dynamic linking class. - - * dynamic-ld.h (Octave_builtin_fcn): Delete typedef. - * dynamic-ld.cc: Simplify via the magic of function pointers. - - * pt-fcn.h pt-fcn.cc pt-fvc.h pt-fvc.cc pt-fvc-base.h pt-fvc-base.cc: - Delete obsolete files. - * Makefile.in: Remove them from various lists. - - * pt-walk.h (visit_octave_user_function): Rename from visit_function. - (visit_builtin): Delete. - * pt-pr-code.h, pt-pr-code.cc (visit_octave_user_function): - Rename from visit_function. - (visit_octave_user_function_header): Rename from visit_function_header. - (visit_octave_user_function_trailer): Rename from - visit_function_trailer. - - * ov.h, ov.cc (eval): New functions. - - * dassl.cc, fsolve.cc, lsode.cc, npsol.cc, qpsol.cc, quad.cc: - Declare user-defined functions as a pointer to an octave_symbol - object, not as a pointer to a tree_fvc object. - - * symtab.h, symtab.cc: Use new octave_symbol class. - * variables.cc (install_builtin_function, install_builtin_mapper, - install_builtin_variable, install_builtin_variable_as_function): - Make work with new octave_symbol class and symbol table structure. - - * variables.h: Delete declaration of builtin_function struct. - * defun-dld.h (DEFUN_DLD): Simplify. - * defun-int.h (DEFINE_FUN_STRUCT): Delete. - (DEFINE_FUN_STRUCT_FUN): Rewrite to not use static builtin_function - object. - - * mappers.h: Delete declaration of builtin_mapper_function struct. - * mappers.cc: Declare wrapper functions static. - * defun.h (DEFUN_MAPPER): Simplify. - - * oct-sym.h: New file. Declare base class for Octave symbols. - * ov.h: Derive octave_value class from octave_symbol. - * oct-fcn.h, oct-fcn.cc: New files to declare and define - base class for functions. - * oct-builtin.h, oct-builtin.cc: New files to declare and define - class for built-in functions. - * oct-mapper.h, oct-mapper.cc: New files to declare and define - class for mapper functions. - * oct-usr-fcn.h, oct-usr-fcn.cc: New files to declare and define - base class for user-defined functions. - * Makefile.in: Add new files to appropriate lists. - - * pt-id.h, pt-id.cc: Move tree_identifier class here. - * pt-fvc.h, pt-fvc.cc: From here. - - * pt-indir.h, pt-indir.cc: Move tree_indirect_ref class here. - * pt-fvc.h, pt-fvc.cc: From here. - -Thu Apr 24 03:58:16 1997 John W. Eaton - - * parse.y (magic_colon): New nonterminal. - (arg_list): Simplify using magic_colon. - - * lex.h (class lexical_feedback): Delete maybe_screwed field. - New field, parsed_function name. - * lex.l (lexical_feedback::init): Initialize it. - (handle_identifier): Don't return SCREW. Handle switching - symbol table context properly for `function f ()' vs `function x ='. - (is_keyword): If looking at function keyword, don't set current - symbol table to point to the local table. - * parse.y (recover_from_parsing_function): New function. - (finish_function_def): Use identifier, not token. - Simplify parsing of functions. - - * ov-list.h, ov-list.cc: New files to implement generic list type. - * ov.cc (list_indent): New global variable. - (increment_list_indent, decrement_list_indent): New functions. - (install_types): Register octave_list type. - * ov-base.cc (octave_base_value::is_list): New function. - - * oct-sym.h: New file. - * ov.h (class octave_value): Derive from octave_symbol class. - - * pt-const.h, pt-const.cc: Delete lots of old useless cruft. - - * pt-exp.h, pt-exp.cc (tree_binary_expression): Use type codes for - operators from octave_value instead of repeating them here. - - * pt-fvc-base.cc (tree_fvc::increment, tree_fvc::decrement): Delete. - * pt-fvc.cc (tree_identifier::increment): Get reference to value - and increment that instead of using virutal tree_fvc::increment - function. - - * lex.l: Handle +=, -=, *=, /=, .+=, .-=, .*=, ./=, &=, and |= ops. - * parse.y (make_assign_op): Rename from make_simple_assignment and - handle different op types. - (simple_expr1): Do new ops. - * pt-misc.cc (initialize_undefined_elements): Pass op to assign. - * pt-cmd.cc (tree_for_command::do_for_command_once): Likewise. - * pt-fvc.cc (tree_identifier::assign): Pass op. - * pt-exp.cc (tree_simple_assignment_expression): Handle new ops. - * variables.cc (octave_variable_reference::assign): Likewise. - * ov.h (class octave_value): Likewise. - * ov.cc (octave_value::assign_op_as_string): New function. - (octave_value::assign, octave_value::convert_and_assign, - octave_value::try_assignment_with_conversion, - octave_value::try_assignment): Pass op. - * pt-pr-code.cc (tree_print_code::visit_simple_assignment_expression): - Use expr.oper() instead of printing "=". - * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-m-m.cc, - op-m-s.cc, op-str-str.cc: Pass op to INSTALL_ASSIGNOP. - * ops.h (INSTALL_ASSIGNOP): Pass op. - * ov-typeinfo.cc (do_register_assign_op): Include op type in table. - (do_lookup_assign_op): Use op in lookup. - - * ops.h (INSTALL_UNOP): Delete. - - * input.cc (generate_struct_completions, looks_like_struct): - Disable, since they don't work now anyway. - - * help.cc (Ftype): Work with octave_value instead of a pointer to - tree_constant. - * symtab.cc (symbol_record_info::symbol_record_info): Likewise. - -Tue Apr 22 22:59:55 1997 John W. Eaton - - * file-io.cc (Ffprintf): If first arg is a string, assume FID = 1. - -Fri Apr 18 20:16:34 1997 John W. Eaton - - * oct-obj.h, oct-obj.cc: Implement octave_value_list with - Array as a data member, not as a class derived from - Array. - (octave_value_list::length, octave_value_list::resize, - octave_value_list::prepend, octave_value_list::append, - octave_value_list::reverse): New functions. - - * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, - op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, - op-s-cm.cc, op-s-m.cc: Use new bool ops from liboctave instead of - the macros defined in ops.h. - -Thu Apr 17 13:12:22 1997 John W. Eaton - - * parse.y (ABORT_PARSE): Handle forced_interactive the same as - interactive. - -Mon Apr 14 01:46:50 1997 John W. Eaton - - * input.cc (octave_read): Don't forget to free input buffer if it - exists and has zero length. - (gnu_readline): Free buf if fgets returns 0. - -Wed Apr 9 00:03:57 1997 John W. Eaton - - * time.cc (mk_tm_map): Only set zone field if HAVE_TM_ZONE or - HAVE_TZNAME are defined. - -Tue Apr 8 12:39:21 1997 John W. Eaton - - * time.cc (extract_tm): Set tm.tm_zone if HAVE_TM_ZONE is defined, - not if HAVE_TMZONE is defined. - - * Makefile.in (%.oct : %.o): Use $(SH_LD), not $(CXX). - -Wed Apr 2 21:32:16 1997 John W. Eaton - - * dynamic-ld.cc, dynamic-ld.h (init_dynamic_linker): Delete - function and declaration. - * octave.cc (main): Don't call it. - -Mon Mar 31 00:37:48 1997 John W. Eaton - - * pt-base-exp.h (tree_expression::eval): Give arg a default value. - * pt-const.h (tree_constant::eval): Likewise. - * pt-exp.h (tree_prefix_expression::eval, tree_colon_expression::eval, - tree_postfix_expression::eval, tree_unary_expression::eval, - tree_binary_expression::eval, tree_boolean_expression::eval, - tree_simple_assignment_expression::eval): Likewise. - * pt-fcn.h (tree_function::eval): Likewise. - * pt-fvc.h (tree_identifier::eval, tree_indirect_ref::eval, - tree_builtin::eval): Likewise. - * pt-mat.h (tree_matrix::eval): Likewise. - * pt-misc.h (tree_statement_list::eval): Likewise. - * pt-mvr-base.h (tree_multi_val_ret::eval): Likewise. - * pt-mvr.h (tree_oct_obj::eval, tree_index_expression::eval, - tree_multi_assignment_expression::eval): Likewise. - * dassl.cc, fsolve.cc, load-save.cc, lsode.cc, npsol.cc, parse.y, - pt-cmd.cc, pt-exp-base.cc, pt-exp.cc, pt-fvc.cc, pt-mat.cc, - pt-misc.cc, pt-mvr.cc, pt-plot.cc, quad.cc, toplev.cc, variables.cc: - Change callers of eval() to use bool instead of int and to make - use of default argument value. - - * toplev.h, toplev.cc (parse_and_execute, eval_string): Flag args - are now bool instead of int. - - * symtab.h, symtab.cc: Use bool instead of int in more places. - * variables.h, variables.cc: Likewise. - * lex.h, lex.l: Likewise. - * parse.y: Likewise. - * help.cc, input.cc, lex.l, load-save.cc, parse.y, pt-fcn.cc: - Change callers of symbol_table::lookup to use bool instead of int, - and to make use of default arguments. - -Fri Mar 28 15:33:11 1997 John W. Eaton - - * parse.y (Vwarn_comma_in_declaration): Delete. - (symbols_of_parse): Delete DEFVAR for warn_comma_in_declaration. - (decl1): Don't allow commas in declarations. - - * lsode.cc (struct LSODE_OPTIONS): Handle integer options. - (print_lsode_option_list, set_lsode_option, show_lsode_option): Ditto. - (lsode_option_table): Add element for step limit. - (lsode_user_jacobian): New function. - (Flsode): Allow function name arg to be a 2-element string array - specifying the function and jacobian function. - - * variables.cc (get_global_value, set_global_value): New functions. - -Wed Mar 26 17:08:27 1997 John W. Eaton - - Implement static variable declaration: - - * lex.l (is_keyword): Handle static. - * octave.gperf: Likewise. - * parse.y (Vwarn_comma_in_declaration): Rename from - Vwarn_comma_in_global_decl. - Handle new static command. - * pt-cmd.h, pt-cmd.cc (class tree_decl_command): New base class - for static and global declaration commands. - (class tree_global_command): Derive from tree_decl_command. - (class tree_static_command): New class, derived from tree_decl_command. - * pt-fvc.cc, pt-fvc.h (tree_identifier::mark_as_static): New function. - * pt-misc.h, pt-misc.h (class tree_decl_elt): Rename from tree_global. - (class tree_decl_init_list): Rename from tree_global_init_list. - * pt-pr-code.cc, pt-pr-code.h (tree_print_code::visit_decl_command): - Rename from visit_global_command. - (tree_print_code::visit_decl_elt): Rename from visit_global. - (tree_print_code::visit_decl_init_list): Rename from - visit_global_init_list. - * pt-walk.h (tree_walker::visit_decl_command): Rename from - visit_global_command. - (tree_walker::visit_decl_elt): Rename from visit_tree_global. - (tree_walker::visit_decl_init_list): Rename from - visit_global_init_list. - * variables.cc (link_to_global_variable): Trying to make a static - variable global is an error. - * SLList-misc.cc: Instantiate lists of pointers to tree_decl_elt - objects, not tree_global objects. - * symtab.h, symtab.cc (symbol_record::tagged_static): New field. - (symbol_record::mark_as_static, symbol_record::is_static): - New functions. - * symtab.cc (symbol_record::init_state): Initialize tagged_static. - (symbol_record::clear): Don't clear static variables. - * symtab.cc (push_context): Don't do anything for static variables. - -Tue Mar 25 17:17:17 1997 John W. Eaton - - * ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h: New files. - - * defaults.cc (symbols_of_defaults): DEFCONST OCTAVE_HOME. - - * toplev.cc (octave_config_info): Delete use of CXXLIBS. - * oct-conf.h.in: Ditto. - - * octave.cc (maximum_braindamage): Don't bind prefer_zero_one_indexing. - * ov.h: Don't declare Vprefer_zero_one_indexing. - * ov.cc: Don't define Vprefer_zero_one_indexing. - (prefer_zero_one_indexing): Delete. - (symbols_of_value): Delete DEFVAR for prefer_zero_one_indexing. - - * ov.h, ov.cc, ov-base.h, ov-base.cc: Add constructors and - extractors for bool and boolMatrix types. - - * ov.cc (install_types): Register octave_bool and - octave_bool_matrix types. - - * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, - op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, - op-s-cm.cc, op-s-m.cc, op-s-s.cc, ov-re-mat.cc: - Return boolMatrix instead of Matrix object. - * ops.h (BOOL_OP3, MX_MX_BOOL_OP): Likewise. - - * op-b-b.h, op-b-b.cc, op-bm-bm.h, op-bm-bm.cc: New files. - * Makefile.in: Add them to the lists. - * ops.cc: Include header files here. - (install_ops): Call install_b_b_ops() and install_bm_bm_ops() here. - - * variables.cc (symbols_of_variables): Don't rely on default - conversion from int to double for value returned from - default_history_size(). - - * pr-output.cc: Include cstdio. - - * parse.y (param_list_end): Fix typo in last change. - - * quad.cc (quad): Cast integer return values to double. - * npsol.cc (show_npsol_option): Likewise. - * qpsol.cc (show_qpsol_option): Likewise. - * file-io.cc (Fsprintf, Ffwrite): Likewise. - -Mon Mar 24 13:11:47 1997 John W. Eaton - - * ov-typeinfo.cc (typeinfo): If invoked with an argument, return - the type of the argument as a string. Fix doc string. - -Thu Mar 20 14:47:49 1997 John W. Eaton - - * mk-oct-links (links_dir): Don't use -h option for grep. It's - not needed since we are working on one file at a time anyway. - -Mon Mar 17 10:53:29 1997 John W. Eaton - - * lex.l (handle_identifier): When handling indirect_ref, set - lexer_flags.quote_is_transpose to 1 so that a.b' to work as - expected. - - * parse.y (param_list_beg, param_list_end): New nonterminals. - (param_list, param_list1): Use them. - -Wed Mar 12 16:57:28 1997 John W. Eaton - - * Makefile.in (install-strip): New target. - -Mon Mar 10 22:38:16 1997 John W. Eaton - - * Makefile.in (clean): Delete .oct files too. - - * toplev.cc (Vdefault_eval_print_flag): New static variable. - (eval_string): New arg, print. - (Feval): Pass Vdefault_eval_print_flag to eval_string. - (default_eval_print_flag): New function. - (symbols_of_toplev): New function. - - * variables.cc (install_builtin_variables): Call it. - - * pt-exp.h, pt-exp.cc (class tree_boolean_expression): Rename enum - fields `and' and `or' to `bool_and' and `bool_or'. - (tree_unary_expression): Rename enum field `not' to `unot'. - (class tree_binary_expression): Rename enum fields `and' and `or' - to `el_and' and `el_or'. - * parse.y: Change all uses. - - * time.cc (extract_tm): Truncate field values instead of rounding. - (gmtime, localtime): Likewise, for timeval. - - * ov.h (class octave_value): Delete unused variable freeptr. - - * mappers.cc: Delete functions that are already in - liboctave/lo-mappers.cc. - - * oct-strstrm.cc (octave_base_strstream::tell): Use const_cast, - not static_cast. - - * help.cc (help_from_list): Add missing const qualifiers. - * help.h (struct help_list): Likewise. - * lex.l (match_any, plot_style_token): Likewise. - * load-save.cc (extract_keyword, ascii_save_type): Likewise. - * oct-hist.cc (mk_tmp_hist_file): Likewise. - * octave.cc (execute_startup_files): Likewise. - * octave.gperf (struct octave_kw): Likewise. - * pr-output.cc (pr_any_float): Likewise. - * pt-mvr.cc (tree_index_expression::eval_error): Likewise. - * pt-exp-base.h, pt-exp.h, pt-exp.cc: Likewise. - * parse.y: Likewise. - -Sun Mar 9 03:46:45 1997 John W. Eaton - - * pt-exp-base.h (tree_expression): Delete extra comma at end of list. - - * dirfns.cc error.cc file-io.cc fsolve.cc input.cc load-save.cc - npsol.cc pt-fcn.cc qpsol.cc quad.cc syscalls.cc toplev.cc - variables.cc: Eliminate embedded newlines in string constants. - - * Map.cc, data.cc, dirfns.cc, dynamic-ld.cc, file-io.cc, - fsolve.cc, getgrent.cc, getpwent.cc, getrusage.cc, help.cc, - input.cc, load-save.cc, mappers.cc, minmax.cc, npsol.cc, - oct-fstrm.cc, oct-procbuf.h, oct-stdstrm.cc, oct-stdstrm.h, - oct-stream.cc, oct-stream.h, oct-strstrm.cc, octave.cc, - ov-base.h, ov-range.cc, ov-typeinfo.cc, ov.cc, pr-output.cc, - pt-cmd.cc, pt-exp.cc, pt-fcn.cc, pt-fvc.cc, pt-mat.cc, - pt-misc.cc, pt-plot.cc, qpsol.cc, quad.cc, sort.cc, strfns.cc, - symtab.cc, syscalls.cc, sysdep.cc, time.cc, toplev.cc, - unwind-prot.cc, unwind-prot.h, variables.cc, xpow.cc: - Use `static_cast (val)' instead of old C-style `(T) val' casts. - -Sat Mar 8 02:35:13 1997 John W. Eaton - - * load-save.cc (save_ascii_data, save_three_d): Where appropriate, - use bool instead of int. - (save_binary_data, save_mat_binary_data, save_ascii_data): - Print warning instead of error for wrong type arg. - - * gripes.cc (gripe_wrong_type_arg): New arg, is_error. - - * pt-plot.cc (save_in_tmp_file): Call save_ascii_data with bool - arg, not int. - -Fri Mar 7 00:56:16 1997 John W. Eaton - - * dassl.cc (show_dassl_option): For values that are determined - automatically, return a string instead of a magic value (-1.0). - * fsolve.cc (show_fsolve_option): Likewise. - * lsode.cc (show_lsode_option): Likewise. - * npsol.cc (show_npsol_option): Likewise. - * qpsol.cc (show_qpsol_option): Likewise. - - * variables.cc (extract_function): New function. - * dassl.cc (Fdassl): Use it instead of is_valid_function. - * fsolve.cc (Ffsolve): Likewise. - * npsol.cc (Fnpsol): Likewise. - * qpsol.cc (Fqpsol): Likewise. - * quad.cc (Fquad): Likewise. - -Thu Mar 6 20:07:24 1997 John W. Eaton - - * sighandlers.cc (my_friendly_exit, octave_new_handler, - sigfpe_handler, sigpipe_handler): Don't all error() or warning(). - - * pager.cc (pager_death_handler): Don't try to clear pager, just - print message to cerr. - (do_sync): If the status of the pager is bad or it looks like it - is dead, restore the interrupt handler. - - * load-save.cc (extract_keyword (istream&, char*, int&)): - Move declaration of buf inside loop, to avoid deleting its guts - and then trying to reuse it. - (extract_keyword (istream&, char*)): Likewise. - -Tue Mar 4 20:36:53 1997 John W. Eaton - - * pt-fcn.cc (tree_function::eval): Protect function from being - redefined while it is being evaluated. - (unprotect_function): New function, for use with unwind_protect stuff. - * pt-fcn.h (tree_function::symtab_entry): New data member. - (tree_function::init): Initialize it to 0. - (tree_function::stash_symtab_ptr): New function. - * parse.y (frob_function_def): Stash pointer to function's - symbol_record in the function definition. - - * symtab.cc (symbol_record::read_only_error): New argument, - action. Change all callers. - (symbol_record::rename): Don't allow read-only symbols to be renamed. - - * variables.cc (Fexist): Don't let files with `.' in their names - confuse us. - - * symtab.cc (valid_identifier (const string&)): New function. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Sat Mar 1 01:34:08 1997 John W. Eaton - - * Makefile.in (stamp-oct-links): New target. Make links in build - directory too, so that the tests will work. - - * quad.cc: If quad is defined, undefine it. - - * octave.cc: If WITH_KPATHSEARCH is defined, don't define - program_invocation_name or program_invocation_short_name. - - * strftime.c: Update to current version from FSF. - * time.cc (Fstrftime): Call strftime with buf = 0 to get buffer - size, then call again to actually format the time struct. - -Fri Feb 28 01:49:48 1997 John W. Eaton - - Implement switch statement: - - * parse.y (Vwarn_variable_switch_label): New static variable. - (warn_variable_switch_label): New function. - (symbols_of_parse): Provide warn_variable_switch_label as Octave - variable here. - (make_switch_case, finish_switch_command): New functions. - (maybe_warn_variable_switch_label): New function. - (end_error): Handle endswitch. - (switch_command, case_list, case_list1, switch_case, default_case): - New nonterminals. - (command): Add switch_command here. - * lex.l (is_keyword): Handle switch, case, otherwise, and endswitch. - * octave_gperf: Recognize switch, case, otherwise, and endswitch. - * token.h (end_tok_type): New item, switch_end. - * pt-cmd.cc (tree_switch_command): New class. - * pt-misc.cc (tree_switch_case, tree_switch_case_list): New classes. - * pt-pr-code.cc (tree_print_code::visit_switch_case, - tree_print_code::visit_switch_case_list, - tree_print_code::visit_switch_command): New functions. - * pt-walk.h (tree_walker::visit_switch_case, - tree_walker::visit_switch_case_list, - tree_walker::visit_switch_command): New pure virtual declarations. - Implement new switch statement. - * SLList-misc.cc: Instantiate lists of pointers to - tree_switch_case objects too. - - * lex.h, lex.l, parse.y: Delete all references to lexer_flags::iffing. - - * syswait.h: Include sys/wait.h on NeXT systems, but don't use the - WIFEXTED, WEXITSTATUS, and WIFSIGNALLED macros defined there. - Also define waitpid in terms of wait4. From Rex A. Dieter - . - -Wed Feb 26 16:43:31 1997 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): Don't report an - error if a conversion fails or we reach EOF. - -Tue Feb 25 22:21:05 1997 John W. Eaton - - * time.cc (strftime): increase initial buffer size. - -Mon Feb 24 17:49:21 1997 John W. Eaton - - * pt-fvc.cc (tree_builtin::eval): Enable checking for max number - of arguments. - - * error.cc (handle_message): Don't fail if args is empty. - -Sun Feb 23 22:42:52 1997 John W. Eaton - - * lex.h (lexical_feedback::looking_at_return_list): New field. - (lexical_feedback::looking_at_parameter_list): Ditto. - * lex.l (lexical_feedback::init): Initialize them. - (handle_identifier): Use them. - * parse.y: Likewise. - -Fri Feb 21 15:35:18 1997 John W. Eaton - - * lex.l: Require flex 2.5 or later (we really want 2.5.4 or later, - but there seems to be no good way to check the patchlevel). - - * oct-stream.cc (octave_base_stream::oscanf): Instead of returning - an error, just quit processing after a conversion fails. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Wed Feb 19 10:30:14 1997 John W. Eaton - - * sighandlers.cc (octave_ignore_interrupts, - octave_catch_interrupts, octave_set_interrupt_handler): - Return old value, not pointer to static data. Fix all uses. - - * sighandlers.h (octave_interrupt_handler): Move declaration here. - * sighandlers.cc: From here. - - * toplev.cc: Undo previous change. - - * lex.l (handle_identifier): Allow commands like ls, save, etc. to - also be used as simple variable names. Also make it possible to - use the normal function call syntax to invoke them. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Makefile.in (%.oct:%.o, %.oct:pic/%.o): Use $(SH_LDFLAGS) here. - - * Version 2.0.3 released. - -Tue Feb 18 00:27:49 1997 John W. Eaton - - * toplev.cc (run_command_and_return_output): - Block SIGCHLD while running subprocess. - (cleanup_iprocstream): Unblock it here. - - * sighandlers.h (BLOCK_SIGNAL, BLOCK_CHILD, UNBLOCK_CHILD): Move here. - * sighandlers.cc: From here. - - * toplev.cc (system): Shift then mask exit status. - - * help.cc (try_info): Shift first, then mask exit status. - - * toplev.cc (octave_config_info): Handle option argument. - -Fri Feb 14 16:23:30 1997 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): Don't forget to - check to see if the result matrix needs resizing! - - * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. - -Thu Feb 13 03:02:08 1997 John W. Eaton - - * Makefile.in (stamp-prereq): Depend on stamp-picdir. - (all): Don't depend on stamp-prereq or stamp-picdir. - (stamp-tinst, stamp-interp, libtinst.a, liboctinterp.a): - Do depend on stamp-prereq. - (stamp-picdir): Silence noise about making pic. - (stamp-tinst, stamp-interp): Use $(SH_LD) $(SH_LDFLAGS) instead of - $(CXX) -shared. - - * oct-conf.h.in: Reinstate RLD_FLAG. - * toplev.cc (octave_config_info): Likewise. - - * data.cc (map_d_m, map_m_d, map_m_m): Rename from map. - (Fatan2): Use new function names. - - * pt-fvc.cc (apply_mapper_fcn): Use member function map() instead - of friend function. - - * gripes.cc (gripe_wrong_type_arg (const char*, const string&)): - New function. - -Wed Feb 12 17:27:53 1997 John W. Eaton - - * syscalls.cc (symbols_of_syscalls): Add O_ASYNC and O_SYNC. - -Mon Feb 10 01:22:27 1997 John W. Eaton - - * dirfns.cc (Freaddir, Fmkdir, Frmdir, Frename): - Also return status and error message. - - * syscalls.cc (Fdup2, Fexec, Ffork, Ffcntl, Funlink, Fmkfifo, - Fpipe, Fwaitpid): Also return error message. - -Sat Feb 8 17:16:09 1997 John W. Eaton - - * pt-exp.cc (tree_simple_assignment_expression::eval): Return - value of RHS, but (if printing) print complete value of LHS. - - * pr-output.cc (octave_print_internal): Print a new line for empty - string matrices. - -Wed Feb 5 14:30:44 1997 John W. Eaton - - * oct-stream.cc (scanf_format_list::process_conversion): Accept - but don't actually use h, l, and L modifiers. Always insert l - modifier for floating point conversions. - -Fri Jan 31 13:55:10 1997 John W. Eaton - - * pager.cc (do_sync): Always flush the cout stream after writing. - -Wed Jan 29 08:25:29 1997 John W. Eaton - - * defaults.cc (exec_path): Don't include bin_dir in std_path. - - * pager.cc (do_sync): Flush the cout stream after writing if - running in interactive or forced_interactive mode. - - * mk-oct-links: Rename from mk-oct-links.in. - Don't use symbolic links. - * Makefile.in: Distribute mk-oct-links, not mk-oct-links.in - (mk-oct-links): Delete target. - (install-oct, bin-dist): Don't depend on mk-oct-links. - Run $(srcdir)/mk-oct-links, not ./mk-oct-links. - - * qr.cc (qr): Doc fix. - -Tue Jan 28 10:48:28 1997 John W. Eaton - - * Makefile.in (install-inc): Create a relative symbolic link. - (install-bin): Create a relative symbolic link. - -Mon Jan 27 12:12:03 1997 John W. Eaton - - * Version 2.0.2 released. - - * Makefile.in (CXXFLAGS_NO_PT_FLAGS): Rename from XALL_CXXFLAGS. - Substitute bsd_gcc_kluge_targets_frag. - - * sysdep.cc (Fsleep): New function. - (Fusleep): New function. - - * toplev.cc (octave_config_info): Don't include RLD_FLAG. - * oct-conf.h.in: Don't define RLD_FLAG - -Sun Jan 26 19:41:48 1997 John W. Eaton - - * sighandlers.cc (sigchld_handler): Block SIGCHLD while - sigchld_hander is running. - -Sat Jan 25 22:36:39 1997 John W. Eaton - - * Makefile.in (bin-dist): Update for 2.x. - -Fri Jan 24 10:05:00 1997 John W. Eaton - - * mk-oct-links.in: New arg, -p, to just print list of files to link. - - * lex.l (handle_number): Convert `D' or `d' exponents to `e' - before scanning. - -Thu Jan 23 10:00:00 1997 John W. Eaton - - * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_no_op_command): - New function. - * pt-cmd.h, pt-cmd.cc (tree_no_op_command): New class. - * parse.y (make_break_command, make_continue_command, - make_return_command): Where they don't really make sense, turn - these commands into no-ops. Accept return and break if reading a - script file. - * toplev.cc (parse_and_execute): Handle return and break in script - files. Quit executing commands if an error occurs when reading a - script file. Set global_command to 0 after deleting it. - (main_loop): If not interactive or forced_interactive, handle - break and return, and quit executing commands if an error occurs. - Set global_command to 0 after deleting it. - * error.cc (Ferror): Doc fix. - * pt-walk.h (tree_walker): Add declaration for visit_no_op_command. - -Wed Jan 22 20:54:12 1997 John W. Eaton - - * input.cc (gnu_readline): If not using readline, flush - rl_outstream after printing prompt. - (octave_gets): Also call flush_octave_stdout() if - forced_interactive, not just if interactive. - (do_input_echo): If forced_interactive, only echo prompt and - command line if also reading a script file. - -Tue Jan 21 23:02:34 1997 John W. Eaton - - * SLList.h: Include "BaseSLList.h", not . - -Mon Jan 20 11:11:12 1997 John W. Eaton - - * lex.l (token_stack): Don't declare static. - * pt-plot.cc (tmp_files): Likewise. - * toplev.cc (octave_atexit_functions): Likewise. - * unwind-prot.cc (unwind_protect_list): Likewise. - - * ops.h (MX_MX_BOOL_OP): Correctly handle case of one or both - arguments being empty. Change all callers. - - * oct-stream.cc (printf_value_cache::looking_at_string): - Handle empty strings correctly now that they are 0x0. - - * file-io.cc: Don't include "syswait.h" here. - -Sun Jan 19 22:38:45 1997 John W. Eaton - - * oct-stream.h (octave_base_stream::seek): Declare offset arg as - streamoff, not streampos. - (octave_stream::seek): Likewise. - * oct-strstrm.h (octave_base_strstream::seek): Likewise. - * oct-stdstrm.h (octave_base_stdiostream::seek): Likewise. - * oct-iostrm.h (octave_base_iostream::seek): Likewise. - * oct-fstrm.h (octave_fstream::seek): Likewise. - -Fri Jan 17 18:13:10 1997 John W. Eaton - - * file-io.cc (Ffflush): Handle stdout as a special case. - - * oct-stream.cc (octave_stream_list::do_get_file_number): - Do the work for octave_stream::get_file_number. - (octave_stream_list::get_file_number): Convert to static function. - -Wed Jan 8 11:42:44 1997 John W. Eaton - - * log.cc (sqrtm): For complex arg case, compute sqrt, not log. - -Tue Jan 7 00:16:41 1997 John W. Eaton - - * Version 2.0.1 released. - -Mon Jan 6 00:00:07 1997 John W. Eaton - - * pt-mat.cc (tm_row_const_rep::all_mt): New variable. - (tm_row_const::all_empty): New function. - (tm_row_const::tm_row_const_rep::init): Set all_mt here. - (tm_const::all_mt): New variable. - (tm_const::all_emtpy): New function. - (tm_const::init): Set all_mt here. - (tree_matrix::eval): Return an empty matrix if the list contains - only empty elements. If it contains only empty strings, return an - empty string. - -Sun Jan 5 12:50:25 1997 John W. Eaton - - * ops.h (SC_MX_BOOL_OP, MX_SC_BOOL_OP): New arg, empty_result. - * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, - op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, - op-s-cm.cc, op-s-m.cc, op-str-str.cc: Change all uses of - SC_MX_BOOL_OP and MX_SC_BOOL_OP macros. Return correct results - for empty matrix cases. - - * pt-fcn.cc (tree_function::eval): If Vdefine_all_return_values is - true, initialize return values before evaluating function, for - compatibility with Matlab. - - * oct-stream.cc (get_size): Correctly set size when arg is scalar. - -Thu Jan 2 12:40:10 1997 John W. Eaton - - * Makefile.in (install-oct): Quote $(OCT_FILES) in for loop to - avoid syntax error from ksh. - - * pr-output.cc (octave_print_internal): Avoid unused parameter - warning from gcc. - -Thu Dec 19 12:13:42 1996 John W. Eaton - - * oct-stream.cc (octave_base_stream::do_scanf): - Don't treat %l{e,f,g} differently from %{e,f,g}. - (octave_base_stream::do_oscanf): Likewise. - - * sighandlers.cc (sigchld_handler): Fix typos. - -Wed Dec 18 20:17:23 1996 John W. Eaton - - * file-io.cc (Ffgetl, Ffgets): Also return number of characters read. - - * ov-range.cc (octave_range::not): New function. - * ov-range.h (octave_range::uminus): New function. - - * BaseSLList.cc: Include error.h. - (BaseSLList::error): Call ::error() to process error message. - -Fri Dec 13 02:38:19 1996 John W. Eaton - - * ov.cc (octave_value::convert_and_assign): Preserve lhs value if - assignment fails. - -Wed Dec 11 12:33:16 1996 John W. Eaton - - * pt-plot.cc (GPLOT_CMD_END): Don't put semicolons at the end of - each plot command; it causes trouble with gnuplot 3.5. - -Tue Dec 10 00:31:13 1996 John W. Eaton - - * Version 2.0 released. - - * pr-output.cc (set_format_style): Don't try to access argv unless - argc > 1. - - * SLList-expr.cc SLList-misc.cc SLList-plot.cc SLList-str.cc - SLList-tc.cc SLList-tm.cc SLList.h SLStack-i.cc SLStack-pc.cc - SLStack-str.cc SLStack-sym.cc SLStack-tok.cc SLStack-ue.cc - SLStack-ui.cc, pt-mat.cc: Include Stack.h, Stack.cc, SLStack.cc, - and SLList.cc as necessary. - - * Stack.cc, SLStack.cc, SLList.cc: New files. - * Makefile.in (SOURCES): Add them to the list. - -Mon Dec 9 12:03:45 1996 John W. Eaton - - * Makefile.in (install-bin): Use $(EXE) suffix so install will - find the right file on cygwin32 systems. - - * ov.h: Declare proper form of do_binary_op as friend to - octave_value class. - -Sat Dec 7 22:00:10 1996 John W. Eaton - - * oct-stream.cc (do_printf_conv, do_scanf_conv, - do_oscanf_num_conv, do_oscanf_str_conv): Convert to real - functions instead of CPP macros, using templates where necessary. - (do_oscanf_num_conv, do_oscanf_str_conv): Correctly handle - discarded values. - -Fri Dec 6 00:20:25 1996 John W. Eaton - - * Version 1.94. - - * Map-*.cc, SLList-*.cc, SLStack-*.cc: Include config.h. - - * ov.h: Don't include SLList.h. - - * SLStack.cc: Delete. Move everything to SLStack.h. - - * BaseSLList.h, BaseSLList.cc: New files. Split out the - non-template base class parts of SLList. - - * Makefile.in (TEMPLATE_SRC): Delete. Move files to SOURCES. - * Map.h, Map.cc: Add #pragma interface/implementation. - * SLStack.h, SLStack.cc: Add #pragma interface/implementation. - - * SLList.h, SLList.cc: New files, from libg++, but with #pragma - interface/implementation. - * Makefile.in (SOURCES): Add SLList.cc. - (INCLUDES): Add SLList.h. - -Thu Dec 5 18:36:44 1996 John W. Eaton - - * octave.cc: Don't include sun-utils.h. - -Tue Dec 3 23:47:09 1996 John W. Eaton - - * op-str-str.cc (eq, ne): Handle operations with scalars. - -Thu Nov 21 12:30:36 1996 John W. Eaton - - * ov-str-mat.h (octave_char_matrix_str): Provide transpose and - hermitian operators. - * ov-ch-mat.h (octave_char_matrix): Likewise. - -Wed Nov 20 00:35:57 1996 John W. Eaton - - * sighandlers.h (struct octave_interrupt_handler): Provide - forward declaration here. - * sighandlers.cc (octave_interrupt_handler): New struct. - (octave_catch_interrupts): Rename from catch_interrupts. - (octave_ignore_interrupts, octave_set_interrupt_handler): - New functions. - * help.cc, oct-hist.cc, pager.cc, toplev.cc: Use new functions for - handling interrupts so that we can hide the details of whether or - not we have to deal with SIGBREAK. - - * pt-plot.cc [! HAVE_POSIX_SIGNALS] (open_plot_stream): - Simply ignore and restore the interrupt handler here. - - * sighandlers.cc (MAYBE_REINSTALL_SIGHANDLER): New macro. Use it - instead of always checking MUST_REINSTALL_SIGHANDLERS everywhere. - (sigchld_handler): If octave_child_list is empty, wait for any - child, but don't hang, and don't collect status info. - [__EMX__] (sigchld_handler): Save and restore handlers for SIGINT, - SIGBREAK, and SIGCHLD. Ignore them while waiting on children. - (install_signal_handlers): If SIGBREAK exists, handle it like SIGINT. - - * toplev.cc [USE_READLINE] (clean_up_and_exit): - Call rl_deprep_terminal() to restore terminal settings. - - * sysdep.cc [__EMX__ && OS2] (Fextproc): New command. - [__EMX__ && OS2] (FEXTPROC): Alias for Fextproc. - - * Version 1.93. - - * sysdep.cc (octave_chdir): [__EMX__]: Make copy of string before - converting to upper case. - - * getgrent.cc (mk_gr_map): Only set the passwd field if - HAVE_GR_PASSWD is defined. - -Tue Nov 19 12:01:13 1996 John W. Eaton - - * sysdep.cc (OS2_init): New function. - [__EMX__] (sysdep_init): Call it. - - * lex.l (plot_style_token): Add new plot styles for gnuplot 3.6. - * pt-plot.cc (subplot_style::columns_ok): Rename from - subplot_style::errorbars. Recognize more styles and do a better - job of diagnosing column number/style mismatches. - - * sighandlers.cc (my_friendly_exit): If we are called twice, try - to remove the signal handler for SIGABRT and the call abort (). - - * help.cc (Ftype): If a function is defined from a file and - transformed text has not been requested, just print the contents - of the file. - - * parse.y (fold): New functions for constant folding for binary - and unary expressions. Keep track of original text even when - transformations occur. - (make_binary_op, make_boolean_op, make_unary_op): Use them. - (finish_colon_expression, finish_matrix): Keep track of original - text even when transformations occur. - - * help.cc (Ftype): Don't mess with Vps4. - Handle new option `-transformed'. - - * pt-const.h, pt-const.cc (tree_constant::print): - New arg, pr_orig_text. - - * pt-exp.h, pt-exp.cc (tree_colon_expression::is_range_constant): - Delete. - - * pt-exp-base.h (tree_expression::original_text): New virtual function. - pt-exp-base.cc (tree_expression::original_text): Default version. - - * pt-pr-code.h (tree_print_code::print_original_text, - tree_print_code::prefix): New fields. - * pt-pr-code.cc (tree_print_code::visit_constant): Pass - print_original_text to tree_constant::print(). - (tree_print_code::indent): Use prefix instead of Vps4. - * pt-fcn.cc (tree_function::print_function_header, - tree_function::print_function_trailer): Pass Vps4 to - tree_print_code_constructor for prefix. - * pt-misc.cc (tree_statement::maybe_echo_code): Pass Vps4 to - tree_print_code_constructor for prefix. - - * pt-mat.h, pt-mat.cc (tree_matrix::all_elements_are_constant): - Rename from is_matrix_constant. - (tree_matrix_row::all_elements_are_constant): Likewise. - Change all callers. - -Mon Nov 18 14:13:32 1996 John W. Eaton - - * Makefile.in (install-inc): Try harder to create the link from - include/octave to include/octave-VERSION. - -Sun Nov 17 14:14:48 1996 John W. Eaton - - * Makefile.in (parse.cc): Expect 13 shift/reduce conflicts. - - * parse.y (set_stmt_print_flag): New function. - (sep_type): New member for bison %union declaration. - Simplify rules for statement lists keeping track of the type of - the first separator in the values associated with the - nonterminals for the separators. - - * lex.l (handle_identifier): Set lexer_flags.doing_set if the - token is "gset", not "set". - -Sat Nov 16 21:41:26 1996 John W. Eaton - - * Makefile.in (parse.cc, lex.cc): Add special rules for these files. - Delete pattern rules for .y and .l files. - -Fri Nov 15 13:48:02 1996 John W. Eaton - - * pt-plot.cc: Put semicolons at the ends of all plot commands. - - * defaults.cc (subst_octave_home): Start subsequent searchs from - the end of the replaced text. - - * pr-output.cc (pr_any_float): Kluge for SCO systems. - - * pr-output.cc (pr_any_float, pr_complex): Don't declare inline. - - * mappers.cc: Include lo-ieee.h, for isinf and isnan on SCO - systems. - -Thu Nov 14 00:06:19 1996 John W. Eaton - - * pt-plot.cc (Fgset, Fgshow): New commands. - (Fshow): Print warning and call gshow. - (Fset): Print warning and call gset. - - * variables.cc (parse_fcn_file): Add unwind-protect for file - pointer, so the file is always closed. - (get_help_from_file): Likewise. - * toplev.cc (parse_and_execute): Likewise. - - * Makefile.in (install-oct): Depend on mk-oct-links. - (mk-oct-links): New target. - - * Version 1.92. - -Wed Nov 13 11:13:22 1996 John W. Eaton - - * sighandlers.cc (sys_siglist): [__EMX__]: Add definitions. - - * octave.cc (execute_startup_files): Allow init file name ot be - specified by an environment variable. - - * dirfns.cc (make_absolute): [__EMX__]: Path is already absolute - if it begins with any character followed by a colon. - - * load-save.cc (read_mat_ascii_matrix, get_lines_and_columns, - get_complete_line): New functions, for reading headless text files. - (load_save_format): Add LS_MAT_ASCII, for headless text files. - (do_load): Handle LS_MAT_ASCII files. - Thanks to Mel Melchner for initial version - of this code. - - * sysdep.cc: Conditionally include ieeefp.h. - (BSD_init, SCO_init): New functions. - (sysdep_init): Conditionally call them here. - -Tue Nov 12 00:14:56 1996 John W. Eaton - - * pt-plot.cc (open_plot_stream): Don't block SIGCHLD. - - * load-save.cc (read_binary_data): When reading string arrays, be - sure to create an octave_char_matrix_str object, not just an - octave_char_matrix object. - (read_ascii_data): Likewise. - -Mon Nov 11 22:52:58 1996 John W. Eaton - - * load-save.cc (read_binary_data): Don't forget teminating NUL for - string that we plan to insert. - (read_ascii_data): Likewise. - -Sun Nov 10 16:58:07 1996 John W. Eaton - - * dirfns.cc (Ffnmatch): New function. - - * octave.cc (intern_argv): Use new string_vector constructor. - - * ov-str-mat.cc (octave_char_matrix_str::all_strings): Have - charMatrix::row_as_string() strip trailing whitespace. - - * dirfns.cc (Fglob): new function. - - * sysdep.cc (oct_tilde_expand): Provide version that works on - string vectors too. - (Ftilde_expand): Work on string vector args. - - * load-save.cc (save_binary_data): Call char_matrix_value() to - extract charMatrix from octave_value object, not all_strings(). - (save_ascii_data): Likewise. - * pt-mat.cc (tree_matrix::eval): Likewise. - - * ov.h (octave_value::all_strings): Return string_vector, not - charMatrix. - * ov-base.cc (octave_base_value::all_strings): Likewise. - * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::all_strings): - Likewise. - -Fri Nov 8 09:54:59 1996 John W. Eaton - - * defaults.cc, dynamic-ld.cc, fn-cache.cc, help.cc, oct-hist.cc, - octave.cc, pager.cc, pt-fcn.cc, toplev.cc, utils.cc, variables.cc, - lex.l: Change #include "" to #include <> for defaults.h, - oct-conf.h, oct-gperf.h, y.tab.h, and version.h, to avoid getting - them from $srcdir when we really want the version from the build - directory. (Maybe this should be done for all the include files, - not just those that are auto-generated? Hmm.) - - * defaults.h.in (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): - Delete. - - * Makefile.in (install-oct): Use $(INSTALL_PROGRAM) for .oct files. - -Thu Nov 7 07:59:07 1996 John W. Eaton - - * variables.cc (gobble_leading_white_space): New arg, update_pos. - * (is_function_file): Don't update file position information here. - - * Version 1.91. - - * pt-fvc.cc (tree_indirect_ref::reference): If the lhs object is - not a map, convert it to one. - - * ov-typeinfo.h (init_tab_sz): New static member. - - * ov-struct.cc, ov-struct.h: Add hooks for custom memory management. - * ov-scalar.cc, ov-scalar.h: Likewise. - * ov-re-mat.cc, ov-re-mat.h: Likewise. - * ov-range.cc, ov-range.h: Likewise. - * ov-cx-mat.cc, ov-cx-mat.h: Likewise. - * ov-complex.cc, ov-complex.h: Likewise. - * ov-ch-mat.cc, ov-ch-mat.h: Likewise. - -Wed Nov 6 12:32:48 1996 John W. Eaton - - * pager.cc (do_sync): Don't call clear_external_pager() here. - - * pt-const.h (tree_constant::allocator) New static member. - (tree_constant::operator new, tree_constant::operator delete): - Implement with custom allocator. - - * syscalls.cc (Fgetgid, Fgetegid): New functions. - - * sighandlers.cc (sigchld_handler): If necessary, reinstall - handler after call to waitpid(). - - * pager.cc (pager_death_handler): Don't use warning() to print - message. - - * getgrent.cc: New file. - * Makefile.in (DLD_SRC): Add it. - - * ov.cc (octave_value::print_with_name): Call is_map() instead of - print_as_structure(). - * ov-struct.cc (octave_struct::print): Likewise. - - * ov.h, ov.cc, pt-const.h: Delete force_numeric(), make_numeric(), - convert_to_matrix_type(), print_as_structure() member functions. - - * variables.cc (is_function_file): Call gobble_leading_whitespace - here to strip all leading whitespace and comments. - (parse_fcn_file): If reading a function file, call - gobble_leading_whitespace again after resetting parser state to - grab help text. - -Tue Nov 5 13:00:35 1996 John W. Eaton - - * syscalls.cc (Fgeteuid, Fgetuid): New functions. - - * getpwent.cc: Use gripe_not_supported from gripes.cc, instead of - local gripe_not_implemented function. - - * input.cc, sysdep.cc, variables.cc: Only include readline.h and - history.h if USE_READLINE is defined. - - * help.cc: Make it compile without warnings even if USE_GNU_INFO - is not defined. - - * sighandlers.h (octave_child_list): Don't define - HAVE_POSIX_SIGNALS HERE. - - * sighandlers.cc (SIGHANDLER_RETURN): New macro. - (generic_sig_handler, sigchld_handler, sigfpe_handler, - sigint_handler, sigpipe_handler): Use it. - (sigchld_handler, sigfpe_handler, sigint_handler, sigpipe_handler): - Only reinstall signal handler if MUST_REINSTALL_SIGHANDLER is defined. - -Sun Nov 3 00:45:30 1996 John W. Eaton - - * pt-const.cc (tree_constant::print): Just call val.print(). - * ov-base.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, - ov-cx-mat.cc, ov-range.cc, ov-re-mat.cc, ov-scalar.cc, - ov-str-mat.cc, ov-struct.cc ov-va-args.cc, ov.cc (print): - Handle pr_as_read_syntax arg. - - * defaults.cc (subst_octave_home): Search for prefix repeatedly in - retval, not s. - - * gripes.h: Make declaration of gripes_not_supported match - definition. - - * mk-oct-links.in: In sed command, match "DEFUN_DLD *( *", not - "DEFUN_DLD_BUILTIN *( *". - - * chol.cc, colloc.cc, dassl.cc, det.cc, eig.cc, expm.cc, fft.cc, - fft2.cc, filter.cc, find.cc, fsolve.cc, fsqp.cc, getpwent.cc, - getrusage.cc, givens.cc, hess.cc, ifft.cc, ifft2.cc, inv.cc, - log.cc, lpsolve.cc, lsode.cc, lu.cc, minmax.cc, npsol.cc, pinv.cc, - qpsol.cc, qr.cc, quad.cc, qzval.cc, rand.cc, schur.cc, sort.cc, - svd.cc, syl.cc, time.cc: Change all uses of DEFUN_DLD_BUILTIN to - be just DEFUN_DLD. - - * defun-dld.h: Eliminate DEFUN_DLD_BUILTIN. - - * syswait.h: Use #ifdef HAVE_SYS_WAIT_H, not #if HAVE_SYS_WAIT_H - to decide whether to include sys/wait.h. - - * pt-exp-base.h (tree_expression): Declare oper() here as a - virtual member function. - - * pt-pr-code.cc (tree_print_code::visit_constant): Check for - string before checking for char_matrix. - - * ov-ch-mat.cc (octave_char_matrix::print): Supply correct number - of args to octave_print_internal(). - -Sat Nov 2 20:44:55 1996 John W. Eaton - - * file-io.cc (Ftmpnam): Rename from Foctave_temp_file_name. - - * Makefile.in (DLD_SRC): Move time.cc and getrusage.cc here from - SOURCES. Add getpwent.cc. - - * getrusage.cc: Rename from resource.cc. Make getrusage a - loadable function. - - * time.cc: Rename from timefns.cc. Make time functions loadable. - - * getpwent.cc: New file. - -Wed Oct 30 01:06:19 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - - * ov-range.cc (octave_range::convert_to_str): New function. - - * ov-str-mat.h (octave_char_matrix_str::char_matrix_value): - Delete function. Already handled by octave_char_matrix class. - - * ov-ch-mat.h (octave_char_matrix::convert_to_str): New function. - - * pager.cc (Fmore): Set page_screen_output to 1.0 or 0.0, not - "true" or "false". - - * ov-ch-mat.cc, ov-struct.cc, ov-struct.h, pr-output.cc, - pt-cmd.cc, pt-const.cc, pt-const.h, pt-fcn.cc, pt-fvc-base.cc, - pt-fvc-base.h, pt-fvc.cc, pt-fvc.h, rand.cc, sighandlers.cc, - variables.cc, variables.h: Delete unused code. - - * octave.cc: Only include pwd.h if HAVE_PWD_H. - - * oct-strstrm.h: Include , not . - - * defaults.cc, dirfns.cc, file-io.cc, help.cc, input.cc, - oct-hist.cc, oct-procbuf.cc, oct-procbuf.h, octave.cc, pager.h, - procstream.h, pt-misc.cc, pt-plot.cc, sighandlers.cc, strftime.c, - syscalls.cc, sysdep.cc, syswait.h, toplev.cc, utils.cc, - variables.cc: Only include sys/types.h if HAVE_SYS_TYPES_H. - - * error.h (panic): Use GCC_ATTR_NORETURN macro, not NORETURN. - * toplev.h (clean_up_and_exit): Likewise. - * utils.h (jump_to_top_level): Likewise. - - * derfaults.h.in, defaults.cc (local_arch_lib_dir): New variable. - * defaults.cc (set_default_local_arch_lib_dir): New function. - (install_defaults): Call it. - (exec_path): Use Vlocal_arch_lib_dir here. - * toplev.cc (octave_config_info): Add localarchlibdir to structure. - -Tue Oct 29 15:54:27 1996 John W. Eaton - - * Makefile.in (install-oct): Don't do anything if $(OCT_FILES) is - empty. - - * ov-range.cc (octave_range::index): New Function. - (octave_range::all, octave_range::any, octave_range::is_true): - Make these functions work. - - * ov.cc (octave_value::try_assignment_with_conversion): Remove - left over debugging print statements. - -Mon Oct 28 10:49:03 1996 John W. Eaton - - * strftime.c: Add missing #endif for previous change. - -Sun Oct 27 14:06:44 1996 John W. Eaton - - * oct-hist.cc (do_history): Rewite option parsing to avoid - (probably bogus) errors from g++ on cygwin32 system. - - * strftime.c: Use autoconf macros TIME_WITH_SYS_TIME and - HAVE_SYS_TIME_H to decide which time.h files to include. - - * oct-stream.h, oct-stream.cc (octave_stream::error, - octave_base_stream::error): Rename errno => err_num. - -Sat Oct 26 10:40:05 1996 John W. Eaton - - * oct-hist.cc (do_history): Move declaration of file inside - conditional. - - * defun.h (DEFVAR_INT): Set eternal flag with (svc_fcn != 0) - instead of (sv_fcn ? 1 : 0) - -Fri Oct 25 01:10:51 1996 John W. Eaton - - * ov-ch-mat.h (octave_char_matrix::any): Return 0.0 instead of false. - (octave_char_matrix::all): Likewise. - - * input.cc (Fecho): When binding value of echo_executing_commands, - cast ECHO_* to double. - - * sighandlers.cc (octave_child_list::do_remove): Delete unused - variable `enlarge'. - - * pt-const.h (tree_constant::tree_constant (const tree_constant&)): - Don't pass arg to tree_fvc constructor. - - * resource.cc (getrusage): [HAVE_GETRUSAGE && RUSAGE_TIMES_ONLY]: - Only fill in time values. - -Thu Oct 24 20:37:28 1996 John W. Eaton - - * parse.y: Comment out the %expect declaration so byacc can - compile this file. - (if_cmd_list): Add missing semicolon. - Include for getenv if using byacc. - - * ov.h: Move typedefs outside of octave_value class scope to avoid - problem with cygwin32 beta16 compiler. - -Fri Oct 18 13:44:33 1996 John W. Eaton - - * ov.h (octave_value::index): Undo previous change. - * ov.cc (octave_value constructors): Call maybe_mutate() in most - cases. - - * ov-complex.cc (octave_complex::index): Avoid implicit type - conversion back to scalar type. - * ov-scalar.cc (octave_scalar::index): Likewise. - - * ov.h (octave_value::index): Call maybe_mutate() on retval before - returning it. - -Wed Oct 16 12:00:11 1996 John W. Eaton - - * ov.h (octave_value::struct_elt_val): New optional arg, silent. - * ov-base.h, ov-base.cc, ov-struct.h, ov-struct.cc: Likewise, but - for the derived classes the arg is required. - - * data.cc (Fstruct_contains): Require arguments to be struct and - string, respectively. Call octave_value::struct_elt_val with - silent flag set. - - * pt-mat.cc (tm_row_const::tm_row_const_rep::eval_error, - tm_row_const::tm_row_const_rep::eval_warning): New functions. - (tm_row_const::tm_row_const (const tree_matrix_row&): Use them to - give better error messages. - - * pt-fvc.cc (tree_identifier::eval): Avoid dereferencing null - object_to_eval. - -Tue Oct 15 11:35:51 1996 John W. Eaton - - * op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc - (complex_matrix_conv): New functions. - Install preferred assignment conversion and widening ops. - - * op-s-cm.cc, op-s-cs.cc (complex_matrix_conv): New functions. - Install preferred assignment conversion and widening ops. - - * op-s-m.cc, op-s-s.cc (matrix_conv): New functions. - Install preferred assignment conversion and widening ops. - - * ov.cc (octave_value::try_assignment_with_conversion, - octave_value::convert_and_assign, octave_value::try_assignment): - New functions. - (octave_value::assign): Use them to implement twisted logic for - type conversions in assigments. - - * pt-const.h (tree_constant::maybe_mutate): New function. - * ov.h (octave_value::maybe_mutate): New function. - (octave_value::try_narrowing_conversion): New function. - Use just one typedef for widening_op_fcn and numeric_conv_fcn. - Change all uses. - * ov-base.h, ov-complex.h, ov-complex.cc, ov-cx-mat.h, - ov-cx-mat.cc, ov-range.h, ov-range.cc, ov-re-mat.h, ov-re-mat.cc, - Provide derived class versions of try try_narrowing_conversion(). - - * pr-output.cc (octave_print_internal): Don't bother handing off - to scalar/real versions, even when it would seem appropriate. - - * symtab.cc (symbol_def::define (tree_constant *)): Call - maybe_mutate on constants here. - -Mon Oct 14 11:05:24 1996 John W. Eaton - - * pt-fvc.cc (tree_identifier::eval): If retval is undefined and - the object to eval is a constant, print error message. - - * Makefile (distclean): Remove *.oct too. - - * defun-int.h: Include variables.h here. - -Sun Oct 13 10:52:28 1996 John W. Eaton - - * variables.cc (print_symbol_info_line): Never print negative - diminsions. - - * symtab.h (octave_symbol_record_info): Store const_type as string. - (octave_symbol_record_info::init): Delete. Fix constructors. - (octave_symbol_record_info::type_name): Handle const_type as string. - - * octave.cc (maximum_braindamage): Replace "true" with 1.0 and - "false" with 0.0 in calls to bind_builtin_variable(). - Include sun-utils.h here. - (intern_argv): Also bind __argv__. - -Sat Oct 12 13:40:21 1996 John W. Eaton - - * Makefile.in (distclean): Also delete mk-oct-links. - -Fri Oct 11 13:13:13 1996 John W. Eaton - - Changes for Octave's new type system: - - * arith-ops.cc: Delete. - * pt-const.h, pt-const.cc: Massive changes. Most functionality - moved to ov.h, ov.cc, and derived classes. - - * variables.h, variables.cc (octave_variable_reference): New class - for getting references to variables and structure elements used in - assignments or value contexts. - - * symtab.h, symtab.cc (symbol_record::define (const octave_value&), - symbol_record::variable_value, symbol_record::variable_reference): - New functions. - (symbol_record_info::type_name): Rename from type_as_string. - - * pt-fvc-base.h, pt-fvc-base.cc (tree_fvc::increment, - tree_fvc::decrement): New functions to replace - tree_fvc::bump_value. - #if 0 assign and lookup_map_element functions. - - * pt-mvr.cc (tree_multi_assignment_expression::eval): - Generated RHS value is now a tree_constant. - - * pt-exp.h, pt-exp.cc (tree_boolean_expression): New class. - (tree_unary_expression, tree_binary_expression, - tree_boolean_expression): Move codes here from tree_expression. - (tree_simple_assignment_expression): Cope with changes to way of - doing assignments. - - * pt-exp-base.h, pt-exp-base.cc (enum type): Delete codes for - unary and binary ops. - (tree_expression::expression_type): Delete. - (tree_expression::is_logically_true): Hand off to - octave_value::is_true to do real work. - - * pr-output.h, pr-output.cc (any_element_is_inf_or_nan, - all_elements_are_ints): Delete. Call member new functions for - these operations. - (free_format, plus_format, bank_format, hex_format, - compact_format, print_e, print_big_e): Use bool, not int. - (octave_print_internal): Hand off to scalar/real versions when - appropriate. - - * octave.cc (main): Call initialize_types() and install_ops(). - (verbose_usage): Add WWW address to output. - - * parse.y (indirect_ref): Handle by making a tree instead of a - list using new version of tree_indirect_ref class. - - * parse.y (make_boolean_op): New function. Use it instead of - make_binary_op to create trees for && and || ops. - (make_binary_op): Codes come from tree_binary_expression now, - instead of tree_expression. - (make_unary_op): Codes come from tree_unary_expression now, - instead of tree_expression. - (make_boolean_op): Codes come from tree_boolean_expression. - - *parse.y (tree_constant_type): Change type to tree_constant* from - octave_value*, and rename from octave_value_type. Change uses. - - * defun.h (DEFVAR_INT): Pass octave_value not pointer to - octave_value for defn when creating builtin_variable. - - * gripes.h, gripes.cc (gripe_invalid_conversion): Args are - strings, not char*. - (gripe_implicit_conversion, gripe_divide_by_zero): New extern - gripe functions. - - * mkbuiltins: For each file, create a separate static function to - install builtins, then create another single extern function to - call all of them. - - * pt-fcn.cc (tree_function::bind_nargin_and_nargout): - Just pass doubles and let symbol_record::define handle creating - new value. - - * pt-pr-code.cc, pt-pr-code.h (visit_constant): Renamed from - visit_octave_value. - (visit_unary_expression): Use tree_expression::is_prefix_op() - instead of switch on op types. - - * pt-walk.h (visit_constant): Renamed from visit_octave_value. - - * pt-misc.cc (initialize_undefined_elements): Get reference to - tmp, then assign. - * pt-cmd.cc (do_for_loop_once): Likewise, for loop identifier. - - * input.cc (generate_struct_completions, looks_like_struct): Cast - tmp_fvc to tree_constant*, not octave_value*. - (get_user_input): Call print() on retval, not eval(1). - - * help.cc (Ftype): Cast defn to tree_constant*, not octave_value*. - - * balance.cc: Fix docstring. - - * dassl.cc, fsolve.cc, load-save.cc, lsode.cc, npsol.cc, qpsol.cc, - quad.cc: - Include pt-fvc.h. - - * data.cc (Fstruct_contains): call octave_value::struct_elt_val, - not octave_value::lookup_map_element. - - * dirfns.cc (Fcd): Pass directory name as string directly to - bind_builtin_variable instead of creating new octave_value. - - * toplev.cc: Include pt-fvc.h and lo-mappers.h - - * data.cc, error.cc, file-io.cc, load-save.cc, pager.cc, - pt-mat.cc, pt-plot.cc, syscalls.cc, toplev.cc: - Include variables.h. - - * Array-tc.cc, Map-tc.cc, SLList-misc.cc SLList-tc.cc, data.cc, - defaults.cc, dynamic-ld.cc, error.cc, gripes.cc, lex.l, octave.cc, - oct-map.h, oct-map.cc, oct-obj.h, pt-cmd.cc, pt-exp.cc, pt-fcn.cc, - pt-fvc-base.cc, pt-mat.cc, pt-misc.cc, pt-mvr-base.cc, pt-mvr.h, - resource.cc, strfns.cc, sysdep.cc, timefns.cc, toplev.cc: - Include ov.h instead of pt-const.h. - - * xpow.cc (any_element_is_negative): Delete. - (xpow and elem_xpow functions): Check conformance here. - - * xdiv.cc (mx_leftdiv_conform, mx_div_conform): - Now template-based, taking Matrices instead of dimensions as args. - Change all callers. - - * op-cm-cm.cc, op-cm-cm.h, op-cm-cs.cc, op-cm-cs.h, op-cm-m.cc, - op-cm-m.h, op-cm-s.cc, op-cm-s.h, op-cs-cm.cc, op-cs-cm.h, - op-cs-cs.cc, op-cs-cs.h, op-cs-m.cc, op-cs-m.h, op-cs-s.cc, - op-cs-s.h, op-m-cm.cc, op-m-cm.h, op-m-cs.cc, op-m-cs.h, op-m-m.cc, - op-m-m.h, op-m-s.cc, op-m-s.h, op-s-cm.cc, op-s-cm.h, op-s-cs.cc, - op-s-cs.h, op-s-m.cc, op-s-m.h, op-s-s.cc, op-s-s.h, - op-str-str.cc, op-str-str.h, ops.cc, ops.h, ov-base.cc, ov-base.h, - ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, ov-colon.h, ov-complex.cc, - ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, ov-range.cc, ov-range.h, - ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, - ov-str-mat.h, ov-struct.cc, ov-struct.h, ov-typeinfo.cc, - ov-typeinfo.h, ov-va-args.cc, ov-va-args.h, ov.cc, ov.h: - New files for Octave's new type system. - * Makefile.in: Add them to the appropriate lists. - -Sat Sep 14 21:58:33 1996 John W. Eaton - - * mkbuiltins: Use .df instead of .def. - Write one function for each .df file, then call them - all in install_builtin_functions(). - * Makefile.in: Handle .df instead of .def. - - * balance.cc (balance): Fix typo in doc string. - -Wed Aug 28 21:01:49 1996 John W. Eaton - - * octave.cc (verbose_usage): Include WWW address and bug-octave - mailing list address. - -Tue Aug 20 17:41:19 1996 John W. Eaton - - * Makefile.in: Only define pattern rules for making .oct files if - OCTAVE_LITE is true. - Only add pic/ to $(TI_OBJ) if $(SHARED_LIBS) is true. - (stamp-picdir): Only create a pic subdirectory if SHARED_LIBS or - OCTAVE_LITE is true AND CPICFLAG or CXXPICFLAG is not empty. - - * minmax.cc (Fmin, Fmax): Deal with changes to Matrix class - min/max methods. - -Thu Jul 25 01:42:38 1996 John W. Eaton - - * input.cc (generate_possible_completions): Force the names to be - unique. - - * load-save.cc (read_mat_binary_data): Expect to read terminating - NUL character in the variable name. - (save_mat_binary_data): Likewise, save it here. - -Wed Jul 24 05:08:07 1996 John W. Eaton - - * lsode.cc (Flsode): Don't set the return value if an error - occurred during integration. - * dassl.cc (Fdassl): Likewise. - - * file-io.cc (symbols_of_file_io): Redefine values of SEEK_SET, - SEEK_CUR, and SEEK_END for Matlab compatibility. - * oct-stream.cc (seek): Check for compatible values of ORIGIN arg. - Also handle "bof", "cof", and "eof". - -Fri Jul 19 15:24:36 1996 John W. Eaton - - * pt-const.cc: When creating octave_value_reps from ComplexMatrix - values, check to see if all the elements are actually real. - -Tue Jul 16 10:53:42 1996 John W. Eaton - - * input.cc (decode_prompt_string): Swap meanings of \h and \H. - -Mon Jul 15 16:01:51 1996 John W. Eaton - - * toplev.cc (run_command_and_return_output): Renamed from do_system. - (Fsystem): Make `system ("emacs")' work as one would expect. - -Sun Jul 14 17:34:33 1996 John W. Eaton - - * file-io.cc (Ffopen, Ffread, Ffwrite): Update doc strings, - correctly handle default architecture and precision args. - - * load-save.cc (mopt_digit_to_float_format): Rename from - get_floating_point_format. - (float_format_to_mopt_digit): New function. - - * oct-stream.cc (octave_base_stream::read, octave_base_stream::write): - Simplify by calling Matrix::read and Matrix::write to do real work - of reading, writing, and format conversion. - - * oct-stream.h (octave_base_stream): Move data_type enum to - liboctave/data-conv.h. Use float_format from - liboctave/mach-info.h instead of arch_type enum. - - * sysdep.h, sysdep.cc (octave_words_big_endian, ten_little_endians): - Delete. Now part of oct_mach_info class in liboctave. - -Tue Jul 9 11:18:59 1996 John W. Eaton - - * arith-ops.cc, balance.cc, dassl.cc, data.cc, filter.cc, find.cc, - fsolve.cc, load-save.cc, log.cc, lsode.cc, minmax.cc, npsol.cc, - oct-obj.cc, oct-stream.cc, pr-output.cc, pt-cmd.cc, pt-const.cc, - pt-fvc.cc, pt-plot.cc, quad.cc, rand.cc, sighandlers.cc, sort.cc, - syscalls.cc, unwind-prot.cc, xdiv.cc, xpow.cc: - When indexing arrays, use operator() instead of elem() so that - bounds checking can be done consistently. - -Mon Jun 24 02:13:27 1996 John W. Eaton - - * Makefile.in (install-oct): Use INSTALL_PROGRAM, instead of - INSTALL_DATA for installing shared libraries. - - * lex.l (grab_help_text): Ignore all initial comment characters, - not just the first. - * variables.cc (gobble_leading_white_space): Likewise. - -Sat Jun 22 22:43:45 1996 John W. Eaton - - * input.h, input.cc (octave_completion_matches_called): New varaible. - (Fcompletion_matches): Set it to true on a successful call. - * toplev.cc (main_loop): If octave_completion_matches_called is - true, don't increment current_command_number. - -Thu Jun 13 03:52:19 1996 John W. Eaton - - * variables.cc (is_mapper_function_name, - is_builtin_function_name): New functions. - (Fdocument): Use them. - Define as regular function, not a text style function. - -Thu Jun 6 00:09:25 1996 John W. Eaton - - * pt-plot.cc: Handle new built-in variable `gnuplot_has_frames'. - -Wed Jun 5 14:45:04 1996 John W. Eaton - - * input.cc (decode_prompt_string): \h now means the whole host - name and \H is the host name up to the first `.'. - -Thu May 30 23:41:51 1996 John W. Eaton - - * fn-cache.cc (octave_fcn_file_name_cache::do_list): Always - recompute the lists of function files instead of trying to cache - them. - -Tue May 28 12:05:24 1996 John W. Eaton - - * utils.cc (warn_old_style_preference): New function. - (check_preference): Use it. - - * fn-cache.h: Include here. - -Fri May 24 00:57:14 1996 John W. Eaton - - * input.cc (completion_matches): Don't return empty string_vectors. - - * octave.cc (long_opts): Add braindead. - -Thu May 23 01:49:33 1996 John W. Eaton - - * input.cc (gnu_readline): New optional arg, force_readline. - (get_user_input): Use it. - - * pt-const.cc (OCT_VAL_REP::assign): If converting the rhs to a - numeric value, convert a copy, not the actual object. - (OCT_VAL_REP::do_index): Prevent s([]) from resulting in a string - with zero rows. - - * mappers.cc: Handle toascii here. - * strfns.cc: Not here. - - * mappers.cc: Handle tolower and toupper here. - * mappers.h: Rename can_return_complex_for_real to flag and - overload meaning for ch_mapper. - * pt-fvc.cc (apply_mapper_fcn): Handle overloaded meaning. - - * syscalls.cc (stat): Return 3 values instead of just 1. - (lstat): Likewise. - -Wed May 22 02:34:20 1996 John W. Eaton - - * pt-const.cc (OCT_VAL_REP::make_numeric): For string to number - conversions, correctly set type tag before calling force_numeric. - (do_binary_op): Force string to number conversion if both args are - strings and we are doing some sort of comparison operation. - - * Makefile.in (stamp-tinst, stamp-interp): Use SH_TERMLIBS and - SH_LIBS instead of TERMLIBS and LIBS. - - * pt-const.cc (do_unary_op): Add special case to handle - transposing strings. - - * pt-mat.cc (Vstring_fill_char): New variable. - (symbols_of_pt_mat): DEFVAR it. - - * input.cc (generate_struct_completions, - generate_possible_completions): Return string_vector, not char **. - Change all callers. - - * pt-const.cc (lookup_map_element): Use substr() correctly. - -Tue May 21 21:37:17 1996 John W. Eaton - - * oct.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - - * octave.cc: New args --no-site-file and --no-init-file. Delete - --ignore-init-file. The flag --norc (-f) implies both - --no-site-file and --no-init-file. - -Fri May 17 01:54:51 1996 John W. Eaton - - * input.cc (Fcompletion_matches): New function. - - * utils.cc (get_fcn_file_names): Delete. - * help.cc (simple_help): Use new file name cache instead of - calling get_fcn_file_names. - * variables.cc (make_name_list): Likewise. - - * fn-cache.h, fn-cache.cc, Map-fnc.cc: New files. - * Makefile.in: Add them to the lists. - - * Makefile.in (uninstall): Install in octincludedir, not includedir. - - * pt-plot.h: Include here. - -Thu May 16 10:52:51 1996 John W. Eaton - - * oct-stream.cc (octave_stream::oscanf, octave_base_stream::oscanf, - octave_base_stream::do_oscanf): New functions for backward - compatibility with older versions of Octave. - (scanf_format_elt, scanf_format_list): Keep track of width specifier. - * file-io.cc (Fscanf): New function. - (Fscanf, Ffscanf, Fsscanf): Handle compatibility arg. - -Wed May 15 01:00:12 1996 John W. Eaton - - * oct-stream.cc (do_scanf): If doing '%c' conversion, unset - ios::skipws on input stream. - - * sighandlers.h, sighandlers.cc (octave_child, octave_child_list): - New classes for keeping track of the child processes we create. - (sigchld_handler): Check in octave_child_list to see if there is - anything we can do for the child that died. - * pager.cc: Register child pager process. - * pt-plot.cc: Likewise, for the plotter. - * Array-oc.cc: New file - * Makefile.in (TI_SRC): Add it to the list. - - * pager.cc (do_sync): Don't check error_state. - (flushing_output_to_pager): New static variable. - (flush_octave_stdout): Use it to avoid doing anything if already - flushing output. - - * sighandlers.cc (sigchld_handler): Call warning instead of - writing directly to cerr. - (sigpipe_handler): Call warning instead of message. - - * octave.cc (main): Call install_signal_handlers, - initialize_file_io, initialize_symbol_tables, and install_builtins - before parsing command line options. - - * user-prefs.h, user-prefs.cc: Delete. - - * utils.cc (check_preference): Move here. - * user-prefs.cc: From here. - - * defaults.cc: New file. Move initialization stuff from - variables.cc. Move DEFVARS for EDITOR, EXEC_PATH, LOADPATH, - IMAGEPATH, and OCTAVE_VERSION here. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - INFO_FILE and INFO_PROGRAM. - * help.cc: Move all of that here. - (symbols_of_help): Add DEFVARS for INFO_FILE and INFO_PROGRAM. - -Tue May 14 00:23:06 1996 John W. Eaton - - * pager.cc (do_sync): Be more defensive about sending stuff to the - external pager. - * sighandlers.cc (sigchld_handler): For now, only wait for - octave_pager_pid. Don't call error(). Do set octave_pager_pid to - -1 if the pager process no longer exists. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - PWD. - * dirfns.cc: Move all of that here. - (symbols_of_dirfns): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - default_save_format and save_precision. - * load-save.cc: Move all of that here. - (symbols_of_load_save): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - warn_divide_by_zero. - * arith-ops.cc: Move all of that here. - (symbols_of_arith_ops): New function. - * variables.cc (install_builtin_variables): Call it. - - * mappers.cc: Add wrappers for ctype is* functions so that they - will work on systems that only define them as macros. - -Mon May 13 00:27:08 1996 John W. Eaton - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - suppress_verbose_help_message. - * help.cc: Move all of that here. - (symbols_of_help): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - treat_neg_dim_as_zero. - * pt-const.cc: Move all of that here. - - * pager.cc (octave_pager_stream::do_sync): Don't return early if - not interactive. - - * data.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * data.cc (symbols_of_data): New function. Move definition of I, - Inf, J, NaN, e, eps, i, inf, j, nan, pi, realmin, and realmax here. - * variables.cc: From here. - (install_builtin_variables): Call symbols_of_data. - - * file-io.cc (symbols_of_file_io): New function. Move definition - of SEEK_CUR, SEEK_END, SEEK_SET, stdin, stdout, stderr here. - * variables.cc: From here. - (install_builtin_variables): Call symbols_of_file_io. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - do_fortran_indexing, implicit_str_to_num_ok, - ok_to_lose_imaginary_part, prefer_column_vectors, - prefer_zero_one_indexing, print_answer_id_name, - propagate_empty_matrices, resize_on_range_error, and - struct_levels_to_print. - * pt-const.cc: Move all of that here. - (symbols_of_pt_const): New function. - * variables.cc (install_builtin_variables): Call it. - * pt-fvc.cc (tree_identifier::assign): Use Vresize_on_range_error - instead of user_pref.resize_on_range_error here. - * load-save.cc (save_mat_binary_data): Use Vimplicit_str_to_num_ok - instead of user_pref.implicit_str_to_num_ok here. - * utils.cc (empty_arg): Use Vpropagate_empty_matrices instead of - user_pref.propagate_empty_matrices here. - * pt-exp-base.cc (tree_expression::is_logically_true): Likewise.. - - * pt-fcn.cc (symbols_of_pt_fcn): Also move DEFVAR for - default_return_value here. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - ps1, ps2, ps4, and completion_append_char. - * input.cc: Move all of that here. - (symbols_of_input): New function. - * variables.cc (install_builtin_variables): Call it. - * pt-pr-code.cc (indent): Use Vps4 instead of user_pref.ps4 here. - * help.cc (Ftype): Also here. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - automatic_replot, gnuplot_binary, and gnuplot_has_multiplot. - * pt-plot.cc: Move all of that here. - (symbols_of_pt_plot): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - beep_on_error. - * error.cc: Move all of that here. - (symbols_of_error): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - empty_list_elements_ok. - * pt-mat.cc: Move all of that here. - (symbols_of_pt_mat): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - define_all_return_values, return_last_computed_value, and - silent_functions. - * pt-fcn.cc: Move all of that here. - (symbols_of_pt_fcn): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - whitespace_in_literal_matrix. - * lex.l: Move all of that here. - (symbols_of_lex): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - warn_assign_as_truth_value, warn_comma_in_global_decl, - warn_function_name_clash, and warn_missing_semicolon. - * parse.y: Move all of that here. - (symbols_of_parse): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - output_precision, output_max_field_width, print_empty_dimensions, - and split_long_rows. - * pr-output.cc: Move all of that here. - (symbols_of_pr_output): New function. - * variables.cc (install_builtin_variables): Call it. - - * user-prefs.h, user-prefs.cc: Delete all stuff related to - page_screen_output, page_output_immediately, and pager_binary. - * pager.cc: Move all of that here. - - * user-prefs.h (check_preference): Provide declaration. - * user-prefs.cc (check_preference): Make external. - - * toplev.cc (Foctave_config_info): New function. - - * oct-conf.h.in: New file - * Makefile.in (oct-conf.h): New target. - Add it to the appropriate lists. - - * sighandlers.cc (sigchld_handler): Don't complain about wait - returning a negative value. - - * file-io.cc (Fsscanf, Fsprintf): Pass true for second arg of - octave_stream constructor. - - * oct-stream.h (octave_stream): New field, preserve. - (octave_stream::~octave_stream): If preserve, don't delete rep. - - * pager.cc (symbols_of_pager): Set default for - page_output_immediately to 0. - - * toplev.cc (do_system): Correctly handle return_output. - Append ends to output_buf before calling str(). - - * variables.cc: If M_PI and M_E are available, use them. - - * mk-oct-links.in (links_dir): If old link exists, delete it first. - -Sun May 12 01:46:07 1996 John W. Eaton - - * Makefile.in (DISTFILES): List defaults.h.in and oct-gperf.h here. - (INCLUDES): Not here. - (install-inc): New target. - (uninstall): Also delete libraries and include files. - (install-inc): If linkdir is a directory, leave it alone. - (TERMLIBS, LIBPLPLOT, LIBDLFCN): Don't substitute here (now in - Makeconf). - - * oct-stream.cc (octave_base_stream::do_read): Provide initial - value for tmp var. - - * pt-walk.h, pt-pr-code.h, pt-pr-code.cc: New tree-walking classes. - * Makefile.in: Add them to the appropriate lists. - * pt-fvc-base.h, pt-exp-base.cc, pt-fvc-base.cc, pt-mvr-base.cc, - pt-base.cc, pt-mvr.cc, pt-mat.h, pt-mat.cc, pt-fvc.cc, - pt-const.cc, pt-cmd.cc, pt-const.h, pt-misc.cc, pt-plot.cc, - pt-fcn.cc, pt-plot.h, pt-mvr.h, pt-mvr-base.h, pt-misc.h, - pt-fcn.h, pt-exp.h, pt-exp.cc, pt-exp-base.h, pt-fvc.h, pt-cmd.h, - pt-base.h: - Replace print_code stuff with accept() functions. - Add member access functions where necessary. - * help.cc (Ftype): Update to use new method of walking trees to - print text representation of user-defined functions. - - * file-io.cc (Ffscanf): Update doc string. - (Fsscanf): Likewise. - - * oct-stream.cc (octave_base_stream::do_read): Correctly set max_size. - Pad mval with zeros on final resize. - (octave_base_stream::do_scanf): Likewise. - (do_scanf_conv): Correctly resize mval. - -Sat May 11 05:14:09 1996 John W. Eaton - - * pager.cc (octave_pager_buf::sync): Correctly set bypass_pager. - - * lex.l ({SNLCMT}*\]{S}*): Match SNLCMT, not just SNL. - -Fri May 3 11:05:30 1996 John W. Eaton - - * pt-const.cc (OCT_VAL_REP::set_index): Complain if type can't be - indexed. - - * input.cc (get_user_input): Don't increment input line number if - input is coming from eval string. - - * user-prefs.cc: Allow empty strings for prompts. - -Thu May 2 10:50:29 1996 John W. Eaton - - * pt-mvr.h (class tree_oct_obj): Declare values data member const. - -Sun Apr 28 03:16:52 1996 John W. Eaton - - * user-prefs.h (user_preferences): New field, - `page_output_immediately'. - * user-prefs.cc (init_user_prefs): Initialize it. - (page_output_immediately): New function. - * pager.cc (syms_of_pager): Add DEFVAR. - (really_flush_to_pager): New file-scope variable. - (flush_octave_stdout): Set and restore it. - (octave_pager_buf::sync): Check it, user_pref.page_screen_output, - and user_pref.page_output_immediately to decide when to really - flush output. - (more_than_a_screenful): New function. If paging but not - immediately, then check this too. - - * pager.cc (default_pager): Move here from variables.cc. If pager - is less and LESS is not in the environment, append useful flags. - (symbols_of_pager): New function. - * variables.cc (install_builtin_variables): Call it. - Delete pager-related DEFVARs. - - * syswait.h (WIFSIGNALLED): Define if sys/wait.h doesn't. - - * sighandlers.cc: Handle SIGCHLD. - - * pager.cc, pager.h: Rewrite. - * pt-mvr.cc, pt-misc.cc, pt-fcn.cc, pt-const.cc, oct-hist.cc, - file-io.cc, help.cc, variables.cc, qpsol.cc, dassl.cc, quad.cc, - npsol.cc, lsode.cc, fsolve.cc, load-save.cc, dirfns.cc, octave.cc, - toplev.cc, error.cc, input.cc: - Write to octave_stdout and octave_diary instead of calling - maybe_page_output() or maybe_write_to_diary_file(). - - * oct-procbuf.h, oct-procbuf.cc: New files. - * procstream.h (class procstreambase): Use octave_procbuf instead - of procbuf from libg++, so we can get pids of subprocesses. - -Fri Apr 26 01:21:29 1996 John W. Eaton - - * pt-const.cc (OCT_VAL_REP::do_index): Call maybe_mutate() before - returning. - - * mappers.h (struct Mapper_fcn): Delete. - (struct builtin_mapper_function): New field ch_mapper. - * pt-fvc.h (tree_builtin): Convert type of mapper_fcn from - Mapper_fcn to builtin_mapper_function. - * variables.cc (install_builtin_mapper): Likewise, for arg. - Simplify, since we don't have to do the copying ourselves now. - * pt-fvc.cc (apply_mapper_function): Handle ch_mapper case. - * defun.h (DEFUN_MAPPER): Likewise. - * mappers.cc (install_builtin_mappers): Likewise. - Add ctype is* functions here. - -Thu Apr 25 00:57:06 1996 John W. Eaton - - * arith-ops.h, defun-int.h, defun.h, dynamic-ld.h, gripes.h, - load-save.h, oct-map.h, oct-obj.h, oct-stream.h, pt-cmd.h, - pt-const.h, pt-exp-base.h, pt-exp.h, pt-fcn.h, pt-fvc-base.h, - pt-fvc.h, pt-mat.h, pt-misc.h, pt-mvr-base.h, pt-mvr.h, pt-plot.h, - symtab.h, toplev.h, utils.h, variables.h, xpow.h, Array-tc.cc, - Map-i.cc, Map-tc.cc, SLList-tc.cc, arith-ops.cc, balance.cc, - bogus.cc, chol.cc, colloc.cc, dassl.cc, data.cc, det.cc, - dirfns.cc, eig.cc, error.cc, expm.cc, fft.cc, fft2.cc, file-io.cc, - filter.cc, find.cc, fsolve.cc, fsqp.cc, givens.cc, gripes.cc, - help.cc, hess.cc, ifft.cc, ifft2.cc, input.cc, inv.cc, - load-save.cc, log.cc, lpsolve.cc, lsode.cc, lu.cc, minmax.cc, - npsol.cc, oct-hist.cc, oct-obj.cc, oct-stream.cc, pager.cc, - pinv.cc, pr-output.cc, pt-cmd.cc, pt-const.cc, pt-exp-base.cc, - pt-exp.cc, pt-fcn.cc, pt-fvc-base.cc, pt-fvc.cc, pt-mat.cc, - pt-misc.cc, pt-mvr-base.cc, pt-mvr.cc, pt-plot.cc, qpsol.cc, - qr.cc, quad.cc, qzval.cc, rand.cc, resource.cc, schur.cc, sort.cc, - strfns.cc, svd.cc, syl.cc, symtab.cc, syscalls.cc, sysdep.cc, - timefns.cc, toplev.cc, utils.cc, variables.cc, xpow.cc, parse.y: - Rename tree_constant -> octave_value. - Rename Octave_object -> octave_value_list. - -Wed Apr 24 22:15:34 1996 John W. Eaton - - * toplev.cc (Fsystem): Merge functionality of async_system and - sync_system. - - * oct-fstrm.h, oct-iostrm.h, oct-prcstrm.h, oct-stdstrm.h, - oct-stream.h, oct-strstrm.h, oct-fstrm.cc, oct-iostrm.cc, - oct-prcstrm.cc, oct-stdstrm.cc, oct-stream.cc, oct-strstrm.cc, - Array-os.cc: New files. - * Makefile.in: Add them to the appropriate lists. - * file-io.cc: Rewrite to use new stream classes. - -Tue Apr 23 18:59:25 1996 John W. Eaton - - * gripes.cc (gripe_not_supported): New function. - - * toplev.cc (do_octave_atexit, Fatexit): New functions. - (octave_atexit_functions): New file-scope variable. - * octave.cc (main): Register do_octave_atexit with atexit. - - * variables.cc (install_builtin_variables): Call - symbols_of_syscalls here. - - * syscalls.h, syscalls.cc: New files. - -Mon Apr 22 21:14:01 1996 John W. Eaton - - * syscalls.cc: New file. - (Flstat, Fmkfifo, Fstat, Funlink, Fwait, Fwaitpid): Move here. - * file-io.cc: From here. - * Makefile.in (SOURCES): Add syscalls.cc to the list. - -Wed Apr 17 18:34:10 1996 John W. Eaton - - * file-info.h, file-info.cc: Delete files. - * Makefile.in: Remove from lists. - - * toplev.cc (Fquit): Accept exit status argument. - (Fflops): Delete (now a function file). - -Thu Apr 11 16:20:20 1996 John W. Eaton - - * lex.l: Recognize `.'. - Update current_input_column even for unrecognized characters. - Return LEXICAL_ERROR for unrecognized characters. - -Mon Apr 8 19:59:01 1996 John W. Eaton - - * variables.cc (install_builtin_variables): Split into several - functions to make compiling with g++ go faster and consume less - memory. - -Sun Apr 7 16:25:35 1996 John W. Eaton - - * load-save.cc (Fsave): Print usage if i == argc. - (Fload): Likewise. - -Sat Apr 6 21:26:49 1996 John W. Eaton - - * Makefile.in (clean): Also delete pic/*.o - (maintainer-clean, distclean): Also remove stamp-picdir, - stamp-tinst, stamp-interp, and pic directory. - (stamp-prereq): New target. - -Wed Apr 3 11:19:30 1996 Rick Niles - - * resource.cc: Don't make including sys/resource.h and sys/times.h - mutually exclusive. - -Fri Mar 29 13:43:37 1996 John W. Eaton - - * Makefile.in (distclean): Delete so_locations, which is created - on DEC Alpha systems. - -Thu Mar 28 02:53:48 1996 John W. Eaton - - * utils.h (undo_string_escape): Provide extern declaration here. - - * lex.l (NL): Allow \r\n as new line character. - (.): Complain if invalid character is found on input - -Fri Mar 22 03:47:52 1996 John W. Eaton - - * resource.cc (getrusage): If getrusage is missing, try using - times to at least fill in the cpu time values. If neither one is - available, return 0 for cpu times instead of NaN. - - * sighandlers.cc (octave_signal_mask): New file-scope variable. - (octave_save_signal_mask, octave_restore_signal_mask): New functions. - * toplev.cc (main_loop): Use them. - -Wed Mar 20 01:21:28 1996 John W. Eaton - - * utils.cc (get_fcn_file_names (const string&, int)): Resize - retval to value of k, not i. - (get_fcn_file_names (int)): In loop for copying names to retval, - don't increment j twice. - -Mon Mar 18 22:27:19 1996 John W. Eaton - - * Makefile.in ($(MAKEDEPS)): Depend on oct-gperf.h. - -Fri Mar 1 18:15:52 1996 John W. Eaton - - * fsolve.cc (fsolve_options): Delete unused argument nargout. - - * filter.cc: Use MArray instead of Array so that automatic - conversions will work again. - -Tue Feb 27 04:49:51 1996 John W. Eaton - - * variables.cc (looks_like_octave_copyright): Make the strings - that we are trying to match both have length 29. - - * Makefile.in (install-bin): Use $(INSTALL_PROGRAM), not $(INSTALL). - - * load-save.cc (read_mat_binary_data): Make sure name is - NUL terminated. - -Mon Feb 26 18:18:45 1996 John W. Eaton - - * variables.cc (whos): Make argv from tmp_args, not args. - - * defun.h (DEFCONSTX): Don't stringify name. - -Sat Feb 24 01:12:59 1996 John W. Eaton - - * Makefile.in (install-oct): Make mk-oct-links executable. - * mk-oct-links.in (links_dir): Update to match new format of - DEFUN_DLD_BUILTIN macro. Use LN_S, not just LN. - (links_dir): - - * pr-output.cc (octave_print_internal): New arg, extra_indent, for - versions of this function that take matrices and ranges. - * pt-const.cc (TC_REP::print (ostream&)): Fix printing of structures. - Pass struct_indent to octave_print_internal as appropriate. - (print_with_name (ostream&, const string&, bool)): Handle spacing - around `=' differently for structures. - -Fri Feb 23 04:51:04 1996 John W. Eaton - - * token.cc (token (double, const string&, int, int)): Store orig_text. - -Tue Feb 20 20:36:01 1996 John W. Eaton - - * variables.cc (Fclear): Fix off-by-one error. - -Sat Feb 17 16:54:02 1996 John W. Eaton - - * oct-hist.cc (default_history_file): Append "/.octave_hist" to - return value, not to home_directory. - -Fri Feb 16 18:10:46 1996 John W. Eaton - - * utils.cc: (NINT, D_NINT): Move to liboctave. - - * sysdep.cc (octave_ieee_init): Move to liboctave. - - * procstream.h, procstream.cc: Rewrite. - - * pager.cc (cleanup_oprocstream): New static function. - * toplev.cc (cleanup_iprocstream): Likewise. - * dirfns.cc (cleanup_iprocstream): Likewise. - - * unwind-prot.cc (matrix_cleanup, complex_matrix_cleanup): Delete. - -Thu Feb 15 22:03:28 1996 John W. Eaton - - * oct-obj.cc, oct-obj.h: Move most code to the header. - - * oct-obj.cc (make_argv, all_strings): New member functions. - * utils.cc: Moved from here. - - * load-save.cc: Move byte swapping stuff to liboctave. - Move float format conversion stuff to liboctave. - (all_parts_int, too_large_for_float): Move to liboctave. - - * symtab.cc (valid_identifier): Move here. - * load-save.cc: From here. - - * sysdep.cc: Move floating-point format stuff to liboctave. - * pr-output.cc: Include float-fmt.h here. - -Wed Feb 14 01:49:20 1996 John W. Eaton - - * defun.h, defun-dld.h, defun-int.h: Simplify interface for DEFUN, - DEFUN_DLD, DEFVAR, and DEFCONST macros. Change all uses. - - * qzval.cc: Move guts to liboctave. - -Tue Feb 13 10:28:27 1996 John W. Eaton - - * variables.cc (parse_fcn_file): Also avoid saving history if - input is from a script file. - - * help.cc (Ftype): Call unwind_protect_str for user_pref.ps4. - - * npsol.cc (nonlinear_constraints_ok): Now static. - - * npsol.cc (linear_constraints_ok): Now static. - * qpsol.cc (linear_constraints_ok): Duplicate here. - - * data.cc (Flinspace): Don't print usage message if nargin == 2. - -Sun Feb 11 14:20:32 1996 John W. Eaton - - * mk-oct-links.in: Rename from mk-oct-links. - (LN_S): Use this variable instead of ln. - Set -e option for shell. - Exit with status of last command. - Print message when making link. - * Makefile.in (DISTFILES): Add mk-oct-links.in to the list. - (install-oct): Run ./mk-oct-links, not $(srcdir)/mk-oct-links. - - * variables.cc (install_builtin_variables): Restore accidentally - deleted DEFVAR for save_precision. - -Fri Feb 9 11:24:32 1996 John W. Eaton - - * Makefile.in (INCLUDES): Delete statdefs.h from the list (it's - now in the liboctave directory). - - * toplev.cc (toplevel): Define here. - * octave.cc (toplevel): Not here. - - * toplev.cc (main_loop): New function. - * octave.cc (main): Call it here instead of doing main loop - actions here. - - * user-prefs.cc (do_fortran_indexing): Also set liboctave_dfi_flag. - (prefer_column_vectors): Also set liboctave_pcv_flag. - (prefer_zero_one_indexing): Also set liboctave_pzo_flag. - (resize_on_range_error): Also set liboctave_rre_flag. - - * variables.cc (restore_command_history): New function. - (parse_fcn_file): Use it here in unwind_protect. - - * dynamic-ld.cc (load_octave_oct_file): Reverse sense of test. - (load_octave_builtin): Delete. - (mangle_octave_oct_file_name): Delete. - - * pt-fvc.cc (tree_builtin::eval): Don't try to dynamically load - functions here. - - * pr-output.cc (set_format_style): Decrement argc for first arg too. - - * input.cc (gnu_readline): If readline returns an empty string, - convert it to a string containing a single newline character. - - * octave.cc (octave_argv): Now a static string_vector. - (intern_argv): Use string_vector ops, not charMatrix ops. - * toplev.cc (octave_argv): Delete definition. - * toplev.h (octave_argv): Delete declaration. - -Thu Feb 8 10:58:24 1996 John W. Eaton - - * Makefile.in (conf-dist): New target. - -Tue Feb 6 10:59:45 1996 John W. Eaton - - * help.cc (Ftype): Correctly handle structure names. - -Sun Feb 4 02:02:20 1996 John W. Eaton - - * qpsol.cc (Fqpsol): Call set_options(), not copy() to set - options for QPSOL objects. - - * npsol.cc (Fnpsol): Call set_options(), not copy() to set - options for NPSOL objects. - - * quad.cc (Fquad): Call set_options(), not copy() to set - options for Quad objects. - - * dynamic-ld.cc (load_octave_builtin): Don't call destructor on string. - (load_octave_oct_file): Likewise. - Check oct_file.empty(), not just oct_file. - - * fsolve.cc (Ffsolve): Call set_options(), not copy() to set - options for NLEqn object. - - * variables.cc (do_who): Properly set match patterns from argument - vector for call to maybe_list. - -Sat Feb 3 03:29:33 1996 John W. Eaton - - * octave.cc (long_opts): Properly set second field using new enum. - - * lsode.cc: Change ODE to LSODE where appropriate. - Use LSODE_options, not ODE_options. - - * dassl.cc: Change DAE to DASSL where appropriate. - Use DASSL_options, not ODE_options. - -Fri Feb 2 01:41:37 1996 John W. Eaton - - * dirfns.cc: Include unistd.h. - - * parse.y, lex.l: Handle matrix lists without ml or mlnm stacks. - * pt-mat.h, pt-mat.cc (tree_matrix): - Rewrite to use SLList instead of home brew list. - * SLList-tm.cc: New file - * Makefile.in: Add it to the lists. - * SLStack-tm.cc: Delete. - * Makefile.in: Delete it from the lists. - - * All pt-* files: Use bool instead of int where appropriate. - - * Makefile.in (DEP_SOURCES_3): Add octave.cc. - - * pt-const.h (class tree_constant::tree_constant_rep): Make - everything in this class public, then it doesn't need to declare - the tree_constant class as a friend. - -Thu Feb 1 01:42:45 1996 John W. Eaton - - * lex.h, lex.l, parse.h, parse.y (class lexical_feedback): New - class for lexer flags. Replace lots of global vars with members - of this class. - - * lex.l (class brace_paren_nesting_level): New class to replace - nesting_level stack. nesting_level is now an instance of this - class. - - * lex.l (yum_yum): New typedef. - (ATE_NOTHING): New global var. - (ATE_SPACE_OR_TAB, ATE_NEWLINE): Don't #define these, declare them - as const yum_yum. - (eat_whitespace, eat_continuation): Return yum_yum, not int. - - * lex.l (SHORT_CIRCUIT_LOGICALS): Delete. Always do this for || - and && tokens. - (yy_flex_alloc, yy_flex_realloc, yy_flex_free, next_char_is_space): - Delete. - - * toplev.cc (verbose_flag): Delete definition. - * toplev.h (verbose_flag): And declaration. - * octave.cc (verbose_flag): Now static. - - * lex.l (lookup_identifier): Arg is now string, not char*. - (handle_identifier, is_plot_keyword, is_keyword): Likewise. - (strip_trailing_whitespace): Return value is now string, not char*. - (plot_style_token): Likewise, for both arg and return value. - - * input.cc (octave_gets_line): Delete. - (gnu_readline, octave_gets, octave_read): - Properly handle input when using_readline is either true or false. - Don't limit length of input lines to flex buffer size. - (get_user_input): New function. - - * octave.cc (main): Handle --no-line-editing. - * toplev.h (using_readline): Provide external declaration here. - * input.h: Not here. - * toplev.cc (using_readline): Define here. - * input.cc: Not here. - - * toplev.h (no_line_editing): Delete declaration. - * input.cc (no_line_editing): Delete definition. - -Wed Jan 31 05:28:45 1996 John W. Eaton - - * input.cc (DEFAULT_ARRAY_SIZE, PROMPT_GROWTH): Delete definitions - of unused macros. - (read_octal): Now static. - - * givens.cc (Fgivens): Use new functions from matrix classes - instead of calling Fortran functions directly. - * syl.cc (Fsyl): Likewise. - * expm.cc (Fexpm): Likewise. - -Mon Jan 29 00:00:48 1996 John W. Eaton - - * octave.cc: Use new prog_args class instead of calling getopt - directly. - - * getopt.h, getopt.c, getopt1.c: Move to liboctave directory. - * Makefile: Remove from lists. - - * utils.cc (strconcat, read_until, discard_until): Delete. - - * pager.cc (terminal_columns, terminal_rows): Move to - liboctave/oct-term.cc. - * pager.cc, pr-output.cc: Include oct-term.h. - - * utils.cc (list_in_columns): Moved to liboctave/str-vec.cc. - Change all callers to use new member function syntax. - - * dirfns.cc (absolute_program): Now static. - (absolute_pathname): Delete. - - * pt-plot.cc (save_in_tmp_file): Call oct_tempnam, not - octave_tmp_file_name. Include file-ops.h. - * file-io.cc (do_scanf, Foctave_tmp_file_name): Likewise. - * oct-hist.cc (mk_tmp_hist_file): Likewise. - - * file-io.cc (Foctave_tmp_file_name): Move here. - * utils.cc: From here. - - * utils.cc (octave_tmp_file_name): Move to liboctave/file-ops.cc. - - * tempname.c, tempnam.c: Move to liboctave directory. - * Makefile.in: Remove from lists. - -Sun Jan 28 19:00:52 1996 John W. Eaton - - * xdiv.cc (all xdiv functions): Return Matrix or ComplexMatrix, - not tree_constant. - - * oct-hist.h, oct-hist.cc, toplev.cc, octave.cc, input.cc, - file-io.cc, user-prefs.cc: Rewrite to use new command_history - class instead of calling readline history functions directly. - - * utils.cc (get_fcn_file_names): Delete num arg. - -Thu Jan 25 20:33:54 1996 John W. Eaton - - * load-save.cc (matches_patterns): Use new glob_match class - instead of calling fnmatch directly. - * symtab.cc (matches_patterns, symbol_table::glob): Likewise. - * variables.cc (Fclear): Likewise. - -Wed Jan 24 02:05:22 1996 John W. Eaton - - * fnmatch.h fnmatch.c: Delete. - * Makefile.in: Add glob stuff in the appropriate places, remove - fnmatch.h and fnmatch.c from lists. - - * octave.cc (program_invocation_name, program_invocation_short_name): - Maybe declare. - (initialize_globals): Maybe initialize them. - - * octave.cc (initialize_pathsearch): Define here, not in pathsearch.cc. - * pathsearch.h, pathsearch.cc: Remove files. - * Makefile.in: Remove them from the lists. - - * help.cc (simple_help): Ignore directories that don't have any .m - or .oct files. - - * utils.cc (search_path_for_file): Use new dir_path class instead - of calling kpathsea routines directly. - (get_fcn_file_names): Likewise. - * help.cc (simple_help): Likewise. - - * dirfns.cc (make_absolute): Don't convert empty arg to "./". - - * sysdir.h: Move to liboctave directory. - * Makefile.in: Remove from lists. - - * dirfns.cc (Freaddir): Use new dir_entry class instead of calling - readdir directly. Include dir-ops.h, not sysdir.h. - * utils.cc (get_fcn_file_names): Likewise. Delete unnecessary - first arg, change all callers. - -Tue Jan 23 00:43:12 1996 John W. Eaton - - * safe-xstat.hin, safe-xstat.cin, statdefs.h, file-ops.h, - file-ops.cc, filemode.c, mkdir.c, rmdir.c, rename.c: - Files moved to liboctave directory. - * Makefile.in: Remove them from lists. Move appropriate rules. - - * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: - Files moved to liboctave directory. - * Makefile.in: Remove them from lists. - * missing-math.h: Deleted. - * pr-output.cc, sysdep.cc, minmax.cc, mappers.cc, expm.cc, - arith-ops.cc: Include oct-math.h, not cmath or missing-math.h. - -Mon Jan 22 19:33:05 1996 John W. Eaton - - * variables.cc (Fexist): Use file_stat instead of calling stat - directly. Include file-ops.h, not statdefs.h. - * octave.cc (execute_startup_files): Likewise. - * file-io.cc (file_io_get_file, fopen_internal, popen_internal, Fstat): - Likewise. - (mk_stat_map): Likewise, use file_stat object, not struct stat. - * oct-hist.cc (do_history): Likewise. - - * file-ops.h, file-stat.cc: New files. - * Makefile.in: Include them. - * dirfns.cc: Delete is_newer. Don't include statdefs.h. - * toplev.cc: Don't include statdefs.h. - -Sun Jan 21 22:48:03 1996 John W. Eaton - - * pt-mvr.h, pt-fvc.h, Map.cc, Map.h, dynamic-ld.h, - pt-fvc-base.cc, SLList-str.cc, pt-fcn.h, pt-fvc-base.h, - SLStack-str.cc, pt-mvr.cc, pt-exp.cc, token.h, token.cc, - user-prefs.h, pt-base.cc, user-prefs.cc, dirfns.h, sysdep.h, - sysdep.cc, input.h, parse.h, lex.l, parse.y, defun.h, mappers.h, - pt-fvc.cc, pt-plot.h, load-save.h, octave.cc, defun-int.h, help.h, - variables.h, oct-map.h, oct-obj.h, oct-obj.cc, pt-const.cc, - oct-map.cc, input.cc, symtab.h, pt-const.h, pathsearch.cc, - pr-output.h, pr-output.cc, toplev.h, timefns.cc, schur.cc, - pt-plot.cc, pager.cc, load-save.cc, dynamic-ld.cc, dirfns.cc, - data.cc, file-info.h, file-info.cc, colloc.cc, utils.h, qpsol.cc, - quad.cc, npsol.cc, lsode.cc, fsolve.cc, dassl.cc, file-io.cc, - help.cc, utils.cc, oct-hist.h, oct-hist.cc, symtab.cc, toplev.cc, - pt-fcn.cc, unwind-prot.h, unwind-prot.cc, variables.cc: - Most functions in these files that deal with character strings - have been converted to use the string class insatead of char*. If - you want more detailed information, you'll have to figure it out - for yourself. - -Sat Jan 20 18:19:12 1996 John W. Eaton - - * dynamic-ld.cc [WITH_DL]: Define RTLD_LAZY to be 1 if it is not - already defined. - -Sun Jan 14 07:48:05 1996 John W. Eaton - - * pt-const.cc (print_as_scalar, print_as_structure): - Make these member functions. - (tree_constant::print_with_name): New function, moved here from - old tree-expr.cc file (where it was called print_constant) and - converted to member function. Change all callers. - -Fri Jan 12 01:54:49 1996 John W. Eaton - - * octave.cc (initialize_globals): Don't do kpathsearch stuff here. - (main): Call initialize_pathsearch() here. - - * pathsearch.cc: New file. - * Makefile.in (SOURCES): Add it to the list - - * oct-hist.h: Rename from octave-hist.h. - * oct-hist.cc: Rename from octave-hist.cc. - * Makefile.in, parse.y, other .cc files: Cope with it. - - * dynamic-ld.cc: Avoid warnings if !WITH_DYNAMIC_LINKING. - - * load-save.cc (save_ascii_data): string::data() returns const char*. - - * utils.h: Don't provide forward declaration for tree_constant. - - * oct-obj.h: Don't include mx-base.h or provide forward - declarations for Matrix and Range types. - - * file-info.h: Don't include oct-obj.h. Do include cstdio. - - * symtab.h: Don't provide forward declaration for ostream. - - * variables.h: Don't provide forward declarations for istream, - ostrstream, tree, builtin_function, or builtin_variable objects. - - * balance.cc, chol.cc, colloc.cc, dassl.cc, det.cc, eig.cc, - expm.cc, fft.cc, fft2.cc, filter.cc, find.cc, fsolve.cc, fsqp.cc, - givens.cc, hess.cc, ifft.cc, ifft2.cc, inv.cc, log.cc, lpsolve.cc, - lsode.cc, lu.cc, minmax.cc, npsol.cc, pinv.cc, qpsol.cc, qr.cc, - quad.cc, qzval.cc, rand.cc, schur.cc, sort.cc, svd.cc, syl.cc: - Clean up #include statements. - - * pt-const.h: Don't include oct-obj.h or tree-base.h. - Provide forward declaration of Octave_object here. - * pt-const.cc: Include oct-obj.h here. - - * pt-mat.h, pt-fcn.h, pt-const.h, pt-misc.h, pt-plot.h, - pt-exp-base.h, pt-cmd.h, pt-fvc-base.h, pt-mvr-base.h, pt-exp.h, - pt-mvr.h, pt-fvc.h: New files, split from tree-expr.h and/or - renamed from other tree-*.h files (pt == parse tree). - * pt-base.cc, pt-const.cc, pt-exp.cc, pt-fvc-base.cc, pt-mat.cc, - pt-mvr-base.cc, pt-plot.cc, pt-cmd.cc, pt-exp-base.cc, pt-fcn.cc, - pt-fvc.cc, pt-misc.cc, pt-mvr.cc: Likewse, split from tree-expr.cc - and/or other tree-*.cc files. - * Makefile.in: Include them in the appropriate lists. - * All: Fix #include statements to match. - - * Array-tc.cc: Don't instantiate ArrayRep objects. - -Thu Jan 11 02:35:19 1996 John W. Eaton - - * tree-const.cc (tree_constant::eval (int, int, const Octave_object&)): - Define here instead of in tree-const.h. - -Wed Jan 10 04:34:20 1996 John W. Eaton - - * tree-const.h (tree_constant::tree_constant (const string&): - * tree-const.cc (TC_REP::tree_constant_rep (const string&)): - New constructor. - -Tue Jan 9 04:10:29 1996 John W. Eaton - - * rand.cc (do_rand): Use string_value() result directly instead of - c_str() conversion. - * balance.cc (Fbalance): Likewise. - - * tree-const.cc (TC_REP::string_value()): - Handle new definition of charMatrix::row_as_string() - * load-save.cc (save_ascii_data): Ditto. - (save_binary_data): Ditto. - * pr-output.cc (octave_print_internal): Ditto. - - * balance.cc (Fbalance): - Handle new definition of TC_REP::string_value() - * colloc.cc (Fcolloc): Ditto. - * dassl.cc (Fdassl_options): Ditto. - * data.cc (Fstruct_contains): Ditto. - * dirfns.cc (Fmkdir): Ditto. - (Freaddir): Ditto. - (Frmdir): Ditto. - (Frename): Ditto. - * error.cc (handle_message): Ditto. - * file-io.cc (process_printf_format): Ditto. - (fopen_internal): Ditto. - (file_io_get_file): Ditto. - (return_valid_file): Ditto. - (Flstat): Ditto. - (Fstat): Ditto. - (unlink_internal): Ditto. - (mkfifo_internal): Ditto. - (async_system_internal): Ditto. - (sync_system_internal): Ditto. - (execute_internal): Ditto. - (popen_internal): Ditto. - (fwrite_internal): Ditto. - (fread_internal): Ditto. - (do_printf): Ditto. - (do_scanf): Ditto. - * input.cc (get_user_input): Ditto. - * lsode.cc (Flsode_options): Ditto. - * npsol.cc (Fnpsol_options):Ditto. - * qpsol.cc (Fqpsol_options):Ditto. - * quad.cc (Fquad_options): Ditto. - * rand.cc (do_rand): Ditto. - * schur.cc (Fschur): Ditto. - * sysdep.cc (Fputenv): Ditto. - (Fgetenv): Ditto. - * timefns.cc (extract_tm): Ditto. - (Fstrftime): Ditto. - * toplev.cc (Fsource): Ditto. - (eval_string): Ditto. - (Fsystem): Ditto. - * tree-plot.cc (subplot::handle_plot_data): Ditto. - * variables.cc (is_valid_function): Ditto. - (Fis_global): Ditto. - (Fexist): Ditto. - (builtin_string_variable): Ditto. - * utils.cc (make_argv): Ditto. - (Fundo_string_escapes): Ditto. - -Mon Jan 8 01:54:50 1996 John W. Eaton - - * Makefile.in (install-bin): Use $(LN_S), not just ln. - - * variables.cc (octave_fcn_file_dir): New function. - * tree-expr.cc (mark_as_system_fcn_file): Use it instead of - octave_lib_dir. - - * Makefile.in (clean): If $(SHARED_LIBS), also remove shared libs. - - * pr-output.cc (set_format (const ComplexMatrix&, int&, int&)): - Unconditionally call all_elements_are_int_or_inf_or_nan(). - (set_format (const Matrix&, int&, int&)): Likewise. - -Sun Jan 7 19:12:39 1996 John W. Eaton - - * utils.cc (oct_putenv): New function. - * sysdep.cc (Fputenv): Use oct_putenv. - * octave.cc (initialize_globals): Likewise. - -Sat Jan 6 23:22:37 1996 John W. Eaton - - * sysdep.cc (Fputenv): New function. - - * input.cc (initialize_readline): Call rl_initialize() here. - - * octave.cc: Conditionally define atexit to be on_exit here. - * toplev.cc: Not here. - -Fri Jan 5 14:01:02 1996 John W. Eaton - - * toplev.cc: Don't include here. - - * octave-hist.cc, tree-plot.cc, utils.cc: Do include "sysdep.h". - - * dirfns.cc, file-io.cc, help.cc, load-save.cc, octave.cc, - octave-hist.cc, tree-plot.cc, utils.cc: - Don't include . - * sysdep.h: Do include it here. - - * tree-const.cc (TC_REP::assign (tree_constant&, Octave_object&)): - If we have a matrix or range, call maybe_mutate before returning. - -Sun Dec 31 15:56:18 1995 John W. Eaton - - * npsol.cc (Fnpsol): Improve doc string. - * qpsol.cc (Fqpsol): Likewise. - -Fri Dec 29 21:46:58 1995 John W. Eaton - - * defun-dld.h: Make work again for OCTAVE_LITE and - WITH_DYNAMIC_LINKING. - - * Makefile.in: Handle shared libraries. - -Wed Dec 27 17:47:51 1995 John W. Eaton - - * mk-oct-links: New file. - * Makefile.in (install-oct): Use it. - * f-*.cc: Rename to *.cc. - - * Makefile.in (install-bin, install-lib, install-oct): New targets. - (install): Use them. - -Tue Dec 26 21:38:22 1995 John W. Eaton - - * toplev.cc (reading_startup_message_printed): Move initialization - here and make extern. - - * dirfns.cc, dynamic-ld.cc, help.cc, input.cc, octave-hist.cc, - octave.cc, sighandlers.cc, sysdep.cc, tree-expr.cc, tree-misc.cc, - utils.cc, variables.cc, parse.y, lex.l: Include toplev.h instead - of octave.h. - * toplev.h: rename from octave.h. - - * octave.cc (main): Delete unused variable saved_sigint_handler. - -Sun Dec 24 00:26:54 1995 John W. Eaton - - * dynamic-ld.cc: Massive re-write to handle dlopen/dlsym and - shl_load/shl_findsym methods of dynamic linking. - - * utils.cc (get_fcn_file_names): Check for .oct files if - WITH_DYNAMIC_LINKING, not WITH_DLD. - - * Makefile.in (LIB, TERMLIBS): Substitute values. - (octave): Add $(LIBS) to link command and use $(TERMLIBS) instead - of -ltermcap. - -Sat Dec 23 21:56:12 1995 John W. Eaton - - * dynamic-ld.h, dynamic-ld.cc: Remove old unused code. - - * variables.cc (load_fcn_from_file): - Always call load_octave_oct_file. - -Wed Dec 20 00:56:57 1995 John W. Eaton - - * pr-output.cc (set_real_format, set_real_matrix_format, - set_complex_format, set_complex_matrix_format, set_range_format): - New functions. Ensure the count of the digits to the right of the - decimal point is positive. - - * xpow.cc (xpow (const Matrix&, double)): Print warning if - inverting singular matrix (but return value anyway, in the name of - compatibility). - xpow (const ComplexMatrix&, double)): Likewise. - - * f-inv.cc (Finv): If matrix is singular, return result anyway, in - the name of compatibility. - - * symtab.cc (symbol_record::pop_context): - Don't assert (! context.empty ()). - - * tree-const.cc (TC_REP::char_matrix_value): Don't complain about - type conversion if object is an empty matrix.f - (TC_REP::assign): If rhs is a string, don't convert to numeric - type if rhs is empty or "". - Only widen if rhs is not empty. - Don't return 0x0 char_matrix if it is supposed to be a string. - - * arith-ops.h, mappers.h, pr-output.h, xdiv.h, xpow.h: Include - oct-cmplx.h in place of forward declaration for class Complex. - - * pr-output.cc, mappers.cc, arith-ops.cc, xdiv.cc, xpow.cc, - utils.cc: Include "oct-cmplx.h" instead of . - - * octave.cc (initialize_error_handlers): Don't call - set_Complex_error_handler(). - (octave_Complex_error_handler): Delete unused function. - Delete declaration for set_Complex_error_handler(). - - * sighandlers.cc (catch_interrupts): New function. - * octave.cc (main): Call catch_interrupts() instead of calling - octave_set_signal_handler() directly. - -Tue Dec 19 03:22:37 1995 John W. Eaton - - * variables.cc (looks_like_octave_copyright): Also recognize the - string " This program is free software". - -Thu Dec 14 01:54:06 1995 John W. Eaton - - * octave-hist.cc (clean_up_history): Only write history file if - user_pref.saving_history. - - * octave-hist.cc (initialize_history, clean_up_history, - do_history): Perform tilde expansion on history file name. - - * octave.cc (main): Check `defined (HAVE_ON_EXIT)' not just - `(HAVE_ON_EXIT)'. - - * user-prefs.h (user_preferences): New fields, `history_file' and - `history_size'. - * user-prefs.cc (init_user_prefs): Initialize them. - (sv_history_file, history_size): New functions. - * variables.cc (install_builtin_variables): Initialize user-level - variables history_file and history_size. - * octave-hist.cc (default_history_size): Now extern. - (default_history_file): Likewise. - (octave_hist_size, octave_hist_file): Use user preference - variables instead. - * octave.cc (main): Call initialize_history after - execute_startup_files. - -Fri Dec 8 15:53:59 1995 John W. Eaton - - * user-prefs.h (user_preferences): New field, `saving_history'. - * user-prefs.cc (init_user_prefs): Initialize it. - (saving_history): New function. - * variables.cc (install_builtin_variables): Initialize user-level - variable saving_history. - * octave.cc (parse_and_execute): Don't reset value of - saving_history here. - (main) Use user_pref.saving_history instead of saving_history. - * variables.cc (parse_fcn_file): Likewise. - * octave-hist.cc (maybe_save_history): Likewise. - Don't save history if input_from_startup_file. - -Mon Nov 27 23:05:52 1995 John W. Eaton - - * resource.cc: Include systime.h before . - -Tue Nov 14 14:09:40 1995 John Eaton - - * error.cc: Include cstring. - - * tree-expr.cc (print_code): Decrement indent level after printing - function body. - - * Makefile.in: Remove references to oct-str.cc, oct-str.h, and - Array-string.cc. - - * tree-const.h: Don't include oct-str.h. - -Mon Nov 6 11:16:49 1995 John Eaton - - * parse.y (make_plot_command, finish_colon_expression, - make_unwind_protect, make_try_command, make_for_command, - make_break_command, make_continue_command, make_return_command, - start_if_command, finish_if_command, make_elseif_clause, - make_simple_assignment, make_multi_val_ret, start_function_def, - frob_function_def, finish_function_def, start_matrix, - finish_matrix): New functions. Use them in the grammar to clean - things up a bit. Possibly convert matrix lists, colon - expressions, binary expressions, and unary expressions to constant - values. - (tree_matrix_type): Delete. - (simple_expr1): Handle all expression stuff here, including - assignments. - (simple_expr): Just check to see that simple_expr1 produced - something useful. - - * tree-plot.cc, tree-plot.h: Move most simple constructors to the - header file. - - * tree-expr.h (tree_expression::is_constant): Move virtual - function definition here. - (tree_fvc::is_constant): From here. - (tree_expression::is_matrix_constant): New virtual function. - (tree_expression::is_range_constant): New virtual function. - * tree-expr.cc (tree_matrix::is_matrix_constant): New function. - * tree-expr.cc (tree_colon_expression::is_range_constant): New - function. - -Fri Nov 3 03:42:04 1995 John Eaton - - * utils.cc, utils.h (jump_to_top_level): Declare as extern "C". - - * tree-const.h (tree_constant::eval ()): Only mutate if printing. - - * tree-const.cc (TC_REP::tree_constant_rep (const Complex&), - TC_REP::tree_constant_rep (const ComplexMatrix&), - TC_REP::tree_constant_rep (const ComplexDiagMatrix&), - TC_REP::tree_constant_rep (const ComplexRowVector&), - TC_REP::tree_constant_rep (const ComplexColumnVector&)): - Also check to see if we can convert to scalar_constant, not just - complex_scalar_constant. - - * user-prefs.h (user_preferences): New field, `exec_path'. - * user-prefs.cc (init_user_prefs): Initialize it. - (sv_exec_path): New function. - * variables.cc (install_builtin_variables): Add DEFUN for EXEC_PATH. - (default_exec_path): New function. - * octave.cc (exec_path): New global variable. - Don't set and putenv() exec path here. - (long_opts): Add --exec-path option. - (main): Handle it. - (initialize_globals): Set default value here. - - * user-prefs.h (user_preferences): New field, `info_prog'. - * user-prefs.cc (init_user_prefs): Initialize it. - (sv_info_prog): New function. - * variables.cc (install_builtin_variables): Add DEFUN for INFO_PROGRAM. - (default_info_prog): New function. - * octave.cc (info_prog): New global variable. - (initialize_globals): Set default value here. - (long_opts): Add --info-prog option. - (main): Handle it. - * help.cc (try_info): Use user_pref.info_prog here. - - * octave.cc (initialize_globals): Put arch_dir and bin_dir ahead - of shell_path when resetting PATH. - -Thu Nov 2 04:30:13 1995 John Eaton - - * f-rand.cc (Frandn): New function. - (do_initialization): New function. - (do_rand): New function for doing the real work. - (Frand): Use it. - - * octave.cc (parse_and_execute): New arg, warn_for. If given, - print message if file cannot be opened. - Set curr_fcn_file_full_name here. - (Fsource): Pass extra arg to parse_and_execute to get warning message. - - * tree-const.h: Handle line and column info for double, Complex, - and char* constants. - - * parse.y (maybe_convert_to_ans_assign): Pass along line and - column info from expression. - - * parse.y (make_constant): New function. - (simple_expr1, word_list): Use it. - - * input.cc, input.h (curr_fcn_file_full_name): New global. - * variables.cc (load_fcn_from_file): Set it here. - * parse.y (func_def2, yyerror, maybe_warn_missing_semi): Use it. - (func_def2): If !reading_fcn_file, don't call strcmp if - curr_fcn_file_name is 0. - - * octave.cc (Fsource): New function. - (parse_and_execute): Declare file name const char *. - * input.cc (get_input_from_file): Likewise. - -Wed Nov 1 13:54:34 1995 John Eaton - - * f-filter.cc: New file. - * Makefile.in (DLD_SRC): Add it to the list. - - * sysdep.h (gethostname): Change declaration to match definition - in sysdep.cc. - - * resource.cc: Include sysdep.h here, for octave_NaN. - -Tue Oct 31 02:12:18 1995 John Eaton - - * tree-const.cc (TC_REP::assign): After converting rhs to a - numeric type, use the converted value, not the original. - - * dirfns.cc (Fpwd): If nargout == 0, print the directory name - instead of returning it. - - * pager.cc (maybe_page_output): Call maybe_write_to_diary_file here. - (flush_output_to_pager): Not here. - -Mon Oct 30 23:39:43 1995 John Eaton - - * variables.cc (install_builtin_commands): Add DEFVAR for - echo_executing_commands. - - * octave-hist.cc (do_edit_history): Handle new echo stuff. - * variables.cc (parse_fcn_file): Likewise. - * octave.cc (parse_and_execute): Likewise. - (main): Likewise. - * input.cc (do_input_echo): - (Fecho): New function. - - * tree-expr.cc (tree_function::print_code_function_header, - tree_function::print_code_function_trailer): New functions. - (tree_function::print_code): Use them. - (tree_function::eval): Likewise, if echoing commands. - * tree-misc.cc (tree_statement::maybe_echo_code): New function. - - * user-prefs.h (user_preferences): New field, echo_executing_commands. - (echo_state): New enum, for various types of echoing we do. - * user-prefs.cc (echo_executing_commands): New function. - - * tree-base.cc (print_code_indent): Print PS4 as line prefix. - * help.cc (Ftype): Add unwind_protect for ps4 and set it to "" - before printing code. - - * tree-misc.h (tree_statement_list): New field, function_body. - (tree_statement_list::mark_as_function_body): New function. - * parse.y (func_def3): Mark function bodies. - - * pr-output.cc (octave_print_internal): Undo string escapes when - printing charMatrix as strings. - -Sat Oct 28 17:38:29 1995 John Eaton - - * utils.h (undo_string_escapes): Add missing const in declaration. - -Fri Oct 27 03:49:44 1995 John Eaton - - * file-io.cc (next_available_file_number): New stack for keeping - track of next available file number. - (get_next_avail_file_num): New function. - (fopen_file_for_user, fopen_internal, popen_internal, - execute_internal): Use it. - -Mon Oct 23 07:00:09 1995 John Eaton - - * tree-const.cc (TC_REP::convert_to_matrix_type, - tree_constant::convert_to_matrix_type): New arg, make_complex. - (TC_REP::set_index): New arg, rhs_is_complex. Pass it to - convert_to_matrix_type. - (TC_REP::assign): Pass rhs.is_complex_type() to set_index. - -Thu Oct 19 00:38:38 1995 John Eaton - - * xpow.cc: Include . - - * sysdep.cc (Fpause): Do pause even if not interactive. - - * tree-const.cc (TC_REP::assign): Don't make RHS numeric if both - RHS and LHS are strings. - -Wed Oct 18 22:19:16 1995 John Eaton - - * f-expm.cc (Fexpm): Avoid taking log of negative number. Also, - don't unnecessarily divide the input matrix by 1.0. - - * input.cc (decode_prompt_string): Recognize \[ and \] too. - (initialize_readline): Bind M-p to history-search-backward and M-n - to history-search-forward. - -Tue Oct 17 04:31:06 1995 John Eaton - - * xpow.cc (xpow): Handle integer powers better for complex^double. - (elem_xpow): Likewise. - - * lex.l ({CCHAR}): If nesting_level.top() is BRACE, return ';', - not '\n'. - -Mon Oct 16 19:03:45 1995 John Eaton - - * help.cc (Fwhich): Fix doc string. - - * variables.cc (Fexist): Update doc string. - -Sun Oct 15 22:19:16 1995 John Eaton - - * Another massive set of changes to support character matrices - with indexing. The Octave_str_object class is no longer used. - Anything having to do with Octave_str_object in the following - files has been changed to use charMatrix instead: octave.h, - load-save.cc, octave.cc, strfns.cc, data.cc, pr-output.h, - pr-output.cc, tree-const.h, dirfns.cc, tree-const.cc, - tree-expr.cc. - -Sat Oct 14 22:28:18 1995 John Eaton - - * f-sort.cc (mx_sort): Don't attempt to sort vectors that have - only one element, or matrices that have only one row. - -Thu Oct 12 02:16:58 1995 John Eaton - - * mappers.cc (install_mapper_functions): Add gammaln as an alias - for lgamma. - - * tree-const.h, tree-const.cc: Massive overhaul of indexing and - indexed assignment functions. - * tc-inlines.h, tc-rep.h: Remove files. - * Makefile.in: Remove mention of them here too. - - * Makefile.in: Include $(TI_SRC) in DEP_SOURCES_3, not - $(TI_SOURCES). - Include $(DLD_SRC) in DEP_SOURCES_3. - Include $(TI_SRC) in DEF_FILES_5. - -Wed Oct 11 01:26:18 1995 John Eaton - - * Makefile.in (INCLUDES): Remove tc-inlines.h and tc-rep.h from - the list. - -Mon Oct 9 08:31:04 1995 John Eaton - - * lex.l (next_token_is_bin_op): Do match `.+', `.*', etc. - -Sun Oct 8 18:19:56 1995 John Eaton - - * idx-vector.h, idx-vector.cc: Delete files. - * Makefile.in (SOURCES, INCLUDES): Remove them from lists. - -Fri Oct 6 00:52:06 1995 John Eaton - - * f-svd.cc (Fsvd): If nargout == 0 or nargout == 1, don't ask for - U and V. - -Wed Oct 4 00:04:57 1995 John Eaton - - * f-npsol.cc (Fnpsol, Fnpsol_options): Avoid unused variable - warnings if NPSOL_MISSING. - * f-qpsol.cc (Fqpsol, Fqpsol_options): Likewise for QPSOL_MISSING. - - * Makefile.in (DISTFILES): Add octave.gperf. - - * lex.l (next_token_is_bin_op): Don't ever return true for `.' - since that causes problems with things like [ .1 .1 ]. - -Tue Oct 3 05:30:24 1995 John Eaton - - * variables.cc (is_valid_function): Avoid setting error_state if - argument is not a string. - - * parse.y (maybe_warn_missing_semi): New function. - (list1, list): Call it if statement not terminated by semicolon. - * tree-misc.h (tree_statement::line, tree_statement::column): - New functions. - * octave.cc (input_from_command_line_file): New global variable. - (main): Set it. - (parse_and_execute): Unwind-protect it and set it to zero. - (eval_string): Likewise. - * variables.cc (parse_fcn_file): Likewise. - - * user-prefs.cc (warn_missing_semicolon): New function. - * user-prefs.h (user_preferences): New field, warn_missing_semicolon. - * variables.cc (install_builtin_variables): DEFVAR it. - - * tree-expr.cc (tree_expression::is_logically_true): Actually use - argument. - -Mon Oct 2 19:55:48 1995 John Eaton - - * variables.cc (install_builtin_variables): Reduce the default - value of save_precision to 15. - - * variables.cc (builtin_real_scalar_variable): Return 1 for - success, 0 for failure. - - * user-prefs.cc (struct_levels_to_print, set_save_precision, - set_output_max_field_width, set_output_precision): - Change sense of test for builtin_real_scalar_variable return value. - (check_preference): Rename from check_str_pref. Change all callers. - Accept value of 0 to be the same as "false" and nonzero to be the - same as "true". - Delete val to avoid memory leak. - * variables.cc (install_builtin_variables): Change initial values - from "true" to 1, "false" to 0. - - * variables.cc (install_builtin_variables): Add DEFVAR for - gnuplot_has_multiplot. - - * user-prefs.h (user_preferences): New field, - `gnuplot_has_multiplot'. - * user-prefs.cc (init_user_prefs): Initialize it. - (gnuplot_has_multiplot): New function. - -Sat Sep 30 16:52:57 1995 John Eaton - - * oct-gperf.h, octave.gperf: Newfiles. - * Makefile.in (DISTFILES): Add octave.gperf. - (INCLUDES): Add oct-gperf.h. - (oct-gperf.h): New rule. - (local-dist, dist): Depend on oct-gperf.h. - * lex.l (is_keyword): Use perfect hash function to lookup - keywords. - -Fri Sep 29 04:36:04 1995 John Eaton - - * version.h (OCTAVE_NAME_AND_VERSION): Add TARGET_HOST_TYPE to this. - -Thu Sep 28 00:03:51 1995 John Eaton - - * tree-expr.cc (tree_expression::is_logically_true): New function. - * tree-cmd.cc (tree_while_command::eval): Use it instead of - handling the test directly here. - * tree-misc.cc (tree_if_clause::eval): Likewise - - * tree-const.cc (TC_REP::force_numeric): Don't try to print value - of str_obj with %s. - - * error.cc (buffer_error_messages): Rename from - suppress_octave_error_messages. - (error_message_buffer): New global variable. - (verror): Handle buffering of messages. - (handle_message): New function. - (Ferror, Fwarning, Fusage): Use it instead of duplicating code. - - * octave.cc (Feval): Buffer error messages instead of supressing them. - - * lex.l (is_keyword): Recognize `try', `catch', and `end_try_catch'. - * parse.y (TRY, CATCH): New tokens. - (command): Recognize try-catch block. - (end_error): Add cases for unwind_protect_end and try_catch_end. - * token.h (end_tok_type): New field, try_catch_end. - * tree-cmd.h, tree-cmd.cc (tree_try_catch): New class. - * variables.cc (bind_global_error_variable): New Function. - (clear_global_error_variable): Likewise. - (install_builtin_variables): Add DEFCONST for __error_text__. - * help.cc (keywords): Add `try', `catch', and `end_try_catch'. - - * tree-cmd.cc (tree_unwind_protect::eval): Undo previous change. - - * dirfns.cc (Freaddir, Fmkdir, Frmdir): - Do tilde expansion on the argument. - -Tue Sep 26 00:10:29 1995 John Eaton - - * f-dassl.cc, f-fsolve.cc, f-lsode.cc, f-npsol.cc, f-quad.cc: - Don't try to figure out if the user-supplied functions take the - correct number of arguments. Simply let the call fail. - * variables.cc (takes_correct_nargs): Delete unused function. - * tree-expr.cc (tree_builtin::eval): Don't complain for too many - arguments to mapper functions. - * tree-expr.h, tree-expr.cc (tree_builtin, tree_function, tree_fvc): - Delete unused function max_expected_args. - - * defun.h (DEFUN): Delete unnecessary args nargin_min and nargout_max. - New arg unused_arg_flags. - (DEFUN_TEXT): Likewise. - * defun-dld.h (DEFUN_DLD_BUILTIN): Likewise. - * defun-int.h (DEFUN_INTERNAL, DECLARE_FUN, DEFINE_FUN_STRUCT): - Do the real work. - - * data.cc, dirfns.cc, dynamic-ld.cc, error.cc, f-balance.cc, - f-chol.cc, f-colloc.cc, f-dassl.cc, f-det.cc, f-eig.cc, f-expm.cc, - f-fft.cc, f-fft2.cc, f-find.cc, f-fsolve.cc, f-fsqp.cc, - f-givens.cc, f-hess.cc, f-ifft.cc, f-ifft2.cc, f-inv.cc, f-log.cc, - f-lpsolve.cc, f-lsode.cc, f-lu.cc, f-minmax.cc, f-npsol.cc, - f-pinv.cc, f-qpsol.cc, f-qr.cc, f-quad.cc, f-qzval.cc, f-rand.cc, - f-schur.cc, f-sort.cc, f-svd.cc, f-syl.cc, file-io.cc, help.cc, - input.cc, lex.l, load-save.cc, mappers.cc, octave-hist.cc, - octave.cc, octave.h, pager.cc, pr-output.cc, resource.cc, - sighandlers.cc, strfns.cc, sysdep.cc, timefns.cc, token.cc, - tree-const.cc, tree-expr.cc, tree-expr.h, tree-plot.cc, - unwind-prot.cc, unwind-prot.h, utils.cc, variables.cc, - variables.h, version.h, xdiv.cc: - Avoid unused variable warnings. - - * tree-expr.h (tree_oct_obj::print_value (ostream&)): - Delete name of unused arg. - (tree_fvc::save (ostream&, int, int): Likewise. - - * tree-const.h (tree_constant::tree_constant (magic_colon)): - Delete name of unused arg. - (tree_constant::tree_constant (all_va_args)): Likewise - (ColumnVector vector_value (int, int)): Likewise. - (ComplexColumnVector vector_value (int, int)): Likewise. - (Octave_object::eval (int, int, const Octave_object&): Likewise. - - * octave.cc (execute_startup_files): Look for octaverc first in - site/m, then in $(version)/m. - * variables.cc (get_local_site_defaults): New function. - * defaults.h.in (OCTAVE_LOCALFCNFILEDIR, OCTAVE_LOCALSTARTUPFILEDIR): - New macros. - * Makefile.in (defaults.h): Also substitute ${localfcndir}. - -Mon Sep 25 17:01:03 1995 John Eaton - - * variables.cc (install_builtin_variables): Add DEFCONST for "e". - -Fri Sep 22 02:18:45 1995 John Eaton - - * dirfns.cc (Fls): Delete ls_command after using it, not before. - - * input.h, input.cc (gnu_readline): Don't declare gnu_readline - `extern "C"'. - - * sysdep.h: Only declare gethostname if it is missing, then don't - declare it `extern "C"'. - - * dirfns.cc: Don't declare strerror(). - - * input.cc (command_generator): Use malloc, not xmalloc. Don't - declare xmalloc. - (gnu_readline): Don't declare this `extern "C"'. - - * octave-hist.cc: Don't declare history_get(). It is now in - readline/history.h. - - * input.cc: Don't declare history_get(). It is now in - readline/readline.h. - - * resource.cc: Don't surround include of sys/resource.h in - `extern "C" { }'. - - * fnmatch.h [__cplusplus]: Surround contents in `extern "C" { }'. - * load-save.cc, symtab.cc, variables.cc: Don't surround - fnmatch.h include in `extern "C" { }'. - - * help.cc: Don't #undef __FUNCTION_DEF before including - readline/tilde.h. - - * dirfuns.cc, file-io.cc, help.cc, load-save.cc, octave-hist.cc, - sysdep.cc, tree-plot.cc, utils.cc, variables.cc: - Don't surround readline includes in `extern "C" { }'. - - * sysdep.cc: Move all include statements to top of file. - -Tue Sep 19 01:58:21 1995 John Eaton - - * octave.cc (Fsystem): Use iprocstream *, and unwind_protect it. - * pager.cc (flush_output_to_pager): Likewise. - * dirfns.cc (Fls): Likewise. - * tree-plot.cc (plot_stream): Now a pointer. - (open_plot_stream): Deal with it. - (send_to_plot_stream, cleanup_tmp_files, do_external_plotter_cd): - Likewise. - - * procstream.cc (cleanup_iprocstream, cleanup_oprocstream): - New functions. - - * procstream.h, procstream.cc (class iprocstream, class oprocstream): - Keep track of pbuf. Initialize it to 0 in default constructors, - delete it in destructor. Don't call close in destructor. - - * sighandlers.cc (octave_set_signal_handler): New function. - Use this name instead of signal everywhere. - * help.cc (try_info): Likewise. - * pager.cc (flush_output_to_pager): Likewise. - * octave.cc (main): Likewise. - * octave-hist.cc (do_edit_history): Likewise. - - * input.cc (initialize_readline): Set rl_paren_string_delimiters - to avoid treating single quotes as string delimiters when doing - paren matching. - - * Makefile.in (SOURCES): Don't list Map.cc or SLStack.cc here. - - * tree-const.cc: Do include utils.h. - - * sysdep.cc: Don't surround terminal includes in extern "C". - Include them before readline.h. - - * Map.h: Don't include utils.h. - (CHNode::CHNode (const char*, const C&, CHNode *t): - Do strsave() inline. - - * input.cc (generate_possible_completions): Generate name list - even when text == 0. - (operate_and_get_next): Don't declare history_stifled, call - history_is_stifled () instead. - Don't declare history_length, or max_input_history either. - Check (where >= history_length - 1) too, as in recent versions of - bash. - - * user-prefs.h (user_prefs): New field, `completion_append_char'. - * user-prefs.cc (init_user_prefs): Initialize it. - (sv_completion_append_char): New function. - * variables.cc (install_builtin_variables): Install - completion_append_char. - * input.cc (command_generator): Use it. - - * SLList-expr.cc, SLList-misc.cc, SLList-plot.cc, SLList-tc.cc, - DLList-fi.cc: Include config.h. - * DLList-fi.cc: Include file-info.h, not file-io.h. - -Mon Sep 18 11:01:24 1995 John Eaton - - * octave.h (clean_up_and_exit): Tag with NORETURN instead of using - typedef trick. - * error.h (panic): Likewise. - * utils.h (jump_to_top_level): Likewise. - - * file-io.h: Protect from multiple includes with octave_file_io, - not octave_files. - - * file-info.h (class file_info): Convert to using std C++ string - class from char *. - * file-info.cc: Likewise. Don't include utils.h. - * file-io.cc (return_valid_file, fopen_file_for_user, - fflush_internal, do_scanf): Use operator ==, not strcmp. - (close_files): Call error with file.name ().data (), - not file.name (). - (freport_internal): Call form with file.mode ().data () and - file.name ().data (). - - * file-io.cc, file-io.h: Extract file_info class. - * file-info.cc, file-info.h: New files for file_info class. - - * user-prefs.h (user_prefs): New field, `beep_on_error'. - * user-prefs.cc (init_user_prefs): Initialize it. - (beep_on_error): New function. - * variables.cc (install_builtin_variables): Install beep_on_error. - * octave.cc (maximum_braindamage): Set beep_on_error to "true". - * error.cc (verror): Conditionally beep. - (error): Don't reset error_state until after verror is called. - -Sun Sep 17 16:41:25 1995 John Eaton - - * load-save.cc (read_mat_binary_data, read_ascii_data, - save_ascii_data, read_binary_data, save_binary_data): - Handle string arrays. - -Fri Sep 15 00:24:19 1995 John Eaton - - * user-prefs.cc (struct_levels_to_print, - set_output_max_field_width, set_output_precision, - set_save_precision): Eliminate unecessary kludge variable. - - * variables.cc (gobble_leading_white_space): New arg, - in_parts. Change all callers. - - * lex.l (HELP_FCN): Delete start state. The `help' command is now - handled the same as any other text-style function. - - * gripes.cc (gripe_invalid_value_specified): New function - * user-prefs.cc: Use it. - - * sysdep.cc (octave_words_big_endian): New global variable. - (ten_little_endians): New function. - (sysdep_init): Call it. - * load-save.cc (words_big_endian): Use this at run-time instead of - depending on WORDS_BIGENDIAN at compile-time. - - * symtab.h (SYMTAB_VARIABLES): New macro. - * variables.cc (Fclear): Use it instead of just - symbol_def::USER_VARIABLE when looking for variables. - - * octave.cc (main): If there is a file to execute, set - program_invocation_name and program_name to the name of the file - and argv to the remaining args. - (intern_argv): Only define argv if there are some remaining - arguments. - - * defun.h (DEFVAR_INT): New macro. - (DEFVAR): Define in terms of DEFVAR_INT. Delete args protect and - eternal. - (DEFCONST): New macro. - * variables.cc (install_builtin_variables): Use DEFCONST where - appropriate, change uses of DEFVAR to match new definition. - - * variables.cc (bind_builtin_variable): New variant that accepts - const tree_constant& value. - (install_builtin_variables): Properly alphabetize DEFVAR for this. - - * octave.cc (short_opts): Prefix with `+' to prevent argv - permutation. - (main): Don't use readline if forced_interactive. - (traditional): New file-scope variable. - (long_opts, usage_string, verbose_usage): Add `--traditional'. - (maximum_braindamage): New function. - (main): Call it if --traditional. - - * input.cc (do_input_echo): Print prompt correctly when - forced_interactive is either true or false. - -Thu Sep 14 00:54:06 1995 John Eaton - - * data.cc (Fstruct_elements): New function. - - * file-io.cc (Fumask): New function. - - * dirfns.cc (Fmkdir, Frmdir, Frename): New functions. - - * Makefile.in: Add rules and dependencies for building safe-stat.o - and safe-lstat.o. - - * mkdir.c, rename.c, rmdir.c: New files. - * Makefile.in (SOURCES): Include them in the list. - - * safe-xstat.hin, safe-xstat.cin: New files - * Makefile.in (DISTFILES): Include them in the list. - - * sighandlers.cc (octave_new_handler): Try to continue on memory - exhausted errors. - (sigfpe_handler): Improve error message. - - * Makefile.in: Use `ifndef omit_deps', not `ifndef $(omit_deps)'. - - * dirfns.cc (Freaddir): New function. - - * f-sort.cc: Complete rewrite. Now uses stable sort algorithm and - correctly handles complex matrices containing columns of all real - numbers. - -Wed Sep 13 03:16:40 1995 John Eaton - - * arith-ops.cc: Unconditionally #define DIVIDE_BY_ZERO_ERROR. - - * variables.cc (install_builtin_variables): Unconditionally - install NaN and nan. - - * mappers.cc (xisinf): Don't do bogus things if isinf, isnan, or - finite are missing. - (xfinite): Likewise. - - * sysdep.cc (octave_ieee_init): Don't set octave_NaN and - octave_Inf if values are not available. - - * resource.cc (mk_ru_map): Don't use ru_ or tv_ as prefixes to - Octave names for the structure members. - -Tue Sep 12 02:04:16 1995 John Eaton - - * procstream.h, procstream.cc: Rewrite. - -Mon Sep 11 18:42:05 1995 John Eaton - - * filemode.c: New file, from Emacs. - * Makefile.in (SOURCES): Add it to the list. - - * file-io.cc (Fstat, Flstat, mk_stat_map): New functions. - - * timefns.cc (mk_tm_map): Don't use tm_ as prefix to Octave names - for these structure members. - (extract_tm): Likewise. - (Flocaltime): Fix doc string to match. - -Thu Sep 7 02:04:27 1995 John Eaton - - * load-save.cc (save_user_variables): New function. - * sighandlers.cc (my_friendly_exit): Call it before exiting. - (sigfpe_handler): New function. - (install_signal_handlers) [__alpha__]: Install it. - -Wed Sep 6 14:35:10 1995 John Eaton - - * tree-cmd.cc (tree_unwind_protect::eval): Ignore errors and - suppress error messages while executing first block of - unwind_protect commands. - - * parse.y (end_error): Add missing case for unwind_protect_end. - - * tree-expr.cc (tree_builtin::eval): Complain if no arguments - given for mapper functions. - (tree_fvc::lookup_map_element): Print error message for invalid - structure reference. - -Tue Sep 5 02:04:12 1995 John Eaton - - * file-io.cc, input.cc, load-save.cc, octave.cc, sysdep.cc, - variables.cc, octave-hist.cc, utils.cc, f-schur.cc, f-rand.cc, - f-quad.cc, f-qpsol.cc, f-npsol.cc, f-lsode.cc, f-fsolve.cc, - f-dassl.cc, f-colloc.cc, f-balance.cc, error.cc, data.cc: - Add const qualifiers where appropriate. - - * dirfns.h: Include , for time_t. - - * tempname.c, file-io.cc, help.cc, input.cc, octave-hist.cc, - octave.cc, sighandlers.cc, sysdep.cc, tree-expr.cc, tree-misc.cc, - tree-plot.cc, utils.cc, variables.cc, sysdir.h: - Move #include inside #ifdef HAVE_UNISTD_H. - - * syswait.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * file-io.cc, sighandlers.cc: Use it instead of including - sys/wait.h directly. - - * octave.cc: Include statdefs.h, not sys/stat.h. - - * sysdir.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * dirfns.cc, utils.cc: Use it instead of including the headers - directly. - - * pathlen.h: New file. - * Makefile.in (INCLUDES): Add it to the list. - * dirfns.cc, input.cc: Use it instead of including sys/param.h - directly. - * utils.cc: Don't include sys/param.h - -Sun Sep 3 18:52:59 1995 John Eaton - - * tree-const.cc (TC_REP::string_value): Return const char*, not - char *. - - * All .cc, .y, .l, .y files: Include , not , and - so on for all new C++ versions of these standard C headers. - -Thu Aug 31 17:09:38 1995 John Eaton - - * pathsearch.h: Also hide `string'. - - * oct-str.cc, oct-str.h: New files. - * Makefile.in: Add to the appropriate lists. - * tc-rep.h: Change char* to Octave_string* in anonymous union. - * tree-expr.cc (tree_matrix::eval): Handle multiple element strings. - * strfns.cc (toascii): Likewise. - * tree-const.cc (print_as_string): Likewise. - (TC_REP::force_numeric, TC_REP::rows, TC_REP::columns, - TC_REP::double_value, TC_REP::complex_value, TC_REP::matrix_value, - TC_REP::complex_matrix_value, TC_REP::convert_to_str): Likewise. - (TC_REP::print): Call octave_print_internal for string case. - (all_strings): New function. - Fix constructors to use new data structure. - * pr-output.cc (octave_print_internal): Add version for strings. - * Array-string.cc: New file. - - * octave.cc (octave_argv): New global variable. - (intern_argv): New function. - (main): Fix argument parsing to do the right thing for arguments - to executable scripts. - * variables.cc: Add DEFUNs for argv, program_invocation_name, and - program_name. - - * defun.h (DEFVAR): Fix comment. - -Thu Aug 24 00:02:00 1995 John Eaton - - * file-io.cc (fgets_internal): Make second arg optional. Add - optional arg `strip_final_newline'. - (Ffgets): Change to match new definition of fgets_internal. - (Ffgetl): Implement using the new fgets_internal. - - * f-rand.cc (Frand): Update code for sizing return value to match - that used by ones, zeros, and eye. - -Wed Aug 23 19:52:45 1995 John Eaton - - * tree-const.cc (do_vector_assign): Don't crash for - A(range) = scalar, or A(matrix) = scalar. - - * f-dassl.cc (set_dassl_option): Rename from do_dassl_option. - (show_dassl_option): New function. - (Fdassl_options): Handle single arg. - * f-fsolve.cc (set_fsolve_option): Rename from do_fsolve_option. - (show_fsolve_option): New function. - (Ffsolve_options): Handle single arg. - * f-fsqp.cc (set_fsqp_option): Rename from do_fsqp_option. - (show_fsqp_option): New function. - (Ffsqp_options): Handle single arg. - * f-lpsolve.cc (set_lpsolve_option): Rename from do_lpsolve_option. - (show_lpsolve_option): New function. - (Flpsolve_options): Handle single arg. - * f-lsode.cc (set_lsode_option): Rename from do_lsode_option. - (show_lsode_option): New function. - (Flsode_options): Handle single arg. - * f-npsol.cc (set_npsol_option): Rename from do_npsol_option. - (show_npsol_option): New function. - (Fnpsol_options): Handle single arg. - * f-qpsol.cc (set_qpsol_option): Rename from do_qpsol_option. - (show_qpsol_option): New function. - (Fqpsol_options): Handle single arg. - * f-quad.cc: (set_quad_option): Rename from do_quad_option. - (show_quad_option): New function. - (Fquad_options): Handle single arg. - (Fquad): Doc fix. - -Tue Aug 22 00:38:05 1995 John Eaton - - * tree-plot.cc (do_external_plotter_cd): New function. - * dirfns.cc (octave_change_to_directory): New function. If cd is - successful, also call do_external_plotter_cd(). - (Fcd): Call octave_change_to_directory(), not change_to_directory(). - - * pr-output.cc (pr_any_float): Change declaration of counter to - size_t to avoid gcc warnings. - - * idx-vector.cc, octave-hist.cc, tree-const.cc, tree-expr.cc, - tree-misc.cc, utils.cc, xpow.cc, Map.cc: - Update for change in for loop variable scope for gcc 2.7.0. - -Mon Aug 21 19:34:53 1995 John Eaton - - * tree-const.cc (fortran_style_matrix_assignment): Properly handle - case of complex LHS, real RHS. - - * Makefile.in: Only include dependency files if $(omit_deps) is - not set. - -Wed Jul 5 00:03:58 1995 John Eaton - - * sysdep.cc: Explicitly include string.h. - -Sun Jun 25 00:18:10 1995 John Eaton - - * load-save.cc (too_large_for_float (const Matrix&)): - Extract elements as doubles, not Complex. - -Sat Jun 24 22:59:15 1995 John Eaton - - * pr-output.cc (any_element_is_inf_or_nan): Declare extern, not static. - * f-svd.cc (Fsvd): Call here to avoid trying to take SVD of matrix - containing Inf or NaN values. - - * pr-output.cc (bit_format): New file-scope variable. - (set_format, pr_any_float): Handle bit_format. - (octave_print_internal): Handle bit_format like bank_format. - (init_format_state): Initialize bit_format. - (set_format_style): Allow `format bit' and `format native-bit'. - -Thu Jun 8 15:20:26 1995 John Eaton - - * mappers.cc (arg, imag, signum): If arg is NaN, return NaN. - -Mon May 15 14:47:04 1995 John Eaton - - * pager.cc (Fdiary): Initialize diary_file here, not in the - file-scope declaration. - - * tree-expr.cc (tree_index_expression::eval): - Handle nargin == 0 the same as other cases. - -Tue May 2 10:02:23 1995 John Eaton - - * load-save.cc (do_double_format_conversion): Add missing breaks. - (do_float_format_conversion): Likewise. - -Mon May 1 13:50:24 1995 John Eaton - - * Makefile.in (OCTAVE_LIBS): Add @LIBPLPLOT@ to the list. - - * timefns.cc (Ftime): Handle GETTIMEOFDAY_NO_TZ. - - * Makefile.in (SOURCES): Delete tc-rep.cc, tc-rep-ass.cc, and - tc-rep-idx.cc from the list. - - * tree-const.h: Add #pragma interface. - * tree-const.cc: Add contents of tc-rep.cc, tc-rep-ass.cc, and - tc-idx.cc to this file. Add #pragma implementation. This makes - tree-const.cc large, but makes the final binary smaller. - - * unwind-prot.h unwind-prot.cc token.cc token.h procstream.cc - procstream.h idx-vector.cc idx-vector.h symtab.cc symtab.h - oct-map.cc oct-map.h oct-obj.cc oct-obj.h tree-plot.h tree-plot.cc - tree-misc.cc tree-misc.h tree-expr.cc tree-expr.h tree-cmd.cc - tree-cmd.h tree-base.cc tree-base.h: - Add #pragma interface/implementation. - - * Makefile.in (OCTAVE_LIBS): Delete @LIBINFO@ from list. - * help.cc: Don't include info headers or extern declarations for - functions from info. - (try_info): Call info as a subprocess. Delete second arg. - Handle SIGINT here, not in help_from_info(). - (help_from_info): Complain if info doesn't work. - - * defun-dld.h (DEFUN_DLD_BUILTIN) [OCTAVE_LITE && MAKE_BUILTINS]: - If ! WITH_DLD, simply emit a character string constant. - -Fri Apr 28 15:23:06 1995 John Eaton - - * lex.l ({IDENT}{S}*): Don't delete tok. That's handled by - strip_trailing_whitespace() now. - ([^ \t\n]*{S}*|[^ \t\n\;\,]*{S}*): Ditto. - - * pathsearch.h: Include kpathsea/progname.h. - * octave.cc (initialize_globals): Call kpse_set_progname(). - - * token.h: Declare copy constructor and operator = private. - * token.cc: Abort if copy constructor or operator = is used. - -Thu Apr 27 13:54:39 1995 John Eaton - - * tree-expr.cc (lookup_map_element): Don't list default argument - values here too. - - * pr-output.cc (hex_format): New file-scope variable. - (set_format, pr_any_float): Handle hex_format. - (octave_print_internal): Handle hex_format like bank_format. - (init_format_state): Initialize hex_format. - (set_format_style): Allow `format hex' and `format native-hex'. - - * variables.cc (bind_ans): Create ans_id each time with new and - ask tree_simple_assignment_expression to handle cleaning it up. - This apparently plugs a memory leak. - - * help.cc (Ftype): Don't try to print map constants. Handle - references to structure members. - -Wed Apr 26 12:40:59 1995 John Eaton - - * input.cc (generate_struct_completions): New function. - (generate_possible_completions): Likewise. - (looks_like_struct): Likewise. - (command_generator): Handle completion of struct variables. - - * tree-expr.h, tree-expr.cc (tree_fvc::lookup_map_element): - Add insert and silent args. - - * oct-map.cc: New file. - * Makefile.in (SOURCES): Add it to the list. - -Mon Apr 24 09:41:02 1995 John Eaton - - * variables.cc (Fexist): Handle structure references too. - - * tree-const.cc (lookup_map_element (const char*, int, int): - New function. - (lookup_map_element (SLList&, int, int): New arg, silent. - * tc-rep.cc (lookup_map_element): New arg, silent. If nonzero, - don't call error(). - - * tc-rep.h (is_empty): Define here. - * tree-const.h (is_empty): Hand off to TC_REP::is_empty(). - - * data.cc (Fstruct_contains): Call lookup_map_element on args(0) - instead of extracting the map and calling contains() on it. - - * parse.y (EPLUS, EMINUS): New tokens. - (simple_expr): Handle EPLUS, EMINUS the same as `+' and `-'. - * lex.l (".+", ".-"): New patterns. Match these separately to - disallow using them as unary operators. - - * lex.l (next_token_is_bin_op): Simplify by noting that spacing - only matters for those tokens that can also be unary ops. - -Fri Apr 21 14:34:45 1995 John Eaton - - * load-save.cc (read_ascii_data): Allow reading of empty - matrices. - - * tc-rep-ass.cc (vector_assignment): Only assert that we are not - doing fortran-style indexing and that nr <= 1 || nc <= 1. - (do_vector_assign): Handle assignment of [] when one dimension is - zero and the other is anything. - -Thu Apr 20 13:56:21 1995 John Eaton - - * tc-rep-ass.cc (delete_rows, delete_columns): Simply return if - num_to_delete is 0. - - * lex.l (handle_identifier): Don't match plot option keywords - inside parentheses or braces. - - * variables.cc (parse_fcn_file): Also delete tmp_help_txt if - running a script. - - * tree-cmd.h (tree_command): Add destructor. - - * tree-expr.h tree_simple_assignment_expression (lhs_idx_expr): - Hang on to idx_expr, not just its parts so it can be deleted. - (init): Initialize it. - * tree-expr.cc (~tree_simple_assignment_expression): Delete it. - - * tree-expr.h (tree_multi_val_ret, tree_oct_obj, tree_fvc, - tree_identifier, tree_builtin, tree_function): Add destructors. - * tree-expr.cc (tree_function::~tree_function): Delete some stuff. - - * tree-misc.h (tree_va_return_list): Add destructor. - - * octave.cc (__builtin_new, __builtin_delete): Provide our own, - for debugging. - - * utils.cc (strconcat): Don't depend on the return value from - strcat. - (file_in_path): Simplify logic. - - * parse.y (maybe_convert_to_ans_assign): Create ans_id each time - with new and ask tree_simple_assignment_expression to handle - cleaning it up. This apparently plugs a memory leak. - - * lex.l (strip_trailing_whitespace): Declare retval static. - Delete it before saving next string. - - * error.cc (Ferror): Do call error() for empty string args. - (error_1): Don't print anything if fmt is "" or "\n", but do set - the error state appropriately. - - * tree-cmd.cc (tree_unwind_protect::eval): Handle return and break - in the `try' part of the statement. - -Mon Apr 10 19:29:44 1995 John Eaton - - * f-expm.cc, f-givens.cc, f-qzval.cc, f-syl.cc, f-rand.cc: - Where appropriate, declare Fortran functions to take reference - instead of pointer args. Change callers. - - * mappers.cc: Declare Fortran functions to take reference instead - of pointer args. Change callers. - - * gamma.c, lgamma.c, erfc.c, erf.c, atanh.c, asinh.c, acosh.c: - Declare Fortran functions to take reference instead of pointer - args. - -Sun Apr 9 19:38:53 1995 John Eaton - - * file-io.cc (Fpopen, Fpclose, Fexecute, Fsync_system, - Fasync_system, Fwaitpid, Fmkfifo, Funlink): New functions. - - * sighandlers.cc (sigchld_handler): New function. - (install_signal_handlers): Add call to install - sigchld_handler. (This is #if 0'd out, waiting for code to help - determine which child exited and what to do about it). - - * tree-expr.h (tree_oct_obj): New class. - - * tree-expr.h (tree_multi_assignment_expression::preserve): New - data member. Add arg with default value to constructors. Change - callers as necessary. - * tree-expr.cc (~tree_multi_assignment_expression): Conditionally - delete lhs. - - * parse.y (make_multi_val_ret): Pass matrix instead of getting it - from the global matrix list. - (expression): Extract matrix from matrix list before calling - make_multi_val_ret(). - - * parse.y (command): Handle new for loop syntax for structures. - - * tree-plot.h (subplot_list): Include tree_print_code() in - initializer lists for constructors. - * tree-expr.h (tree_statement_list, tree_argument_list, - tree_parameter_list, tree_return_list, tree_global_init_list, - tree_if_command_list, ): Likewise. - - * tree-cmd.h (tree_for_command::id_list): New data member. - (tree_for_command (tree_return_list*, tree_expression*, - tree_statement_list*, int, int)): Likewise. - * tree-cmd.cc (tree_for_command::eval): Handle for loops with - structures. - (do_for_loop_once (tree_return_list*, Octave_object&, int&)): - New form for handling for loops with structures. - - * sysdep.cc (octave_ieee_init): Determine floating point format - here. - (native_float_format): New global variable. - (Fisieee): Compute return value from native_float_format, not by - using preprocessor macros. - * sysdep.h (enum floating_point_format): Move declaration here. - * load-save.cc: From here. - Always define all floating point format conversion routines. - (do_double_format_conversion, do_float_format_conversion): - Use native_float_format instead of preprocessor macros. - -Sat Apr 8 15:41:35 1995 John Eaton - - * Makefile (TEMPLATE_SRC): New variable. - (DISTFILES): Add $(TEMPLATE_SRC). - (SOURCES): Delete Map.cc and SLStack.cc from here. - - * variables.cc (install_builtin_variables): Use OCTAVE_VERSION - instead of version_string to initialize OCTAVE_VERSION. - * version.h (version_string): Delete. - - * getopt.c (_getopt_internal): Initialize indfound to avoid warning. - -Fri Apr 7 15:29:41 1995 John Eaton - - * tc-inlines.h (REP_RHS_MATRIX): Just check to see if tc is real - or complex. If conversion fails, return. - -Thu Apr 6 00:10:47 1995 John Eaton - - * data.cc (Fstruct_contains): New function. - - * tc-rep.cc (print_code): Add extra parens around while condition - to avoid warning. - * utils.cc (undo_string_escapes): Likewise. - * input.cc (decode_prompt_string): Likewise. Also rewrite if - statement to avoid warning. - -Tue Apr 4 22:54:17 1995 John Eaton - - * tree-expr.cc (tree_multi_assignment_expression::eval, - tree_simple_assignment_expression::eval): Call print_constant - even if user_pref.print_answer_id_name is false. - -Mon Apr 3 17:57:14 1995 John Eaton - - * tc-inlines.h (TC_REP): Avoid redefinition. - - * tree-const.h (do_binary_op, do_unary_op): Declare as friends of - tree_constant class too. - - * tree-plot.h (subplot_using::have_values): Delete data member. - * tree-plot.cc (subplot_using::eval): Always recompute values. - -Fri Mar 31 10:18:32 1995 John Eaton - - * tc-rep.cc (print): Print open brace for structures here. - * tree-expr.cc (print_constant): Not here. - - * symtab.cc (define): Don't delete arg if sv_fcn fails. - - * tree-const.cc (print): New function. Create ostrstream buffer - and pass it to rep->print(). - * tree-const.h (eval (int)): Call print(), not rep->print(). - * tc-rep.cc (structure_indent_level): New file-scope variable. - (print): New arg, output_buf, is stream to print to. - Print values of structure elements too. - - * user-prefs.h (user_preferences): New field, struct_levels_to_print. - * user-prefs.cc (struct_levels_to_print): New function. - * variables.cc (install_builtin_variables): Add DEFVAR for new - variable struct_levels_to_print. - - * tree-const.cc (print_as_scalar, print_as_structure): Move here - from tree-expr.cc and make extern. - - * tree-expr.cc (print_as_structure): New function. - (print_constant): Use it. - - * tree-expr.cc (print_constant): New arg, print_padding. - (tree_simple_assignment_expression::eval): Use print_constant - instead of duplicating code here. - (tree_multi_assignment_expression::eval): Likewise. - -Thu Mar 30 13:24:11 1995 John Eaton - - * Makefile.in (SOURCES): Add resource.cc. - * resource.cc: New file, extracted from timefns.cc. - (Fgetrusage): New function. - * timefns.cc (cputime): Delete (now implemented in a function file - using new getrusage function). - -Wed Mar 29 22:52:42 1995 John Eaton - - * Makefile.in (SOURCES): Add strftime.c. - * strftime.c: New file, from sh-utils distribution. - - * timefns.cc (mk_tm_map, extract_tm, Ftime, Fgmtime, Flocaltime, - Fmktime, Fstrftime): New basic time functions. - (Fclock, Fdate): Delete (now implemented in function files using new - time functions). - -Tue Mar 28 17:51:51 1995 John Eaton - - * file-io.cc (return_valid_file, do_printf, do_scanf, - fclose_internal, feof_internal, ferror_internal, fflush_internal, - fgets_internal, fopen_internal, fread_internal, freport_internal, - frewind_internal, fseek_internal, ftell_internal, - fwrite_internal): Declare static. - * file-io.h: Delete extern declarations for them. - -Fri Mar 24 09:52:50 1995 John Eaton - - * pr-output.cc (pr_col_num_header): New function. - (compact_format): New file-scope variable. - (set_format_style): Handle loose and compact formats. - (octave_print_internal (ostream&, const ComplexMatrix&, int)): - Replace duplicate code with call to pr_col_num_header(). - (octave_print_internal (ostream&, const Matrix&, int): Likewise. - (octave_print_internal (ostream&, const Range&, int): Likewise. - -Tue Mar 21 08:44:48 1995 John Eaton - - * mappers.cc (xgamma): Always use Slatec library function. - * (xlgamma): Likewise. - * Makefile.in (SOURCES): Don't include lgamma.c. - -Fri Mar 17 22:38:39 1995 John Eaton - - * tc-rep.cc (TC_REP::new): Don't try to keep track of newlist_tail. - Explicitly initialize newlist to zero. - * tree-const.cc (tree_constant::operator new): Likewise. - -Fri Mar 10 12:40:24 1995 John Eaton - - * tree-cmd.cc (quit_loop_now): Declare inline. - (tree_for_command::do_for_loop_once): Split into two versions, one - for the general case and one for when the loop variable is a - simple identifier. - (DO_LOOP): New macro. Move tests outside of loop. - (tree_for_command::eval): Speed up by checking to see if loop - variable is a simple identifier and by using DO_LOOP. - - * tree-const.h: New union of rep and freeptr. The freeptr element - is used for our custom memory management functions. - - * tc-rep.h: Add freeptr element to anonymous union (for our custom - memory management functions). - - * tree-const.cc (newlist, newlist_grow_size, newlist_tail): New - static variables. - (tree_constant::operator new): Always define to allow more - efficient allocation of single tree_constants. - (tree_constant::operator delete): Likewise, handle deletion of the - memory we allocate. - - * tc-rep.cc (newlist, newlist_grow_size, newlist_tail): New static - variables. - (tree_constant::operator new): Always define to allow more - efficient allocation of single tree_constants. - (tree_constant::operator delete): Likewise, handle deletion of the - memory we allocate. - -Fri Mar 3 14:00:08 1995 John Eaton - - * error.cc (verror): Terminate output_buf with ends. - - * statdefs.h: Use C-style comment in first line instead of - C++-style comment. - -Mon Feb 27 10:11:18 1995 John Eaton - - * parse.y (maybe_convert_to_ans_assign): Only lookup ans once. - * variables.cc (bind_ans): New function. - * tree-expr.cc (tree_identifier::eval (int)): Use it here. - (tree_identifier::eval (int, int, const Octave_object&): And here. - - * tree-expr.cc (install_nargin_and_nargout): New function. - * tree-expr.h (tree_function::tree_function (tree_statement_list *, - symbol_table *, int, int)): Call it. - - * tree-expr.cc (tree_function::bind_nargin_and_nargout): New function. - (tree_function::eval): Call it insead of the one from variables.cc. - - * variables.cc (bind_nargin_and_nargout): #if 0 out. - -Sun Feb 26 00:17:06 1995 John Eaton - - * load-save.cc (Fload, Fsave): Free fname returned by tilde_expand(). - * dirfns.cc (Fls): Likewise. - - * tree-expr.cc (tree_multi_assignment_expression::eval (int, int, - const Octave_object&)): Call tree_return_list::operator () (Pix) - explicitly. - - * octave.cc (initialize_globals): Put TEXMF in the environment for - kpthsea. - - * Makefile.in (OCTAVE_LIBS): Use @LIBINFO@ and @LIBREADLINE@, - substituted by configure. Use kpathsea.a, not libkpathsea, so we - don't have to modify the kpathsea Makefile. - -Sat Feb 25 18:59:26 1995 John Eaton - - * pathsearch.cc: New file. - * pathsearch.h: New file. - * Makefile.in (INCLUDES): Include it in the list. - * dynamic-ld.cc, help.cc, utils.cc: Use it instead of repeating - identical code multiple times. - - * variables.cc (install_builtin_variables): Only DEFVAR - suppress_verbose_help_message if USE_GNU_INFO. - - * help.cc (Fhelp): Only handle -i if USE_GNU_INFO. - (additional_help_message): Only print message if USE_GNU_INFO. - (builtin_help): New function. - (help_from_info): New function. Print warning if not USE_GNU_INFO. - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 OLD-ChangeLogs/test-ChangeLog --- a/OLD-ChangeLogs/test-ChangeLog Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,848 +0,0 @@ -2011-04-03 Rik - - * test_diag_perm.m: Reverse previous changeset. Return 3-input form - of diag(). - -2011-04-01 Rik - - * test_diag_perm.m: Update diag tests to reflect removal of archaic - 3-input form of diag(). - -2011-03-18 Rik - - * test_parser.m: Add operatore precedence tests. - -2011-03-01 Rik - - * test/test_index-wfi-t.m: Use modern warning function - rather than deprecated built-in variable to set warning state. - -2011-02-22 Rik - - * fntests.m: Use single quotes around regexp patterns. - -2011-02-19 Rik - - * fntests.m: Use PCRE regular expressions to simplify script. - -2011-02-02 Rik - - * build_sparse_tests.sh: Use testif to only run some sparse tests when - necessary libraries are installed. - -2011-01-14 John W. Eaton - - * Update copyright notices for 2011. - -2010-12-13 Rik - - * test_switch.m : Add test for switch statement with otherwise clause, - but no cases. - -2010-11-10 John W. Eaton - - * fntests.m: Set warning state off for Octave:deprecated-functions. - (run_test_script): Do run tests for deprecated functions. - -2010-11-09 John W. Eaton - - * test_parser.m: New file. - * Makefile.am (FCN_FILES): Add it to the list. - -2010-09-29 Rik - - * fntests.m: Break output text differently for better readability. - -2010-09-28 Rik - - * test/@Gork/set.m, test/fntests.m, test/test_func.m, test/test_io.m: - Untabify scripts. - -2010-09-27 Rik - - * fntests.m: Use single quotes for regex when possible. - -2010-09-26 Rik - - * fntests.m (has_tests, has_functions): Recode to remove requirement - for PCRE. - -2010-09-24 Rik - - * fntests.m: Rephrase output for clarity. - -2010-08-17 Rik - - * fntests.m: Add extra newline for more readable output. - -2010-07-30 Rik - - * Makefile.am: New clean-local target to remove directories - created automatically during testing. - -2010-04-28 John W. Eaton - - * test_struct.m: Update expected error message text. - -2010-03-19 Jaroslav Hajek - - * test_slice.m: Use ID check rather than message for invalid resizing. - -2010-03-05 Jaroslav Hajek - - * test_logical-wfi-f.m: Update. - * test_logical-wfi-t.m: Update. - * test_struct.m Update. - -2010-01-29 John W. Eaton - - * fntests.m (hasfunctions): Only check for DEFUN in .cc files. - Return true for all .m files. - -2010-01-14 David Grundberg - - * fntests.m (run_test_script): Check all *.cc files for tests. - -2010-01-13 Rik - - * build_bc_overload_tests.sh: Correct test syntax (= vs. ==) - -2010-01-13 John W. Eaton - - * Makefile.am (test_bc_overloads.m): Accept expected results - file as argument. Style fixes. - -2010-01-13 Jaroslav Hajek - - * build_bc_overload_tests.sh: New shell script. - * build_bc_overloads_expected.m: New source (not normally used). - * bc_overloads_expected: New text file. - * Makefile.am: Build test_bc_overloads.m. - -2009-12-25 John W. Eaton - - * fntests.m (hastests): Use regexp instead of findstr and only - match tests that appear as the first thing on a line. - -2009-12-19 Rik - - * build_sparse_tests.sh: Use lognrnd instead of deprecated lognormal_rnd - -2009-12-19 Rik - - * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake - variables of top_builddir and top_srcdir. - -2009-12-17 Rik - - * config/unix.exp: Remove obsolete file from repository - -2009-12-17 Rik - - * @Blork/module.mk, @Cork/module.mk, @Dork/module.mk, - @Gork/module.mk, @Pork/module.mk, @Sneetch/module.mk, - @Snork/module.mk, @Spork/module.mk, Makefile.am: Distribute private - function directories necessary for OOP tests to work in tarballs - -2009-12-03 John W. Eaton - - * Makefile.am (CLEANFILES, DISTCLEANFILES): New variables. - -2009-11-10 John W. Eaton - - * @Blork/module.mk, @Cork/module.mk, @Dork/module.mk, - @Gork/module.mk, @Pork/module.mk, @Sneetch/module.mk, - @Snork/module.mk, @Spork/module.mk, Makefile.am: New files. - * Makefile.in: Delete. - -2009-10-19 Rik - - * fntests.m: .cc files are now included in the list of files requiring - tests only if they define a user function (DEFUN or DEFUN_DLD) - -2009-10-19 Rik - - * fntests.m: Remove deprecated functions from list of functions - requiring new tests to be written. - -2009-10-08 Rik - - * fntests.m: Fix typo of an extra space in instructions to user. - -2009-10-05 Rik - - * fntests.m: Fix typo directing users to the wrong log file - -2009-06-23 Robert T. Short - - * @Blork/Blork.m, @Blork/bleek.m, @Blork/display.m, @Blork/get.m, - @Blork/set.m, @Cork/Cork.m, @Cork/click.m, @Cork/display.m, - @Cork/get.m, @Cork/set.m, @Dork/Dork.m, @Dork/bling.m, - @Dork/display.m, @Dork/gack.m, @Dork/get.m, @Dork/getStash.m, - @Dork/private/myStash.m, @Dork/set.m, @Gork/Gork.m, @Gork/cork.m, - @Gork/display.m, @Gork/gark.m, @Gork/get.m, @Gork/set.m, - @Gork/subsasgn.m, @Gork/subsref.m, @Pork/Pork.m, @Pork/bling.m, - @Pork/display.m, @Pork/get.m, @Pork/gurk.m, - @Pork/private/myStash.m, @Pork/set.m, @Sneetch/Sneetch.m, - @Sneetch/display.m, @Snork/Snork.m, @Snork/cack.m, - @Snork/display.m, @Snork/end.m, @Snork/get.m, @Snork/getStash.m, - @Snork/gick.m, @Snork/loadobj.m, @Snork/private/myStash.m, - @Snork/saveobj.m, @Snork/set.m, @Snork/subsasgn.m, - @Snork/subsindex.m, @Snork/subsref.m, @Spork/Spork.m, - @Spork/cack.m, @Spork/display.m, @Spork/geek.m, @Spork/get.m, - @Spork/getStash.m, @Spork/loadobj.m, @Spork/private/myStash.m, - @Spork/saveobj.m, @Spork/set.m, test_classes.m: New files. - -2009-06-22 Jaroslav Hajek - - * test_null_assign.m: Fix test. - -2009-04-17 Thorsten Meyer - - * test_struct.m: Add tests to prevent regression of bug with - indexed assignment into empty struct array. - -2009-04-15 Thorsten Meyer - - * test_struct.m: Add tests for lazy copying in nested assignments - of struct elements. - -2009-04-12 Thorsten Meyer - - * test_contin.m, test_error.m, test_eval-catch.m, test_for.m, - test_global.m, test_if.m, test_index-wfi-f.m, - /test_index-wfi-t.m, test_io.m, test_logical-wfi-f.m, - test_logical-wfi-t.m, test_prefer.m, test_recursion.m, - test_return.m, test_string.m, test_struct.m, test_switch.m, - test_system.m, test_transpose.m, test_try.m, test_unwind.m, - test_while.m: Remove obsolete comments. - -2009-04-07 Carlo de Falco - - * test_io.m: Add a test for saving and reading a matrix with the - "-ascii" format. - -2009-03-10 Jason Riedy - - * test_diag_perm.m: Add tests for permuting sparse matrices and - for the correct types from interactions between - pseudo-scalars (1x1 matrices). - -2009-03-10 Jason Riedy - - * build_sparse_tests.sh: Add LU tests to the rectangular tests. - -2009-03-10 Jason Riedy - - * test_diag_perm.m: Add a test for conversion to sparse form. - -2009-03-09 Jason Riedy - - * test_diag_perm.m: Add tests for diag + sparse. - -2009-03-08 Jason Riedy - - * test_diag_perm.m: Add tests for inverse scaling and sparse structure. - -2009-03-08 Jason Riedy - - * test_diag_perm.m: Add tests for preserving sparse structure - when scaling. - -2009-02-25 John W. Eaton - - * build_sparse_tests.sh: Note that saving sparse matrices to MAT - files fails when using 64-bit indexing. - -2009-02-22 John W. Eaton - - * build_sparse_tests.sh: Fix diag matrix divide by zero test. - -2009-02-18 John W. Eaton - - * test_args.m: Don't use assert to test for function handles. - -2009-02-15 John W. Eaton - - * test_io.m, test_prefer.m: Avoid command-style function call - syntax when assigning results. - -2009-02-09 John W. Eaton - - * fntests.m (hastests): Error if fopen fails. - -2009-01-29 John W. Eaton - - * test_system.m: Use isfield instead of struct_contains. - -2009-01-25 Thorsten Meyer - - * test_struct.m: Add struct array tests. - -2009-01-23 Søren Hauberg - - * test_prefer.m: Update to match new API of the 'type' function. - -2008-12-24 John W. Eaton - - * fntests.m (hastests): Use fread instead of fscanf to preserve - whitespace. - -2008-12-02 Jaroslav Hajek - - * build_sparse_tests.sh: Fix test. - -2008-10-28 Jaroslav Hajek - - * test_logical-wfi-f.m: Fix error messages. - * test_logical-wfi-t.m: Fix error messages. - * test_slice.m: Fix error messages. - -2008-09-26 Jaroslav Hajek - - * test_null_assign.m: More test for null assignments. - -2008-09-18 Jaroslav Hajek - - * test_null_assign.m: New tests. - -2008-06-11 John W. Eaton - - * test_error.m: Fix tests for usage. - * test_eval-catch.m, test_try.m: Fix expected output from lasterr. - -2008-06-02 David Bateman - - * test_arith.m: Delete and move tests close to function - definitions. - * test_func.m: Also test for single precision return values. - - * test_infnan.m, test_linalg.m, test_matrix.m, test_number.m): - Delet and move tests close to function definitions. - * test_range.m: Also test single precision examples. - -2008-05-19 Bill Denney - - * test_args.m: Update format to allow running "test test_args" - and add default argument tests. - -2008-05-09 Rafael Laboissiere - - * test_io.m, test_system.m: Use ischar instead of deprecated isstr. - -2008-05-06 John W. Eaton - - * fntests.m: Use puts instead of printf where appropriate. - Fix missing newline in message. - -2008-03-26 David Bateman - - * test_index-wfi-f.m: Split large block of tests. New tests. - -2008-03-26 John W. Eaton - - * fntests.m (report_files_with_no_tests): New function. - Use it to report number of .m and .cc files without tests separately. - -2008-03-25 John W. Eaton - - * test_index-wfi-f.m: New tests. - -2008-03-25 Jaroslav Hajek - - * test_io.m: Add test for save with -struct modifier. - -2008-03-20 David Bateman - - * test_func.m: Modify to test for char, cell and structure arrays. - - * test_func.m: New test code that ensures that all operations - which work on dimensions alone (squeeze, triu, etc.) work for all - objects and preserve type. - -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-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_eval.m, test_diffeq.m, test_quad.m, test_signal.m: - Delete files with no tests. - -2008-02-25 Ben Abbott - - * test_eval-catch.m, test_io.m, test_try.m: Use cstrcat instead of - strcat. - -2008-02-22 David Bateman - - * build_sparse_tests.sh: Replaced removed sparse functions like - spdiag with their generic names. Fix lu tests for modified - syntax. Test vector and scaling or LU and chol functions. - * test_linalg.m: Change error message of failing chol/lu test. - -2008-02-19 David Bateman - - * build_sparse_tests.sh: Replaced removed spars functions like - spmin, with their generic names. - -2008-01-22 John W. Eaton - - * test_poly.m, test_set.m, test_stats.m: Delete files with no tests. - -2008-01-22 Thomas Weber - - * test_linalg.m, test_matrix.m, test_number.m, test_poly.m, - test_signal.m, test_stats.m, test_string.m, test_system.m: - Move tests to individual source files. - -2008-01-15 Thomas Weber - - * test_arith.m: Move tests to source files. - -2008-01-15 John W. Eaton - - * test_audio.m, test_control.m, test_image.m, test_optim.m, - test_plot.m, test_unix.m: Delete files with no tests. - -2007-12-21 John W. Eaton - - Version 3.0.0 released. - -2007-12-18 David Bateman - - * build_sparse_tests.sh: Add tests for indexing like a([1,1],:), - a(:,[1,1]) and sparse(42)([1,1]). - -2007-12-11 David Bateman - - * build_sparse_tests.sh: Drop argument to Fsparse to force mutation. - * test_range.m: Ditto. - -2007-12-10 John W. Eaton - - * test_nonlin.m: Delete. - -2007-12-03 David Bateman - - * fntests.m: Also count the skipped tests. - * build_sparse_tests.sh: As appropriate make tests conditional on - HAVE_UMFPACK, HAVE_CHOLMOD and HAVE_CXSPARSE. - -2007-11-26 David Bateman - - * build_sparse_tests.sh: More care with sparse return values. - -2007-10-30 Kim Hansen - - * build_sparse_tests.sh: Fix typo. - -2007-10-23 John W. Eaton - - * build_sparse_tests.sh (gen_sparsesparse_elementop_tests): - Use xtest for "assert(as./bs,sparse(af./bf,true),100*eps);" test. - -2007-10-12 John W. Eaton - - * Change copyright notices in all files that are part of Octave to - GPLv3 or any later version. - -2007-10-06 John W. Eaton - - * test_poly.m: Move residue test to residue.m. - -2007-09-29 Kim Hansen - - * test_range.m: Test range data - -2007-09-21 John W. Eaton - - * test_slice.m: Fix test for x = ones ([0, 2]); x(idx) = N case. - See change for liboctave/Array.cc. - -2007-06-15 John W. Eaton - - * fntests.m: Also report expected failures in summary. - Improved wording from Thomas Weber . - -2007-06-06 John W. Eaton - - * test_signal.m: Rename internal assert function to xassert. - -2007-04-26 David Bateman - - * test_for.m: Add tests for multi-dimensional matrices and cell - arrays. - -2007-04-04 Rafael Laboissiere - - * Makefile.in (clean): Also remove a.wav file created by - testing wavwrite.m. - -2007-04-03 Kim Hansen - - * test_slice.m: New file. - -2007-03-27 John W. Eaton - - * Makefile.in (dist): Use ln, not $(LN_S). - -2007-02-26 From Michael Goffioul - - * Makefile.in: Use $(LN_S) instead of ln or ln -s. - -2007-02-20 John W. Eaton - - * Makefile.in (check): Use --norc instead of --no-site-file. - From: Alex Zvoleff - -2007-02-19 John W. Eaton - - * test_system.m: Handle confirm_recursive_rmdir as function - instead of built-in variable. - -2007-02-07 John W. Eaton - - * fntests.m: Add plea for help writing tests. - -2007-01-11 John W. Eaton - - * fntests.m: Also handle scripts directory in the build tree. - - * Makefile.in (OCTAVE_SCRIPT_PATH): Delete unused variable. - -2006-11-14 Luis F. Ortiz - - * fntests.m: Include liboctave in the list of directories to test. - -2006-08-25 John W. Eaton - - * test_io.m (testls): Allow for small variance in loaded values - for text data formats. Use persistent local variables instead of - resetting rand seed. - -2006-08-22 David Bateman - - * build_sparse_tests.sh: Don't force conversion to sparse boolean - return type for string mapper functions. - -2006-08-21 John W. Eaton - - * test_io.m: Use isequal (a, b) instead of a != b. Use isequal - for struct and cell tests instead of more complex constructs. - -2006-06-27 John W. Eaton - - * Makefile.in (distclean): Also remove test_sparse.m. - -2006-06-07 John W. Eaton - - * fntests.m: Keep track of files with tests and report total. - -2006-06-01 John W. Eaton - - * fntests.m (print_test_file_name, print_pass_fail): New functions. - (runtestdir, runtestscript): Use them. Print info for each file - with tests. Print info about files without tests to log file. - (run_test_dir): Rename from runtestdir. Change all uses. - (run_test_script): Rename from runtestscript. Change all uses. - Handle page_screen_output as a function instead of a built-in - variable. - -2006-05-04 John W. Eaton - - * test_prefer.m: Adjust tests for eliminated built-in variables. - -2006-04-29 John W. Eaton - - * Makefile.in (check): Use run-octave script. - -2006-04-28 John W. Eaton - - * test_prefer.m: Adjust tests for new way of handling warning state. - * build_sparse_tests.sh: Likewise. - -2006-04-11 John W. Eaton - - * test_system.m, test_struct.m, test_string.m, test_quad.m, - test_number.m, test_nonlin.m, test_matrix.m, test_linalg.m, - test_io.m, test_diffeq.m, test_arith.m: Update for new usage - message format. - -2006-04-03 David Bateman - - * test_number.m: Reverse sense of isscalar and isvector tests - for recent changes. - -2006-03-21 John W. Eaton - - * test_system.m: Use cell arrays of character strings in fnmatch - tests. - -2006-03-16 John W. Eaton - - * test_system.m: End all *pwent tests with a call to endpwent. - End all *grent tests with a call to endgrent. - -2006-03-14 John W. Eaton - - * fntests.m: Prettier printing of output. - * test_eval.m: Disable chatty tests. - -2006-03-08 David Bateman - - * test_system.m: Fix recursive rmdir test for recent change. - -2006-02-20 David Bateman - - * build_spase_tests.sh: Add tests for ldiv tests for rectangular - diagonal, permuted diagonal, triangular and permuted triangular - matrices. - -2006-02-09 David Bateman - - * build_sparse_tests.sh: Add tests for sparse QR solvers. - -2006-01-21 David Bateman - - * build_sparsetest.sh: Add new un-ordered indexing, assignment and - deletion tests. - -2006-01-13 Bill Denney - - * test_system.m: Use filesep instead of "/" where needed. - -2005-12-14 David Bateman - - * build_sparse_tests.sh: New script to build sparse matrix tests. - * fntests.m: New script to run the octave test code, with "make check". - * Makefile.in (DISTDIRS): Delete. - (dist): Simplify. - (OCTAVE_SCRIPT_PATH): Include . and $(srcdir). - (check): Run tests with fntest.m instead of runtest. - (test_sparse.m): New target. - (clean): Remove fntests.log instead of octave.log and octave.sum. - - * tests/test_args.m, tests/test_infnan.m, tests/test_set.m, - tests/test_arith.m, tests/test_io.m, tests/test_signal.m, - tests/test_audio.m, tests/test_linalg.m, tests/test_sparse.m, - tests/test_contin.m, tests/test_logical-wfi-f.m, tests/test_stats.m, - tests/test_control.m, tests/test_logical-wfi-t.m, tests/test_string.m, - tests/test_diffeq.m, tests/test_matrix.m, tests/test_struct.m, - tests/test_error.m, tests/test_nonlin.m, tests/test_switch.m, - tests/test_eval-catch.m, tests/test_number.m, tests/test_system.m, - tests/test_eval.m, tests/test_optim.m, tests/test_transpose.m, - tests/test_for.m, tests/test_plot.m, tests/test_try.m, - tests/test_global.m, tests/test_poly.m, tests/test_unix.m, - tests/test_if.m, tests/test_prefer.m, tests/test_unwind.m, - tests/test_image.m, tests/test_quad.m, tests/test_while.m, - tests/test_index-wfi-f.m, tests/test_recursion.m, - tests/test_index-wfi-t.m, tests/test_return.m: Initial of conversion - of DejaGnu tests to test/assert infrastructure. - -2005-05-11 John W. Eaton - - * config/unix.exp: Start Octave with -H. - -2002-10-31 John W. Eaton - - * octave.test/arith/prod-4.m, octave.test/arith/sum-4.m: - Cover more cases for empty matrices. - -2002-10-15 Paul Kienzle - - * Makefile.in: Use @library_path_var@ instead of LD_LIBRARY_PATH. - -2002-09-27 Paul Kienzle - - * qr-7.m: Remove randomness from complex matrix generator. - Increase tolerance on rosser matrix test. - -2002-09-26 Paul Kienzle - - * octave.test/linalg/qr-7.m: Replace large random matrix tests - of economy QR decomposition with small predictable tests. - Include numerically sensitive rosser matrix test. Don't - report the measured norms. - -2002-04-24 Bill Lash - - * test/octave.test/signal/signal.exp: Add unwrap test. - * test/octave.test/signal/unwrap-1.m: New file. - -2002-04-24 David Billinghurst - - * octave.test/signal/signal.exp: Add tests for fft, ifft - fft2, ifft2 and detrend. - * octave.test/signal/detrend-1.m: New test. - * octave.test/signal/detrend-2.m: New test. - * octave.test/signal/detrend-3.m: New test. - * octave.test/signal/fft-1.m: New test. - * octave.test/signal/ifft-1.m: New test. - * octave.test/signal/fft2-1.m: New test. - * octave.test/signal/ifft2-1.m: New test. - -2002-04-22 John W. Eaton - - * octave.test/diffeq/dassl-1.m (tol): Use relative tolerance for test. - * octave.test/diffeq/dassl-2.m (tol): Likewise. - * octave.test/diffeq/lsode-1.m (tol): Likewise. - * octave.test/diffeq/lsode-2.m (tol): Likewise. - * octave.test/diffeq/lsode-3.m (tol): Likewise. - -2002-04-12 Kienzle - - * config/unix.exp: Allow running of individual tests with - "runtest *.exp" from any of the directories under test/octave.test. - -2002-04-02 John W. Eaton - - * octave.test/linalg/qr-7.m: New test. - From Paul Kienzle . - -2001-04-24 Christoph Spiel - - * Makefile.in (check): Allow user to specify which .exp file to run. - * octave.test/try, octave.test/eval-catch: New directories and tests. - -2000-06-07 Ben Sapp - - * octave.test/quad/quad-1.m: Use absolute value of difference - from expected value when comparing with sqrt (eps). Potential - problems like this were noticed by Przemek Klosowski - . - * octave.test/quad/quad-2.m: Likewise. - * octave.test/arith/exp-1.m: Likewise. - * octave.test/linalg/cond-1.m: Likewise. - * octave.test/linalg/eig-1.m: Likewise. - * octave.test/linalg/eig-2.m: Likewise. - * octave.test/linalg/inv-1.m: Likewise. - * octave.test/linalg/lu-2.m: Likewise. - * octave.test/linalg/svd-2.m: Likewise. - * octave.test/linalg/svd-10.m: Likewise. - -1999-10-29 John W. Eaton - - * octave.test/system/mktime-1.m (t): Compare whole seconds only. - -Fri Dec 4 20:55:47 1998 John W. Eaton - - * octave.test/system/clock-1.m: Use standard format specifiers %d - and %H instead of %e and %k. - -Fri Oct 23 15:53:01 1998 John W. Eaton - - * octave.test/arith/exp-5.m: New test. - - * octave.test/stats/mean-3.m: New version of mean accepts a second - optional arg. - - * octave.test/system/date-1.m: Correct test for new Y2K-compliant - date function. - -Wed May 27 00:38:27 1998 John W. Eaton - - * octave.test/diffeq/dassl-1.m, octave.test/diffeq/dassl-2.m, - octave.test/diffeq/lsode-1.m: New tests, from David Billinghurst - . - - * octave.test/diffeq/lsode-2.m, octave.test/diffeq/lsode-3.m: - New tests, from Peter Hopfgartner . - -Thu Apr 23 01:45:16 1998 John W. Eaton - - * Makefile.in: If $(SHARED_LIBS), set LD_LIBRARY_PATH for running - Octave before installation is complete. - -Wed Apr 15 15:23:43 1998 John W. Eaton - - * octave.test/index/dfi-f/m-2.m, octave.test/index/dfi-f/index.exp: - Expect this test to succed now. - -Thu Mar 5 20:35:26 1998 John W. Eaton - - * octave.test/system/gmtime-1.m, octave.test/system/localtime-1.m: - Not all systems have time zone info in the struct. - -Mon Mar 2 14:36:50 1998 John W. Eaton - - * octave.test/io/binary-io-1.m (id): Use binary flag in fopen call. - -Wed Apr 2 21:59:15 1997 John W. Eaton - - * octave.test/prefer/prefer.exp: Delete prefer-36 and prefer-37. - * octave.test/prefer/prefer-36.m, octave.test/prefer/prefer-37.m: - Delete test files. - -Wed Mar 12 16:56:41 1997 John W. Eaton - - * Makefile.in (install-strip): New target. - -Sat Mar 1 15:23:14 1997 John W. Eaton - - * Version 2.0.5 released. - -Thu Feb 20 02:58:05 1997 John W. Eaton - - * Version 2.0.4 released. - -Tue Feb 18 09:22:04 1997 John W. Eaton - - * Version 2.0.3 released. - -Mon Jan 27 15:51:58 1997 John W. Eaton - - * Version 2.0.2 released. - -Thu Jan 23 13:48:19 1997 John W. Eaton - - * octave.test/unwind/unwind-2.m: Scripts now stop executing when - errors are encountered. - - * octave.test/return/return.exp: Return at top level is no longer - an error. - -Tue Jan 7 00:16:23 1997 John W. Eaton - - * Version 2.0.1 released. - -Tue Dec 10 01:43:05 1996 John W. Eaton - - * Version 2.0 released. - -Fri Dec 6 15:23:39 1996 John W. Eaton - - * Version 1.94. - -Wed Nov 20 01:00:02 1996 John W. Eaton - - * Version 1.93. - -Thu Nov 14 00:05:57 1996 John W. Eaton - - * Version 1.92 - -Thu Nov 7 12:43:03 1996 John W. Eaton - - * Version 1.91. - -Wed Oct 30 17:19:12 1996 John W. Eaton - - * Version 1.90. - - * Makefile.in (DISTFILES): Add ChangeLog. - -Fri Feb 9 21:40:49 1996 John W. Eaton - - * Makefile.in (OCTAVE_SCRIPT_PATH): Add ../src directory (for .oct - files) and current directory (why not?). - -See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 PROJECTS --- a/PROJECTS Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -Octave PROJECTS -=============== - -A list of proposed projects is maintained at: - - http://wiki.octave.org/wiki.pl?Projects - -If you start working steadily on a project, please let -maintainers@octave.org know. We might have information that could help -you. You should also read the Contributing Guidelines chapter in the -Octave manual. diff -r 10f6727fbaa8 -r b67c2d580a25 README --- a/README Fri Jun 10 11:26:07 2011 -0400 +++ b/README Fri Jun 10 14:35:42 2011 -0400 @@ -49,9 +49,9 @@ features of GNU Make that are not present in other versions of make. GNU Make is very portable and easy to install. -See the notes in the files INSTALL and INSTALL.OCTAVE for more -specific installation instructions, including directions for -installing Octave from a binary distribution. +See the notes in the files INSTALL and the system-specific README files +in the etc directory of the Octave source distribution for more specific +installation instructions. Bugs and Patches ---------------- @@ -78,4 +78,4 @@ maintainers mailing lists. -Last updated: Sat, 07 Mar 2009 11:18:14 EST +Last updated: Fri, 10 Jun 2011 14:02:32 EDT diff -r 10f6727fbaa8 -r b67c2d580a25 README.Cygwin --- a/README.Cygwin Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -Starting with version 3.0.1, Octave is once again part of the normal -net distribution of Cygwin, available from http://www.cygwin.com. - -It is possible to build Octave from source on Windows systems with Cygwin, -but with the old gcc-3.4.4-3 compiler there are some performance -problems related to the way C++ exception handling is implemented. -This is a known problem with a long history and it is STRONGLY -encouraged to use gcc-4.3.2-1 or later. - -Current binary versions are built with gcc-4.3.4-3 while -binary version 3.0.2-2 was built with gcc-4.3.2-1. - -The latest development Octave development sources (octave-3.3.54+) -are built with: - -configure --enable-shared \ - --enable-float-truncate \ - CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 - lt_cv_deplibs_check_method=pass_all \ - LDFLAGS=-no-undefined - -"--enable-float-truncate" is needed for the following bug: -http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404 -Without it, one of the quadgk test will fail as -"a=a" could be false due to truncation problems with -complex numbers. - -"lt_cv_deplibs_check_method=pass_all" is needed to bypass -incorrect libtool detection of system capabilities and -to allow shared libs building. - - -Octave-3.2.4 was built using: - -configure --enable-shared \ - --without-fltk \ - --without-framework-opengl \ - CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 - CFLAGS="-Dtimezone=_timezone" - - -Current Cygwin package maintainer for Octave: - - Marco Atzeri - http://matzeri.altervista.org - -Marco Atzeri -marco_atzeri@yahoo.it -Italy - -Last updated: Mon Jan 3 18:53:41 WEST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.Linux --- a/README.Linux Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -There are binary packages for Debian, Fedora, and other GNU/Linux -distributions. - -Octave should build cleanly from source on most GNU/Linux systems. - - -John W. Eaton -jwe@octave.org - -Last updated: Wed, 31 Oct 2007 16:22:26 EDT diff -r 10f6727fbaa8 -r b67c2d580a25 README.MacOS --- a/README.MacOS Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,406 +0,0 @@ -1. Easy to install Binary Releases -================================== - -A MacOS bundle is available from sourceforge. - - http://octave.sourceforge.net/index.html - -There are also Octave packages available from both Fink and MacPorts. Each -of these package managers handle the details of compiling Octave from source. - - http://www.finkproject.com - http://www.macports.org/ - - -2. Building from Source -======================= - -Stable releases, development snapshots as well as the current developers -sources are available. The sources for stable releases are available from -the links below. - - ftp://ftp.gnu.org/pub/gnu/octave/ - http://ftp.gnu.org/pub/gnu/octave/ - -Development snapshots, intended for testing, are available from the link -below. - - ftp://alpha.gnu.org/gnu/octave - -Links to the stable releases, snap shots, and instructions for obtaining -the current development sources using mercurial can be found on Octave's -web-site below. - - http://www.gnu.org/software/octave/download.html - -Building on MacOS can vary significantly between versions. These -instructions document the procedure for MacOS 10.6.X. - - -2.1 Developer's Tools ---------------------- - -Apple's Xcode Developer's Tools must be installed to build Octave on MacOS X. - -A fortran compiler is also required to build Octave. - -AT&T Research provides versions of gfortran which have been patched to work -with gcc tool set bundled with Xcode. - - http://r.research.att.com/tools/ - -Alternatively, the Fink and MacPorts package managers provide more recent -versions of gcc which include gfortan. Those may be used to build the sources -as well. However, care must be taken. - - * The same compiler must be used to build all all of Octave's sources. This - is necessary to avoid conflicts between the compiler libraries such as - libstdc++. For a successful build the first file in LDFLAGS must refer to - this library. For example, if building with gcc-4.5 obtained from MacPorts - LDFLAGS would begin as, - - export LDFLAGS="/opt/local/lib/gcc45/libstdc++.6.dylib [...]" - - * As of MacOS 10.6.6, the 64-bit BLAS routines that are part of Apple's vecLib - (framework accelerate) are not functioning correctly. As a work around, an - alternative BLAS/LAPACK library, such as ATLAS, must be used. A bug report - has been filed with Apple. - - http://bugreport.apple.com - Title: "64 bit ABI issue with libBLAS.dylib" - Problem ID: 7850167 - Date: April 11, 2010 at 12:04 AM - - -2.2 Manual Package Management ------------------------------ - -Instructions for building Octave are available on the web at the link below. - - http://wiki.octave.org/wiki.pl?BuildFromSource - -In addition, those wishing to build on MacOS X (10.6.x) should read section -2.1 above. - -2.2.1 Critical Dependencies ---------------------------- - -The minimal dependencies needed to build Octave's snap-shots are listed below. - - * Xcode - - * Xcode-compatible gfortran: Available from http://r.reseach.att.com/tools - - * gnu sed: Available from http://www.gnu.org/software/sed/ - - ./configure --prefix=/usr - make - sudo make install - - * gnu pcre: Available from ftp://ftp.gnu.org/ - The following build instructions will produce a universal binary, - allowing both 32- and 64-bit code to link to pcre. Whenever replacing - libraries which came with the OS, it is necessary to compile them as - universal binaries (even if you are only going to use one architecture) - to avoid disrupting unrelated code which might also link to the library. - - export CFLAGS="-arch i686 -arch x86_64" - export LDFLAGS="-arch i686 -arch x86_64" - ./configure --prefix=/usr --disable-dependency-tracking - make - sudo make install - - * flex: Available from http://flex.sourceforge.net/ - - ./configure --prefix=/usr - make - sudo make install - - * blas/lapack - - - The Apple/Intel-provided BLAS works out of the box in 32-bit as long as - the -ff2c flag is used. Alternatively, a wrapper for Apple's vecLib - framework may be used, enabling 64-bit. - - https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-January/022541.html - -A fully functional Octave requires additional dependencies. Here is an example - of how to compile one of them as a universal binary: - - * fftw3: Available from http://www.fftw.org/download.html - - export F77="/usr/bin/gfortran" - export CFLAGS="-arch i686 -arch x86_64" - export FFLAGS="$CFLAGS" - export LDFLAGS="$CFLAGS" - ./configure --disable-dependency-tracking - make - sudo make install - make clean - ./configure --enable-float --disable-dependency-tracking - make - sudo make install - -See the link below for additional details about optional dependencies. - - http://wiki.octave.org/wiki.pl?BuildFromSource - -TODO - Modify the configure script to test for 64 bit vecLib bug. When the bug - is present, apply the wrapper solution. - - -2.2.2 Building Octave as a 32-bit Application --------------------------------------------- - -The commands below are sufficient to build a 32-bit Octave. - - export FC="/usr/bin/gfortran" - export CFLAGS="-m32" - export FFLAGS="$CFLAGS -ff2c" - export CPPFLAGS="$CFLAGS -D_REENTRANT -D__LISTS__" - export LDFLAGS="$CFLAGS" - ./configure --disable-readline --disable-docs - make - -Octave provides an integrated tests suite. - - make check - -Octave may be run without installing the application using the utility below. - - ./run-octave - -2.2.3 Building Octave as a 64-bit Application --------------------------------------------- - -The commands below are sufficient to build a 64-bit Octave. - - export FC="/usr/bin/gfortran" - export CFLAGS="-arch x86_64" - export FFLAGS="$CFLAGS" - export CPPFLAGS="$CFLAGS -D_REENTRANT -D__LISTS__" - export LDFLAGS="$CFLAGS" - ./configure --disable-readline --disable-docs - make - -Octave provides an integrated tests suite. - - make check - -Octave may be run without installing the application using the utility below. - - ./run-octave - - -2.3 Building With Dependencies Satisfied by Fink ------------------------------------------------- - -To install and setup the Fink package manager see the on line documentation. - - http://www.finkproject.org/ - -Currently, Fink does not have a package available for Octave versions above -3.0.x. These instructions will allow the developers sources to be build and -run, but will not permit Octave to be installed in the usual Fink way. - -TODO - When a Fink package is developed for Octave 3.4.x, modify these - instructions to model the MacPorts section. - - -2.3.1 Dependencies ------------------- - -To build Octave's sources the list of Fink packages below need to be installed. - - aquaterm - arpack - autoconf (>= 2.6.0) - automake (>= 1.11) - fftw3 (>= 3.1.1) - fftw3-shlibs (>= 3.1.1) - flex >= 2.5.30 - fltk-aqua-shlibs - glpk-dev - glpk-shlibs - gnuplot (>= 4.2.6) - graphicsmagick (<= 1.3.7) - graphicsmagick-shlibs (<= 1.3.7) - hdf5 (>= 1.6.5) - hdf5-shlibs (>= 1.6.5) - libcurl4 - libcurl4-shlibs - libncurses5 - libncurses5-shlibs - libtool >= 2.2.2 - ncurses - pcre - pcre-shlibs - qhull - qrupdate [1] - readline5 - readline5-shlibs - sed - suitesparse (= 3.1.0-1 ) - -Some of Octave's dependencies are among the default packages for Fink. These -include the list below, and possibly others as well. - - tetex - texinfo - -For fully functional printing (graphics output), the following packages must -be installed. - - epstool - ghostscript - pstoedit - transfig [2] - -[1] Fink does not yet have a package for qrupdate. However, one is available - in the tracker at the link below. - - http://sourceforge.net/tracker/index.php?func=detail&aid=2861045&group_id=17203&atid=414256 - -[2] Optionally the "xfig" package may be installed. - - -2.3.2 Building With Dependencies Satisfied by Fink --------------------------------------------------- - -After installing each of the dependencies, the sources are compiled by -setting the proper environment variables and then following the standard build -sequence. The following is an example set of variables for a 32-bit build -using gcc-4.2. When building from the sources obtained from the mercurial -archive, ./autogen.sh must be run prior to ./configure. - - export FINK_PREFIX="/sw" - export PREFIX="/usr/local/bin" - - export OPTFLAGS="-O2 -g" - export LDFLAGS="-L$FINK_PREFIX/lib -L/usr/lib -m32" - export CFLAGS="-I$FINK_PREFIX/include $OPTFLAGS -m32" - export CXXFLAGS=$CFLAGS - export CPPFLAGS="$CXXFLAGS -D__LISTS__" - export ACLOCAL_FLAGS="-I$FINK_PREFIX/share/aclocal" - export PKG_CONFIG_PATH="$FINK_PREFIX/lib/pkgconfig" - export PATH="$FINK_PREFIX/var/lib/fink/path-prefix-10.6/:$PATH" - export MACOSX_DEPLOYMENT_TARGET=10.5 - export PATH="$FINK_PREFIX/lib/flex/bin:$PATH" - export CPPFLAGS="-I$FINK_PREFIX/lib/flex/include $CPPFLAGS" - export LDFLAGS="-L$FINK_PREFIX/lib/flex/lib $LDFLAGS" - export CC="gcc-4.2" - export CPP="cpp-4.2" - export CXX="g++-4.2" - export F77="/usr/bin/gfortran-4.2" - export FLIBS="-lgfortran -lgfortranbegin" - export FFLAGS="-ff2c $OPTFLAGS -m32" - export CPPFLAGS="$CPPFLAGS -I$FINK_PREFIX/include/freetype2 \ - -I$FINK_PREFIX/include/qhull \ - -I/usr/include" - export CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE -D_REENTRANT" - - ./configure --prefix=$PREFIX \ - --libexecdir='${prefix}/lib' \ - --with-blas="-Wl,-framework -Wl,vecLib" - make - -Note: This approach to building Octave does not support "make install". - -TODO - Develop a Fink package for Octave 3.4.x. - - -2.4 Building With Dependencies Satisfied by MacPorts ----------------------------------------------------- - -To install and setup the MacPorts package manager see the online documentation - - http://guide.macports.org/ - -Using MacPorts, two approaches are described. The first describes how to build -and locally install Octave from a formal snapshot of the developer's sources or -from the developer's sources themselves. This is intended to the casual Octave -developer, or for users who want to live on the bleeding edge. - -The second describes an approach for building Octave which is intended for -active developers. In this case, MacPorts is used to satisfy Octave's -dependencies, but MacPorts does not build Octave. Further a direct install of -Octave is not possible (i.e., cannot "make install"). - - -2.4.1 Building and Installing Octave ------------------------------------- - -With MacPorts building the developer's sources is convenient. MacPorts -includes a port file for octave-devel. To build and run the most recent -development snapshots, enter the commands below. - - sudo port selfupdate - sudo port install octave-devel - -To build the developers sources in one's own way, or if MacPorts' version is -outdated, a custom port file can be added. This requires setting up a local -port file repository (link below). - - http://guide.macports.org/#development.local-repositories - -The octave-devel port file may be used as an initial starting point. The port -file is accessible from the web at the link below. - - http://trac.macports.org/browser/trunk/dports/math/octave-devel/Portfile - -It is also available locally at the location below. The parameter ${prefix} is -corresponds to where MacPorts is install, which by default is "/opt/local". - - ${prefix}/var/macports/sources/rsync.macports.org/release/ports/math/octave-devel/Portfile - -The local source tarball must be placed in the location below, where ${name} -and ${distname} are each specified in the port file. - - ${prefix}/var/macports/distfiles/${name}/${disname}.tar.gz - - -2.4.2 Building for Active Development of Octave ------------------------------------------------ - -To satisfy Octave's dependencies, first install the octave-devel port. - - sudo port selfupdate - sudo port install octave-devel - -Next run octave to determine the configure options needed to build Octave -using MacPorts. At Octave's prompt type the command below and make note of -the result, ${config_opts}. - - octave:1> octave_config_info.config_opts - -Now uninstall the Octave port. - - sudo port deactivate octave-devel - -This will remove Octave and leave its dependencies in place. Now Octave may -be built from the local mercurial archive by typing the commands below, where -the configure options mentioned above are substituted for the parameter -${config_opts}. If the sources being built are from the mercurial archive, -then ./autogen.sh must be run prior to ./configure. - - ./configure ${config_opts} - make - -Octave's integrated tests may be run. - - make check - -However, "make install" should not be run as it may damage or corrupt the -MacPorts installation. To run Octave, type the command below from the root of -the mercurial archive. - - ./run-octave - - -John W. Eaton -jwe@octave.org - -Ben Abbott -bpabbott@mac.com - -Last updated: Sat Feb 19 14:15:04 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.MinGW --- a/README.MinGW Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -1. General Users -================ - -A MInGW bundle is available from sourceforge. - - http://octave.sourceforge.net/index.html - -2. Developers -============= - -The process for building Octave from source is as follows. - - * Install development tools and compiler - * Install or compile dependencies of Octave - * Download Octave source - * Configure and compile source - -We strongly encourage experienced users to build Octave from the -testing and development snapshots to try the latest features of Octave. - -A good tutorial on building Octave for version 3.2 is available from -http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/mingw32/HOWTO.txt - -Additional information beyond the tutorial is summarized below. - - 2.1 Development tools and compiler - ---------------------- - Msys + MinGW development Tools - - The Msys + MinGW development Tools are required to build Octave from source. - - The latest version of the Msys system is 1.0.16. For MinGW, search and use - the most recent version available. Note: The Howto.txt file describing - the development tools is rather old. - - The latest GCC (GNU Complier Collection) for MinGW is gcc-4.5.0. Earlier - versions are not recommended for building Octave 3.4.xx. - - The latest Msys, MinGW, and GCC tools can be downloaded from - http://sourceforge.net/projects/mingw/files/ - - (Compiling for 64-bit binaries requires mingw-64 toolkits. This has not been - tested.) - - 2.2 Dependencies - ---------------------- - - External program dependencies - - * gnuplot (you can build this with the shell script mentioned in Howto.txt) - * MikTeX - * ghostscript - * pstoedit (required for printing using FLTK (OpenGL) graphics) - * fig2dev (Optional; better quality for FLTK printing in some file formats) - * sed - * less - - The tools below are required for building the development sources from - the Mercurial archive, but not for simply building Octave from a snapshot - tar.gz file. - - * Mercurial - * git - * automake - * autoconf - - Library dependencies - - Please read Howto.txt carefully on how to build them. The Howto.txt is old - so some revisions will be required when using GCC-4.5.0 - - 2.3 Download Octave source - ---------------------- - - The source for testing snapshots can be downloaded from the official Octave - web site. http://www.gnu.org/software/octave/download.html - - The very latest development code is also available via anonymous access to a - read-only Mercurial archive. The method of download is described on the web - site. You will also need to install gnulib as another dependency. Please - visit http://www.gnu.org/software/gnulib/ and download sources using git. - - 2.4 Configure and compile source - ---------------------- - - Building from source can be carried out using the script described in - Howto.txt. - - When using GCC-4.5.0, remove flags for shared libstdc++ because a shared - build is already the default. - - When running './configure', you must add '--enable-float-truncate' option. - Please see the following thread for more information: - http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404 - - To build development sources from the Mercurial repository you must run - 'autogen.sh' (bootstrap) before running configure and make. This requires - that automake and autoconf tools be installed. - - -Tatsuro MATSUOKA -tmacchant@yahoo.co.jp - -Benjamin Lindner -bjmldn@gmail.com - - -Last updated: Sat Jan 22 17:29:12 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.Windows --- a/README.Windows Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -See the file README.Cygwin for information about installing the binary -package of Octave for Cygwin. - -See the file README.MinGW for information about Octave on the MinGW platform -including installation of binaries or compiling Octave from source. - - -John W. Eaton -jwe@octave.org - -Last updated: Sat Jan 22 16:56:05 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.devel --- a/README.devel Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -This directory contains development releases of Octave. - -If you want a stable, well-tested version of Octave, you should be -looking at ftp://ftp.gnu.org/gnu/octave. - -Development releases are provided for people who want to help test, -debug, and improve Octave. Very little testing is done before making -the development releases and they may even be made when Octave is in -an inconsistent state. It is possible that you will encounter a -very obvious bug, such as a failure to compile on *any* machine. It is -likely that such bugs will be fixed by the next development release, -so it really isn't necessary to report them unless they persist over -more than one release. - -Please DO report other bugs in the development releases as soon as you -find them. Bugs should be reported to the bug tracker at -'http://bugs.octave.org'. Please read read the bug reporting -guidelines (http://www.gnu.org/software/octave/bugs.html) before -submitting an item. - -If you have a fix for a bug, or an enhancement to submit, send your -patch to maintainers@octave.org or submit it to the patch -tracker at 'http://savannah.gnu.org/patch/?group=octave'. - -By adhering to the following guidelines you can minimize the work that -Octave maintainers need to do to apply your patch. Maintaining Octave -is a lot of work in the best of circumstances, and we can't keep up -unless you do your best to help. - - * Send an explanation with your changes of what problem they fix or - what improvement they bring about. For a bug fix, just include a - copy of the bug report, and explain why the change fixes the bug. - - * Always include a proper bug report for the problem you think you - have fixed. We need to convince ourselves that the change is - right before installing it. Even if it is right, we might have - trouble judging it if we don't have a way to reproduce the problem. - - * Include all the comments that are appropriate to help people - reading the source in the future understand why this change was - needed. - - * Don't mix together changes made for different reasons. Send them - _individually_. - - If you make two changes for separate reasons, then we might not - want to install them both. We might want to install just one. - - * Use `diff -c' to make your diffs. Diffs without context are hard - for us to install reliably. More than that, they make it hard for - us to study the diffs to decide whether we want to install them. - Unified diff format is better than contextless diffs, but not as - easy to read as `-c' format. - - If you have GNU diff, use `diff -cp', which shows the name of the - function that each change occurs in. - - * Write the change log entries for your changes. - - Read the `ChangeLog' file to see what sorts of information to put - in, and to learn the style that we use. The purpose of the - change log is to show people where to find what was changed. So - you need to be specific about what functions you changed; in - large functions, it's often helpful to indicate where within the - function the change was made. - - On the other hand, once you have shown people where to find the - change, you need not explain its purpose. Thus, if you add a new - function, all you need to say about it is that it is new. If you - feel that the purpose needs explaining, it probably does--but the - explanation will be much more useful if you put it in comments in - the code. - - If you would like your name to appear in the header line for who - made the change, send us the header line. - -If you would like to be on the very sharpest part of the bleeding -edge, you can now use Mercurial to access Octave's current development -sources. Instructions for checking out a copy are available on the -web at http://www.gnu.org/software/octave/download.html. - -Last updated: Sat Jan 22 21:26:18 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.ftp --- a/README.ftp Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -This directory contains the source for Octave, a high-level interactive -language for solving numerical problems. See the file README for more general -information, and the file NEWS for a list of recent changes. - -Binary distributions: --------------------- - -Octave binaries are not distributed from this site. - -Packaged versions of Octave for various GNU/Linux systems are available -with the major GNU/Linux distributions (Debian, Ubuntu, Red Hat, SUSE, etc.). - -Binary distributions of Octave for Mac OS X are available from both Fink -and MacPorts. - - http://www.finkproject.com - http://www.macports.org/ - -The file README.Windows provides instructions for installing Octave on -Windows systems. - -A note about .gz files: ----------------------- - -Files with names ending in `.gz' have been compressed with `gzip'. - -Unlike the compress utility, gzip is free of any known software -patents and tends to compress better anyway. Gzip can uncompress -`compress'-compressed files too, so you can install it as "uncompress" -and use it to handle both types of files. - -The gzip program is available in the directory /pub/gnu in shar, tar, -or gzipped tar format (for those who already have a prior version of -gzip and want faster data transmission). It works on virtually every -unix system, MSDOS, OS/2, and VMS. - - -Last updated: Thu Jan 20 10:14:49 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.gnuplot --- a/README.gnuplot Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -Octave works best with gnuplot 4.4 or higher, which is available from -http://www.gnuplot.info. - -In versions prior to 4.2.6 it is not possible to use the mouse to zoom in -on plots. This is a limitation of earlier versions of gnuplot, which are -unable to zoom when the data it plots is not stored in a file. - - -John W. Eaton -jwe@octave.org - -Last updated: Tue Jan 4 18:55:56 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.kpathsea --- a/README.kpathsea Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -The code in the files - - liboctave/kpse.cc - liboctave/kpse-xfns.h - liboctave/kpse-xfns.c - -was adapted from the kpathsearch library. We don't use kpathsearch -directly now because it has too many TeX-specific things that are not -necessary for Octave, and it also does not implement all the special -kinds of file searches that Octave needs (mainly for compatibility -with Matlab). - -Original authors of the kpathsearch library -------------------------------------------- - -Karl Berry wrote all files not otherwise marked, with help from Kathryn -Hargreaves on some of the original versions. - -Thomas Esser originated most of the MakeTeX... scripts. - -The brace expansion code in expand.c was written by Brian Fox and Chet -Ramey for Bash, the GNU shell. - -The implementation of the link trick in pathsearch.c is taken from GNU -find, implemented by David MacKenzie from Matthew Farwell's suggestion. - -Debugging ---------- - - Kpathsea provides a number of runtime debugging options, detailed -below by their names and corresponding numeric values. When the files -you expect aren't being found, the thing to do is enable these options -and examine the output. - - You can set these with some runtime argument (e.g., `-d') to the -program; in that case, you should use the numeric values described in -the program's documentation (which, for Dvipsk and Xdvik, are different -than those below). It's best to give the `-d' (or whatever) option -first, for maximal output. Dvipsk and Xdvik have additional -program-specific debugging options as well. - - You can also set the environment variable `KPATHSEA_DEBUG'; in this -case, you should use the numbers below. If you run the program under a -debugger and set the variable `kpathsea_debug', also use the numbers -below. - - In any case, by far the simplest value to use is `-1', which will -turn on all debugging output. This is usually better than guessing -which particular values will yield the output you need. - - Debugging output always goes to standard error, so you can redirect it -easily. For example, in Bourne-compatible shells: - dvips -d -1 ... 2>/tmp/debug - - It is sometimes helpful to run the standalone Kpsewhich utility -(*note Invoking kpsewhich::.), instead of the original program. - - In any case, you can *not* use the *names* below; you must always use -somebody's numbers. (Sorry.) To set more than one option, just sum -the corresponding numbers. - -`KPSE_DEBUG_STAT (1)' - Report `stat'(2) calls. This is useful for verifying that your - directory structure is not forcing Kpathsea to do many additional - file tests (*note Slow path searching::., and *note Subdirectory - expansion::.). If you are using an up-to-date `ls-R' database - (*note Filename database::.), this should produce no output unless - a nonexistent file that must exist is searched for. - -`KPSE_DEBUG_HASH (2)' - Report lookups in all hash tables: `ls-R' and `aliases' (*note - Filename database::.); font aliases (*note Fontmap::.); and config - file values (*note Config files::.). Useful when expected values - are not being found, e.g.., file searches are looking at the disk - instead of using `ls-R'. - -`KPSE_DEBUG_FOPEN (4)' - Report file openings and closings. Especially useful when your - system's file table is full, for seeing which files have been - opened but never closed. In case you want to set breakpoints in a - debugger: this works by redefining `fopen' (`fclose') to be - `kpse_fopen_trace' (`kpse_fclose_trace'). - -`KPSE_DEBUG_PATHS (8)' - Report general path information for each file type Kpathsea is - asked to search. This is useful when you are trying to track down - how a particular path got defined--from `texmf.cnf', `config.ps', - an environment variable, the compile-time default, etc. This is - the contents of the `kpse_format_info_type' structure defined in - `tex-file.h'. - -`KPSE_DEBUG_EXPAND (16)' - Report the directory list corresponding to each path element - Kpathsea searches. This is only relevant when Kpathsea searches - the disk, since `ls-R' searches don't look through directory lists - in this way. - -`KPSE_DEBUG_SEARCH (32)' - Report on each file search: the name of the file searched for, the - path searched in, whether or not the file must exist (when drivers - search for `cmr10.vf', it need not exist), and whether or not we - are collecting all occurrences of the file in the path (as with, - e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with - most lookups). This can help you correlate what Kpathsea is doing - with what is in your input file. - -`KPSE_DEBUG_VARS (64)' - Report the value of each variable Kpathsea looks up. This is - useful for verifying that variables do indeed obtain their correct - values. - -`GSFTOPK_DEBUG (128)' - Activates debugging printout specific to `gsftopk' program. - -`MAKETEX_DEBUG (512)' - If you use the optional `mktex' programs instead of the - traditional shell scripts, this will report the name of the site - file (`mktex.cnf' by default) which is read, directories created by - `mktexdir', the full path of the `ls-R' database built by - `mktexlsr', font map searches, `MT_FEATURES' in effect, parameters - from `mktexnam', filenames added by `mktexupd', and some - subsidiary commands run by the programs. - -`MAKETEX_FINE_DEBUG (1024)' - When the optional `mktex' programs are used, this will print - additional debugging info from functions internal to these - programs. - - Debugging output from Kpathsea is always written to standard error, -and begins with the string `kdebug:'. (Except for hash table buckets, -which just start with the number, but you can only get that output -running under a debugger. See comments at the `hash_summary_only' -variable in `kpathsea/db.c'.) - -Logging -------- - - Kpathsea can record the time and filename found for each successful -search. This may be useful in finding good candidates for deletion when -your filesystem is full, or in discovering usage patterns at your site. - - To do this, define the environment or config file variable -`TEXMFLOG'. The value is the name of the file to append the -information to. The file is created if it doesn't exist, and appended -to if it does. - - Each successful search turns into one line in the log file: two words -separated by a space. The first word is the time of the search, as the -integer number of seconds since "the epoch", i.e., UTC midnight 1 -January 1970 (more precisely, the result of the `time' system call). -The second word is the filename. - - For example, after `setenv TEXMFLOG /tmp/log', running Dvips on -`story.dvi' appends the following lines: - - 774455887 /usr/local/share/texmf/dvips/config.ps - 774455887 /usr/local/share/texmf/dvips/psfonts.map - 774455888 /usr/local/share/texmf/dvips/texc.pro - 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk - 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk - 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk - 774455889 /usr/local/share/texmf/dvips/texc.pro - -Only filenames that are absolute are recorded, to preserve some -semblance of privacy. - - -John W. Eaton -jwe@octave.org - -Last updated: Wed, 31 Oct 2007 16:33:13 EDT diff -r 10f6727fbaa8 -r b67c2d580a25 README.mirrors --- a/README.mirrors Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -If you have trouble transferring Octave from this site, you might try -one of those listed below. They mirror the /pub/octave directory on -ftp.octave.org - -FTP: - - site directory - ---- --------- - ftp.u-aizu.ac.jp /pub/SciEng/numanal/Octave - mirrors.fe.up.pt /pub/octave - -Last updated: Mon Jan 10 21:26:17 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 README.snapshots --- a/README.snapshots Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ -Octave Snapshots -- general info - -Snapshots are an "image" of the main Octave development tree, captured -at a particular random instant in time. When you use the snapshots, -you should be able to maintain a local copy of Octave that is -reasonably close to the official source tree used by the Octave -maintainers. - -The primary purpose of providing snapshots is to widen the group of -motivated developers that would like to help test, debug, and enhance -Octave, by providing you with access to the "latest and greatest" -source. This has several advantages, and several disadvantages. - - First the advantages: - - o Once we have a large base of motivated testers using the - snapshots, this should provide good coverage across all - currently supported Octave hosts and targets. If a new bug is - introduced in Octave due to fixing another bug or ongoing - development, it should become obvious much more quickly and - get fixed before the next general net release. This should - help to reduce the chances of Octave being released to the - general public with a major bug that went unnoticed during the - release cycle testing because they are machine dependent. We - hope to greatly improve Octave's stability and reliability by - involving more people and more execution environments in the - prerelease testing. - - o With access to the latest source, any diffs that you send to fix - bugs or add new features should be much easier for the Octave - maintainers to merge into the official source base (after - suitable review of course). This encourages us to merge your - changes quicker, while they are still "fresh". - - o Once your diffs are merged, you can obtain a new copy of Octave - containing your changes almost immediately. Thus you do not - have to maintain local copies of your changes for any longer - than it takes to get them merged into the official source - base. This encourages you to send in changes quicker. - - And the disadvantages: - - o The snapshot you get will be largely untested and of unknown - quality. It may fail to configure or compile. It may have - serious bugs. You should always keep a copy of the last known - working version before updating to the current snapshot, or at - least be able to regenerate a working version if the latest - snapshot is unusable in your environment for some reason. - - If a production version of Octave has a bug and a snapshot has - the fix, and you care about stability, you should put only the - fix for that particular problem into your production version. - Of course, if you are eager to test Octave, you can use the - snapshot versions in your daily work, but users who have not - been consulted about whether they feel like testing Octave should - generally have something which is at least as bug free as the - last released version. - - o Providing timely response to your questions, bug reports, and - submitted patches will require the Octave developers to - allocate time from an already thin time budget. Please try to - help us make this time as productive as possible. See the - section below about how to submit changes. - - -How to get the snapshots ------------------------- - -The current plan is to provide a full snapshot every week or so. For -now, diffs from previous versions will not be available. The files -will be available via anonymous ftp from ftp.octave.org, in the -directory /private/octave in the form of a tar files compressed with -GNU gzip. You can ftp gzip from ftp.octave.org in the directory -/pub/gnu. - -Even though the snapshots are available in a public place, we ask that -recipients not widely publicize the availability of the snapshots. -The motivation for this request is not to hoard them, but to avoid the -situation where the general Octave user base naively attempts to use -the snapshots, has trouble with them, complains publicly, and the -reputation of Octave declines because of a perception of instability -or lack of quality control. - - -Octave test suite ------------------ - -A test suite is distributed as an integral part of the snapshots. -However, to use it you will need to get a copy of the dejagnu testing -framework. Snapshots of dejagnu are available alongside the Octave -snapshots, using the same naming conventions as the Octave snapshots. -Once you have installed the dejagnu framework, a simple "make check" -in the Octave directory should be sufficient to run the tests. - -Note that the test suite is still quite limited. The test framework -itself might not install on your system if you have an environment -that is not similar to one that the Octave developers already use. -The tests themselves only cover a small portion of Octave features, -and what tests do exist for a feature are not exhaustive. New tests -are welcomed. - - -Bug reports ------------ - -Send bug reports to maintainers@octave.org. - -Note that since no testing is done on the snapshots, and snapshots may -even be made when Octave is in an inconsistent state, it may not be -unusual for an occasional snapshot to have a very obvious bug, such as -failure to compile on *any* machine. It is likely that such bugs will -be fixed by the next snapshot, so it really isn't necessary to report -them unless they persist over more than one snapshot. - -Missing files should always be reported, since they usually mean there -is a problem with the snapshot-generating process and we won't know -about them unless someone tells us. - -Bugs which are non-obvious, such as failure to compile on only a -specific machine, a new machine dependent or obscure bug (particularly -one not detected by the testsuite), etc. should be reported when you -discover them, or have a suggested patch to fix them. - - -FORMAT FOR PATCHES ------------------- - -If you have a fix for a bug, or an enhancement to submit, send your -patch to maintainers@octave.org. Here are some simple guidelines for -submitting patches: - - o Use "context diffs" for patches. A typical command for - generating context diffs is "diff -rc octave-old octave-new". - - o Use the "minimalist approach" for patches. That is, each patch - should address only one particular bug, new feature, etc. Do - not save up many unrelated changes and submit them all in one - big patch, since in general, the larger the patch the more - difficult it is for us to decide if the patch is either - correct or desirable. And if we find something about the - patch that needs to be corrected before it can be installed, - we would have to reject the entire patch, which might contain - changes which otherwise would be accepted if submitted - separately. - - o Submit a sample ChangeLog entry with your patch. See the - existing Octave ChangeLog for examples of what a ChangeLog - entry should look like. The emacs command ^X4A will create a - ChangeLog entry header for you. - - -Thanks, - -John W. Eaton -jwe@octave.org - -Wed, 31 Oct 2007 16:31:54 EDT - -This file was adapted from a similar document written by Fred Fish and -used by the GDB developers. - diff -r 10f6727fbaa8 -r b67c2d580a25 acinclude.m4 --- a/acinclude.m4 Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1597 +0,0 @@ -dnl aclocal.m4 -- extra macros for configuring Octave -dnl -dnl Copyright (C) 1995-2011 John W. Eaton -dnl -dnl This file is part of Octave. -dnl -dnl Octave is free software; you can redistribute it and/or modify it -dnl under the terms of the GNU General Public License as published by the -dnl Free Software Foundation; either version 3 of the License, or (at -dnl your option) any later version. -dnl -dnl Octave is distributed in the hope that it will be useful, but WITHOUT -dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -dnl for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with Octave; see the file COPYING. If not, see -dnl . -dnl -dnl -dnl Copyright (C) 2008 - 2009 Free Software Foundation, Inc. -dnl -dnl If needed, define the m4_ifblank and m4_ifnblank macros from autoconf 2.64 -dnl This allows us to run with earlier Autoconfs as well. -dnl FIXME: these should go away once Autoconf 2.64 is required or ubiquitous. -dnl -ifdef([m4_ifblank],[],[ -m4_define([m4_ifblank], -[m4_if(m4_translit([[$1]], [ ][ ][ -]), [], [$2], [$3])])]) -dnl -ifdef([m4_ifnblank],[],[ -m4_define([m4_ifnblank], -[m4_if(m4_translit([[$1]], [ ][ ][ -]), [], [$3], [$2])])]) -dnl -dnl ---------------------------------------------------------------------- -dnl -dnl Figure out the hardware-vendor-os info. -dnl -dnl OCTAVE_HOST_TYPE -AC_DEFUN([OCTAVE_HOST_TYPE], -[AC_CANONICAL_HOST -if test -z "$host"; then - host=unknown -fi -canonical_host_type=$host -if test "$host" = unknown; then - AC_MSG_WARN([configuring Octave for unknown system type -]) -fi -AC_SUBST(canonical_host_type)]) -dnl -dnl Set default value for a variable and substitute it. -dnl -dnl OCTAVE_SET_DEFAULT -AC_DEFUN([OCTAVE_SET_DEFAULT], -[ifelse($#, 2, [: ${$1=$2} -])dnl -AC_MSG_RESULT([defining $1 to be $$1]) -AC_SUBST($1)]) -dnl -dnl Check for ar. -dnl -AC_DEFUN([OCTAVE_PROG_AR], -[if test -z "$AR"; then - AR=ar -fi -AC_SUBST(AR) - -if test -z "$ARFLAGS"; then - ARFLAGS="rc" -fi -AC_SUBST(ARFLAGS) -]) -dnl -dnl See if the compiler supports placement delete -dnl -AC_DEFUN([OCTAVE_PLACEMENT_DELETE], -[AC_CACHE_CHECK([whether defines placement delete operator], -octave_cv_placement_delete, -[AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], -[[operator delete((void *)0, (void *)0);]])], -octave_cv_placement_delete=yes, octave_cv_placement_delete=no)]) -if test $octave_cv_placement_delete = yes; then -AC_DEFINE(HAVE_PLACEMENT_DELETE,1,[Define if C++ supports operator delete(void *, void *)]) -fi -AC_LANG_POP(C++) -]) -dnl -dnl See if the compiler dynamic auto arrays -dnl -AC_DEFUN([OCTAVE_DYNAMIC_AUTO_ARRAYS], -[AC_CACHE_CHECK([whether C++ supports dynamic auto arrays], -octave_cv_dynamic_auto_arrays, -[AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], -[[void test(char *); int length(); char x[length()]; test(x);]])], -octave_cv_dynamic_auto_arrays=yes, octave_cv_dynamic_auto_arrays=no)]) -if test $octave_cv_dynamic_auto_arrays = yes; then -AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS,1,[Define if C++ supports dynamic auto arrays]) -fi -AC_LANG_POP(C++) -]) -dnl -dnl See if the C++ library has functions to set real and imaginary -dnl parts of complex numbers independently. -dnl -AC_DEFUN([OCTAVE_CXX_COMPLEX_SETTERS], -[AC_CACHE_CHECK([whether complex class can set components independently], -octave_cv_cxx_complex_setters, -[AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], -[[std::complex x; x.real (1.0); x.imag (2.0);]])], -octave_cv_cxx_complex_setters=yes, octave_cv_cxx_complex_setters=no)]) -if test $octave_cv_cxx_complex_setters = yes; then -AC_DEFINE(HAVE_CXX_COMPLEX_SETTERS,1,[Define if C++ complex class has void real (T) and void imag (T) methods]) -fi -AC_LANG_POP(C++) -]) -dnl -dnl See if the C++ library has functions to access real and imaginary -dnl parts of complex numbers independently via references. -dnl -AC_DEFUN([OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS], -[AC_CACHE_CHECK([whether complex class can reference components independently], -octave_cv_cxx_complex_reference_accessors, -[AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], -[[std::complex x; x.real () = 1.0; x.imag () = 1.0;]])], -octave_cv_cxx_complex_reference_accessors=yes, octave_cv_cxx_complex_reference_accessors=no)]) -if test $octave_cv_cxx_complex_reference_accessors = yes; then -AC_DEFINE(HAVE_CXX_COMPLEX_REFERENCE_ACCESSORS,1,[Define if C++ complex class has T& real (void) and T& imag (void) methods]) -fi -AC_LANG_POP(C++) -]) -dnl -dnl The following test is from Karl Berry's Kpathseach library. I'm -dnl including it here in case we someday want to make the use of -dnl kpathsea optional. -dnl -dnl Some BSD putenv's, e.g., FreeBSD, do malloc/free's on the environment. -dnl This test program is due to Mike Hibler . -dnl We don't actually need to run this if we don't have putenv, but it -dnl doesn't hurt. -AC_DEFUN([OCTAVE_SMART_PUTENV], -[AC_MSG_CHECKING([whether putenv uses malloc]) -AC_CACHE_VAL(octave_cv_func_putenv_malloc, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#define VAR "YOW_VAR" -#define STRING1 "GabbaGabbaHey" -#define STRING2 "Yow!!" /* should be shorter than STRING1 */ -extern char *getenv (); /* in case char* and int don't mix gracefully */ -main () -{ - char *str1, *rstr1, *str2, *rstr2; - str1 = getenv (VAR); - if (str1) - exit (1); - str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1); - if (str1 == 0) - exit (2); - strcpy (str1, VAR); - strcat (str1, "="); - strcat (str1, STRING1); - if (putenv (str1) < 0) - exit (3); - rstr1 = getenv (VAR); - if (rstr1 == 0) - exit (4); - rstr1 -= strlen (VAR) + 1; - if (strncmp (rstr1, VAR, strlen (VAR))) - exit (5); - str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1); - if (str2 == 0 || str1 == str2) - exit (6); - strcpy (str2, VAR); - strcat (str2, "="); - strcat (str2, STRING2); - if (putenv (str2) < 0) - exit (7); - rstr2 = getenv (VAR); - if (rstr2 == 0) - exit (8); - rstr2 -= strlen (VAR) + 1; -#if 0 - printf ("rstr1=0x%x, rstr2=0x%x\n", rstr1, rstr2); - /* - * If string from first call was reused for the second call, - * you had better not do a free on the first string! - */ - if (rstr1 == rstr2) - printf ("#define SMART_PUTENV\n"); - else - printf ("#undef SMART_PUTENV\n"); -#endif - exit (rstr1 == rstr2 ? 0 : 1); -}]])], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no, - octave_cv_func_putenv_malloc=no)])dnl -AC_MSG_RESULT([$octave_cv_func_putenv_malloc]) -if test $octave_cv_func_putenv_malloc = yes; then - AC_DEFINE(SMART_PUTENV,1,[To quiet autoheader.]) -fi]) -dnl -dnl Check to see if C++ compiler needs the new friend template declaration -dnl syntax. -dnl -dnl OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL -AC_DEFUN([OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL], [ - AC_REQUIRE([AC_PROG_CXX]) - AC_MSG_CHECKING([for C++ support for new friend template declaration]) - AC_CACHE_VAL(octave_cv_cxx_new_friend_template_decl, [ - AC_LANG_PUSH(C++) - rm -f conftest.h - cat > conftest.h < int - operator== (const T&, const T&) - { - return 0; - } -EOB - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]], - [[A a (1); - return a == A(1);]])], - [octave_cv_cxx_new_friend_template_decl=no], - [octave_cv_cxx_new_friend_template_decl=yes]) - AC_LANG_POP(C++) - ]) - AC_MSG_RESULT([$octave_cv_cxx_new_friend_template_decl]) - if test $octave_cv_cxx_new_friend_template_decl = yes; then - AC_DEFINE(CXX_NEW_FRIEND_TEMPLATE_DECL,1,[Define if your compiler supports `<>' stuff for template friends.]) - fi -]) -dnl -dnl Check to see if C compiler handles FLAG command line option. If -dnl two arguments are specified, execute the second arg as shell -dnl commands. Otherwise, add FLAG to CFLAGS if the compiler accepts -dnl the flag. -dnl -dnl OCTAVE_CC_FLAG -AC_DEFUN([OCTAVE_CC_FLAG], [ - ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` - AC_MSG_CHECKING([whether ${CC-cc} accepts $1]) - AC_CACHE_VAL(octave_cv_cc_flag_$ac_safe, [ - AC_LANG_PUSH(C) - XCFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $1" - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - eval "octave_cv_cc_flag_$ac_safe=yes", - eval "octave_cv_cc_flag_$ac_safe=no") - CFLAGS="$XCFLAGS" - AC_LANG_POP(C) - ]) - if eval "test \"`echo '$octave_cv_cc_flag_'$ac_safe`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$2], , [ - CFLAGS="$CFLAGS $1" - AC_MSG_RESULT([adding $1 to CFLAGS])], [$2]) - else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) - fi -]) -dnl -dnl Check to see if C++ compiler handles FLAG command line option. If -dnl two arguments are specified, execute the second arg as shell -dnl commands. Otherwise, add FLAG to CXXFLAGS if the compiler accepts -dnl the flag. -dnl -dnl OCTAVE_CXX_FLAG -AC_DEFUN([OCTAVE_CXX_FLAG], [ - ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` - AC_MSG_CHECKING([whether ${CXX-g++} accepts $1]) - AC_CACHE_VAL(octave_cv_cxx_flag_$ac_safe, [ - AC_LANG_PUSH(C++) - XCXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $1" - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - eval "octave_cv_cxx_flag_$ac_safe=yes", - eval "octave_cv_cxx_flag_$ac_safe=no") - CXXFLAGS="$XCXXFLAGS" - AC_LANG_POP(C++) - ]) - if eval "test \"`echo '$octave_cv_cxx_flag_'$ac_safe`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$2], , [ - CXXFLAGS="$CXXFLAGS $1" - AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2]) - else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) - fi -]) -dnl -dnl Check to see if Fortran compiler handles FLAG command line option. If -dnl two arguments are specified, execute the second arg as shell -dnl commands. Otherwise, add FLAG to FFLAGS if the compiler accepts -dnl the flag. -dnl -dnl OCTAVE_F77_FLAG -AC_DEFUN([OCTAVE_F77_FLAG], [ - ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` - AC_MSG_CHECKING([whether ${F77-g77} accepts $1]) - AC_CACHE_VAL(octave_cv_f77_flag_$ac_safe, [ - AC_LANG_PUSH(Fortran 77) - XFFLAGS="$FFLAGS" - FFLAGS="$FFLAGS $1" - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - eval "octave_cv_f77_flag_$ac_safe=yes", - eval "octave_cv_f77_flag_$ac_safe=no") - FFLAGS="$XFFLAGS" - AC_LANG_POP(Fortran 77) - ]) - if eval "test \"`echo '$octave_cv_f77_flag_'$ac_safe`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$2], , [ - FFLAGS="$FFLAGS $1" - AC_MSG_RESULT([adding $1 to FFLAGS])], [$2]) - else - AC_MSG_RESULT(no) - ifelse([$3], , , [$3]) - fi -]) -dnl -dnl Check to see whether the default Fortran INTEGER is 64 bits wide. -dnl -AC_DEFUN([OCTAVE_CHECK_FORTRAN_INTEGER_SIZE], [ - octave_fintsize_save_FFLAGS="$FFLAGS" - FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG" - AC_LANG_PUSH(Fortran 77) - AC_CACHE_CHECK([whether $F77 generates correct size integers], - [octave_cv_fortran_integer_size], -[AC_COMPILE_IFELSE( -[ subroutine foo(n, in, out) - integer n, in(n), out(n) - integer i - do 10 i = 1, n - out(i) = in(i) - 10 continue - return - end], -[mv conftest.$ac_objext fintsize.$ac_objext - - octave_fintsize_save_LIBS="$LIBS" - LIBS="fintsize.$ac_objext $[]_AC_LANG_PREFIX[]LIBS" - AC_LANG_PUSH(C)dnl - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ -#ifdef USE_64_BIT_IDX_T -#if IDX_TYPE_LONG - typedef long octave_idx_type; -#else - typedef int octave_idx_type; -#endif -#else - typedef int octave_idx_type; -#endif - octave_idx_type n = 2; - octave_idx_type in[2]; - octave_idx_type out[2]; - in[0] = 13; - in[0] = 42; - F77_FUNC(foo,FOO) (&n, &in, &out); - assert (in[0] == out[0] && in[1] == out[1]); -]])], - [octave_cv_fortran_integer_size=yes], - [octave_cv_fortran_integer_size=no]) - AC_LANG_POP(C)dnl - LIBS="$octave_fintsize_save_LIBS" -rm -f conftest.$ac_objext fintsize.$ac_objext -], [ - rm -f conftest.$ac_objext - AC_MSG_FAILURE([cannot compile a simple Fortran program]) - octave_cv_fortran_integer_size=no])]) - AC_LANG_POP(Fortran 77) - FFLAGS="$octave_fintsize_save_FFLAGS" -]) -dnl -dnl -dnl -dnl OCTAVE_CHECK_LIBRARY(LIBRARY, DOC-NAME, WARN-MSG, HEADER, FUNC, -dnl LANG, DOC-STRING, EXTRA-CHECK) -AC_DEFUN([OCTAVE_CHECK_LIBRARY], [ - AC_ARG_WITH([$1-includedir], - [AS_HELP_STRING([--with-$1-includedir=DIR], - [look for $2 include files in DIR])], - [m4_toupper([$1])_CPPFLAGS="-I$withval"]) - AC_SUBST(m4_toupper([$1])_CPPFLAGS) - - AC_ARG_WITH([$1-libdir], - [AS_HELP_STRING([--with-$1-libdir=DIR], - [look for $2 libraries in DIR])], - [m4_toupper([$1])_LDFLAGS="-L$withval"]) - AC_SUBST(m4_toupper([$1])_LDFLAGS) - - AC_ARG_WITH([$1], - [m4_ifblank([$7], - [AS_HELP_STRING([--without-$1], [don't use $2 library])], - [AS_HELP_STRING([--without-$1], [$7])])], - with_$1=$withval, with_$1=yes) - - m4_toupper([$1])_LIBS= - case $with_$1 in - no) - m4_toupper([$1])_LIBS= - ;; - yes | "") - m4_toupper([$1])_LIBS="-l$1" - ;; - -* | */* | *.a | *.so | *.so.* | *.o) - m4_toupper([$1])_LIBS="$with_$1" - ;; - *) - m4_toupper([$1])_LIBS="-l$with_$1" - ;; - esac - - [TEXINFO_]m4_toupper([$1])= - warn_$1="$3" - if test -n "$m4_toupper([$1])_LIBS"; then - octave_check_library_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$m4_toupper([$1])_CPPFLAGS $CPPFLAGS" - m4_ifnblank([$6], [AC_LANG_PUSH($6)]) - octave_$1_check_for_lib=false - m4_ifblank([$4], [octave_$1_check_for_lib=true], - [AC_CHECK_HEADERS($4, [octave_$1_check_for_lib=true; break])]) - if $octave_$1_check_for_lib; then - octave_check_library_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS" - octave_check_library_save_LIBS="$LIBS" - LIBS="$m4_toupper([$1])_LIBS $LIBS" - octave_$1_ok=no - AC_MSG_CHECKING([for $5 in $m4_toupper([$1])_LIBS]) - AC_LINK_IFELSE([AC_LANG_CALL([], [$5])], - [octave_$1_ok=yes]) - AC_MSG_RESULT([$octave_$1_ok]) - if test $octave_$1_ok = yes; then - m4_ifblank([$8], [ - warn_$1= - AC_DEFINE([HAVE_]m4_toupper([$1]), 1, - [Define if $2 is available.]) - [TEXINFO_]m4_toupper([$1])="@set [HAVE_]m4_toupper([$1])"], [$8]) - fi - LIBS="$octave_check_library_save_LIBS" - LDFLAGS="$octave_check_library_save_LDFLAGS" - fi - m4_ifnblank([$6], [AC_LANG_POP($6)]) - CPPFLAGS="$octave_check_library_save_CPPFLAGS" - fi - AC_SUBST(m4_toupper([$1])_LIBS) - AC_SUBST([TEXINFO_]m4_toupper([$1])) - if test -n "$warn_$1"; then - AC_MSG_WARN([$warn_$1]) - m4_toupper([$1])_LIBS= - fi -]) -dnl -dnl Check for flex -dnl -AC_DEFUN([OCTAVE_PROG_FLEX], [ -### For now, don't define LEXLIB to be -lfl -- we don't use anything in -### it, and it might not be installed. -### -### Also make sure that we generate an interactive scanner if we are -### using flex. - AC_PROG_LEX - case "$LEX" in - flex*) - LFLAGS="-I" - AC_MSG_RESULT([defining LFLAGS to be $LFLAGS]) - LEXLIB= - ;; - *) - LEX='$(top_srcdir)/missing flex' - warn_flex="I didn't find flex, but it's only a problem if you need to reconstruct lex.cc" - AC_MSG_WARN([$warn_flex]) - ;; - esac - AC_SUBST(LFLAGS) -]) -dnl -dnl Check for bison -dnl -AC_DEFUN([OCTAVE_PROG_BISON], [ - AC_PROG_YACC - case "$YACC" in - bison*) - ;; - *) - YACC='$(top_srcdir)/missing bison' - warn_bison="I didn't find bison, but it's only a problem if you need to reconstruct parse.cc" - AC_MSG_WARN([$warn_bison]) - ;; - esac -]) -dnl -dnl What pager should we use? -dnl -AC_DEFUN([OCTAVE_PROG_PAGER], -[if test "$cross_compiling" = yes; then - DEFAULT_PAGER=less - AC_MSG_RESULT([assuming $DEFAULT_PAGER exists on $canonical_host_type host]) - AC_SUBST(DEFAULT_PAGER) -else - octave_possible_pagers="less more page pg" - case "$canonical_host_type" in - *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc) - octave_possible_pagers="$octave_possible_pagers more.com" - ;; - esac - - AC_CHECK_PROGS(DEFAULT_PAGER, $octave_possible_pagers, []) - if test -z "$DEFAULT_PAGER"; then - warn_less="I couldn't find \`less', \`more', \`page', or \`pg'" - AC_MSG_WARN([$warn_less]) - fi -fi -]) -dnl -dnl Does gnuplot exist? -dnl -AC_DEFUN([OCTAVE_PROG_GNUPLOT], [ -gp_names="gnuplot" -gp_default="gnuplot" -if test "$cross_compiling" = yes; then - GNUPLOT="$gp_default" - AC_MSG_RESULT([assuming $GNUPLOT exists on $canonical_host_type host]) -else - AC_CHECK_PROGS(GNUPLOT, [$gp_names]) - if test -z "$GNUPLOT"; then - warn_gnuplot=yes - - GNUPLOT="$gp_default" - - AC_MSG_WARN([gnuplot not found. It isn't necessary to have gnuplot]) - AC_MSG_WARN([installed, but without native graphics or gnuplot]) - AC_MSG_WARN([you won't be able to use any of Octave's plotting commands.]) - fi -fi -AC_SUBST(GNUPLOT) -]) -dnl -dnl Is gperf installed? -dnl -dnl OCTAVE_PROG_GPERF -AC_DEFUN([OCTAVE_PROG_GPERF], [ - AC_CHECK_PROG(GPERF, gperf, gperf, []) - if test -z "$GPERF"; then - GPERF='$(top_srcdir)/missing gperf' - warn_gperf="I didn't find gperf, but it's only a problem if you need to reconstruct oct-gperf.h" - AC_MSG_WARN([$warn_gperf]) - fi - AC_SUBST(GPERF) -]) -dnl -dnl Is ghostscript installed? -dnl -dnl OCTAVE_PROG_GHOSTSCRIPT -AC_DEFUN([OCTAVE_PROG_GHOSTSCRIPT], [ - case "$canonical_host_type" in - *-*-mingw* | *-*-msdosmsvc) - gs_names="gswin32c gs" - ;; - *) - gs_names="gs" - ;; - esac - AC_CHECK_PROGS(GHOSTSCRIPT, [$gs_names]) - if test -z "$GHOSTSCRIPT"; then - GHOSTSCRIPT='$(top_srcdir)/missing gs' - warn_ghostscript="I didn't find ghostscript, so reconstructing figures for the manual will fail, and saving graphics in some output formats will fail when using Octave" - AC_MSG_WARN([$warn_ghostscript]) - fi - AC_SUBST(GHOSTSCRIPT) -]) -dnl -dnl Is texi2dvi installed? -dnl -dnl OCTAVE_PROG_TEXI2DVI -AC_DEFUN([OCTAVE_PROG_TEXI2DVI], [ - AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, []) - if test -z "$TEXI2DVI"; then - TEXI2DVI='$(top_srcdir)/missing texi2dvi' - warn_texi2dvi="I didn't find texi2dvi, but it's only a problem if you need to reconstruct the DVI version of the manual" - AC_MSG_WARN([$warn_texi2dvi]) - fi - AC_SUBST(TEXI2DVI) -]) -dnl -dnl Is texi2pdf installed? -dnl -dnl OCTAVE_PROG_TEXI2PDF -AC_DEFUN([OCTAVE_PROG_TEXI2PDF], [ - AC_REQUIRE([OCTAVE_PROG_TEXI2DVI]) - AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf, []) - if test -z "$TEXI2PDF"; then - missing=true; - if test -n "$TEXI2DVI"; then - TEXI2PDF="$TEXI2DVI --pdf" - missing=false; - fi - else - missing=false; - fi - if $missing; then - TEXI2PDF='$(top_srcdir)/missing texi2pdf' - warn_texi2pdf="I didn't find texi2pdf, but it's only a problem if you need to reconstruct the PDF version of the manual" - AC_MSG_WARN([$warn_texi2pdf]) - fi - AC_SUBST(TEXI2PDF) -]) -dnl -dnl See if the C++ library is ISO compliant. -dnl FIXME: This is obviously very simplistic, and trivially fooled. -dnl -dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY -AC_DEFUN([OCTAVE_CXX_ISO_COMPLIANT_LIBRARY], [ - AC_REQUIRE([AC_PROG_CXX]) - AC_MSG_CHECKING([if C++ library is ISO compliant]) - AC_CACHE_VAL(octave_cv_cxx_iso_compliant_library, [ - AC_LANG_PUSH(C++) - rm -f conftest.h -### Omitting cwctype for now, since it is broken with gcc-3.0.x and -### possibly other versions... - for inc in algorithm bitset cassert cctype cerrno cfloat ciso646 \ - climits clocale cmath complex csetjmp csignal cstdarg cstddef \ - cstdio cstdlib cstring ctime cwchar deque exception \ - fstream functional iomanip ios iosfwd iostream istream iterator \ - limits list locale map memory new numeric ostream queue set \ - sstream stack stdexcept streambuf string strstream typeinfo \ - utility valarray vector; do - echo "#include <$inc>" >> conftest.h - done - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]], - [[std::bitset<50> flags; - flags.set(); - int digits = std::numeric_limits::digits; - digits = 0;]])], - [octave_cv_cxx_iso_compliant_library=yes], - [octave_cv_cxx_iso_compliant_library=no]) - AC_LANG_POP(C++) - ]) - AC_MSG_RESULT([$octave_cv_cxx_iso_compliant_library]) - if test $octave_cv_cxx_iso_compliant_library = yes; then - AC_DEFINE(CXX_ISO_COMPLIANT_LIBRARY, 1, [Define if your C++ runtime library is ISO compliant.]) - fi -]) -dnl -dnl Allow the user disable support for command line editing using GNU -dnl readline. -dnl -dnl OCTAVE_ENABLE_READLINE -AC_DEFUN([OCTAVE_ENABLE_READLINE], [ - USE_READLINE=true - READLINE_LIBS= - AC_ARG_ENABLE(readline, - [ --enable-readline use readline library (default is yes)], - [if test "$enableval" = no; then - USE_READLINE=false - warn_readline="command editing and history features require GNU Readline" - fi]) - if $USE_READLINE; then - save_LIBS="$LIBS" - LIBS="$TERM_LIBS" - AC_CHECK_LIB(readline, rl_set_keyboard_input_timeout, [ - READLINE_LIBS="-lreadline" - AC_DEFINE(USE_READLINE, 1, [Define to use the readline library.]) - ], [ - AC_MSG_WARN([I need GNU Readline 4.2 or later]) - AC_MSG_ERROR([this is fatal unless you specify --disable-readline]) - ]) - LIBS="$save_LIBS" - fi - AC_SUBST(READLINE_LIBS) -]) -dnl -dnl Check to see if C++ reintrepret cast works for function pointers. -dnl -dnl OCTAVE_CXX_BROKEN_REINTERPRET_CAST -dnl -AC_DEFUN([OCTAVE_CXX_BROKEN_REINTERPRET_CAST], [ - AC_REQUIRE([AC_PROG_CXX]) - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([for broken C++ reinterpret_cast], - octave_cv_cxx_broken_reinterpret_cast, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ - typedef double (*fptr) (double); - fptr psin = sin; - void *vptr = reinterpret_cast (psin); - psin = reinterpret_cast (vptr);]])], - octave_cv_cxx_broken_reinterpret_cast=no, - octave_cv_cxx_broken_reinterpret_cast=yes)]) - if test $octave_cv_cxx_broken_reinterpret_cast = yes ; then - AC_DEFINE(CXX_BROKEN_REINTERPRET_CAST, 1, [Define if C++ reinterpret_cast fails for function pointers.]) -fi - AC_LANG_POP(C++)]) -dnl -dnl Find find. -dnl -# Prefer GNU find if found. -AN_MAKEVAR([FIND], [OCTAVE_PROG_FIND]) -AN_PROGRAM([gfind], [OCTAVE_PROG_FIND]) -AN_PROGRAM([find], [OCTAVE_PROG_FIND]) -AC_DEFUN([OCTAVE_PROG_FIND], -[AC_CHECK_PROGS(FIND, gfind find, )]) -dnl -dnl Find sed. -dnl -# Check for a fully-functional sed program, that truncates -# as few characters as possible and that supports "\(X\|Y\)" -# style regular expression alternation. Prefer GNU sed if found. -AC_DEFUN([OCTAVE_PROG_SED], -[AC_MSG_CHECKING([for a usable sed]) -if test -z "$SED"; then - AC_CACHE_VAL(ac_cv_path_sed, [ - # Loop through the user's path and test for sed and gsed. - # Then use that list of sed's as ones to test for truncation. - _AS_PATH_WALK([$PATH], - [for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then - _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" - fi - done - done - ]) - AS_TMPDIR(sed) - _max=0 - _count=0 - # Add /usr/xpg4/bin/sed as it is typically found on Solaris - # along with /bin/sed that truncates output. - for _sed in $_sed_list /usr/xpg4/bin/sed; do - test ! -f ${_sed} && break - cat /dev/null > "$tmp/sed.in" - _count=0 - echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" - # Check for GNU sed and select it if it is found. - if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then - octave_cv_path_sed=${_sed} - break; - fi - # Reject if RE alternation is not handled. - if test "`echo 'this and that' | ${_sed} -n 's/\(this\|that\).*$/\1/p'`" != "this"; then - continue; - fi - while true; do - cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" - mv "$tmp/sed.tmp" "$tmp/sed.in" - cp "$tmp/sed.in" "$tmp/sed.nl" - echo >>"$tmp/sed.nl" - ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break - cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break - # 10000 chars as input seems more than enough - test $_count -gt 10 && break - _count=`expr $_count + 1` - if test $_count -gt $_max; then - _max=$_count - octave_cv_path_sed=$_sed - fi - done - done - rm -rf "$tmp" - ]) - SED=$octave_cv_path_sed - if test -z "$SED"; then - AC_MSG_ERROR([no usable version of sed found]) - fi -fi -AC_SUBST(SED) -AC_MSG_RESULT([$SED]) -]) -dnl -dnl Find Perl. -dnl -dnl OCTAVE_PROG_PERL -AC_DEFUN([OCTAVE_PROG_PERL], -[AC_CHECK_PROG(PERL, perl, perl, []) - AC_SUBST(PERL) -]) -dnl -dnl Find Python. -dnl -dnl OCTAVE_PROG_PYTHON -AC_DEFUN([OCTAVE_PROG_PYTHON], -[AC_CHECK_PROG(PYTHON, python, python, []) - AC_SUBST(PYTHON) -]) -dnl -dnl Find desktop-file-install. -dnl -dnl OCTAVE_PROG_DESKTOP_FILE_INSTALL -AC_DEFUN([OCTAVE_PROG_DESKTOP_FILE_INSTALL], -[AC_CHECK_PROG(DESKTOP_FILE_INSTALL, desktop-file-install, desktop-file-install, []) - AC_SUBST(DESKTOP_FILE_INSTALL) -]) -dnl -dnl Check for IEEE 754 data format. -dnl -AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT], -[AC_MSG_CHECKING([for IEEE 754 data format]) -AC_CACHE_VAL(octave_cv_ieee754_data_format, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -int -main (void) -{ - typedef union { unsigned char c[8]; double d; } ieeebytes; - - ieeebytes l = {0x1c, 0xbc, 0x6e, 0xf2, 0x54, 0x8b, 0x11, 0x43}; - ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c}; - - return l.d != 1234567891234567.0 && b.d != 1234567891234567.0; -}]])], - octave_cv_ieee754_data_format=yes, - octave_cv_ieee754_data_format=no, - octave_cv_ieee754_data_format=no)]) -if test "$cross_compiling" = yes; then - AC_MSG_RESULT([$octave_cv_ieee754_data_format assumed for cross compilation]) -else - AC_MSG_RESULT([$octave_cv_ieee754_data_format]) -fi -if test "$octave_cv_ieee754_data_format" = yes; then - AC_DEFINE(HAVE_IEEE754_DATA_FORMAT, 1, [Define if your system uses IEEE 754 data format.]) -else - ## If the format is unknown, then you will probably not have a - ## useful system, so we will abort here. Anyone wishing to - ## experiment with building Octave on a system without IEEE - ## floating point should be capable of removing this check and - ## the one in the octave_ieee_init function in liboctave/lo-ieee.cc. - AC_MSG_ERROR([IEEE 754 data format required for building Octave]) -fi -]) -dnl -dnl Check for UMFPACK seperately split complex matrix and RHS. Note -dnl that as umfpack.h can be in three different places, rather than -dnl include it, just declare the functions needed. -dnl -dnl Assumes that the check for umfpack has already been performed. -dnl -AC_DEFUN([OCTAVE_UMFPACK_SEPERATE_SPLIT], -[AC_MSG_CHECKING([for UMFPACK seperate complex matrix and rhs split]) -AC_CACHE_VAL(octave_cv_umfpack_seperate_split, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#if defined (HAVE_UFSPARSE_UMFPACK_h) -#include -#elif defined (HAVE_UMFPACK_UMFPACK_H) -#include -#elif defined (HAVE_UMFPACK_H) -#include -#endif -int n = 5; -int Ap[] = {0, 2, 5, 9, 10, 12}; -int Ai[] = {0, 1, 0, 2, 4, 1, 2, 3, 4, 2, 1, 4}; -double Ax[] = {2., 0., 3., 0., 3., 0., -1., 0., 4., 0., 4., 0., - -3., 0., 1., 0., 2., 0., 2., 0., 6., 0., 1., 0.}; -double br[] = {8., 45., -3., 3., 19.}; -double bi[] = {0., 0., 0., 0., 0.}; -int main (void) -{ - double *null = (double *) NULL ; - double *x = (double *)malloc (2 * n * sizeof(double)); - int i ; - void *Symbolic, *Numeric ; - (void) umfpack_zi_symbolic (n, n, Ap, Ai, Ax, null, &Symbolic, null, null) ; - (void) umfpack_zi_numeric (Ap, Ai, Ax, null, Symbolic, &Numeric, null, null) ; - umfpack_zi_free_symbolic (&Symbolic) ; - (void) umfpack_zi_solve (0, Ap, Ai, Ax, null, x, null, br, bi, - Numeric, null, null) ; - umfpack_zi_free_numeric (&Numeric) ; - for (i = 0; i < n; i++, x+=2) - if (fabs(*x - i - 1.) > 1.e-13) - return (1); - return (0) ; -} -]])], - octave_cv_umfpack_seperate_split=yes, - octave_cv_umfpack_seperate_split=no, - octave_cv_umfpack_seperate_split=no)]) -if test "$cross_compiling" = yes; then - AC_MSG_RESULT([$octave_cv_umfpack_seperate_split assumed for cross compilation]) -else - AC_MSG_RESULT([$octave_cv_umfpack_seperate_split]) -fi -if test "$octave_cv_umfpack_seperate_split" = yes; then - AC_DEFINE(UMFPACK_SEPARATE_SPLIT, 1, [Define if the UMFPACK Complex solver allow matrix and RHS to be split independently]) -fi -]) -dnl -dnl Check whether using HDF5 DLL under Windows. This is done by -dnl testing for a data symbol in the HDF5 library, which would -dnl requires the definition of _HDF5USEDL_ under MSVC compiler. -dnl -AC_DEFUN([OCTAVE_HDF5_DLL], [ - AC_CACHE_CHECK([if _HDF5USEDLL_ needs to be defined],octave_cv_hdf5_dll, [ - AC_TRY_LINK([#include ], [hid_t x = H5T_NATIVE_DOUBLE; return x], - octave_cv_hdf5_dll=no, [ - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -DWIN32 -D_HDF5USEDLL_" - save_LIBS="$LIBS" - LIBS="$HDF5_LIBS $LIBS" - AC_TRY_LINK([#include ], [hid_t x = H5T_NATIVE_DOUBLE; return x], - octave_cv_hdf5_dll=yes, - octave_cv_hdf5_dll=no) - CFLAGS="$save_CFLAGS" - LIBS="$save_LIBS"])]) - if test "$octave_cv_hdf5_dll" = yes; then - AC_DEFINE(_HDF5USEDLL_, 1, [Define if using HDF5 dll (Win32)]) - fi]) -dnl -dnl Check whether HDF5 library has version 1.6 API functions. -dnl -AC_DEFUN([OCTAVE_HDF5_HAS_ENFORCED_16_API], [ - AC_CACHE_CHECK([whether HDF5 library has enforced version 1.6 API], - octave_cv_hdf5_has_enforced_16_api, [ - AC_TRY_LINK([ -#include -], [ - H5Eset_auto (0, 0);], [ - octave_cv_hdf5_has_enforced_16_api=yes], [ - octave_cv_hdf5_has_enforced_16_api=no])]) - if test "$octave_cv_hdf5_has_enforced_16_api" != "yes"; then - AC_DEFINE(HAVE_HDF5_18, 1, [Define if >=HDF5-1.8 is available.]) - fi -]) -dnl -dnl Check for the QHull version. -dnl -AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], - [AC_CACHE_CHECK([for qh_version in $QHULL_LIBS], - octave_cv_lib_qhull_version, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -]], [[ -const char *tmp = qh_version; -]])], [octave_cv_lib_qhull_version=yes], [octave_cv_lib_qhull_version=no])]) - if test "$octave_cv_lib_qhull_version" = no; then - AC_DEFINE(NEED_QHULL_VERSION, 1, - [Define if the QHull library needs a qh_version variable defined.]) - fi -]) -dnl -dnl Check whether QHull works (does not crash) -dnl -AC_DEFUN([OCTAVE_CHECK_QHULL_OK], - [AC_CACHE_CHECK([whether the qhull library works], - octave_cv_lib_qhull_ok, [ - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -#ifdef NEED_QHULL_VERSION -char *qh_version = "version"; -#endif -]], [[ -int dim = 2; -int n = 4; -coordT points[8] = { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5 }; -boolT ismalloc = 0; -return qh_new_qhull (dim, n, points, ismalloc, "qhull ", 0, stderr); -]])], [octave_cv_lib_qhull_ok=yes], [octave_cv_lib_qhull_ok=no])]) - if test "$octave_cv_lib_qhull_ok" = "yes"; then - $1 - else - $2 - fi -]) -dnl -dnl Check for OpenGL. If found, define OPENGL_LIBS -dnl -dnl FIXME -- the following tests should probably check for the -dnl libraries separately. -dnl -dnl FIXME -- should we allow a way to specify a directory for OpenGL -dnl libraries and header files? -dnl -AC_DEFUN([OCTAVE_OPENGL], [ -OPENGL_LIBS= - -### On MacOSX systems the OpenGL framework can be used -OCTAVE_HAVE_FRAMEWORK(OpenGL, [ -#include -#include ], [GLint par; glGetIntegerv (GL_VIEWPORT, &par);], - [have_framework_opengl="yes"], [have_framework_opengl="no"]) - -if test $have_framework_opengl = "yes"; then - AC_DEFINE(HAVE_FRAMEWORK_OPENGL, 1, [Define if framework OPENGL is available.]) - OPENGL_LIBS="-Wl,-framework -Wl,OpenGL" - AC_MSG_NOTICE([adding -Wl,-framework -Wl,OpenGL to OPENGL_LIBS]) - OCTAVE_GLUTESSCALLBACK_THREEDOTS -else - case $canonical_host_type in - *-*-mingw32* | *-*-msdosmsvc) - AC_CHECK_HEADERS(windows.h) - ;; - esac - have_opengl_incs=no - AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h], [ - AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h], [ - have_opengl_incs=yes; break], [], [ -#ifdef HAVE_WINDOWS_H -#include -#endif - ]) - break - ], [], [ -#ifdef HAVE_WINDOWS_H -#include -#endif - ]) - - if test "$have_opengl_incs" = "yes"; then - case $canonical_host_type in - *-*-mingw32* | *-*-msdosmsvc) - save_LIBS="$LIBS" - LIBS="$LIBS -lopengl32" - AC_MSG_CHECKING([for glEnable in -lopengl32]) - AC_TRY_LINK([ -#if HAVE_WINDOWS_H -#include -#endif -#if defined (HAVE_GL_GL_H) -#include -#elif defined (HAVE_OPENGL_GL_H) -#include -#endif -], [glEnable(GL_SMOOTH);], OPENGL_LIBS="-lopengl32 -lglu32") - LIBS="$save_LIBS" - if test "x$OPENGL_LIBS" != "x"; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - ;; - *) - AC_CHECK_LIB(GL, glEnable, OPENGL_LIBS="-lGL -lGLU") - ;; - esac - fi -fi -AC_SUBST(OPENGL_LIBS) -]) -dnl -dnl See if function gluTessCallback is called with "(...)" -dnl -dnl OCTAVE_GLUTESSCALLBACK_THREEDOTS -AC_DEFUN([OCTAVE_GLUTESSCALLBACK_THREEDOTS], -[AC_CACHE_CHECK([whether gluTessCallback is called with "(...)"], -octave_cv_glutesscallback_threedots, -[AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#ifdef HAVE_GL_GLU_H -#include -#elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL -#include -#endif]], -[[GLvoid (*func)(...); gluTessCallback(0, 0, func);]])], -octave_cv_glutesscallback_threedots="yes", octave_cv_glutesscallback_threedots="no")]) -AC_LANG_POP(C++) -if test $octave_cv_glutesscallback_threedots = "yes"; then - AC_DEFINE(HAVE_GLUTESSCALLBACK_THREEDOTS, 1, - [Define if gluTessCallback is called with (...)]) -fi -]) -dnl -dnl Check for support of OpenMP with a given compiler flag. If -dnl found define HAVE_OPENMP and add the compile flag to CFLAGS -dnl and CXXFLAGS. -dnl -AC_DEFUN([OCTAVE_CHECK_OPENMP], -[AC_MSG_CHECKING([for support of OpenMP]) -XCFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $1" -AC_CACHE_VAL(octave_cv_check_openmp,[ -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -]], [[ -int main(int argc, char* argv[]) -{ - _Pragma("omp parallel") - printf("Hello, world.\n"); - return 0; -} -]])],octave_cv_openmp=yes, octave_cv_openmmp=no, octave_cv_openmp=no)]) -AC_MSG_RESULT($octave_cv_openmp) -if test "$octave_cv_openmp" = yes; then - AC_DEFINE(HAVE_OPENMP,1,[Define if compiler supports OpenMP]) - CXXFLAGS="$CXXFLAGS $1" -else - CFLAGS="$XCFLAGS" -fi -]) -dnl -dnl Configure paths for FreeType2 -dnl Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor -dnl -dnl Copyright 2001, 2003 by -dnl David Turner, Robert Wilhelm, and Werner Lemberg. -dnl -dnl This file is part of the FreeType project, and may only be used, modified, -dnl and distributed under the terms of the FreeType project license, -dnl LICENSE.TXT. By continuing to use, modify, or distribute this file you -dnl indicate that you have read the license and understand and accept it -dnl fully. -dnl -dnl As a special exception to the FreeType project license, this file may be -dnl distributed as part of a program that contains a configuration script -dnl generated by Autoconf, under the same distribution terms as the rest of -dnl that program. -dnl -dnl serial 2 -dnl -dnl AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. -dnl MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is -dnl FreeType 2.0.4). -dnl -AC_DEFUN([AC_CHECK_FT2], - [dnl Get the cflags and libraries from the freetype-config script - dnl - AC_ARG_WITH([ft-prefix], - dnl don't quote AS_HELP_STRING! - AS_HELP_STRING([--with-ft-prefix=PREFIX], - [Prefix where FreeType is installed (optional)]), - [ft_config_prefix="$withval"], - [ft_config_prefix=""]) - - AC_ARG_WITH([ft-exec-prefix], - dnl don't quote AS_HELP_STRING! - AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], - [Exec prefix where FreeType is installed (optional)]), - [ft_config_exec_prefix="$withval"], - [ft_config_exec_prefix=""]) - - AC_ARG_ENABLE([freetypetest], - dnl don't quote AS_HELP_STRING! - AS_HELP_STRING([--disable-freetypetest], - [Do not try to compile and run a test FreeType program]), - [], - [enable_fttest=yes]) - - if test x$ft_config_exec_prefix != x ; then - ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" - if test x${FT2_CONFIG+set} != xset ; then - FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config - fi - fi - - if test x$ft_config_prefix != x ; then - ft_config_args="$ft_config_args --prefix=$ft_config_prefix" - if test x${FT2_CONFIG+set} != xset ; then - FT2_CONFIG=$ft_config_prefix/bin/freetype-config - fi - fi - - AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) - - min_ft_version=m4_if([$1], [], [7.0.1], [$1]) - AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version]) - no_ft="" - if test "$FT2_CONFIG" = "no" ; then - no_ft=yes - else - FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` - FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` - ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - ft_min_major_version=`echo $min_ft_version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - ft_min_minor_version=`echo $min_ft_version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - ft_min_micro_version=`echo $min_ft_version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test x$enable_fttest = xyes ; then - ft_config_is_lt="" - if test $ft_config_major_version -lt $ft_min_major_version ; then - ft_config_is_lt=yes - else - if test $ft_config_major_version -eq $ft_min_major_version ; then - if test $ft_config_minor_version -lt $ft_min_minor_version ; then - ft_config_is_lt=yes - else - if test $ft_config_minor_version -eq $ft_min_minor_version ; then - if test $ft_config_micro_version -lt $ft_min_micro_version ; then - ft_config_is_lt=yes - fi - fi - fi - fi - fi - if test x$ft_config_is_lt = xyes ; then - no_ft=yes - else - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $FT2_CFLAGS" - LIBS="$FT2_LIBS $LIBS" - - dnl - dnl Sanity checks for the results of freetype-config to some extent. - dnl - AC_RUN_IFELSE([ - AC_LANG_SOURCE([[ - -#include -#include FT_FREETYPE_H -#include -#include - -int -main() -{ - FT_Library library; - FT_Error error; - - error = FT_Init_FreeType(&library); - - if (error) - return 1; - else - { - FT_Done_FreeType(library); - return 0; - } -} - - ]]) - ], - [], - [no_ft=yes], - [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"]) - - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi dnl test $ft_config_version -lt $ft_min_version - fi dnl test x$enable_fttest = xyes - fi dnl test "$FT2_CONFIG" = "no" - - if test x$no_ft = x ; then - AC_MSG_RESULT([yes]) - m4_if([$2], [], [:], [$2]) - else - AC_MSG_RESULT([no]) - if test "$FT2_CONFIG" = "no" ; then - AC_MSG_WARN([ - - The freetype-config script installed by FreeType 2 could not be found. - If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in - your path, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - ]) - else - if test x$ft_config_is_lt = xyes ; then - AC_MSG_WARN([ - - Your installed version of the FreeType 2 library is too old. - If you have different versions of FreeType 2, make sure that - correct values for --with-ft-prefix or --with-ft-exec-prefix - are used, or set the FT2_CONFIG environment variable to the - full path to freetype-config. - ]) - else - AC_MSG_WARN([ - - The FreeType test program failed to run. If your system uses - shared libraries and they are installed outside the normal - system library path, make sure the variable LD_LIBRARY_PATH - (or whatever is appropiate for your system) is correctly set. - ]) - fi - fi - - FT2_CFLAGS="" - FT2_LIBS="" - m4_if([$3], [], [:], [$3]) - fi - - AC_SUBST([FT2_CFLAGS]) - AC_SUBST([FT2_LIBS])]) -dnl end of freetype2.m4 - -dnl Check whether a math mapper function is available in . -dnl Will define HAVE_CMATH_FUNC if there is a double variant and -dnl HAVE_CMATH_FUNCF if there is a float variant. -dnl Currently capable of checking for functions with single -dnl argument and returning bool/int/real. -AC_DEFUN([OCTAVE_CMATH_FUNC],[ -AC_MSG_CHECKING([for std::$1 in ]) -AC_LANG_PUSH(C++) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -void take_func (bool (*func) (double x)); -void take_func (int (*func) (double x)); -void take_func (double (*func) (double x)); -]], -[[ -take_func(std::$1); -]])], -[AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_CMATH_[]AS_TR_CPP($1),1,[Define if provides $1])], -[AC_MSG_RESULT([no])]) -AC_MSG_CHECKING([for std::$1 (float variant) in ]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -void take_func (bool (*func) (float x)); -void take_func (int (*func) (float x)); -void take_func (float (*func) (float x)); -]], -[[ -take_func(std::$1); -]])], -[AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_CMATH_[]AS_TR_CPP($1)F,1,[Define if provides float variant of $1])], -[AC_MSG_RESULT([no])]) -AC_LANG_POP(C++) -]) - -dnl Check whether fast signed integer arithmetics using bit tricks -dnl can be used in oct-inttypes.h. Defines HAVE_FAST_INT_OPS if -dnl the following conditions hold: -dnl 1. Signed numbers are represented by twos complement -dnl (see ) -dnl 2. static_cast to unsigned int counterpart works like interpreting -dnl the signed bit pattern as unsigned (and is thus zero-cost). -dnl 3. Signed addition and subtraction yield the same bit results as unsigned. -dnl (We use casts to prevent optimization interference, so there is no -dnl need for things like -ftrapv). -dnl 4. Bit operations on signed integers work like on unsigned integers, -dnl except for the shifts. Shifts are arithmetic. -dnl -AC_DEFUN([OCTAVE_FAST_INT_OPS],[ -AC_MSG_CHECKING([whether fast integer arithmetics is usable]) -AC_LANG_PUSH(C++) -AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include -template -static bool -do_test (UT, ST) -{ - volatile ST s = std::numeric_limits::min () / 3; - volatile UT u = static_cast (s); - if (*(reinterpret_cast (&u)) != s) return true; - - u = 0; u = ~u; - if (*(reinterpret_cast (&u)) != -1) return true; - - ST sx, sy; - sx = std::numeric_limits::max () / 2 + 1; - sy = std::numeric_limits::max () / 2 + 2; - if (static_cast (static_cast (sx) + static_cast (sy)) - != std::numeric_limits::min () + 1) return true; - if (static_cast (static_cast (sx) - static_cast (sy)) - != -1) return true; - - if ((sx & sy) != (static_cast (sx) & static_cast (sy))) - return true; - if ((sx | sy) != (static_cast (sx) | static_cast (sy))) - return true; - if ((sx ^ sy) != (static_cast (sx) ^ static_cast (sy))) - return true; - if ((-1 >> 1) != -1) return true; - return false; -} - -#define DO_TEST(T) \ -if (do_test (static_cast (0), static_cast (0))) \ - return sizeof (T); -]],[[ - DO_TEST(char) - DO_TEST(short) - DO_TEST(int) - DO_TEST(long) -#if (defined(HAVE_LONG_LONG_INT) && defined(HAVE_UNSIGNED_LONG_LONG_INT)) - DO_TEST(long long) -#endif -]])], -[AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_FAST_INT_OPS,1,[Define if signed integers use two's complement])], -[AC_MSG_RESULT([no])]) -AC_LANG_POP(C++)]) -dnl -dnl Check to see if the compiler and the linker can handle the flags -dnl "-framework $1" for the given prologue $2 and the given body $3 of -dnl a source file. Arguments 2 and 3 optionally can also be empty. -dnl Add options (lower case letters $1) "--with-framework-$1" and -dnl "--without-framework-$1". If this test is successful then perform -dnl $4, otherwise do $5. -dnl -dnl OCTAVE_HAVE_FRAMEWORK -AC_DEFUN([OCTAVE_HAVE_FRAMEWORK], [ - AC_MSG_CHECKING([whether ${LD-ld} accepts -framework $1]) - AC_CACHE_VAL(octave_cv_framework_$1, [ - XLDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -framework $1" - AC_LANG_PUSH(C++) - AC_LINK_IFELSE([AC_LANG_PROGRAM([$2], [$3])], - eval "octave_cv_framework_$1=yes", - eval "octave_cv_framework_$1=no") - AC_LANG_POP(C++) - LDFLAGS="$XLDFLAGS" - ]) - if test "$octave_cv_framework_$1" = "yes"; then - AC_MSG_RESULT(yes) - AC_ARG_WITH(framework-m4_tolower($1), - [AS_HELP_STRING([--without-framework-m4_tolower($1)], - [don't use framework $1])], - with_have_framework=$withval, with_have_framework="yes") - if test "$with_have_framework" = "yes"; then - [$4] - else - AC_MSG_NOTICE([framework rejected by --without-framework-m4_tolower($1)]) - [$5] - fi - else - AC_MSG_RESULT(no) - [$5] - fi -]) - -############################################################################## -############################################################################## - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program 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 2 of the License, or -# (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES - -dnl -dnl External macros. -dnl - -m4_include([m4/ax_pthread.m4]) -m4_include([m4/ax_blas.m4]) -m4_include([m4/ax_blas_f77_func.m4]) -m4_include([m4/ax_lapack.m4]) diff -r 10f6727fbaa8 -r b67c2d580a25 autogen.sh --- a/autogen.sh Fri Jun 10 11:26:07 2011 -0400 +++ b/autogen.sh Fri Jun 10 14:35:42 2011 -0400 @@ -36,4 +36,4 @@ echo "bootstrapping..." -./bootstrap "$@" +build-aux/bootstrap "$@" diff -r 10f6727fbaa8 -r b67c2d580a25 bootstrap --- a/bootstrap Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,946 +0,0 @@ -#! /bin/sh -# Print a version string. -scriptversion=2011-01-21.16; # UTC - -# Bootstrap this package from checked-out sources. - -# Copyright (C) 2003-2011 Free Software Foundation, Inc. - -# This program 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. - -# This program 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 this program. If not, see . - -# Originally written by Paul Eggert. The canonical version of this -# script is maintained as build-aux/bootstrap in gnulib, however, to -# be useful to your project, you should place a copy of it under -# version control in the top-level directory of your project. The -# intent is that all customization can be done with a bootstrap.conf -# file also maintained in your version control; gnulib comes with a -# template build-aux/bootstrap.conf to get you started. - -# Please report bugs or propose patches to bug-gnulib@gnu.org. - -nl=' -' - -# Ensure file names are sorted consistently across platforms. -LC_ALL=C -export LC_ALL - -local_gl_dir=gl - -# Temporary directory names. -bt='._bootmp' -bt_regex=`echo "$bt"| sed 's/\./[.]/g'` -bt2=${bt}2 -me=$0 - -usage() { - cat </dev/null 2>&1; then - find_tool_res=$i - break - fi - done - else - find_tool_error_prefix="\$$find_tool_envvar: " - fi - if test x"$find_tool_res" = x; then - echo >&2 "$me: one of these is required: $find_tool_names" - exit 1 - fi - ($find_tool_res --version /dev/null 2>&1 || { - echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version" - exit 1 - } - eval "$find_tool_envvar=\$find_tool_res" - eval "export $find_tool_envvar" -} - -# Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6. -find_tool SHA1SUM sha1sum gsha1sum shasum - -# Override the default configuration, if necessary. -# Make sure that bootstrap.conf is sourced from the current directory -# if we were invoked as "sh bootstrap". -case "$0" in - */*) test -r "$0.conf" && . "$0.conf" ;; - *) test -r "$0.conf" && . ./"$0.conf" ;; -esac - - -if test "$vc_ignore" = auto; then - vc_ignore= - test -d .git && vc_ignore=.gitignore - test -d CVS && vc_ignore="$vc_ignore .cvsignore" -fi - -# Translate configuration into internal form. - -# Parse options. - -for option -do - case $option in - --help) - usage - exit;; - --gnulib-srcdir=*) - GNULIB_SRCDIR=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;; - --skip-po) - SKIP_PO=t;; - --force) - checkout_only_file=;; - --copy) - copy=true;; - --bootstrap-sync) - bootstrap_sync=true;; - --no-bootstrap-sync) - bootstrap_sync=false;; - --no-git) - use_git=false;; - *) - echo >&2 "$0: $option: unknown option" - exit 1;; - esac -done - -if $use_git || test -d "$GNULIB_SRCDIR"; then - : -else - echo "$0: Error: --no-git requires --gnulib-srcdir" >&2 - exit 1 -fi - -if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then - echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 - exit 1 -fi - -# If $STR is not already on a line by itself in $FILE, insert it, -# sorting the new contents of the file and replacing $FILE with the result. -insert_sorted_if_absent() { - file=$1 - str=$2 - test -f $file || touch $file - echo "$str" | sort -u - $file | cmp - $file > /dev/null \ - || echo "$str" | sort -u - $file -o $file \ - || exit 1 -} - -# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with -# insert_sorted_if_absent. -insert_vc_ignore() { - vc_ignore_file="$1" - pattern="$2" - case $vc_ignore_file in - *.gitignore) - # A .gitignore entry that does not start with `/' applies - # recursively to subdirectories, so prepend `/' to every - # .gitignore entry. - pattern=`echo "$pattern" | sed s,^,/,`;; - esac - insert_sorted_if_absent "$vc_ignore_file" "$pattern" -} - -# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. -found_aux_dir=no -grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ - >/dev/null && found_aux_dir=yes -grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ - >/dev/null && found_aux_dir=yes -if test $found_aux_dir = no; then - echo "$0: expected line not found in configure.ac. Add the following:" >&2 - echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2 - exit 1 -fi - -# If $build_aux doesn't exist, create it now, otherwise some bits -# below will malfunction. If creating it, also mark it as ignored. -if test ! -d $build_aux; then - mkdir $build_aux - for dot_ig in x $vc_ignore; do - test $dot_ig = x && continue - insert_vc_ignore $dot_ig $build_aux - done -fi - -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -sort_ver() { # sort -V is not generally available - ver1="$1" - ver2="$2" - - # split on '.' and compare each component - i=1 - while : ; do - p1=$(echo "$ver1" | cut -d. -f$i) - p2=$(echo "$ver2" | cut -d. -f$i) - if [ ! "$p1" ]; then - echo "$1 $2" - break - elif [ ! "$p2" ]; then - echo "$2 $1" - break - elif [ ! "$p1" = "$p2" ]; then - if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison - echo "$2 $1" - elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison - echo "$1 $2" - else # numeric, then lexicographic comparison - lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) - if [ "$lp" = "$p2" ]; then - echo "$1 $2" - else - echo "$2 $1" - fi - fi - break - fi - i=$(($i+1)) - done -} - -get_version() { - app=$1 - - $app --version >/dev/null 2>&1 || return 1 - - $app --version 2>&1 | - sed -n '# Move version to start of line. - s/.*[v ]\([0-9]\)/\1/ - - # Skip lines that do not start with version. - /^[0-9]/!d - - # Remove characters after the version. - s/[^.a-z0-9-].*// - - # The first component must be digits only. - s/^\([0-9]*\)[a-z-].*/\1/ - - #the following essentially does s/5.005/5.5/ - s/\.0*\([1-9]\)/.\1/g - p - q' -} - -check_versions() { - ret=0 - - while read app req_ver; do - # We only need libtoolize from the libtool package. - if test "$app" = libtool; then - app=libtoolize - fi - # Exempt git if --no-git is in effect. - if test "$app" = git; then - $use_git || continue - fi - # Honor $APP variables ($TAR, $AUTOCONF, etc.) - appvar=`echo $app | tr '[a-z]-' '[A-Z]_'` - test "$appvar" = TAR && appvar=AMTAR - eval "app=\${$appvar-$app}" - inst_ver=$(get_version $app) - if [ ! "$inst_ver" ]; then - echo "$me: Error: '$app' not found" >&2 - ret=1 - elif [ ! "$req_ver" = "-" ]; then - latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) - if [ ! "$latest_ver" = "$inst_ver" ]; then - echo "$me: Error: '$app' version == $inst_ver is too old" >&2 - echo " '$app' version >= $req_ver is required" >&2 - ret=1 - fi - fi - done - - return $ret -} - -print_versions() { - echo "Program Min_version" - echo "----------------------" - printf %s "$buildreq" - echo "----------------------" - # can't depend on column -t -} - -use_libtool=0 -# We'd like to use grep -E, to see if any of LT_INIT, -# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, -# but that's not portable enough (e.g., for Solaris). -grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \ - && use_libtool=1 -grep '^[ ]*LT_INIT' configure.ac >/dev/null \ - && use_libtool=1 -if test $use_libtool = 1; then - find_tool LIBTOOLIZE glibtoolize libtoolize -fi - -if ! printf "$buildreq" | check_versions; then - echo >&2 - if test -f README-prereq; then - echo "$0: See README-prereq for how to get the prerequisite programs" >&2 - else - echo "$0: Please install the prerequisite programs" >&2 - fi - exit 1 -fi - -echo "$0: Bootstrapping from checked-out $package sources..." - -# See if we can use gnulib's git-merge-changelog merge driver. -if test -d .git && (git --version) >/dev/null 2>/dev/null ; then - if git config merge.merge-changelog.driver >/dev/null ; then - : - elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then - echo "$0: initializing git-merge-changelog driver" - git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' - git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' - else - echo "$0: consider installing git-merge-changelog from gnulib" - fi -fi - - -cleanup_gnulib() { - status=$? - rm -fr "$gnulib_path" - exit $status -} - -git_modules_config () { - test -f .gitmodules && git config --file .gitmodules "$@" -} - -gnulib_path=`git_modules_config submodule.gnulib.path` -test -z "$gnulib_path" && gnulib_path=gnulib - -# Get gnulib files. - -case ${GNULIB_SRCDIR--} in --) - if git_modules_config submodule.gnulib.url >/dev/null; then - echo "$0: getting gnulib files..." - git submodule init || exit $? - git submodule update || exit $? - - elif [ ! -d "$gnulib_path" ]; then - echo "$0: getting gnulib files..." - - trap cleanup_gnulib 1 2 13 15 - - shallow= - git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' - git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || - cleanup_gnulib - - trap - 1 2 13 15 - fi - GNULIB_SRCDIR=$gnulib_path - ;; -*) - # Use GNULIB_SRCDIR as a reference. - if test -d "$GNULIB_SRCDIR"/.git && \ - git_modules_config submodule.gnulib.url >/dev/null; then - echo "$0: getting gnulib files..." - if git submodule -h|grep -- --reference > /dev/null; then - # Prefer the one-liner available in git 1.6.4 or newer. - git submodule update --init --reference "$GNULIB_SRCDIR" \ - "$gnulib_path" || exit $? - else - # This fallback allows at least git 1.5.5. - if test -f "$gnulib_path"/gnulib-tool; then - # Since file already exists, assume submodule init already complete. - git submodule update || exit $? - else - # Older git can't clone into an empty directory. - rmdir "$gnulib_path" 2>/dev/null - git clone --reference "$GNULIB_SRCDIR" \ - "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ - && git submodule init && git submodule update \ - || exit $? - fi - fi - GNULIB_SRCDIR=$gnulib_path - fi - ;; -esac - -if $bootstrap_sync; then - cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { - echo "$0: updating bootstrap and restarting..." - exec sh -c \ - 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ - -- "$GNULIB_SRCDIR/build-aux/bootstrap" \ - "$0" "$@" --no-bootstrap-sync - } -fi - -gnulib_tool=$GNULIB_SRCDIR/gnulib-tool -<$gnulib_tool || exit - -# Get translations. - -download_po_files() { - subdir=$1 - domain=$2 - echo "$me: getting translations into $subdir for $domain..." - cmd=`printf "$po_download_command_format" "$domain" "$subdir"` - eval "$cmd" -} - -# Mirror .po files to $po_dir/.reference and copy only the new -# or modified ones into $po_dir. Also update $po_dir/LINGUAS. -# Note po files that exist locally only are left in $po_dir but will -# not be included in LINGUAS and hence will not be distributed. -update_po_files() { - # Directory containing primary .po files. - # Overwrite them only when we're sure a .po file is new. - po_dir=$1 - domain=$2 - - # Mirror *.po files into this dir. - # Usually contains *.s1 checksum files. - ref_po_dir="$po_dir/.reference" - - test -d $ref_po_dir || mkdir $ref_po_dir || return - download_po_files $ref_po_dir $domain \ - && ls "$ref_po_dir"/*.po 2>/dev/null | - sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return - - langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` - test "$langs" = '*' && langs=x - for po in $langs; do - case $po in x) continue;; esac - new_po="$ref_po_dir/$po.po" - cksum_file="$ref_po_dir/$po.s1" - if ! test -f "$cksum_file" || - ! test -f "$po_dir/$po.po" || - ! $SHA1SUM -c --status "$cksum_file" \ - < "$new_po" > /dev/null; then - echo "$me: updated $po_dir/$po.po..." - cp "$new_po" "$po_dir/$po.po" \ - && $SHA1SUM < "$new_po" > "$cksum_file" - fi - done -} - -case $SKIP_PO in -'') - if test -d po; then - update_po_files po $package || exit - fi - - if test -d runtime-po; then - update_po_files runtime-po $package-runtime || exit - fi;; -esac - -symlink_to_dir() -{ - src=$1/$2 - dst=${3-$2} - - test -f "$src" && { - - # If the destination directory doesn't exist, create it. - # This is required at least for "lib/uniwidth/cjk.h". - dst_dir=`dirname "$dst"` - if ! test -d "$dst_dir"; then - mkdir -p "$dst_dir" - - # If we've just created a directory like lib/uniwidth, - # tell version control system(s) it's ignorable. - # FIXME: for now, this does only one level - parent=`dirname "$dst_dir"` - for dot_ig in x $vc_ignore; do - test $dot_ig = x && continue - ig=$parent/$dot_ig - insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'` - done - fi - - if $copy; then - { - test ! -h "$dst" || { - echo "$me: rm -f $dst" && - rm -f "$dst" - } - } && - test -f "$dst" && - cmp -s "$src" "$dst" || { - echo "$me: cp -fp $src $dst" && - cp -fp "$src" "$dst" - } - else - test -h "$dst" && - src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 && - dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 && - test "$src_i" = "$dst_i" || { - dot_dots= - case $src in - /*) ;; - *) - case /$dst/ in - *//* | */../* | */./* | /*/*/*/*/*/) - echo >&2 "$me: invalid symlink calculation: $src -> $dst" - exit 1;; - /*/*/*/*/) dot_dots=../../../;; - /*/*/*/) dot_dots=../../;; - /*/*/) dot_dots=../;; - esac;; - esac - - echo "$me: ln -fs $dot_dots$src $dst" && - ln -fs "$dot_dots$src" "$dst" - } - fi - } -} - -cp_mark_as_generated() -{ - cp_src=$1 - cp_dst=$2 - - if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then - symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst" - elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then - symlink_to_dir $local_gl_dir "$cp_dst" - else - case $cp_dst in - *.[ch]) c1='/* '; c2=' */';; - *.texi) c1='@c '; c2= ;; - *.m4|*/Make*|Make*) c1='# ' ; c2= ;; - *) c1= ; c2= ;; - esac - - # If the destination directory doesn't exist, create it. - # This is required at least for "lib/uniwidth/cjk.h". - dst_dir=`dirname "$cp_dst"` - test -d "$dst_dir" || mkdir -p "$dst_dir" - - if test -z "$c1"; then - cmp -s "$cp_src" "$cp_dst" || { - # Copy the file first to get proper permissions if it - # doesn't already exist. Then overwrite the copy. - echo "$me: cp -f $cp_src $cp_dst" && - rm -f "$cp_dst" && - cp "$cp_src" "$cp_dst-t" && - sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" && - mv -f "$cp_dst-t" "$cp_dst" - } - else - # Copy the file first to get proper permissions if it - # doesn't already exist. Then overwrite the copy. - cp "$cp_src" "$cp_dst-t" && - ( - echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && - echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && - sed "s!$bt_regex/!!g" "$cp_src" - ) > $cp_dst-t && - if cmp -s "$cp_dst-t" "$cp_dst"; then - rm -f "$cp_dst-t" - else - echo "$me: cp $cp_src $cp_dst # with edits" && - mv -f "$cp_dst-t" "$cp_dst" - fi - fi - fi -} - -version_controlled_file() { - dir=$1 - file=$2 - found=no - if test -d CVS; then - grep -F "/$file/" $dir/CVS/Entries 2>/dev/null | - grep '^/[^/]*/[0-9]' > /dev/null && found=yes - elif test -d .git; then - git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes - elif test -d .svn; then - svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes - else - echo "$me: no version control for $dir/$file?" >&2 - fi - test $found = yes -} - -slurp() { - for dir in . `(cd $1 && find * -type d -print)`; do - copied= - sep= - for file in `ls -a $1/$dir`; do - case $file in - .|..) continue;; - # FIXME: should all file names starting with "." be ignored? - .*) continue;; - esac - test -d $1/$dir/$file && continue - for excluded_file in $excluded_files; do - test "$dir/$file" = "$excluded_file" && continue 2 - done - if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then - copied=$copied${sep}$gnulib_mk; sep=$nl - remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" - sed "$remove_intl" $1/$dir/$file | - cmp - $dir/$gnulib_mk > /dev/null || { - echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && - rm -f $dir/$gnulib_mk && - sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk && - gnulib_mk_hook $dir/$gnulib_mk - } - elif { test "${2+set}" = set && test -r $2/$dir/$file; } || - version_controlled_file $dir $file; then - echo "$me: $dir/$file overrides $1/$dir/$file" - else - copied=$copied$sep$file; sep=$nl - if test $file = gettext.m4; then - echo "$me: patching m4/gettext.m4 to remove need for intl/* ..." - rm -f $dir/$file - sed ' - /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ - AC_DEFUN([AM_INTL_SUBDIR], []) - /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ - AC_DEFUN([gt_INTL_SUBDIR_CORE], []) - $a\ - AC_DEFUN([gl_LOCK_EARLY], []) - ' $1/$dir/$file >$dir/$file - else - cp_mark_as_generated $1/$dir/$file $dir/$file - fi - fi || exit - done - - for dot_ig in x $vc_ignore; do - test $dot_ig = x && continue - ig=$dir/$dot_ig - if test -n "$copied"; then - insert_vc_ignore $ig "$copied" - # If an ignored file name ends with .in.h, then also add - # the name with just ".h". Many gnulib headers are generated, - # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. - # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed - f=`echo "$copied" | - sed ' - s/\.in\.h$/.h/ - s/\.sin$/.sed/ - s/\.y$/.c/ - s/\.gperf$/.h/ - ' - ` - insert_vc_ignore $ig "$f" - - # For files like sys_stat.in.h and sys_time.in.h, record as - # ignorable the directory we might eventually create: sys/. - f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` - insert_vc_ignore $ig "$f" - fi - done - done -} - - -# Create boot temporary directories to import from gnulib and gettext. -rm -fr $bt $bt2 && -mkdir $bt $bt2 || exit - -# Import from gnulib. - -gnulib_tool_options="\ - --import\ - --no-changelog\ - --aux-dir $bt/$build_aux\ - --doc-base $bt/$doc_base\ - --lib $gnulib_name\ - --m4-base $bt/$m4_base/\ - --source-base $bt/$source_base/\ - --tests-base $bt/$tests_base\ - --local-dir $local_gl_dir\ - $gnulib_tool_option_extras\ -" -if test $use_libtool = 1; then - case "$gnulib_tool_options " in - *' --libtool '*) ;; - *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; - esac -fi -echo "$0: $gnulib_tool $gnulib_tool_options --import ..." -$gnulib_tool $gnulib_tool_options --import $gnulib_modules && -slurp $bt || exit - -for file in $gnulib_files; do - symlink_to_dir "$GNULIB_SRCDIR" $file || exit -done - - -# Import from gettext. -with_gettext=yes -grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ - with_gettext=no - -if test $with_gettext = yes; then - echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..." - cp configure.ac $bt2 && - (cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac) && - slurp $bt2 $bt || exit -fi -rm -fr $bt $bt2 || exit - -# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some -# gnulib-populated directories. Such .m4 files would cause aclocal to fail. -# The following requires GNU find 4.2.3 or newer. Considering the usual -# portability constraints of this script, that may seem a very demanding -# requirement, but it should be ok. Ignore any failure, which is fine, -# since this is only a convenience to help developers avoid the relatively -# unusual case in which a symlinked-to .m4 file is git-removed from gnulib -# between successive runs of this script. -find "$m4_base" "$source_base" \ - -depth \( -name '*.m4' -o -name '*.[ch]' \) \ - -type l -xtype l -delete > /dev/null 2>&1 - -# Reconfigure, getting other files. - -# Skip autoheader if it's not needed. -grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null || - AUTOHEADER=true - -for command in \ - libtool \ - "${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" \ - "${AUTOCONF-autoconf} --force" \ - "${AUTOHEADER-autoheader} --force" \ - "${AUTOMAKE-automake} --add-missing --copy --force-missing" -do - if test "$command" = libtool; then - test $use_libtool = 0 \ - && continue - command="${LIBTOOLIZE-libtoolize} -c -f" - fi - echo "$0: $command ..." - $command || exit -done - - -# Get some extra files from gnulib, overriding existing files. -for file in $gnulib_extra_files; do - case $file in - */INSTALL) dst=INSTALL;; - build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; - *) dst=$file;; - esac - symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit -done - -if test $with_gettext = yes; then - # Create gettext configuration. - echo "$0: Creating po/Makevars from po/Makevars.template ..." - rm -f po/Makevars - sed ' - /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ - /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ - /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| - /^XGETTEXT_OPTIONS *=/{ - s/$/ \\/ - a\ - '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} - } - ' po/Makevars.template >po/Makevars || exit 1 - - if test -d runtime-po; then - # Similarly for runtime-po/Makevars, but not quite the same. - rm -f runtime-po/Makevars - sed ' - /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ - /^subdir *=.*/s/=.*/= runtime-po/ - /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ - /^XGETTEXT_OPTIONS *=/{ - s/$/ \\/ - a\ - '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} - } - ' po/Makevars.template >runtime-po/Makevars || exit 1 - - # Copy identical files from po to runtime-po. - (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) - fi -fi - -bootstrap_epilogue - -echo "$0: done. Now you can run './configure'." - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -r 10f6727fbaa8 -r b67c2d580a25 bootstrap.conf --- a/bootstrap.conf Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -# Bootstrap configuration. - -# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. - -# This program 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. - -# This program 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 this program. If not, see . - - -# gnulib modules used by this package. -gnulib_modules=" - c-strcase - copysign - crypto/md5 - fcntl - filemode - fnmatch - getcwd - gethostname - getopt-gnu - gettimeofday - glob - link - lstat - mkdir - mkfifo - mkstemp - mktime - nanosleep - nproc - pathmax - progname - readlink - rename - rmdir - round - roundf - sigaction - signal - sigprocmask - sleep - sleep - stat - stdint - strftime - strptime - symlink - sys_stat - sys_time - sys_times - time - times - trunc - truncf - unistd - unlink - vsnprintf -" - -# Additional xgettext options to use. Use "\\\newline" to break lines. -XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ - --from-code=UTF-8\\\ - --flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\ - --flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\ - --flag=wrapf:1:c-format\\\ -' - -# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]" -# appears in configure.ac, exclude some unnecessary files. -# Without grep's -E option (not portable enough, pre-configure), -# the following test is ugly. Also, this depends on the existence -# of configure.ac, not the obsolescent-named configure.in. But if -# you're using this infrastructure, you should care about such things. - -gettext_external=0 -grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null && - gettext_external=1 -grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null && - gettext_external=1 - -if test $gettext_external = 1; then - # Gettext supplies these files, but we don't need them since - # we don't have an intl subdirectory. - excluded_files=' - m4/glibc2.m4 - m4/intdiv0.m4 - m4/lcmessage.m4 - m4/lock.m4 - m4/printf-posix.m4 - m4/size_max.m4 - m4/uintmax_t.m4 - m4/ulonglong.m4 - m4/visibility.m4 - m4/xsize.m4 - ' -fi - -# Build prerequisites -buildreq="\ -autoconf 2.59 -automake 1.9.6 -git 1.5.5 -tar - -" -checkout_only_file=HACKING -gnulib_tool_option_extras="--libtool" -gnulib_name="libgnu" -source_base="libgnu" diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/bootstrap --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/bootstrap Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,946 @@ +#! /bin/sh +# Print a version string. +scriptversion=2011-01-21.16; # UTC + +# Bootstrap this package from checked-out sources. + +# Copyright (C) 2003-2011 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program. If not, see . + +# Originally written by Paul Eggert. The canonical version of this +# script is maintained as build-aux/bootstrap in gnulib, however, to +# be useful to your project, you should place a copy of it under +# version control in the top-level directory of your project. The +# intent is that all customization can be done with a bootstrap.conf +# file also maintained in your version control; gnulib comes with a +# template build-aux/bootstrap.conf to get you started. + +# Please report bugs or propose patches to bug-gnulib@gnu.org. + +nl=' +' + +# Ensure file names are sorted consistently across platforms. +LC_ALL=C +export LC_ALL + +local_gl_dir=gl + +# Temporary directory names. +bt='._bootmp' +bt_regex=`echo "$bt"| sed 's/\./[.]/g'` +bt2=${bt}2 +me=$0 + +usage() { + cat </dev/null 2>&1; then + find_tool_res=$i + break + fi + done + else + find_tool_error_prefix="\$$find_tool_envvar: " + fi + if test x"$find_tool_res" = x; then + echo >&2 "$me: one of these is required: $find_tool_names" + exit 1 + fi + ($find_tool_res --version /dev/null 2>&1 || { + echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version" + exit 1 + } + eval "$find_tool_envvar=\$find_tool_res" + eval "export $find_tool_envvar" +} + +# Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6. +find_tool SHA1SUM sha1sum gsha1sum shasum + +# Override the default configuration, if necessary. +# Make sure that bootstrap.conf is sourced from the current directory +# if we were invoked as "sh bootstrap". +case "$0" in + */*) test -r "$0.conf" && . "$0.conf" ;; + *) test -r "$0.conf" && . ./"$0.conf" ;; +esac + + +if test "$vc_ignore" = auto; then + vc_ignore= + test -d .git && vc_ignore=.gitignore + test -d CVS && vc_ignore="$vc_ignore .cvsignore" +fi + +# Translate configuration into internal form. + +# Parse options. + +for option +do + case $option in + --help) + usage + exit;; + --gnulib-srcdir=*) + GNULIB_SRCDIR=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;; + --skip-po) + SKIP_PO=t;; + --force) + checkout_only_file=;; + --copy) + copy=true;; + --bootstrap-sync) + bootstrap_sync=true;; + --no-bootstrap-sync) + bootstrap_sync=false;; + --no-git) + use_git=false;; + *) + echo >&2 "$0: $option: unknown option" + exit 1;; + esac +done + +if $use_git || test -d "$GNULIB_SRCDIR"; then + : +else + echo "$0: Error: --no-git requires --gnulib-srcdir" >&2 + exit 1 +fi + +if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then + echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 + exit 1 +fi + +# If $STR is not already on a line by itself in $FILE, insert it, +# sorting the new contents of the file and replacing $FILE with the result. +insert_sorted_if_absent() { + file=$1 + str=$2 + test -f $file || touch $file + echo "$str" | sort -u - $file | cmp - $file > /dev/null \ + || echo "$str" | sort -u - $file -o $file \ + || exit 1 +} + +# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with +# insert_sorted_if_absent. +insert_vc_ignore() { + vc_ignore_file="$1" + pattern="$2" + case $vc_ignore_file in + *.gitignore) + # A .gitignore entry that does not start with `/' applies + # recursively to subdirectories, so prepend `/' to every + # .gitignore entry. + pattern=`echo "$pattern" | sed s,^,/,`;; + esac + insert_sorted_if_absent "$vc_ignore_file" "$pattern" +} + +# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. +found_aux_dir=no +grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ + >/dev/null && found_aux_dir=yes +grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ + >/dev/null && found_aux_dir=yes +if test $found_aux_dir = no; then + echo "$0: expected line not found in configure.ac. Add the following:" >&2 + echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2 + exit 1 +fi + +# If $build_aux doesn't exist, create it now, otherwise some bits +# below will malfunction. If creating it, also mark it as ignored. +if test ! -d $build_aux; then + mkdir $build_aux + for dot_ig in x $vc_ignore; do + test $dot_ig = x && continue + insert_vc_ignore $dot_ig $build_aux + done +fi + +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +sort_ver() { # sort -V is not generally available + ver1="$1" + ver2="$2" + + # split on '.' and compare each component + i=1 + while : ; do + p1=$(echo "$ver1" | cut -d. -f$i) + p2=$(echo "$ver2" | cut -d. -f$i) + if [ ! "$p1" ]; then + echo "$1 $2" + break + elif [ ! "$p2" ]; then + echo "$2 $1" + break + elif [ ! "$p1" = "$p2" ]; then + if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison + echo "$2 $1" + elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison + echo "$1 $2" + else # numeric, then lexicographic comparison + lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) + if [ "$lp" = "$p2" ]; then + echo "$1 $2" + else + echo "$2 $1" + fi + fi + break + fi + i=$(($i+1)) + done +} + +get_version() { + app=$1 + + $app --version >/dev/null 2>&1 || return 1 + + $app --version 2>&1 | + sed -n '# Move version to start of line. + s/.*[v ]\([0-9]\)/\1/ + + # Skip lines that do not start with version. + /^[0-9]/!d + + # Remove characters after the version. + s/[^.a-z0-9-].*// + + # The first component must be digits only. + s/^\([0-9]*\)[a-z-].*/\1/ + + #the following essentially does s/5.005/5.5/ + s/\.0*\([1-9]\)/.\1/g + p + q' +} + +check_versions() { + ret=0 + + while read app req_ver; do + # We only need libtoolize from the libtool package. + if test "$app" = libtool; then + app=libtoolize + fi + # Exempt git if --no-git is in effect. + if test "$app" = git; then + $use_git || continue + fi + # Honor $APP variables ($TAR, $AUTOCONF, etc.) + appvar=`echo $app | tr '[a-z]-' '[A-Z]_'` + test "$appvar" = TAR && appvar=AMTAR + eval "app=\${$appvar-$app}" + inst_ver=$(get_version $app) + if [ ! "$inst_ver" ]; then + echo "$me: Error: '$app' not found" >&2 + ret=1 + elif [ ! "$req_ver" = "-" ]; then + latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) + if [ ! "$latest_ver" = "$inst_ver" ]; then + echo "$me: Error: '$app' version == $inst_ver is too old" >&2 + echo " '$app' version >= $req_ver is required" >&2 + ret=1 + fi + fi + done + + return $ret +} + +print_versions() { + echo "Program Min_version" + echo "----------------------" + printf %s "$buildreq" + echo "----------------------" + # can't depend on column -t +} + +use_libtool=0 +# We'd like to use grep -E, to see if any of LT_INIT, +# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, +# but that's not portable enough (e.g., for Solaris). +grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \ + && use_libtool=1 +grep '^[ ]*LT_INIT' configure.ac >/dev/null \ + && use_libtool=1 +if test $use_libtool = 1; then + find_tool LIBTOOLIZE glibtoolize libtoolize +fi + +if ! printf "$buildreq" | check_versions; then + echo >&2 + if test -f README-prereq; then + echo "$0: See README-prereq for how to get the prerequisite programs" >&2 + else + echo "$0: Please install the prerequisite programs" >&2 + fi + exit 1 +fi + +echo "$0: Bootstrapping from checked-out $package sources..." + +# See if we can use gnulib's git-merge-changelog merge driver. +if test -d .git && (git --version) >/dev/null 2>/dev/null ; then + if git config merge.merge-changelog.driver >/dev/null ; then + : + elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then + echo "$0: initializing git-merge-changelog driver" + git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' + git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' + else + echo "$0: consider installing git-merge-changelog from gnulib" + fi +fi + + +cleanup_gnulib() { + status=$? + rm -fr "$gnulib_path" + exit $status +} + +git_modules_config () { + test -f .gitmodules && git config --file .gitmodules "$@" +} + +gnulib_path=`git_modules_config submodule.gnulib.path` +test -z "$gnulib_path" && gnulib_path=gnulib + +# Get gnulib files. + +case ${GNULIB_SRCDIR--} in +-) + if git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + git submodule init || exit $? + git submodule update || exit $? + + elif [ ! -d "$gnulib_path" ]; then + echo "$0: getting gnulib files..." + + trap cleanup_gnulib 1 2 13 15 + + shallow= + git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || + cleanup_gnulib + + trap - 1 2 13 15 + fi + GNULIB_SRCDIR=$gnulib_path + ;; +*) + # Use GNULIB_SRCDIR as a reference. + if test -d "$GNULIB_SRCDIR"/.git && \ + git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + if git submodule -h|grep -- --reference > /dev/null; then + # Prefer the one-liner available in git 1.6.4 or newer. + git submodule update --init --reference "$GNULIB_SRCDIR" \ + "$gnulib_path" || exit $? + else + # This fallback allows at least git 1.5.5. + if test -f "$gnulib_path"/gnulib-tool; then + # Since file already exists, assume submodule init already complete. + git submodule update || exit $? + else + # Older git can't clone into an empty directory. + rmdir "$gnulib_path" 2>/dev/null + git clone --reference "$GNULIB_SRCDIR" \ + "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ + && git submodule init && git submodule update \ + || exit $? + fi + fi + GNULIB_SRCDIR=$gnulib_path + fi + ;; +esac + +if $bootstrap_sync; then + cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { + echo "$0: updating bootstrap and restarting..." + exec sh -c \ + 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ + -- "$GNULIB_SRCDIR/build-aux/bootstrap" \ + "$0" "$@" --no-bootstrap-sync + } +fi + +gnulib_tool=$GNULIB_SRCDIR/gnulib-tool +<$gnulib_tool || exit + +# Get translations. + +download_po_files() { + subdir=$1 + domain=$2 + echo "$me: getting translations into $subdir for $domain..." + cmd=`printf "$po_download_command_format" "$domain" "$subdir"` + eval "$cmd" +} + +# Mirror .po files to $po_dir/.reference and copy only the new +# or modified ones into $po_dir. Also update $po_dir/LINGUAS. +# Note po files that exist locally only are left in $po_dir but will +# not be included in LINGUAS and hence will not be distributed. +update_po_files() { + # Directory containing primary .po files. + # Overwrite them only when we're sure a .po file is new. + po_dir=$1 + domain=$2 + + # Mirror *.po files into this dir. + # Usually contains *.s1 checksum files. + ref_po_dir="$po_dir/.reference" + + test -d $ref_po_dir || mkdir $ref_po_dir || return + download_po_files $ref_po_dir $domain \ + && ls "$ref_po_dir"/*.po 2>/dev/null | + sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return + + langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` + test "$langs" = '*' && langs=x + for po in $langs; do + case $po in x) continue;; esac + new_po="$ref_po_dir/$po.po" + cksum_file="$ref_po_dir/$po.s1" + if ! test -f "$cksum_file" || + ! test -f "$po_dir/$po.po" || + ! $SHA1SUM -c --status "$cksum_file" \ + < "$new_po" > /dev/null; then + echo "$me: updated $po_dir/$po.po..." + cp "$new_po" "$po_dir/$po.po" \ + && $SHA1SUM < "$new_po" > "$cksum_file" + fi + done +} + +case $SKIP_PO in +'') + if test -d po; then + update_po_files po $package || exit + fi + + if test -d runtime-po; then + update_po_files runtime-po $package-runtime || exit + fi;; +esac + +symlink_to_dir() +{ + src=$1/$2 + dst=${3-$2} + + test -f "$src" && { + + # If the destination directory doesn't exist, create it. + # This is required at least for "lib/uniwidth/cjk.h". + dst_dir=`dirname "$dst"` + if ! test -d "$dst_dir"; then + mkdir -p "$dst_dir" + + # If we've just created a directory like lib/uniwidth, + # tell version control system(s) it's ignorable. + # FIXME: for now, this does only one level + parent=`dirname "$dst_dir"` + for dot_ig in x $vc_ignore; do + test $dot_ig = x && continue + ig=$parent/$dot_ig + insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'` + done + fi + + if $copy; then + { + test ! -h "$dst" || { + echo "$me: rm -f $dst" && + rm -f "$dst" + } + } && + test -f "$dst" && + cmp -s "$src" "$dst" || { + echo "$me: cp -fp $src $dst" && + cp -fp "$src" "$dst" + } + else + test -h "$dst" && + src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 && + dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 && + test "$src_i" = "$dst_i" || { + dot_dots= + case $src in + /*) ;; + *) + case /$dst/ in + *//* | */../* | */./* | /*/*/*/*/*/) + echo >&2 "$me: invalid symlink calculation: $src -> $dst" + exit 1;; + /*/*/*/*/) dot_dots=../../../;; + /*/*/*/) dot_dots=../../;; + /*/*/) dot_dots=../;; + esac;; + esac + + echo "$me: ln -fs $dot_dots$src $dst" && + ln -fs "$dot_dots$src" "$dst" + } + fi + } +} + +cp_mark_as_generated() +{ + cp_src=$1 + cp_dst=$2 + + if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then + symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst" + elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then + symlink_to_dir $local_gl_dir "$cp_dst" + else + case $cp_dst in + *.[ch]) c1='/* '; c2=' */';; + *.texi) c1='@c '; c2= ;; + *.m4|*/Make*|Make*) c1='# ' ; c2= ;; + *) c1= ; c2= ;; + esac + + # If the destination directory doesn't exist, create it. + # This is required at least for "lib/uniwidth/cjk.h". + dst_dir=`dirname "$cp_dst"` + test -d "$dst_dir" || mkdir -p "$dst_dir" + + if test -z "$c1"; then + cmp -s "$cp_src" "$cp_dst" || { + # Copy the file first to get proper permissions if it + # doesn't already exist. Then overwrite the copy. + echo "$me: cp -f $cp_src $cp_dst" && + rm -f "$cp_dst" && + cp "$cp_src" "$cp_dst-t" && + sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" && + mv -f "$cp_dst-t" "$cp_dst" + } + else + # Copy the file first to get proper permissions if it + # doesn't already exist. Then overwrite the copy. + cp "$cp_src" "$cp_dst-t" && + ( + echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && + echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && + sed "s!$bt_regex/!!g" "$cp_src" + ) > $cp_dst-t && + if cmp -s "$cp_dst-t" "$cp_dst"; then + rm -f "$cp_dst-t" + else + echo "$me: cp $cp_src $cp_dst # with edits" && + mv -f "$cp_dst-t" "$cp_dst" + fi + fi + fi +} + +version_controlled_file() { + dir=$1 + file=$2 + found=no + if test -d CVS; then + grep -F "/$file/" $dir/CVS/Entries 2>/dev/null | + grep '^/[^/]*/[0-9]' > /dev/null && found=yes + elif test -d .git; then + git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes + elif test -d .svn; then + svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes + else + echo "$me: no version control for $dir/$file?" >&2 + fi + test $found = yes +} + +slurp() { + for dir in . `(cd $1 && find * -type d -print)`; do + copied= + sep= + for file in `ls -a $1/$dir`; do + case $file in + .|..) continue;; + # FIXME: should all file names starting with "." be ignored? + .*) continue;; + esac + test -d $1/$dir/$file && continue + for excluded_file in $excluded_files; do + test "$dir/$file" = "$excluded_file" && continue 2 + done + if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then + copied=$copied${sep}$gnulib_mk; sep=$nl + remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" + sed "$remove_intl" $1/$dir/$file | + cmp - $dir/$gnulib_mk > /dev/null || { + echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && + rm -f $dir/$gnulib_mk && + sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk && + gnulib_mk_hook $dir/$gnulib_mk + } + elif { test "${2+set}" = set && test -r $2/$dir/$file; } || + version_controlled_file $dir $file; then + echo "$me: $dir/$file overrides $1/$dir/$file" + else + copied=$copied$sep$file; sep=$nl + if test $file = gettext.m4; then + echo "$me: patching m4/gettext.m4 to remove need for intl/* ..." + rm -f $dir/$file + sed ' + /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ + AC_DEFUN([AM_INTL_SUBDIR], []) + /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ + AC_DEFUN([gt_INTL_SUBDIR_CORE], []) + $a\ + AC_DEFUN([gl_LOCK_EARLY], []) + ' $1/$dir/$file >$dir/$file + else + cp_mark_as_generated $1/$dir/$file $dir/$file + fi + fi || exit + done + + for dot_ig in x $vc_ignore; do + test $dot_ig = x && continue + ig=$dir/$dot_ig + if test -n "$copied"; then + insert_vc_ignore $ig "$copied" + # If an ignored file name ends with .in.h, then also add + # the name with just ".h". Many gnulib headers are generated, + # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. + # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed + f=`echo "$copied" | + sed ' + s/\.in\.h$/.h/ + s/\.sin$/.sed/ + s/\.y$/.c/ + s/\.gperf$/.h/ + ' + ` + insert_vc_ignore $ig "$f" + + # For files like sys_stat.in.h and sys_time.in.h, record as + # ignorable the directory we might eventually create: sys/. + f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` + insert_vc_ignore $ig "$f" + fi + done + done +} + + +# Create boot temporary directories to import from gnulib and gettext. +rm -fr $bt $bt2 && +mkdir $bt $bt2 || exit + +# Import from gnulib. + +gnulib_tool_options="\ + --import\ + --no-changelog\ + --aux-dir $bt/$build_aux\ + --doc-base $bt/$doc_base\ + --lib $gnulib_name\ + --m4-base $bt/$m4_base/\ + --source-base $bt/$source_base/\ + --tests-base $bt/$tests_base\ + --local-dir $local_gl_dir\ + $gnulib_tool_option_extras\ +" +if test $use_libtool = 1; then + case "$gnulib_tool_options " in + *' --libtool '*) ;; + *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; + esac +fi +echo "$0: $gnulib_tool $gnulib_tool_options --import ..." +$gnulib_tool $gnulib_tool_options --import $gnulib_modules && +slurp $bt || exit + +for file in $gnulib_files; do + symlink_to_dir "$GNULIB_SRCDIR" $file || exit +done + + +# Import from gettext. +with_gettext=yes +grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ + with_gettext=no + +if test $with_gettext = yes; then + echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..." + cp configure.ac $bt2 && + (cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac) && + slurp $bt2 $bt || exit +fi +rm -fr $bt $bt2 || exit + +# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some +# gnulib-populated directories. Such .m4 files would cause aclocal to fail. +# The following requires GNU find 4.2.3 or newer. Considering the usual +# portability constraints of this script, that may seem a very demanding +# requirement, but it should be ok. Ignore any failure, which is fine, +# since this is only a convenience to help developers avoid the relatively +# unusual case in which a symlinked-to .m4 file is git-removed from gnulib +# between successive runs of this script. +find "$m4_base" "$source_base" \ + -depth \( -name '*.m4' -o -name '*.[ch]' \) \ + -type l -xtype l -delete > /dev/null 2>&1 + +# Reconfigure, getting other files. + +# Skip autoheader if it's not needed. +grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null || + AUTOHEADER=true + +for command in \ + libtool \ + "${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" \ + "${AUTOCONF-autoconf} --force" \ + "${AUTOHEADER-autoheader} --force" \ + "${AUTOMAKE-automake} --add-missing --copy --force-missing" +do + if test "$command" = libtool; then + test $use_libtool = 0 \ + && continue + command="${LIBTOOLIZE-libtoolize} -c -f" + fi + echo "$0: $command ..." + $command || exit +done + + +# Get some extra files from gnulib, overriding existing files. +for file in $gnulib_extra_files; do + case $file in + */INSTALL) dst=INSTALL;; + build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; + *) dst=$file;; + esac + symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit +done + +if test $with_gettext = yes; then + # Create gettext configuration. + echo "$0: Creating po/Makevars from po/Makevars.template ..." + rm -f po/Makevars + sed ' + /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ + /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ + /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| + /^XGETTEXT_OPTIONS *=/{ + s/$/ \\/ + a\ + '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} + } + ' po/Makevars.template >po/Makevars || exit 1 + + if test -d runtime-po; then + # Similarly for runtime-po/Makevars, but not quite the same. + rm -f runtime-po/Makevars + sed ' + /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ + /^subdir *=.*/s/=.*/= runtime-po/ + /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ + /^XGETTEXT_OPTIONS *=/{ + s/$/ \\/ + a\ + '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} + } + ' po/Makevars.template >runtime-po/Makevars || exit 1 + + # Copy identical files from po to runtime-po. + (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) + fi +fi + +bootstrap_epilogue + +echo "$0: done. Now you can run './configure'." + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/bootstrap.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/bootstrap.conf Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,117 @@ +# Bootstrap configuration. + +# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program. If not, see . + + +# gnulib modules used by this package. +gnulib_modules=" + c-strcase + copysign + crypto/md5 + fcntl + filemode + fnmatch + getcwd + gethostname + getopt-gnu + gettimeofday + glob + link + lstat + mkdir + mkfifo + mkstemp + mktime + nanosleep + nproc + pathmax + progname + readlink + rename + rmdir + round + roundf + sigaction + signal + sigprocmask + sleep + sleep + stat + stdint + strftime + strptime + symlink + sys_stat + sys_time + sys_times + time + times + trunc + truncf + unistd + unlink + vsnprintf +" + +# Additional xgettext options to use. Use "\\\newline" to break lines. +XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ + --from-code=UTF-8\\\ + --flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\ + --flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\ + --flag=wrapf:1:c-format\\\ +' + +# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]" +# appears in configure.ac, exclude some unnecessary files. +# Without grep's -E option (not portable enough, pre-configure), +# the following test is ugly. Also, this depends on the existence +# of configure.ac, not the obsolescent-named configure.in. But if +# you're using this infrastructure, you should care about such things. + +gettext_external=0 +grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null && + gettext_external=1 +grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null && + gettext_external=1 + +if test $gettext_external = 1; then + # Gettext supplies these files, but we don't need them since + # we don't have an intl subdirectory. + excluded_files=' + m4/glibc2.m4 + m4/intdiv0.m4 + m4/lcmessage.m4 + m4/lock.m4 + m4/printf-posix.m4 + m4/size_max.m4 + m4/uintmax_t.m4 + m4/ulonglong.m4 + m4/visibility.m4 + m4/xsize.m4 + ' +fi + +# Build prerequisites +buildreq="\ +autoconf 2.59 +automake 1.9.6 +git 1.5.5 +tar - +" +checkout_only_file=etc/HACKING +gnulib_tool_option_extras="--libtool" +gnulib_name="libgnu" +source_base="libgnu" diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/changelog.tmpl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/changelog.tmpl Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,2 @@ +header = '{date|shortdate} {author|person} <{author|email}>\n\n' +changeset = '\t{desc|tabindent|strip}\n\n\tFiles: {files|stringify|fill68|tabindent|strip}\n\n' diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/common.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/common.mk Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,668 @@ +AWK = @AWK@ +export AWK + +SED = @SED@ +export SED + +FIND = @FIND@ +export FIND + +PERL = @PERL@ +export PERL + +PYTHON = @PYTHON@ + +GNUPLOT = @GNUPLOT@ + +DESKTOP_FILE_INSTALL = @DESKTOP_FILE_INSTALL@ + +OCTAVE_VERSION = @OCTAVE_VERSION@ +OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ +OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ +OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ +OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ + +version = $(OCTAVE_VERSION) +api_version = $(OCTAVE_API_VERSION) + +## AM_LIBTOOLFLAGS = --silent + +#### Start of system configuration section. #### + +EXEEXT = @EXEEXT@ + +BUILD_EXEEXT = @BUILD_EXEEXT@ + +LEX = @LEX@ +AM_LFLAGS = @LFLAGS@ +LEXLIB = @LEXLIB@ + +YACC = @YACC@ +AM_YFLAGS = -dv + +GPERF = @GPERF@ + +AR = @AR@ +ARFLAGS = @ARFLAGS@ + +TEMPLATE_AR = @TEMPLATE_AR@ +TEMPLATE_ARFLAGS = @TEMPLATE_ARFLAGS@ + +RANLIB = @RANLIB@ + +LN_S = @LN_S@ + +MAKEINFO = @MAKEINFO@ +TEXI2DVI = @TEXI2DVI@ +TEXI2PDF = @TEXI2PDF@ + +GHOSTSCRIPT = @GHOSTSCRIPT@ + +DEFAULT_PAGER = @DEFAULT_PAGER@ + +ENABLE_DYNAMIC_LINKING = @ENABLE_DYNAMIC_LINKING@ + +SHLEXT = @SHLEXT@ +SHLEXT_VER = @SHLEXT_VER@ +SHLLIB = @SHLLIB@ +SHLLIB_VER = @SHLLIB_VER@ +SHLBIN = @SHLBIN@ +SHLBIN_VER = @SHLBIN_VER@ +SHLLINKEXT= + +LIBEXT = a +LIBPRE = @LIBPRE@ +SHLPRE = @SHLPRE@ +SHLLIBPRE = @SHLLIBPRE@ +SHLBINPRE = @SHLBINPRE@ + +# Fortran compiler flags. + +FC = @FC@ +F77 = @F77@ +AM_FFLAGS = @FFLAGS@ +FPICFLAG = @FPICFLAG@ +ALL_FFLAGS = $(FFLAGS) +F77_FLOAT_STORE_FLAG = @F77_FLOAT_STORE_FLAG@ +F77_INTEGER_8_FLAG = @F77_INTEGER_8_FLAG@ + +F77_TOLOWER=@F77_TOLOWER@ +F77_APPEND_UNDERSCORE=@F77_TOLOWER@ +F77_APPEND_EXTRA_UNDERSCORE=@F77_TOLOWER@ + +X11_INCFLAGS = @X11_INCFLAGS@ +X11_LIBS = @X11_LIBS@ + +CARBON_LIBS = @CARBON_LIBS@ + +MAGICK_CPPFLAGS = @MAGICK_CPPFLAGS@ +MAGICK_LDFLAGS = @MAGICK_LDFLAGS@ +MAGICK_LIBS = @MAGICK_LIBS@ + +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ + +LIBFLAGS = -L$(top_builddir) + +DEFS = @DEFS@ + +UGLY_DEFS = @UGLY_DEFS@ + +CC = @CC@ +CC_VERSION = @CC_VERSION@ +CONFIGURE_CFLAGS = @CFLAGS@ +CPICFLAG = @CPICFLAG@ +XTRA_CFLAGS = @XTRA_CFLAGS@ +WARN_CFLAGS = @WARN_CFLAGS@ +AM_CFLAGS = $(CONFIGURE_CFLAGS) \ + $(INCFLAGS) $(DEFS) $(XTRA_CFLAGS) $(WARN_CFLAGS) $(CFLAGS) $(PTHREAD_CFLAGS) +BUG_CFLAGS = $(DEFS) $(XTRA_CFLAGS) $(WARN_CFLAGS) $(CFLAGS) + +BUILD_CC = @BUILD_CC@ +BUILD_CFLAGS = @BUILD_CFLAGS@ + +DEPEND_FLAGS = @DEPEND_FLAGS@ +DEPEND_EXTRA_SED_PATTERN = @DEPEND_EXTRA_SED_PATTERN@ +INCLUDE_DEPS = @INCLUDE_DEPS@ +# ifeq ($(INCLUDE_DEPS),false) +# omit_deps = true; +# endif + +GRAPHICS_CFLAGS = @GRAPHICS_CFLAGS@ + +CXX = @CXX@ +CXX_VERSION = @CXX_VERSION@ +CXXCPP = @CXXCPP@ +CONFIGURE_CXXFLAGS = @CXXFLAGS@ +CXXPICFLAG = @CXXPICFLAG@ +XTRA_CXXFLAGS = @XTRA_CXXFLAGS@ +WARN_CXXFLAGS = @WARN_CXXFLAGS@ +AM_CXXFLAGS = $(CONFIGURE_CXXFLAGS) \ + $(INCFLAGS) $(DEFS) $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS) $(CXXFLAGS) $(PTHREAD_CFLAGS) +BUG_CXXFLAGS = $(DEFS) $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS) $(CXXFLAGS) + +BUILD_CXX = @BUILD_CXX@ +BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ + +NO_UNDEFINED_LDFLAG = @NO_UNDEFINED_LDFLAG@ + +LD_CXX = @LD_CXX@ +LD_STATIC_FLAG = @LD_STATIC_FLAG@ +#ALL_LDFLAGS = $(LIBFLAGS) $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS) + +BUILD_LDFLAGS = @BUILD_LDFLAGS@ + +SH_LD = @SH_LD@ +SH_LDFLAGS = @SH_LDFLAGS@ + +DL_LD = @DL_LD@ +DL_LDFLAGS = @DL_LDFLAGS@ + +SONAME_FLAGS = @SONAME_FLAGS@ + +RDYNAMIC_FLAG = @RDYNAMIC_FLAG@ + +RLD_FLAG = @RLD_FLAG@ + +FLIBS = @FLIBS@ + +LIBOCTINTERP = @LIBOCTINTERP@ +LIBOCTAVE = @LIBOCTAVE@ +LIBCRUFT = @LIBCRUFT@ + +FT2_CFLAGS = @FT2_CFLAGS@ +FT2_LIBS = @FT2_LIBS@ + +HDF5_CPPFLAGS = @HDF5_CPPFLAGS@ +HDF5_LDFLAGS = @HDF5_LDFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ + +Z_CPPFLAGS = @Z_CPPFLAGS@ +Z_LDFLAGS = @Z_LDFLAGS@ +Z_LIBS = @Z_LIBS@ + +GRAPHICS_LIBS = @GRAPHICS_LIBS@ + +QHULL_CPPFLAGS = @QHULL_CPPFLAGS@ +QHULL_LDFLAGS = @QHULL_LDFLAGS@ +QHULL_LIBS = @QHULL_LIBS@ + +REGEX_LIBS = @REGEX_LIBS@ + +LAPACK_LIBS = @LAPACK_LIBS@ +BLAS_LIBS = @BLAS_LIBS@ + +FFTW3_CPPFLAGS = @FFTW3_CPPFLAGS@ +FFTW3_LDFLAGS = @FFTW3_LDFLAGS@ +FFTW3_LIBS = @FFTW3_LIBS@ + +FFTW3F_CPPFLAGS = @FFTW3F_CPPFLAGS@ +FFTW3F_LDFLAGS = @FFTW3F_LDFLAGS@ +FFTW3F_LIBS = @FFTW3F_LIBS@ + +GLPK_CPPFLAGS = @GLPK_CPPFLAGS@ +GLPK_LDFLAGS = @GLPK_LDFLAGS@ +GLPK_LIBS = @GLPK_LIBS@ + +CURL_CPPFLAGS = @CURL_CPPFLAGS@ +CURL_LDFLAGS = @CURL_LDFLAGS@ +CURL_LIBS = @CURL_LIBS@ + +AMD_CPPFLAGS = @AMD_CPPFLAGS@ +AMD_LDFLAGS = @AMD_LDFLAGS@ +AMD_LIBS = @AMD_LIBS@ + +CAMD_CPPFLAGS = @CAMD_CPPFLAGS@ +CAMD_LDFLAGS = @CAMD_LDFLAGS@ +CAMD_LIBS = @CAMD_LIBS@ + +COLAMD_CPPFLAGS = @COLAMD_CPPFLAGS@ +COLAMD_LDFLAGS = @COLAMD_LDFLAGS@ +COLAMD_LIBS = @COLAMD_LIBS@ + +CCOLAMD_CPPFLAGS = @CCOLAMD_CPPFLAGS@ +CCOLAMD_LDFLAGS = @CCOLAMD_LDFLAGS@ +CCOLAMD_LIBS = @CCOLAMD_LIBS@ + +CHOLMOD_CPPFLAGS = @CHOLMOD_CPPFLAGS@ +CHOLMOD_LDFLAGS = @CHOLMOD_LDFLAGS@ +CHOLMOD_LIBS = @CHOLMOD_LIBS@ + +CXSPARSE_CPPFLAGS = @CXSPARSE_CPPFLAGS@ +CXSPARSE_LDFLAGS = @CXSPARSE_LDFLAGS@ +CXSPARSE_LIBS = @CXSPARSE_LIBS@ + +UMFPACK_CPPFLAGS = @UMFPACK_CPPFLAGS@ +UMFPACK_LDFLAGS = @UMFPACK_LDFLAGS@ +UMFPACK_LIBS = @UMFPACK_LIBS@ + +OPENGL_LIBS = @OPENGL_LIBS@ + +QRUPDATE_CPPFLAGS = @QRUPDATE_CPPFLAGS@ +QRUPDATE_LDFLAGS = @QRUPDATE_LDFLAGS@ +QRUPDATE_LIBS = @QRUPDATE_LIBS@ + +READLINE_LIBS = @READLINE_LIBS@ +TERM_LIBS = @TERM_LIBS@ + +DL_LIBS = @DL_LIBS@ +LIBS = @LIBS@ + +ALL_CPPFLAGS = $(CPPFLAGS) $(HDF5_CPPFLAGS) $(Z_CPPFLAGS) + +SPARSE_XCPPFLAGS = \ + $(CHOLMOD_CPPFLAGS) $(UMFPACK_CPPFLAGS) \ + $(AMD_CPPFLAGS) $(CAMD_CPPFLAGS) $(COLAMD_CPPFLAGS) \ + $(CCOLAMD_CPPFLAGS) $(CXSPARSE_CPPFLAGS) + +SPARSE_XLDFLAGS = \ + $(CHOLMOD_LDFLAGS) $(UMFPACK_LDFLAGS) \ + $(AMD_LDFLAGS) $(CAMD_LDFLAGS) $(COLAMD_LDFLAGS) \ + $(CCOLAMD_LDFLAGS) $(CXSPARSE_LDFLAGS) + +## Order matters, at least on some systems (Cygwin, for example). +SPARSE_XLIBS = \ + $(CHOLMOD_LIBS) $(UMFPACK_LIBS) \ + $(AMD_LIBS) $(CAMD_LIBS) $(COLAMD_LIBS) \ + $(CCOLAMD_LIBS) $(CXSPARSE_LIBS) + +FFTW_XCPPFLAGS = $(FFTW3_CPPFLAGS) $(FFTW3F_CPPFLAGS) + +FFTW_XLDFLAGS = $(FFTW3_LDFLAGS) $(FFTW3F_LDFLAGS) + +FFTW_XLIBS = $(FFTW3_LIBS) $(FFTW3F_LIBS) + +USE_64_BIT_IDX_T = @USE_64_BIT_IDX_T@ +OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ + +TEXINFO_COLAMD = @TEXINFO_COLAMD@ +TEXINFO_CHOLMOD = @TEXINFO_CHOLMOD@ +TEXINFO_UMFPACK = @TEXINFO_UMFPACK@ +TEXINFO_QHULL = @TEXINFO_QHULL@ + +# The arguments passed to configure. +config_opts = @config_opts@ + +CONFIG_SUBDIRS = @subdirs@ + +# ==================== Where To Install Things ==================== + +# The default location for installation. Everything is placed in +# subdirectories of this directory. The default values for many of +# the variables below are expressed in terms of this one, so you may +# not need to change them. This defaults to /usr/local. +prefix = @prefix@ + +# Like `prefix', but used for architecture-specific files. +exec_prefix = @exec_prefix@ + +# Where to install Octave and other binaries that people will want to +# run directly. +bindir = @bindir@ + +# Normally the directory for installing executables that system +# administrators run. This is the same as libexecdir on Cygwin systems. +sbindir = @sbindir@ + +# The root of the directory tree for read-only +# architecture-independent data files. +datarootdir = @datarootdir@ + +# Where to install architecture-independent data files. ${fcnfiledir} +# and ${localfcnfiledir} are subdirectories of this. +datadir = @datadir@ + +libdir = @libdir@ + +# Where to install and expect extra files like NEWS and doc-cache. +octetcdir = @octetcdir@ + +# Where to install and expect libraries like libcruft.a, liboctave.a, +# and other architecture-dependent data. +octlibdir = @octlibdir@ + +# Where to install and expect executable programs to be run by Octave +# rather than directly by users. +libexecdir = @libexecdir@ + +# The prefix for Octave's include file directory. The default is +# ${prefix}/include +includedir = @includedir@ + +# Where to install Octave's man pages, and what extension they should +# have. The default is ${prefix}/man/man1 +mandir = @mandir@ +man1dir = @man1dir@ +man1ext = @man1ext@ + +# The full path to the default doc cache file. +doc_cache_file = @doc_cache_file@ + +# Where to install and expect the info files describing Octave.. +infodir = @infodir@ + +# The full path to the default info file. +infofile = @infofile@ + +# ==================== Octave-specific directories ==================== + +# These variables hold the values specific to Octave. They are +# based on the values of the standard Make variables above. + +# What is the path separation character +sepchar = @sepchar@ + +# Where to install Octave's include files. The default is +# ${includedir}/octave-${version}/octave +octincludedir = @octincludedir@ + +# Where to install the function file distributed with +# Octave. This includes the Octave version, so that the +# function files for different versions of Octave will install +# themselves in separate directories. +fcnfiledir = @fcnfiledir@ + +# Directories Octave should search for function files specific +# to this site (i.e. customizations), before consulting +# ${fcnfiledir}. This should be a colon-separated list of +# directories. +localfcnfiledir = @localfcnfiledir@ +localapifcnfiledir = @localapifcnfiledir@ +localverfcnfiledir = @localverfcnfiledir@ + +# Where to put executables to be run by Octave rather than +# the user. This path usually includes the Octave version +# and configuration name, so that multiple configurations +# for multiple versions of Octave may be installed at once. +archlibdir = @archlibdir@ + +# Where to put executables to be run by Octave rather than by the +# user that are specific to this site. +localarchlibdir = @localarchlibdir@ +localapiarchlibdir = @localapiarchlibdir@ +localverarchlibdir = @localverarchlibdir@ + +# Where to put object files that will by dynamically loaded. +# This path usually includes the Octave version and configuration +# name, so that multiple configurations for multiple versions of +# Octave may be installed at once. +octfiledir = @octfiledir@ + +# Directories Octave should search for object files that will be +# dynamically loaded and that are specific to this site +# (i.e. customizations), before consulting ${octfiledir}. This should +# be a colon-separated list of directories. +localoctfiledir = @localoctfiledir@ +localapioctfiledir = @localapioctfiledir@ +localveroctfiledir = @localveroctfiledir@ + +# Where Octave will search to find image files. +imagedir = @imagedir@ + +# The type of computer we are running on. +canonical_host_type = @canonical_host_type@ + +# Where Octave will look for startup files +startupfiledir = ${fcnfiledir}/startup +localstartupfiledir = ${localfcnfiledir}/startup + +# LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PATH, ... +library_path_var = @library_path_var@ + +# The separator used for elements of the LD_PRELOAD variable (might be +# a space, so protect with $(null)) +null = +ldpreloadsep = $(null)@ldpreloadsep@$(null) + +NO_OCT_FILE_STRIP = @NO_OCT_FILE_STRIP@ + +# The following pattern rules and the substitution functions require +# GNU make. If you don't have it, get it! + +define simple_move_if_change_rule +if [ -s $@-t ]; then \ + $(top_srcdir)/build-aux/move-if-change $@-t $@; \ +else \ + echo "$@-t is empty!" 1>&2; \ + rm -f $@-t; \ + exit 1; \ +fi +endef + +define cp_update_rule +if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/$@ ] && [ ! -f $@ ]; then \ + cp $(srcdir)/$@ $@; \ + touch -r $(srcdir)/$@ $@; \ +fi +endef + +# Yes, the second sed command near the end is needed, to avoid limits +# in command lengths for some versions of sed. UGLY_DEFS is often +# quite large, so it makes sense to split this command there. + +define do_subst_config_vals +echo "making $@ from $<" +$(SED) < $< \ + -e "s|%NO_OCT_FILE_STRIP%|${NO_OCT_FILE_STRIP}|" \ + -e "s|%OCTAVE_BINDIR%|\"${bindir}\"|" \ + -e "s|%OCTAVE_CONF_ALL_CFLAGS%|\"${ALL_CFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_ALL_CXXFLAGS%|\"${ALL_CXXFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_ALL_FFLAGS%|\"${ALL_FFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_ALL_LDFLAGS%|\"${ALL_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_AMD_CPPFLAGS%|\"${AMD_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_AMD_LDFLAGS%|\"${AMD_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_AMD_LIBS%|\"${AMD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_AR%|\"${AR}\"|" \ + -e "s|%OCTAVE_CONF_ARFLAGS%|\"${ARFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_BLAS_LIBS%|\"${BLAS_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CAMD_CPPFLAGS%|\"${CAMD_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CAMD_LDFLAGS%|\"${CAMD_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CAMD_LIBS%|\"${CAMD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CANONICAL_HOST_TYPE%|\"${canonical_host_type}\"|" \ + -e "s|%OCTAVE_CONF_CARBON_LIBS%|\"${CARBON_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CC%|\"${CC}\"|" \ + -e "s|%OCTAVE_CONF_CC_VERSION%|\"${CC_VERSION}\"|" \ + -e "s|%OCTAVE_CONF_CCOLAMD_CPPFLAGS%|\"${CCOLAMD_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CCOLAMD_LDFLAGS%|\"${CCOLAMD_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CCOLAMD_LIBS%|\"${CCOLAMD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CFLAGS%|\"${CFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CHOLMOD_CPPFLAGS%|\"${CHOLMOD_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CHOLMOD_LDFLAGS%|\"${CHOLMOD_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CHOLMOD_LIBS%|\"${CHOLMOD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_COLAMD_CPPFLAGS%|\"${COLAMD_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_COLAMD_LDFLAGS%|\"${COLAMD_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_COLAMD_LIBS%|\"${COLAMD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CPICFLAG%|\"${CPICFLAG}\"|" \ + -e "s|%OCTAVE_CONF_CPPFLAGS%|\"${CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CURL_CPPFLAGS%|\"${CURL_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CURL_LDFLAGS%|\"${CURL_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CURL_LIBS%|\"${CURL_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CXSPARSE_CPPFLAGS%|\"${CXSPARSE_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CXSPARSE_LDFLAGS%|\"${CXSPARSE_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CXSPARSE_LIBS%|\"${CXSPARSE_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_CXX%|\"${CXX}\"|" \ + -e "s|%OCTAVE_CONF_CXXCPP%|\"${CXXCPP}\"|" \ + -e "s|%OCTAVE_CONF_CXXFLAGS%|\"${CXXFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_CXXPICFLAG%|\"${CXXPICFLAG}\"|" \ + -e "s|%OCTAVE_CONF_CXX_VERSION%|\"${CXX_VERSION}\"|" \ + -e "s|%OCTAVE_CONF_DEFAULT_PAGER%|\"${DEFAULT_PAGER}\"|" \ + -e "s|%OCTAVE_CONF_DEPEND_FLAGS%|\"${DEPEND_FLAGS}\"|" \ + -e "s|%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%|\"${DEPEND_EXTRA_SED_PATTERN}\"|" \ + -e "s|%OCTAVE_CONF_DL_LD%|\"${DL_LD}\"|" \ + -e "s|%OCTAVE_CONF_DL_LDFLAGS%|\"${DL_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_DL_LIBS%|\"${DL_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_EXEEXT%|\"${EXEEXT}\"|" \ + -e "s|%OCTAVE_CONF_F77%|\"${F77}\"|" \ + -e "s|%OCTAVE_CONF_F77_FLOAT_STORE_FLAG%|\"${F77_FLOAT_STORE_FLAG}\"|" \ + -e "s|%OCTAVE_CONF_F77_INTEGER_8_FLAG%|\"${F77_INTEGER_8_FLAG}\"|" \ + -e "s|%OCTAVE_CONF_FC%|\"${FC}\"|" \ + -e "s|%OCTAVE_CONF_FFLAGS%|\"${FFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3_CPPFLAGS%|\"${FFTW3_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3_LDFLAGS%|\"${FFTW3_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3_LIBS%|\"${FFTW3_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3F_CPPFLAGS%|\"${FFTW3F_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3F_LDFLAGS%|\"${FFTW3F_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_FFTW3F_LIBS%|\"${FFTW3F_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_FLIBS%|\"${FLIBS}\"|" \ + -e "s|%OCTAVE_CONF_FPICFLAG%|\"${FPICFLAG}\"|" \ + -e "s|%OCTAVE_CONF_FT2_LIBS%|\"${FT2_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_GLPK_CPPFLAGS%|\"${GLPK_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_GLPK_LDFLAGS%|\"${GLPK_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_GLPK_LIBS%|\"${GLPK_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_GNUPLOT%|\"${GNUPLOT}\"|" \ + -e "s|%OCTAVE_CONF_GRAPHICS_LIBS%|\"${GRAPHICS_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_HDF5_CPPFLAGS%|\"${HDF5_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_HDF5_LDFLAGS%|\"${HDF5_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_HDF5_LIBS%|\"${HDF5_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_INCFLAGS%|\"${INCFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_INCLUDEDIR%|\"${includedir}\"|" \ + -e "s|%OCTAVE_CONF_LAPACK_LIBS%|\"${LAPACK_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_LD_CXX%|\"${LD_CXX}\"|" \ + -e "s|%OCTAVE_CONF_LDFLAGS%|\"${LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_LD_STATIC_FLAG%|\"${LD_STATIC_FLAG}\"|" \ + -e "s|%OCTAVE_CONF_LEX%|\"${LEX}\"|" \ + -e "s|%OCTAVE_CONF_LEXLIB%|\"${LEXLIB}\"|" \ + -e "s|%OCTAVE_CONF_LFLAGS%|\"${LFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_LIBCRUFT%|\"${LIBCRUFT}\"|" \ + -e "s|%OCTAVE_CONF_LIBDIR%|\"${libdir}\"|" \ + -e "s|%OCTAVE_CONF_LIBEXT%|\"${LIBEXT}\"|" \ + -e "s|%OCTAVE_CONF_LIBFLAGS%|\"${LIBFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_LIBOCTAVE%|\"${LIBOCTAVE}\"|" \ + -e "s|%OCTAVE_CONF_LIBOCTINTERP%|\"${LIBOCTINTERP}\"|" \ + -e "s|%OCTAVE_CONF_LIBS%|\"${LIBS}\"|" \ + -e "s|%OCTAVE_CONF_LN_S%|\"${LN_S}\"|" \ + -e "s|%OCTAVE_CONF_MAGICK_CPPFLAGS%|\"${MAGICK_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_MAGICK_LDFLAGS%|\"${MAGICK_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_MAGICK_LIBS%|\"${MAGICK_LIBS}\"|" \ + -e 's|%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%|\"@MKOCTFILE_DL_LDFLAGS@\"|' \ + -e "s|%OCTAVE_CONF_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ + -e "s|%OCTAVE_CONF_OCTLIBDIR%|\"${octlibdir}\"|" \ + -e "s|%OCTAVE_CONF_OPENGL_LIBS%|\"${OPENGL_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_PREFIX%|\"${prefix}\"|" \ + -e "s|%OCTAVE_CONF_PTHREAD_CFLAGS%|\"${PTHREAD_CFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_PTHREAD_LIBS%|\"${PTHREAD_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_QHULL_CPPFLAGS%|\"${QHULL_CPPFLAGSS}\"|" \ + -e "s|%OCTAVE_CONF_QHULL_LDFLAGS%|\"${QHULL_LDFLAGSS}\"|" \ + -e "s|%OCTAVE_CONF_QHULL_LIBS%|\"${QHULL_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_QRUPDATE_CPPFLAGS%|\"${QRUPDATE_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_QRUPDATE_LDFLAGS%|\"${QRUPDATE_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_QRUPDATE_LIBS%|\"${QRUPDATE_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_RANLIB%|\"${RANLIB}\"|" \ + -e "s|%OCTAVE_CONF_RDYNAMIC_FLAG%|\"${RDYNAMIC_FLAG}\"|" \ + -e "s|%OCTAVE_CONF_READLINE_LIBS%|\"${READLINE_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_REGEX_LIBS%|\"${REGEX_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_RLD_FLAG%|\"${RLD_FLAG}\"|" \ + -e "s|%OCTAVE_CONF_SED%|\"${SED}\"|" \ + -e "s|%OCTAVE_CONF_SHARED_LIBS%|\"${SHARED_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_SHLEXT%|\"${SHLEXT}\"|" \ + -e "s|%OCTAVE_CONF_SHLLINKEXT%|\"${SHLLINKEXT}\"|" \ + -e "s|%OCTAVE_CONF_SHLEXT_VER%|\"${SHLEXT_VER}\"|" \ + -e "s|%OCTAVE_CONF_SH_LD%|\"${SH_LD}\"|" \ + -e "s|%OCTAVE_CONF_SH_LDFLAGS%|\"${SH_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_SONAME_FLAGS%|\"${SONAME_FLAGS}\"|" \ + -e "s|%OCTAVE_CONF_STATIC_LIBS%|\"${STATIC_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_TERM_LIBS%|\"${TERM_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_UGLY_DEFS%|\"${UGLY_DEFS}\"|" \ + -e "s|%OCTAVE_CONF_UMFPACK_CPPFLAGS%|\"${UMFPACK_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_UMFPACK_LDFLAGS%|\"${UMFPACK_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_UMFPACK_LIBS%|\"${UMFPACK_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_USE_64_BIT_IDX_T%|\"${USE_64_BIT_IDX_T}\"|" \ + -e "s|%OCTAVE_CONF_VERSION%|\"${version}\"|" \ + -e "s|%OCTAVE_CONF_ENABLE_DYNAMIC_LINKING%|\"${ENABLE_DYNAMIC_LINKING}\"|" \ + -e "s|%OCTAVE_CONF_X11_INCFLAGS%|\"${X11_INCFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_X11_LIBS%|\"${X11_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_XTRA_CFLAGS%|\"${XTRA_CFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_XTRA_CXXFLAGS%|\"${XTRA_CXXFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_YACC%|\"${YACC}\"|" \ + -e "s|%OCTAVE_CONF_YFLAGS%|\"${YFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_Z_CPPFLAGS%|\"${Z_CPPFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_Z_LDFLAGS%|\"${Z_LDFLAGS}\"|" \ + -e "s|%OCTAVE_CONF_Z_LIBS%|\"${Z_LIBS}\"|" \ + -e "s|%OCTAVE_CONF_config_opts%|\"${config_opts}\"|" | \ + $(SED) -e "s|%OCTAVE_CONF_DEFS%|\"${UGLY_DEFS}\"|" > $@-t +$(simple_move_if_change_rule) +endef + +define do_subst_default_vals +echo "making $@ from $<" +$(SED) < $< > $@-t \ + -e "s|%OCTAVE_ARCHLIBDIR%|\"${archlibdir}\"|" \ + -e "s|%OCTAVE_BINDIR%|\"${bindir}\"|" \ + -e "s|%OCTAVE_CANONICAL_HOST_TYPE%|\"${canonical_host_type}\"|" \ + -e "s|%OCTAVE_DATADIR%|\"${datadir}\"|" \ + -e "s|%OCTAVE_DATAROOTDIR%|\"${datarootdir}\"|" \ + -e "s|%OCTAVE_DEFAULT_PAGER%|\"${DEFAULT_PAGER}\"|" \ + -e "s|%OCTAVE_DOC_CACHE_FILE%|\"${doc_cache_file}\"|" \ + -e "s|%OCTAVE_EXEC_PREFIX%|\"${exec_prefix}\"|" \ + -e "s|%OCTAVE_FCNFILEDIR%|\"${fcnfiledir}\"|" \ + -e "s|%OCTAVE_IMAGEDIR%|\"${imagedir}\"|" \ + -e "s|%OCTAVE_INCLUDEDIR%|\"${includedir}\"|" \ + -e "s|%OCTAVE_INFODIR%|\"${infodir}\"|" \ + -e "s|%OCTAVE_INFOFILE%|\"${infofile}\"|" \ + -e "s|%OCTAVE_LIBDIR%|\"${libdir}\"|" \ + -e "s|%OCTAVE_LIBEXECDIR%|\"${libexecdir}\"|" \ + -e "s|%OCTAVE_LOCALAPIFCNFILEDIR%|\"${localapifcnfiledir}\"|" \ + -e "s|%OCTAVE_LOCALAPIOCTFILEDIR%|\"${localapioctfiledir}\"|" \ + -e "s|%OCTAVE_LOCALARCHLIBDIR%|\"${localarchlibdir}\"|" \ + -e "s|%OCTAVE_LOCALFCNFILEDIR%|\"${localfcnfiledir}\"|" \ + -e "s|%OCTAVE_LOCALOCTFILEDIR%|\"${localoctfiledir}\"|" \ + -e "s|%OCTAVE_LOCALSTARTUPFILEDIR%|\"${localstartupfiledir}\"|" \ + -e "s|%OCTAVE_LOCALAPIARCHLIBDIR%|\"${localapiarchlibdir}\"|" \ + -e "s|%OCTAVE_LOCALVERARCHLIBDIR%|\"${localverarchlibdir}\"|" \ + -e "s|%OCTAVE_LOCALVERFCNFILEDIR%|\"${localverfcnfiledir}\"|" \ + -e "s|%OCTAVE_LOCALVEROCTFILEDIR%|\"${localveroctfiledir}\"|" \ + -e "s|%OCTAVE_MAN1DIR%|\"${man1dir}\"|" \ + -e "s|%OCTAVE_MAN1EXT%|\"${man1ext}\"|" \ + -e "s|%OCTAVE_MANDIR%|\"${mandir}\"|" \ + -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \ + -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ + -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ + -e "s|%OCTAVE_OCTLIBDIR%|\"${octlibdir}\"|" \ + -e "s|%OCTAVE_STARTUPFILEDIR%|\"${startupfiledir}\"|" \ + -e "s|%OCTAVE_PREFIX%|\"${prefix}\"|" \ + -e "s|%OCTAVE_API_VERSION%|\"${api_version}\"|" \ + -e "s|%OCTAVE_RELEASE%|\"${OCTAVE_RELEASE}\"|" \ + -e "s|%OCTAVE_VERSION%|\"${version}\"|" +$(simple_move_if_change_rule) +endef + +define do_subst_script_vals +echo "making $@ from $<" +$(SED) < $< \ + -e "s|%AWK%|${AWK}|g" \ + -e "s|%FIND%|${FIND}|g" \ + -e "s|%SED%|${SED}|g" \ + -e "s|%library_path_var%|${library_path_var}|g" \ + -e "s|%liboctinterp%|${SHLPRE}octinterp.${SHLEXT}|g" \ + -e "s|%liboctave%|${SHLPRE}octave.${SHLEXT}|g" \ + -e "s|%libcruft%|${SHLPRE}cruft.${SHLEXT}|g" \ + -e "s|%ldpreloadsep%|${ldpreloadsep}|g" \ + -e "s|%srcdir%|${srcdir}|" \ + -e "s|%top_srcdir%|${top_srcdir}|" \ + -e "s|%abs_top_srcdir%|${abs_top_srcdir}|" \ + -e "s|%builddir%|$(shell pwd)|" > $@-t +$(simple_move_if_change_rule) +endef + +define do_script_install +$(top_srcdir)/build-aux/mkinstalldirs $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) +for f in $(FCN_FILES); do \ + fbase=`basename $$f`; \ + rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$fbase; \ + $(INSTALL_DATA) $$f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$fbase; \ +done +$(top_srcdir)/mkpkgadd $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) > $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t +if [ -n "`cat $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t`" ]; then \ + $(INSTALL_DATA) $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD ; \ +else \ + rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t ; \ +fi +endef + +define do_script_uninstall +for f in $(FCN_FILES_NO_DIR); \ + do rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$f; \ +done +rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD +-rmdir $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) +endef diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/diff-template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/diff-template Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,59 @@ +#!/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, and *.info* files are not included +# because they can be recreated from the Texinfo files using TeX and +# makeinfo. +# +# 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. +# +# Diffs for updating the configure script are not included because +# it can be recreated from configure.in using autoconf. +# +# John W. Eaton +# jwe@octave.org + +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 + +echo 'removing the bsd-math directory' +rm -rf bsd-math + +echo 'creating libcruft/slatec-fn directory' +mkdir libcruft/slatec-fn + +echo 'removing old test files' +rm -f test/octave.test/index.exp +rm -f test/octave.test/prefer.exp +rm -f test/octave.test/zero-one.exp + +echo 'creating directories for new test files' +mkdir test/octave.test/index/dfi-f +mkdir test/octave.test/index/dfi-t +mkdir test/octave.test/prefer +mkdir test/octave.test/zero-one/fff +mkdir test/octave.test/zero-one/fft +mkdir test/octave.test/zero-one/ftf +mkdir test/octave.test/zero-one/tff +mkdir test/octave.test/zero-one/ftt +mkdir test/octave.test/zero-one/tft +mkdir test/octave.test/zero-one/ttf +mkdir test/octave.test/zero-one/ttt + +echo 'patching existing files' +patch -p1 << \PATCH_EOF +PATCH_EOF diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/mk-opts.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/mk-opts.pl Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,1076 @@ +#! /usr/bin/perl -w +# +# Copyright (C) 2002-2011 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 +# . + +# Generate option handling code from a simpler input files for +# Octave's functions like lsode, dassl, etc. + +# FIXME: +# +# * Improve default documentation and/or individual documentation +# in data files. +# +# * Fix print/show code to display/return something more informative +# for special values (for example, -1 ==> infinite in some cases). +# Probably need more information in the data files for this. + +# Input file format: +# +# CLASS = string +# FCN_NAME = string +# INCLUDE = file +# DOC_STRING doc END_DOC_STRING +# OPTION +# NAME = string +# DOC_ITEM doc END_DOC_ITEM +# TYPE = string +# SET_ARG_TYPE = string (optional, defaults to TYPE) +# INIT_VALUE = string | INIT_BODY code END_INIT_BODY +# SET_EXPR = string | SET_BODY code END_SET_BODY | SET_CODE code END_SET_CODE +# END_OPTION +# +# END_* must appear at beginning of line (whitespace ignored). + +################################################################################ +# Load packages to +# 1) process command line options +################################################################################ +use Getopt::Long; + +################################################################################ +# Extract command line arguments +&parse_options; + +$DEFN_FILE = shift @ARGV; +open (DEFN_FILE) or die "unable to open input definition file $DEFN_FILE"; + +################################################################################ +# Initialize variables +$BLANK_LINE = qr/^\s*$/; +$COMMENT = qr/^\s*#/; + +################################################################################ +# Process file +$OPT_NUM = 0; + +&parse_input; + +&process_data; + +# Produce desired style of output +&emit_opt_class_header if $opt_class_header; +&emit_opt_handler_fcns if $opt_handler_fcns; +&emit_options_debug if $opt_debug; + +# End of main code + +################################################################################ +# Subroutines +################################################################################ + +sub parse_input +{ + LINE: while () + { + next LINE if /$BLANK_LINE/; + next LINE if /$COMMENT/; + + if (/^\s*OPTION\s*$/) + { + &parse_option_block; + } + elsif (/^\s*CLASS\s*=\s*"(\w+)"\s*$/) + { + die "duplicate CLASS" if defined $CLASS; + $CLASS = $1; + $CLASS_NAME = "${CLASS}_options"; + $STRUCT_NAME = "${CLASS_NAME}_struct"; + $STATIC_TABLE_NAME = "${CLASS_NAME}_table"; + } + elsif (/^\s*FCN_NAME\s*=\s*"(\w+)"\s*$/) + { + die "duplicate FCN_NAME" if defined $FCN_NAME; + $FCN_NAME = $1; + } + elsif (/^\s*INCLUDE\s*=\s*"(\S+)"\s*$/) + { + $INCLUDE .= "#include <$1>\n"; + } + elsif (/^\s*DOC_STRING\s*$/) + { + die "duplicate DOC_STRING" if defined $DOC_STRING; + while (defined ($_ = ) and not /^\s*END_DOC_STRING\s*$/) + { + $DOC_STRING .= $_; + } + $DOC_STRING =~ s/\n/\\n\\\n/g; + } + else + { + die "mk-opts.pl: unknown command: $_\n" + } + } + $INCLUDE = "" if not defined $INCLUDE; # Initialize value if required +} + +sub parse_option_block +{ + while () + { + next if /$BLANK_LINE/; + + die "missing END_OPTION" if /^\s*OPTION\s*$/; + + last if /^\s*END_OPTION\s*$/; + + if (/^\s*NAME\s*=\s*"(.*)"\s*$/) + { + die "duplicate NAME" if defined $NAME[$OPT_NUM]; + $NAME[$OPT_NUM] = $1; + ($OPT[$OPT_NUM] = $NAME[$OPT_NUM]) =~ s/\s+/_/g; + $OPTVAR[$OPT_NUM] = 'x_' . $OPT[$OPT_NUM]; + $KW_TOK[$OPT_NUM] = [ split (' ', $NAME[$OPT_NUM]) ]; + $N_TOKS[$OPT_NUM] = @{$KW_TOK[$OPT_NUM]}; + } + elsif (/^\s*DOC_ITEM\s*$/) + { + die "duplicate DOC_ITEM" if defined $DOC_ITEM[$OPT_NUM]; + while (defined ($_ = ) and not /^\s*END_DOC_ITEM\s*$/) + { + $DOC_ITEM[$OPT_NUM] .= $_; + } + $DOC_ITEM[$OPT_NUM] =~ s/\n/\\n\\\n/g; + } + elsif (/^\s*TYPE\s*=\s*"(.*)"\s*$/) + { + die "duplicate TYPE" if defined $TYPE[$OPT_NUM]; + $TYPE[$OPT_NUM] = $1; + } + elsif (/^\s*SET_ARG_TYPE\s*=\s*"(.*)"\s*$/) + { + die "duplicate SET_ARG_TYPE" if defined $SET_ARG_TYPE[$OPT_NUM]; + $SET_ARG_TYPE[$OPT_NUM] = $1; + } + elsif (/^\s*INIT_VALUE\s*=\s*"(.*)"\s*$/) + { + die "duplicate INIT_VALUE" if defined $INIT_VALUE[$OPT_NUM]; + $INIT_VALUE[$OPT_NUM] = $1; + } + elsif (/^\s*SET_EXPR\s*=\s*"(.*)"\s*$/) + { + die "duplicate SET_EXPR" if defined $SET_EXPR[$OPT_NUM]; + $SET_EXPR[$OPT_NUM] = $1; + } + elsif (/^\s*INIT_BODY\s*$/) + { + die "duplicate INIT_BODY" if defined $INIT_BODY[$OPT_NUM]; + while (defined ($_ = ) and not /^\s*END_INIT_BODY\s*$/) + { + $INIT_BODY[$OPT_NUM] .= $_; + } + } + elsif (/^\s*SET_BODY\s*$/) + { + die "duplicate SET_BODY" if defined $INIT_BODY[$OPT_NUM]; + while (defined ($_ = ) and not /^\s*END_SET_BODY\s*$/) + { + $SET_BODY[$OPT_NUM] .= $_; + } + } + elsif (/^\s*SET_CODE\s*$/) + { + die "duplicate SET_CODE" if defined $SET_CODE[$OPT_NUM]; + while (defined ($_ = ) and not /^\s*END_SET_CODE\s*$/) + { + $SET_CODE[$OPT_NUM] .= $_; + } + } + } + + if (not defined $SET_ARG_TYPE[$OPT_NUM]) + { + $SET_ARG_TYPE[$OPT_NUM] = $TYPE[$OPT_NUM]; + } + else + { + $SET_ARG_TYPE[$OPT_NUM] + = substopt ($SET_ARG_TYPE[$OPT_NUM], $OPTVAR[$OPT_NUM], + $OPT[$OPT_NUM], $TYPE[$OPT_NUM]); + } + + $OPT_NUM++; +} + +sub process_data +{ + $MAX_TOKENS = max (@N_TOKS); + + &get_min_match_len_info; + + $FCN_NAME = lc ($CLASS) if not defined $FCN_NAME; + + $OPT_FCN_NAME = "${FCN_NAME}_options" if not defined $OPT_FCN_NAME; + + $STATIC_OBJECT_NAME = "${FCN_NAME}_opts"; + + if (not defined $DOC_STRING) + { + $DOC_STRING = "Query or set options for the function \@code{$FCN_NAME}.\\n\\ +When called with no arguments, the names of all available options and\\n\\ +their current values are displayed.\\n\\ +Given one argument, return the value of the corresponding option.\\n\\ +When called with two arguments, \@code{$OPT_FCN_NAME} set the option\\n\\ +\@var{opt} to value \@var{val}."; + } +} + +#FIXME: What does this routine do? And can it be simpler to understand? +sub get_min_match_len_info +{ + my ($i, $j, $k); + + for ($i = 0; $i < $OPT_NUM; $i++) + { + for ($j = 0; $j < $MAX_TOKENS; $j++) + { + $MIN_TOK_LEN_TO_MATCH[$i][$j] = 0; + } + + $MIN_TOKS_TO_MATCH[$i] = 1; + + L1: for ($k = 0; $k < $OPT_NUM; $k++) + { + my $duplicate = 1; + + if ($i != $k) + { + L2: for ($j = 0; $j < $MAX_TOKENS; $j++) + { + if ($j < $N_TOKS[$i]) + { + if ($KW_TOK[$i][$j] eq $KW_TOK[$k][$j]) + { + if ($MIN_TOK_LEN_TO_MATCH[$i][$j] == 0) + { + $MIN_TOK_LEN_TO_MATCH[$i][$j] = 1; + } + + $MIN_TOKS_TO_MATCH[$i]++; + } + else + { + $duplicate = 0; + + if ($MIN_TOK_LEN_TO_MATCH[$i][$j] == 0) + { + $MIN_TOK_LEN_TO_MATCH[$i][$j] = 1; + } + + my @s = split (//, $KW_TOK[$i][$j]); + my @t = split (//, $KW_TOK[$k][$j]); + + my ($n, $ii); + $n = scalar (@s); + $n = scalar (@t) if (@t < $n); + + for ($ii = 0; $ii < $n; $ii++) + { + if ("$s[$ii]" eq "$t[$ii]") + { + if ($ii + 2 > $MIN_TOK_LEN_TO_MATCH[$i][$j]) + { + $MIN_TOK_LEN_TO_MATCH[$i][$j]++; + } + } + else + { + last L2; + } + } + + last L1; + } + } + else + { + die qq|ambiguous options "$NAME[$i]" and "$NAME[$k]"| if $duplicate; + } + } + } + } + } +} # end of get_min_match_len_info + + +sub emit_copy_body +{ + my ($pfx, $var) = @_; + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + print "${pfx}$OPTVAR[$i] = ${var}.$OPTVAR[$i];\n"; + } + + print "${pfx}reset = ${var}.reset;\n"; +} + +## To silence GCC warnings, we create an initialization list even +## though the init function actually does the work of initialization. + +sub emit_default_init_list +{ + my ($prefix) = @_; + + print "$OPTVAR[0] (),\n" unless ($OPT_NUM == 0); + + for (my $i = 1; $i < $OPT_NUM; $i++) + { + print "${prefix}$OPTVAR[$i] (),\n"; + } + + print "${prefix}reset ()\n"; +} + +sub emit_copy_ctor_init_list +{ + my ($prefix, $var) = @_; + + print "$OPTVAR[0] ($var.$OPTVAR[0]),\n" unless ($OPT_NUM == 0); + + for (my $i = 1; $i < $OPT_NUM; $i++) + { + print "${prefix}$OPTVAR[$i] ($var.$OPTVAR[$i]),\n"; + } + + print "${prefix}reset ($var.reset)\n"; +} + +sub emit_opt_class_header +{ + my ($i, $s); + + print <<"_END_EMIT_OPT_CLASS_HEADER_"; +// DO NOT EDIT! +// Generated automatically from $DEFN_FILE. + +#if !defined (octave_${CLASS_NAME}_h) +#define octave_${CLASS_NAME}_h 1 + +#include +#include + +$INCLUDE + +class +$CLASS_NAME +{ +public: + + $CLASS_NAME (void) +_END_EMIT_OPT_CLASS_HEADER_ + + print ' : '; + emit_default_init_list (" "); + + print " { + init (); + } + + $CLASS_NAME (const ${CLASS_NAME}& opt) + : "; + + emit_copy_ctor_init_list (" ", "opt"); + + print " { } + + ${CLASS_NAME}& operator = (const ${CLASS_NAME}& opt) + { + if (this != &opt) + {\n"; + + emit_copy_body (' ', 'opt'); + + print " } + + return *this; + } + + ~$CLASS_NAME (void) { }\n"; + + print "\n void init (void)\n {\n"; + + for ($i = 0; $i < $OPT_NUM; $i++) + { + if ($INIT_VALUE[$i]) + { + print " $OPTVAR[$i] = $INIT_VALUE[$i];\n"; + } + elsif ($INIT_BODY[$i]) + { + $s = substopt ($INIT_BODY[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); + chomp ($s); + $s =~ s/^\s*/ /g; + $s =~ s/\n\s*/\n /g; + print $s,"\n"; + } + } + + print " reset = true;\n", + " }\n"; + + ## For backward compatibility and because set_options is probably + ## a better name in some contexts: + + print "\n void set_options (const ${CLASS_NAME}& opt)\n", + " {\n"; + + emit_copy_body (' ', 'opt'); + + print " }\n\n void set_default_options (void) { init (); }\n"; + + for ($i = 0; $i < $OPT_NUM; $i++) + { + if ($SET_EXPR[$i]) + { + emit_set_decl ($i); + + print "\n { $OPTVAR[$i] = $SET_EXPR[$i]; reset = true; }\n"; + } + elsif ($SET_BODY[$i]) + { + emit_set_decl ($i); + + $s = substopt ($SET_BODY[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); + chomp ($s); + $s = ' ' . $s; + $s =~ s/\n/\n /g; + print "\n {\n$s\n reset = true;\n }\n"; + } + elsif ($SET_CODE[$i]) + { + $s = substopt ($SET_CODE[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); + chomp ($s); + $s =~ s/^ //g; + $s =~ s/\n /\n/g; + print "\n",$s,"\n"; + } + } + + for ($i = 0; $i < $OPT_NUM; $i++) + { + print " $TYPE[$i] $OPT[$i] (void) const\n { return $OPTVAR[$i]; }\n\n"; + } + + print "private:\n\n"; + + for ($i = 0; $i < $OPT_NUM; $i++) + { + print " $TYPE[$i] $OPTVAR[$i];\n"; + } + + print "\nprotected:\n\n bool reset;\n};\n\n#endif\n"; +} + +sub emit_set_decl +{ + my ($i) = @_; + + print "\n void set_$OPT[$i] ($SET_ARG_TYPE[$i] val)"; +} + +sub emit_opt_handler_fcns +{ + my $header = $DEFN_FILE; + $header =~ s/[.]\w*$/.h/; # replace .in with .h + $header =~ s|^.*/([^/]*)$|$1|; # strip directory part + + print <<"_END_EMIT_OPT_HANDLER_FCNS_"; +// DO NOT EDIT! +// Generated automatically from $DEFN_FILE. + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include + +#include "$header" + +#include "defun-dld.h" +#include "pr-output.h" + +#include "oct-obj.h" +#include "utils.h" +#include "pager.h" + +static $CLASS_NAME $STATIC_OBJECT_NAME; + +_END_EMIT_OPT_HANDLER_FCNS_ + + &emit_struct_decl; + + &emit_struct_def; + + &emit_print_function; + + &emit_set_functions; + + &emit_show_function; + + &emit_options_function; +} + +sub emit_struct_decl +{ + print <<"_END_PRINT_STRUCT_DECL_"; +#define MAX_TOKENS $MAX_TOKENS + +struct $STRUCT_NAME +{ + const char *keyword; + const char *kw_tok[MAX_TOKENS + 1]; + int min_len[MAX_TOKENS + 1]; + int min_toks_to_match; +}; + +_END_PRINT_STRUCT_DECL_ +} + +sub emit_struct_def +{ + my $i; + + print "#define NUM_OPTIONS $OPT_NUM\n\n"; + + print "static $STRUCT_NAME $STATIC_TABLE_NAME [] =\n{\n"; + + for ($i = 0; $i < ($OPT_NUM - 1); $i++) + { + emit_option_table_entry ($i, 0); + print "\n"; + } + emit_option_table_entry ($i, 0); + + print "};\n\n"; +} + +sub emit_option_table_entry +{ + my ($i, $empty) = @_; + + my $k; + + if ($empty) + { + print " { 0,\n"; + } + else + { + print " { \"$NAME[$i]\",\n"; + } + + my $n = scalar $#{$KW_TOK[$i]}; + print " {"; + for $k (0 .. $MAX_TOKENS) + { + if ($empty or $k > $n) + { + print " 0,"; + } + else + { + print " \"$KW_TOK[$i][$k]\","; + } + } + print " },\n"; + + print " {"; + for $k (0 .. $MAX_TOKENS) + { + if ($empty or $k > $n) + { + print " 0,"; + } + else + { + print " $MIN_TOK_LEN_TO_MATCH[$i][$k],"; + } + } + print " }, $MIN_TOKS_TO_MATCH[$i], "; + + print "},\n"; +} + +sub emit_print_function +{ + ## FIXME -- determine the width of the table automatically. + + print qq|static void +print_$CLASS_NAME (std::ostream& os) +{ + std::ostringstream buf; + + os << "\\n" + << "Options for $CLASS include:\\n\\n" + << " keyword value\\n" + << " ------- -----\\n"; + + $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n|; + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + print qq| {\n os << " " + << std::setiosflags (std::ios::left) << std::setw (50) + << list[$i].keyword + << std::resetiosflags (std::ios::left) + << " ";\n\n|; + + if ($TYPE[$i] eq "double") + { + print qq| double val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| os << val << "\\n";\n|; + } + elsif ($TYPE[$i] eq "float") + { + print qq| float val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| os << val << "\\n";\n|; + } + elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") + { + print qq| int val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| os << val << "\\n";\n|; + } + elsif ($TYPE[$i] eq "std::string") + { + print qq| os << $STATIC_OBJECT_NAME.$OPT[$i] () << "\\n";\n|; + } + elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") + { + my $elt_type; + if ($TYPE[$i] eq "Array") + { + $elt_type = "int"; + } + else + { + $elt_type = "octave_idx_type"; + } + print qq| Array<$elt_type> val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| if (val.length () == 1) + { + os << val(0) << "\\n"; + } + else + { + os << "\\n\\n"; + octave_idx_type len = val.length (); + Matrix tmp (len, 1); + for (octave_idx_type i = 0; i < len; i++) + tmp(i,0) = val(i); + octave_print_internal (os, tmp, false, 2); + os << "\\n\\n"; + }\n|; + } + elsif ($TYPE[$i] eq "Array") + { + print qq| Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| if (val.length () == 1) + { + os << val(0) << "\\n"; + } + else + { + os << "\\n\\n"; + Matrix tmp = Matrix (ColumnVector (val)); + octave_print_internal (os, tmp, false, 2); + os << "\\n\\n"; + }\n|; + } + elsif ($TYPE[$i] eq "Array") + { + print qq| Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; + print qq| if (val.length () == 1) + { + os << val(0) << "\\n"; + } + else + { + os << "\\n\\n"; + FloatMatrix tmp = FloatMatrix (FloatColumnVector (val)); + octave_print_internal (os, tmp, false, 2); + os << "\\n\\n"; + }\n|; + } + else + { + die ("unknown type $TYPE[$i]"); + } + + print " }\n\n"; + } + + print qq| os << "\\n";\n}\n\n|; +} + +sub emit_set_functions +{ + print "static void +set_$CLASS_NAME (const std::string& keyword, const octave_value& val) +{ + $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n"; + + my $iftok = "if"; + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + $iftok = "else if" if ($i > 0); + + print " $iftok (keyword_almost_match (list[$i].kw_tok, list[$i].min_len, + keyword, list[$i].min_toks_to_match, MAX_TOKENS)) + {\n"; + + if ($TYPE[$i] eq "double") + { + print " double tmp = val.double_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "float") + { + print " float tmp = val.float_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") + { + print " int tmp = val.int_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "std::string") + { + print " std::string tmp = val.string_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") + { + print " Array tmp = val.int_vector_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "Array") + { + print " Array tmp = val.vector_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + elsif ($TYPE[$i] eq "Array") + { + print " Array tmp = val.float_vector_value ();\n\n"; + print " if (! error_state) + $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; + } + else + { + die ("unknown type $TYPE[$i]"); + } + + print " }\n"; + } + + print qq| else + { + warning ("$OPT_FCN_NAME: no match for `%s'", keyword.c_str ()); + } +}\n\n|; +} + +sub emit_show_function +{ + print "static octave_value_list +show_$CLASS_NAME (const std::string& keyword) +{ + octave_value retval; + + $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n"; + + my $iftok = "if"; + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + $iftok = "else if" if ($i > 0); + + print " $iftok (keyword_almost_match (list[$i].kw_tok, list[$i].min_len, + keyword, list[$i].min_toks_to_match, MAX_TOKENS)) + {\n"; + + if ($TYPE[$i] eq "double") + { + print " double val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " retval = val;\n"; + } + elsif ($TYPE[$i] eq "float") + { + print " float val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " retval = val;\n"; + } + elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") + { + print " int val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " retval = static_cast (val);\n"; + } + elsif ($TYPE[$i] eq "std::string") + { + print " retval = $STATIC_OBJECT_NAME.$OPT[$i] ();\n"; + } + elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") + { + my $elt_type; + if ($TYPE[$i] eq "Array") + { + $elt_type = "int"; + } + else + { + $elt_type = "octave_idx_type"; + } + print " Array<$elt_type> val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " if (val.length () == 1) + { + retval = static_cast (val(0)); + } + else + { + octave_idx_type len = val.length (); + ColumnVector tmp (len); + for (octave_idx_type i = 0; i < len; i++) + tmp(i) = val(i); + retval = tmp; + }\n"; + } + elsif ($TYPE[$i] eq "Array") + { + print " Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " if (val.length () == 1) + { + retval = val(0); + } + else + { + retval = ColumnVector (val); + }\n"; + } + elsif ($TYPE[$i] eq "Array") + { + print " Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; + print " if (val.length () == 1) + { + retval = val(0); + } + else + { + retval = FloatColumnVector (val); + }\n"; + } + else + { + die ("unknown type $TYPE[$i]"); + } + + print " }\n"; + } + + print qq| else + { + warning ("$OPT_FCN_NAME: no match for `%s'", keyword.c_str ()); + } + + return retval;\n}\n\n|; +} + +sub emit_options_function +{ + print <<"_END_EMIT_OPTIONS_FUNCTION_HDR_"; +DEFUN_DLD ($OPT_FCN_NAME, args, , + "-*- texinfo -*-\\n\\ +\@deftypefn {Loadable Function} {} $OPT_FCN_NAME ()\\n\\ +\@deftypefnx {Loadable Function} {val =} $OPT_FCN_NAME (\@var{opt})\\n\\ +\@deftypefnx {Loadable Function} {} $OPT_FCN_NAME (\@var{opt}, \@var{val})\\n\\ +$DOC_STRING\\n\\ +\\n\\ +Options include\\n\\ +\\n\\ +\@table \@code\\n\\ +_END_EMIT_OPTIONS_FUNCTION_HDR_ +# FIXME: Add extra newline above + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + print '@item \"', $NAME[$i], '\"\n\\', "\n"; + print $DOC_ITEM[$i] if $DOC_ITEM[$i]; + } + + print <<"_END_EMIT_OPTIONS_FUNCTION_BODY_"; +\@end table\\n\\ +\@end deftypefn") +{ + octave_value_list retval; + + int nargin = args.length (); + + if (nargin == 0) + { + print_$CLASS_NAME (octave_stdout); + } + else if (nargin == 1 || nargin == 2) + { + std::string keyword = args(0).string_value (); + + if (! error_state) + { + if (nargin == 1) + retval = show_$CLASS_NAME (keyword); + else + set_$CLASS_NAME (keyword, args(1)); + } + else + error ("$OPT_FCN_NAME: expecting keyword as first argument"); + } + else + print_usage (); + + return retval; +} +_END_EMIT_OPTIONS_FUNCTION_BODY_ + +} + +sub emit_options_debug +{ + print qq|CLASS = "$CLASS"\n|; + + for (my $i = 0; $i < $OPT_NUM; $i++) + { + print "\nOPTION\n"; + print qq| NAME = "$NAME[$i]"\n|; + print qq| TYPE = "$TYPE[$i]"\n|; + if ($SET_ARG_TYPE[$i]) + { + print eval ("\" SET_ARG_TYPE = \\\"$SET_ARG_TYPE[$i]\\\"\"") . "\n"; + } + if ($INIT_VALUE[$i]) + { + print qq| INIT_VALUE = "$INIT_VALUE[$i]"\n|; + } + if ($INIT_BODY[$i]) + { + print " INIT_BODY\n"; + print &substopt ($INIT_BODY[$i]); + print " END_INIT_BODY\n"; + } + if ($SET_EXPR[$i]) + { + print qq| SET_EXPR = "$SET_EXPR[$i]"\n|; + } + if ($SET_BODY[$i]) + { + print " SET_BODY\n"; + print &substopt ($SET_BODY[$i]); + print " END_SET_BODY\n"; + } + if ($SET_CODE[$i]) + { + print " SET_CODE\n"; + print &substopt ($SET_CODE[$i]); + print " END_SET_CODE\n"; + } + print "END_OPTION\n"; + } +} + +sub substopt +{ + my ($string, $optvar, $opt, $type) = @_; + + $string =~ s/\$OPTVAR/$optvar/g; + $string =~ s/\$OPT/$opt/g; + $string =~ s/\$TYPE/$type/g; + + return $string; +} + +sub max +{ + my $max = shift; + + foreach (@_) + { + $max = $_ if $max < $_; + } + + return $max; +} + +################################################################################ +# Subroutine processes any command line arguments +################################################################################ +sub parse_options +{ + my $result; + + $opt_help = 0; + $opt_class_header = 0; + $opt_handler_fcns = 0; + $opt_debug = 0; + + $result = GetOptions ("opt-class-header" => \$opt_class_header, + "opt-handler-fcns" => \$opt_handler_fcns, + "debug" => \$opt_debug, + "help" => \$opt_help); + + # give user info if options incorrect or -h(elp) given + &usage_info if (!$result or (@ARGV != 1) or $opt_help); + if ($opt_class_header and $opt_handler_fcns) + { + die "Only one of [-opt-class-header | -opt-handler-fcns ] may be specified"; + } + +} + +################################################################################ +# Subroutine displays usage information +################################################################################ +sub usage_info +{ + warn <<_END_OF_USAGE_; +////////////////////////////////////////////////////////////////////////////// +USAGE : mk-opts.pl -opt-class-header|-opt-handler-fcns [-debug] [-help] DEFN_FILE +////////////////////////////////////////////////////////////////////////////// + +Automatically generate C++ code for option handling code (DASSL, DASRT, etc.) +from definition file. + +See the head of mk-opts.pl for a description of the format that is parsed. +_END_OF_USAGE_ + + exit(1); # exit with error code +} + diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/mkinstalldirs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/mkinstalldirs Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,162 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2009-04-28.21; # UTC + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp=$pathcomp/ + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff -r 10f6727fbaa8 -r b67c2d580a25 build-aux/move-if-change --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-aux/move-if-change Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,15 @@ +#!/bin/sh +# +# Like mv $1 $2, but if the files are the same, just delete $1. +# Status is 0 if $2 is changed, 1 otherwise. + +if test -r $2; then + if cmp $1 $2 > /dev/null; then + echo $2 is unchanged + rm -f $1 + else + mv -f $1 $2 + fi +else + mv -f $1 $2 +fi diff -r 10f6727fbaa8 -r b67c2d580a25 changelog.tmpl --- a/changelog.tmpl Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -header = '{date|shortdate} {author|person} <{author|email}>\n\n' -changeset = '\t{desc|tabindent|strip}\n\n\tFiles: {files|stringify|fill68|tabindent|strip}\n\n' diff -r 10f6727fbaa8 -r b67c2d580a25 common.mk --- a/common.mk Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,668 +0,0 @@ -AWK = @AWK@ -export AWK - -SED = @SED@ -export SED - -FIND = @FIND@ -export FIND - -PERL = @PERL@ -export PERL - -PYTHON = @PYTHON@ - -GNUPLOT = @GNUPLOT@ - -DESKTOP_FILE_INSTALL = @DESKTOP_FILE_INSTALL@ - -OCTAVE_VERSION = @OCTAVE_VERSION@ -OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ -OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ -OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ -OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ - -version = $(OCTAVE_VERSION) -api_version = $(OCTAVE_API_VERSION) - -## AM_LIBTOOLFLAGS = --silent - -#### Start of system configuration section. #### - -EXEEXT = @EXEEXT@ - -BUILD_EXEEXT = @BUILD_EXEEXT@ - -LEX = @LEX@ -AM_LFLAGS = @LFLAGS@ -LEXLIB = @LEXLIB@ - -YACC = @YACC@ -AM_YFLAGS = -dv - -GPERF = @GPERF@ - -AR = @AR@ -ARFLAGS = @ARFLAGS@ - -TEMPLATE_AR = @TEMPLATE_AR@ -TEMPLATE_ARFLAGS = @TEMPLATE_ARFLAGS@ - -RANLIB = @RANLIB@ - -LN_S = @LN_S@ - -MAKEINFO = @MAKEINFO@ -TEXI2DVI = @TEXI2DVI@ -TEXI2PDF = @TEXI2PDF@ - -GHOSTSCRIPT = @GHOSTSCRIPT@ - -DEFAULT_PAGER = @DEFAULT_PAGER@ - -ENABLE_DYNAMIC_LINKING = @ENABLE_DYNAMIC_LINKING@ - -SHLEXT = @SHLEXT@ -SHLEXT_VER = @SHLEXT_VER@ -SHLLIB = @SHLLIB@ -SHLLIB_VER = @SHLLIB_VER@ -SHLBIN = @SHLBIN@ -SHLBIN_VER = @SHLBIN_VER@ -SHLLINKEXT= - -LIBEXT = a -LIBPRE = @LIBPRE@ -SHLPRE = @SHLPRE@ -SHLLIBPRE = @SHLLIBPRE@ -SHLBINPRE = @SHLBINPRE@ - -# Fortran compiler flags. - -FC = @FC@ -F77 = @F77@ -AM_FFLAGS = @FFLAGS@ -FPICFLAG = @FPICFLAG@ -ALL_FFLAGS = $(FFLAGS) -F77_FLOAT_STORE_FLAG = @F77_FLOAT_STORE_FLAG@ -F77_INTEGER_8_FLAG = @F77_INTEGER_8_FLAG@ - -F77_TOLOWER=@F77_TOLOWER@ -F77_APPEND_UNDERSCORE=@F77_TOLOWER@ -F77_APPEND_EXTRA_UNDERSCORE=@F77_TOLOWER@ - -X11_INCFLAGS = @X11_INCFLAGS@ -X11_LIBS = @X11_LIBS@ - -CARBON_LIBS = @CARBON_LIBS@ - -MAGICK_CPPFLAGS = @MAGICK_CPPFLAGS@ -MAGICK_LDFLAGS = @MAGICK_LDFLAGS@ -MAGICK_LIBS = @MAGICK_LIBS@ - -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ - -LIBFLAGS = -L$(top_builddir) - -DEFS = @DEFS@ - -UGLY_DEFS = @UGLY_DEFS@ - -CC = @CC@ -CC_VERSION = @CC_VERSION@ -CONFIGURE_CFLAGS = @CFLAGS@ -CPICFLAG = @CPICFLAG@ -XTRA_CFLAGS = @XTRA_CFLAGS@ -WARN_CFLAGS = @WARN_CFLAGS@ -AM_CFLAGS = $(CONFIGURE_CFLAGS) \ - $(INCFLAGS) $(DEFS) $(XTRA_CFLAGS) $(WARN_CFLAGS) $(CFLAGS) $(PTHREAD_CFLAGS) -BUG_CFLAGS = $(DEFS) $(XTRA_CFLAGS) $(WARN_CFLAGS) $(CFLAGS) - -BUILD_CC = @BUILD_CC@ -BUILD_CFLAGS = @BUILD_CFLAGS@ - -DEPEND_FLAGS = @DEPEND_FLAGS@ -DEPEND_EXTRA_SED_PATTERN = @DEPEND_EXTRA_SED_PATTERN@ -INCLUDE_DEPS = @INCLUDE_DEPS@ -# ifeq ($(INCLUDE_DEPS),false) -# omit_deps = true; -# endif - -GRAPHICS_CFLAGS = @GRAPHICS_CFLAGS@ - -CXX = @CXX@ -CXX_VERSION = @CXX_VERSION@ -CXXCPP = @CXXCPP@ -CONFIGURE_CXXFLAGS = @CXXFLAGS@ -CXXPICFLAG = @CXXPICFLAG@ -XTRA_CXXFLAGS = @XTRA_CXXFLAGS@ -WARN_CXXFLAGS = @WARN_CXXFLAGS@ -AM_CXXFLAGS = $(CONFIGURE_CXXFLAGS) \ - $(INCFLAGS) $(DEFS) $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS) $(CXXFLAGS) $(PTHREAD_CFLAGS) -BUG_CXXFLAGS = $(DEFS) $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS) $(CXXFLAGS) - -BUILD_CXX = @BUILD_CXX@ -BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ - -NO_UNDEFINED_LDFLAG = @NO_UNDEFINED_LDFLAG@ - -LD_CXX = @LD_CXX@ -LD_STATIC_FLAG = @LD_STATIC_FLAG@ -#ALL_LDFLAGS = $(LIBFLAGS) $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS) - -BUILD_LDFLAGS = @BUILD_LDFLAGS@ - -SH_LD = @SH_LD@ -SH_LDFLAGS = @SH_LDFLAGS@ - -DL_LD = @DL_LD@ -DL_LDFLAGS = @DL_LDFLAGS@ - -SONAME_FLAGS = @SONAME_FLAGS@ - -RDYNAMIC_FLAG = @RDYNAMIC_FLAG@ - -RLD_FLAG = @RLD_FLAG@ - -FLIBS = @FLIBS@ - -LIBOCTINTERP = @LIBOCTINTERP@ -LIBOCTAVE = @LIBOCTAVE@ -LIBCRUFT = @LIBCRUFT@ - -FT2_CFLAGS = @FT2_CFLAGS@ -FT2_LIBS = @FT2_LIBS@ - -HDF5_CPPFLAGS = @HDF5_CPPFLAGS@ -HDF5_LDFLAGS = @HDF5_LDFLAGS@ -HDF5_LIBS = @HDF5_LIBS@ - -Z_CPPFLAGS = @Z_CPPFLAGS@ -Z_LDFLAGS = @Z_LDFLAGS@ -Z_LIBS = @Z_LIBS@ - -GRAPHICS_LIBS = @GRAPHICS_LIBS@ - -QHULL_CPPFLAGS = @QHULL_CPPFLAGS@ -QHULL_LDFLAGS = @QHULL_LDFLAGS@ -QHULL_LIBS = @QHULL_LIBS@ - -REGEX_LIBS = @REGEX_LIBS@ - -LAPACK_LIBS = @LAPACK_LIBS@ -BLAS_LIBS = @BLAS_LIBS@ - -FFTW3_CPPFLAGS = @FFTW3_CPPFLAGS@ -FFTW3_LDFLAGS = @FFTW3_LDFLAGS@ -FFTW3_LIBS = @FFTW3_LIBS@ - -FFTW3F_CPPFLAGS = @FFTW3F_CPPFLAGS@ -FFTW3F_LDFLAGS = @FFTW3F_LDFLAGS@ -FFTW3F_LIBS = @FFTW3F_LIBS@ - -GLPK_CPPFLAGS = @GLPK_CPPFLAGS@ -GLPK_LDFLAGS = @GLPK_LDFLAGS@ -GLPK_LIBS = @GLPK_LIBS@ - -CURL_CPPFLAGS = @CURL_CPPFLAGS@ -CURL_LDFLAGS = @CURL_LDFLAGS@ -CURL_LIBS = @CURL_LIBS@ - -AMD_CPPFLAGS = @AMD_CPPFLAGS@ -AMD_LDFLAGS = @AMD_LDFLAGS@ -AMD_LIBS = @AMD_LIBS@ - -CAMD_CPPFLAGS = @CAMD_CPPFLAGS@ -CAMD_LDFLAGS = @CAMD_LDFLAGS@ -CAMD_LIBS = @CAMD_LIBS@ - -COLAMD_CPPFLAGS = @COLAMD_CPPFLAGS@ -COLAMD_LDFLAGS = @COLAMD_LDFLAGS@ -COLAMD_LIBS = @COLAMD_LIBS@ - -CCOLAMD_CPPFLAGS = @CCOLAMD_CPPFLAGS@ -CCOLAMD_LDFLAGS = @CCOLAMD_LDFLAGS@ -CCOLAMD_LIBS = @CCOLAMD_LIBS@ - -CHOLMOD_CPPFLAGS = @CHOLMOD_CPPFLAGS@ -CHOLMOD_LDFLAGS = @CHOLMOD_LDFLAGS@ -CHOLMOD_LIBS = @CHOLMOD_LIBS@ - -CXSPARSE_CPPFLAGS = @CXSPARSE_CPPFLAGS@ -CXSPARSE_LDFLAGS = @CXSPARSE_LDFLAGS@ -CXSPARSE_LIBS = @CXSPARSE_LIBS@ - -UMFPACK_CPPFLAGS = @UMFPACK_CPPFLAGS@ -UMFPACK_LDFLAGS = @UMFPACK_LDFLAGS@ -UMFPACK_LIBS = @UMFPACK_LIBS@ - -OPENGL_LIBS = @OPENGL_LIBS@ - -QRUPDATE_CPPFLAGS = @QRUPDATE_CPPFLAGS@ -QRUPDATE_LDFLAGS = @QRUPDATE_LDFLAGS@ -QRUPDATE_LIBS = @QRUPDATE_LIBS@ - -READLINE_LIBS = @READLINE_LIBS@ -TERM_LIBS = @TERM_LIBS@ - -DL_LIBS = @DL_LIBS@ -LIBS = @LIBS@ - -ALL_CPPFLAGS = $(CPPFLAGS) $(HDF5_CPPFLAGS) $(Z_CPPFLAGS) - -SPARSE_XCPPFLAGS = \ - $(CHOLMOD_CPPFLAGS) $(UMFPACK_CPPFLAGS) \ - $(AMD_CPPFLAGS) $(CAMD_CPPFLAGS) $(COLAMD_CPPFLAGS) \ - $(CCOLAMD_CPPFLAGS) $(CXSPARSE_CPPFLAGS) - -SPARSE_XLDFLAGS = \ - $(CHOLMOD_LDFLAGS) $(UMFPACK_LDFLAGS) \ - $(AMD_LDFLAGS) $(CAMD_LDFLAGS) $(COLAMD_LDFLAGS) \ - $(CCOLAMD_LDFLAGS) $(CXSPARSE_LDFLAGS) - -## Order matters, at least on some systems (Cygwin, for example). -SPARSE_XLIBS = \ - $(CHOLMOD_LIBS) $(UMFPACK_LIBS) \ - $(AMD_LIBS) $(CAMD_LIBS) $(COLAMD_LIBS) \ - $(CCOLAMD_LIBS) $(CXSPARSE_LIBS) - -FFTW_XCPPFLAGS = $(FFTW3_CPPFLAGS) $(FFTW3F_CPPFLAGS) - -FFTW_XLDFLAGS = $(FFTW3_LDFLAGS) $(FFTW3F_LDFLAGS) - -FFTW_XLIBS = $(FFTW3_LIBS) $(FFTW3F_LIBS) - -USE_64_BIT_IDX_T = @USE_64_BIT_IDX_T@ -OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ - -TEXINFO_COLAMD = @TEXINFO_COLAMD@ -TEXINFO_CHOLMOD = @TEXINFO_CHOLMOD@ -TEXINFO_UMFPACK = @TEXINFO_UMFPACK@ -TEXINFO_QHULL = @TEXINFO_QHULL@ - -# The arguments passed to configure. -config_opts = @config_opts@ - -CONFIG_SUBDIRS = @subdirs@ - -# ==================== Where To Install Things ==================== - -# The default location for installation. Everything is placed in -# subdirectories of this directory. The default values for many of -# the variables below are expressed in terms of this one, so you may -# not need to change them. This defaults to /usr/local. -prefix = @prefix@ - -# Like `prefix', but used for architecture-specific files. -exec_prefix = @exec_prefix@ - -# Where to install Octave and other binaries that people will want to -# run directly. -bindir = @bindir@ - -# Normally the directory for installing executables that system -# administrators run. This is the same as libexecdir on Cygwin systems. -sbindir = @sbindir@ - -# The root of the directory tree for read-only -# architecture-independent data files. -datarootdir = @datarootdir@ - -# Where to install architecture-independent data files. ${fcnfiledir} -# and ${localfcnfiledir} are subdirectories of this. -datadir = @datadir@ - -libdir = @libdir@ - -# Where to install and expect extra files like NEWS and doc-cache. -octetcdir = @octetcdir@ - -# Where to install and expect libraries like libcruft.a, liboctave.a, -# and other architecture-dependent data. -octlibdir = @octlibdir@ - -# Where to install and expect executable programs to be run by Octave -# rather than directly by users. -libexecdir = @libexecdir@ - -# The prefix for Octave's include file directory. The default is -# ${prefix}/include -includedir = @includedir@ - -# Where to install Octave's man pages, and what extension they should -# have. The default is ${prefix}/man/man1 -mandir = @mandir@ -man1dir = @man1dir@ -man1ext = @man1ext@ - -# The full path to the default doc cache file. -doc_cache_file = @doc_cache_file@ - -# Where to install and expect the info files describing Octave.. -infodir = @infodir@ - -# The full path to the default info file. -infofile = @infofile@ - -# ==================== Octave-specific directories ==================== - -# These variables hold the values specific to Octave. They are -# based on the values of the standard Make variables above. - -# What is the path separation character -sepchar = @sepchar@ - -# Where to install Octave's include files. The default is -# ${includedir}/octave-${version}/octave -octincludedir = @octincludedir@ - -# Where to install the function file distributed with -# Octave. This includes the Octave version, so that the -# function files for different versions of Octave will install -# themselves in separate directories. -fcnfiledir = @fcnfiledir@ - -# Directories Octave should search for function files specific -# to this site (i.e. customizations), before consulting -# ${fcnfiledir}. This should be a colon-separated list of -# directories. -localfcnfiledir = @localfcnfiledir@ -localapifcnfiledir = @localapifcnfiledir@ -localverfcnfiledir = @localverfcnfiledir@ - -# Where to put executables to be run by Octave rather than -# the user. This path usually includes the Octave version -# and configuration name, so that multiple configurations -# for multiple versions of Octave may be installed at once. -archlibdir = @archlibdir@ - -# Where to put executables to be run by Octave rather than by the -# user that are specific to this site. -localarchlibdir = @localarchlibdir@ -localapiarchlibdir = @localapiarchlibdir@ -localverarchlibdir = @localverarchlibdir@ - -# Where to put object files that will by dynamically loaded. -# This path usually includes the Octave version and configuration -# name, so that multiple configurations for multiple versions of -# Octave may be installed at once. -octfiledir = @octfiledir@ - -# Directories Octave should search for object files that will be -# dynamically loaded and that are specific to this site -# (i.e. customizations), before consulting ${octfiledir}. This should -# be a colon-separated list of directories. -localoctfiledir = @localoctfiledir@ -localapioctfiledir = @localapioctfiledir@ -localveroctfiledir = @localveroctfiledir@ - -# Where Octave will search to find image files. -imagedir = @imagedir@ - -# The type of computer we are running on. -canonical_host_type = @canonical_host_type@ - -# Where Octave will look for startup files -startupfiledir = ${fcnfiledir}/startup -localstartupfiledir = ${localfcnfiledir}/startup - -# LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PATH, ... -library_path_var = @library_path_var@ - -# The separator used for elements of the LD_PRELOAD variable (might be -# a space, so protect with $(null)) -null = -ldpreloadsep = $(null)@ldpreloadsep@$(null) - -NO_OCT_FILE_STRIP = @NO_OCT_FILE_STRIP@ - -# The following pattern rules and the substitution functions require -# GNU make. If you don't have it, get it! - -define simple_move_if_change_rule -if [ -s $@-t ]; then \ - $(top_srcdir)/move-if-change $@-t $@; \ -else \ - echo "$@-t is empty!" 1>&2; \ - rm -f $@-t; \ - exit 1; \ -fi -endef - -define cp_update_rule -if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/$@ ] && [ ! -f $@ ]; then \ - cp $(srcdir)/$@ $@; \ - touch -r $(srcdir)/$@ $@; \ -fi -endef - -# Yes, the second sed command near the end is needed, to avoid limits -# in command lengths for some versions of sed. UGLY_DEFS is often -# quite large, so it makes sense to split this command there. - -define do_subst_config_vals -echo "making $@ from $<" -$(SED) < $< \ - -e "s|%NO_OCT_FILE_STRIP%|${NO_OCT_FILE_STRIP}|" \ - -e "s|%OCTAVE_BINDIR%|\"${bindir}\"|" \ - -e "s|%OCTAVE_CONF_ALL_CFLAGS%|\"${ALL_CFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_ALL_CXXFLAGS%|\"${ALL_CXXFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_ALL_FFLAGS%|\"${ALL_FFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_ALL_LDFLAGS%|\"${ALL_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_AMD_CPPFLAGS%|\"${AMD_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_AMD_LDFLAGS%|\"${AMD_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_AMD_LIBS%|\"${AMD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_AR%|\"${AR}\"|" \ - -e "s|%OCTAVE_CONF_ARFLAGS%|\"${ARFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_BLAS_LIBS%|\"${BLAS_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CAMD_CPPFLAGS%|\"${CAMD_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CAMD_LDFLAGS%|\"${CAMD_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CAMD_LIBS%|\"${CAMD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CANONICAL_HOST_TYPE%|\"${canonical_host_type}\"|" \ - -e "s|%OCTAVE_CONF_CARBON_LIBS%|\"${CARBON_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CC%|\"${CC}\"|" \ - -e "s|%OCTAVE_CONF_CC_VERSION%|\"${CC_VERSION}\"|" \ - -e "s|%OCTAVE_CONF_CCOLAMD_CPPFLAGS%|\"${CCOLAMD_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CCOLAMD_LDFLAGS%|\"${CCOLAMD_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CCOLAMD_LIBS%|\"${CCOLAMD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CFLAGS%|\"${CFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CHOLMOD_CPPFLAGS%|\"${CHOLMOD_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CHOLMOD_LDFLAGS%|\"${CHOLMOD_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CHOLMOD_LIBS%|\"${CHOLMOD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_COLAMD_CPPFLAGS%|\"${COLAMD_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_COLAMD_LDFLAGS%|\"${COLAMD_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_COLAMD_LIBS%|\"${COLAMD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CPICFLAG%|\"${CPICFLAG}\"|" \ - -e "s|%OCTAVE_CONF_CPPFLAGS%|\"${CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CURL_CPPFLAGS%|\"${CURL_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CURL_LDFLAGS%|\"${CURL_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CURL_LIBS%|\"${CURL_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CXSPARSE_CPPFLAGS%|\"${CXSPARSE_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CXSPARSE_LDFLAGS%|\"${CXSPARSE_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CXSPARSE_LIBS%|\"${CXSPARSE_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_CXX%|\"${CXX}\"|" \ - -e "s|%OCTAVE_CONF_CXXCPP%|\"${CXXCPP}\"|" \ - -e "s|%OCTAVE_CONF_CXXFLAGS%|\"${CXXFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_CXXPICFLAG%|\"${CXXPICFLAG}\"|" \ - -e "s|%OCTAVE_CONF_CXX_VERSION%|\"${CXX_VERSION}\"|" \ - -e "s|%OCTAVE_CONF_DEFAULT_PAGER%|\"${DEFAULT_PAGER}\"|" \ - -e "s|%OCTAVE_CONF_DEPEND_FLAGS%|\"${DEPEND_FLAGS}\"|" \ - -e "s|%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%|\"${DEPEND_EXTRA_SED_PATTERN}\"|" \ - -e "s|%OCTAVE_CONF_DL_LD%|\"${DL_LD}\"|" \ - -e "s|%OCTAVE_CONF_DL_LDFLAGS%|\"${DL_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_DL_LIBS%|\"${DL_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_EXEEXT%|\"${EXEEXT}\"|" \ - -e "s|%OCTAVE_CONF_F77%|\"${F77}\"|" \ - -e "s|%OCTAVE_CONF_F77_FLOAT_STORE_FLAG%|\"${F77_FLOAT_STORE_FLAG}\"|" \ - -e "s|%OCTAVE_CONF_F77_INTEGER_8_FLAG%|\"${F77_INTEGER_8_FLAG}\"|" \ - -e "s|%OCTAVE_CONF_FC%|\"${FC}\"|" \ - -e "s|%OCTAVE_CONF_FFLAGS%|\"${FFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3_CPPFLAGS%|\"${FFTW3_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3_LDFLAGS%|\"${FFTW3_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3_LIBS%|\"${FFTW3_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3F_CPPFLAGS%|\"${FFTW3F_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3F_LDFLAGS%|\"${FFTW3F_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_FFTW3F_LIBS%|\"${FFTW3F_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_FLIBS%|\"${FLIBS}\"|" \ - -e "s|%OCTAVE_CONF_FPICFLAG%|\"${FPICFLAG}\"|" \ - -e "s|%OCTAVE_CONF_FT2_LIBS%|\"${FT2_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_GLPK_CPPFLAGS%|\"${GLPK_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_GLPK_LDFLAGS%|\"${GLPK_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_GLPK_LIBS%|\"${GLPK_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_GNUPLOT%|\"${GNUPLOT}\"|" \ - -e "s|%OCTAVE_CONF_GRAPHICS_LIBS%|\"${GRAPHICS_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_HDF5_CPPFLAGS%|\"${HDF5_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_HDF5_LDFLAGS%|\"${HDF5_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_HDF5_LIBS%|\"${HDF5_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_INCFLAGS%|\"${INCFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_INCLUDEDIR%|\"${includedir}\"|" \ - -e "s|%OCTAVE_CONF_LAPACK_LIBS%|\"${LAPACK_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_LD_CXX%|\"${LD_CXX}\"|" \ - -e "s|%OCTAVE_CONF_LDFLAGS%|\"${LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_LD_STATIC_FLAG%|\"${LD_STATIC_FLAG}\"|" \ - -e "s|%OCTAVE_CONF_LEX%|\"${LEX}\"|" \ - -e "s|%OCTAVE_CONF_LEXLIB%|\"${LEXLIB}\"|" \ - -e "s|%OCTAVE_CONF_LFLAGS%|\"${LFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_LIBCRUFT%|\"${LIBCRUFT}\"|" \ - -e "s|%OCTAVE_CONF_LIBDIR%|\"${libdir}\"|" \ - -e "s|%OCTAVE_CONF_LIBEXT%|\"${LIBEXT}\"|" \ - -e "s|%OCTAVE_CONF_LIBFLAGS%|\"${LIBFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_LIBOCTAVE%|\"${LIBOCTAVE}\"|" \ - -e "s|%OCTAVE_CONF_LIBOCTINTERP%|\"${LIBOCTINTERP}\"|" \ - -e "s|%OCTAVE_CONF_LIBS%|\"${LIBS}\"|" \ - -e "s|%OCTAVE_CONF_LN_S%|\"${LN_S}\"|" \ - -e "s|%OCTAVE_CONF_MAGICK_CPPFLAGS%|\"${MAGICK_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_MAGICK_LDFLAGS%|\"${MAGICK_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_MAGICK_LIBS%|\"${MAGICK_LIBS}\"|" \ - -e 's|%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%|\"@MKOCTFILE_DL_LDFLAGS@\"|' \ - -e "s|%OCTAVE_CONF_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ - -e "s|%OCTAVE_CONF_OCTLIBDIR%|\"${octlibdir}\"|" \ - -e "s|%OCTAVE_CONF_OPENGL_LIBS%|\"${OPENGL_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_PREFIX%|\"${prefix}\"|" \ - -e "s|%OCTAVE_CONF_PTHREAD_CFLAGS%|\"${PTHREAD_CFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_PTHREAD_LIBS%|\"${PTHREAD_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_QHULL_CPPFLAGS%|\"${QHULL_CPPFLAGSS}\"|" \ - -e "s|%OCTAVE_CONF_QHULL_LDFLAGS%|\"${QHULL_LDFLAGSS}\"|" \ - -e "s|%OCTAVE_CONF_QHULL_LIBS%|\"${QHULL_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_QRUPDATE_CPPFLAGS%|\"${QRUPDATE_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_QRUPDATE_LDFLAGS%|\"${QRUPDATE_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_QRUPDATE_LIBS%|\"${QRUPDATE_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_RANLIB%|\"${RANLIB}\"|" \ - -e "s|%OCTAVE_CONF_RDYNAMIC_FLAG%|\"${RDYNAMIC_FLAG}\"|" \ - -e "s|%OCTAVE_CONF_READLINE_LIBS%|\"${READLINE_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_REGEX_LIBS%|\"${REGEX_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_RLD_FLAG%|\"${RLD_FLAG}\"|" \ - -e "s|%OCTAVE_CONF_SED%|\"${SED}\"|" \ - -e "s|%OCTAVE_CONF_SHARED_LIBS%|\"${SHARED_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_SHLEXT%|\"${SHLEXT}\"|" \ - -e "s|%OCTAVE_CONF_SHLLINKEXT%|\"${SHLLINKEXT}\"|" \ - -e "s|%OCTAVE_CONF_SHLEXT_VER%|\"${SHLEXT_VER}\"|" \ - -e "s|%OCTAVE_CONF_SH_LD%|\"${SH_LD}\"|" \ - -e "s|%OCTAVE_CONF_SH_LDFLAGS%|\"${SH_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_SONAME_FLAGS%|\"${SONAME_FLAGS}\"|" \ - -e "s|%OCTAVE_CONF_STATIC_LIBS%|\"${STATIC_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_TERM_LIBS%|\"${TERM_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_UGLY_DEFS%|\"${UGLY_DEFS}\"|" \ - -e "s|%OCTAVE_CONF_UMFPACK_CPPFLAGS%|\"${UMFPACK_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_UMFPACK_LDFLAGS%|\"${UMFPACK_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_UMFPACK_LIBS%|\"${UMFPACK_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_USE_64_BIT_IDX_T%|\"${USE_64_BIT_IDX_T}\"|" \ - -e "s|%OCTAVE_CONF_VERSION%|\"${version}\"|" \ - -e "s|%OCTAVE_CONF_ENABLE_DYNAMIC_LINKING%|\"${ENABLE_DYNAMIC_LINKING}\"|" \ - -e "s|%OCTAVE_CONF_X11_INCFLAGS%|\"${X11_INCFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_X11_LIBS%|\"${X11_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_XTRA_CFLAGS%|\"${XTRA_CFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_XTRA_CXXFLAGS%|\"${XTRA_CXXFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_YACC%|\"${YACC}\"|" \ - -e "s|%OCTAVE_CONF_YFLAGS%|\"${YFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_Z_CPPFLAGS%|\"${Z_CPPFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_Z_LDFLAGS%|\"${Z_LDFLAGS}\"|" \ - -e "s|%OCTAVE_CONF_Z_LIBS%|\"${Z_LIBS}\"|" \ - -e "s|%OCTAVE_CONF_config_opts%|\"${config_opts}\"|" | \ - $(SED) -e "s|%OCTAVE_CONF_DEFS%|\"${UGLY_DEFS}\"|" > $@-t -$(simple_move_if_change_rule) -endef - -define do_subst_default_vals -echo "making $@ from $<" -$(SED) < $< > $@-t \ - -e "s|%OCTAVE_ARCHLIBDIR%|\"${archlibdir}\"|" \ - -e "s|%OCTAVE_BINDIR%|\"${bindir}\"|" \ - -e "s|%OCTAVE_CANONICAL_HOST_TYPE%|\"${canonical_host_type}\"|" \ - -e "s|%OCTAVE_DATADIR%|\"${datadir}\"|" \ - -e "s|%OCTAVE_DATAROOTDIR%|\"${datarootdir}\"|" \ - -e "s|%OCTAVE_DEFAULT_PAGER%|\"${DEFAULT_PAGER}\"|" \ - -e "s|%OCTAVE_DOC_CACHE_FILE%|\"${doc_cache_file}\"|" \ - -e "s|%OCTAVE_EXEC_PREFIX%|\"${exec_prefix}\"|" \ - -e "s|%OCTAVE_FCNFILEDIR%|\"${fcnfiledir}\"|" \ - -e "s|%OCTAVE_IMAGEDIR%|\"${imagedir}\"|" \ - -e "s|%OCTAVE_INCLUDEDIR%|\"${includedir}\"|" \ - -e "s|%OCTAVE_INFODIR%|\"${infodir}\"|" \ - -e "s|%OCTAVE_INFOFILE%|\"${infofile}\"|" \ - -e "s|%OCTAVE_LIBDIR%|\"${libdir}\"|" \ - -e "s|%OCTAVE_LIBEXECDIR%|\"${libexecdir}\"|" \ - -e "s|%OCTAVE_LOCALAPIFCNFILEDIR%|\"${localapifcnfiledir}\"|" \ - -e "s|%OCTAVE_LOCALAPIOCTFILEDIR%|\"${localapioctfiledir}\"|" \ - -e "s|%OCTAVE_LOCALARCHLIBDIR%|\"${localarchlibdir}\"|" \ - -e "s|%OCTAVE_LOCALFCNFILEDIR%|\"${localfcnfiledir}\"|" \ - -e "s|%OCTAVE_LOCALOCTFILEDIR%|\"${localoctfiledir}\"|" \ - -e "s|%OCTAVE_LOCALSTARTUPFILEDIR%|\"${localstartupfiledir}\"|" \ - -e "s|%OCTAVE_LOCALAPIARCHLIBDIR%|\"${localapiarchlibdir}\"|" \ - -e "s|%OCTAVE_LOCALVERARCHLIBDIR%|\"${localverarchlibdir}\"|" \ - -e "s|%OCTAVE_LOCALVERFCNFILEDIR%|\"${localverfcnfiledir}\"|" \ - -e "s|%OCTAVE_LOCALVEROCTFILEDIR%|\"${localveroctfiledir}\"|" \ - -e "s|%OCTAVE_MAN1DIR%|\"${man1dir}\"|" \ - -e "s|%OCTAVE_MAN1EXT%|\"${man1ext}\"|" \ - -e "s|%OCTAVE_MANDIR%|\"${mandir}\"|" \ - -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \ - -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ - -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ - -e "s|%OCTAVE_OCTLIBDIR%|\"${octlibdir}\"|" \ - -e "s|%OCTAVE_STARTUPFILEDIR%|\"${startupfiledir}\"|" \ - -e "s|%OCTAVE_PREFIX%|\"${prefix}\"|" \ - -e "s|%OCTAVE_API_VERSION%|\"${api_version}\"|" \ - -e "s|%OCTAVE_RELEASE%|\"${OCTAVE_RELEASE}\"|" \ - -e "s|%OCTAVE_VERSION%|\"${version}\"|" -$(simple_move_if_change_rule) -endef - -define do_subst_script_vals -echo "making $@ from $<" -$(SED) < $< \ - -e "s|%AWK%|${AWK}|g" \ - -e "s|%FIND%|${FIND}|g" \ - -e "s|%SED%|${SED}|g" \ - -e "s|%library_path_var%|${library_path_var}|g" \ - -e "s|%liboctinterp%|${SHLPRE}octinterp.${SHLEXT}|g" \ - -e "s|%liboctave%|${SHLPRE}octave.${SHLEXT}|g" \ - -e "s|%libcruft%|${SHLPRE}cruft.${SHLEXT}|g" \ - -e "s|%ldpreloadsep%|${ldpreloadsep}|g" \ - -e "s|%srcdir%|${srcdir}|" \ - -e "s|%top_srcdir%|${top_srcdir}|" \ - -e "s|%abs_top_srcdir%|${abs_top_srcdir}|" \ - -e "s|%builddir%|$(shell pwd)|" > $@-t -$(simple_move_if_change_rule) -endef - -define do_script_install -$(top_srcdir)/mkinstalldirs $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) -for f in $(FCN_FILES); do \ - fbase=`basename $$f`; \ - rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$fbase; \ - $(INSTALL_DATA) $$f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$fbase; \ -done -$(top_srcdir)/mkpkgadd $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) > $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t -if [ -n "`cat $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t`" ]; then \ - $(INSTALL_DATA) $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD ; \ -else \ - rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD.t ; \ -fi -endef - -define do_script_uninstall -for f in $(FCN_FILES_NO_DIR); \ - do rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$f; \ -done -rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD --rmdir $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) -endef diff -r 10f6727fbaa8 -r b67c2d580a25 config.guess --- a/config.guess Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1542 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2008-11-15' - -# This file 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 2 of the License, or -# (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd | genuineintel) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -r 10f6727fbaa8 -r b67c2d580a25 config.sub --- a/config.sub Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1685 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-03-07' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file 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 2 of the License, or -# (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -r 10f6727fbaa8 -r b67c2d580a25 diff-template --- a/diff-template Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -#!/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, and *.info* files are not included -# because they can be recreated from the Texinfo files using TeX and -# makeinfo. -# -# 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. -# -# Diffs for updating the configure script are not included because -# it can be recreated from configure.in using autoconf. -# -# John W. Eaton -# jwe@octave.org - -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 - -echo 'removing the bsd-math directory' -rm -rf bsd-math - -echo 'creating libcruft/slatec-fn directory' -mkdir libcruft/slatec-fn - -echo 'removing old test files' -rm -f test/octave.test/index.exp -rm -f test/octave.test/prefer.exp -rm -f test/octave.test/zero-one.exp - -echo 'creating directories for new test files' -mkdir test/octave.test/index/dfi-f -mkdir test/octave.test/index/dfi-t -mkdir test/octave.test/prefer -mkdir test/octave.test/zero-one/fff -mkdir test/octave.test/zero-one/fft -mkdir test/octave.test/zero-one/ftf -mkdir test/octave.test/zero-one/tff -mkdir test/octave.test/zero-one/ftt -mkdir test/octave.test/zero-one/tft -mkdir test/octave.test/zero-one/ttf -mkdir test/octave.test/zero-one/ttt - -echo 'patching existing files' -patch -p1 << \PATCH_EOF -PATCH_EOF diff -r 10f6727fbaa8 -r b67c2d580a25 doc/Makefile.am --- a/doc/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk ## Avoid making multiple subdirs in parallel which can lead ## to a confusing error message stream diff -r 10f6727fbaa8 -r b67c2d580a25 doc/faq/Makefile.am --- a/doc/faq/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/faq/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk ## Automake generated rules for documentation are not parallel-safe. ## Restrict current directory to run serially diff -r 10f6727fbaa8 -r b67c2d580a25 doc/icons/Makefile.am --- a/doc/icons/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/icons/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk IMAGE_FILES = \ octave-logo.ico \ diff -r 10f6727fbaa8 -r b67c2d580a25 doc/interpreter/Makefile.am --- a/doc/interpreter/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/interpreter/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk ## Automake generated rules for documentation are not parallel-safe. ## Restrict current directory to run serially diff -r 10f6727fbaa8 -r b67c2d580a25 doc/interpreter/config-images.sh --- a/doc/interpreter/config-images.sh Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/interpreter/config-images.sh Fri Jun 10 14:35:42 2011 -0400 @@ -10,8 +10,10 @@ top_srcdir="../.." fi +move_if_change="$top_srcdir/build-aux/move-if-change" + interp_dir=$top_srcdir/doc/interpreter $AWK -f $interp_dir/images.awk < $interp_dir/images > $interp_dir/images.mk-t -$top_srcdir/move-if-change $interp_dir/images.mk-t $interp_dir/images.mk +$move_if_change $interp_dir/images.mk-t $interp_dir/images.mk diff -r 10f6727fbaa8 -r b67c2d580a25 doc/liboctave/Makefile.am --- a/doc/liboctave/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/liboctave/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -19,7 +19,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk ## Automake generated rules for documentation are not parallel-safe. ## Restrict current directory to run serially diff -r 10f6727fbaa8 -r b67c2d580a25 doc/refcard/Makefile.am --- a/doc/refcard/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/doc/refcard/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk TEX = \ refcard.tex \ diff -r 10f6727fbaa8 -r b67c2d580a25 etc/CHECKLIST --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/CHECKLIST Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,18 @@ +Things to do before making a release: + + * Ask testers for the type(s) of machines they are using. + + * Update the version number in src/version.h. + + * Update the version number in doc/refcard/refcard.tex. + + * Add a `Version M.N.P released.' line to the ChangeLog. + + * Update the NEWS file. + + * Check the README file. + + * Run autoconf, autoheader, and configure before making tar files. + + * Update the NEWS and README.octave files in the anonymous ftp + directory. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/HACKING --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/HACKING Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,215 @@ +-*- outline -*- + +This file attempts to describe the rules to use when hacking Octave. +DO NOT put this file into the distribution. + +* Working from the repository + +These notes are intended to help people working on sources checked-out from +the savannah source code repository. +These requirements do not apply when building from a distribution +tarball. + +** Requirements + +We've opted to keep only the highest-level sources in the repository. +This eases our maintenance burden, (fewer merges, etc.), but imposes +more requirements on anyone wishing to build from the just-checked-out +sources. For example, you have to use the latest stable versions of +the maintainer tools we depend upon, including: + + - Autoconf + - Automake + - Bison + - Flex + - Git + - Gnulib + - GNU Make + - Gzip + - Libtool + - Mercurial + - Perl + - Rsync + - Tar + +Only building the initial full source tree will be a bit painful. +Later, after synchronizing from the repository, a plain `make' should +be sufficient. + +** First checkout + +Obviously, if you are reading these notes, you did manage to check out +this package from the repository. For the record, you will find all the +relevant information on downloading sources at: + + http://www.gnu.org/software/octave/download.html + +After checking out Octave, you will need to run the autogen.sh script: + + $ ./autogen.sh + +This script will examine the source tree and generate some Makefile +fragments and then runs the bootstrap script. The bootstrap script comes +from gnulib, but is kept in the Octave source archive. It should be +updated from the gnulib sources as necssary. The bootstrap script takes +care of checking out a copy of gnulib, running the autotools, and +generating the configure script. + +If you have a copy of gnulib in some directory apart from the Octave +source tree, then pass the name of the directory containing gnulib-tool +to the bootstrap script using the option: + + --gnulib-srcdir=DIRNAME + +If you have downloaded gnulib directly, DIRNAME will be the directory where +gnulib was unpacked. If you have installed gnulib using a package +manager, DIRNAME is likely to be /usr/bin or /usr/local/bin(where the +gnulib-tool script resides). + +By using an external gnulib directory, you can share a single gnulib source +tree among several projects. Regardless of the location of the gnulib +sources, the bootstrap script will try to update them if it appears +that they are checked out using git. Otherwise, it is your +responsibility to keep the gnulib sources up to date. They change +frequently, so the best way to stay current is probably to use git to +do the job. + +Additional options besides --gnulib-srcdir can be passed to autogen.sh and +they will be forwarded without modification to the bootstrap script. + +Once the autogen.sh and bootstrap scripts complete successfully, you may +run + + $ ./configure + $ make + $ make check + +At this point, there should be no difference between your local copy, +and the master copy: + + $ hg diff + +should output no difference. + +** Coding style + +The most important advice is to follow any conventions you detect in the +file being edited. In addition, Octave maintainers have written a lot +on the subject. See "Appendix C: Tips and Standards" and +"Appendix D: Contributing Guidelines" in the PDF documentation. + +* Bugs and patches + +See the file BUGS in this directory for more guidance on reporting bugs +and preparing patches. + +* Code layout + +An overview of the directory layout of Octave's source files: + + doc -- Texinfo documentation for Octave + + examples -- some example files + + libcruft -- various numerical libraries (mostly Fortran) + amos * bessel functions + blas-xtra * wrappers for blas functions used in Octave + daspk * large scale differential algebraic equation solver + dasrt * differential algebraic equation solver with root finding + dassl * differential-algebraic system solver + fftpack * subroutines for fast fourier transforms + lapack-xtra * wrappers for lapack functions used in Octave + misc * miscellaneous utilities + odepack * odinary differential equation solver + ordered-qz * code for ordering eigenvalues for QZ factorization + quadpack * subroutines for numerical integration + ranlib * random number generators + slatec-err * slatec error handling library + slatec-fn * various special function subroutines + + liboctave -- the C++ interfaces to the numerical libraries and + various OS facilities + + scripts -- functions written in the Octave language + audio * play and record sound files (system dependent) + deprecated * older deprecated functions + elfun * elementary mathematical functions + @ftp * ftp object class + general * utility functions + geometry * geometry algorithms + image * image processing + help * help subsystem functions + io * input/output functions + linear-algebra * linear algebra stuff + miscellaneous * stuff that doesn't fit anywhere else + optimization * zero finders and minimizers + path * functions for path manipulation + pkg * the package manager + plot * plotting functions + polynomial * polynomial manipulation + set * set manipulation + signal * signal processing + sparse * sparse matrix support + specfun * special mathematical functions + special-matrix * functions for generating special types of matrices + startup * initialization functions + statistics * statistical functions, distributions, and tests + strings * character string manipulation + testfun * unit testing + time * time and date functions + + src -- the interpreter itself + + test -- tests for the interpreter + test_*.m * fixed tests for the interpreter + fntests.m * script to run function tests embedded in C++ and .m files + + +---- +John W. Eaton +jwe@octave.org + + +Last updated: Sat Jan 22 22:00:25 PST 2011 + +################################################################################ + +Copyright (C) 2009,2011 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 +. + + +This file was adapted for Octave from the HACKING file that is part of +GNU Bison, which contained the following Copyright notice: + + Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 + Free Software Foundation, Inc. + + This file is part of GNU Bison. + + This program 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. + + This program 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 this program. If not, see . diff -r 10f6727fbaa8 -r b67c2d580a25 etc/NEWS.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/NEWS.1 Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,1602 @@ +Summary of changes for version 1.1.1: +------------------------------------ + + * New built-in variables, default_return_value and + define_all_return_values. + + If define_all_return_values is set to "false", Octave does not do + anything special for return values that are left undefined, and + you will get an error message if you try to use them. For + example, if the function + + function [x, y] = f () + y = 1; + endfunction + + is called as + + octave:13> [a, b] = f () + + Octave will print an error message for the attempt to assign an + undefined value to `a'. + + This is incompatible with Matlab, which will define the return + variable `x' to be the empty matrix. To get the Matlab-like + behavior, you can set the variable define_all_return_values to + "true" (the default is "false") and default_return_value to `[]' + (the default). Then, any return values that remain undefined when + the function returns will be initialized to `[]'. + + If the function is called without explicitly asking for an output, + it will succeed. This behavior is compatible and unchanged from + previous versions of Octave. + + * New built-in variable suppress_verbose_help_message. If set to + "true", Octave will not add additional help information to the end + of the output from the help command and usage messages for + built-in commands. The default value is "false". + + * New built-in variable PS4 is used as the prefix of echoed input + (enabled with the --echo-input (-x) option). + + * The function size() now accepts an optional second argument. + + * Output from `save - ...' now goes through the pager. + + * The break statement may also be used to exit a function, for + compatibility with Matlab. + + * The directory tree for installing Octave is now closer to + conforming with the current GNU standards. + + * More bug fixes. + +Summary of changes for version 1.1.0: +------------------------------------ + + * Octave now requires g++ 2.6.3 or later. This change is necessary + to make template instantiations cleaner, and to avoid having to + have special cases in the code for earlier versions of gcc. + + * A new data structure type has been added. The implementation uses + an associative array with indices limited to strings, but the + syntax is more like C-style structures. here are some examples of + using it. + + Elements of structures can be of any type, including structures: + + octave:1> x.a = 1; + octave:2> x.b = [1, 2; 3, 4]; + octave:3> x.c = "string"; + octave:4> x + x = + + + + octave:5> x.a + x.a = 1 + octave:6> x.b + x.b = + + 1 2 + 3 4 + + octave:7> x.c + x.c = string + octave:8> x.b.d = 3 + x.b.d = 3 + octave:9> x.b + x.b = + + + + octave:10> x.b.d + x.b.d = 3 + + Functions can return structures: + + octave:1> a = rand (3) + rand (3) * I; + octave:2> function y = f (x) + > y.re = real (x); + > y.im = imag (x); + > endfunction + octave:3> f (a) + ans = + + + + octave:4> ans.im + ans.im = + + 0.093411 0.229690 0.627585 + 0.415128 0.221706 0.850341 + 0.894990 0.343265 0.384018 + + octave:5> ans.re + ans.re = + + 0.56234 0.14797 0.26416 + 0.72120 0.62691 0.20910 + 0.89211 0.25175 0.21081 + + Return lists can include structure elements: + + octave:1> [x.u, x.s, x.v] = svd ([1, 2; 3, 4]) + x.u = + + -0.40455 -0.91451 + -0.91451 0.40455 + + x.s = + + 5.46499 0.00000 + 0.00000 0.36597 + + x.v = + + -0.57605 0.81742 + -0.81742 -0.57605 + + octave:8> x + x = + + + + This feature should be considered experimental, but it seems to + work OK. Suggestions for ways to improve it are welcome. + + * Octave now supports a limited form of exception handling modeled + after the unwind-protect form of Lisp: + + unwind_protect + BODY + unwind_protect_cleanup + CLEANUP + end_unwind_protect + + Where BODY and CLEANUP are both optional and may contain any + Octave expressions or commands. The statements in CLEANUP are + guaranteed to be executed regardless of how control exits BODY. + + This is useful to protect temporary changes to global variables + from possible errors. For example, the following code will always + restore the original value of the built-in variable + do_fortran_indexing even if an error occurs while performing the + indexing operation. + + save_do_fortran_indexing = do_fortran_indexing; + unwind_protect + do_fortran_indexing = "true"; + elt = a (idx) + unwind_protect_cleanup + do_fortran_indexing = save_do_fortran_indexing; + end_unwind_protect + + Without unwind_protect, the value of do_fortran_indexing would not + be restored if an error occurs while performing the indexing + operation because evaluation would stop at the point of the error + and the statement to restore the value would not be executed. + + * Recursive directory searching has been implemented using Karl + Berry's kpathsea library. Directories below path elements that + end in // are searched recursively for .m files. + + * Octave now waits for additional input when a pair of parentheses + is `open' instead of giving an error. This allows one to write + statements like this + + if (big_long_variable_name == other_long_variable_name + || not_so_short_variable_name > 4 + && y > x) + some (code, here); + + without having to clutter up the if statement with continuation + characters. + + * Continuation lines are now allowed in string constants and are + handled correctly inside matrix constants. + + * Both `...{whitespace}\n' and `\{whitespace}\n' can be used to + introduce continuation lines, where {whitespace} may include + spaces, tabs and comments. + + * The script directory has been split up by topic. + + * Dynamic linking mostly works with dld. The following limitations + are known problems: + + -- Clearing dynamically linked functions doesn't work. + + -- Dynamic linking only works with dld, which has not been ported + to very many systems yet. + + -- Configuring with --enable-lite-kernel seems to mostly work to + make nonessential built-in functions dynamically loaded, but + there also seem to be some problems. For example, fsolve seems + to always return info == 3. This is difficult to debug since + GDB doesn't appear to allow breakpoints to be set inside + dynamically loaded functions. + + -- Octave uses a lot of memory if the dynamically linked functions + are compiled with -g. This appears to be a limitation with + dld, and can be avoided by not using -g to compile functions + that will be linked dynamically. + + * fft2 and ifft2 are now built-in functions. + + * The `&&' and `||' logical operators are now evaluated in a + short-circuit fashion and work differently than the element by + element operators `&' and `|'. See the Octave manual for more + details. + + * Expressions like 1./m are now parsed as 1 ./ m, not 1. / m. + + * The replot command now takes the same arguments as gplot or + gsplot (except ranges, which cannot be respecified with replot + (yet)) so you can add additional lines to existing plots. + + * The hold command has been implemented. + + * New function `clearplot' clears the plot window. The name `clg' + is aliased to `clearplot' for compatibility with Matlab. + + * The commands `gplot clear' and `gsplot clear' are equivalent to + `clearplot'. (Previously, `gplot clear' would evaluate `clear' as + an ordinary expression and clear all the visible variables.) + + * The Matlab-style plotting commands have been improved. They now + accept line-style arguments, multiple x-y pairs, and other plot + option flags. For example, + + plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+") + + results in a plot with + + y plotted with points of type 2 ("+") and color 1 (red). + y2 plotted with lines. + y3 plotted with lines of color 4. + y4 plotted with points which are "+"s. + + the help message for `plot' and `plot_opt' provide full + descriptions of the options. + + * NaN is now dropped from plot data, and Inf is converted to a + very large value before calling gnuplot. + + * Improved load and save commands: + + -- The save and load commands can now read and write a new binary + file format. Conversion to and from IEEE big and little endian + formats is handled automatically. Conversion for other formats + has not yet been implemented. + + -- The load command can now read Matlab .mat files, though it is + not yet able to read sparse matrices or handle conversion for + all data formats. + + -- The save command can write Matlab .mat files. + + -- The load command automatically determines the save format + (binary, ascii, or Matlab binary). + + -- The default format for the save command is taken from the + built-in variable `default_save_format'. + + -- The save and load commands now both accept a list of globbing + patterns so you can easily load a list of variables from a + file. + + -- The load command now accepts the option -list, for listing the + variable names without actually loading the data. With + -verbose, it prints a long listing. + + -- The load command now accepts the option -float-binary, for + saving floating point data in binary files in single precision. + + * who and whos now accept a list of globbing patterns so you can + limit the lists of variables and functions to those that match a + given set of patterns. + + * New functions for manipulating polynomials + + compan -- companion matrix corresponding to polynomial coefficients + conv -- convolve two vectors + deconv -- deconvolve two vectors + roots -- find the roots of a polynomial + poly -- characteristic polynomial of a matrix + polyderiv -- differentiate a polynomial + polyinteg -- integrate a polynomial + polyreduce -- reduce a polynomial to minimum number of terms + polyval -- evaluate a polynomial at a point + polyvalm -- evaluate a polynomial in the matrix sense + residue -- partial fraction expansion corresponding to the ratio + of two polynomials + + * New functions for manipulating sets + + create_set -- create a set of unique values + complement -- find the complement of two sets + intersection -- find the intersection of two sets + union -- find the union of two sets + + * New elementary functions: + + acot acoth acsc acsch + asec asech cot coth + csc csch log2 sec + sech + + * New special functions: + + beta -- beta function + betai -- incomplete beta function + gammai -- incomplete gamma function + + * New image processing functions: + + colormap -- set and return current colormap + gray -- set a gray colormap + gray2ind -- image format conversion + image -- display an image + imagesc -- scale and display an image + imshow -- display images + ind2gray -- image format conversion + ind2rgb -- image format conversion + loadimage -- load an image from a file + ntsc2rgb -- image format conversion + ocean -- set a color colormap + rgb2ind -- image format conversion + rgb2ntsc -- image format conversion + saveimage -- save an image to a file + + * New time and date functions: + + tic -- set wall-clock timer + toc -- get elapsed wall-clock time, since timer last set + etime -- another way to get elapsed wall-clock time + cputime -- get CPU time used since Octave started + is_leap_year -- is the given year a leap year? + + * Other new functions: + + bug_report -- submit a bug report to the bug-octave mailing list + + toascii -- convert a string to a matrix of ASCII character codes + + octave_tmp_file -- generate a unique temporary file name + + undo_string_escapes -- replace special characters in a string by + their backslash forms + + is_struct -- determine whether something is a structure data type + + feof -- check EOF condition for a specified file + ferror -- check error state for a specified file + fread -- read binary data from a file + fwrite -- write binary data to a file + + file_in_path -- check to see if named file exists in given path + + kbhit -- get a single character from the terminal + + axis -- change plot ranges + hist -- plot histograms + + diary -- save commands and output to a file + + type -- show the definition of a function + which -- print the type of an identifier or the location of a + function file + + isieee -- Returns 1 if host uses IEEE floating point + realmax -- Returns largest floating point number + realmin -- Returns smallest floating point number + + gcd -- greatest common divisor + lcm -- least common multiple + + null -- orthonormal basis of the null space of a matrix + orth -- orthonormal basis of the range space of a matrix + + fft2 -- two-dimensional fast fourier transform + ifft2 -- two-dimensional inverse fast fourier transform + filter -- digital filter + fftfilt -- filter using fft + fftconv -- convolve to vectors using fft + sinc -- returns sin(pi*x)/(pi*x) + freqz -- compute the frequency response of a filter + + * The meaning of nargin (== args.length ()) in built-in functions + has been changed to match the meaning of nargin in user-defined + functions. + + * Variable return lists. Octave now has a real mechanism for + handling functions that return an unspecified number of values, + so it is no longer necessary to place an upper bound on the number + of outputs that a function can produce. + + Here is an example of a function that uses the new syntax to + produce n values: + + function [...] = foo (n) + for i = 1:n + vr_val (i * x); + endfor + endfunction + + * New keyword, all_va_args, that allows the entire list of va_args + to be passed to another function. For example, given the functions + + function f (...) + while (nargin--) + disp (va_arg ()) + endwhile + endfunction + function g (...) + f ("begin", all_va_args, "end") + endfunction + + the statement + + g (1, 2, 3) + + prints + + begin + 1 + 2 + 3 + end + + all_va_args may be used more than once, but can only be used + within functions that take a variable number of arguments. + + * If given a second argument, svd now returns an economy-sized + decomposition, eliminating the unnecessary rows or columns of U or + V. + + * The max and min functions correctly handle complex matrices in + which some columns contain real values only. + + * The find function now handles 2 and 3 output arguments. + + * The qr function now allows computation of QR with pivoting. + + * hilb() is much faster for large matrices. + + * computer() is now a built-in function. + + * pinv() is now a built-in function. + + * The output from the history command now goes through the pager. + + * If a function is called without assigning the result, nargout is + now correctly set to 0. + + * It is now possible to write functions that only set some return + values. For example, calling the function + + function [x, y, z] = f () x = 1; z = 2; endfunction + + as + + [a, b, c] = f () + + produces: + + a = 1 + + b = [](0x0) + + c = 2 + + * The shell_cmd function has been renamed to system (the name + shell_cmd remains for compatibility). It now returns [output, status]. + + * New built-in variable `OCTAVE_VERSION'. Also a new function, + version, for compatibility with Matlab. + + * New built-in variable `automatic_replot'. If it is "true", Octave + will automatically send a replot command to gnuplot each time the + plot changes. Since this is fairly inefficient, the default value + is "false". + + * New built-in variable `whitespace_in_literal_matrix' allows some + control over how Octave decides to convert spaces to commas in + matrix expressions like `[m (1)]'. + + If the value of `whitespace_in_literal_matrix' is "ignore", Octave + will never insert a comma or a semicolon in a literal matrix list. + For example, the expression `[1 2]' will result in an error + instead of being treated the same as `[1, 2]', and the expression + + [ 1, 2, + 3, 4 ] + + will result in the vector [1 2 3 4] instead of a matrix. + + If the value of `whitespace_in_literal_matrix' is "traditional", + Octave will convert spaces to a comma between identifiers and `('. + For example, given the matrix + + m = [3 2] + + the expression + + [m (1)] + + will be parsed as + + [m, (1)] + + and will result in + + [3 2 1] + + and the expression + + [ 1, 2, + 3, 4 ] + + will result in a matrix because the newline character is converted + to a semicolon (row separator) even though there is a comma at the + end of the first line (trailing commas or semicolons are ignored). + This is apparently how Matlab behaves. + + Any other value for `whitespace_in_literal_matrix' results in + behavior that is the same as traditional, except that Octave does + not convert spaces to a comma between identifiers and `('. + For example, the expression + + [m (1)] + + will produce 3. This is the way Octave has always behaved. + + * Line numbers in error messages for functions defined in files and + for script files now correspond to the file line number, not the + number of lines after the function keyword appeared. + + * Octave now extracts help from script files. The comments must + come before any other statements in the file. + + * In function files, the first block of comments in the file will + now be interpreted as the help text if it doesn't look like the + Octave copyright notice. Otherwise, Octave extracts the first set + of comments after the function keyword. + + * The function clock is more accurate on systems that have the + gettimeofday() function. + + * The standard output stream is now automatically flushed before + reading from stdin with any of the *scanf() functions. + + * Expanded reference card. + + * The Octave distribution now includes a frequently asked questions + file, with answers. Better answers and more questions (with + answers!) are welcome. + + * New option --verbose. If Octave is invoked with --verbose and not + --silent, a message is printed if an octaverc file is read while + Octave is starting. + + * An improved configure script generated by Autoconf 2.0. + + * Lots of bug fixes. + +Summary of changes for version 1.0: +---------------------------------- + + * C-style I/O functions now handle files referenced by name or by + number more consistently. + +Summary of changes for version 0.83: +----------------------------------- + + * Loading global symbols should work now. + + * Clearing the screen doesn't reprint the prompt unnecessarily. + + * The operations OP for OP == +, -, + *, or ./ no longer crash Octave. + + * More portability and configuration fixes. + +Summary of changes for version 0.82: +----------------------------------- + + * Octave now comes with a reference card. + + * The manual has been improved, but more work remains to be done. + + * The atanh function now works for complex arguments. + + * The asin, acos, acosh, and atanh functions now work properly when + given real-valued arguments that produce complex results. + + * SEEK_SET, SEEK_CUR, and SEEK_END are now constants. + + * The `using' qualifier now works with gplot and gsplot when the + data to plot is coming directly from a file. + + * The strcmp function now works correctly for empty strings. + + * Eliminated bogus parse error for M-files that don't end with `end' + or `endfunction'. + + * For empty matrices with one nonzero dimension, the +, -, .*, and + ./ operators now correctly preserve the dimension. + + * Octave no longer crashes if you type ^D at the beginning of a line + in the middle of defining a loop or if statement. + + * On AIX systems, Back off on indexing DiagArray via Proxy class to + avoid gcc (or possibly AIX assembler?) bug. + + * Various other bug and portability fixes. + +Summary of changes for version 0.81: +----------------------------------- + + * Octave no longer dumps core if you try to define a function in + your .octaverc file. + + * Fixed bug in Array class that resulted in bogus off-diagonal + elements when computing eigenvalue and singular value + decompositions. + + * Fixed bug that prevented lsode from working on the SPARCstation, + at least with some versions of Sun's f77. This bug was introduced + in 0.80, when I changed LSODE to allow the user to abort the + integration from within the RHS function. + + * Fixed bug that prevented global attribute of variables from being + saved with save(), and another that prevented load() from working + at all. + +Summary of changes for version 0.80: +----------------------------------- + + * I have started working on a manual for the C++ classes. At this + point, it is little more than a list of function names. If you + would like to volunteer to help work on this, please contact + maintainers@octave.org. + + * The patterns accepted by the save and clear commands now work like + file name globbing patterns instead of regular expressions. I + apologize for any inconvenience this change may cause, but file + name globbing seems like a more reasonable style of pattern + matching for this purpose. + + * It is now possible to specify tolerances and other optional inputs + for dassl, fsolve, lsode, npsol, qpsol, and quad. For each of + these functions, there is a corresponding function X_options, + which takes a keyword and value arguments. If invoked without any + arguments, the X_options functions print a list of possible + keywords and current values. For example, + + npsol_options () + + prints a list of possible options with values, and + + npsol_options ("major print level", 10) + + sets the major print level to 10. + + The keyword match is not case sensitive, and the keywords may be + abbreviated to the shortest unique match. For example, + + npsol_options ("ma p", 10) + + is equivalent to the statement shown above. + + * The new built-in variable save_precision can be used to set the + number of digits preserved by the ASCII save command. + + * Assignment of [] now works in most cases to allow you to delete + rows or columns of matrices and vectors. For example, given a + 4x5 matrix A, the assignment + + A (3, :) = [] + + deletes the third row of A, and the assignment + + A (:, 1:2:5) = [] + + deletes the first, third, and fifth columns. + + * Variable argument lists. Octave now has a real mechanism for + handling functions that take an unspecified number of arguments, + so it is no longer necessary to place an upper bound on the number + of optional arguments that a function can accept. + + Here is an example of a function that uses the new syntax to print + a header followed by an unspecified number of values: + + function foo (heading, ...) + disp (heading); + va_start (); + while (--nargin) + disp (va_arg ()); + endwhile + endfunction + + Note that the argument list must contain at least one named + argument (this restriction may eventually be removed), and the + ellipsis must appear as the last element of the argument list. + + Calling va_start() positions an internal pointer to the first + unnamed argument and allows you to cycle through the arguments + more than once. It is not necessary to call va_start() if you + do not plan to cycle through the arguments more than once. + + * Recursive functions should work now. + + * The environment variable OCTAVE_PATH is now handled in the same + way as TeX handles TEXINPUTS. If the path starts with `:', the + standard path is prepended to the value obtained from the + environment. If it ends with `:' the standard path is appended to + the value obtained from the environment. + + * New functions, from Kurt Hornik (hornik@neuro.tuwien.ac.at) and + the Department of Probability Theory and Statistics TU Wien, + Austria: + + corrcoef -- corrcoef (X, Y) is the correlation between the i-th + variable in X and the j-th variable in Y + corrcoef (X) is corrcoef (X, X) + cov -- cov (X, Y) is the covariance between the i-th + variable in X and the j-th variable in Y + cov (X) is cov (X, X) + gls -- generalized least squares estimation + kurtosis -- kurtosis(x) = N^(-1) std(x)^(-4) SUM_i (x(i)-mean(x))^4 - 3 + If x is a matrix, return the row vector containing + the kurtosis of each column + mahalanobis -- returns Mahalanobis' D-square distance between the + multivariate samples X and Y, which must have the + same number of components (columns), but may have + a different number of observations (rows) + ols -- ordinary least squares estimation + pinv -- returns the pseudoinverse of X; singular values + less than tol are ignored + skewness -- skewness (x) = N^(-1) std(x)^(-3) SUM_i (x(i)-mean(x))^3 + if x is a matrix, return the row vector containing + the skewness of each column + + * Errors in user-supplied functions called from dassl, fsolve, + lsode, npsol, and quad are handled more gracefully. + + * Programming errors in the use of the C++ classes within Octave + should no longer cause Octave to abort. Instead, Octave's error + handler function is called and execution continues as best as is + possible. This should result in eventually returning control to + the top-level Octave prompt. (It would be nice to have a real + exception handling mechanism...) + + * A number of memory leaks have been eliminated. Thanks to + Fong Kin Fui for reporting them. + + * The C++ matrix classes are now derived from a generic + template-based array class. + + * The readline function operate-and-get-next (from bash) is now + available and bound to C-O by default. + + * Octave now uses the version of readline currently distributed with + bash-1.13. On some systems, interactive invocations of Octave + will now blink the cursor to show matching parens. + + * By default, include files are now installed in + $prefix/include/octave instead of $prefix/include. + + * Octave now uses a config.h file instead of putting all defines on + the compiler command line. + +Summary of changes for version 0.79: +----------------------------------- + + * New control systems functions: + + dgram -- Returns the discrete controllability and observability gramian. + dlqr -- Discrete linear quadratic regulator design. + dlqe -- Discrete linear quadratic estimator (Kalman Filter) design. + c2d -- Convert continuous system description to discrete time + description assuming zero-order hold and given sample time. + + * The max (min) functions can now return the index of the max (min) + value as a second return value. + +Summary of changes for version 0.78: +----------------------------------- + + * Octave's handling of global variables has been completely + rewritten. To access global variables inside a function, you must + now declare them to be global within the function body. Likewise, + if you do not declare a variable as global at the command line, + you will not have access to it within a function, even if it is + declared global there. For example, given the function + + function f () + global x = 1; + y = 2; + endfunction + + the global variable `x' is not visible at the top level until the + command + + octave:13> global x + + has been evaluated, and the variable `y' remains local to the + function f() even if it is declared global at the top level. + + Clearing a global variable at the top level will remove its global + scope and leave it undefined. For example, + + octave:1> function f () # Define a function that accesses + > global x; # the global variable `x'. + > x + > endfunction + octave:2> global x = 1 # Give the variable `x' a value. + octave:3> f () # Evaluating the function accesses the + x = 1 # global `x'. + octave:4> clear x # Remove `x' from global scope, clear value. + octave:5> x = 2 # Define new local `x' at the top level + x = 2 + octave:6> f # The global `x' is no longer defined. + error: `x' undefined near line 1 column 25 + error: evaluating expression near line 1, column 25 + error: called from `f' + octave:7> x # But the local one is. + x = 2 + + * The new function, `is_global (string)' returns 1 if the variable + named by string is globally visible. Otherwise, returns 0. + + * The implementation of `who' has changed. It now accepts the + following options: + + -b -builtins -- display info for built-in variables and functions + -f -functions -- display info for currently compiled functions + -v -variables -- display info for user variables + -l -long -- display long info + + The long output looks like this: + + octave:5> who -l + + *** currently compiled functions: + + prot type rows cols name + ==== ==== ==== ==== ==== + wd user function - - f + + *** local user variables: + + prot type rows cols name + ==== ==== ==== ==== ==== + wd real scalar 1 1 y + + *** globally visible user variables: + + prot type rows cols name + ==== ==== ==== ==== ==== + wd complex matrix 13 13 x + + where the first character of the `protection' field is `w' if the + symbol can be redefined, and `-' if it has read-only access. The + second character may be `d' if the symbol can be deleted, or `-' + if the symbol cannot be cleared. + + * The new built-in variable ignore_function_time_stamp can be used + to prevent Octave from calling stat() each time it looks up + functions defined in M-files. If set to "system", Octave will not + automatically recompile M-files in subdirectories of + $OCTAVE_HOME/lib/VERSION if they have changed since they were last + compiled, but will recompile other M-files in the LOADPATH if they + change. If set to "all", Octave will not recompile any M-files + unless their definitions are removed with clear. For any other + value of ignore_function_time_stamp, Octave will always check to + see if functions defined in M-files need to recompiled. The + default value of ignore_function_time_stamp is "system". + + * The new built-in variable EDITOR can be used to specify the editor + for the edit_history command. It is set to the value of the + environment variable EDITOR, or `vi' if EDITOR is not set, or is + empty. + + * There is a new built-in variable, INFO_FILE, which is used as the + location of the info file. Its initial value is + $OCTAVE_HOME/info/octave.info, so `help -i' should now work + provided that OCTAVE_HOME is set correctly, even if Octave is + installed in a directory different from that specified at compile + time. + + * There is a new command line option, --info-file FILE, that may be + used to set Octave's idea of the location of the info file. It + will override any value of OCTAVE_INFO_FILE found in the + environment, but not any INFO_FILE="filename" commands found in + the system or user startup files. + + * Octave's Info reader will now recognize gzipped files that have + names ending in `.gz'. + + * The save command now accepts regular expressions as arguments. + Note that these patterns are regular expressions, and do not work + like filename globbing. For example, given the variables `a', + `aa', and `a1', the command `save a*' saves `a' and `aa' but not + `a1'. To match all variables beginning with `a', you must use an + expression like `a.*' (match all sequences beginning with `a' + followed by zero or more characters). + + * Line and column information is included in more error messages. + +Summary of changes for version 0.77: +----------------------------------- + + * Improved help. The command `help -i topic' now uses the GNU Info + browser to display help for the given topic directly from the + Texinfo documentation. + + * New function: chol -- Cholesky factorization. + +Summary of changes for version 0.76: +----------------------------------- + + * Better run-time error messages. Many now include line and column + information indicating where the error occurred. Octave will also + print a traceback for errors occurring inside functions. If you + find error messages that could use improvement, or errors that + Octave fails to catch, please send a bug report to + bug@octave.org. + + * If gplot (or gsplot) is given a string to plot, and the string + does not name a file, Octave will pass the string along to gnuplot + directly. This allows commands like + + gplot "sin (x)" w l, data w p + + to work (assuming that data is a variable containing a matrix of + values). + + * Long options (--help, --version, etc.) are supported. + +Summary of changes for version 0.75: +----------------------------------- + + * The documentation is much more complete, but still could use a lot + of work. + + * The history function now prints line numbers by default. The + command `history -q' will omit them. + + * The clear function now accepts regular expressions. + + * If gplot (or gsplot) is given a string to plot, and the string + names a file, Octave attempts to plot the contents of the file. + + * New functions: + + history: + + run_history -- run commands from the history list. + edit_history -- edit commands from the history list with your + favorite editor. + + linear algebra: + + balance -- Balancing for algebraic and generalized + eigenvalue problems. + givens -- Givens rotation. + is_square -- Check to see if a matrix is square. + qzhess -- QZ decomposition of the matrix pencil (a - lambda b). + qzval -- Generalized eigenvalues for real matrices. + syl -- Sylvester equation solver. + + control systems: + + is_symmetric -- Check to see if a matrix is symmetric. + abcddim -- Check dimensions of linear dynamic system [A,B,C,D]. + is_controllable -- Check to see if [A,B,C,D] is controllable. + is_observable -- Check to see if [A,B,C,D] is observable. + are -- Solve algebraic Ricatti equation. + dare -- Solve discrete-time algebraic Ricatti equation. + lqe -- Kalman filter design for continuous linear system. + lqr -- Linear Quadratic Regulator design. + lyap -- Solve Lyapunov equation. + dlyap -- Solve discrete Lyapunov equation. + tzero -- Compute the transmission zeros of [A,B,C,D]. + +Summary of changes for version 0.74: +----------------------------------- + + * Formal parameters to functions are now always considered to be + local variables, so things like + + global x = 0 + global y = 0 + function y = f (x) x = 1; y = x; end + f (x) + + result in the function returning 1, with the global values of x + and y unchanged. + + * Multiple assignment expressions are now allowed to take indices, + so things like + + octave:13> [a([1,2],[3,4]), b([5,6],[7,8])] = lu ([1,2;3,4]) + + will work correctly. + +Summary of changes for version 0.73: +----------------------------------- + + * Saving and loading global variables works correctly now. + + * The save command no longer saves built-in variables. + + * Global variables are more reliable. + + * Matrices may now have one or both dimensions zero, so that + operations on empty matrices are now handled more consistently. + + By default, dimensions of the empty matrix are now printed along + with the empty matrix symbol, `[]'. For example: + + octave:13> zeros (3, 0) + ans = + + [](3x0) + + The new variable `print_empty_dimensions' controls this behavior. + + See also Carl de Boor, An Empty Exercise, SIGNUM, Volume 25, + pages 2--6, 1990, or C. N. Nett and W. M. Haddad, A + System-Theoretic Appropriate Realization of the Empty Matrix + Concept, IEEE Transactions on Automatic Control, Volume 38, + Number 5, May 1993. + + * The right and left division operators `/' and `\' will now find a + minimum norm solution if the system is not square, or if the + coefficient matrix is singular. + + * New functions: + + hess -- Hessenberg decomposition + schur -- Ordered Schur factorization + perror -- print error messages corresponding to error codes + returned from the functions fsolve, npsol, and qpsol + (with others to possibly be added later). + + * Octave now prints a warning if it finds anything other than + whitespace or comments after the final `end' or `endfunction' + statement. + + * The bodies of functions, and the for, while, and if commands are + now allowed to be empty. + + * Support for Gill and Murray's QPSOL has been added. Like NPSOL, + QPSOL is not freely redistributable either, so you must obtain + your own copy to be able to use this feature. More information + about where to find QPSOL and NPSOL are in the file README.NLP. + +Summary of changes for version 0.72: +----------------------------------- + + * For numeric output, columns are now lined up on the decimal point. + (This requires libg++-2.3.1 or later to work correctly). + + * If octave is running interactively and the output intended for the + screen is longer than one page and a pager is available, it is + sent to the pager through a pipe. You may specify the program to + use as the pager by setting the variable PAGER. PAGER may also + specify a command pipeline. + + * Spaces are not always significant inside square brackets now, so + commands like + + [ linspace (1, 2) ] + + will work. However, some possible sources of confusion remain + because Octave tries (possibly too hard) to determine exactly what + operation is intended from the context surrounding an operator. + For example: + + -- In the command + + [ 1 - 1 ] + + the `-' is treated as a binary operator and the result is the + scalar 0, but in the command + + [ 1 -1 ] + + the `-' is treated as a unary operator and the result is the + vector [ 1 -1 ]. + + -- In the command + + a = 1; [ 1 a' ] + + the single quote character `'' is treated as a transpose operator + and the result is the vector [ 1 1 ], but in the command + + a = 1; [ 1 a ' ] + + an error message indicating an unterminated string constant is + printed. + + * Assignments are just expressions now, so they are valid anywhere + other expressions are. This means that things like + + if (a = n < m) ... endif + + are valid. This is parsed as: compare `n < m', assign the result + to the variable `a', and use it as the test expression in the if + statement. + + To help avoid errors where `=' has been used but `==' was + intended, Octave issues a warning suggesting parenthesis around + assignments used as truth values. You can suppress this warning + by adding parenthesis, or by setting the value of the new built-in + variable `warn_assign_as_truth_value' to 'false' (the default + value is 'true'). + + This is also true for multiple assignments, so expressions like + + [a, b, c] = [u, s, v] = expression + + are now possible. If the expression is a function, nargout is set + to the number of arguments for the right-most assignment. The + other assignments need not contain the same number of elements. + Extra left hand side variables in an assignment become undefined. + + * The default line style for plots is now `lines' instead of + `points'. To change it, use the `set data style STYLE' command. + + * New file handling and I/O functions: + + fopen -- open a file for reading or writing + fclose -- close a file + fflush -- flush output to a file + fgets -- read characters from a file + frewind -- set file position to the beginning of a file + fseek -- set file position + ftell -- tell file position + freport -- print a report for all open files + fscanf -- read from a file + sscanf -- read from a string + scanf -- read from the standard input + + * New built-in variables for file and I/O functions: + + stdin -- file number corresponding to the standard input stream. + stdout -- file number corresponding to the standard output stream. + stderr -- file number corresponding to the standard error stream. + + The following may be used as the final (optional) argument for + fseek: + + SEEK_SET -- set position relative to the beginning of the file. + SEEK_CUR -- set position relative to the current position. + SEEK_END -- set position relative to the end of the file. + + * New function: setstr -- convert vectors or scalars to strings + (doesn't work for matrices yet). + + * If possible, computer now prints the system type instead of + always printing `Hi Dave, I'm a HAL-9000'. + + * Octave now properly saves and restores its internal state + correctly in more places. Interrupting Octave while it is + executing a script file no longer causes it to exit. + + * Octave now does tilde expansion on each element of the LOADPATH. + + * A number of memory leaks have been plugged. + + * Dependencies for C++ source files are now generated automatically + by g++. + + * There is a new command line option, -p PATH, that may be used to + set Octave's loadpath from the command line. It will override any + value of OCTAVE_PATH found in the environment, but not any + LOADPATH="path" commands found in the system or user startup files. + + * It is now possible to override Octave's default idea of the + location of the system-wide startup file (usually stored in + $(prefix)/lib/octave/octaverc) using the environment variable + OCTAVE_HOME. If OCTAVE_HOME has a value, Octave will look for + octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave. + + This allows people who are using binary distributions (as is + common with systems like Linux) to install the real octave binary + in any directory (using a name like octave.bin) and then install + a simple script like this + + #!/bin/sh + OCTAVE_HOME=/foo/bar/baz + export OCTAVE_HOME + exec octave.bin + + to be invoked as octave. + + +Summary of changes for version 0.71: +----------------------------------- + + * Much improved plotting facility. With this release, Octave does + not require a specially modified version of gnuplot, so gnuplot + sources are no longer distributed with Octave. For a more + detailed description of the new plotting features, see the file + PLOTTING. + + * New plotting commands: + + plot -- 2D plots + semilogx -- 2D semilog plot with logscale on the x axis + semilogy -- 2D semilog plot with logscale on the y axis + loglog -- 2D log-log plot + mesh -- 3D mesh plot + meshdom -- create matrices for 3D plotting from two vectors + contour -- contour plots of 3D data + bar -- create bar graphs + stairs -- create stairstep plots + polar -- 2D plots from theta-R data + grid -- turn plot grid lines on or off + xlabel, ylabel -- place labels on the x and y axes of 2D plots + sombrero -- demonstrate 3D plotting + gplot -- 2D plot command with gnuplot-like syntax + gsplot -- 3D plot command with gnuplot-like syntax + set -- set plot options with gnuplot syntax + show -- show plot options with gnuplot syntax + closeplot -- close stream to gnuplot process + purge_tmp_files -- delete temporary files created by plot command + + * Other new commands: + + ls, dir -- print a directory listing + shell_cmd -- execute shell commands + keyboard -- get input from keyboard, useful for debugging + menu -- display a menu of options and ask for input + fft -- fast fourier transform + ifft -- inverse fast fourier transform + + * Strings may be enclosed in either single or double quote + characters. Double quote characters are not special within single + quote strings, and single quotes are not special within double + quote strings. + + * Command name completion now works for M-file names too. + + * Better help and usage messages for many functions. + + * Help is now available for functions defined in M-files. The first + block of comments is taken as the text of the help message. + + * Numerous changes in preparation to support dynamic loading of + object files with dld. + + * Bug fixes to make solving DAEs with dassl actually work. + + * The command `save file' now saves all variables in the named file. + + * If do_fortran_indexing is 'true', indexing a scalar with + [1,1,1,...] (n times) replicates its value n times. The + orientation of the resulting vector depends on the value of + prefer_column_vectors. + + * Things like [[1,2][3,4]] no longer cause core dumps, and invalid + input like [1,2;3,4,[5,6]] now produces a diagnostic message. + + * The cd, save, and load commands now do tilde expansion. + + * It's now possible to clear global variables and functions by name. + + * Use of clear inside functions is now a parse error. + +Summary of changes for version 0.70: +----------------------------------- + + * Better parse error diagnostics. For interactive input, you get + messages like + + octave:1> a = 3 + * 4; + + parse error: + + a = 3 + * 4; + ^ + + and for script files, the message includes the file name and input + line number: + + octave:1> foo + + parse error near line 4 of file foo.m: + + a = 3 + * 4; + ^ + + * New built-in variable PS2 which is used as the secondary prompt. + The default value is '> '. + + * New file, octave-mode.el, for editing Octave code with GNU Emacs. + This is a modified version of Matthew R. Wette's matlab-mode.el. + + * Better support for missing math functions. + + * User preferences are now cached in a global struct so we don't + have to do a symbol table lookup each time we need to know what + they are. This should mean slightly improved performance for + evaluating expressions. + +Summary of changes for version 0.69: +----------------------------------- + + * Multiple assignments are now possible, so statements like + + a = b = c = 3; + a = b = c = [1,2;3,4]; + + or + + c = (a = (b = 2) * 3 + 4) * 5 + + are legal, as are things that have even more bizarre effects, like + + a(4:6,4:6) = b(2:3,2:3) = [1,2;3,4]; + + (try it). + + * Improved parsing of strings (but they still don't work as matrix + elements). + + * An M-file may now either define a function or be a list of + commands to execute. + + * Better detection and conditional compilation of IEEE functions + isinf, finite, and isnan. + + * Replacements for acosh, asinh, atanh, and gamma from the BSD math + library for those systems that don't have them. + +Summary of changes for version 0.68: +----------------------------------- + + * New functions: + + eval -- evaluate a string as a sequence of Octave commands. + input -- print a prompt and get user input. + +Summary of changes for version 0.67: +----------------------------------- + + * New functions: + + find -- return the indices of nonzero elements. + + * Zero-one style indexing now works. For example, + + a = [1,2,3,4]; + b = a([1,0,0,1]) + + sets b to the first and fourth elements of a. + + Zero-one style indexing also works for indexing the left hand side + of an assignment. For example, + + a = rand (1,2;3,4); + a([0,1],:) = [-1,-2] + + sets the second row of a to [-1 -2] + + The behavior for the ambiguous case + + a = [1,2,3,4]; + b = a([1,1,1,1]); + + is controlled by the new global variable `prefer_zero_one_indexing'. + If this variable is equal to 'true', b will be set to [1 2 3 4]. + If it is false, b will be set to [1 1 1 1]. The default value is + 'false'. + + * Using the new global variable `propagate_empty_matrices', it is + possible to have unary and binary operations on empty matrices + return an empty matrix. The default value of this variable is + 'warn', so that empty matrices are propagated but you get a + warning. Some functions, like eig and svd have also been changed + to handle this. + + * Empty matrices can be used in conditionals, but they always + evaluate to `false'. With propagate_empty_matrices = 'true', both + of the following expressions print 0: + + if [], 1, else 0, end + if ~[], 1, else 0, end + + * Octave no longer converts input like `3.2 i' or `3 I' to complex + constants directly because that causes problems inside square + brackets, where spaces are important. This abbreviated notation + *does* work if there isn't a space between the number and the i, + I, j, or J. + +Summary of changes for version 0.66: +----------------------------------- + + * Logical unary not operator (~ or !) now works for complex. + + * Left division works. + + * Right and left element by element division should work correctly + now. + + * Numbers like .3e+2 are no longer errors. + + * Indexing a matrix with a complex value doesn't cause a core dump. + + * The min and max functions should work correctly for two arguments. + + * Improved (I hope!) configuration checks. + + * Octave is now installed as octave-M.N, where M and N are version + numbers, and octave is a link to that file. This makes it + possible to have more than one version of the interpreter installed. + +Summary of changes for version 0.63: +----------------------------------- + + * The reshape function works again. + + * Octave now converts input like `3.2i' or `3 I' or `2.3e5 j' to be + complex constants directly, rather than requiring an expression + like `3.3 * i' to be evaluated. + +Summary of changes for version 0.61: +----------------------------------- + + * Octave has been successfully compiled using gcc 2.3.3 and libg++ 2.3. + on a 486 system running Linux. + + * The win_texas_lotto function is now called texas_lotto (it's a + script file, and win_texas_lotto.m is too long for some Linux and + System V systems). + +Summary of changes for version 0.57: +------------------------------------ + + * The C-like formatted print functions printf, fprintf, and sprintf + finally work. + +Summary of changes for version 0.56: +------------------------------------ + + * By default, octave prints a short disclaimer when it starts. + (You can suppress it by invoking octave with -q). + + * You can keep octave from reading your ~/.octaverc and .octaverc + files by invoking it with -f. + + * When returning two values, eig now returns [v, d] instead of + [lambda, v], where d is a diagonal matrix made from lambda. + + * The win_texas_lotto function now produces a sorted list. + + * New functions: + + expm -- matrix exponential. + logm -- matrix logarithm. + +Summary of changes for version 0.55: +------------------------------------ + + * The following (C-style) backslash escape sequences work in quoted + strings (useful(?) with printf()): + + \a bell \r carriage return + \b backspace \t horizontal tab + \f formfeed \v vertical tab + \n newline \\ backslash + + * Use of `...' at the end of a line will allow a statement to + continue over more than one line. + + * The names `inf' and `nan' are now aliases for `Inf' and `NaN', + respectively. + + * New functions: + + casesen -- print a warning if the luser tries to turn off case + sensitivity. + median -- find median value. + norm -- compute the norm of a matrix. + sort -- sort columns. + + * New variable, `silent_functions'. If silent_functions == 'true', + the results of expressions are not printed even if they are not + followed by a semicolon. The disp() and printf() functions still + result in output. The default value for this variable is 'false'. + + * New variable `return_last_value_computed'. If it is 'true', + functions defined in script files return the last value computed + if a return value has not been explicitly declared. The default + value for this variable is 'false'. + +Summary of changes for version 0.52: +------------------------------------ + + * Name completion works for function and variable names currently in + the symbol tables. Coming soon: completion for names of functions + defined in script files but not yet compiled. + + * The initial value of do_fortran_indexing is now false, and the + initial value of prefer_column_vectors is now true. Swap the + values of these variables if you want behavior that is more like + Matlab. + + * All script files check the number of input arguments before doing + much real work. + + * The identifiers `i' and `j' are now also names for sqrt(-1). + These symbols may be used for other purposes, but their original + definition will reappear if they are cleared. + + * The symbol tables are now implemented with hash tables for faster + searching. + + * A small amount of help is now available for most built-in + operators, keywords and functions. Coming soon: help for script + files. + + * Without any arguments, the help command now lists all known + built-in operators, keywords and functions. + + * Generic parse errors are now signalled by `Eh, what's up doc?', + which is closer to what Bugs actually says. + + * The who command now only prints variable names by default. + Use the -fcn (or -fcns, or -functions) switch to print the names of + built-in or currently compiled functions. + +Summary of changes for version 0.51: +------------------------------------ + + * Major overhaul of array indexing. + + * The colloc function actually works now. + +Summary of changes for version 0.50: +------------------------------------ + + * The lsode and dassl functions now return the states only, + instead of the time and the states, so you must keep track of + the corresponding times (this is easy though, because you have + to specify a vector of desired output times anyway). + + * Solution of NLPs with NPSOL now works on the SPARC. + + * New keywords `endif', `endfor', `endfunction', `endif', and + `endwhile', which allow for better diagnostics. The `end' keyword + is still recognized. All script files have been changed to use + these new keywords in place of `end'. + + * It is now possible to uninstall Octave by doing a `make uninstall' + in the top level directory. + + * The Makefiles are much closer to conforming with GNU coding standards. + + * New functions: + + win_texas_lotto -- produce six unique random numbers between 1 and 50. + quad -- numerical integration. + lu -- LU factorization + qr -- QR factorization + dassl -- Solution of DAEs using DASSL. + + * New files: + + THANKS -- A list of people and organizations who have supported + the development of Octave. + + NEWS -- This file, listing recent changes. + + * Help is now available at the gnuplot prompt. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/NEWS.2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/NEWS.2 Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,1036 @@ +Summary of changes for version 2.1.x: +------------------------------------ + + * Given a matrix, X, and a boolean index, idx, of the same shape as + X, X(idx) and X(idx) = RHS now work no matter what the value of + do_fortran_indexing is. + + * If you are using GNU Emacs 19.34 or earlier, you will need to add + the following code to your ~/.emacs file in order to use Emacs + Octave mode: + + ;; Set up the custom library. + ;; taken from http://www.dina.kvl.dk/~abraham/custom/ + (eval-and-compile + (condition-case () + (require 'custom) + (error nil)) + (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) + nil ;; We've got what we needed + ;; We have the old custom-library, hack around it! + (defmacro defgroup (&rest args) + nil) + (defmacro defcustom (var value doc &rest args) + (` (defvar (, var) (, value) (, doc)))))) + + * When `format +' is in effect, Octave uses the following symbols to + provide more information about the values in a matrix: + + + postive real + - negative real + i pure imaginary + c complex + blank zero + + * The ++ and -- operators now work for indexed matrices, and the + following operators now work: + + +=, -=, *=, /=, \=, <<=, >>=, .*=, ./=, .\=, &=, |= + + These operators are currently implemented using a relatively + inefficient brute-force method but hey, they work. + + * The built-in variable argv is now a list of strings instead of a + string vector. + + * The value of LOADPATH set by the environment variable + OCTAVE_PATH, the -p or --path command line options, or on the + command line is no longer modified to include the default path. + Instead it is left as specified. Its default value is now ":", + which tells Octave to search the default path, and the new + built-in variable DEFAULT_LOADPATH contains the default list of + directories to search. + + * The function file_in_path no longer does any special processing of + its PATH argument. To search LOADPATH for files, it is now + generally better to use the new function file_in_loadpath. + + * If fread is given a skip parameter, the skip is performed after + the read instead of before (for compatibility with Matlab). + + * The new built-in variable `crash_dumps_octave_core' controls + whether Octave writes user variables to the file `octave-core' + when it crashes or is killed by a signal. The default value is 1 + (0 if you use --traditional). + + * If LOADPATH contains a doubled colon, the default path is inserted + in its place. This is similar to the substitution that also takes + place for leading or trailing colons in the LOADPATH. + + * Loops of the form `for i = STRING ... endfor' are now allowed. + + * It is now possible to set the iteration limit for lsode using + lsode_options ("step limit", N). + + * New functions: + + is_complex -- tell whether a variable is complex + rehash -- re-initialize the cache of directories in LOADPATH + graw -- send a string to the gnuplot subprocess + + * New functions from Kurt Hornik's Octave-ci package: + + In finance (new directory): + + fv -- future value of an investment + fvl -- future value of an initial lump sum investment + irr -- internal rate of return of an investment + nper -- number of payments needed for amortizing a loan + npv -- net present value of a series of payments + pmt -- amount of periodic payment needed to amortize a loan + pv -- present value of an investment + pvl -- present value of an investment that pays off at the end + rate -- rate of return of an investment + vol -- volatility of financial time series data + + In linear-algebra: + + dmult -- rescale the rows of a matrix + + In signal: + + arch_fit -- fit an ARCH regression model + arch_rnd -- simulate an ARCH process + arch_test -- test for conditional heteroscedascity + arma_rnd -- simulate an ARMA process + autocor -- compute autocorrelations + autocov -- compute autocovariances + autoreg_matrix -- design matrix for autoregressions + bartlett -- coefficients of the Bartlett (triangular) window + blackman -- coefficients of the Blackman window + diffpara -- estimate the fractional differencing parameter + durbinlevinson -- perform one step of the Durbin-Levinson algorithm + fractdiff -- compute fractional differences + hamming -- coefficients of the Hamming window + hanning -- coefficients of the Hanning window + hurst -- estimate the Hurst parameter + periodogram -- compute the periodogram + rectangle_lw -- rectangular lag window + rectangle_sw -- rectangular spectral window + sinetone -- compute a sine tone + sinewave -- compute a sine wave + spectral_adf -- spectral density estimation + spectral_xdf -- spectral density estimation + spencer -- apply Spencer's 15-point MA filter + stft -- short-term Fourier transform + synthesis -- recover a signal from its short-term Fourier transform + triangle_lw -- triangular lag window + triangle_sw -- triangular spectral window + yulewalker -- fit AR model by Yule-Walker method + + In statistics/base (new directory): + + center -- center by subtracting means + cloglog -- complementary log-log function + cor -- compute correlations + cov -- compute covariances + cut -- cut data into intervals + iqr -- interquartile range + kendall -- kendall's rank correlation tau + logit -- logit transformation + mean -- compute arithmetic, geometric, and harmonic mean + meansq -- compute mean square + moment -- compute moments + ppplot -- perform a PP-plot (probability plot) + probit -- probit transformation + qqplot -- perform a QQ-plot (quantile plot) + range -- compute range + ranks -- compute ranks + run_count -- count upward runs + spearman -- spearman's rank correlation rho + statistics -- compute basic statistics + studentize -- subtract mean and divide by standard deviation + table -- cross tabulation + values -- extract unique elements + var -- compute variance + + In statistics/distributions (new directory): + + beta_cdf -- CDF of the Beta distribution + beta_inv -- Quantile function of the Beta distribution + beta_pdf -- PDF of the Beta distribution + beta_rnd -- Random deviates from the Beta distribution + + binomial_cdf -- CDF of the binomial distribution + binomial_inv -- Quantile function of the binomial distribution + binomial_pdf -- PDF of the binomial distribution + binomial_rnd -- Random deviates from the binomial distribution + + cauchy_cdf -- CDF of the Cauchy distribution + cauchy_inv -- Quantile function of the Cauchy distribution + cauchy_pdf -- PDF of the Cauchy distribution + cauchy_rnd -- Random deviates from the Cauchy distribution + + chisquare_cdf -- CDF of the chi-square distribution + chisquare_inv -- Quantile function of the chi-square distribution + chisquare_pdf -- PDF of the chi-square distribution + chisquare_rnd -- Random deviates from the chi-square distribution + + discrete_cdf -- CDF of a discrete distribution + discrete_inv -- Quantile function of a discrete distribution + discrete_pdf -- PDF of a discrete distribution + discrete_rnd -- Random deviates from a discrete distribution + + empirical_cdf -- CDF of the empirical distribution + empirical_inv -- Quantile function of the empirical distribution + empirical_pdf -- PDF of the empirical distribution + empirical_rnd -- Bootstrap samples from the empirical distribution + + exponential_cdf -- CDF of the exponential distribution + exponential_inv -- Quantile function of the exponential distribution + exponential_pdf -- PDF of the exponential distribution + exponential_rnd -- Random deviates from the exponential distribution + + f_cdf -- CDF of the F distribution + f_inv -- Quantile function of the F distribution + f_pdf -- PDF of the F distribution + f_rnd -- Random deviates from the F distribution + + gamma_cdf -- CDF of the Gamma distribution + gamma_inv -- Quantile function of the Gamma distribution + gamma_pdf -- PDF of the Gamma distribution + gamma_rnd -- Random deviates from the Gamma distribution + + geometric_cdf -- CDF of the geometric distribution + geometric_inv -- Quantile function of the geometric distribution + geometric_pdf -- PDF of the geometric distribution + geometric_rnd -- Random deviates from the geometric distribution + + hypergeometric_cdf -- CDF of the hypergeometric distribution + hypergeometric_inv -- Random deviates from hypergeometric distribution + hypergeometric_pdf -- PDF of the hypergeometric distribution + hypergeometric_rnd -- Random deviates from hypergeometric distribution + + kolmogorov_smirnov_cdf -- CDF of the Kolmogorov-Smirnov distribution + + laplace_cdf -- CDF of the Laplace distribution + laplace_inv -- Quantile function of the Laplace distribution + laplace_pdf -- PDF of the Laplace distribution + laplace_rnd -- Random deviates from the Laplace distribution + + logistic_cdf -- CDF of the logistic distribution + logistic_inv -- Quantile function of the logistic distribution + logistic_pdf -- PDF of the logistic distribution + logistic_rnd -- Random deviates from the logistic distribution + + lognormal_cdf -- CDF of the log normal distribution + lognormal_inv -- Quantile function of the log normal distribution + lognormal_pdf -- PDF of the log normal distribution + lognormal_rnd -- Random deviates from the log normal distribution + + normal_cdf -- CDF of the normal distribution + normal_inv -- Quantile function of the normal distribution + normal_pdf -- PDF of the normal distribution + normal_rnd -- Random deviates from the normal distribution + + pascal_cdf -- CDF of the Pascal (negative binomial) distribution + pascal_inv -- Quantile function of the Pascal distribution + pascal_pdf -- PDF of the Pascal (negative binomial) distribution + pascal_rnd -- Random deviates from the Pascal distribution + + poisson_cdf -- CDF of the Poisson distribution + poisson_inv -- Quantile function of the Poisson distribution + poisson_pdf -- PDF of the Poisson distribution + poisson_rnd -- Random deviates from the Poisson distribution + + stdnormal_cdf -- CDF of the standard normal distribution + stdnormal_inv -- Quantile function of standard normal distribution + stdnormal_pdf -- PDF of the standard normal distribution + stdnormal_rnd -- Random deviates from standard normal distribution + + t_cdf -- CDF of the t distribution + t_inv -- Quantile function of the t distribution + t_pdf -- PDF of the t distribution + t_rnd -- Random deviates from the t distribution + + uniform_cdf -- CDF of the uniform distribution + uniform_inv -- Quantile function of the uniform distribution + uniform_pdf -- PDF of the uniform distribution + uniform_rnd -- Random deviates from the uniform distribution + + weibull_cdf -- CDF of the Weibull distribution + weibull_inv -- Quantile function of the Weibull distribution + weibull_pdf -- PDF of the Weibull distribution + weibull_rnd -- Random deviates from the Weibull distribution + + wiener_rnd -- Simulate a Wiener process + + In statistics/models (new directory): + + logistic_regression -- ordinal logistic regression + logistic_regression_derivatives -- derivates of log-likelihood + in logistic regression + logistic_regression_likelihood -- likelihood in logistic regression + + In statistics/tests (new directory): + + anova -- one-way analysis of variance + bartlett_test -- bartlett test for homogeneity of variances + chisquare_test_homogeneity -- chi-square test for homogeneity + chisquare_test_independence -- chi-square test for independence + cor_test -- test for zero correlation + f_test_regression -- test linear hypotheses in linear + regression model + hotelling_test -- test for mean of a multivariate normal + hotelling_test_2 -- compare means of two multivariate normals + kolmogorov_smirnov_test -- one-sample Kolmogorov-Smirnov test + kolmogorov_smirnov_test_2 -- two-sample Kolmogorov-Smirnov test + kruskal_wallis_test -- kruskal-Wallis test + manova -- one-way multivariate analysis of variance + mcnemar_test -- mcnemar's test for symmetry + prop_test_2 -- compare two proportions + run_test -- run test for independence + sign_test -- sign test + t_test -- student's one-sample t test + t_test_2 -- student's two-sample t test + t_test_regression -- test one linear hypothesis in linear + regression model + u_test -- mann-Whitney U-test + var_test -- f test to compare two variances + welch_test -- welch two-sample t test + wilcoxon_test -- wilcoxon signed-rank test + z_test -- test for mean of a normal sample with + known variance + z_test_2 -- compare means of two normal samples with + known variances + + * The save command now accepts the option -append to save the + variables at the end of the file, leaving the existing contents. + + * New command-line option --no-history (also available using the + single character option -H) inhibits saving command history. + + * The mkoctfile script now accepts -DDEF options and passes them on + to the C and C++ compilers. + + * Running `make check' should work now before you run `make install', + even if you build a copy of Octave that depends on shared versions + of the Octave libraries. + + * For matrices, x(:) now works and returns a column vector no matter + what the value of do_fortran_indexing is. + + * New keywords __FILE__ and __LINE__ expand to the name of the file + that is being read and the current input line number, respectively. + + * Octave's expression parser is more general and consistent. It is + now possible to access structure elements and index arbitrary + values. For example, expressions like + + my_home_dir = getpwuid (getuid ()) . dir; + + and + + svd (x) (1:5) + + now work. + + * New built-in variable `print_rhs_assign_val' controls what is + printed when an assignment expression is evaluated. If it is + zero, the value of the variable on the left hand side (after the + assignment) is printed. If it is nonzero, the value of the right + hand side (i.e., the result of the expression) is printed. The + default value of is zero, so the behavior is the same as in + previous versions of Octave. + + * tmpnam now takes two optional arguments, DIR, and PREFIX. For + example, tmpnam ("/foo", "bar-") returns a file name like + "/foo/bar-10773baa". If DIR is omitted or empty, the value of the + environment variable TMPDIR, or /tmp is used. If PREFIX is + omitted, "oct-" is used. + + * The built-in variable `PWD' has been removed. If you need to get + the value of the current working directory, use the pwd() function + instead. + + * New operators. Octave's parser now recognizes the following + operators: << >> += -= *= /= .+= .-= .*= ./= &= |= <<= >>=. So + far, there are only a few operations defined that actually use + them (this should change before 2.1 is released). + + * New built-in data types: + + logical: + + A true value is represented by 1, and false value by 0. + Comparison operations like <, <=, ==, >, >=, and != now return + logical values. Indexing operations that use zero-one style + indexing must now use logical values. You can use the new + function logical() to convert a numeric value to a logical + value. This avoids the need for the built-in variable + `prefer_zero_one_indexing', so it has been removed. Logical + values are automatically converted to numeric values where + appropriate. + + file: + + A file object represents an open Octave stream object. The + fopen function now returns a file object instead of an integer. + File objects can be converted to integers automatically, and the + other functions that work with file ids still work with + integers, so this change should be backward compatible. + + The binary left-shift operator `<<' has been defined to work as + in C++ for file objects and built-in types. For example, + + my_stream = fopen ("foo", "w"); + my_stream << "x = " << pi << " marks the spot\n"; + + writes `x = 3.1416 marks the spot' in the file foo. + + The built-in variables stdin, stdout, and stderr are now also + file objects instead of integers. + + list: + + A list is an array of Octave objects. It can be indexed using + the normal indexing operator. For example, + + x = list ([1,2;3,4], 1, "foo"); + stdout << x(2) << "\n" + 1 + stdout << x; + ( + [1] = + + 1 2 + 3 4 + + [2] = 1 + [3] = foo + ) + + There is currently no special syntax for creating lists; you + must use the list function. + + * Commas in global statements are no longer special. They are now + treated as command separators. This removes a conflict in the + grammar and is consistent with the way Matlab behaves. The + variable `warn_comma_in_global_decl' has been eliminated. + + * It is now possible to declare static variables that retain their + values across function calls. For example, + + function ncall = f () static n = 0; ncall = ++n; endfunction + + defines a function that returns the number of times that it has + been called. + + * Within user-defined functions, the new automatic variable `argn' + contains the names of the arguments that were passed to the + function. For example, + + function f (...) + for i = 1:nargin + stdout << "argn(" << i << ") = `" << deblank (argn(i,:)) \ + << "' and its value is " << va_arg () << "\n"; + endfor + endfunction + f (1+2, "foo", sin (pi/2)) + + prints + + argn(1) = `1 + 2' and its value is 3 + argn(2) = `"foo"' and its value is foo + argn(3) = `sin (pi)' and its value is 1 + + on the standard output stream. If nargin is zero, argn is not defined. + * Functions like quad, fsolve, and lsode can take either a function + name or a simple function body as a string. For example, + + quad ("sqrt (x)", 0, 1) + + is equivalent to + + function y = f (x) y = sqrt (x); endfunction + quad ("f", 0, 1) + + * If the argument to eig() is symmetric, Octave uses the specialized + Lapack subroutine for symmetric matrices for a significant + increase in performance. + + * If the argument to lsode that names the user-supplied function is + a 2-element string array, the second element is taken as the name + of the Jacobian function. The named function should have the + following form: + + JAC = f (X, T) + + where JAC is the Jacobian matrix of partial derivatives of the + right-hand-side functions that define the set of differential + equations with respect to the state vector X. + + * Global variables are now initialized to the empty matrix, for + compatibility with Matlab. + + * Explicit initialization of global variables only happens once. + For example, after the following statements are evaluated, g still + has the value 1. + + global g = 1 + global g = 2 + + This is useful for initializing global variables that are used to + maintain state information that is shared among several functions. + + * Structure elements completion on the command line actually works + now. + + * The new built-in variable `fixed_point_format' controls whether + Octave uses a scaled fixed-point format for displaying matrices. + The default value is 0 unless you use --traditional. + + * The function sumsq now computes sum (x .* conj (x)) for complex values. + + * The new built-in variable max_recursion_depth allows you to + prevent Octave from attempting infinite recursion. The default + value is 256. + + * Octave now uses kpathsea 3.2. + + * New configure option, --enable-readline. + + * New configure option, --enable-static. + +Summary of changes for version 2.0.7: +------------------------------------ + + This is a bug-fixing release. There are no new user-visible features. + +Summary of changes for version 2.0.6: +------------------------------------ + + This is primarily a bug-fixing release. There are only a few new + user-visible features. + + * The new built-in variable default_eval_print_flag controls whether + Octave prints the results of commands executed by eval() that do + not end with semicolons. The default is 1. + + * The new built-in constant OCTAVE_HOME specifies the top-level + directory where Octave is installed. + + * Octave no longer includes functions to work with NPSOL or QPSOL, + because they are not free software. + + * The new built-in variable called kluge_procbuf_delay specifies the + number of microseconds to delay in the parent process after + forking. By default on gnu-win32 systems, it's set to 500000 (1/2 + second). On other systems, the default value is 0. Delaying for + a short time in the parent after forking seems to avoid problems + in which communicating with subprocesses via pipes would sometimes + cause Octave to hang. I doubt that the delay is really the right + solution. If anyone has a better idea, I'd love to hear it. + +Summary of changes for version 2.0.5: +------------------------------------ + + * A `switch' statement is now available. See the Statements chapter + in the manual for details. + + * Commands like ls, save, and cd may now also be used as formal + parameters for functions. + + * More tests. + +Summary of changes for version 2.0.4: +------------------------------------ + + * It is now possible to use commands like ls, save, and cd as simple + variable names. They still cannot be used as formal parameters + for functions, or as the names of structure variables. Failed + assignments leave them undefined (you can recover the original + function definition using clear). + + * Is is now possible to invoke commands like ls, save, and cd as + normal functions (for example, load ("foo", "x", "y", "z")). + +Summary of changes for version 2.0.3: +------------------------------------ + + * The manual has been completely revised and now corresponds much + more closely to the features of the current version. + + * The return value for assignment expressions is now the RHS since + that is more consistent with the way other programming languages + work. However, Octave still prints the entire LHS value so that + + x = zeros (1, 2); + x(2) = 1 + + still prints + + x = + + 0 1 + + but an assignment like + + z = x(2) = 1 + + sets z to 1 (not [ 0, 1 ] as in previous versions of Octave). + + * It is now much easier to make binary distributions. See the + Binary Distributions section of the manual for more details. + +Summary of changes for version 2.0.2: +------------------------------------ + + * Octave now stops executing commands from a script file if an error + is encountered. + + * The return, and break commands now cause Octave to quit executing + commands from script files. When used in invalid contexts, the + break, continue, and return commands are now simply ignored + instead of producing parse errors. + + * size ("") is now [0, 0]. + + * New functions: + + sleep -- pause execution for a specified number of seconds + usleep -- pause execution for a specified number of microseconds + +Summary of changes for version 2.0: +---------------------------------- + + * The set and show commands for setting and displaying gnuplot + parameters have been replaced by gset and gshow. This change will + probably break lots of things, but it is necessary to allow for + compatibility with the Matlab graphics and GUI commands in a + future version of Octave. (For now, the old set and show commands + do work, but they print an annoying warning message to try to get + people to switch to using gset.) + + * Octave has been mostly ported to Windows NT and Windows 95 using + the beta 17 release of the Cygnus GNU-WIN32 tools. Not everything + works, but it is usable. See the file README.WINDOWS for more + information. + + * Dynamic linking works on more systems using dlopen() and friends + (most modern Unix systems) or shl_load() and friends (HP/UX + systems). A simple example is provided in examples/hello.cc. + For this feature to work, you must configure Octave with + --enable-shared. You may also need to have a shared-library + version of libg++ and libstdc++. + + * New data types can be added to Octave by writing a C++ class. On + systems that support dynamic linking, new data types can be added + to an already running Octave binary. A simple example appears in + the file examples/make_int.cc. Other examples are the standard + Octave data types defined in the files src/ov*.{h,cc} and + src/op-*.cc. + + * The configure option --enable-bounds-check turns on bounds + checking on element references for Octave's internal array and + matrix classes. It's enabled by default. To disable this + feature, configure Octave with --disable-bounds-check. + + * The C-style I/O functions (fopen, fprintf, etc.) have been + rewritten to be more compatible with Matlab. The fputs function + has also been added. Usage of the *printf functions that was + allowed in previous versions of Octave should still work. + However, there is no way to make the new versions of the *scanf + functions compatible with Matlab *and* previous versions of + Octave. An optional argument to the *scanf functions is now + available to make them behave in a way that is compatible with + previous versions of Octave. + + * Octave can now read files that contain columns of numbers only, + with no header information. The name of the loaded variable is + constructed from the file name. Each line in the file must have + the same number of elements. + + * The interface to the pager has changed. The new built-in variable + `page_output_immediately' controls when Octave sends output to the + pager. If it is nonzero, Octave sends output to the pager as soon + as it is available. Otherwise, Octave buffers its output and + waits until just before the prompt is printed to flush it to the + pager. + + * Expressions of the form + + A(i,j) = x + + where X is a scalar and the indices i and j define a matrix of + elements now work as you would expect rather than giving an error. + I am told that this is how Matlab 5.0 will behave when it is + released. + + * Indexing of character strings now works. + + * The echo command has been implemented. + + * The document command is now a regular function. + + * New method for handling errors: + + try + BODY + catch + CLEANUP + end_try_catch + + Where BODY and CLEANUP are both optional and may contain any + Octave expressions or commands. The statements in CLEANUP are + only executed if an error occurs in BODY. + + No warnings or error messages are printed while BODY is + executing. If an error does occur during the execution of BODY, + CLEANUP can access the text of the message that would have been + printed in the builtin constant __error_text__. This is the same + as eval (TRY, CATCH) (which may now also use __error_text__) but + it is more efficient since the commands do not need to be parsed + each time the TRY and CATCH statements are evaluated. + + * Octave no longer parses the help command by grabbing everything + after the keyword `help' until a newline character is read. To + get help for `;' or `,', now, you need to use the command + `help semicolon' or `help comma'. + + * Octave's parser now does some simple constant folding. This means + that expressions like 3*i are now evaluated only once, when a + function is compiled, and the right hand side of expressions like + a = [1,2;3,4] are treated as true matrix constants rather than + lists of elements which must be evaluated each time they are + needed. + + * Built-in variables that can take values of "true" and "false" can + now also be set to any nonzero scalar value to indicate "true", + and 0 to indicate "false". + + * New built-in variables `history_file', `history_size', and + `saving_history'. + + * New built-in variable `string_fill_char' specifies the character + to fill with when creating arrays of strings. + + * If the new built-in variable `gnuplot_has_frames' is nonzero, + Octave assumes that your copy of gnuplot includes support for + multiple plot windows when using X11. + + If the new built-in variable `gnuplot_has_multiplot' is nonzero, + Octave assumes that your copy of gnuplot has the multiplot support + that is included in recent 3.6beta releases. + + The initial values of these variables are determined by configure, + but can be changed in your startup script or at the command line + in case configure got it wrong, or if you upgrade your gnuplot + installation. + + * The new plot function `figure' allows multiple plot windows when + using newer versions of gnuplot with X11. + + * Octave now notices when the plotter has exited unexpectedly. + + * New built-in variable `warn_missing_semicolon'. If nonzero, Octave + will warn when statements in function definitions don't end in + semicolons. The default value is 0. + + * Octave now attempts to continue after floating point exceptions + or out-of-memory errors. + + * If Octave crashes, it now attempts to save all user-defined + variables in a file named `octave-core' in the current directory + before exiting. + + * It is now possible to get the values of individual option settings + for the dassl, fsolve, lsode, npsol, qpsol, and quad functions + using commands like + + dassl_reltol = dassl_options ("relative tolerance"); + + * The svd() function no longer computes the left and right singular + matrices unnecessarily. This can significantly improve + performance for large matrices if you are just looking for the + singular values. + + * The filter() function is now a built-in function. + + * New function randn() returns a pseudo-random number from a normal + distribution. The rand() and randn() functions have separate + seeds and generators. + + * Octave's command-line arguments are now available in the built-in + variable `argv'. The program name is also available in the + variables `program_invocation_name' and `program_name'. If + executing a script from the command line (e.g., octave foo.m) or + using the `#! /bin/octave' hack, the program name is set to the + name of the script. + + * New built-in variable `completion_append_char' used as the + character to append to successful command-line completion + attempts. The default is " " (a single space). + + * Octave now uses a modified copy of the readline library from + version 1.14.5 of GNU bash. + + * In prompt strings, `\H' expands to the whole host name. + + * New built-in variable `beep_on_error'. If nonzero, Octave will try + to ring your terminal's bell before printing an error message. + The default value is 0. + + * For functions defined from files, the type command now prints the + text of the file. You can still get the text reconstructed from + the parse tree by using the new option -t (-transformed). + + * New command-line argument --traditional sets the following + preference variables for compatibility with Matlab: + + PS1 = ">> " + PS2 = "" + beep_on_error = 1 + default_save_format = "mat-binary" + define_all_return_values = 1 + do_fortran_indexing = 1 + empty_list_elements_ok = 1 + implicit_str_to_num_ok = 1 + ok_to_lose_imaginary_part = 1 + page_screen_output = 0 + prefer_column_vectors = 0 + prefer_zero_one_indexing = 1 + print_empty_dimensions = 0 + treat_neg_dim_as_zero = 1 + warn_function_name_clash = 0 + whitespace_in_literal_matrix = "traditional" + + * New functions: + + readdir -- returns names of files in directory as array of strings + mkdir -- create a directory + rmdir -- remove a directory + rename -- rename a file + unlink -- delete a file + umask -- set permission mask for file creation + stat -- get information about a file + lstat -- get information about a symbolic link + glob -- perform filename globbing + fnmatch -- match strings with filename globbing patterns + more -- turn the pager on or off + gammaln -- alias for lgamma + + * New audio functions from Andreas Weingessel + . + + lin2mu -- linear to mu-law encoding + loadaudio -- load an audio file to a vector + mu2lin -- mu-law to linear encoding + playaudio -- play an audio file + record -- record sound and store in vector + saveaudio -- save a vector as an audio file + setaudio -- executes mixer shell command + + * New plotting functions from Vinayak Dutt. Ones dealing with + multiple plots on one page require features from gnuplot 3.6beta + (or later). + + bottom_title -- put title at the bottom of the plot + mplot -- multiplot version of plot + multiplot -- switch multiple-plot mode on or off + oneplot -- return to one plot per page + plot_border -- put a border around plots + subplot -- position multiple plots on a single page + subwindow -- set subwindow position for next plot + top_title -- put title at the top of the plot + zlabel -- put a label on the z-axis + + * New string functions + + bin2dec -- convert a string of ones and zeros to an integer + blanks -- create a string of blanks + deblank -- delete trailing blanks + dec2bin -- convert an integer to a string of ones and zeros + dec2hex -- convert an integer to a hexadecimal string + findstr -- locate occurrences of one string in another + hex2dec -- convert a hexadecimal string to an integer + index -- return position of first occurrence a string in another + rindex -- return position of last occurrence a string in another + split -- divide one string into pieces separated by another + str2mat -- create a string matrix from a list of strings + strrep -- replace substrings in a string + substr -- extract a substring + + The following functions return a matrix of ones and zeros. + Elements that are nonzero indicate that the condition was true for + the corresponding character in the string array. + + isalnum -- letter or a digit + isalpha -- letter + isascii -- ascii + iscntrl -- control character + isdigit -- digit + isgraph -- printable (but not space character) + islower -- lower case + isprint -- printable (including space character) + ispunct -- punctuation + isspace -- whitespace + isupper -- upper case + isxdigit -- hexadecimal digit + + These functions return new strings. + + tolower -- convert to lower case + toupper -- convert to upper case + + * New function, fgetl. Both fgetl and fgets accept an optional + second argument that specifies a maximum number of characters to + read, and the function fgets is now compatible with Matlab. + + * Printing in hexadecimal format now works (format hex). It is also + possible to print the internal bit representation of a value + (format bit). Note that these formats are only implemented for + numeric values. + + * Additional structure features: + + -- Name completion now works for structures. + + -- Values and names of structure elements are now printed by + default. The new built-in variable `struct_levels_to_print' + controls the depth of nested structures to print. The default + value is 2. + + -- New functions: + + struct_contains (S, NAME) -- returns 1 if S is a structure with + element NAME; otherwise returns 0. + + struct_elements (S) -- returns the names of all elements + of structure S in an array of strings. + + * New io/subprocess functions: + + fputs -- write a string to a file with no formatting + popen2 -- start a subprocess with 2-way communication + mkfifo -- create a FIFO special file + popen -- open a pipe to a subprocess + pclose -- close a pipe from a subprocess + waitpid -- check the status of or wait for subprocesses + + * New time functions: + + asctime -- format time structure according to local format + ctime -- equivalent to `asctime (localtime (TMSTRUCT))' + gmtime -- return time structure corresponding to UTC + localtime -- return time structure corresponding to local time zone + strftime -- print given time structure using specified format + time -- return current time + + The `clock' and `date' functions are now implemented in M-files + using these basic functions. + + * Access to additional Unix system calls: + + dup2 -- duplicate a file descriptor + exec -- replace current process with a new process + fcntl -- control open file descriptors + fork -- create a copy of the current process + getpgrp -- return the process group id of the current process + getpid -- return the process id of the current process + getppid -- return the process id of the parent process + getuid -- return the real user id of the current process + getgid -- return the real group id of the current process + geteuid -- return the effective user id of the current process + getegid -- return the effective group id of the current process + pipe -- create an interprocess channel + + * Other new functions: + + commutation_matrix -- compute special matrix form + duplication_matrix -- compute special matrix form + common_size.m -- bring arguments to a common size + completion_matches -- perform command completion on string + tilde_expand -- perform tilde expansion on string + + meshgrid -- compatible with Matlab's meshgrid function + tmpnam -- replaces octave_tmp_file_name + atexit -- register functions to be called when Octave exits + putenv -- define an environment variable + bincoeff -- compute binomial coefficients + nextpow2 -- compute the next power of 2 greater than a number + detrend -- remove a best fit polynomial from data + erfinv -- inverse error function + shift -- perform a circular shift on the elements of a matrix + pow2 -- compute 2 .^ x + log2 -- compute base 2 logarithms + diff -- compute differences of matrix elements + vech -- stack columns of a matrix below the diagonal + vec -- stack columns of a matrix to form a vector + xor -- compute exclusive or + + * Functions for getting info from the password database on Unix systems: + + getpwent -- read entry from password-file stream, opening if necessary + getpwuid -- search for password entry with matching user ID + getpwnam -- search for password entry with matching username + setpwent -- rewind the password-file stream + endpwent -- close the password-file stream + + * Functions for getting info from the group database on Unix systems: + + getgrent -- read entry from group-file stream, opening if necessary + getgrgid -- search for group entry with matching group ID + getgrnam -- search for group entry with matching group name + setgrent -- rewind the group-file stream + endgrent -- close the group-file stream + + * The New function octave_config_info returns a structure containing + information about how Octave was configured and compiled. + + * New function getrusage returns a structure containing system + resource usage statistics. The `cputime' function is now defined + in an M-file using getrusage. + + * The info reader is now a separate binary that runs as a + subprocess. You still need the info reader distributed with + Octave though, because there are some new command-line arguments + that are not yet available in the public release of Info. + + * There is a new built-in variable, INFO_PROGRAM, which is used as + the name of the info program to run. Its initial value is + $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can + be overridden by the environment variable OCTAVE_INFO_PROGRAM, or + the command line argument --info-program NAME, or by setting the + value of INFO_PROGRAM in a startup script. + + * There is a new built-in variable, EXEC_PATH, which is used as + the list of directories to search when executing subprograms. Its + initial value is taken from the environment variable + OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be + overridden by the command line argument --exec-path PATH, or + by setting the value of EXEC_PATH in a startup script. If the + EXEC_PATH begins (ends) with a colon, the directories + $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are + prepended (appended) to EXEC_PATH (if you don't specify a value + for EXEC_PATH explicitly, these special directories are prepended + to your PATH). + + * If it is present, Octave will now use an `ls-R' database file to + speed up recursive path searching. Octave looks for a file called + ls-R in the directory specified by the environment variable + OCTAVE_DB_DIR. If that is not set but the environment variable + OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave. + Otherwise, Octave looks in the directory $datadir/octave (normally + /usr/local/lib/octave). + + * New examples directory. + + * There is a new script, mkoctfile, that can be used to create .oct + files suitable for dynamic linking. + + * Many more bug fixes. + + * ChangeLogs are now kept in each subdirectory. + +See NEWS.1 for old news. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/NEWS.3 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/NEWS.3 Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,200 @@ +Summary of important user-visible changes for version 3.0: +--------------------------------------------------------- + + ** Compatibility with Matlab graphics is much better now. We now + have some graphics features that work like Matlab's Handle + Graphics (tm): + + + You can make a subplot and then use the print function to + generate a file with the plot. + + + RGB line colors are supported if you use gnuplot 4.2. Octave + can still use gnuplot 4.0, but there is no way to set arbitrary + line colors with it when using the Matlab-style plot functions. + There never was any way to do this reliably with older versions + of gnuplot (whether run from Octave or not) since it only + provided a limited set to choose from, and they were terminal + dependent, so choosing color 1 with the X11 terminal would be + different from color 1 with the PostScript terminal. Valid RGB + colors for gnuplot 4.0 are the eight possible combinations of 0 + and 1 for the R, G and B values. Invalid values are all mapped + to the same color. + + This also affects patch objects used in the bar, countour, meshc + and surfc functions, where the bars and contours will be + monochrome. A workaround for this is to type "colormap gmap40" + that loads a colormap that in many cases will be adequate for + simple bar and contour plots. + + + You can control the width of lines using (for example): + + line (x, y, "linewidth", 4, "color", [1, 0, 0.5]); + + (this also shows the color feature). + + + With gnuplot 4.2, image data is plotted with gnuplot and may be + combined with other 2-d plot data. + + + Lines for contour plots are generated with an Octave function, so + contour plots are now 2-d plots instead of special 3-d plots, and + this allows you to plot additional 2-d data on top of a contour + plot. + + + With the gnuplot "extended" terminals the TeX interpreter is + emulated. However, this means that the TeX interpreter is only + supported on the postscript terminals with gnuplot 4.0. Under + gnuplot 4.2 the terminals aqua, dumb, png, jpeg, gif, pm, windows, + wxt, svg and x11 are supported as well. + + + The following plot commands are now considered obsolete and will + be removed from a future version of Octave: + + __gnuplot_set__ + __gnuplot_show__ + __gnuplot_plot__ + __gnuplot_splot__ + __gnuplot_replot__ + + Additionally, these functions no longer have any effect on plots + created with the Matlab-style plot commands (plot, line, mesh, + semilogx, etc.). + + + Plot property values are not extensively checked. Specifying + invalid property values may produce unpredictable results. + + + Octave now sends data over the same pipe that is used to send + commands to gnuplot. While this avoids the problem of + cluttering /tmp with data files, it is no longer possible to use + the mouse to zoom in on plots. This is a limitation of gnuplot, + which is unable to zoom when the data it plots is not stored in + a file. Some work has been done to fix this problem in newer + versions of gnuplot (> 4.2.2). See for example, this thread + + http://www.nabble.com/zooming-of-inline-data-tf4357017.html#a12416496 + + on the gnuplot development list. + + + ** The way Octave handles search paths has changed. Instead of + setting the built-in variable LOADPATH, you must use addpath, + rmpath, or path to manipulate the function search path. These + functions will maintain "." at the head of the path, for + compatibility with Matlab. + + Leading, trailing or doubled colons are no longer special. + Now, all elements of the search path are explicitly included in + the path when Octave starts. To display the path, use the path + function. + + Path elements that end in // are no longer searched recursively. + Instead, you may use addpath and the genpath function to add an + entire directory tree to the path. For example, + + addpath (genpath ("~/octave")); + + will add ~/octave and all directories below it to the head of the + path. + + + ** Previous versions of Octave had a number of built-in variables to + control warnings (for example, warn_divide_by_zero). These + variables have been replaced by warning identifiers that are used + with the warning function to control the state of warnings. + + For example, instead of writing + + warn_divide_by_zero = false; + + to disable divide-by-zero warnings, you should write + + warning ("off", "Octave:divide-by-zero"); + + You may use the same technique in your own code to control + warnings. For example, you can use + + warning ("My-package:phase-of-the-moon", + "the phase of the moon could cause trouble today"); + + to allow users to control this warning using the + "My-package:phase-of-the-moon" warning identifier. + + You may also enable or disable all warnings, or turn them into + errors: + + warning ("on", "all"); + warning ("off", "all"); + warning ("error", "Octave:divide-by-zero"); + warning ("error", "all"); + + You can query the state of current warnings using + + warning ("query", ID) + warning ("query") + + (only those warning IDs which have been explicitly set are + returned). + + A partial list and description of warning identifiers is available + using + + help warning_ids + + + ** All built-in variables have been converted to functions. This + change simplifies the interpreter and allows a consistent + interface to internal variables for user-defined packages and the + core functions distributed with Octave. In most cases, code that + simply accesses internal variables does not need to change. Code + that sets internal variables will change. For example, instead of + writing + + PS1 = ">> "; + + you will need to write + + PS1 (">> "); + + If you need write code that will run in both old and new versions + of Octave, you can use something like + + if (exist ("OCTAVE_VERSION") == 5) + ## New: + PS1 (">> "); + else + ## Old: + PS1 = ">> "; + endif + + + ** For compatibility with Matlab, the output order of Octave's + "system" function has changed from + + [output, status] = system (cmd); + + to + + [status, output] = system (cmd); + + + ** For compatibility with Matlab, the output of Octave's fsolve + function has been changed from + + [x, info, msg] = fsolve (...); + + to + + [x, fval, info] = fsolve (...); + + + ** For compatibility with Matlab, normcdf, norminv, normpdf, and + normrnd have been modified to compute distributions using the + standard deviation instead of the variance. + + + ** For compatibility with Matlab, gamcdf, gaminv, gampdf, gamrnd, + expcdf, expinv, exppdf and exprnd have been modified to compute + the distributions using the standard scale factor rather than + one over the scale factor. + + +See NEWS.2 for old news. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,6999 @@ +2011-04-14 Rik + + * NEWS: Add colstyle to list of new functions for 3.4 + +2011-04-04 Rik + + * NEWS: Add perror, strerror to list of functions deprecated in 3.4 + +2011-03-31 Rik + + * NEWS: Add cquad to list of functions deprecated in 3.4 + +2011-03-24 Jarno Rajahalme + + * configure.ac: Try again with "-ff2c" if fortran compiler is + found incompatible. On OSX, try again with + libcruft/misc/blaswrap.c, if "-ff2c" also fails. + +2011-03-17 Iain Murray + + * bootstrap.conf (gnulib_modules): Include nproc in the list. + +2011-03-08 Rik + + * mk-opts.pl: Recode using more modern Perl syntax. + Use my, not local, for lexically-scoped variables. + Use ALL_CAPITALS for global variable names. + Change code to remove any warnings from Perl lint (-w). + Inline small subroutines for better readability. + Use here documents and qq operator to avoid excessive backlashing of ". + Add more informative usage() information. + +2011-03-03 Rik + + * NEWS: Deprecate is_duplicate_entry. + +2011-03-01 Ben Abbott + + * README.MacOS: Add Fink packages needed to support print output. + +2011-02-28 Rik + + * NEWS: Mention new functions isrow, iscolumn. + +2011-02-23 Jordi Gutiérrez Hermoso + + * .hgignore: Cleanup and more files to be ignore that get added + to the source during build time. + +2011-02-22 Rik + + * Makefile.am: New explicit 'make check' target. + +2011-02-21 John W. Eaton + + * NEWS: Note that PCRE is now required to build Octave. + * configure.ac: Improve check for PCRE, which is now required. + Don't check for -lregex. + +2011-02-19 Rik + + * README.MacOS: Keep line length below 80, use 2 spaces to start + sentences. + +2011-02-16 Richard Campbell + + * README.MacOS: Updated Readme.MacOS section 2.2.1 with results of test + compilation on vanilla machine. + +2011-02-15 Benjamin Lindner + + * configure.ac: Use AC_COMPILE_IFELSE to check for OpenGL + support in FLTK. + +2011-02-09 John W. Eaton + + * NEWS: Update. + +2011-02-09 Ben Abbott + + * README.MacOS: Spelling corrections. + +2011-02-08 Ben Abbott + + * README.MacOS: Fix FFTW CCFLAGS. + +2011-02-08 Rik + + * NEWS: Use indentation of 2 spaces rather than 3 in code examples. + +2011-02-08 Ben Abbott + + * README.MacOS: Add detail. + +2011-02-08 John W. Eaton + + * NEWS: Add note about subfunctions. + +2011-02-06 John W. Eaton + + * PROJECTS, README.devel: Use maintainers@octave.org instead of + octave-maintainers@octave.org. + +2011-02-05 Rik + + * PROJECTS: Point to maintained list on Octave Wiki. + +2011-02-05 Rik + + * mkoctfile.in, octave-config.in: Update usage strings. + +2011-02-04 Rik + + * configure.ac: Add new doc/icons/Makefile to list of Makefiles to build + * examples/Makefile.am: Move building of .desktop files and distribution + of icons to doc/icons directory. + +2011-01-30 Rik + + * NEWS: Deprecate glpkmex function. + +2011-01-30 John W. Eaton + + * acinclude.m4 (OCTAVE_PROG_GHOSTSCRIPT): Update warning message. + +2011-01-30 John W. Eaton + + * configure.ac: Remove code to print warning for missing ARPACK. + * README.MacOS: Remove arpack from list of prerequisite software. + +2011-01-29 Rik + + * NEWS: Deprecate saveimage function. + +2011-01-28 Ben Abbott + + * README.MacOS: Spelling corrections. + * README.MacOS: Additional modifications for building Octave manually. + * README.MacOS: Modify instructions for building Octave manually. + +2011-01-28 John W. Eaton + + * configure.ac: Don't check for ARPACK. + * common.mk (ARPACK_CPPFLAGS, ARPACK_LDFLAGS, ARPACK_LIBS): + Delete variables. + (do_subst_config_vals): Don't substitute them. + +2011-01-27 Ben Abbott + + * README.MacOS: Modify instructions for MacPorts to "deactivate" + rather than "uninstall" octave. + +2011-01-26 John W. Eaton + + * mk-opts.pl, mkoctfile.cc.in, mkoctfile.in: Untabify. + + * mkf77def.in, mk-opts.pl, mkoctfile.cc.in, structdemo.cc, + unwinddemo.cc, fortdemo.cc, paramdemo.cc, + celldemo.cc,stringdemo.cc, hello.cc, embedded.cc, helloworld.cc: + Strip trailing whitespace. + +2011-01-26 Ben Abbott + + * README.MacOS: Modify organization, and update for MacPorts. + +2011-01-26 John W. Eaton + + * bootstrap: Update from gnulib sources. + +2011-01-26 John W. Eaton + + * configure.ac (INSTALL_SCRIPT): Update commend about UGLY_DEFS. + +2011-01-26 John W. Eaton + + * acinclude.m4 (OPENGL_LIBS): Don't add -L/usr/X11R6/LIB to + LDFLAGS in test. Bug #32160. + +2011-01-25 Rik + + * Makefile.am: Directly run makefile rules in doc/interpreter directory + for AUTHORS, BUGS, INSTALL.OCTAVE files. + +2011-01-25 John W. Eaton + + * autogen.sh (AUTOMAKE): Add --foreign to the automake command. + Check for required GNU files here instead of having automake do it. + Export AUTOMAKE so our options are actually used. + +2011-01-25 John W. Eaton + + * Makefile.am (EXTRA_DIST): Remove ROADMAP from the list. + +2011-01-24 Rik + + * AUTHORS: Remove. File now auto-generated from contributors.texi. + * Makefile.am: Add rule for AUTHORS file. + +2011-01-24 John W. Eaton + + * NEWS: Note change in audio/mu2lin. + +2011-01-22 Tatsuro MATSUOKA + + * README.MinGW: Small corrections to documentation. + +2011-01-22 Rik + + * README.devel: Update for 3.4 release. + +2011-01-22 Rik + + * HACKING: Revise and incorporate all of file ROADMAP. + * ROADMAP: Deleted. + +2011-01-22 Rik + + * README.Windows: Reference README.MinGW + * README.MinGW: Replace placeholder with actual instructions + +2011-01-22 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.5.0+. + (OCTAVE_API_VERSION_NUMBER): Now 44. + (OCTAVE_RELEASE_DATE): Now 2011-01-22. + (OCTAVE_COPYRIGHT): Update year. + +2011-01-20 Rik + + * README.Cygwin, README.MacOS, README.Windows, README.ftp: Update + documentation files for 3.4 release. + + * README.MinGW: Create placeholder for new README file. + +2011-01-20 John W. Eaton + + * bootstrap: Update from gnulib sources. + +2011-01-20 John W. Eaton + + * configure.ac, NEWS: Update for backend -> graphics_toolkit change. + +2011-01-17 Rik + + * NEWS: Add quadcc to list of new functions added. + +2011-01-17 John W. Eaton + + * mkoctfile.cc.in (main): Add + missing from previous change. + +2011-01-15 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.54. + (OCTAVE_API_VERSION_NUMBER): Now 42. + (OCTAVE_RELEASE_DATE): Now 2010-11-19. + +2011-01-15 John W. Eaton + + * NEWS: Add krylovb to deprecated function list. + +2011-01-14 Rik + + * NEWS: Add replot to deprecated function list. + +2011-01-14 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include filemode in the list. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2011-01-14 John W. Eaton + + * bootstrap (gnulib_path): Set default gnulib path with ${x:=y}, + not ${x=y}. + +2011-01-14 John W. Eaton + + * bootstrap, bootstrap.conf: Update from gnulib sources. + +2011-01-13 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include mkstemp in the list. + +2011-01-13 John W. Eaton + + * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): + Eliminate some code duplication. + +2011-01-13 John W. Eaton + + * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): Check for + -Wcast-qual and -Wcast-align and add them to WARN_CFLAGS and + WARN_CXXFLAGS. + +2011-01-13 John W. Eaton + + * configure.ac (AC_ARG_ENABLE(extra-warning-flags)): Check for + -Wpointer-arith, -Wmissing-prototypes, -Wstrict-prototypes, and + -Wwrite-strings and add them to WARN_CFLAGS. Check for + -Wpointer-arith and add them to WARN_CXXFLAGS. + +2011-01-12 John W. Eaton + + * mk-opts.pl: Generate initialization lists and in-line code for + copying. + +2011-01-11 Rik + + * ROADMAP: Update guide to Octave directory structure. + +2011-01-11 Rik + + * README.mirrors: Update ftp links. + +2011-01-06 Rik + + * README: Update links and disk space requirements. + +2011-01-06 Jordi Gutiérrez Hermoso + + * run-octave.in: Add a -gud option so that gdb can be called from + Emacs's GUD mode and similar. + +2011-01-06 John W. Eaton + + * mkoctfile.in, mkoctfile.cc.in: Substitute and use LAPACK_LIBS. + Bug #32009. + +2011-01-04 Rik + + * README.MacOS: Update CFLAGS recommendation to use -O2. + +2011-01-04 Rik + + * README.gnuplot: Update recommendation to version 4.4. + +2011-01-04 Marco Atzeri + + * README.Cygmin: Update build instructions before 3.4 release. + +2010-12-31 Kai Habel + + * NEWS: Add curl and divergence to new functions list. + +2010-12-20 Ben Abbott + + * README.MacOS, Makefile.am: Update build insructions for MacOS and + distribute file in tarball. + +2010-12-20 Rik + + * README.Cray, SENDING-PATCHES, Makefile.am: Remove obsolete files. + +2010-12-18 Rik + + * NEWS: Deprecate sphcat and spvcat functions. + +2010-12-17 Rik + + * README.MacOS: New file documenting build instructions for Mac OSX. + +2010-12-09 Kai Habel + + * NEWS: Add pie3 to new functions list. + +2010-12-09 Marco Atzeri + + * configure.ac: Don't add -lwsock32 to LIBS on cygwin systems. + +2010-11-21 Kai Habel + + * NEWS: Add uigetdir, uigetfile, uiputfile. + +2010-11-19 John W. Eaton + + * Makefile.am (bin_SCRIPTS): Remove run-octave from the list. + +2010-10-19 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.54+. + +2010-10-19 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.54. + (OCTAVE_API_VERSION_NUMBER): Now 42. + (OCTAVE_RELEASE_DATE): Now 2010-11-19. + +2010-11-15 Kai Habel + + * NEWS: Add saveas. Fix uimenu. + +2010-11-14 Michael Goffioul + + * mkoctfile.cc.in: replace %OCTAVE_CONF_F77_INTEGER8_FLAG% with + %OCTAVE_CONF_F77_INTEGER_8_FLAG%. + +2010-11-10 John W. Eaton + + * configure.ac: Don't check for nan.h. + +2010-11-10 John W. Eaton + + * configure.ac (AH_BOTTOM): Eliminate special case for __DECCXX: + +2010-11-10 John W. Eaton + + * configure.ac: Eliminate special cases for nextstep. + +2010-11-10 John W. Eaton + + * configure.ac: Eliminate special checks for SCO systems. + +2010-11-10 John W. Eaton + + * NEWS: Update deprecated function list with dispatch. + +2010-11-09 Rik + + * configure.ac: Fix typo where variable name was missing '$' + +2010-11-09 Rik + + * configure.ac: Properly m4 quote AS_HELP_STRING. + +2010-11-09 Rik + + * configure.ac: Remove redundant warning message when '--without-opengl' + option used. + +2010-11-09 John W. Eaton + + * configure.ac: Don't check for trunc, copysign, or _copysign. + +2010-11-08 John W. Eaton + + * configure.ac (--without-opengl): New configure option. + +2010-11-03 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include copysign in the list. + +2010-10-28 Rik + + * NEWS: Update deprecated function list with autocov and autocor. + +2010-10-25 Kai Habel + + * NEWS: Add uimenu. + +2010-10-24 Rik + + * NEWS: Update deprecated function list for version 3.4. + +2010-10-22 John W. Eaton + + * Makefile.am (EXTRA_DIST): Include bootstrap and bootstrap.conf + in the list. + +2010-10-19 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.53+. + +2010-10-19 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.53. + (OCTAVE_API_VERSION_NUMBER): Now 41. + (OCTAVE_RELEASE_DATE): Now 2010-10-19. + +2010-09-29 John W. Eaton + + * examples/make_int.cc (Fmake_int): Don't pass arg to mlock. + +2010-09-29 John W. Eaton + + * examples/structdemo.cc (Fstructdemo): Use octave_scalar_map + instead of Octave_map. + +2010-09-29 John W. Eaton + + * configure.ac: Style fixes. + +2010-09-29 John P. Swensen + + * configure.ac: Allow selection of GraphicsMagick or ImageMagick + at configure time using "--with-magick=" option. + +2010-09-24 Jaroslav Hajek + + * m4/ax_blas.m4: Update. + +2010-09-23 John W. Eaton + + * octave-bug.in, octave-bug.cc.in: Delete + * Makefile.am (EXTRA_DIST): Remove them from the list. + (bin_PROGRAMS): Remove octave-bug from the list. + (octave_bug_SOURCES, nodist_octave_bug_SOURCES): Delete variables. + (BUILT_SOURCES): Remove octave-bug.cc from the list. + (bin_SCRIPTS): Remove octave-bug from the list. + (octave-bug.cc, octave-bug): Delete rules. + +2010-09-20 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include mktime in the list. + +2010-09-18 John W. Eaton + + * Makefile.am (BUILT_SOURCES): Include run-octave in the list. + +2010-09-16 John W. Eaton + + * configure.ac (SCRIPTS_EXE_SUFFIX) Delete variable and all uses. + (BUILD_COMPILED_AUX_PROGRAMS): New variable. + (AMCOND_BUILD_COMPILED_AUX_PROGRAMS): New Automake conditional. + * Makefile.am (SCRIPTS_EXE_SUFFIX, BUILT_SHELL_FILES): Delete + variables and all uses. + (bin_SCRIPTS, bin_PROGRAMS, mkoctfile_SOURCES, + nodist_mkoctfile_SOURCES, octave_config_SOURCES, + nodist_octave_config_SOURCES, octave_bug_SOURCES, + nodist_octave_bug_SOURCES, BUILT_SOURCES): Define conditionally + based on AMCOND_BUILD_COMPILED_AUX_PROGRAMS. + (noinst_SCRIPTS): New variable. + (CLEANFILES): Include $(bin_PROGRAMS) $(bin_SCRIPTS) + $(BUILT_SOURCES) in the list. + (all-local): Also depend on $(bin_PROGRAMS) and $(noinst_SCRIPTS). + (octave-bug.cc, octave-config.cc, mkoctfile.cc, octave-bug) + (octave-config, mkoctfile): Make rules conditional on + AMCOND_BUILD_COMPILED_AUX_PROGRAMS. + (make-version-links, remove-version-links): Define different + rules conditional on AMCOND_BUILD_COMPILED_AUX_PROGRAMS. + +2010-09-13 Jaroslav Hajek + + * NEWS: Update. + +2010-09-10 Jaroslav Hajek + + * m4/ax_blas_f77_func.m4: Update. + +2010-09-07 Ben Abbott + + * acinclude.m4, configure.ac, m4/module.mk: Update acx_*.m4 + macros to the newer ax_*.m4 versions. + * ax_blas.m4, ax_lapack.m4, ax_blas_f77_func.m4, + ax_pthread.m4: Add files. + * acx_blas.m4, acx_lapack.m4, acx_blas_f77_func.m4, + acx_pthread.m4: Remove files. + +2010-09-01 Jaroslav Hajek + + * NEWS: Update. + +2010-08-21 Rik + + * NEWS: Add randi to list of new functions + +2010-08-09 John Swensen + + * mkoctfile.in: Add ability to pass -pthread through to linker. + +2010-08-13 Jaroslav Hajek + + * NEWS: Update. + +2010-08-09 Rik + + * examples/Makefile.am: Don't echo 'echo' command when building + octave.desktop. + +2010-08-09 Jaroslav Hajek + + * NEWS: Update. + +2010-08-05 Rik + + * configure.ac: Change warning messages about freetype and fontconfig + to reflect their requirement for native graphics. Bug #30594. + +2010-08-05 Rik + + * Makefile.am: Remove distribution of emacs directory + + * emacs/info-emacs-info, emacs/info-emacs-octave-help, emacs/module.mk, + emacs/NEWS, emacs/octave-hlp.el, emacs/octave-inf.el, + emacs/octave-mod.el, emacs/octave-tags, emacs/octave-tags.1, + emacs/README, emacs/TODO: Remove from further hg checkouts. + +2010-08-05 Rik + + * ChangeLog: Correct date in version upgrade 3.3.52+ comment. + +2010-08-01 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.52+. + +2010-08-01 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.52. + (OCTAVE_API_VERSION_NUMBER): Now 40. + (OCTAVE_RELEASE_DATE): Now 2010-08-01. + +2010-07-30 Rik + + * Makefile.am: add .gdbinit to the DISTCLEANFILES list + +2010-07-29 Jaroslav Hajek + + * NEWS: Include list of new functions. + +2010-07-08 Rik + + * NEWS: Update with addition of engineering format. + +2010-07-08 Jaroslav Hajek + + * NEWS: Update. + +2010-06-23 Jaroslav Hajek + + * mkoctfile.in: F77_INTEGER_8_FLAG -> OCTAVE_CONF_F77_INTEGER_8_FLAG. + +2010-06-23 Jaroslav Hajek + + * configure.ac: Temporarily include F77_INTEGER_8_FLAG in FFLAGS for + BLAS checking. + * mkoctfile.in: Include F77_INTEGER_8_FLAG in ALL_FFLAGS. + * mkoctfile.cc.in: Ditto. + +2010-05-18 Jaroslav Hajek + + * NEWS: Update. + +2010-05-11 Rik + + * configure.ac: Capitalize ARPACK in messages. + +2010-05-04 John W. Eaton + + * ROADMAP: Delete entry for villad. + +2010-04-26 Rik + + * configure.ac: fix bug with shell HERE document introduced in + previous change. + +2010-04-26 Shai Ayal + + * configure.ac: make all graphics related tests inter-dependent + +2010-04-20 Jaroslav Hajek + + * NEWS: Update. + +2010-04-16 David Bateman + + * PROJECTS: Update for new sparse functionality. + +2010-04-14 Shai Ayal + + * NEWS: Update. + +2010-04-08 Marco Atzeri + + * Makefile.am (make-version-links, remove-version-links): + Use SCRIPTS_EXE_SUFFIX for scripts, not EXEEXT. + +2010-04-07 John W. Eaton + + * README.ftp, README.devel: + Update from Judd Storrs . + +2010-03-27 David Bateman + + * acinclude.m4 (OCTAVE_CHECK_OPENMP): Macro to check for OpenMP support + * configure.ac: Use it here. Disable OpenMP support by default + +2010-03-25 John W. Eaton + + * bootstrap.conf (gnulib_modules): Sort the list. + +2010-03-25 Jaroslav Hajek + + * bootstrap.conf: Include roundf, trunc, truncf. + +2010-03-24 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.51+. + +2010-03-24 John W. Eaton + + * configure.ac (AC_INIT): Version is now 3.3.51. + (OCTAVE_API_VERSION_NUMBER): Now 39. + (OCTAVE_RELEASE_DATE): Now 2010-03-24. + +2010-03-24 John W. Eaton + + * NEWS: Style fixes. + +2010-03-23 Jaroslav Hajek + + * NEWS: Update. + +2010-03-15 John W. Eaton + + * configure.ac (AH_BOTTOM): Define GNULIB_NAMESPACE. + +2010-03-09 Jaroslav Hajek + + * NEWS: Update. + +2010-03-01 John W. Eaton + + * acinclude.m4 (OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS, + OCTAVE_CXX_COMPLEX_SETTERS): New macros. + * configure.ac: Use them. + +2010-02-25 John W. Eaton + + * gdbinit: New file. + * Makefile.am (EXTRA_DIST): Add it to the list. + (all-local): Depend on .gdbinit. + (.gdbinit): New rule. + +2010-02-22 John W. Eaton + + * boostrap: Update from gnulib/build-aux/bootstrap. + +2010-02-21 Michael Goffioul + + * configure.ac: Define NOMINMAX under MSVC. + + * configure.ac: Add pcre_config --cflags to XTRA_CXXFLAGS instead of + CPPFLAGS. + +2010-02-17 John W. Eaton + + * configure.ac: Add $COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS, + and $AMD_LIBS to LIBS when checking for cholmod library. + +2010-02-17 John W. Eaton + + * acinclude.m4 (OCTAVE_CHECK_FORTRAN_INTEGER_SIZE): Save and + restore FFLAGS. Temporarily add F77_INTEGER_8_FLAG to FFLAGS. + * common.mk (F77_INTEGER_8_FLAG): New variable. + (do_subst_config_vals): Substitute it. + * configeure.ac: Don't add -fdefault-integer-8 to FFLAGS. + Substitute F77_INTEGER_8_FLAG. Improve --enable-64 warning. + +2010-02-15 Jaroslav Hajek + + * NEWS: Update. + +2010-02-10 Jaroslav Hajek + + * NEWS: Update. + +2010-02-08 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include progname in the list. + +2010-02-08 Jaroslav Hajek + + * NEWS: Update. + +2010-02-04 John W. Eaton + + * configure.ac: Don't check for gethostname. + * bootstrap.conf (gnulib_modules): Include gethostname in the list. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for fcntl.h or fcntl. + * bootstrap.conf (gnulib_modules): Include fcntl in the list. + +2010-02-03 John W. Eaton + + * acinclude.m4 (OCTAVE_HAVE_C99_VSNPRINTF): Delete. + * configure.ac: Don't call OCTAVE_HAVE_C99_VSNPRINTF. + Don't check for snprintf, vfprintf, vsprintf, vsnprintf, or _snprintf. + * bootstrap.conf (gnulib_modules): Include vsprintf in the list. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for strerror. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for raise or strdup. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for poll or usleep. + * bootstrap.conf (gnulib_modules): Include nanosleep and sleep + in the list. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for sigaction, sigpending, + sigprocmask, or sigsuspend. + +2010-02-03 John W. Eaton + + * configure.ac: Don't check for getcwd. + * bootstrap.conf (gnulib_modules): Include getcwd in the list. + +2010-02-02 John W. Eaton + + * configure.ac: Assume signal.h provides sigset_t and sig_atomic_t. + +2010-02-02 John W. Eaton + + * configure.ac: Don't call OCTAVE_SIGNAL_CHECK, + OCTAVE_REINSTALL_SIGHANDLERS, AC_C_CONST, AC_HEADER_STDC, or + AC_STRUCT_TM, AC_TYPE_SIGNAL. + Don't define RETSIGTYPE_IS_VOID. + * acinclude.m4 (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): + Don't call AC_TYPE_SIGNAL. Assume sighandler return type is void. + (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): Delete macros. + * bootstrap.conf (gnulib_modules): Include sigaction, signal, + and sigprocmask in the list. + +2010-02-02 John W. Eaton + + * configure.ac: Don't check for stdint.h. + (AH_BOTTOM): Unconditionally include stdint.h. + Delete fallback integer type definitions. + * bootstrap.conf (gnulib_modules): Include stdint in the list. + +2010-02-02 John W. Eaton + + * configure.ac: Don't check for atexit or on_exit. + +2010-02-02 John W. Eaton + + * configure.ac: Don't check for bcopy, bzero, or memmove. + +2010-02-02 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include sys_time, sys_times, + and time in the list. + * configure.ac: Don't check for sys/time.h, sys/times.h, + sys/stat.h, sys/utimes, or utimes.h. + Don't call AC_HEADER_TIME. + +2010-02-02 John W. Eaton + + * acinclue.m4 (OCTAVE_STRPTIME_BROKEN): Delete. + * configure.ac: Don't call it. + +2010-02-01 John W. Eaton + + * acinclude.m4 (OCTAVE_PROG_MAKEINFO): Delete macro. + * configure.ac: Don't call it. Don't issue warning about + makeinfo in summary. + +2010-01-31 Jaroslav Hajek + + * NEWS: Update. + +2010-01-27 Jaroslav Hajek + + * NEWS: Update. + +2010-01-21 John W. Eaton + + * configure.ac: Don't check for standard C headers (by now, I + think we can safely assume they exist). Don't check for + varargs.h. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include sys_stat in the list. + * configure.ac: Don't check for sys/types.h or unistd.h. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include unistd in the list. + Keep list sorted. + +2010-01-21 John W. Eaton + + * configure.ac: Delete checks for rename, link, readlink, rmdir, + strcasecmp, stricmp, strncasecmp, strnicmp, strptime, symlink, + and unlink. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include pathmax and readlink + in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include symlink in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include link in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include unlink in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include strptime in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include rename in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include rmdir in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include c-strcase in the list. + +2010-01-21 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include getopt-gnu in the list. + +2010-01-17 Michael Goffioul + + * bootstrap.conf: Add round module. + * configure.ac: Allow to use MSVC with *mingw* build host. Check for + opendir in -ldirent. Add -ladvapi32 to LIBS. + +2010-01-15 John W. Eaton + + * NEWS: Edit. + +2010-01-15 Jaroslav Hajek + + * NEWS: Update. + +2010-01-14 Jaroslav Hajek + + * NEWS: Update. + +2010-01-13 John W. Eaton + + * configure.ac: Handle --enable-docs. Print warning in summary + if building documentation is disabled. + * Makefile.am (SUBDIRS): Use @DOCDIR@ instead of doc. + (dist-hook): New target, conditional on AMCOND_BUILD_DOCS. + +2010-01-09 John W. Eaton + + * configure.ac: Don't check for nlink_t. + (AH_BOTTOM): Don't define nlink_t here. + +2010-01-07 John W. Eaton + + * configure.ac: Don't check for times. + * bootstrap.conf (gnulib_modules): Include times in the list. + +2010-01-07 John W. Eaton + + * configure.ac: Don't check for gettimeofday, or whether + gettimeofday accepts one or two arguments. + * bootstrap.conf (gnulib_modules): Include gettimeofday in the list. + +2010-01-05 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include mkfifo in the list. + +2010-01-05 John W. Eaton + + * bootstrap.conf (gnulib_modules): Remove nonexistent fstat module. + +2009-12-22 Rik + + * WWW/: remove web directory no longer used + +2010-01-04 Jaroslav Hajek + + * NEWS: Update. + +2009-12-27 John W. Eaton + + * configure.ac: Use libtool cache variables to simplify checks + for dynamic linking api. + +2009-12-26 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include fstat, lstat, and + stat in the list. + * configure.ac: Don't check for fstat, lstat, or stat. + +2009-12-25 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include mkdir in the list. + * configure.ac: Don't check for mkdir. + Don't call OCTAVE_MKDIR_TAKES_ONE_ARG. + * acinclude.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): Delete. + +2009-12-25 John W. Eaton + + * bootstrap.conf (gnulib_modules): Include crypto/md5 in the list. + +2009-12-22 Rik + + * configure.ac: Remove second redundant test for nlink_t + +2009-12-21 Rik + + * dlfcn directory: Remove dlfcn directory with leftover code from 1996 + +2009-12-20 Rik + + * acinclude.m4: use M4 quoting for arguments to autoconf macros + +2009-12-20 Rik + + * configure.ac, acinclude.m4: Better warnings when gnuplot is not + installed but native graphics are available + +2009-12-19 Rik + + * emacs/module.mk, examples/Makefile.am, info-emacs-info, + info-emacs-octave-help: Distribute emacs specific files from emacs + directory rather than examples directory + +2009-12-19 Rik + + * m4/module.mk, Makefile.am: Redo previous patch with distribution + triggered by m4/module.mk. + +2009-12-19 Rik + + * Makefile.am: Distribute m4/gnulib-cache.m4 per recommendation + +2009-12-19 Rik + + * Makefile.am, examples/Makefile.am, common.mk, configure.ac: Eliminate + TOPDIR variable in favor of built-in automake variables of top_builddir + and top_srcdir. + +2009-12-19 Rik + + * Makefile.am: Use M4 quoting for arguments to autoconf macros containing + variables + +2009-12-19 Jaroslav Hajek + + * data.cc (Fsize_equal): Allow calling with zero arguments. + variables + +2009-12-15 John W. Eaton + + * README.MSVC: Delete section about obtaining glob library. + * bootstrap.conf (gnulib_modules): Add fnmatch and glob to the list. + * common.mk (LIBGLOB): Delete variable. + (do_subst_config_vals): Don't substitute it. + * octave-bug.in, octave-bug.cc.in: Eliminate LIBGLOB variable. + * configure.ac: Don't check for glob.h or the glob and fnmatch + functions. Eliminate LIBGLOB variable. + +2009-12-11 Rik + + * HACKING: Elaborate which DIRNAME to use for --gnulib-srcdir option. + +2009-12-11 John W. Eaton + + * configure.ac: Add $PTHREAD_LIBS to $LIBS and $PTHREAD_CFLAGS + to $CFLAGS for subsequent tests. + +2009-12-11 Rik + + * Makefile.am: remove install-extras target and use automake syntax to + distribute NEWS file. + * examples/Makefile.am: remove install-images target and use automake + syntax to distribute image data. + +2009-12-11 John W. Eaton + + * .dir-locals.el: Correctly set indent-tabs-mode for ChangeLogs, + and Makefiles. + + * common.mk (cp_update_rule): New macro. + +2009-12-10 John W. Eaton + + * mkoctfile.in, mkoctfile.cc.in: If output file is specified and + it does not end in output_ext, append output_ext. + +2009-12-10 John W. Eaton + + * mkoctfile.in, mkoctfile.cc.in: When compiling files in + subdirectories, place object files in current directory by + default. + +2009-12-10 John W. Eaton + + * mkoctfile.cc.in: Accept long options with single -. + +2009-12-10 John W. Eaton + + * mkoctfile.in: Accept long options with single -. + +2009-12-09 John W. Eaton + + * HACKING: Clarify gnulib checkout and use. + +2009-12-09 John W. Eaton + + * configure.ac: Remove URL argument from AC_INIT. + Use AC_CONFIG_AUX_DIR. Move AM_INIT_AUTOMAKE after other + AC_CONFIG setup macros. Use gl_EARLY and gl_INIT for gnulib. + Add libgnu/Makefile to the list of AC_CONFIG_FILES. Eliminate + special case check for for strftime. + * bootstrap: New file, from gnulib. + * bootstrap.conf: New file, from gnulib. Override bootstrap + defaults for checkout_only_file, gnulib_tool_option_extras, + gnulib_name, and source_base. + (gnulib_modules): Add strftime to the list. + * autogen.sh: Simply generate makefile fragments and call + bootstrap to do the rest of the initial setup. + * Makefile.am (SUBDIRS): Add libgnu to the list. + * libgnu/Makefile.am: New directory and file. + * INSTALL: Remove our copy so version from gnulib will be + distributed. + * HACKING: New file. + +2009-12-08 Rik + + * Makefile.am: add BUGS and OCTAVE.INSTALL to DISTCLEANFILES + +2009-12-08 John W. Eaton + + * configure.ac: Update gnuplot status message. + * acinclude.m4 (OCTAVE_PROG_GNUPLOT): Likewise. + +2009-12-07 John W. Eaton + + * examples/make_int.cc: Delete Emacs local variables. + + * .dir-locals.el: New file. + +2009-12-07 John W. Eaton + + * examples/firstmexdemo.c, examples/fortdemo.cc, + examples/funcdemo.cc, examples/hello.cc, examples/make_int.cc, + examples/mycell.c, examples/myfeval.c, examples/myfunc.c, + examples/mypow2.c, examples/mysparse.c, examples/mystring.c, + examples/mystruct.c, examples/paramdemo.cc, + examples/stringdemo.cc, examples/structdemo.cc, + examples/unwinddemo.cc, examples/embedded.cc: Untabify. + +2009-12-04 John W. Eaton + + * configure.ac (OCTAVE_API_VERSION_NUMBER): New variable. + (OCTAVE_API_VERSION): Define using OCTAVE_API_VERSION_NUMBER. + * common.mk (OCTAVE_API_VERSION_NUMBER): New variable. + +2009-12-04 John W. Eaton + + * configure.ac: Check $have_x = yes, not just $have_x. + From Carmine Paolino . + +2009-12-04 John W. Eaton + + * configure.ac: Require auotconf 2.62. + +2009-12-03 John W. Eaton + + * common.mk (OCTAVE_VERSION, OCTAVE_API_VERSION) + (OCTAVE_RELEASE_DATE, OCTAVE_COPYRIGHT, OCTAVE_IDX_TYPE): + New substituted variables. + (version): Define from $(OCTAVE_VERSION). + (api_version): Define from $(OCTAVE_API_VERSION). + (do_subst_texinfo_vals): Delete macro. + + * configure.ac (AC_CONFIG_HEADER): Quote arg. + (AC_CONFIG_FILES): Remove mxarray.h and version.h from the list. + + * examples/Makefile.am (CLEANFILES): New variable. + +2009-11-30 Kacper Kowalik + + * acinclude.m4 (OCTAVE_HDF5_HAS_ENFORCED_16_API): New macro that + tests whether the HDF5 library has an enforced v1.6 API and detects + v1.8 APIs. + * configure.m4: Adapt test for HDF5 libraries to support v1.8 + HDF5 libraries. + +2009-11-29 Jaroslav Hajek + + * NEWS: Update. + +2009-11-27 David Bateman + + * configure.ac (HAVE_H5GGET_NUM_OBJS) Remove define. + +2009-11-27 David Bateman + + * NEWS: Document ftp objects. + * configure.ac: Document that curl libraries impact ftp objects. + +2009-11-26 Jaroslav Hajek + + * NEWS: Update. + +2009-11-25 Tatsuro MATSUOKA + + * acinclude.m4 (OCTAVE_PROG_GNUPLOT): Don't check for pgnuplot or + pipe-gnuplot on Windows systems. Set default to gnuplot for all + systems. + (OCTAVE_PROG_GHOSTSCRIPT): Check for gswin32c first on Windows + systems, then gs. + +2009-11-25 Rik + + * Makefile.am examples/Makefile.am liboctave/Makefile.am + scripts/Makefile.am src/Makefile.am test/Makefile.am: + Remove unnecessary .PHONY targets for common targets which + Automake supplies already. Examples are local-all, install-local-data + +2009-11-21 John W. Eaton + + * configure.ac (AC_MSG_NOTICE): Report graphics (fltk) CFLAGS. + Report fontconfig CFLAGS and LIBS. + Report freetype2 CFLAGS and LIBS. + +2009-11-21 John W. Eaton + + * common.mk: Substitute FT2_CFLAGS. + * configure.ac: Remove spurious lines in check for freetype. Add + $FT2_CFLAGS to $XTRA_CXXFLAGS. + +2009-11-18 Jaroslav Hajek + + * NEWS: Update. + +2009-11-18 Jaroslav Hajek + + * NEWS: Update. + +2009-11-16 John W. Eaton + + * common.mk (AM_CXXFLAGS): Don't include DLL_CXXDEFS in the list. + (CONFIGURE_CFLAGS): New variable. + (AM_CFLAGS): Define similar to AM_CXXFLAGS. + +2009-11-12 John W. Eaton + + * configure.ac (AC_CONFIG_FILES): Also generate libcruft/mkf77def. + +2009-11-11 John W. Eaton + + * acinclude.m4 (OCTAVE_IEEE754_DATA_FORMAT): Fail if IEEE 754 + format is not detected. + +2009-11-11 Shai Ayal + + * configure.ac: Remove tests for ftgl. + +2009-11-11 Benjamin Lindner + + * configure.ac: Remove -mwindows from FLTK_LDFLAGS. + +2009-11-11 John W. Eaton + + * configure.ac: Fail if LT_INIT it is not defined. + +2009-11-10 John W. Eaton + + * NEWS: Update. + + * configure.ac: Exit with error if BLAS or LAPACK libraries are + not found or if the BLAS library is found to be incompatible with + the Fortran compiler. Eliminate warn_blas_f77_incompatible + variable. + +2009-11-10 John W. Eaton + + * configure.ac: Set octincludedir to + $(includedir)/octave-$(version)/octave, not + $(includedir)/octave-$(version). + * mkoctfile.in: Set DEFAULT_INCFLAGS to -I$octincludedir/.. and + -I$octincludedir instead of -I$octincludedir and + -I$octincludedir/octave. + + * configure.ac: Pass args to AC_INIT. Invoke AM_INIT_AUTOMAKE and + AC_PROG_LIBTOOL. Don't call AC_PROG_RANLIB. Set version info here. + Call AC_CONFIG_MACRO_DIR. Give same warning for gcc 1.x and 2.x. + Use AM_CONDITIONALS for FFTW, BLAS, and LAPACK. Don't set + variables with calls to ACX_BLAS_WITH_F77_FUNC or ACX_LAPACK. + Don't substitute BLAS_DIR or LAPACK_DIR. Use LT_INIT. Eliminate + --enable-shared and --enable-static options (now provided by + LT_INIT). Set SHARED_LIBS and STATIC_LIBS variables based on + LT_INIT variables. Handle dlopen libraries with info from + LT_INIT. Substitute NO_UNDEFINED_FLAG (only set on Windows + sytems). Include $LAPACK_LIBS in $LIBS when checking for qrupdate + and cholmod. Handle --enable-dl consistently with other --enable + options. Don't copy $srcdir/Makefile in AH_BOTTOM commands. + Substitute LEX_OUTPUT_ROOT. Use AM_CONDITONAL for + ENABLE_DYNAMIC_LINKING. Reindent configure summary. + (AC_CONFIG_FILES): Don't list Makefiles in libcruft + subdirectories. Generate Makefile and src/version.h. Don't + generate Makeconf, octMakefile, m4/Makefile, emacs/Makefile, + examples/@polynomial/Makefile, or examples/@FIRfilter/Makefile. + + * run-octave.in Call libtool to execute src/octave. + (ldpreloadsep, liboctinterp, liboctave, libcruft): Delete variables. + (INFOFILE): Find it in $top_srcdir, not $builddir. + + * acinclude.m4: Rename from aclocal.m4. + (OCTAVE_PROG_FLEX): Don't include -t in LFLAGS. + + * autogen.sh: Exit immediately on error. Use libtoolize, aclocal, + and automake. Only run autoconf and autoheader in top-level and + scripts directories. + Run liboctave/config-ops.sh, doc/interpreter/config-images.sh, and + src/DLD-FUNCTIONS/config-module.sh, to generate source lists for + subdirectories. + + * AUTHORS, Makefile.am, common.mk, m4/module.mk, emacs/module.mk, + examples/@FIRfilter/module.mk, examples/@polynomial/module.mk, + examples/Makefile.am: New files. + * Makeconf.in, Makefile, octMakefile.in, m4/Makefile.in, + emacs/Makefile.in, install-sh, examples/Makefile.in, + examples/@FIRfilter/Makefile.in, examples/@polynomial/Makefile.in: + Delete. + +2009-11-09 David Grundberg + + * configure.ac: Use AMD_CPPFLAGS while checking for UMFPACK. + +2009-10-29 Thomas Treichl + + * configure.in: Add support for dlopen on Mac systems. + +2009-10-20 Jaroslav Hajek + + * NEWS: Update. + +2009-10-13 Jaroslav Hajek + + * NEWS: Update. + +2009-10-08 Jaroslav Hajek + + * configure.ac: Define HAVE_QRUPDATE_LUU if qrupdate supports LU updates. + +2009-10-08 Jaroslav Hajek + + * configure.ac: Use the LANG argument to OCTAVE_CHECK_LIBRARY to avoid + ugly names. + +2009-09-23 Jaroslav Hajek + + * NEWS: Update. + +2009-09-18 John W. Eaton + + * aclocal.m4: Consistently quote first arg to AC_DEFUN. + +2009-09-17 John W. Eaton + + * configure.ac: Also AC_DEFINE OCTAAVE_IDX_TYPE. + (AH_BOTTOM): Include contents of libcruft/misc/oct-dlldefs.h and + liboctave/oct-types.h here. Use C-style comments. + (AC_CONFIG_FILES): Remove liboctave/oct-types.h from the list. + +2009-09-15 John W. Eaton + + * configure.ac: Rename from configure.in. + (AC_CONFIG_FILES): Add m4/Makefile to the list. + * acx_blas.m4, acx_lapack.m4, acx_blas_f77_func.m4, + acx_pthread.m4: Move to m4 subdirectory. + * m4/Makefile.in: New file. + * octMakefile.in (M4_FILES): Adjust for new m4 subdirectory. + Rename all instances of configure.in to configure.ac. + (CONF_DISTSUBDIRS, DISTSUBDIRS): Add m4 to the lists. + + * configure.in: Substitute ac_config_headers. + * octMakefile.in (CONFIG_FILES): Include @ac_config_headers@ in + the list. From Thorsten Meyer . + +2009-09-04 John W. Eaton + + * Makeconf.in (SPARSE_CPPFLAGS, SPARSE_LDFLAGS, FFTW_CPPFLAGS, + FFTW_LDFLAGS): Don't sort lists. + +2009-09-02 Marco Atzeri + + * Makeconf.in: Order SPARSE_LIBS so linking succeeds on Cygwin. + +2009-09-04 Marco Atzeri + + * README.Cygwin: Update version info. + +2009-09-04 John W. Eaton + + * configure.in (ldpreloadsep): New variable. Set to ':' for Cygwin. + * Makeconf.in (do-subst-script-vals): Substitute it. + * run-octave.in: Use it to seprate elements in the LD_PRELOAD variable. + +2009-09-03 John W. Eaton + + * configure.in (AH_BOTTOM): If HAVE_Z is defined, define HAVE_ZLIB. + +2009-09-03 Jaroslav Hajek + + * NEWS: Update. + +2009-09-02 Jaroslav Hajek + + * configure.in (FLOAT_TRUNCATE): New config macro. + +2009-09-02 Jaroslav Hajek + + * acx_blas_f77_func.m4 (ACX_BLAS_F77_FUNC): Check for correct INTEGER + size. + +2009-09-01 John W. Eaton + + * aclocal.m4 (OCTAVE_REQUIRE_64_BIT_FORTRAN_INTEGERS): New macro. + * configure.in: Use it, if building with --enable-64. + Move checks for Fortran compiler ahead of checks for libraries. + +2009-09-01 Jaroslav Hajek + + * NEWS: Update. + +2009-08-30 Jaroslav Hajek + + * NEWS: Update. + +2009-08-27 John W. Eaton + + * configure.in: Properly save and restore CPPFLAGS and LIBS when + checking for GraphicsMagick++. Don't temporarily change LDFLAGS. + +2009-08-27 Jaroslav Hajek + + * aclocal.m4 (m4_ifblank, m4_ifnblank): State FSF copyright and markup + as FIXME. + +2009-08-26 John W. Eaton + + * configure.in: Restore LIBS after checking for ARPACK. + +2009-08-26 John W. Eaton + + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for UMFPACK. + * octave-bug.in, octave-bug.cc.in: Substitute UMFPACK_CPPFLAGS and + UMFPACK_LDFLAGS. + * Makeconf.in (UMFPACK_CPPFLAGS, UMFPACK_LDFLAGS): New variables. + (do-subst-config-vals): Substitute them. + +2009-08-26 John W. Eaton + + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for qrupdate. + * octave-bug.in, octave-bug.cc.in: Substitute QRUPDATE_CPPFLAGS and + QRUPDATE_LDFLAGS. + * Makeconf.in (QRUPDATE_CPPFLAGS, QRUPDATE_LDFLAGS): New variables. + (do-subst-config-vals): Substitute them. + +2009-08-26 John W. Eaton + + * octave-bug.in: Correct substitutions. + +2009-08-26 John W. Eaton + + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Allow empty list of header files. + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for arpack. + * octave-bug.in, octave-bug.cc.in: Substitute ARPACK_CPPFLAGS and + ARPACK_LDFLAGS. + * Makeconf.in (ARPACK_CPPFLAGS, ARPACK_LDFLAGS): New variables. + (do-subst-config-vals): Substitute them. + +2009-08-26 Benjamin Lindner + + * mkoctfile.cc.in: Fix typo. + * octave-bug.cc.in: Correct substututions. + +2009-08-25 David Grundberg + + * configure.in: Run PKG_PROG_PKG_CONFIG earlier. Use pkg-config + instead of GraphicsMagick++-config. Determine only -I, -L and -l + flags and put them in MAGICK_CPPFLAGS, MAGICK_LDFLAGS and + MAGICK_LIBS respectively. Substitute these variables. + Remove variables MAGICK_CONFIG and MAGICK_INCFLAGS. + Test linking against GraphicsMagick++. + * Makeconf.in: Don't run $(MAGICK_CONFIG) here. Use substituted + valued from MAGICK_CPPFLAGS, MAGICK_LDFLAGS and MAGICK_LIBS. + Remove variables MAGICK_CONFIG and MAGICK_INCFLAGS. + +2009-08-24 Jaroslav Hajek + + * acx_blas_f77_func.m4: Fix typo. + +2009-08-19 Jaroslav Hajek + + * NEWS: Update. + +2009-08-18 John W. Eaton + + * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): If test fails, set + octave_hdf5_ok to no instead of setting HAVE_HDF5 to false. + * configure.in: Check octave_hdf5_ok instead of HAVE_HDF5. + Set TEXINFO_HDF5 if HDF5 library is found. + +2009-08-18 John W. Eaton + + * Makeconf.in (ALL_CPPFLAGS): Add HDF5_CPPFLAGS to the list. + * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): + Set HAVE_HDF5 to false, not WITH_HDF5. + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for HDF5 + library. Print HDF5_CPPFLAGS and HDF5_LDFLAGS in the summary. + * octave-bug.in, octave-bug.cc.in, Makeconf.in: Substitute + HDF5_CPPFLAGS and HDF5_LDFLAGS. + +2009-08-18 John W. Eaton + + * acx_blas_f77_func.m4 (ACX_BLAS_F77_FUNC): Save and restore LIBS. + +2009-08-18 John W. Eaton + + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Use variables named + octave_check_library_save_XXX instead of save_XXX. + * configure.in: Add Z_LDFLAGS and Z_LIBS to LIBS, and Z_CPPFLAGS + to CPPFLAGS in checks for curl and glpk libraries. + +2009-08-18 David Grundberg + + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Clear QHULL_LIBS etc on + errors. Interpret --without-qhull etc correctly. + +2009-08-17 John W. Eaton + + * mkoctfile.in, mkoctfile.cc.in (FFTW3_LDFLAGS, FFTW3_LIBS, + FFTW3F_LDFLAGS, FFTW3F_LIBS): Substitute instead of FFTW_LIBS. + (FFTW_LIBS): Define from FFTW3_LDFLAGS, FFTW3_LIBS, + FFTW3F_LDFLAGS, and FFTW3F_LIBS variables. + + * octave-bug.cc.in, octave-bug.in (Z_CPPFLAGS, Z_LDFLAGS): + Substitute and display them. + (Z_LIBS): Rename from ZLIB_LIBS. + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for ZLIB. + Print Z_CPPFLAGS and Z_LDFLAGS in the summary. + * Makeconf.in (Z_CPPFLAGS, Z_LDFLAGS): New variables. + (Z_LIBS): Rename from ZLIB_LIBS. + (do-subst-config-vals): Substitute them. + + (ALL_CPPFLAGS): New variable. + (%.o : %.c, %.o : %.cc, pic/%.o : %.c, pic/%.o : %.cc): + Use $(ALL_CPPFLAGS) instead of $(CPPFLAGS) in command. + +2009-08-17 John W. Eaton + + * octave-bug.in, octave-bug.cc.in: Include AMD_CPPFLAGS, + AMD_LDFLAGS, AMD_LIBS, ARPACK_LIBS, BLAS_LIBS, CAMD_CPPFLAGS, + CAMD_LDFLAGS, CAMD_LIBS, CARBON_LIBS, CCOLAMD_CPPFLAGS, + CCOLAMD_LDFLAGS, CCOLAMD_LIBS, CHOLMOD_CPPFLAGS, CHOLMOD_LDFLAGS, + CHOLMOD_LIBS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, COLAMD_LIBS, + CURL_CPPFLAGS, CURL_LDFLAGS, CURL_LIBS, CXSPARSE_CPPFLAGS, + CXSPARSE_LDFLAGS, CXSPARSE_LIBS, DL_LIBS, FFTW3_CPPFLAGS, + FFTW3_LDFLAGS, FFTW3_LIBS, FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, + FFTW3F_LIBS, GRAPHICS_LIBS, GLPK_CPPFLAGS, GLPK_LDFLAGS, + GLPK_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, PTHREAD_LIBS, + QHULL_CPPFLAGS, QHULL_LDFLAGS, QHULL_LIBS, QRUPDATE_LIBS, + READLINE_LIBS, REGEX_LIBS, TERM_LIBS, UMFPACK_LIBS, X11_INCFLAGS, + X11_LIBS, and ZLIB_LIBS in the summary of varibles. + + * configure.in: Include LEXLIB and LIBGLOB in the summary. + +2009-08-17 Michael Goffioul + + * aclocal.m4 (OCTAVE_HDF5_DLL): Include HDF5_LIBS in LIBS before + attempting link. + +2009-08-15 Jaroslav Hajek + + * aclocal.m4: Define the autoconf 2.64+ m4sugar macros `m4_ifblank' + and `m4_ifnblank' if on earlier autoconfs. + +2009-08-13 John W. Eaton + + * Makeconf.in (GLPK_CPPFLAGS, GLPK_LDFLAGS, + AMD_CPPFLAGS, AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, + CCOLAMD_CPPFLAGS, CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, + CHOLMOD_LDFLAGS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, + CXSPARSE_CPPFLAGS, CXSPARSE_LDFLAGS): New variables. + (do-subst-config-vals): Substitute Them. + (SPARSE_CPPFLAGS, SPARSE_LDFLAGS, SPARSE_LIBS, FFTW_CPPFLAGS, + FFTW_LDFLAGS, FFTW_LIBS): New variables. + + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for GLPK, AMD, + CAMD, CCOLAMD, CHOLMOD, COLAMD, CXSPARSE, FFTW3, and FFTW3F + libraries. Print GLPK_CPPFLAGS, GLPK_LDFLAGS, AMD_CPPFLAGS, + AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, CCOLAMD_CPPFLAGS, + CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, CHOLMOD_LDFLAGS, + COLAMD_CPPFLAGS, COLAMD_LDFLAGS, CXSPARSE_CPPFLAGS, + CXSPARSE_LDFLAGS, FFTW3_CPPFLAGS, FFTW3_LDFLAGS, FFTW3_LIBS, + FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, and FFTW3F_LIBS in the summary. + (AH_BOTTOM): Define HAVE_FFTW if HAVE_FFTW3 and HAVE_FFTW3F are + both defined. + + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): New optional arguments for + language and doc string. + +2009-08-13 Jaroslav Hajek + + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): Prepend to LIBS rather than + replacing. + +2009-08-13 John W. Eaton + + * Makeconf.in (QHULL_CPPFLAGS, QHULL_LDFLAGS, CURL_CPPFLAGS, + CURL_LDFLAGS): New variables. + (do-subst-config-vals): Substitute QHULL_CPPFLAGS, QHULL_LDFLAGS, + CURL_CPPFLAGS, and CURL_LDFLAGS + * configure.in: Use OCTAVE_CHECK_LIBRARY to check for qhull and + curl libraries. Print QHULL_CPPFLAGS, QHULL_LDFLAGS, + CURL_CPPFLAGS, and CURL_LDFLAGS in the summary. Print glpk + library warning at time of check. Use AC_MSG_WARN, not + AC_MSG_RESULT, to print fftw warning. + * aclocal.m4 (OCTAVE_CHECK_LIBRARY): New macro. + (AC_CHECK_QHULL_VERSION, AC_CHECK_QHULL_OK): + Implement with modern autoconf macros. + +2009-08-11 John W. Eaton + + * configure.in: Define and substitute TERM_LIBS instead of + TERMLIBS. Don't add TERM_LIBS to LIBS. Define DL_LIBS instead of + adding them to LIBS. Display TERM_LIBS and DL_LIBS in summary + reporrt. + * aclocal.m4 (OCTAVE_ENABLE_READLINE): Define and substitute + READLINE_LIBS instead of LIBREADLINE. Don't add readline library + to LIBS. Display READLINE_LIBS in summary report. Temporarily + add TERM_LIBS to LIBS when checking for readline library. + * Makeconf.in, mkoctfile.cc.in, mkoctfile.in: + Use READLINE_LIBS instead of LIBREADLINE and TERM_LIBS instead of + TERMLIBS. Substitute DL_LIBS. + (do-subst-config-vals): Substitute TERM_LIBS and DL_LIBS. + +2009-08-11 John W. Eaton + + * configure.in: Generate separate variables for HDF5_LIBS and + ZLIB_LIBS. Don't add them to LIBS. Add separate entries for them + in the summary report. + * Makeconf.in (HDF5_LIBS, ZLIB_LIBS): New variables. + (do-subst-config-vals): Substitute AMD_LIBS, ARPACK_LIBS, + CAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, COLAMD_LIBS, CXSPARSE_LIBS, + FT2_LIBS, GRAPHICS_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, + PTHREAD_LIBS, QHULL_LIBS, QRUPDATE_LIBS, REGEX_LIBS, UMFPACK_LIBS, + ZLIB_LIBS. + +2009-08-05 John W. Eaton + + * acx_pthread.m4: New file. + * configure.in: Include it and invoke ACX_PTHREAD macro. Print + ptrhead flags and libraries in summary output. + * Makeconf.in (PTHREAD_CFLAGS, PTHREAD_LIBS): Substitute values. + (ALL_CFLAGS, ALL_CXXFLAGS): Include $(PTHREAD_CFLAGS). + +2009-08-03 Jaroslav Hajek + + * NEWS: Update. + +2009-07-27 Jaroslav Hajek + + * NEWS: Update. + +2009-07-22 Jaroslav Hajek + + * NEWS: Update. + +2009-07-16 John W. Eaton + + * Makeconf.in (MAGICK_LIBS): Don't pass --ldflags to $(MAGICK_CONFIG). + +2009-07-09 John W. Eaton + + * configure.in: Don't use system strftime on MinGW systems. + +2009-06-29 Jaroslav Hajek + + * NEWS: Correct info. + * NEWS: Update. + +2009-06-26 Michael Goffioul + + * aclocal.m4: Add pkg.m4 macros. + * configure.in (HAVE_FREETYPE): New defined variable. + * configure.in: Add configure tests for Fontconfig detection. + +2009-06-23 Robert T. Short + + * run-octave.in: Exclude @-files from path. Remove CVS exclusions. + +2009-06-19 Jaroslav Hajek + + * NEWS: Update. + +2009-06-15 Jaroslav Hajek + + * NEWS: Update. + +2009-06-02 Jaroslav Hajek + + * examples/@polynomial/subsref.m: Handle ':' correctly. + * examples/@polynomial/subsasgn.m: Ditto. + +2009-06-11 Jaroslav Hajek + + * example/@polynomial/numel.m: New method. + * example/@polynomial/Makefile.in: Include it. + +2009-05-22 Benjamin Lindner + + * mkoctfile.cc.in: mask MSVC specific linker flags for mex output + +2009-06-02 Robert T. Short + + * examples/@polynomial: Fix end method for zero based indexing. + +2009-06-02 Jaroslav Hajek + + * examples/@polynomial/subsref.m: Allow chained subscripts, + fix behavior according to docs. + * examples/@polynomial/subsasgn.m: Allow chained subscripts, + fix behavior according to docs. + +2009-06-02 Robert T. Short + + * examples/@polynomial: Remove tabs from all functions so + documentation looks right. Fix a bunch of methods + that didn't work. Add a method referred to in the docs + that didn't exist. + +2009-05-26 John W. Eaton + + * src/dirfns.cc (Fpathsep): Allow path separator to be set. + +2009-03-17 Thomas Weber + + * configure.in: fix typo with regards to termios.h + +2009-05-25 Jaroslav Hajek + + * examples/@FIRfilter/Makefile.in: New file. + * examples/Makefile.in: Include it. + * configure.in: Ditto. + +2009-05-24 Benjamin Lindner + + * configure.in: (SCRIPTS_EXE_SUFFIX) Define to ".exe" for + mingw32 compilation (similar to msvc) + +2009-05-24 Robert T. Short + + * examples/@FIRfilter: added FIRfilter class example. + +2009-05-22 Marco Atzeri + + * src/sysdep.cc: Removed CYGWIN_init + +2009-05-21 Marco Atzeri + * configure.in: Correct my mistake in cygwin SHLBINPRE SHLBIN + +2008-05-21 Michael Goffioul + + * aclocal.m4 (AC_CHECK_QHULL_OK): Do not use -lm under + Windows systems. + * configure.in: Add -luser32 to LIBS under Windows. + + * configure.in (SCRIPTS_EXE_SUFFIX): New substituted + variable. Define to ".exe" for MSVC compilation. + * octMakefile.in (SCRIPTS_EXE_SUFFIX): New variable. + (DISTFILES): Add mkoctfile.cc.in, octave-config.cc.in and + octave-bug.cc.in. + (SHELL_SCRIPTS): Use SCRIPTS_EXE_SUFFIX. + (mkoctfile.cc, mkoctfile$(EXEEXT)): New build rules. + (octave-config.cc, octave-config$(EXEEXT)): Likewise. + (octave-bug.cc, octave-bug$(EXEEXT)): Likewise. + (install, install-strip, uninstall): Use SCRIPTS_EXE_SUFFIX. + (maintainer-clean, distclean): Remove mkoctfile.[cc|o|exe], + octave-config.[cc|o|exe] and octave-bug.[cc|o|exe]. + (clean): Remove mkoctfile$(EXEEXT), octave-config$(EXEEXT), + octave-bug$(EXEEXT) and the corresponding object files. + +2009-05-07 Rik + + * README.mirrors: Remove invalid mirror sites which no longer exist. + +2009-05-07 John W. Eaton + + * configure.in, mkoctfile.in, mkoctfile.cc.in, octave-bug.in, + octave-bug.cc.in: Eliminate last remnants of f2c goop. + +2009-05-07 Marco Atzeri + + * configure.in, Makeconf.in: (SHLPRE): Rename from SHLLIBPRE. + +2009-05-05 Jaroslav Hajek + + * configure.in: Include the whole 3.x g++ series as problematic. + * Makefile: Don't mention that g++-3.x might work. + +2009-05-04 John W. Eaton + + * configure.in: Put -lftgl ahead of $FT2_LIBS, and $FT2_LIBS ahead + of $OPENGL_LIBS. + +2009-05-04 Peter O'Gorman + + * aclocal.m4 (OCTAVE_HAVE_C99_VSNPRINTF): New macro. + * configure.in: Use it. + + * configure.in (rs6000-ibm-aix* | powerpc-ibm-aix*): Set + library_path_var to LIBPATH. + (hppa*-hp-hpux*): Set library_path_var to SHLIB_PATH. + (ia64*-hp-hpux*): New case for shared library variables. + + * configure.in: Provide decls for exp2, round, and tgamma if they + are missing. + +2009-04-11 David Bateman + + * NEWS: Add new graphics functions. + +2009-04-05 John W. Eaton + + * configure.in: Use AC_USE_SYSTEM_EXTENSIONS instead of + AC_GNU_SOURCE, AC_AIX, AC_MINIX, and AC_ISC_POSIX. + Require Autoconf 2.60. + + * configure.in: Add -Wformat to extra warning flags. Add + -Wconversion to strict warning flags. + +2009-04-02 John W. Eaton + + * Makeconf.in (do-script-install): Use $(INSTALL_DATA) instead of + mv to install PKG_ADD file. + +2009-04-02 Marco Atzeri + + * Makeconf.in (do-subst-script-vals): Use SHLLIBPRE instead of + LIBPRE for names for shared libraries. + +2009-03-28 Marco Atzeri + + * configure.in: For cygwin, set LIBPRE=lib and clear CPICFLAG, + CXXPICFLAG, and FPICFLAG. + +2009-03-27 Jaroslav Hajek + + * aclocal.m4 (OCTAVE_CMATH_FUNC): Add missing AC_LANG_POP. + * configure.in: Enclose string in quotes. + +2009-03-23 Jaroslav Hajek + + * NEWS: More updates. + +2009-03-20 Jaroslav Hajek + + * aclocal.m4 (OCTAVE_CMATH_FUNC): New macro. + * configure.in: Use it. + +2009-03-09 John W. Eaton + + * run-octave.in: Use doc-cache instead of DOC for doc cache file. + * configure.in: Likewise. + + * configure.in (--enable-extra-warning-flags): New option to + control extra compiler warning flags. + (--enable-strict-warning-flags): Rename from --enable-picky-flags. + (GXX_STRICT_FLAGS): Remove -Wenum-clash from the list. + +2009-03-08 S�ren Hauberg + + * NEWS: Mention 'histc'. + +2009-03-07 John W. Eaton + + * config.guess, config.sub: Update from FSF sources. + +2009-02-25 John W. Eaton + + * configure.in (doc_cache_file): New default variable + * Makeconf.in (@doc_cache_file, do-subst-default-vals): Substitute it. + +2009-02-24 John W. Eaton + + * run-octave.in (DOCFILE): New variable. Pass --doc-cache-file + option to Octave. + + * configure.in: Copy Makefile to build directory if not building + in srcdir. + +2009-02-24 Thorsten Meyer + + * configure.in: AC_SUBST ac_config_files. + * Makeconf.in (config_opts): Define CONFIG_SUBDIRS variable. + * Makefile: Add make target for configuration files. + * octMakefile.in: Add make targets for configuration files, + config.status and configure. + + * Makefile.in: Rename to Makefile. + * configure.in: Remove Makefile from list of autogenerated + configuration files. + * octMakefile.in: Remove references to Makefile.in, add Makefile + to list of CONF_DISTFILES. + * octMakefile.in (maintainer-clean distclean): Don't delete Makefile. + +2009-02-17 Benjamin Lindner + + * configure.in: Check for mkstemps on MinGW platform + (HAVE_MKSTEMPS): Define if mkstsmps is avilable in libiberty. + +2009-02-17 Jaroslav Hajek + + * NEWS: Mention cummin and cummax + +2009-02-17 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GPERF): Don't run gperf. + + * Makeconf.in (do-subst-config-vals): Substitute CARBON_LIBS, + X11_INCFLAGS, and X11_LIBS. + +2009-02-17 Thomas Treichl + + * Makeconf.in: Substitute CARBON_LIBS. + * configure.in: Use CARBON_LIBS instead of LIBS for framework Carbon. + + * configure.in: Fix test for X11 if "--without-x" is given. + +2009-02-16 Jaroslav Hajek + + * NEWS: Yet more updates. + +2009-02-16 John W. Eaton + + * NEWS: Mention command-style parsing changes. More updates. + +2009-02-13 John W. Eaton + + * NEWS: Update for release. + +2009-02-11 Thomas Treichl + + * aclocal.m4 (OCTAVE_GLUTESSCALLBACK_THREEDOTS): New macro. + (OCTAVE_OPENGL): Use it in OpenGL check. + +2009-02-11 Ben Abbott + + * configure.in: Include FTGLTextureFont.h when FTGL_UPPER_CASE is + not defined. + +2009-02-11 John W. Eaton + + * configure.in (octetcdir): New default value. + * Makeconf.in (octetcdir): New variable. + (do-subst-default-vals): Substitute octetcdir. + * octMakefile.in (install, uninstall): Use $(octetcdir) for NEWS. + (DIRS_TO_MAKE): Add $(octetcdir) to the list. + +2009-02-10 Rafael Laboissiere + + * examples/Makefile.in: Run some clean targets on sub-directory + @polynomial. + +2009-02-09 John W. Eaton + + * examples/Makefile.in (dist): Create subdirs of examples, not scripts. + + * examples/@polynomial/Makefile.in (do-mkpkgadd): + Provide special definition for this directory. + + * examples/Makefile.in (EXAMPLE_SOURCES): Delete unused variable. + (SUBDIRS, DISTSUBDIRS): Don't reset to empty. + +2009-02-08 John W. Eaton + + * install-octave.in: Delete. + * configure.in: Delete AC_CONFIG_COMMANDS macro that was used to + make install-octave executable. + +2009-02-07 John W. Eaton + + * octMakefile.in (all): Display $(prefix) in summary message. + +2009-02-05 John W. Eaton + + * aclocal.m4 (OCTAVE_HDF5_HAS_REQUIRED_API): New macro. + * configure.in: Use it in HDF5 check. + +2009-02-04 Benjamin Lindner + + * configure.in: Use separate cases for *-*-mingw* and *-*-cygwin* + to set variables related to creating shared libraries. + +2009-02-03 Jaroslav Hajek + + * aclocal.m4 (AC_CHECK_QHULL_OK): New macro, based on suggestion by + Petr Mikulik . + * configure.in: Call it. + +2009-02-01 Thorsten Meyer + + * autogen.sh: Remove printing of cvs motd. + +2009-01-30 Marco Atzeri + + * configure.in (SHLLIBPRE, SHLBINPRE): Fix definitions for Cygwin. + (SHLEXT, SHLLIB, SHLBIN, SONAME_FLAGS): Fix definitions for Cygwin + and MinGW. + +2009-01-30 Benjamin Lindner + + * configure.in: Add -lgdi32 to LIBS on *-*-msdosmsvc* and + *-*-mingw* systems. + +2009-01-29 Thomas Treichl + + * aclocal.m4 (OCTAVE_HAVE_FRAMEWORK): Add support for + --with-framework- and replace "$ac_safe" by "$1". + * configure.in: Change "have_carbon" with + "have_framework_carbon". + +2009-01-28 John W. Eaton + + * configure.in: Check to see that pcre library has pcre_compile + function. + + * configure.in (SHLLIBPRE, SHLBINPRE): New variables. AC_SUBST them. + (*-*-cygwin*): Set LIBPRE and SHLBINPRE to cyg and SHLLIBPRE to lib. + Use SHLLIBPRE and SHLLIB in definition of SONAME_FLAGS. + (*-*-msdosmsvc): Make SHLBINPRE and SHLLIBPRE empty. + Adjust definition of SONAME_FLAGS for SHLLIBPRE. + + * Makeconf.in (SHLLIBPRE, SHLBINPRE): Substitute new variables here. + From Marco Atzeri . + +2009-01-27 Benjamin Lindner + + * configure.in: Add of -lregex to REGEX_LIBS. + +2009-01-26 Thomas Treichl + + * aclocal.m4 (OCTAVE_HAVE_FRAMEWORK): New macro. + * configure.in: Use it. + +2009-01-22 John W. Eaton + + * configure.in (AH_BOTTOM): Define OCTAVE_USE_OS_X_API if + __APPLE__ and __MACH__ are defined. + +2009-01-22 Jaroslav Hajek + + * configure.in: Fix qrupdate warning message. + +2009-01-21 John W. Eaton + + * Makeconf.in: Substitute X11_INCFLAGS and X11_LIBS. + * configure.in: Use AC_PATH_X to check for X11 header files and + libraries. + + * THANKS, Announce: Remove obsolete files. + * octMakefile.in (DISTFILES): Remove THANKS from the list. + +2009-01-20 John W. Eaton + + * configure.in: Check for fstat. + +2008-12-23 David Bateman + + * configure.in: Add configuration test for ARPACK. + * Makeconf.in (ARPACK_LIBS): Add variable with location of ARPACK + library. + * NEWS: Document that eigs and svds were moved to Octaave. + +2008-10-29 Jaroslav Hajek + + * configure.in: Remove the OCTAVE_LOCAL_BUFFER stuff (moved to + liboctave). + +2008-12-04 Jaroslav Hajek + + * NEWS: Document more new features. + +2008-12-03 John W. Eaton + + * config.guess, config.sub: Update from FSF sources. + +2008-11-18 John W. Eaton + + * mkoctfile.cc.in, octave-bug.cc.in: Style fixes. + +2008-11-13 Ben Abbott + + * src/graphics.h.in: Add props screensize & screenpixelsperinch. + +2008-11-08 Thorsten Meyer + + * Makeconf.in: export PERL variable for use in scripts/mkdoc + +2008-10-30 David Bateman + + * NEWS: Minor update to document improved indexing code. + +2008-10-23 Jason Riedy + + * configure.in: Take care to use FT2_CFLAGS when checking + for FTGL headers. + +2008-10-22 David Bateman + + * examples/@polynomial: Move examples/polynomial here. + * examples/@polynomial/Makefile.in: Update for new location. + * examples/Makefile.in: Ditto. + * configure.in: Change locate of examples/@polynomial makefile + in AC_CONFIG_FILES. + +2008-10-16 David Bateman + + * NEWS: Minor update. + +2008-10-15 David Bateman + + * examples/polynomial/display.m, examples/polynomial/double.m, + examples/polynomial/end.m, examples/polynomial/get.m, + examples/polynomial/mtimes.m, examples/polynomial/plot.m, + examples/polynomial/polynomial.m, + examples/polynomial/polynomial_superiorto.m, + examples/polynomial/polyval.m, examples/polynomial/set.m, + examples/polynomial/subsasgn.m, examples/polynomial/subsref.m: + New example files for a sample OOP class. + * examples/polynomial/Makefile.in: Add a makefile for this new + directory + * examples/Makefile.in: Reference the new subdirectory here. + * configure.in: Add the new makefile to AC_CONFIG_FILES. + +2008-10-01 Jaroslav Hajek + + * configure.in: Check for sizeof (long double) and randl. + +2008-09-30 Jaroslav Hajek + + * aclocal.m4 (OCTAVE_FAST_INT_OPS): New macro. + * configure.in: Call OCTAVE_FAST_INT_OPS + +2008-09-08 John W. Eaton + + * mkoctfile.cc.in, octave-bug.cc.in, octave-config.cc.in: Style fixes. + +2008-09-08 Michael Goffioul + + * mkoctfile.cc.in, octave-bug.cc.in, octave-config.cc.in: New files. + +2008-08-28 David Bateman + + * NEWS: Update for some of the graphics changes + +2008-08-11 Jaroslav Hajek + + * acx_blas_f77_func.m4, acx_lapack.m4: Update macros from + . + +2008-08-07 John W. Eaton + + * aclocal.m4 (OCTAVE_STRING_NPOS): Delete. + * configure.in (OCTAVE_STRING_NPOS): Delete use. + +2008-08-04 John W. Eaton + + * Makeconf.in (do-subst-script-vals): Also substitute SED. + * run-octave.in: Use sed to append : to path elements + instead of using the find expression "-exec echo '{}':". + Substitute SED here. + + * aclocal.m4: Fail if no usable version of sed is found. + + * Makefile.in (header-msg): Mention GNU Make requirement. + Update GCC version info. + +2008-07-31 John W. Eaton + + * octMakefile.in (DISTFILES): Add "missing" to the list. + +2008-07-30 John W. Eaton + + * aclocal.m4 (CXX_ABI, OCTAVE_CXX_PREPENDS_UNDERSCORE, + OCTAVE_PROG_NM): Delete macros. + * configure.in: Delete uses. + +2008-07-29 Tatsuro MATSUOKA + + * aclocal.m4 (OCTAVE_OPENGL): Handle MinGW the same as MSVC. + +2008-07-29 David Bateman + + * NEWS.3: Copy from NEWS. + * NEWS: Initial update in preparation for a 3.2 release. + +2008-07-21 John W. Eaton + + * configure.in: If FTGL.h is found, then also include + FTGLTextureFont.h in test code. + +2008-07-21 Michael Goffioul + + * configure.in: Remove GRAPHICS_OPENGL variable. + +2008-07-21 John W. Eaton + + * aclocal.m4 (OCTAVE_OPENGL): Fix shell syntax problems. + Handle HAVE_GL_GL_H and HAVE_OPENGL_GL_H in link test. + + * configure.in: Don't define and substitute FLTK_BACKEND_SRC or + GL_RENDER_SRC. + (HAVE_FLTK): AC_DEFINE if FLTK is available. + (HAVE_OPENGL): AC_DEFINE if OpenGL is available. + +2008-07-21 Jaroslav Hajek + + * configure.in: Extend FTGL test to test for both ftgl.h and FTGL.h. + Use HAVE_FTGL_UPPERCASE to indicate the latter (version <= 2.1.2). + +2008-07-19 Rafael Laboissiere + + * octMakefile.in (CONF_DISTFILES): Include acx_blas_f77_func.m4 in + the list. + +2008-07-18 Carlo de Falco + + * aclocal.m4: Search for gl.h and glu.h in OpenGL/ as well as in GL/. + +2008-07-18 John W. Eaton + + * configure.in: Fix FTGL test to handle either FTGL/ftgl.h or ftgl.h. + (warn_freetype, warn_ftgl, warn_fltk_config, warn_fltk_opengl): + New variables. Use these instead of overloading warn_graphics. + +2008-07-17 David Bateman + + * configure.in (HAVE_MAGICK): New define for presence of + GraphicsMagick. + +2008-07-16 Michael Goffioul + + * configure.in: Add check for pthread.h. + +2008-07-14 John W. Eaton + + * Makeconf.in (MAGICK_CONFIG): Substitute here. + (MAGICK_INCFLAGS, MAGICK_LIBS): Define using GraphicsMagick++ + config script. + (do-subst-config-vals): Include MAGICK_LIBS and MAGICK_INCFLAGS in + list of substitutions. + * configure.in: Check for GraphicsMagick++ config script. + +2008-07-10 John W. Eaton + + * octMakefile.in (DIRS_TO_MAKE): Delete $(localfcnfilepath) and + $(localoctfilepath) from the list. Include $(datadir) + $(localfcnfiledir) $(localapifcnfiledir) $(localverfcnfiledir) + $(localoctfiledir) $(localapioctfiledir) $(localveroctfiledir) + $(imagedir) and $(localapiarchlibdir) in the list. + + * configure.in: Look for FTGL/ftgl.h instead of FTGL/FTGL.h. Also + look for ftgl.h. + +2008-07-10 Michael Goffioul + + * configure.in: new substituted variables GL_RENDER_SRC and + FLTK_BACKEND_SRC. + +2008-06-20 Michael Goffioul + + * Makeconf.in: Add GRAPHICS_CFLAGS substitution. + * configure.in: Add checks for hypotf and _hypotf. + +2008-06-12 Jaroslav Hajek + + * configure.in: Move LIBS and CXXFLAGS restoration into + the proper block. + +2008-06-05 John W. Eaton + + * configure.in: Add FT2_CFLAGS to XTRA_CXXFLAGS, not CXXFLAGS. + Don't add FT2_LIBS to LIBS. + Don't generate src/graphics/Makefile, src/graphics/Makerules, + src/graphics/opengl/Makefile, or src/graphics/fltk_backend/Makefile. + + * Makeconf.in (FT2_LIBS, GRAPHICS_LIBS): Substitute here. + +2008-06-04 Shai Ayal + + * configure.in: Use AC_TRY_LINK in FTGL test. + Include FT_CFLAGS in CXXFLAGS. + + * aclocal.m4 (OCTAVE_OPENGL): Note FIXME for apple. + + * configure.in: Check for FTGL library. + + * configure.in: Remove check for Fl/glu.h header. + + * aclocal.m4 (AC_CHECK_FT2): New macro to check for freetype2. + + * configure.in: Check for FLTK and corresponding compiler flags. + +2008-06-04 Michael Goffioul + + * configure.in: Double-quote warn_graphics variable. + + * aclocal.m4 (OCTAVE_OPENGL): New function to detect OpenGL + headers and libraries. + * configure.in (OCTAVE_OPENGL): Use it. + (OCTGRAPHICS_DLL_DEFS): New define to build + graphics-related DLL. + (AC_CONFIG_FILES): Generate additional files for graphics + related libraries. + * Makeconf.in (OPENGL_LIBS): New variable. + + * .hgignore: Also ignore build-.*, configure, and autom4te.cache. + +2008-05-22 Jaroslav Hajek + + * mk-opts.pl (emit_print_function, emit_set_function, + emit_show_function): Support float type. + +2008-05-20 David Bateman + + * configure.in (AC_CHECK_FUNCS): Add expm1, lgammaf, lgammaf_r, + log1pf and tgammaf. Also check for libfftw3f. + +2008-04-09 Rafael Laboissiere + + * example/octave.desktop.in: Drop the Encoding key, which is + deprecated by the FreeDesktop standard. + +2008-04-04 John W. Eaton + + * Makeconf.in (do-check-m-sources): New macro. + +2008-04-03 Tatsuro MATSUOKA + + * README.Cygwin: Update. + +2008-04-02 Jaroslav Hajek + + * acx_blas_f77_func.m4: New file. + * configure.in: Call ACX_BLAS_WITH_F77_FUNC instead of ACX_BLAS. + Supply a warning for incompatible Fortran/BLAS configuration. + +2008-03-25 Jaroslav Hajek + + * configure.in: Check for expm1 and log1p functions. + +2008-03-25 John W. Eaton + + * configure.in: Check for trunc. + +2008-03-21 David Bateman + + * configure.in (HAVE_AMD): Complete test for presence of amd. + +2008-03-18 David Bateman + + * configure.in (AC_CHECK_FUNCS): Also check lgamma_r. + +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. + +2008-02-14 John W. Eaton + + * examples/fortdemo.cc: Don't check f77_exception_encountered. + +2008-02-06 John W. Eaton + + * examples/Makefile.in (octave.desktop): + Use mv instead of move-if-change. + +2008-02-05 John W. Eaton + + * dlfcn/Makefile.in: Unconditionally include $(MAKEDEPS). + Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. + +2008-01-12 John W. Eaton + + * aclocal.m4: Call AC_SUBST instead of AC_DEFINE_UNQOTED for + GNUPLOT_BINARY. + * aclocal.m4, configure.in: Use GNUPLOT instead of GNUPLOT_BINARY + as variable name. + * Makeconf.in (GNUPLOT): Substitute. + (do-subst-config-vals): Substitute GNUPLOT. + +2007-12-21 John W. Eaton + + Version 3.0.0 released. + +2007-12-13 John W. Eaton + + * octMakefile.in (octave-bug, octave-config, mkoctfile): + Also depend on $(top_srcdir)/src/version.h. + +2007-12-10 John W. Eaton + + * acx_blas.m4: Use -lsunperf, not -xlic_lib=sunperf. + From Jim Langston . + +2007-12-06 John W. Eaton + + * configure.in (*-*-darwin*): Only set CPICFLAG, CXXPICFLAG, and + FPICFLAG to "" on powerpc systems. + +2007-12-04 John W. Eaton + + * octave-bug.in (LIBDLFCN): Delete variable and all uses. + * Makeconf.in (LIBDLFCN, DLFCN_INCFLAGS): Likewise. + * configure.in (DLFCN_DIR, LIBDLFCN, DLFCN_INCFLAGS): Likewise. + Don't generate dlfcn/Makefile. + * octMakefile.in (DISTSUBDIRS): Delete dlfcn from the list. + (SUBDIRS): Don't substitute DLFCN_DIR here. + +2007-12-03 Moritz Borgmann + + * Makeconf.in, aclocal.m4, configure.in: Check for find program, + preferably gfind (on non-GNU systems). Need a sane find for + run-octave script. + * run-octave.in: Use FIND and AWK as determined by configure. + +2007-12-03 John W. Eaton + + * configure.in: If available, include in test for + sigset_t and sig_atomic_t. + +2007-11-30 Moritz Borgmann + + * configure.in: Also check for sunmath.h. + +2007-11-26 David Bateman + + * PROJECTS: condest now implemented. + + * NEWS: Document the TeX interpreter mode and its limitations with + gnuplot 4.0. + + * NEWS: Document the use of "colormap gmap40" to workaround some + gnuplot 4.0 colormap issues. + +2007-11-14 John W. Eaton + + * configure.in: Don't create Makefrag.bsd. + +2007-11-14 Joseph P. Skudlarek + + * configure.in: Rework pcre.h tests to work with autoconf 2.59, + and avoid explicit pcre/pcre.h check by using pcre-config. + +2007-11-13 Joseph P. Skudlarek + + * octave-bug.in: Try mailx, then Mail, then /usr/ucb/mail, then + /bin/mail. + +2007-11-13 John W. Eaton + + * configure.in: Only define HAVE_PCRE_H if has the + definitions we need. Likewise for . + +2007-11-10 John W. Eaton + + * configure.in: Delete AC_SUBST_FILE(f77_rules_frag). + +2007-11-07 John W. Eaton + + * configure.in: Also check for pcre/pcre.h. + +2007-11-01 John W. Eaton + + * configure.in: Delete BLAS library calling convention + compatibility check. + +2007-10-31 John W. Eaton + + * README.binary-dist: Delete. + + * README.MachTen: Delete. + * octMakefile.in (DISTFILES): Remove it from the list. + +2007-10-30 David Bateman + + * examples/addtwomatrices.cc, examples/celldemo.cc, + examples/firstmexdemo.c, examples/fortdemo.cc, examples/fortsub.f, + examples/funcdemo.cc, examples/globaldemo.cc, + examples/helloworld.cc, examples/mycell.c, examples/myfeval.c, + examples/myfunc.c, examples/mypow2.c, examples/mysparse.c, + examples/mystring.c, examples/mystruct.c, examples/paramdemo.cc, + examples/stringdemo.cc, examples/structdemo.cc, + examples/unwinddemo.cc: Doc fixes for small book format. + +2007-10-26 Michael Goffioul + + * Makeconf.in: Remove UNSETCOMSPEC trick. + +2007-10-25 John W. Eaton + + * configure.in (AH_BOTTOM): Define OCTAVE_EMPTY_CPP_ARG here. + +2007-10-24 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): No need to delete + Makefrag.f77 and Makerules.f77. + * Makeconf.in: Include rules for making .o files from .f files + instead of substituting @f77_rules_frag@. + * configure.in): Delete handling of --with-f2c and --with-f77 + options. No need to call OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS. + Delete all special cases for f2c. + * aclocal.m4 (OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS): Delete macro. + + * FLEX.patch: Delete obsolete file. + * octMakefile.in (DISTFILES): Remove it from the list. + + * acx_blas.m4: Use "-Wl,-framework -Wl,vecLib" instead of + just "-framework vecLib" in test for Mac OS X test. + + * configure.in, aclocal.m4: Avoid AC_TRY_EVAL. + + * aclocal.m4 (OCTAVE_STRPTIME_BROKEN): New macro. + * configure.in: Use it. + +2007-10-23 John W. Eaton + + * configure.in: When checking for -lf2c, set F2CLIBS instad of + FLIBS, then set FLIBS to $F2CLIBS just before printing the summary. + Check for BLAS library calling convention compatibility. + +2007-10-17 John W. Eaton + + * configure.in: Delete checks for METIS. + +2007-10-12 John W. Eaton + + * mk-opts.pl (parse_input): Allow comment lines beginning with #. + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + + * COPYING: Update to GPLv3. + + * run-octave.in: List args explicitly in exec command. + +2007-10-11 John W. Eaton + + * config.guess, config.sub: Update from FSF sources. + +2007-10-10 Kim Hansen + + * run-octave.in: Use $args. Eliminate "if [ -n "$args" ]" conditional. + +2007-10-09 John W. Eaton + + * gdbinit.in: Delete. + * octMakefile.in (DISTFILES): Remove it from the list. + (.gdbinit): Delete rule. + (maintainer-clean, distclean): No need to delete .gdbinit. + +2007-10-09 Kim Hansen + + * run-octave.in: Use gdb with --args, not .gdbinit. + +2007-10-08 John W. Eaton + + * emacs/octave-hlp.el, emacs/octave-inf.el, emacs/octave-mod.el: + Sync with GNU Emacs versions. + * emacs/octave-mod.el: Delete last two args from calls to + define-abbrev. + +2007-10-06 John W. Eaton + + * configure.in: Check for lgamma and tgamma. + +2007-10-04 John W. Eaton + + * configure.in (UGLY_DEFS): Delete special case for darwin. + +2007-10-03 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_SED): Also check for \(X\|Y\) style + regular expression alternation. + +2007-10-01 John W. Eaton + + * aclocal.m4 (OCTAVE_CHECK_STRPTIME): Delete. + * configure.in: Don't use OCTAVE_CHECK_STRPTIME, simply check for + strptime. + +2007-09-18 Thomas Treichl + + * aclocal.m4 (OCTAVE_CHECK_STRPTIME): New macro. + * configure.in: Use it. + +2007-09-06 John W. Eaton + + * configure.in: Avoid broken strptime function on Cygwin systems. + +2007-09-01 David Bateman + + * configure.in: AC_SUBST and check the variable TEXINFO_QHULL. + * Makeconf.in: Use it. + +2007-08-24 David Bateman + + * configure.in: Extra Qhull bits. + +2007-08-24 Kim Hansen + + * run-octave.in: Use `command` instead of $(command) to accomodate + brain-dead shells. + +2007-08-24 David Bateman + + * configure.in: Probe for the use of Qhull. + * aclocal.m4 (AC_CHECK_QHULL_VERSION): Macro to check whether + Qhull needs a version number. + * Makeconf.in: Add QHULL_LIBS. + +2007-08-23 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_SED): Don't clobber value from environment. + From: Christian Cornelssen . + +2007-08-23 Thomas Weber + + * aclocal.m4 (OCTAVE_PROG_GNUPLOT): Drop check for multiple plot + windows. + +2007-08-10 S�ren Hauberg + + * ROADMAP: Update for current sources. + +2007-07-26 John W. Eaton + + * configure.in: Also look for glpk/glpk.h. + +2007-07-25 David Bateman + + * octMakefile.in, dlfcn/Makefile.in, emacs/Makefile.in, + examples/Makefile.in, test/Makefile.in: Adjust DISTFILES to allow + out of tree "make dist" to work. + +2007-07-24 Michael Goffioul + + * configure.in (*-*-msdosmsvc): Only add -g to DL_LDFLAGS and + SH_LDFLAGS if either CFLAGS or CXXFLAGS contains -g. + +2007-07-24 Rafael Laboissiere + + * Makeconf.in (RUNTEST): Delete variable substitution. + (do-subst-config-vals): Don't substitute %OCTAVE_CONF_RUNTEST%. + +2007-07-20 Thomas Treichl + + * mkoctfile.in: Fix typo. + +2007-06-25 John W. Eaton + + * mk-opts.pl (emit_print_function): Make generated function print + to ostream (passed as arg) instead of local buffer. Don't call + print_usage in generated function. + (emit_options_function): Fix call to print_${class_name} in + generated to pass octave_stdout as arg. + +2007-06-18 John W. Eaton + + * emacs/octave-inf.el (inferior-octave-prompt): Match "octave.bin" + and "octave.exe" in addition to "octave". + +2007-06-15 John W. Eaton + + * run-octave.in: Use simple string concatenation instead of + sprintf in AWK program. + +2007-06-13 Michael Goffioul + + * configure.in: Set NO_OCT_FILE_STRIP=true for msdosmsvc. + + * aclocal.m4 (OCTAVE_HDF5_DLL): Include return statements in + function body used for test. + + * configure.in: Check for CXSparse with C++. + + * Makeconf.in (do-subst-config-vals): Also substitute ${libdir} as + OCTAVE_CONF_LIBDIR. + * mkoctfile.in: Set DEFAULT_LIBDIR and substitute OCTAVE_HOME. + Define LIBDIR. Use LIBDIR to set DEFAULT_LFLAGS. + +2007-06-12 Benjamin Lindner + + * configure.in: For mingw, add -lws2_32 -lkernel32 to LIBS and set + _USE_MATH_DEFINES same as for msvc. + +2007-06-06 Michael Goffioul + + * configure.in: Check for utime.h and sys/utime.h headers. + Check for utime, _chmod, _utime, and _utime32 functions. + +2007-06-03 David Bateman + + * configure.in (AC_CONFIG_FILES): Add src/mxarray.h + * examples/mycell.c, examples/mypow2.c, examples/mysparse.c, + examples/mystring.c, examples/mystruct.c: Use mwSize and mwIndex, + rather than int for indexing to conform to new mex API. + +2007-06-01 John W. Eaton + + * configure.in (*-*-darwin*): Fix quoting and construction of + MKOCTFILE_DL_LDFLAGS. + * mkoctfile.in (DEFAULT_BINDIR, EXEEXT): New substitutions. + * Makeconf.in (MKOCTFILE_DL_LDFLAGS): Delete. + (do-subst-config-vals): Do configure substitution of + MKOCTFILE_DL_LDFLAGS directly here instead of using intermediate + variable. Quote this sed substitution with ' instead of ". + +2007-05-29 Steven Mestdagh + + * configure.in: Delete spurious "break" in fftw3 check. + Use separate case for SH_LD and SH_LDFLAGS on openbsd. + +2007-05-22 John W. Eaton + + * Makeconf.in (do-script-uninstall): Also remove directory. + +2007-05-22 Thomas Weber + + * NEWS.2, README.MSVC, WWW/NEWS-2.html: Fix typos. + +2007-05-16 David Bateman + + * PROJECTS: Update. + +2007-04-27 John W. Eaton + + * examples/Makefile.in (SOURCES): Add all example files to the list. + + * octave-config.in: Don't set PREFIX to OCTAVE_HOME if OCTAVE_HOME + is empty. + +2007-04-27 David Bateman + + * examples/mycell.c, examples/mypow2.c, examples/mystring.c, + examples/myprop.c: New example mex files. + +2007-04-26 Alex Zvoleff + + * configure.in: Don't report ARPACK libraries in summary. + +2007-04-25 David Bateman + + * Makeconf.in (do-subst-texinfo-vals): Also substitute abs_top_srcdir. + + * examples/myfunc.c, exampples/paramdemo.cc: New files + * examples/mystruct.c, examples/mysparse.c, fortdemo.cc: Fix a few + formatting issues when included in texinfo files. + +2007-04-25 John W. Eaton + + * Makeconf.in (do-subst-texinfo-vals): Also substitute top_srcdir. + + * examples/addtwomatrices.cc, examples/celldemo.cc, + examples/fortdemo.cc, examples/funcdemo.cc, + examples/globaldemo.cc, examples/helloworld.cc, + examples/stringdemo.cc, examples/structdemo.cc, + examples/unwinddemo.cc, examples/fortsub.f, + examples/firstmexdemo.c: New files. + * examples/Makefile.in (SOURCES): Add them to the list. + +2007-04-20 John W. Eaton + + * configure.in: Don't check for ARPACK. + +2007-03-29 Rafael Laboissiere + + * emacs/octave-mod.el: Drop LOADPATH, INFO_FILE, and + INFO_PROGRAM from octave-variables. + + * examples/info-emacs-octave-help, examples/info-emacs-info: + Use gnuclient, not gnudoit. + +2007-03-27 John W. Eaton + + * octMakefile.in (dist, conf-dist): Use ln, not $(LN_S). + * emacs/Makefile.in (dist): Likewise. + * examples/Makefile.in (dist): Likewise. + * dlfcn/Makefile.in (conf-dist): Likewise. + + * config.guess, config.sub: Update from FSF sources. + +2007-03-23 John W. Eaton + + * examples/make_int.cc (octave_integer::clone): Return type is + pointer to octave_base_value, not octave_value. + (Fdoit): Rep is reference to octave_base_value, not octave_value. + +2007-03-21 Paul Kienzle + + * octMakefile.in (all): Print message after successful build. + +2007-03-05 John W. Eaton + + * configure.in (GLPK_PRE_4_14): Rename from GLPK_PRE_4_15. + +2007-02-27 John W. Eaton + + * Makeconf.in (do-script-uninstall): Remove PKG_ADD. + * examples/Makefile.in (uninstall): Don't remove files listed in + $(SCRIPTS) from $(srcdir). + Remove www.octave.org-octave.desktop, not octave.desktop. + + * run-octave.in (run-octave.in): Use --no-initial-path. + Rename to qargs to args. Use $args not "$args" when invoking Octave. + Try harder to get quoting right when passing args to Octave. + +2007-02-26 John W. Eaton + + * octMakefile.in (DISTDIRS): Eliminate variable. + +2007-02-26 Michael Goffioul + + * octMakefile.in, dlfcn/Makefile.in, emacs/Makefile.in: + Use $(LN_S) instead of ln or ln -s. + + * octMakefile.in (dist): Use -9 instead of --best with gzip/bzip2. + +2007-02-21 John W. Eaton + + * configure.in: Also warn about missing functionality for + --without-glpk or --without-curl options. Print curl library + warning in summary. + +2007-02-20 Rafael Laboissiere + + * configure.in: Check for versions of GLPK prior to 4.15 and set + the GLPK_PRE_4_15 macro accordingly. + +2007-02-16 John W. Eaton + + * mkoctfile.in: Use OCTAVE_PREFIX, not OCTAVE_CONF_PREFIX, in sed + substitutions. + * octave-conf.in: Define DATAROOTDIR, not DATADIR, from + OCTAVE_DATAROOTDIR. + From Michael Goffioul . + +2007-02-15 John W. Eaton + + * octave-config.in (DATAROOTDIR): Include in list of vars. + Substitute OCTAVE_HOME. + + * Makeconf.in (MKOCTFILE_INCFLAGS, MKOCTFILE_LFLAGS): Delete vars. + (do-subst-config-vals): Don't substitute them. + Also substitute OCTAVE_CONF_INCLUDEDIR, OCTAVE_CONF_OCTINCLUDEDIR, + OCTAVE_CONF_OCTLIBDIR, and OCTAVE_CONF_PREFIX here. + * mkoctfile.in (OCTAVE_CONF_OCTINCLUDEDIR, OCTAVE_CONF_INCLUDEDIR, + OCTAVE_CONF_OCTLIBDIR): Substitute values and perform OCTAVE_HOME + substitution here. + (DEFAULT_INCFLAGS, DEFAULT_LFLAGS): New variables. Use them to + set default values for INCFLAGS and LFLAGS. + +2007-02-09 John W. Eaton + + * mkoctfile.in: Handle .a files. + +2007-02-08 John W. Eaton + + * octMakefile.in (all): Depend on dist-info-files. + (dist): Delete dist-info-files dependency. + + * configure.in: Rewrite if !( X ) ... fi as if X; true; else ... fi. + Also check for _glp_lpx_simplex. + +2007-02-07 John W. Eaton + + * Makeconf.in (do-script-install): Use $(FCN_FILES) for list of + files instead of $(FCN_FILES_NO_DIR). Use basename to get + filename with no directory part. + +2007-02-07 Michael Goffioul + + * aclocal.m4 (OCTAVE_HDF5_DLL): New macro. + * configure.in: Use it. + +2007-02-05 John W. Eaton + + * configure.in: Check for realpath function. + + * demo.m: Delete obsolete file. + +2007-01-29 Michael Goffioul + + * configure.in (*-*-msdosmsvc): Set NO_OCT_FILE_STRIP to true. + +2007-01-24 John W. Eaton + + * octMakefile.in (install): Install NEWS file. + (uninstall): Remove it. + +2007-01-08 David Bateman + + * configure.in: Replace sparsesuite with suitesparse to match + upstream name. + +2006-12-06 Michael Goffioul + + * acx_blas.m4, acx_lapack.m4: Handle f2c calling convention. + +2006-12-05 John W. Eaton + + * configure.in: Don't check for strptime on *-apple-darwin* systems. + +2006-11-28 John W. Eaton + + * mkoctfile.in: Construct default output file from basename of + input file name. + +2006-11-28 David Bateman + + * configure.in: Check for sparse header files in the sparsesuite + sub-directory. In the cholmod tests, include the camd libraries, as + this might be a dependency for cholmod. + +2006-11-15 John W. Eaton + + * run-octave.in: Don't forget LD_PRELOAD if there are args. + +2006-11-14 John W. Eaton + + * configure.in: If warning message is printed, print additional + final note about missing libraries. + +2006-11-13 John W. Eaton + + * run-octave.in: Substitute liboctinterp, liboctave, and libcruft. + Use them to set LD_PRELOAD. + * Makeconf.in (do-subst-script-vals): Also substitute + liboctinterp, liboctave, and libcruft. + +2006-11-13 Rafael Laboissiere + + * mkoctfile.in: Add -Wl,... options to ldflags, not pass_on_flags. + +2006-11-11 John W. Eaton + + * examples/Makefile.in (octave.desktop): + Use $(simple-move-if-change-rule) here. + + * Makeconf.in (simple-move-if-change-rule, + (builddir-move-if-change-rule): New macros. + +2006-11-11 S�ren Hauberg + + * examples/Makefile.in (uninstall): Add missing semicolon. + +2006-11-09 John W. Eaton + + * examples/Makefile.in (uninstall): New target. + +2006-11-09 Michael Goffioul + + * configure.in (OCTAVE_LOCAL_BUFFER): Don't access first element + if size is 0. + +2006-11-06 Michael Goffioul + + * configure.in (CRUFT_DLL_DEFS, OCTAVE_DLL_DEFS, OCTINTERP_DLL_DEFS): + Also rename in AC_SUBST calls. + * Makeconf.in (ALL_CFLAGS): Use DLL_CDEFS instead of XTRA_CDEFS. + (ALL_CXXFLAGS): Use DLL_CDEFS instead of XTRA_CXXDEFS. + +2006-11-03 John W. Eaton + + * configure.in (CRUFT_DLL_DEFS): Rename from XTRA_CRUFT_DEFS. + (OCTAVE_DLL_DEFS): Rename from XTRA_OCTAVE_DEFS. + (OCTINTERP_DLL_DEFS): Rename from XTRA_OCTINTERP_DEFS. + (XTRA_CRUFT_LINK_FLAGS): Rename from XTRA_CRUFT_LINK_DEPS. + +2006-11-02 John W. Eaton + + * README.Cygwin: Rename from README.Windows. + * README.MSVC: New file. + * README.Windows: Point to the README.Cygwin and README.MSVC files. + +2006-11-01 John W. Eaton + + * configure.in: Check for PCRE macros we use. Warn if regex + library is not found. Print hdf5, zlib, umfpack, colamd, ccolamd, + cholmod, and cxsparse warnings when we detect the problems. + + * run-octave.in: Handle quoted args properly in exec call? + +2006-10-29 John W. Eaton + + * run-octave.in: Handle spaces in directory names. + +2006-10-28 Michael Goffioul + + * configure.in (AH_BOTTOM): If using MSVC, define __WIN32__ before + other #ifdefs that use it. + +2006-10-27 John W. Eaton + + * configure.in (AH_BOTTOM): Move DLL defs to + libcruft/misc/oct-dlldefs.h and include it here. + + * aclocal.m4 (OCTAVE_PROG_TEXI2PDF): Require OCTAVE_PROG_TEXI2DVI. + If texi2pdf is not found but texi2dvi is available, set TEXI2PDF + to "$TEXI2DVI --pdf". + (OCTAVE_PROG_GHOSTSCRIPT): Also check for gswin32 on Windows systems. + + * Makeconf.in (UNSETCOMSPEC): Define if COMSPEC is defined. + From Michael Goffioul . + +2006-10-26 John W. Eaton + + * configure.in (OCTAVE_EXPORT, OCTAVE_IMPORT): New macros + (CRUFT_API, OCTAVE_API, OCTINTERP_API): Define using OCTAVE_EXPORT + and OCTAVE_IMPORT. + +2006-10-26 Michael Goffioul + + * configure.in (*-*-msdosmsvc): Set library_path_var. + Check for _WIN32_WINNT >= 0x0403. Define _USE_MATH_DEFINES if it + is needed. + (XTRA_CRUFT_LINK_DEPS): New variable. Substitute it. + + * aclocal.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): Perform check with C++ + compiler. + +2006-10-26 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_PAGER): Also check for more.com for + *-*-mingw* and *-*-msdosmsvc systems. + + * configure.in (F77_TOLOWER, F77_APPEND_UNDERSCORE, + F77_APPEND_EXTRA_UNDERSCORE): New variables. Substitute them. + * Makeconf.in (F77_TOLOWER, F77_APPEND_UNDERSCORE, + F77_APPEND_EXTRA_UNDERSCORE): Substitute here. + (do-subst-f77-mangling): New macro. + + * emacs/octave-inf.el (inferior-octave-has-built-in-variables): + New defvar. + (inferior-octave-resync-dirs): Check to see whether Octave has + built-in variables and set inferior-octave-has-built-in-variables. + Check inferior-octave-has-built-in-variables to decide whether to + send commands that set built-in variables or call functions to + change Octave's behavior. + Send "disp (pwd ())" to Octave instead of just "pwd". + (inferior-octave-startup): Send "more off" to Octave instead of + "page_screen_output = 0". + +2006-10-25 John W. Eaton + + * configure.in (RETSIGTYPE_IS_VOID): Define if + "$ac_cv_type_signal" = "void". + + * configure.in (*-*-msdosmsvc): Don't check for strftime. + + * configure.in (INCLUDE_DEPS): Set and substitute. + (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): Rearrange way these are set. + + * Makeconf.in (INCLUDE_DEPS): Substitute here, and use to set default + value for omit_deps. + +2006-10-25 Michael Goffioul + + * Makeconf.in (ALL_CFLAGS): Include $(XTRA_CDEFS) in the list. + (ALL_CXXFLAGS): Include $(XTRA_CXXDEFS) in the list. + + * configure.in (XTRA_CRUFT_DEFS, XTRA_OCTAVE_DEFS, + XTRA_OCTINTERP_DEFS): Define and substitute. + (AH_BOTTOM) [_MSC_VER]: include definitions for CRUFT_API, + OCTAVE_API, and OCTINTERP_API. + + * configure.in (*-*-msdosmsvc): Add "-EHs -MD" to CXXFLAGS. + Add "-MD" to CFLAGS. Add "-MD" to CONFLIB_ARG when checking for + libf2c. + + * configure.in (*-*-msdosmsvc): Generate replacement unistd.h. + * octMakefile.in (maintainer-clean, distclean): Also remove unistd.h. + + * configure.in (*-*-msdosmsvc): Default sepchar is ';'. + Define default LIBS (link against kernel32 and ws2_32). + Force having LoadLibrary API. + + * configure.in (AH_BOTTOM) [_MSC_VER]: Define __WIN32__. + +2006-10-25 John W. Eaton + + * mkoctfile.in (OCTAVE_VERSION): No need to quote replacement here. + +2006-10-24 John W. Eaton + + * run-octave.in: Only modify .gdbinit if -g option is given. + Use $(/bin/pwd) instead of $(pwd). + +2006-10-23 John W. Eaton + + * emacs/Makefile.in (SOURCES, DISTFILES, install, install-strip, + uninstall): Handle otags name change. + * emacs/octave-tags, emacs/octave-tags.1: Rename from otags. + +2006-10-17 John W. Eaton + + * configure.in: Check for _isnan, _finite, and _copysign. + +2006-10-17 Michael Goffioul + + * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE, OCTAVE_CXX_ABI): Use + $ac_objext instead of assuming .o. + (OCTAVE_PROG_GNUPLOT): Handle *-*-msdos the same as *-*-cygwin* + and *-*-mingw32*. + +2006-10-17 John W. Eaton + + * configure.in: Check for curl_easy_escap instead of + curl_global_init. + +2006-10-13 Michael Goffioul + + * configure.in [_MSC_VER]: Disable some warnings. + (*-*-msdos): New case for shared libraries. + (LIBPRE): New variable. + * Makeconf.in: Substitute it. + +2006-10-12 John W. Eaton + + * configure.in (AH_BOTTOM): Don't unconditionally #define + OCTAVE_HAVE_POSIX_FILESYSTEM followed by a conditional #undef + OCTAVE_HAVE_POSIX_FILESYSTEM since autoconf is commenting out the + #undef. + +2006-10-09 John W. Eaton + + * Makeconf.in (CURL_LIBS, do-subst-config-vals): + Substitute CURL_LIBS. + + * configure.in: Check for libcurl. + +2006-10-04 John W. Eaton + + * Makeconf.in (library_path_var): Substitute value from configure. + (do-subst-script-vals): Add library_path_var to the list. + * run-octave.in: Substitute value here. + +2006-10-03 John W. Eaton + + * configure.in: Warn if PCRE library is not found. + + * configure.in: Include CAMD_LIBS, AMD_LIBS, and REGEX_LIBS in the + summary. + +2006-10-03 David Bateman + + * configure.in: Check for libcamd. + * Makeconf.in (CAMD_LIBS): New variable. + +2006-09-27 John W. Eaton + + * mkoctfile.in [--mex]: Include -I. in incflags. + From S�ren Hauberg . + +2006-09-26 John W. Eaton + + * configure.in (AC_CONFIG_FILES): + Remove doc/interpreter/images/Makefile from the list. + +2006-09-16 John W. Eaton + + * octave-bug.in: Delete LIBPLPLOT variables. + +2006-09-15 John W. Eaton + + * configure.in: Check for locale.h and setlocale. + +2006-09-13 Christopher Hulbert + + * run-octave.in (LD_LIBRARY_PATH): Also append LD_LIBRARY_PATH + from environment. + +2006-08-25 Alexander Barth + + * mkoctfile.in: Accept .f90 and .F90 as Fortran files. + Pass $incflags and $defs to Fortran compiler. + +2006-08-18 John W. Eaton + + * Makeconf.in (do-subst-texinfo-vals): Don't substitute + %CANONICAL_HOST_TYPE%. + +2006-08-17 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GHOSTSCRIPT, OCTAVE_PROG_MAKEINFO, + OCTAVE_PROG_TEXI2DVI, OCTAVE_PROG_TEXI2PDF): New macros. + * configure.in: Use them. Maybe print warnings in summary. + +2006-07-27 John W. Eaton + + * Makeconf.in (localapiarchlibdir): Substitute it here. + (do-subst-default-vals): Include it in the sed command here. + * configure.in (localapiarchlibdir): New variable. + * octave-config.in: Don't quote %VAR% values. + (LOCALAPIARCHLIBDIR): New variable. + +2006-07-27 Thomas Weber + + * octave-config.in (OCTAVE_FCNFILEPATH, OCTAVE_IMAGEPATH, + OCTAVE_LOCALFCNFILEPATH, OCTAVE_LOCALOCTFILEPATH): Delete variables. + +2006-07-26 John W. Eaton + + * mkoctfile.in (Options): Accept -g. + + * configure.in: Check for exp2 and log2. + +2006-07-25 David Bateman + + * mysparse.c: New file. + +2006-06-27 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): Remove + $(SHELL_SCRIPTS) instead of naming files individually. + Also remove .gdbinit. + +2006-06-21 John W. Eaton + + * examples/myfeval.c, examples/myfevalf.f, examples/myhello.c, + examples/myset.c, examples/mystruct.c: New files. + + * mkoctfile.in: New option, --mex. + +2006-06-13 John W. Eaton + + * configure.in (--enable-64): Include "(EXPERIMENTAL)" in help text. + Also set warn_64_bit if no suitable type for octave_idx_type is found. + If --enable-64 is specified, print warning in summary message. + +2006-06-12 John W. Eaton + + * aclocal.m4 (OCTAVE_CXX_BROKEN_REINTERPRET_CAST): New macro. + * configure.in: Use it. + * AH_BOTTOM: Conditionally define FCN_PTR_CAST here. + +2006-06-08 John W. Eaton + + * Makeconf.in (do-subst-default-vals): Also substitute + OCTAVE_DATAROOTDIR. + +2006-06-06 John W. Eaton + + * Makeconf.in (datarootdir): New variable. + + * acx_lapack.m4 (acx_lapack_ok): + Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK + + * aclocal.m4: Use AC_RUN_IFELSE+AC_LANG_SOURCE instead of AC_TRY_RUN. + + * acx_blas.m4, acx_lapack.m4, configure.in, aclocal.m4: + Use AS_HELP_STRING instead of AC_HELP_STRING. + + * configure.in: Outside of other macros, use AC_MSG_NOTICE instad + of AC_MSG_RESULT. Check for sys_siglist using method from + autoconf manual. + + * configure.in, Makeconf.in: octMakefile.in: Delete plplot cruft. + + * configure.in, aclocal.m4: + Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK + Use AC_COMPILE_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_COMPILE. + Use AS_HELP_STRING consistently with AC_ARG_WITH and AC_ARG_ENABLE. + +2006-05-23 John W. Eaton + + * configure.in: Check for inttypes.h and stdint.h. + +2006-05-19 John W. Eaton + + * mk-opts.pl (emit_print_function, emit_options_function): + Generate print_usage calls with no args. + +2006-05-11 John W. Eaton + + * configure.in (localfcnfilepath, localoctfilepath, fcnfilepath, + imagepath): Delete variables. + * Makeconf.in (localfcnfilepath, localoctfilepath, fcnfilepath, + imagepath): Likewise. + (do-subst-default-vals): Don't substitute them. + + * run-octave.in: Pass --image-path to octave. + Use find to recursively add directories to loadpath. + Fixup set args command in .gdbinit here. + +2006-05-09 John W. Eaton + + * octMakefile.in (abs_top_srcdir): Substitute value here. + +2006-05-05 David Bateman + + * Makeconf.in (do-subst-scripts-vals): Also replace + abs_top_srcdir. + * run-octave.in: Define top_srcdir as an absolute path. + +2006-05-04 John W. Eaton + + * octMakefile.in (SHELL_SCRIPTS): Include run-octave in the list. + +2006-05-02 John W. Eaton + + * NEWS: New contents for 3.0. + * NEWS.2: Move contents of NEWS here. + +2006-04-29 John W. Eaton + + * run-octave.in: Execute $builddir/src/octave, not src/octave. + +2006-04-26 Thomas Weber + + * configure.in: Fix apiversion vs. api_version typo. + +2006-04-25 John W. Eaton + + * Makefile.in (TARGETS): Include run-octave and .gdbinit in the list. + * Makeconf.in (subst-script-vals): New macro. + * octMakefile.in (run-octave, .gdbinit): New rules. + (DISTFILES): Include run-octave.in and gdbinit.in in the list. + +2006-04-17 John W. Eaton + + * mk-opts.pl (emit_print_function): Emit code that uses + std::ostringstream directly. + +2006-04-13 John W. Eaton + + * configure.in (CONST_CAST, DYNAMIC_CAST, REINTERPRET_CAST, + STATIC_CAST): Delete. + +2006-04-12 John W. Eaton + + * configure.in: If using g++, also add -Wold-style-cast to CXXFLAGS. + +2006-03-28 John W. Eaton + + * configure.in: Don't check for MPI libraries. + +2006-03-27 John W. Eaton + + * configure.in: Downcase ac_cv_header_mach_o_dyld_h. + From Martin Costabel . + +2006-03-22 John W. Eaton + + * Makeconf.in: (TEXINFO_COLAMD, TEXINFO_CHOLMOD, TEXINFO_UMFPACK): + Substitute here. + (do-subst-texinfo-vals): New macro definition. + + * configure.in: Don't substitute OCTAVE_VERSION, OCTAVE_HOSTTYPE, + or OCTAVE_HOME. + (AC_CONFIG_FILES): Remove doc/conf.texi from the list. + +2006-03-21 John W. Eaton + + * configure.in: Only print warnings for missing functionality in + summary message. + +2006-03-14 John W. Eaton + + * mk-opts.pl (emit_print_function): Buffer extra message here and + pass to print_usage. + +2006-03-09 John W. Eaton + + * Makeconf.in (do-subst-default-vals): Also substitute OCTAVE_RELEASE. + +2006-03-08 David Bateman + + * configure.in: Update the test for CXSPARSE for new upstream release. + (OCTAVE_VERSION, OCTAVE_HOSTTYPE, OCTAVE_HOME,TEXINFO_UMFPACK, + TEXINFO_COLAMD, TEXINFO_CHOLMOD): New variables for texinfo + documentation. + (AC_CONFIG_FILES): Add doc/interpreter/images/Makefile and + doc/conf.texi. + +2006-03-02 Kurt Hornik + + * emacs/octave-mod.el (octave-indent-for-comment): Make the code + match the comments. + +2006-03-02 John W. Eaton + + * octMakefile.in (ALL_SUBDIRS): Delete. + (SUBDIRS): Include src here. + (SHELL_SCRIPTS): New variable. + (all): Depend on $(SHELL_SCRIPTS) and $(SUBDIRS) with libcruft and + liboctave filtered out. + (src): Depend on liboctave. + (liboctave): Depend on libcruft. + +2006-02-09 David Bateman + + * configure.in: Fix for probe of colamd, cccolamd and metis. New test + for the presence of cxsparse. + Makeconf.in: Include CXSPARSE_LIBS. + +2006-01-19 John W. Eaton + + * configure.in: Use $WITH_PCRE instead of $HAVE_PCRE in shell test. + +2006-01-14 John W. Eaton + + * configure.in: Check for mach-o/dyld.h, not Mach-O/dyld.h. + From Martin Costabel . + +2006-01-13 John W. Eaton + + * Makeconf.in (do-mkpkgadd): New macro. + +2005-12-14 David Bateman + + * Makeconf.in: Remove OCTAVE_PROG_RUNTEST. + * alocal.m4: Remove OCTAVE_PROG_RUNTEST. + + * Makeconf.in: New tests of regex and pcre. + +2005-12-13 John W. Eaton + + * examples/Makefile.in (install install-strip): Fix typo. + From William Poetra Yoga Hadisoeseno . + +2005-12-05 Kurt Hornik + + * emacs/octave-inf.el (inferior-octave-startup): + Force a non-empty string for secondary prompt PS2. + +2005-12-02 John W. Eaton + + * emacs/octave-mod.el (octave-electric-space): Don't indent + comments or strings if octave-auto-indent is nil. + +2005-11-30 John W. Eaton + + * examples/Makefile.in (install install-strip): Install images and + desktop file. + +2005-11-29 Rafael Laboissiere + + * emacs/octave-mod.el: Ensure that key bindings for + octave-mark-defun and backward-kill-word work in both XEmacs and + GNU Emacs. + +2005-11-28 John W. Eaton + + * configure.in: Check for uname. + +2005-11-21 John W. Eaton + + * examples/Makefile.in (DISTFILES): Don't include octave.desktop here. + (distclean): Remove octave.desktop here. + (maintainer-clean): Not here. + +2005-11-01 John W. Eaton + + * examples/Makefile.in (distclean, maintainer-clean): + Also remove octave.desktop. + From Quentin Spencer . + +2005-11-01 Quentin Spencer + + * octMakefile.in (CONF_DISTFILES): Delete acx_include_dirs.m4 from + the list. + +2005-10-28 John W. Eaton + + * configure.in (AC_ARG_WITH(cholmod, ...)): Fix typo. + From Quentin Spencer and + Andy Adler . + +2005-10-26 John W. Eaton + + * configure.in, aclocal.m4: Don't quote "yes". + + * configure.in: Print warning messages for umfpack, colamd, + ccolamd, and cholmod as we are searching. Avoid multiple + definitions of message strings. + + * aclocal.m4 (OCTAVE_UMFPACK_SEPERATE_SPLIT): + Use new method of finding umfpack.h. + * configure.in: Use AC_CHECK_HEADERS instead of + ACX_CHECK_HEADER_IN_DIRS. + (AC_CONFIG_FILES): Delete liboctave/oct-sparse.h from the list. + + * acx_include_dirs.m4: Delete. + +2005-10-26 Arno J. Klaassen + + * configure.in [*-*-freebsd*] (SH_LDFLAGS): Properly quote. + (RLD_FLAG): Set. + +2005-10-23 David Bateman + + * configure.in (OCTAVE_UMFPACK_SEPERATE_SPLIT): Check for metis + separately. + * PROJECTS: Remove completed sparse matrix tasks. + +2005-10-17 Paul Kienzle + + * octave.test/system/system.exp: rmdir no longer prints a + message if the directory does not exist. + + * octave.test/system/mk-rm-dir-1.m: mkdir/rmdir return 1 + on success and 0 on failure. + +2005-10-17 John W. Eaton + + * configure.in (F77_FFLOAT_STORE_FLAG): + Check for -ffloat-store option for Fortran compiler and set + F77_FLOAT_STORE_FLAG if it works. + * Makeconf.in: Substitute it here. + (do-subst-config-vals): Substitute OCTAVE_CONF_F77_FLOAT_STORE_FLAG. + +2005-10-14 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_PYTHON): New macro. + * configure.in: Use it. + * Makeconf.in (PYTHON): Substitute it. + +2005-10-05 David Bateman + + mkoctfile.in: allow -idirafter argument. + +2005-09-23 John W. Eaton + + * examples/Makefile.in (install install-strip): + Conditionally install octave.desktop. + (IMAGE_FILES, IMAGE_FILES_NO_DIR): New macros. + (DISTFILES): Include IMAGE_FILES in list. + (install install-strip): Install image file. + + * aclocal.m4 (OCTAVE_PROG_DESKTOP_FILE_INSTALL): New macro + * configure.in: Use it. + * Makeconf.in: Substitute DESKTOP_FILE_INSTALL. + + * octave.desktop.in: New file. From S�ren Hauberg . + * examples/Makefile.in (SOURCES): Add it to the list. + (octave.desktop): New target. + (all): Depend on octave.desktop. + +2005-09-22 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_PERL): New macro. + * configure.in: Use it. + * Makeconf.in (PERL): Substitute it. + + * config.guess, config.sub: Update from FSF sources. + +2005-09-19 David Bateman + + * octMakefile.in (LN_S): Change to DESTDIR before LN_S to avoid + lack of symlinks under mingw. + +2005-09-15 John W. Eaton + + * oct-sparse.h.in: Move to liboctave. + * octMakefile.in (CONF_DISTFILES): Delete it from the list. + (maintainer-clean, distclean, install, install-strip, uninstall): + Omit rules for oct-sparse.h. + * configure.in: Substitute liboctave/oct-sparse.h, not oct-sparse.h. + +2005-09-15 David Bateman + + * acx_include_dirs.m4 (AC_CHECK_HEADER_IN_DIRS): Define new macro. + * oct-sparse.h.in: New AC_CONFIG_FILE. + * configure.in: (AC_CHECK_HEADER_IN_DIRS): Use macro. + (AMD_LIBS, COLAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS): Probe for + these sparse library in addition to UMFPACK. + (UMFPACK_INCLUDE, AMD_INCLUDE, COLAMD_INCLUDE, CCOLAMD_INCLUDE): + AC_SUBST into oct-sparse.h. + (LIBGLOB): Probe for external glob/fnmatch, define LIBGLOB. + (sepchar): Define path seperation character in system dependent + manner. Use it with OCTAVE_SET_DEFAULT. + (SEPCHAR, SEPCHAR_STR): Dpend on sepchar. + (DL_LDFLAGS): Define for cygwin and mingw. + (-lwsock32): Add to LIBS. + (loadlibrary_api): Set for mingw/cygwin and autoconf test appears + broken. + * Makeconf.in: Don't use ";" as sed seperation to avoid confusion + with sepchar. + (LIBGLOB, AMD_LIBS, COLAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, + sepchar): Substitute. + * octMakefile.in: (CONF_DISTFILES): Add acx_include_dirs.m4 and + oct-sparse.h.in + (oct-sparse.h): Include in install and clean directives + +2005-08-31 Pascal A. Dupuis + + * emacs/octave-inf.el (inferior-octave-startup): Call + inferior-octave-resync-dirs here. + +2005-07-14 John W. Eaton + + * configure.in (SH_LDFLAGS): Add -Wl,--enable-auto-image-base for + Cygwin and MinGW. + +2005-06-14 John W. Eaton + + * configure.in (AH_BOTTOM): Also define GCC_ATTR_DEPRECATED. + +2005-06-02 John W. Eaton + + * Makeconf.in (do-subst-default-vals): Substitute + ${localstartupfiledir}, not ${localstartupfile} (which is undefined). + +2005-05-16 David Bateman + + * configure.in: Change UMFPACK_LONG_IDX to IDX_TYPE_LONG. + +2005-05-04 John W. Eaton + + * configure.in (AC_CHECK_LIB($zlib_lib, ...)): Check for + gzclearerr instead of deflate. + +2005-05-02 John W. Eaton + + * configure.in (AC_ARG_WITH(umfpack)): List -lumfpack ahead of -lamd. + From Dmitri A. Sergatskov . + +2005-04-29 David Bateman + + * configure.in: Add UMFPACK_LONG_IDX + +2005-04-21 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Remove install-octave from the list. + (AH_BOTTOM): Define SIZEOF_OCTAVE_IDX_TYPE. + +2005-04-14 John W. Eaton + + * mkoctfile.in: Only perform link step if we have some object files. + If only -v or --version is supplied, print version info and exit. + +2005-04-08 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): + Remove install-octave from the list of files to remove. + (install-octave.in): Delete file. + (DISTFILES): Remove it from the list. + + * Initial merge of 64-bit changes from Clinton Chee: + + 2005-04-07 John W. Eaton + + * configure.in (--enable-64): Make default disabled. + + 2005-04-06 John W. Eaton + + * mk-opts.pl (emit_show_function, emit_set_functions, + emit_print_function): Also accept "octave_idx_type" and + "Array". + + 2005-04-01 John W. Eaton + + * Makeconf.in (USE_64_BIT_IDX_T): Substitute value. + (do-subst-config-vals): Add to list of substitutions. + + * configure.in (AC_CONFIG_FILES): Perform substitutions on + liboctave/oct-types.h too. + Handle --enable-64. + +2005-04-06 David Bateman + + * configure.in: Split the HDF5 and zlib detection code, so that zlib + can be used for compressed load/save in the absence of HDF5. + + * Makeconf.in: Define UMFPACK_LIBS. + + * Configure.in: Slightly alter the UMFPACK detection code so that it + correctly detects cblas bindings or not. + +2005-03-22 John W. Eaton + + * Makeconf.in (GLPK_LIBS): Substitute value. + (do-subst-config-vals): Add to list of substitutions. + + * configure.in: Check for glpk. + + * emacs/octave-mod.el (octave-abbrev-table): Omit fifth and sixth + arguments from define-abbrev for compatibility with some older + versions of Emacs. + +2005-03-21 John W. Eaton + + * octave-bug.in: Try harder to find default pager (use code + similar to that used for finding default editor). + +2005-03-17 Shan G. Smith + + * configure.in: Move check for -lumfpack to after check for blas. + +2005-03-17 John W. Eaton + + * configure.in: If first check for -lumfpack fails try again with + -lcblas as an additional library. + + * configure.in: Change defaults to enable shared libraries and + dynamic linking and disable static libraries. + +2005-03-15 John W. Eaton + + * octMakefile.in (DISTFILES): Remove texi2dvi from the list. + + * emacs/octave-inf.el, emacs/octave-mod.el, emacs/octave-hlp.el: + Import changes from Emacs. + +2005-03-14 Rafael Laboissiere + + * emacs/octave-mod.el (octave-end-keywords): Omit "end" from the list. + (octave-reserved-words): Include "end" here. + (octve-block-match-alist): Don't include "end" here. + +2005-03-14 John W. Eaton + + * configure.in: Check for umfpack/umfpack.h instead of just umfpack.h. + +2004-06-22 David Bateman + + * configure.in: Check for UMFPACK library and header files. + +2005-03-14 John W. Eaton + + * configure.in: Also print a warning if HDF5 library is not found. + +2005-03-10 John W. Eaton + + * mkoctfile.in: Accept -R DIR. + +2005-03-09 John W. Eaton + + * examples/Makefile.in (bin-dist): Delete target. + (BINDISTFILES): Delete variable. + * emacs/Makefile.in: Likewise. + + * octMakefile.in (VERSION, ARCH, binary-dist): Delete targets. + (XBINDISTFILES, BINDISTFILES, BINDISTSUBDIRS): Delete variables. + +2005-03-04 John W. Eaton + + * configure.in (GXX_PICKY_FLAGS): Don't include + -Wmissing-prototypes or -Wstrict-prototypes. + +2005-03-02 John W. Eaton + + * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG, OCTAVE_F77_FLAG): + Use AC_LINK_IFELSE instead of AC_TRY_LINK. + + * configure.in (OCTAVE_LOCAL_BUFFER): Use < T > instead of . + From Clinton Chee . + +2005-03-01 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Remove libcruft/odessa/Makefile + from the list. + +2005-03-01 Todd Neal + + * examples/make_int.cc: DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA now + takes three arguments. + + * octMakefile.in (SUBDIRS, CLEANSUBDIRS): + Remove @GLOB_DIR@ from the list. + +2005-02-28 John W. Eaton + + * octMakefile.in (DISTDIRS): Remove glob from the list. + (dist): No need to clean up in glob subdirectory. + * glob: Delete directory. + * Makeconf.in (GLOB_INCFLAGS, LIBGLOB): Delete. + (do-subst-config-vals): Don't substitute them. + (INCFLAGS): Remove $(GLOB_INCFLAGS) from the list. + * configure.in: Don't test for glob or fnmatch. + +2005-02-22 Shan G. Smith + + * mkoctfile.in: If not linking, then use output file name + specified with -o. + +2005-02-21 John W. Eaton + + * texi2dvi: Delete our private version. + + * Makeconf.in (MAKEINFO): Define. + (TEXI2DVI): Define as texi2dvi, not $(top_srcdir)/texi2dvi. + +2005-02-09 John W. Eaton + + * configure.in: Check for canonicalize_file_name and resolvepath. + +2005-02-02 John W. Eaton + + * config.guess, config.sub: Update from FSF sources. + +2005-01-18 John W. Eaton + + * octave-bug.in: Try harder to find default editor (stolen from + bashbug). + +2004-12-17 John W. Eaton + + * configure.in: Use AC_GNU_SOURCE. + +2004-12-17 Orion Poplawski + + * configure.in: Also check for signbit decl. + +2004-12-03 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GPERF): Check with -L C++, not -L ANSI_C. + * Makefile.in (header-msg): Change recommended gperf version to + 3.0.1 or more recent. + +2004-11-12 John W. Eaton + + * Back off on -ffloat-store until we decide whether it is really + necessary. + +2004-11-11 John W. Eaton + + * (OCTAVE_PROG_GNUPLOT): Don't set GNUPLOT_BINARY before calling + AC_CHECK_PROGS(GNUPLOT_BINARY, ...). + + * configure.in: Use it to see if the C, C++, and Fortran compilers + accept -ffloat-store. + * aclocal.m4 (OCTAVE_F77_FLAG): New macro. + +2004-09-08 John W. Eaton + + * configure.in (GXX_PICKY_FLAGS): Remove -fno-nonnull-objects. + (GCC_PICKY_FLAGS): Remove -Wnested-externs -Wid-clash-31. + From Quentin Spencer . + + * configure.in (GCC_PICKY_FLAGS): Remove -Winline. + +2004-09-07 John W. Eaton + + * configure.in: Check for round. + +2004-06-22 David Bateman + + * configure.in: Use -Wl,-Bsymbolic for MKOCTFILE_DL_LDFLAGS on + GNU/Linux systems but not for SH_LDFLAGS. + +2004-04-22 John W. Eaton + + * configure.in: Add -Wl,-Bsymbolic to SH_LDFLAGS for GNU/Linux + systems. From Fredrik Lingvall . + + * mkoctfile.in: Allow -Wx,option style options to be passed to the + compiler. From Al Niessner . + +2004-04-06 John W. Eaton + + * configure.in: Delete code for --with-ieee754. + Use OCTAVE_IEEE754_DATA_FORMAT. + + * aclocal.m4 (OCTAVE_IEEE754_DATA_FORMAT): New macro, based on + configure.in code for HAVE_IEEE754_COMPLIANCE. + +2004-04-06 David Bateman + + * configure.in : add the option --with-ieee754 and use it to define + HAVE_IEEE754_COMPLIANCE + +2004-04-02 David Bateman + + * configure.in: Warn about g++ 2.9x versions. + +2004-04-01 John W. Eaton + + * octMakefile.in (dist): Also make bz2 file and compute md5 + checksums of both gz and bz2 files. + +2004-03-04 John W. Eaton + + * configure.in: No longer accept --with-g77 (it is still possible + to use --with-f77=g77). + +2004-03-03 John W. Eaton + + * configure.in: Check for -mieee instead of -mieee-with-inexact. + +2004-02-20 Per Persson + + * mkoctfile.in (LINK_DEPS): Include $LDFLAGS in the list. + +2004-02-18 Per Persson + + * configure.in (*-*-darwin*): Define SONAME_FLAGS. + +2004-02-16 David Bateman + + * configure.in: Test for the presence of FFTW 3.x and use it in + preference to FFTW 2.x. Define HAVE_FFTW3 + +2004-02-16 John W. Eaton + + * mkoctfile.in (LINK_DEPS): Include $LIBS and $RLD_FLAG. + Use $OCTAVE_LIBS instead of listing libs individually. + +2004-02-14 John W. Eaton + + * mkoctfile.in: Delete INCLUDE_LINK_DEPS. Fix help text. + Always define LINK_DEPS. + (LINK_DEPS): Also include FLIBS in the list. + + * Makeconf.in (INCLUDE_LINK_DEPS): Don't substitute. + (do-subst-config-vals): Delete INCLUDE_LINK_DEPS. + * configure.in (INCLUDE_LINK_DEPS): Delete. + + * mkoctfile (SH_LD, SH_LDFLAGS): Delete. + (DL_LD, DL_LDFLAGS): New variables. Use them instead of SH_LD and + SH_LDFLAGS for creating .oct files. + Fix help text. + + * configure.in (MKOCTFILE_SH_LDFLAGS): Delete. + (MKOCTFILE_DL_LDFLAGS): New variable, default to DL_LDFLAGS. + + * Makeconf.in (do-subst-config-vals): Add DL_LD, DL_LDFLAGS, and + MKOCTFILE_DL_LDFLAGS to the list of substitutions. + Delete MKOCTFILE_SH_LDFLAGS. + +2004-02-14 Per Persson + + * configure.in (DL_LD, DL_LDFLAGS): New variables, default to + SH_LD and SH_LDFLAGS, respectively. + Define independently for SH_LD and SH_LDFLAGS for *-*-darwin* targets. + * Makeconf.in (DL_LD, DL_LDFLAGS): Substitute them here. + +2004-02-13 John W. Eaton + + * Makefile.in (header-msg): Required bison version now 1.31 or later. + +2004-01-29 John W. Eaton + + * emacs/octave-mod.el: If line-end-position is not defined, + provide it as an alias for point-at-eol. + +2004-01-24 John W. Eaton + + * emacs/octave-mod.el: If line-beginning-position is not defined, + provide it as an alias for point-at-bol. + +2004-01-23 John W. Eaton + + * configure.in (AH_BOTTOM): + Define OCTAVE_LOCAL_BUFFER using vector instead of auto_ptr. + Suggested by Paul Thomas + +2004-01-22 John W. Eaton + + * octMakefile.in (maintainer-clean, distclean): + Remove Makefile and autom4te.cache. + +2004-01-14 David Bateman + + * configure.in: Test for the presence of the function + H5Gget_num_objs in HDF5 library, and define HAVE_H5GGET_NUM_OBJS. + +2004-01-06 Per Persson + + * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Recognize + *-*-darwin*, not *-*-darwin6*. + +2003-12-20 John W. Eaton + + * INSTALL: Update to newer version from autoconf. + +2003-11-26 Cyril Humbert + + * octave-config.in (--m-site-dir): Echo $LOCALVERFCNFILEDIR, not + $OCTAVE_LOCALVERFCNFILEDIR. + (--oct-site-dir): Echo $LOCALVEROCTFILEDIR, not + $OCTAVE_LOCALVEROCTFILEDIR. + +2003-11-20 John W. Eaton + + * configure.in: Also maybe add -W to WARN_CFLAGS and WARN_CXXFLAGS. + +2003-11-15 John W. Eaton + + * Makeconf.in (SHLLIB_VER): Fix typo. + + * Makeconf.in (WARN_CFLAGS, WARN_CXXFLAGS): Substitute them. + (ALL_CFLAGS, BUG_CFLAGS): Add $(WARN_CFLAGS). + (ALL_CXXFLAGS, BUG_CXXFLAGS): Add $(WARN_CXXFLAGS). + (UGLY_ALL_CXXFLAGS): Delete. + + * configure.in: Add -Wall and -Wshadow to WARN_CFLAGS and + WARN_CXXFLAGS instead of CFLAGS and CXXFLAGS. + +2003-11-12 John W. Eaton + + * configure.in: If we need alloca, then also include it in LIBGLOB. + +2003-11-10 John W. Eaton + + * configure.in: Preserve CFLAGS and CXXFLAGS before doing anything. + Maybe add -Wshadow to CFLAGS and CXXFLAGS. + +2003-10-24 Stefan Monnier + + * emacs/octave-mod.el (octave-comment-start): Simplify. + (octave-point): Remove. + (octave-in-comment-p, octave-in-string-p) + (octave-not-in-string-or-comment-p, calculate-octave-indent) + (octave-blink-matching-block-open, octave-auto-fill): + Use line-(beginning|end)-position instead. + +2003-10-29 John W. Eaton + + * emacs/octave-inf.el (inferior-octave-prompt): Don't bother + matching "octave.bin". + +2003-10-29 Lute Kamstra + + * emacs/octave-inf.el (inferior-octave-prompt): Recognize + version number in prompt. + +2003-10-24 John W. Eaton + + * emacs/octave-mod.el (octave-mode-syntax-table): Allow % to be a + comment character. + +2003-10-23 John W. Eaton + + * Makeconf.in (AWK): Substitute and export it. + * configure.in: Also check for AWK. + +2003-10-07 John W. Eaton + + * configure.in (AC_PREREQ): Require 2.57. + +2003-09-19 John W. Eaton + + * configure.in (AH_BOTTOM): Don't define HEAVYWEIGHT_INDEXING here. + +2003-07-30 John W. Eaton + + * emacs/octave-mod.el (octave-variables): Delete + propagate_empty_matrices from the list. + + * ck-oct-fcns.m: Delete. + +2003-07-25 John W. Eaton + + * configure.in: Warn if --enable-dl but not --enable-shared. + +2003-07-15 John W. Eaton + + * emacs/octave-mod.el (octave-variables): Delete + default_return_value and define_all_return_values from the list. + Add warn_undefined_return_values to the list. + +2003-07-11 John W. Eaton + + * emacs/octave-mod.el (octave-variables): + Add warn_empty_list_elements and warn_resize_on_range_error to the + list. + Delete empty_list_elements_ok and resize_on_range_error from the + list. + +2003-07-10 John W. Eaton + + * emacs/octave-mod.el (octave-variables): Add warn_neg_dim_as_zero + to the list. + Delete treat_neg_dim_as_zero from the list. + +2003-07-09 John W. Eaton + + * emacs/octave-mod.el (octave-variables): Include + DEFAULT_EXEC_PATH, DEFAULT_LOAD_PATH, crash_dumps_octave_core, + sighup_dumps_octave_core, sigterm_dumps_octave_core, + warn_imag_to_real, warn_num_to_str, warn_str_to_num, and + warn_fortran_indexing in the list. + Delete ok_to_lose_imaginary_part, implicit_num_to_str_ok, + implicit_str_to_num_ok, prefer_column_vectors, + prefer_zero_one_indexing, and do_fortran_indexing from the list. + +2003-07-08 John W. Eaton + + * Makeconf.in (do-subst-default-vals): Substitute OCTAVE_API_VERSION. + * octave-config.in: Handle new variable OCTAVE_API_VERSION. + + * octMakefile.in (DIRS_TO_MAKE): Delete undefined vars + $(localfcnfilepathdirs) and $(localoctfilepathdirs) from the list. + + * octave-config.in: Handle new variables OCTAVE_LOCALAPIFCNFILEDIR + and OCTAVE_LOCALAPIOCTFILEDIR + + * configure.in (localapifcnfiledir): New variable. + (localfcnfilepath): Add it to the list. + (localapioctfiledir): New variable. + (localoctfilepath): Add it to the list. + * Makeconf.in (do-subst-default-vals): Substitute new varibles. + + * Makeconf.in (getapiversion, apiversion): New macros. + + * octMakefile.in (DIRS_TO_MAKE): Include $(localverarchlibdir) in + the list. + +2003-07-07 John W. Eaton + + * Makeconf.in: Set and substitute values for startupfiledir and + localstartupfiledir. + + * octave-config.in: Allow other configuration defaults to be + accessed using --variable VAR option. + +2003-07-02 John W. Eaton + + * octMakefile.in (distclean): remove install-octave here. + +2003-06-27 John W. Eaton + + * configure.in: If user doesn't specify --enable-rpath, then + default is to enable it. + +2003-06-04 John W. Eaton + + * aclocal.m4 (GNUPLOT_HAS_FRAMES): Eliminate variable. + + * emacs/octave-mod.el (octave-variables): Eliminate + gnuplot_has_multiplot. + +2003-05-21 John W. Eaton + + * configure.in: In check for f_open in libf2c, only use + -L. -lconflib if we have created libconflib.a. + +2003-05-16 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GPERF): Provide struct decl so -t option + succeeds with gperf 3.0. + + * Makeconf.in (NO_OCT_FILE_STRIP): Use -C arg for make. + + * octMakefile.in (DIRS_TO_MAKE): Use $(shell ...) instead of `...`. + +2003-05-14 John W. Eaton + + * Makeconf.in, octMakefile.in, emacs/Makefile.in, + examples/Makefile.in: Handle DESTDIR. + +2003-05-13 John W. Eaton + + * Makeconf.in (sbindir): New variable substitution. + +2003-04-30 John W. Eaton + + * configure.in: Don't define WITH_KPATHSEARCH. + +2003-04-24 John W. Eaton + + * configure.in: Look for wsock32 library on MinGW systems. + +2003-04-22 John W. Eaton + + * configure.in (OCTAVE_LOCAL_BUFFER): Always allocate temporary + buffer using new. + +2003-04-18 John W. Eaton + + * Makefile.in octMakefile.in: Delete kpathsea targets. + + * kpathsea: Delete all files and directory. + + * configure.in: Don't run configure in kpathsea subdirectory. + + * README.kpathsea: New file. + * octMakefile.in (DISTFILES): Include it in the list. + + * Makeconf.in (do-subst-config-vals): Don't substitute it. + + * configure.in: Also check for basename. + Don't substitute LIBKPATHSEA. + +2003-04-17 John W. Eaton + + * configure.in (AH_BOTTOM): Don't assume that __WIN32__ will be + defined when __CYGWIN__ is defined. + +2003-03-17 John W. Eaton + + * configure.in: Only complain for g++ earlier than 2.95. + Try harder to get version number only. + +2003-03-05 Paul Kienzle + + * aclocal.m4 (OCTAVE_DYNAMIC_AUTO_ARRAYS): New macro. + * configure.in: Use it. + (AH_BOTTOM): Check HAVE_DYNAMIC_AUTO_ARRAYS instead of __GNUG__. + +2003-03-03 John W. Eaton + + * configure.in: Undo previous change. + * Makeconf.in: Likewise. + +2003-03-01 John W. Eaton + + * configure.in (KPATHSEA_INCFLAGS): New variable. + * Makeconf.in (KPATHSEA_INCFLAGS): Substitute it. + (do-subst-config-vals): Add it to the list. + (INCFLAGS): Add $(KPATHSEA_INCFLAGS). + +2003-02-23 Paul Kienzle + + * aclocal.m4 (OCTAVE_PLACEMENT_DELETE): New macro. + * configure.in: Use it. + (AH_BOTTOM): Don't define HAVE_PLACEMENT_DELETE here. + +2003-02-21 John W. Eaton + + * configure.in: Allow RLD_FLAG to be set using --enable-rpath arg. + + * configure.in: Fix default RLD_FLAG value for *-sgi-*. From + Paul Kienzle . + + * configure.in: Check for long long int and unsigned long long int. + + * configure.in (AH_BOTTOM): Define HAVE_PLACEMENT_DELETE for gcc + 3.2 and later. + + * configure.in: Check for copysign and signbit. + +2003-02-18 John W. Eaton + + * emacs/Makefile.in (DISTFILES): Add otags.1 to the list. + +2003-02-18 Dirk Eddelbuettel + + * emacs/otags.1: New file. + +2003-02-18 David Bateman + + * configure.in: Eliminate linpack + +2003-02-15 John W. Eaton + + * configure.in: Check for mkstemp too. + +2003-02-13 Arno Klaassen + + * configure.in: Fix SH_LD and SH_LDFLAGS for -*-*-freebsd*. + +2003-02-13 John W. Eaton + + * configure.in: Use '$(CXX)', '$(AR)', not "$CXX" and "$AR" when + setting variables for building shared libraries. + +2003-02-13 Paul Kienzle + + * examples/make_int.cc: Support for ISO standard compilers. + +2003-01-22 Richard Stallman + + * emacs/octave-mod.el (octave-mode-map): Avoid binding keys that + are reserved for users. + +2003-01-22 John W. Eaton + + * Makeconf.in: Fix typo in previous change. + +2003-01-21 John W. Eaton + + * Makeconf.in (MKOCTFILE_INCFLAGS): Skip -I$(includedir) if + $(includedir) is /usr/include. + +2003-01-16 Mumit Khan + + * Makeconf.in (SED): Export to subshells. + +2003-01-11 John W. Eaton + + * configure.in: Don't bother with compiler flags for + explicit/no-implicit template instantiation. + +2003-01-11 Paul Kienzle + + * configure.in, Makeconf.in: Allow setting of BUILD_LDFLAGS. + +2003-01-11 John W. Eaton + + * autogen.sh: Use --force for autoconf and autoheader. + +2003-01-04 John W. Eaton + + * octMakefile.in (CONF_DISTFILES): Include acx_blas.m4 and + acx_lapack.m4. + + * configure.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, + BUILD_CXXFLAGS): Kluge for Sun C/C++. + +2003-01-03 John W. Eaton + + * configure.in: Default value of BUILD_CXX is $CXX, not g++. + (AH_BOTTOM): Define __USE_STD_IOSTREAM if using Compaq C++ compiler. + For compiler/linker options, use -Wl,OPT instead of -Xlinker OPT. + Check for -ieee option for the C and C++ compilers on alpha systems. + +2003-01-02 John W. Eaton + + * configure.in: Fail on all gcc 1.x and 2.x versions. + +2002-12-30 John W. Eaton + + * configure.in (OCTAVE_LOCAL_BUFFER): New macro. + +2002-12-18 John W. Eaton + + * mkoctfile.in: Include $LIBOCTINTERP in the stand alone link command. + Define LIBOCTAVE, LIBOCTINTERP, LIBCRUFT, LIBREADLINE using -lLIB. + +2002-12-17 John W. Eaton + + * Makeconf.in (do-script-install, do-script-uninstall): + New macros, used in Makefiles in scripts subdirectory. + (do-script-install): Use new scripts/mkpkgadd script to construct + PKG_ADD files. + +2002-12-03 Nix + + * configure.in: Use AC_CHECK_DECL in conjunction with + AC_DECL_SYS_SIGLIST to ensure signal.h is searched. + +2002-12-03 John W. Eaton + + * configure.in: Dont't set SONAME_FLAGS for alpha alpha*-dec-osf* + systems. + +2002-11-29 Paul Kienzle + + * mkoctfile.in: Include "$incflags $def" in commands to generate + dependecies. + +2002-11-21 John W. Eaton + + * configure.in (do-subst-config-vals): Substitute OCTAVE_BINDIR. + + * configure.in (MKOCTFILE_SH_LDFLAGS): New variable. + * Makeconf.in (do-subst-config-vals): Substitute + OCTAVE_CONF version of this variable. + + * mkoctfile.in: Set SH_LDFLAGS from MKOCTFILE_SH_LDFLAGS, not + SH_LDFLAGS. + (VERSION): Substitute value of OCTAVE_CONF_VERSION. + + * configure.in (NO_OCT_FILE_STRIP): New variable. + * Makeconf.in (do-subst-config-vals): Substitute it. + * mkoctfile.in (no_oct_file_strip_on_this_platform): New variable. + +2002-11-20 John W. Eaton + + * configure.in (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): + Delete use. + + * aclocal.m4 (OCTAVE_LANG_PROG_NO_CONFDEFS): Delete. + (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Delete. + +2002-11-19 John W. Eaton + + * configure.in: Check for dlopen last, to avoid broken + compatibility libraries. + Default value for SHLLIB is '$(SHLEXT)', not $SHLEXT. + +2002-11-15 John W. Eaton + + * configure.in (USE_EXCEPTIONS_FOR_INTERRUPTS): No need to define. + +2002-11-14 John W. Eaton + + * configure.in: Check for sigsetjmp and siglongjmp. + (AH_BOTTOM): If both are found, define OCTAVE_HAVE_SIG_JUMP. + Also check for sig_atomic_t, typedef it if not available. + +2002-11-10 Per Persson + + * configure.in: Detect dyld API for dynamic linking on OS X. + +2002-11-09 Per Persson + + * configure.in: Use $(TOPDIR)/src/octave, not $(bindir)/octave for + -bundle-loader argument. + + * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Force result for OS X. + +2002-11-07 John W. Eaton + + * configure.in: Set FPICFLAG, Also set CXXPICFLAG, CPICFLAG, + FPICFLAG, and INCLUDE_LINK_DEPS for OS X. + + * acx_blas.m4 (LIBS): Also check for Apple vecLib framework. + +2002-11-06 John W. Eaton + + * configure.in (AH_BOTTOM): Define USE_EXCEPTIONS_FOR_INTERRUPTS. + +2002-11-04 Joseph P. Skudlarek + + * emacs/otags: handle declarations without arguments and/or return + values. + +2002-10-31 John W. Eaton + + * configure.in (SHLEXT_VER, SHLLIB_VER, SHLBIN_VER): Use + $(version), not $(VERSION). + +2002-10-28 John W. Eaton + + * Makeconf.in (HAVE_DLOPEN_API, HAVE_SHL_LOAD_API, + HAVE_LOADLIBRARY_API): Delete. + (do-subst-config-vals): Don't substitute them here. + +2002-10-25 John W. Eaton + + * configure.in (ENABLE_DYNAMIC_LINKING): Rename from + WITH_DYNAMIC_LINKING. + * Makeconf.in: Likewise. + * examples/hello.cc: Likewise. Improve comments. + + * configure.in: Revive --enable-dl to set default value for + WITH_DYNAMIC_LINKING. + + * configure.in: Also set SHLEXT_VER, SHLLIB_VER, SHLBIN_VER. + * Makeconf.in: Substitute them here. + Also substitute SHLLINKEXT. + +2002-10-25 Per Persson + + * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Fix + first test to properly fail on OS X. Fix typo in final test to + set result. + +2002-10-23 John W. Eaton + + * mk-opts.pl (emit_opt_class_header): Make set_options another + name for copy. + +2002-10-17 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Don't substitute + OCTAVE_CONF_OCTAVE_LITE. + (OCTAVE_LITE): Delete. + + * Makeconf.in: Use HAVE_DLOPEN_API, HAVE_LOADLIBRARY_API, and + HAVE_SHL_LOAD_API instead of WITH_DL and WITH_SHL. + + * configure.in: Rewrite the way we handle dynamic linking. + If dynamic linking is used always do what was previously only + enabled by --enable-lite-kernel. + +2002-10-17 Paul Kienzle + + * configure.in: Define WITH_DYNAMIC_LINKING based on --enable-shared. + Add -lwsock32 to LIBS for MinGW. + +2002-10-16 John W. Eaton + + * aclocal.m4 (OCTAVE_LANG_PROG_NO_CONFDEFS): New macro. + (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): Use it along with + AC_LINK_IFELSE instead of AC_TRY_LINK. + Require both programs to compile for success. + +2002-10-16 Paul Kienzle + + * aclocal.m4: Both Cygwin and MinGW don't prepend underscores. + * configure.in: MinGW builds shared libraries the same as Cygwin. + MinGW must link to winsock explicitly. + * install-octave.in: MinGW and Cygwin both need OCTAVE_HOME. + +2002-10-15 Paul Kienzle + + * configure.in (library_path_var): New variable. + +2002-10-14 John W. Eaton + + * configure.in (SH_LDFLAGS): Additional options for Cygwin: + -Wl,--export-all-symbols -Wl,--enable-auto-import. + + * Makeconf.in (TERMLIBS): Substitute here. + + * configure.in: Define OCTAVE_USE_WINDOWS_API if + defined (__WIN32__) && ! defined (__CYGWIN__), not if + defined (__WIN32__) || ! defined (__CYGWIN__). + Also call AC_SUBST for TERMLIBS. + +2002-10-14 Paul Kienzle + + * configure.in: Use correct SHLEXT and PICFLAG for Cygwin. + * configure.in: Cygwin must link against -loctave.dll, etc. + + * configure.in: Define INCLUDE_LINK_DEPS because Cygwin needs DLLs + to be linked against their dependencies. + * Makeconf.in: Ditto. + + * configure.in: Define SHLLIB and SHLBIN because Cygwin doesn't + link against shared libs but instead against -lxxx.dll. LIB and + BIN are the link and load forms respectively of the library. + * Makeconf.in: Ditto, and define the corresponding XXX_VER. + + * configure.in: Remove LIBOCT_READLINE and LIBOCT_PATHSEARCH + because they are merged into LIBOCTAVE to avoid circular + dependencies. + * Makeconf.in: Ditto. + * mkoctfile.in: Ditto. + + * aclocal.m4 (OCTAVE_ENABLE_READLINE): Define LIBREADLINE because + Cygwin requires liboctave to be linked against -lreadline so + including it in LIBS isn't sufficient. + * mkoctfile.in: Substitute and use LIBREADLINE here. + + * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): Force no for cygwin. + +2002-10-11 John W. Eaton + + * configure.in (AH_BOTTOM): Maybe define OCTAVE_USE_WINDOWS_API + and OCTAVE_HAVE_WINDOWS_FILESYSTEM. + +2002-10-09 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GNUPLOT): AC_DEFINE GNUPLOT_BINARY + Default value on Windows systems is pgnuplot. + If not cross compiling and no gnuplot program is found, set + default to gnuplot. Set defaults for multiplot and frames. Check + for pgnpuplot, pipe-gnuplot, and gnuplot on Windows systems. + + * configure.in (BUILD_EXEEXT): New variable. + * Makeconf.in (BUILD_EXEEXT): Substitute it here. + + * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): + Add second test for OS X. + +2002-10-08 John W. Eaton + + * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): New macro. + * configure.in: Use it. + + * configure.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, BUILD_CXXFLAGS): + Set default values if cross compiling. + + * aclocal.m4 (OCTAVE_PROG_NM): Do the right thing for cross compiling. + (OCTAVE_CXX_PREPENDS_UNDERSCORE): Require OCTAVE_PROG_NM. + (OCTAVE_CXX_ABI): Likewise. + + * Makeconf.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, BUILD_CXXFLAGS): + New variables for cross compiling. + +2002-10-07 Paul Kienzle + + * configure.in: Check for raise. + +2002-10-02 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_SED): New macro, adapted from autoconf + patches mailing list archive, written by Robert Boehne + . + * configure.in: Use it. + * Makeconf.in: Substitute SED, use $(SED), not sed. + (do-subst-conffig-vals): Substitute it here too. + * mkoctfile.in: And here. Use $SED, not sed. + * octave-bug.in: Likewise. + * install-octave.in: Likewise. + +2002-09-30 John W. Eaton + + * configure.in: Don't define mkdir here. + +2002-09-25 Mumit Khan + + * aclocal.m4 (OCTAVE_MKDIR_TAKES_ONE_ARG): New macro to determine if + host mkdir accepts only one arg instead of the usual two. + * configure.in: Use. Check for direct.h. + (mkdir): Define. + +2002-09-26 Paul Kienzle + + * configure.in: Check for conio.h. + Check for _kbhit. + +2002-09-26 John W. Eaton + + * configure.in (AH_BOTTOM): Don't define + USE_PRAGMA_INTERFACE_IMPLEMENTATION. + +2002-09-26 Paul Kienzle + + * configure.in: Fix syntax errors in !HAVE_XXX_T. + Don't require terminal control for build. + +2002-09-23 John W. Eaton + + * configure.in: Fix typedefs used in AH_BOTTOM. + +2002-09-19 John W. Eaton + + * configure.in (AH_BOTTOM): If using g++, define + USE_PRAGMA_INTERFACE_IMPLEMENTATION. + +2002-08-17 John W. Eaton + + * configure.in: Check for sstream. + +2002-08-16 John W. Eaton + + * Makeconf.in (%.d : %.cc): Add $*.df to LHS of dependency list. + +2002-08-15 Paul Kienzle + + * mk-opts.pl: Add support for INCLUDE = "...". + +2002-08-15 John W. Eaton + + * mk-opts.pl: Handle Array too. + +2002-08-10 John W. Eaton + + * mk-opts.pl (emit_options_function): Emit newline at EOF. + +2002-08-01 John W. Eaton + + * Makeconf.in: Use $@-t instead of $@.tmp or $@.t. + +2002-07-19 John W. Eaton + + * mk-opts.pl: New file. + * Makefile.in (DISTFILES): Add it to the list. + +2002-07-12 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Add libcruft/dasrt/Makefile to + the list. + +2002-07-10 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Add libcruft/odessa/Makefile to + the list. + +2002-05-24 John W. Eaton + + * configure.in: Maybe add -fno-coalesce-templates to XTRA_CXXFLAGS + on darwin systems. + (SH_LDFLAGS): Set this on darwin systems. + (UGLY_DEFS): Cope with broken sed or shell quoting on darwin systems. + +2002-05-16 John W. Eaton + + * aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): Omit cwctype. + +2002-05-01 John W. Eaton + + * configure.in (AC_AIX): Move before AC_MINIX and AC_ISC_POSIX. + (AH_BOTTOM): Move contents of acconfig.h here. + * acconfig.h: Delete. + * octMakefile.in (CONF_DISTFILES): Delete acconfig.h from the list. + +2002-04-27 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Add libcruft/daspk/Makefile to + the list. + +2002-04-24 Kurt Hornik + + * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): Also handle flags + that contain : and =. + +2002-04-12 John W. Eaton + + * config.guess, config.sub: Update from FSF sources. + +2002-04-11 John W. Eaton + + * configure.in: Declare F2C and F2CFLAGS with AC_ARG_VAR. + Delete AC_SUBST calls for F77, FFLAGS, FLIBS, F2C, F2CFLAGS (no + need to do this explicitly now). + +2002-04-04 John W. Eaton + + * Makeconf.in: Set and substitute EXEEXT, not EXE. + + * configure.in (EXE): Delete check and substitution. + * install-octave.in: Use EXEEXT instead of EXE. + + * configure.in: Use AC_CHECK_MEMBERS, not OCTAVE_STRUCT_GR_PASSWD. + Use AC_CHECK_TYPES, not AC_CHECK_TYPE or OCTAVE_CHECK_TYPE. + * aclocal.m4 (OCTAVE_STRUCT_GR_PASSWD, OCTAVE_CHECK_TYPE): Delete. + * acconfig.h (dev_t, ino_t, nlink_t, sigset_t): Typedef if not found. + +2002-04-03 John W. Eaton + + * aclocal.m4: Replace AC_LANG_SAVE, AC_LANG_C, AC_LANG_CPLUSPLUS, + and AC_LANG_RESTORE with AC_LANG_PUSH and AC_LANG_POP. + Use AS_MESSAGE_LOG_FD instead of AC_FD_CC. + * configure.in: Delete second arg in AC_CHECK_SIZEOF calls. + +2002-04-03 Steven G. Johnson + + * configure.in: Correct usage of AC_ARG_WITH for --with-fftw. + + * configure.in: Update for autoconf 2.5x. + Minor syntax changes to new recommended syntaxes and macros. + Apply changes from autoupdate plus eliminate some warning + messages, deprecated uses of changequote, etc. + Use autoheader templates to generate config.h.in. + Replace most of Octave's Fortran support macros with those in the + new autoconf. + Eliminate most uses of internal (undocumented) autoconf cache vars. + Replace BLAS/LAPACK detection new macros ACX_BLAS/ACX_LAPACK from + the autoconf macro repository. + * acx_blas.m4, acx_lapack.m4: New files. + * acconfig.h: Delete lines that can be automatically generated + from new info in configure.in and aclocal.m4. + If it is not already defined, define F77_FUNC for use with f2c. + * aclocal.m4 (OCTAVE_PROG_G77, OCTAVE_FLIBS, OCTAVE_F77_MAIN_FLAG, + OCTAVE_F77_UPPERCASE_NAMES, OCTAVE_F77_APPEND_UNDERSCORE, + OCTAVE_F2C_F77_COMPAT): Delete definitions. + Use autoheader templates to generate config.h.in. + * Makeconf.in, mkoctfile.in (FORTRAN_MAIN_FLAG): Delete all uses. + +2001-11-09 John W. Eaton + + * octave-bug.in (BLAS_LIBS, FFTW_LIBS, LD_CXX): Substitute and + print values. + * mkoctfile.in: Accept --compile as an alias for -c. + New option, --link-stand-alone. + New option, --no-pathsearch. + New option, --no-readline. + Substitute RLD_FLAG, FLIBS, LIBKPATHSEA, LIBOCTINTERP, + LIBOCTAVE, LIBOCT_READLINE, LIBOCT_PATHSEARCH, LIBCRUFT, + BLAS_LIBS, FFTW_LIBS, and LIBS. + * Makeconf.in (MKOCTFILE_LFLAGS): New variable. + (do-subst-config-vals): Substitute FFTW_LIBS, LD_CXX, + LIBOCT_PATHSEARCH, LIBOCT_READLINE, MKOCTFILE_LFLAGS. + +2001-11-06 John W. Eaton + + * Makefile.in (LIBOCT_READLINE, LIBOCT_PATHSEARCH): New variables. + * Makeconf.in: Substitute them here. + +2001-11-02 John W. Eaton + + * octMakefile.in (dist): Omit long-gone info subdir. + Fix find command for removing Makefile in kpathsea and glob subdirs. + +2001-08-10 John W. Eaton + + * mkoctfile.in: Substitute F2C and F2CFLAGS. Make it possible to + use f2c and a C compile to compiling Fortran source files. Print + warnings and error message on stderr, not stdout. Issue warnings + if it is not possible to comiple Fortran, C, or C++ files. + + * configure.in (%.c : %.f): Don't use cat in F2C rule. + +2001-07-27 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Substitute DEPEND_FLAGS and + DEPEND_EXTRA_SED_PATTERN. + * mkoctfile.in: Handle --depend. + +2001-07-25 Rafael Laboissiere + + * octave-config.in: New file. + * Makeconf.in (do-subst-default-vals): Substitute OCTAVE_VERSION. + * Makefile.in (TARGETS): Add octave-config to list. + * octMakefile.in (DISTFILES): Add octave-config.in to list. + (BINDISTFILES): Add octave-config to list. + (all): Add octave-config dependency. + (octave-config): New rule. + (install): Install octave-config. + (uninstall): Delete octave-config from bindir. + (maintainer-clean): Delete octave-config. + (binary-dist): Add octave-config dependency. + +2001-06-29 Mumit Khan + + * aclocal.m4 (OCTAVE_CXX_ABI): Use "sun_v5" instead of "sun". + + * aclocal.m4 (OCTAVE_CXX_ABI): New macro. + (OCTAVE_CXX_PREPENDS_UNDERSCORE): Add missing return value. + * configure.in: Use. + * acconfig.h (CXX_ABI): New macro. + +2001-05-23 John W. Eaton + + * configure.in: Quote the call to AC_CHECK_FUNC inside the + AC_CHECK_LIB macro when checking for lapack. For autoconf 2.50 + + * aclocal.m4: Changes for autoconf 2.50: + Convert dnl comments inside AC_DEFUN to ###. + (OCTAVE_FLIBS): Use [] quoting instead of changequote. + +2001-05-02 John W. Eaton + + * octMakefile.in: Remove remaining references to readline. + (CONF_DISTFILES): Add autogen.sh to the list. + +2001-05-02 Mumit Khan + + * configure.in: Support for --with-fftw. + (FFT_DIR, FFTW_LIBS): New substitutions. + * Makeconf.in (FFTW_LIBS): New variable. + * acconfig.h (HAVE_FFTW): New macro. + +2001-04-26 John W. Eaton + + * aclocal.m4 (OCTAVE_ENABLE_READLINE): Require readline unless + --disable-readline is specified. + + * configure.in: Don't define TERMLIBS. Do add terminal lib(s) to LIBS. + * octave-bug.in: Delete references to TERMLIBS. + * Makeconf.in: Likewise. + + * Makeconf.in (LIBREADLINE): Delete substitution. + (do-subst-config-vals): Likewise. + * octMakefile.in (SUBDIRS): Delete @READLINE_DIR@ from the list. + * configure.in (AC_CONFIG_SUBDIRS): Delete $READLINE_DIR from the list. + + * configure.in (VOID_SIGHANDLER): Don't check or substitute here. + +2001-04-25 John W. Eaton + + * octMakefile.in (install, install-strip): Don't use mk-includedir-link + + * Makeconf.in (mk-includedir-link, mk-libdir-link): Delete definitions. + +2001-04-24 John W. Eaton + + * Makeconf.in (mk-libdir-link): Undo previous change + +2001-04-23 John W. Eaton + + * configure.in: Only check for libz if checking for HDF5 libraries. + Allow user to specify HDF5 library name on command line, same as + for BLAS libraries. Include BLAS and HDF5 libs in summary output. + +2001-04-19 John W. Eaton + + * octMakefile.in (CONF_DISTFILES): Remove config.h.bot from the list. + +2001-04-19 David Livings + + * Makeconf.in (mk-libdir-link): Omit check for $(octlibdir)/octave + existing as a directory. + +2001-02-28 Albert Chin-A-Young + + * configure.in: Check for getpwnam in libsun only after checking + default libraries first. Check for gethostname in libsocket only + after checking default libraries first. + +2001-02-22 John W. Eaton + + * configure.in: Allow for using f2c when setting functions to look + for in the BLAS and Lapack libraries. + From Kurt Hornik . + +2001-02-10 Mumit Khan + + * test/octave.test/string/dec2hex-1.m: Don't assume hex format + produces lower case letters. + +2001-02-07 John W. Eaton + + * acconfig.h: Merge contents of config.h.bot. + * config.h.bot: Delete. + + * autogen.sh: Allow running of autoconf or autoheader to be skipped. + +2001-02-06 John W. Eaton + + * readline: Update to new version (4.2-beta1). + +2001-02-05 Mumit Khan + + * configure.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): New variables. + * Makeconf.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Likewise. + + * configure.in (XTRA_CXXFLAGS): Use -fno-implicit templates for + pre-gcc3 compilers. Remove -fno-rtti and -fno-exceptions. + (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): New macros. + (BLAS_LIBS): Fix test for sunperf library on Sun Solaris. + (CPICFLAG, CXXPICFLAG, FPICFLAG, SH_LDFLAGS, RLD_FLAG): Add Sun + compiler support. + * Makefile.in (DEPEND_FLAGS, DEPEND_EXTRA_SED_PATTERN): New + variables. + (%.d : %.cc): Use. + (%.d : %.c): Likewise. + * acconfig.h (CXX_ISO_COMPLIANT_LIBRARY): Add #undef. + +2001-01-31 Mumit Khan + + * Makeconf.in (%.d : %.cc): Strip the directory portion of the + target. + (%.d : %.c): Likewise. + + * aclocal.m4 (OCTAVE_CXX_ISO_COMPLIANT_LIBRARY): New macro. + * configure.in: Use it. + +2001-01-29 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Substitute + OCTAVE_CONF_CANONICAL_HOST_TYPE here too. + * octave-bug.in: Substitute OCTAVE_CONF_CANONICAL_HOST_TYPE, not + OCTAVE_CANONICAL_HOST_TYPE. + +2000-12-09 John W. Eaton + + * aclocal.m4: Give gperf a keyword, to avoid complaints from newer + versions. + +2000-11-27 Marcus.Brinkmann + + * configure.in: Handle *-*-gnu* the same as *-*-linux* for shared + library creation. + +2000-11-03 Andy Adler + + * mkoctfile.in: Handle -c to mean compile only. + +2000-11-01 John W. Eaton + + * mkoctfile.in: Handle --print. + +2000-10-31 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GPERF): Check that gperf supports flags + we use. + + * missing: New file, modified from the missing script provided by + automake (never create files, just exit with failure status). + * aclocal.m4 (OCTAVE_PROG_BISON, OCTAVE_PROG_FLEX, OCTAVE_PROG_GPERF): + Use $(top_srcdir)/missing as replacement script. + + * aclocal.m4 (OCTAVE_PROG_FLEX, OCTAVE_PROG_BISON): New macros. + * configure.in: Use them. + +2000-10-27 John W. Eaton + + * autogen.sh: Don't run configure. + + * configure.in (SPECIAL_MATH_LIB): Delete code related to this var. + * Makeconf.in: Ditto. + (BLAS_LIBS, LIBS): Substitute here. + (do-subst-config-vals): Put BLAS_LIBS in oct-conf.h. + +2000-07-20 Joao Cardoso + + * configure.in: (LD_CXX): Define and substitute. + For sco3.2v5 systems, set SONAME_FLAGS and RLD_FLAG. + * Makeconf.in (LD_CXX): Allow substitution. + +2000-07-18 John W. Eaton + + * octMakefile.in (DISTSUBDIRS): Define in terms of $(ALL_SUBDIRS). + +2000-07-17 Joao Cardoso + + * configure.in (LIBGLOB): Set to be the two object files in the + glob directory instead of libglob.a. + +2000-07-05 Steven G. Johnson + + * Use BLAS_LIBS to save the names of BLAS libraries instead of + adding them to LIBS, then substitute BLAS_LIBS. + +2000-06-30 Steven G. Johnson + + * configure.in: Support for --with-fastblas (ATLAS). + +2000-06-29 John W. Eaton + + * configure.in: Check for long long data type. + +2000-06-29 Steven G. Johnson + + * acconfig.h (HAVE_HDF5): Add undef. + * configure.in: Handle --with-hdf5. + +2000-06-26 John W. Eaton + + * octave-bug.in: Substitute correct values for config_opts, + MACHINE, and CXXFLAGS. + +2000-06-07 John W. Eaton + + * Makeconf.in (GPERF): Allow substitution. + +2000-06-05 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_GPERF): New macro. + * configure.in: Use it. Print warning at end if gperf is missing. + +2000-04-20 John W. Eaton + + * mkoctfile.in: Try moving output file first. But comment these + lines and let people who have trouble enable them. + +2000-04-19 John W. Eaton + + * mkoctfile.in: Remove output file before linking. + + * octMakefile.in (DIRS_TO_MAKE): Create $(octincludedir)/octave. + (install install-strip): Install config.h in $(octincludedir)/octave, + not $(octincludedir). + +2000-03-31 John W. Eaton + + * octMakefile.in (DIRS_TO_MAKE): Double up on $ in awk command to + get them past Make. + +2000-03-25 John W. Eaton + + * octMakefile.in (SUBDIRS): Omit src. + (ALL_SUBDIRS): New variable. Include src here. + (all): Depend on src instead of $(SUBDIRS). + (src): New target. Depend on $(SUBDIRS). + + * Makefile.in (.NOTPARALLEL): New target, for GNU Make 3.79. + * octMakefile.in (.NOTPARALLEL): Likewise. + +2000-03-22 John W. Eaton + + * configure.in: Check for vsnprintf. + +2000-03-21 John W. Eaton + + * Makefile.in (liboctave.$(SHLEXT)): Delete target before rebuilding. + +2000-03-21 Ben Sapp : + + * Makeconf.in (%.o : %.c): Pass -o to compile command. + (%.o : %.cc): Ditto. + * configure.in (%.o : %.f): Ditto. + +2000-03-08 Stephen Eglen + + * emacs/octave-mod.el (octave-font-lock-keywords): To font-lock + the builtin operators, use `font-lock-builtin-face' for Emacs + and `font-lock-preprocessor-face' for XEmacs. + +2000-03-08 John W. Eaton + + * configure.in: For building shared libaries, handle + i386-pc-solaris2* the same as sparc-sun-solaris2*. + +2000-02-29 Ben Sapp + + * examples/make_int.cc (make_int): Handle new operator names. + +2000-02-23 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): Don't delete Makefile. + (dist): Delete stamp-auto. + +2000-02-11 John W. Eaton + + * configure.in (octincludedir): Delete trailing /octave here. + * Makeconf.in (mk-includedir-link): Append it here. + (MKOCTFILE_INCFLAGS): Use both -I$(octincludedir) and + -I$(octincludedir)/octave. + + * configure.in (localveroctfiledir, localverarchlibdir, + localverfcnfiledir): New variables. + (localfcnfilepath): Prepend localverfcnfiledir. + (localoctfilepath): Prepend localveroctfiledir. + * Makeconf.in: Substitute them here. + + * Makeconf.in (do-subst-default-vals): Substitute + OCTAVE_LOCALVERARCHLIBDIR, OCTAVE_LOCALVERFCNFILEDIR, + OCTAVE_LOCALVEROCTFILEDIR. + +2000-02-08 John W. Eaton + + * config.guess: Update to latest from subversions.gnu.org. + * config.sub: Likewise. Recognize sv1-cray as a basic_machine. + + * Makeconf.in (MKOCTFILE_INCFLAGS): New macro. + (do-subst-conf-vals): Substitute it. + * mkoctfile.in: Set INCFLAGS from OCTAVE_CONF_MKOCTFILE_INCFLAGS. + + * mkoctfile.in: Fix names in substititions. + * octave-bug.in: Likewise. + +2000-02-07 John W. Eaton + + * Makeconf.in (do-subst-default-vals, do-subst-config-vals): + Substitute more complete set of values. + +2000-02-01 John W. Eaton + + * aclocal.m4 (octave_cv_string_npos): Add std:: qualifier. + +2000-01-27 John W. Eaton + + * emacs/octave-mod.el (octave-begin-keywords): Add "do". + (octave-end-keywords): Add "until". + (octave-abbrev-table): Add "u" as abbrev for "until ()" + (octave-block-match-alist): Add do-until. + +2000-01-25 John W. Eaton + + * configure.in: Don't look for the sunmath library. + Don't check for infinity or quiet_nan. + + * emacs/octave-mod.el (octave-mode-syntax-table): + Undo previous change, but add a comment explaining why. + + * install-octave.in: Exit on any error instead of continuing. + Install Octave binary last. + +2000-01-24 John W. Eaton + + * emacs/octave-mod.el (octave-mode-syntax-table): + Make `%' a comment start character too. + +2000-01-20 John W. Eaton + + * configure.in: Check for strptime and localtime_r. + +1999-11-15 John W. Eaton + + * configure.in (XTRA_CXXFLAGS, XTRA_CFLAGS): Use -mminimal-toc on + AIX systems. + +1999-10-26 John W. Eaton + + * emacs/README: New file. + * emacs/Makefile.in (DISTFILES, BINDISTFILES): Add it to the lists. + + * emacs/Makefile.in: Don't distribute .elc files. + +1999-10-21 John W. Eaton + + * configure.in: Check for select and poll. Also check for poll.h + and sys/poll.h. + +1999-10-19 Geoff Jacobsen + + * autogen.sh: New file. + +1999-10-19 John W. Eaton + + * octMakefile.in: Use `$(MAKE) -C dir' instead of `cd dir; $(MAKE)'. + +Mon Sep 20 11:02:29 1999 John W. Eaton + + * emacs/octave-inf.el, emacs/octave-mod.el: Update to match FSF + sources plus code that will make it work if Emacs doesn't have the + customize code. + +Tue Sep 14 07:57:06 1999 Kurt Hornik + + * emacs/octave-inf.el (inferior-octave-startup): Always pass "-i" + and "--no-line-editing" to Octave subprocess. + (inferior-octave-startup-args): Default to nil. + +Mon Sep 6 10:50:10 1999 John W. Eaton + + * emacs/octave-inf.el (inferior-octave-startup-args): + Add --no-line-editing to the list. + +Fri Jul 9 09:15:24 1999 John W. Eaton + + * configure.in: Try to handle IEEE FP flags for g77 on Alphas. + +Thu Jul 8 19:56:37 1999 Stephen Eglen + + * emacs/octave-inf.el (inferior-octave-directory-tracker): + Change regexp so that it doesn't match commands beginning with `cd'. + +Wed Jun 23 13:20:11 1999 Mumit Khan + + * configure.in (HAVE_TERMIOS_H): Avoid autoheader lossage. + +Sun Jun 20 23:05:18 1999 John W. Eaton + + * configure.in: Check for sys/ioctl.h. + +Mon May 10 09:06:47 1999 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_G77): Also match "FSF-g77", for egcs. + +Thu Apr 8 19:20:09 1999 John W. Eaton + + * examples/hello.cc (Fhello): octave_value::print now requires a + stream arg. + +Wed Feb 3 01:02:37 1999 John W. Eaton + + * configure.in: Use AC_OUTPUT_COMMANDS to chmod install-octave so + that the command will also executed in config.status. + +Thu Jan 28 21:05:32 1999 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Do substitution on + CANONICAL_HOST_TYPE, not TARGET_HOST_TYPE. + (do-subst-default-vals): Likewise. + +Wed Jan 20 12:56:02 1999 John W. Eaton + + * configure.in: Don't put -O in FFLAGS for powerpc-apple-machten*. + +Wed Dec 9 14:02:45 1998 John W. Eaton + + * Makeconf.in (RDYNAMIC_FLAG): Substitute RDYNAMIC_FLAG here. + * configure.in: Check for G++ compiler flag -rdynamic if setting + up to support dynamic linking, and substitute RDYNAMIC_FLAG if + -rdynamic is accepted. + * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): Clarify usage comment. + +Mon Dec 7 19:49:26 1998 John W. Eaton + + * configure.in: Check for -lm just after compiler tests. + Remove -lm from other macro calls. Don't check for -lm on NeXT + systems. Eric Norum says /lib/libsys_s.a + has all the routines that are traditionally in libc.a and libm.a + on *NIX systems. NeXT also supplies a libm.a, but it seems to be + horribly buggy. + +Sat Dec 5 10:48:40 1998 John W. Eaton + + * mkoctfile.in: Correctly handle -?. + +Fri Dec 4 18:05:51 1998 Kurt Hornik + + * emacs/octave-mod.el (octave-abbrev-start): Use the correct name + of the abbrev table, and provide support for XEmacs. + (octave-xemacs-p): New variable. + +Tue Nov 24 23:31:50 1998 John W. Eaton + + * configure.in: Check for strftime too. + Avoid checking for termios.h on NeXT systems. + +Thu Nov 19 16:07:57 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_CXX_PREPENDS_UNDERSCORE): New macro. + * configure.in: Use it. + * acconfig.h: Add #undef for it. + +Thu Nov 12 10:42:25 1998 John W. Eaton + + * emacs/otags: New script from Mario Storti + . + * emacs/Makefile.in: Add it to the list of files to distribute and + install. + +Wed Nov 11 17:26:26 1998 John W. Eaton + + * configure.in (AC_OUTPUT): Add libcruft/amos/Makefile. + Delete libcruft/specfun/Makefile. + +Mon Nov 9 08:53:03 1998 John W. Eaton + + * Makeconf.in (LIBGLOB): Add a place for substitution to occur. + (GLOB_INCFLAGS): Define as @GLOB_INCFLAGS@, not @DLFCN_INCFLAGS@. + (do-subst-config-vals): Don't forget LIBGLOB. + * octave-bug.in (LIBGLOB): Substitute here too, and add it to the + list of configuration items to print. + +Mon Nov 2 20:33:16 1998 John W. Eaton + + * configure.in: Define __NO_MATH_INLINES. + * acconfig.h: Add #undef for it. + + * configure.in (AC_OUTPUT): Escape newlinew in macro call with \. + + * install-octave.in (SHLEXT): Substitute. + (SHLEXT_VER): Define. + Use them for installing shared libraries. + Use subshells to avoid having to cd back to $distdir. + (distdir): Delete variable. + +Fri Oct 2 14:23:59 1998 Kurt Hornik + + * octave-inf.el (inferior-octave-prompt): Also match prompts of + the form `octave.bin:1>' which come from using precopiled binary + versions. + +Thu Sep 24 13:51:03 1998 John W. Eaton + + * configure.in (AC_OUTPUT): Add libcruft/ordered-qz to the list. + Delete libcruft/balgen and libcruft/eispack from the list. + +Mon Aug 31 12:07:02 1998 John W. Eaton + + * config.sub: Accept armv4 everywhere arm is allowed. + +Tue Aug 18 17:02:25 1998 John W. Eaton + + * mkoctfile.in: Allow -DDEF on command line. + +Thu Jun 18 20:24:40 1998 Roman Hodek + + * configure.in (RLD_FLAG): Set correctly for Linux on all + architectures. From + +Thu May 28 10:17:45 1998 John W. Eaton + + * configure.in: When checking for glob stuff, make sure that the + systsem header file has all the definitions that we need. If not, + set up to use our replacement library. + +Mon May 18 11:33:45 1998 John W. Eaton + + * mkoctfile.in: Fix typos in case statement. + +Fri May 15 00:34:54 1998 John W. Eaton + + * configure.in: Make sure install-octave is executable. + + * install-octave.in (oct_files): Don't cd to src. + (have_find): Delete variable (assume all systems have find). + +Thu May 14 10:29:30 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_SET_DEFAULT): Allow values to come from the + environment. + + * Makefile.in (binary-dist): Don't set LDFLAGS to -static. + Run configure with --enable-shared and --enable-lite-kernel. + + * octMakefile.in (DISTFILES): Include README.MachTen in the list. + (XBINDISTFILES): Include README.MachTen in the list. + Delete README.NLP from the list + * README.MachTen: New file. + + * configure.in: Add -mno-fp-in-toc on ibm-aix4 systems. + From Philippe.Defert@cern.ch . + +Tue May 5 14:43:36 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_PROG_G77): Compile trivial program instead of + just running ${f77-f77} -v on nothing. + Convert all uses of $F77 to ${F77-f77}. + +Mon May 4 12:08:36 1998 John W. Eaton + + * emacs/octave-mod.el (octave-mode): Make comment-multi-line local + and set to nil. + +Tue Apr 28 14:28:14 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Really do skip -lkernel32. + +Thu Apr 23 23:26:19 1998 John W. Eaton + + * kpathsea: Update to version 3.2. + +Mon Apr 20 21:58:39 1998 John W. Eaton + + * configure.in (dlfcn.h): Add check. + +Sat Apr 18 20:15:37 1998 John W. Eaton + + * configure.in (USE_GNU_INFO): Delete everything related to this. + * acconfig.h (USE_GNU_INFO): Delete undef. + +Tue Apr 14 15:33:20 1998 John W. Eaton + + * install-octave.in: Improve error messages if version number or + host architecture can't be found. + + * install-octave.in: Don't install info reader. + +Fri Mar 27 02:54:59 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Use a Fortran subroutine + instead of a function. + +Tue Mar 10 17:28:20 1998 John W. Eaton + + * configure.in (RLD_FLAG): Use $(octlibdir), not $(libdir). + +Mon Mar 2 00:02:26 1998 John W. Eaton + + * install-octave.in: Explicitly set permissions on ls-R files. + + * configure.in: Don't disable GNU Info on cygwin32 systems. + + * install-octave.in: New file. + * configure.in: Create install-octave. + * octMakefile.in (distclean, maintainer-clean): Delete install-octave. + (DISTFILES): Distribute install-octave.in, not install-octave. + +Sun Mar 1 23:15:04 1998 John W. Eaton + + * configure.in: Fix typo in test for glob and fnmatch headers. + +Fri Feb 27 15:43:14 1998 John W. Eaton + + * configure.in: Fix support for dlopen on SCO systems. + +Mon Feb 23 13:06:11 1998 John W. Eaton + + * configure.in (ieee_fp_flag): Use -mieee-with-inexact on Alphas. + Use octave_cv_f77_is_g77, not just f77_is_g77. + +Fri Feb 20 00:38:31 1998 John W. Eaton + + * configure.in, Makeconf.in: Try to set things up to use the + system glob and fnmatch headers and functions if they exist. + Better handling of include and lib flags. + +Thu Feb 19 01:21:19 1998 John W. Eaton + + * configure.in: Don't check for gamma or lgamma + * acconfig.h: Delete undef for HAVE_GAMMA and HAVE_LGAMMA. + +Wed Feb 18 15:05:54 1998 John W. Eaton + + * configure.in: Don't check for vfork. + +Wed Feb 11 19:41:22 1998 John W. Eaton + + * Makeconf.in (mk-libdir-link): Don't create link if a directory + named $(libdir)/octave already exists. + +Mon Feb 9 14:47:42 1998 John W. Eaton + + * octMakefile.in (INSTALL_SUBDIRS): Delete @INFO_DIR@. + +Thu Feb 5 03:04:09 1998 John W. Eaton + + * configure.in: Check for vfork. + + * config.h.bot (X_CAST): New macro. + +Wed Feb 4 01:42:50 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): If ld_run_path is not absolute, kill it. + +Tue Feb 3 00:24:01 1998 John W. Eaton + + * Makeconf.in (do-subst-vals): Substitute $(libexecdir) too. + +Mon Feb 2 22:42:27 1998 John W. Eaton + + * configure.in: Define octlibdir. + * Makeconf.in: Substitute value. + (do-subst-config-vals): Set LIBDIR to $(octlibdir). + (do-subst-default-vals): Substitute OCTLIBDIR too. + +Sat Jan 31 19:29:56 1998 John W. Eaton + + * acconfig.h: Add #undefs for HAVE_GAMMA and HAVE_LGAMMA to avoid + bug in autoconf, but #if 0 them out to avoid warning messages + about redefining them. + +Mon Jan 26 13:26:09 1998 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Substitute XTRA_CFLAGS and + XTRA_CXXFLAGS. + * mkoctfile.in: Substitute XTRA_CFLAGS and XTRA_CXXFLAGS, not + GCC_IEEE_FP_FLAG, HOST_CXXFLAGS, and NO_IMPLICIT_TEMPLATES. + (ALL_CFLAGS): Use XTRA_CFLAGS, not GCC_IEEE_FP_FLAG here. + (ALL_CXXFLAGS): Use XTRA_CXXFLAGS, not GCC_IEEE_FP_FLAG, + HOST_CXXFLAGS, and NO_IMPLICIT_TEMPLATES here. + +Sun Jan 25 01:59:47 1998 John W. Eaton + + * configure.in: (GXX_PICKY_FLAGS): Add -Weffc++. + Use OCTAVE_CC_FLAG and OCTAVE_CXX_FLAG to add -Wall and for adding + picky flags in AC_ARG_ENABLE(picky-flags ...) macro. + + * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Require OCTAVE_PROG_G77. + Handle cross compiling with g77. + (OCTAVE_REINSTALL_SIGHANDLERS): Provide defaults for cross compiling. + + * aclocal.m4 (OCTAVE_PROG_AR, OCTAVE_PROG_G77, OCTAVE_PROG_PAGER, + OCTAVE_PROG_GNUPLOT, OCTAVE_PROG_RUNTEST, OCTAVE_F77_MAIN_FLAG): + New macros. + * configure.in: Use them in place of in-line code. + +Sat Jan 24 00:33:14 1998 John W. Eaton + + * aclocal.m4 (OCTAVE_HOST_TYPE): Don't set target_host_type. + * configure.in: Use canonical_host_type in place of target_host_type. + +Fri Jan 23 02:47:57 1998 John W. Eaton + + * configure.in: Also check for -fno-rtti. + +Thu Jan 15 23:12:27 1998 John W. Eaton + + * config.guess, config.sub: Update to new version from the FSF. + * configure.in: Match alpha*-... instead of just alpha-... to cope + with new strings like alphaev56-dec-osf4.0b returned from + config.guess. + + * aclocal.m4 (OCTAVE_CC_FLAG, OCTAVE_CXX_FLAG): New macros. + * configure.in: Use them to find out if the C and C++ compilers + support -mieee-fp, -mieee, -fno-implicit-templates, and + -fno-exceptions instead of relying on version information. Add + found flags to XTRA_CFLAGS and XTRA_CXXFLAGS instead of using + GCC_IEEE_FP_FLAG and NO_IMPLICIT_TEMPLATES. + Delete unused variable HOST_CXXFLAGS. + * Makeconf.in: Use XTRA_CFLAGS and XTRA_CXXFLAGS instead of + GCC_IEEE_FP_FLAG and NO_IMPLICIT_TEMPLATES. + Delete unused variable HOST_CXXFLAGS. + +Thu Dec 11 09:43:56 1997 John W. Eaton + + * config.h.bot: Define CONST_CAST and STATIC_CAST too. + + * configure.in (SH_LD): Set default to $CXX, not $CC. + +Mon Dec 1 00:49:56 1997 John W. Eaton + + * configure.in (AC_OUTPUT): Add libcruft/slatec-err/Makefile. + +Sun Nov 30 18:19:45 1997 John W. Eaton + + * configure.in: Check for gamma and lgamma too. + +Fri Nov 28 23:21:17 1997 John W. Eaton + + * configure.in (AC_OUTPUT): Include libcruft/specfun/Makefile. + +Fri Nov 28 13:32:26 1997 Kurt Hornik + + * octave-inf.el (inferior-octave-directory-tracker): Anchor + regexp match to beginning of command string. + +Wed Nov 26 00:38:31 1997 John W. Eaton + + * configure.in (SPECIAL_MATH_LIB): If libdxml exists on DU + systems, define SPECIAL_MATH_LIB. + * Makeconf.in (SPECIAL_MATH_LIB): Substitute it. + +Wed Nov 19 01:54:11 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL): Don't forget + to call AC_LANG_RESTORE. + + * configure.in (CXX_VERSION): Require 2.7.2 or later. + +Wed Nov 19 01:38:58 1997 Mumit Khan + + * aclocal.m4 (OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL): New macro + check for new friend template declaration syntax (guiding + declarations in DWP). + * configure.in: Use it. + * config.h.in: Add undef for CXX_NEW_FRIEND_TEMPLATE_DECL. + + * configure.in (CC_VERSION, CXX_VERISON): Check for egcs snapshots. + +Mon Oct 20 01:31:45 1997 John W. Eaton + + * configure.in: Reprint important warning messages at the end of + the run. + +Fri Oct 17 04:43:27 1997 John W. Eaton + + * Include the following change from RMS for octave-mode.el: + + 1997-04-22 Richard Stallman + + * octave-mod.el (inferior-octave-output-list): Declare here + to avoid compiler warnings. + (inferior-octave-output-string): Likewise. + (inferior-octave-receive-in-progress): Likewise. + +Tue Oct 14 10:48:28 1997 Kurt Hornik + + * emacs/octave-mod.el (octave-block-match-alist): Move + `otherwise' to right after `case' to have octave-close-block() + correctly close a `switch' block by `endswitch'. + +Thu Oct 2 01:37:15 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Ignore -lc and -lgcc. + From "Ram'on Garc'ia Fern'andez" + + * mkoctfile.in: Handle -IDIR option. + +Thu Sep 25 11:47:45 1997 John W. Eaton + + * mkoctfile.in: Really add link options to link command. + Also handle -LDIR options. + +Fri Sep 19 09:35:59 1997 Kurt Hornik + + * octave-inf.el (inferior-octave-startup-args): Set to '("-i") to + force interactive behavior. + +Wed Sep 10 15:31:03 1997 Kurt Hornik + + * emacs/octave-mod.el (octave-auto-indent): New variable. + (octave-electric-semi, octave-electric-space): Use it. + + * emacs/octave-mod.el (octave-maybe-insert-continuation-string): New + function. + (octave-auto-fill): No longer calls do-auto-fill. Should now + avoid breaking lines after comment starts or before code line + continuation expressions. + (octave-fill-paragraph): Move forward a line if octave-auto-fill + gave up. + + * emacs/octave-mod.el (octave-before-magic-comment-p): New function. + (octave-comment-indent): Handle magic comments correctly. + (calculate-octave-indent): Handle magic comments correctly. + + * emacs/octave-inf.el (inferior-octave-prompt): Include the `debug' + prompt issued by the Octave `keyboard' command. + + * emacs/octave-mod.el (octave-abbrev-table): Added abbrevs for switch, + case, otherwise, and endswitch. + (octave-begin-keywords): Added switch. + (octave-else-keywords): Added case and otherwise. + (octave-end-keywords): Added endswitch. + (octave-block-match-alist): Added an entry for switch syntax. + (calculate-octave-indent): Added support for switch syntax. + (octave-block-end-offset): New function. + (octave-comment-indent): Fix a typo. + + * emacs/octave-hlp.el: Provide octave-hlp. + + * emacs/octave-inf.el: Provide octave-inf. + +Sun Sep 7 23:16:33 1997 John W. Eaton + + * configure.in Don't use OCTAVE_SET_DEFAULT to set values for + bindir, datadir, exec_prefix, includedir, infodir, libdir, + libexecdir, mandir. + Don't use AC_PREFIX_DEFAULT, since we don't want to override the + default setting anyway. + +Tue Aug 26 13:30:36 1997 John W. Eaton + + * octave-bug.in: CC bug report to user if $USER or $LOGNAME is set. + +Mon Aug 25 11:06:54 1997 John W. Eaton + + * octave-bug.in: Avoid clobbering existing dead bug report files + by numbering them. + +Wed Aug 13 20:34:14 1997 John W. Eaton + + * emacs/octave-mod.el (octave-before-magic-comment-p): New function. + (calculate-octave-indent, octave-comment-indent): Use it. + +Sun Aug 3 15:33:18 1997 John W. Eaton + + * info: Delete subdirectory. + * Makefile.in (TARGETS, help): Delete info. + * octMakefile.in (DISTSUBDIRS, BINDISTSUBDIRS): Delete info + (binary-dist): Don't strip info/info. + * install-octave: Don't install info. + * configure.in: Don't run configure in info subdirectory. + +Fri Jul 25 14:05:15 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Avoid adding -lcrt0.o to FLIBS. + +Thu Jul 17 13:31:08 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Only accept an ld_run_path that is + absolute. + +Wed Jul 9 19:27:38 1997 John W. Eaton + + * configure.in: Also check for getwd. + +Tue Jul 8 17:47:11 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Avoid grabbing an argument starting + with a - as an option for another argument. + +Wed Jul 2 21:34:15 1997 John W. Eaton + + * emacs/octave-mod.el (octave-auto-indent): New variable. + (octave-electric-semi, octave-electric-space): Use it. + +Thu Jun 26 22:16:59 1997 John W. Eaton + + * configure.in: Only set GCC_IEEE_FP_FLAG to -mieee-fp on Intel + systems if it seems to work. + +Mon Jun 23 09:16:56 1997 John W. Eaton + + * configure.in (BOUNDS_CHECKING): Fix comment, allow bounds + checking to be enabled. + +Fri Jun 20 14:26:17 1997 John W. Eaton + + * configure.in: Define SH_LD, SH_LDFLAGS, and RLD_FLAG for + sparc-sun-sunos4*. + + * mkoctfile.in: Handle --strip. + +Sun Jun 15 16:24:03 1997 John W. Eaton + + * octMakefile.in (DISTSUBDIRS): Delete readline. + (BINDISTSUBDIRS): Delete readline and kpathsea. + (DISTDIRS): Add readline. + +Wed Jun 11 16:28:36 1997 John W. Eaton + + * mkoctfile.in: Allow more options, support for C and Fortran + source, existing object files, etc. Based on patch from Guido + Dietz . + +Fri Jun 6 15:20:42 1997 John W. Eaton + + * mkoctfile.in: Use eval to invoke compilation and linking + commands. + + * octMakefile.in (dist, binary-dist): Don't worry about npsol or qpsol. + * configure.in: Don't create libcruft/fsqp/Makefile, + libcruft/npsol/Makefile, or libcruft/qpsol/Makefile. + + * octMakefile.in (DISTFILES): Don't distribute MAKEINFO.PATCH. + + * octMakefile.in (DISTFILES): Don't distribute README.NLP. + * configure.in: Delete checks for FSQP, NPSOL, and QPSOL. + * acconfig.h: Delete undefs for FSQP, NPSOL, and QPSOL. + + * readline: Update to new version (2.1). + +Thu Jun 5 01:38:04 1997 John W. Eaton + + * configure.in (SONAME_FLAGS): Define for some systems. + * Makeconf.in: Substitute value here. + + * Makeconf.in (STATIC_LIBS): New variable. + * configure.in: Handle --enable-static. + + * Makeconf.in (LIBEXT, SHLEXT_VER): New macros. + (octlibdir, mk-libdir-link): Delete. + +Wed Jun 4 00:07:29 1997 John W. Eaton + + * Makeconf.in (mk-includedir-link, mk-libdir-link): Make them work. + + * configure.in (OCTAVE_PROGRAM_INVOCATION_NAME): Delete check. + * aclocal.m4 (OCTAVE_PROGRAM_INVOCATION_NAME): Delete macro. + +Mon Jun 2 13:56:26 1997 John W. Eaton + + * configure.in: Move checks for RANLIB, AR, and ARFLAGS before + checks for libf2c. + +Fri May 30 14:59:59 1997 John W. Eaton + + * configure.in: Fix typo in check for $with_f77. + +Thu May 22 16:48:34 1997 John W. Eaton + + * configure.in (AC_OUTPUT): Remove duplicate entry for emacs/Makefile. + + * octMakefile.in (INSTALL_SUBDIRS): New macro. + (install): Use it. + + * kpathsea: Update to new version (3.0). + + * readline: Update to new version (2.1-beta2). + +Wed May 21 16:33:33 1997 John W. Eaton + + * octMakefile.in (install, install-strip): Append version + information to octave-bug and mkoctfile. + (install, install-strip): Remove octave-bug and mkoctfile first. + Ensure link is made in include directory. + + * configure.in (octlibdir): New variable. + * Makeconf.in: Substitute it here. + (do-subst-config-vals): Add -I${octincludedir} to INCFLAGS. + Add -L${octlibdir} to LIBFLAGS. + + * Makeconf.in (mk-includedir-link, mk-libdir-link): New macros. + +Mon May 5 00:58:00 1997 John W. Eaton + + * configure.in: Make --enable-readline work again. + * Makeconf.in: Ditto. + +Tue Apr 8 12:38:18 1997 John W. Eaton + + * mkoctfile.in: Do substitute SH_LD and SH_LDFLAGS. Don't + substitute or use LIBFLAGS, RLD_FLAG, OCTAVE_LIBS, FLIBS, LEXLIB, + TERMLIBS, LIBS, LDFLAGS, LIBPLPLOT, or LIBDLFCN. Use $SH_LD and + $SH_LDFLAGS, not $CXX -shared. + + * Makeconf.in (do-subst-config-vals): Also substitute SH_LD and + SH_LDFLAGS. + +Fri Mar 28 16:53:08 1997 John W. Eaton + + * configure.in: Don't add -fpe1 to FFLAGS on Alpha OSF/1 systems + unless we are also using a version of gcc that appears to support + IEEE floating point. + + * aclocal.m4 (OCTAVE_FLIBS): Require OCTAVE_HOST_TYPE. + Skip -lkernel32 on cygwin32 systems. + +Wed Mar 26 17:04:11 1997 John W. Eaton + + * COPYING: Update to latest version that includes correct address + for the FSF. + +Tue Mar 25 21:46:49 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_CXXLIBS): Delete macro definition. + * configure.in, mkoctfile.in, Makeconf.in, octave-bug.in: + Delete use of OCTAVE_CXXIBS. + +Thu Mar 13 11:44:46 1997 John W. Eaton + + * configure.in: Move extra checks for Fortran compiler above + checks for dynamic linking and shared library stuff. + Handle --with-f77. Check for Fortran compiler compatibility, even + if using g77. Handle --enable-picky-flags. + + * configure.in: Don't set special PIC options on SGI systems, + since PIC is apparently the default. + + * aclocal.m4 (OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS, + OCTAVE_HOST_TYPE, OCTAVE_SET_DEFAULT): New macros. + * configure.in: Use them. + + * octMakefile.in (distclean): Don't remove configure, config.h.in, + BUGS, or INSTALL.OCTAVE. + +Wed Mar 12 16:56:56 1997 John W. Eaton + + * Makefile.in (install-strip): Don't try to set INSTALL_PROGRAM here. + + * emacs/Makefile.in (install-strip): New target. + * dlfcn/Makefile.in: Ditto. + * examples/Makefile.in: Ditto. + +Sun Mar 9 03:44:33 1997 John W. Eaton + + * config.h.bot (STATIC_CAST): Delete definition. + +Thu Mar 6 03:26:41 1997 Kurt Hornik + + * emacs/octave-hlp.el: Provide octave-hlp. + * emacs/octave-inf.el: Provide octave-inf. + + * examples/info-emacs-octave-help: Require octave-hlp instead of + loading it. + +Tue Mar 4 12:19:24 1997 Kurt Hornik + + * emacs/octave-mod.el: Properly indent switch statement. + +Mon Mar 3 15:44:42 1997 John W. Eaton + + * dlfcn/Makefile.in (DISTFILES): Add ftp-site. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * configure.in: Improve checks for gettimeofday. + + * Version 2.0.5 released. + +Sat Mar 1 01:34:08 1997 John W. Eaton + + * octMakefile.in (dist): Also delete CVS junk + + * config.h.bot: Unconditionally define WITH_KPATHSEARCH. + +Fri Feb 28 01:56:52 1997 John W. Eaton + + * emacs/octave-mod.el (octave-end-keywords): Add endswitch. + (octave-end-keywords): Add otherwise and case. + (octave-else-keywords): Add switch. + (octave-abbrev-table): Add abbrevs for all of them. + + * configure.in (f77_rules_frag): Set default value to /dev/null + and redfine as needed. + (bsd_gcc_kluge_targets_frag): Likewise. + +Wed Feb 26 12:17:05 1997 John W. Eaton + + * octMakefile.in (maintainer-clean): Delete some more stuff. + +Fri Feb 21 20:38:25 1997 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Remove extra -L from + RLD_FLAG substitution. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + + * configure.in (SH_LDFLAGS): Add -fPIC for HP-UX. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * configure.in (SH_LDFLAGS): Fix typo in last change. + (RLD_FLAG): Don't forget to put -shared in SH_LDFLAGS for alpha + systems. + + * Version 2.0.3 released. + +Tue Feb 18 00:33:36 1997 John W. Eaton + + * octMakefile.in (binary-dist): Strip src/octave and info/info. + + * examples/oregonator.m, examples/oregonator.cc: New files. + * examples/Makefile.in (SOURCES): Add them to the list. + +Fri Feb 14 14:07:08 1997 John W. Eaton + + * install-octave: Don't fail if LIBRARIES file is missing. + Don't try to install .oct files if there aren't any. + + * octMakefile.in (bin-dist-type): Delete target. + (binary-dist): Don't depend on bin-dist-type. + Don't delete config.status or config.h here. + (BINDISTFILES): Include config.status and config.h here. + (dist): Don't delete Makefile here. + (binary-dist): Avoid empty chmod command. + + * Makefile.in (config-check): New target. + (all): Depend on config-check. + (static-binary-distribution, dynamic-binary-distribution): Delete. + (binary-distribution): If in source directory, run configure and + make with appropriate args. + + * octMakefile.in (maintainer-clean, distclean): Don't delete Makefile. + (CONF_DISTFILES): Distribute Makefile too. + +Thu Feb 13 16:25:09 1997 John W. Eaton + + * configure.in (SH_LD, SH_LDFLAGS): New variables. + * Makeconf.in: Substitute them. + + * configure.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Delete. + + * Makeconf.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Delete. + + * octave-bug.in: Reinstate RLD_FLAG. + * mkoctfile.in: Likewise. + * Makeconf.in: Likewise. + + * configure.in: Reinstate RLD_FLAG, but make it optional. + +Tue Feb 4 14:10:35 1997 John W. Eaton + + * octMakefile.in (binary-dist): Use find and xargs instead of + requiring chmod to support X. + +Mon Feb 3 23:51:08 1997 John W. Eaton + + * examples/info-emacs-octave-help: Update from Kurt Hornik. + +Fri Jan 31 20:41:15 1997 John W. Eaton + + * dlfcn/Makefile.in (all): Make libdlfcn.a, not dlfcn.a. + +Wed Jan 29 00:18:55 1997 John W. Eaton + + * Makeconf.in: Use -M instead of -MM to generate dependencies. + Don't strip $(srcdir) from output. + + * examples/Makefile.in (install): Install info-emacs-info and + info-emacs-octave-help in $(archlibdir). + + * configure.in (INSTALL_SCRIPT): Substitute this in Makefiles. + * octMakefile.in (INSTALL_SCRIPT): New macro. + (install): Use it. + * Makefile.in (install-strip): New target. + +Tue Jan 28 09:48:32 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Don't look for values-X*.o. This is + apparently added automatically now by gcc. Don't put space + between -L and directory name. + + * Makefile.in (help): New target. + (header-msg): extract from all. + (all, help): Depend on header-msg. + + * aclocal.m4 (ld_run_path): Fix typo in last fix. + +Mon Jan 27 00:10:10 1997 John W. Eaton + + * Version 2.0.2 released. + + * configure.in: Add check for usleep(). + (bsd_gcc_kluge_targets_frag): New fragment. + + * Makefile.in: Delete `internal' targets. + (static-binary-dist, dynamic-binary-dist): Special cases. + + * octMakefile.in (static-binary-dist, dynamic-binary-dist): + New targets. + (binary-dist, bin-dist): Delete. + +Sun Jan 26 19:39:51 1997 John W. Eaton + + * emacs/Makefile.in: New file. + * configure.in: create emacs/Makefile. + * octMakefile.in: Move/add emacs dir to the appropriate lists. + +Sat Jan 25 22:27:14 1997 John W. Eaton + + * aclocal.m4 (OCTAVE_CHECK_TYPE): New macro, stolen from bash. + * configure.in: Use it. + * acconfig.h: Add #undef for sigset_t. + + * configure.in (RLD_FLAG): Delete. + * mkoctfile.in (RLD_FLAG): Delete. + * octave-bug.in (RLD_FLAG): Delete. + * Makeconf.in (RLD_FLAG): Delete. + + * Makefile.in (bin-dist): New target. + + * install-octave: Rename from doinstall.sh. Update for 2.x. + +Wed Jan 22 11:14:07 1997 John W. Eaton + + * aclocal.m4 (ld_run_path): Anchor search at beginning of line to + avoid GNU sed bug on HP-UX systems. Use just one sed command. + + * emacs/octave-hlp.el, emacs/octave-inf.el, emacs/octave-mod.el: + New files from Kurt Hornik. + * emacs/octave.el: Delete. + +Mon Jan 20 11:16:21 1997 John W. Eaton + + * mkoctfile.in (ALL_CXXFLAGS): Delete reference to -lg++. + + * configure.in (RLD_FLAG): For sparc-sun-sunos4*, remove space + between -L and $(libdir). + (FPICFLAG): If using g77, set it to -fPIC. + +Sun Jan 19 15:57:20 1997 John W. Eaton + + * Makeconf.in, configure.in: Delete FUGLY. + +Wed Jan 8 23:12:02 1997 John W. Eaton + + * configure.in (DEFAULT_PAGER): On cygwin32 systems, also look for + more.com. + +Tue Jan 7 00:16:35 1997 John W. Eaton + + * Version 2.0.1 released. + +Thu Dec 19 16:18:59 1996 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Only add -Xlinker args if compiler is + gcc. + +Sat Dec 14 09:46:50 1996 John W. Eaton + + * README.Linux: New file. + * octMakefile.in: Distribute it. + +Fri Dec 13 22:37:49 1996 John W. Eaton + + * configure.in (TERMLIBS): Look for termcap and terminfo after + ncurses and curses. + +Thu Dec 12 02:27:08 1996 John W. Eaton + + * Makeconf.in (ALL_LDFLAGS): Add CPICFLAG here since gcc needs it + on some systems. + + * configure.in (FPICFLAGS): Set to -fPIC if using g77 on HP/UX. + + * Makefile.in, octMakefile.in: Delete all doc-dist, local-dist, + and split-dist targets. Likewise for all other Makefiles in the + subdirectories. + + * README.Windows: Renamed from README.WINDOWS. + +Tue Dec 10 01:33:52 1996 John W. Eaton + + * Version 2.0 released. + + * octMakefile.in (binary-dist): Print message instead of making a + binary distribution. + +Mon Dec 9 11:28:27 1996 John W. Eaton + + * README.WINDOWS: New file. + * octMakefile.in: Distribute it. + + * configure.in: Substitute EXE. On cygwin32 systems, set it to .exe. + * Makeconf.in (EXE): Add definition. + + * configure.in: On cygwin32 systems, set default to disable GNU info. + + * aclocal.m4 (OCTAVE_STRING_NPOS): New macro. + * configure.in: Call it. + + * acconfig.h: Add undef for NPOS. + * config.h.bot: Remove kluge for deciding whether to define NPOS. + +Thu Dec 5 11:05:02 1996 John W. Eaton + + * config.sub: Update to current version from FSF. + + * Makeconf.in (ALL_LDFLAGS): Add $(FORTRAN_MAIN_FLAG). + * configure.in (FORTRAN_MAIN_FLAG): Substitute it. + + * octave-bug.in: Prompt for abort, edit, list, or send. + Get subject from message in case it has been edited. + + * configure.in: When looking for libf2c, provide definitions for + MAIN_ and MAIN__. + +Tue Dec 3 11:35:35 1996 John W. Eaton + + * config.guess: Delete second copy of script in file. + +Sun Nov 24 21:40:25 1996 John W. Eaton + + * configure.in: Set GCC_IEEE_FP_FLAG to -mieee-fp on all x86 + systems, not just those running Linux. + +Fri Nov 22 15:10:34 1996 John W. Eaton + + * emacs/octave.el: Update from Kurt Hornik to with fixes for + fill-paragraph. + +Wed Nov 20 00:33:03 1996 John W. Eaton + + * Version 1.93. + + * aclocal.m4 (OCTAVE_STRUCT_GR_PASSWD): New macro. + * configure.in: Use it. + * acconfig.h (HAVE_GR_PASSWD): Add undef. + +Tue Nov 19 23:10:01 1996 John W. Eaton + + * Makeconf.in (INCFLAGS): Add libcruft/misc directory. + +Thu Nov 14 00:07:31 1996 John W. Eaton + + * emacs/octave.el (octave-text-functions): Change set and show to + gset and gshow. + + * Makeconf.in (TEXI2DVI): Define to be our own private version. + + * texi2dvi: New file. + * octMakefile.in (DISTFILES): Add it to the list. + + * configure.in: Don't substitute values in src/mk-oct-links.in. + + * emacs/octave.el: Update to version 0.8.6, from Kurt Hornik. + + * configure.in (RLD_FLAG): Surround case pattern in changequote. + + * Version 1.92. + +Wed Nov 13 11:04:26 1996 John W. Eaton + + * configure.in: Don't set or substitute LIBINFO. + (infofile): Set and substitute a default value. + + * Makeconf.in (do-subst-default-values): Substitute it here. + + * configure.in: If running on an SCO system, define SCO, and force + HAVE_ISINF and HAVE_ISNAN to be defined. + Also check for ieeefp.h and nan.h. + * acconfig.h (HAVE_ISINF, HAVE_ISNAN, SCO): Add undefs. + +Tue Nov 12 21:50:49 1996 John W. Eaton + + * MAKEINFO.PATCH: Update to use patch relative to texinfo-3.9. + + * INFO.PATCH: New file. + * octMakefile.in (DISTFILES): Add it. + + * info: Update to current release from texinfo-3.9. + +Mon Nov 11 23:56:58 1996 John W. Eaton + + * config.h.bot: Only check value of __GNUC__ and __GNUC_MINOR__ if + __GNUC__ is defined. + +Fri Nov 8 11:15:07 1996 John W. Eaton + + * Makeconf.in (version): Look in $(TOPDIR)/src then + $(srcdir)/$(TOPDIR)/src for version.h. + + * configure.in (TERMLIBS): Print warning message if no term + library is found. + (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): Delete. + * Makeconf.in (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): + Delete. + (do-subst-default-vals): Delete CXXLIB_LIST, CXXLIB_PATH, + FLIB_LIST, and FLIB_PATH from the list. + +Thu Nov 7 12:43:36 1996 John W. Eaton + + * octMakefile.in (bin-dist-tar): Delete references to octtopnm. + + * configure.in (RLD_FLAG): Define if x86-linux. + + * Version 1.91. + +Wed Nov 6 16:26:39 1996 John W. Eaton + + * configure.in: Add checks for group stuff. + +Tue Nov 5 12:32:30 1996 John W. Eaton + + * configure.in: Add checks for geteuid, getuid. + + * configure.in: Comment out code to handle --enable-readline since + it doesn't work yet. + + * aclocal.m4 (OCTAVE_SIGNAL_CHECK, OCTAVE_REINSTALL_SIGHANDLERS): + New checks stolen from bash 2.0 config. + * configure.in: Use them. + + * acconfig.h: Add #undefs for HAVE_BSD_SIGNALS, HAVE_POSIX_SIGNALS, + HAVE_USG_SIGHOLD, and MUST_REINSTALL_SIGHANDLERS. + +Mon Nov 4 11:31:22 1996 John W. Eaton + + * configure.in: Check for gethostname in libsocket. Apparently + needed for some SCO systems. + + * emacs/octave.el: Update to version 0.8.5 from Kurt Hornik. + +Fri Nov 1 01:33:40 1996 John W. Eaton + + * octMakefile.in (octave-bug, mkoctfile): After substituting + values, chmod a+rx. + +Thu Oct 31 13:50:06 1996 John W. Eaton + + * octMakefile.in (DISTFILES): Add NEWS.[0-9]. + * NEWS.1: Old news. + * NEWS: Just keep news since last major release. + +Wed Oct 30 01:04:13 1996 John W. Eaton + + * Version 1.90. + + * configure.in: Default is now no internal bounds checking. + + * Makefile.in (all): Fix message to say 2.7.2, not 2.7.0. + + * config.h.bot (GCC_ATTR_NORETURN): Rename from NORETURN. + (GCC_ATTR_UNUSED): Rename from GCC_ATTRIBUTE_UNUSED. + (NPOS): Define if using gcc 2.8.x or later. + + * octMakefile.in (DIRS_TO_MAKE): Add localarchlibdir to list. + + * configure.in (localarchlibdir): New variable. + * Makeconf.in (localarchlibdir): Substitute it. + (do-subst-default-vals): Likewise. + +Sun Oct 27 14:03:36 1996 John W. Eaton + + * Makeconf.in (do-subst-config-vals): Split into two sed commands + to try to avoid fixed limits in some seds and/or systems. + +Fri Oct 25 01:13:45 1996 John W. Eaton + + * config.h.bot: Add definition for GCC_ATTRIBUTE_UNUSED. + + * configure.in: Define RUSAGE_TIMES_ONLY if cygwin32. + * acconfig.h: Add undef. + +Thu Oct 24 21:17:53 1996 John W. Eaton + + * config.guess: Update to version that understands what to do for + cygwin32 systems. + +Fri Oct 18 12:23:57 1996 John W. Eaton + + * configure.in: Don't comment out substitutions for plplot stuff. + +Wed Oct 16 12:01:37 1996 John W. Eaton + + * examples/Makefile.in (install): New target. + +Tue Oct 15 14:40:51 1996 John W. Eaton + + * configure.in: Comment out plplot stuff. + In commands to get gxx_version and gcc_version, use simpler sed + command to avoid confusing brain-dead vendor-supplied seds. + +Mon Oct 14 11:09:12 1996 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): Remove mkoctfile too. + (kpathsea.info): New target. + (dist-info-files): New target. + (links-for-dist, links-for-bin-dist, local-dist-tar): + Depend on dist-info-files instead of individual files. + +Sat Oct 12 00:17:06 1996 John W. Eaton + + * examples/Makefile.in (clean, mostlyclean): New targets. + + * octMakefile.in (CLEANSUBDIRS): New macro. + Use it for clean targets. + + * config.h.bot (STATIC_CAST, DYNAMIC_CAST, REINTERPRET_CAST): + New macros. + +Wed Sep 25 12:24:20 1996 John W. Eaton + + * configure.in: Don't look in /usr/ucb/include to find getrusage + on Solaris systems since that just seems to cause trouble. + * Makeconf.in (UCB_INCFLAGS): Delete. + +Fri Aug 30 09:07:23 1996 John W. Eaton + + * configure.in (TERMLIBS): Add check for ncurses. + +Tue Aug 20 21:40:26 1996 John W. Eaton + + * configure.in: Always set FPICFLAG, CPICFLAG, CXXPICFLAG, SHLEXT, + RLD_FLAG, DLFCN_DIR, even if SHARED_LIBS is false. + +Thu Aug 15 14:39:07 1996 John W. Eaton + + * configure.in (gxx_version, gcc_version): Strip out cygnus- from + the version number. + +Tue Jul 30 12:55:43 1996 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Also check for -bI:FILE arg to ld, + for AIX systems. + +Thu Jul 25 03:09:29 1996 John W. Eaton + + * configure.in: On AIX systems, add "-ll -lld" to LIBDLFCN. + +Fri Jul 19 13:02:05 1996 John W. Eaton + + * configure.in: If using g77 on alpha, don't add -fpe1 to FFLAGS. + +Mon Jul 15 14:26:48 1996 John W. Eaton + + * config.sub: Update to new version from FSF (gcc sources). + +Thu Jun 13 16:38:51 1996 John W. Eaton + + * configure.in: Look for g77 before other fortran compilers. + +Thu Jun 6 00:05:47 1996 John W. Eaton + + * configure.in: Add check for multiple plot windows in gnuplot. + * acconfig.h: Add #undef for GNUPLOT_HAS_FRAMES. + +Wed May 22 15:05:40 1996 John W. Eaton + + * configure.in (UCB_INCFLAGS): Another kluge to try to find + getrusage on Solaris systems. + * Makeconf.in Substitute it. + + * configure.in (SH_LIBS, SH_FLIBS, SH_TERMLIBS): Define. + * Makeconf.in: Substitute. + +Wed May 22 02:42:32 1996 Kurt Hornik + + * emacs/octave.el (octave-indent-new-line): Protect + octave-indent-line with save-excursion. + (octave-calc-indent-this-line): Attempt to handle end tokens that + are not on separate lines. + (octave-electric-semi): Make `;' self-insert if inside comment. + (octave-previous-line): Don't try to go back past the beginning of + the buffer. + +Tue May 21 23:11:46 1996 John W. Eaton + + * configure.in (F77): Also check for f90. + +Mon May 20 12:22:54 1996 John W. Eaton + + * emacs/octave.el (octave-indent-new-line): Make it do what the + docstring says it does. + + * octave-bug.in: Fix previous change so it also matches things + like 1.90, not just 1.1.90. + +Fri May 17 09:58:49 1996 Kurt Hornik + + * emacs/octave.el (octave-electric-semi): Also call octave-indent-line + to indent the current line after inserting a semicolon. + +Fri May 17 02:53:49 1996 John W. Eaton + + * octMakefile.in (DIRS_TO_MAKE): Add octincludedir. + (all): Add mkoctfile. + + * configure.in: Don't set values for exec_prefix, bindir, datadir, + libdir, libexecdir, includedir, mandir, or infodir, so that they + can be set from the configure command line. + + * configure.in, Makeconf.in: Handle mandir, man1dir and man1ext. + Change topincludedir to includedir. Use octincludedir as the + subdirectory of includedir where we really install include files. + + * octave-bug.in (BUGADDR): Also set to octave-maintainers if this + looks like a pretest version number. + + * Makeconf.in (do-subst-config-vals): Use $< instead of + referencing $(srcdir) directly. + (do-subst-default-vals): Likewise. + + * octMakefile.in (octave-bug): Depend on octave-bug.in + (mkoctfile): Likewise, depend on mkoctfile.in. + +Thu May 16 11:49:46 1996 John W. Eaton + + * octMakefile.in (DISTFILES): Add mkoctfile.in. + (install): Install mkoctfile too. + + * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Fix typo in last change + +Mon May 13 04:02:29 1996 John W. Eaton + + * configure.in (UGLY_DEFS): Quote " with more \'s. + + * Makeconf.in (do-subst-config-vals): Quote substitutions here. + * octave-bug.in, mkoctfile: Not here. + + * octMakefile.in (octave-bug, mkoctfile): Depend on Makeconf, + octMakefile. + + * Makeconf.in (do-subst-default-vals): New definition, from + src/Makefile.in. + + * Makeconf.in (do-subst-config-vals): Define here. + * octMakefile.in: Not here. + + * octave-bug.in: Handle more configuration stuff. + + * configure.in (config_opts): Set from ac_configure_args and subst. + * Makeconf.in: Handle config_opts. + * octMakefile.in (do-subst-config-vals): Substitute them. + +Sun May 12 03:37:55 1996 John W. Eaton + + * Makeconf.in (TERMLIBS): Substitute here. + + * configure.in (topincludedir): New variable. + * Makeconf.in (libexecdir): Substitute it. + + * octMakefile.in (do-subst-config-vals): Define new command. + (octave-bug): Use it. + (mkoctfile): New target. + + * Makefile.in (TARGETS): Add mkoctfile. + + * examples: New subdirectory. + * octMakefile.in: Add it to the appropriate lists. + * configure.in: Create examples/Makefile. + + * octMakefile.in (DIRS_TO_MAKE): Add $(libdir) here. + (install): Use INSTALL_PROGRAM to install octave-bug script. + Also install config.h. + + * aclocal.m4 (OCTAVE_F2C_F77_COMPAT): Provide a definition for + MAIN__ on Linux systems. + +Tue Apr 30 05:44:29 1996 John W. Eaton + + * configure.in: Handle --enable-bounds-check. + * acconfig.h: Add undef for BOUNDS_CHECKING + +Mon Apr 29 01:42:38 1996 John W. Eaton + + * configure.in (AC_FUNC_SETVBUF_REVERSED): Delete. Octave doesn't + need this check (it was for info, which has its own configure now). + +Sun Apr 28 05:41:26 1996 John W. Eaton + + * configure.in (DEFAULT_PAGER): Don't append -e to less here. + +Sat Apr 27 22:23:51 1996 John W. Eaton + + * configure.in: Check for pid_t and sys/types.h. + +Tue Apr 23 17:44:18 1996 John W. Eaton + + * configure.in: Check for fcntl.h, not sys/fcntl.h. + Add checks for various system calls. + +Sun Apr 7 16:42:54 1996 John W. Eaton + + * configure.in: Check for strdup. + + * Makefile.in (TARGETS): Add dlfcn. + * octMakefile.in (DISTSUBDIRS): Add dlfcn. + (SUBDIRS): Add @DLFCN_DIR@. + * configure.in: On AIX systems: set DLFCN_DIR=dlfcn when doing + shared libraries, bypass checks for dlopen, etc., set and + substitute LIBDLFCN and DLFCN_INCFLAGS. Create dlfcn/Makefile. + +Sat Apr 6 21:45:40 1996 John W. Eaton + + * Makeconf.in (%.d : %.cc, %.d : %.c): Add dependency for pic/%.o. + +Fri Mar 29 13:38:40 1996 John W. Eaton + + * octMakefile.in (maintainer-clean distclean): Delete mk-oct-links. + +Wed Mar 27 09:05:01 1996 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Fix typo in message. + +Tue Mar 26 02:41:16 1996 John W. Eaton + + * configure.in (UGLY_DEFS): Undo previous change. + When checking for various libraries, don't check for main(), but + instead look for functions that are actually supposed to be in + those libraries. + Require autoconf 2.9. + If using solaris2, don't add /usr/ucblib/libucb.a to LIBS until + near the very end, then check for for getrusage and times just + after that. + + * Makeconf.in (UGLY_DEFS): Ditto. + + * octave-bug.in: Don't send empty bug reports. + +Sat Mar 23 04:55:46 1996 John W. Eaton + + * octMakefile.in (DISTDIRS): Omit plplot for now. + * Makefile.in (TARGETS): Likewise. + +Fri Mar 22 06:15:44 1996 John W. Eaton + + * configure.in: Add checks for sys/times.h and times(). + (GCC_IEEE_FP_FLAG): Define this if using gcc 2.8.x or later on + Alpha/OSF systems. + +Wed Mar 20 02:04:08 1996 John W. Eaton + + * octMakefile.in (octave.info): cd to doc/interpreter, not doc. + +Sun Mar 3 10:01:13 1996 John W. Eaton + + * config.h.bot: Define HEAVYWEIGHT_INDEXING here. + + * Makefile.in (TARGETS): Remove dld. + * octMakefile.in (DISTSUBDIRS): Ditto. + * configure.in: Don't create dld/Makefile. + Do create doc/fac/Makefile, doc/interpreter/Makefile, + doc/liboctave/Makefile, and doc/refcard/Makefile. + +Thu Feb 29 08:55:25 1996 John W. Eaton + + * Makeconf.in (%.o : %.c): Use pattern rule instead of suffix rule. + (%.o : %.cc): Likewise. + (pic/%.o : %.c, pic/%.o : %.cc): Use separate rules instead of + expecting one rule to generate two output files. + * configure.in (f77_rules_frag): Use separate rules here too. + +Mon Feb 26 03:34:12 1996 John W. Eaton + + * configure.in: If --disable-dl or --disable-shl, don't check for + dynamic linking functions. + (includedir): Append version. + +Wed Feb 14 12:20:57 1996 John W. Eaton + + * octMakefile.in (snapshot-version): Don't quote version number. + + * aclocal.m4 (OCTAVE_FLIBS): Avoid setting FLIBS=" ". + +Sat Feb 10 12:59:22 1996 John W. Eaton + + * glob/Makefile.in (install): New target. + +Fri Feb 9 14:00:53 1996 John W. Eaton + + * configure.in: Fix help text for --enable-shared option. + +Thu Feb 8 10:17:55 1996 John W. Eaton + + * octMakefile.in (CONF_DISTFILES): New variable. + (DISTFILES): Use it instead of listing things twice. + (CONF_DISTSUBDIRS): New variable. + (conf-dist): New target. + + * Makefile.in (TARGETS): Add conf-dist. + + * configure.in (CXX_VERSION, CC_VERSION): Substitute them. + * octMakefile.in (octave-bug): Substitute them here too. + * octave-bug.in: Put them in the configuration message. + +Sat Feb 3 08:53:56 1996 John W. Eaton + + * configure.in: RLD_FLAG should be empty by default, but give it a + value for alpha-dec-osf* systems. + +Fri Feb 2 23:03:40 1996 John W. Eaton + + * Makeconf.in: Actually do add substitutions for FPICFLAG, + CPICFLAG, and CXXPICFLAG. + +Thu Feb 1 14:58:16 1996 John W. Eaton + + * configure.in (%.c : %.f): Fix typo. + +Wed Jan 24 14:47:58 1996 John W. Eaton + + * configure.in: Also configure in glob subdirectory. + Make pattern rule say how to make .o from .f, not .f from .o. Duh. + + * octMakefile.in: Add glob stuff to the appropriate lists. + * Makeconf.in: Likewise. + + * aclocal.m4: Add test for program_invocation_name. + * configure.in: Use it here. + + * acconfig.h: Add #undef here. + +Mon Jan 22 17:32:00 1996 John W. Eaton + + * configure.in: Add checks for mode_t, off_t, size_t, uid_t, + dev_t, ino_t, and nlink_t typedefs. + * acconfig.h: Add undefs for dev_t, ino_t, and nlink_t. + +Sat Jan 20 21:05:49 1996 John W. Eaton + + * configure.in: For Fortran rules, use pattern rules instead of + suffix rules. + +Fri Jan 19 12:38:23 1996 John W. Eaton + + * configure.in: When checking for libf2c.a, add -lm and an extra lib. + +Wed Jan 10 16:36:43 1996 John W. Eaton + + * configure.i: Add missing colon in .o.f pattern for f2c rules. + +Mon Jan 8 23:18:39 1996 John W. Eaton + + * configure.in (AC_PROG_LN_S): New check. + * Makeconf.in (LN_S): Substitute it. + + * configure.in (libexecdir): New variable. + (archlibdir, octfiledir, localoctfiledir): Use it instead of libdir. + (datadir): Default to $(prefix)/share instead of $(prefix)/lib. + + * Makeconf.in (libexecdir): Substitute it. + + * configure.in (localoctfiledir): Use $(libdir), not $(datadir). + +Sun Jan 7 18:40:00 1996 John W. Eaton + + * aclocal.m4 (OCTAVE_SMART_PUTENV): New macro, extracted from + the kpathsearch library. + * configure.in: Call it. + +Fri Dec 29 22:07:52 1995 John W. Eaton + + * Makeconf.in (subdir-for-command): New definition for + SUBDIR_FOR_COMMAND using GNU Make `foreach' instead of shell `for' + command. + * libcruft/Makefile.in, scripts/Makefile.in, octMakefile.in: + Invoke new definition with `@'. + +Wed Dec 27 14:27:48 1995 John W. Eaton + + * octMakefile.in (SUBDIRS): Delete DLD_DIR. + (distclean): Delete Makerules.f77. + + * Makeconf.in (WITH_DLD): Delete variable. + + * configure.in: Delete support for dynamic linking with dld. + + * configure.in, Makeconf.in: Use consistent names for WITH_DL, + WITH_SHL, OCTAVE_LITE, and SHARED_LIBS + + * config.h.bot: Undo previous change. + * acconfig.h: Add #undef for WITH_DYNAMIC_LINKING. + * Makeconf.in: Substitute it here too. + * configure.in: Set it here. + +Tue Dec 26 00:12:14 1995 John W. Eaton + + * configure.in (AC_CONFIG_SUBDIRS): Delete libcruft. + (AC_OUTPUT): List libcruft files here. + + * configure.in, Makeconf.in: Handle Fortran compilation rules + using an included fragment in Makeconf. + +Mon Dec 25 22:14:21 1995 John W. Eaton + + * configure.in (CPICFLAG, CXXPICFLAG, FPICFLAG): New variables. + * Makeconf.in: Substitute them. + + * configure.in: Handle --enable-shared option. + Handle Fortran source files differently. + * Makeconf.in (SHARED_LIBS): Substitute shared_libs. + (SHLEXT, RLD_FLAG, fortran_rules_flag): Substitute these too. + (.c.o, .cc.o): Handle creating position independent code for + shared libraries. + +Sun Dec 24 00:29:12 1995 John W. Eaton + + * config.h.bot: Maybe define WITH_DYNAMIC_LINKING. + + * Makeconf.in (WITH_DL, WITH_SHL): Substitute values. + * acconfig.h: Add undefs for WITH_DL and WITH_SHL. + * configure.in: Handle --enable-dl and --enable-shl. + Check for -ldl and dlopen, dlsym, dlclose, and dlerror. + Check for -ldld and shl_load, shl_findsym. + (have_fortran_compiler): Quit if no suitable Fortran compiler is + found. + +Fri Nov 3 03:33:42 1995 John Eaton + + * emacs/octave-mode.el: Rename from octave.el. + +Wed Oct 11 19:22:12 1995 John Eaton + + * configure.in (GNUPLOT_BINARY): When checking for multiplot, + issue a `set term unknown' command first. + +Wed Oct 4 01:42:35 1995 John Eaton + + * config.guess: Add entry for PowerPC Macs running Machten. + + * octMakefile.in (dist-z): Remove old .gz file before creating new one. + +Mon Oct 2 19:17:22 1995 John Eaton + + * configure.in: Check to see if it looks like gnuplot supports + multiplot. + * acconfig.h: Add undef for GNUPLOT_HAS_MULTIPLOT. + + * acconfig.h: #undefs for HAVE_FINITE, HAVE_ISNAN, HAVE_ISINF, + HAVE_TERMIOS_H, HAVE_TERMIO_H, and HAVE_SGTTY_H removed. This + file should only have things that autoheader can't figure out. + +Sun Oct 1 17:08:37 1995 John Eaton + + * octMakefile.in (clean-tar): Also omit directories called OLD and + files beginning with =. + +Fri Sep 29 01:04:31 1995 John Eaton + + * ROADMAP: New file. + * (DISTFILES): Include it. + + * emacs: New subdirectory for Emacs-related stuff. + * octMakefile.in (DISTDIRS, BINDISTSUBDIRS): Include emacs. + (DISTFILES, BINDISTFILES): Don't include octave-mode.el. + +Tue Sep 26 03:56:39 1995 John Eaton + + * configure.in: Don't add -Wno-unused to CFLAGS or CXXFLAGS. + * config.h.bot: Remove definition of UNUSED. + + * config.sub: Replace with current version from FSF. + * config.guess: Likewise. + +Thu Sep 21 20:29:00 1995 John Eaton + + * configure.in (AR, ARFLAGS): Set defaults for these, but also + allow them to come from the environment. + * Makeconf.in (AR, ARFLAGS): New variables to substitute. + +Wed Sep 20 00:51:24 1995 John Eaton + + * octMakefile.in (maintainer-clean): Also remove Makeconf, + config.cache, config.h, and config.log. + +Tue Sep 19 17:20:32 1995 John Eaton + + * sighandlers.h [HAVE_SIGACTION && HAVE_SIGPROCMASK && + HAVE_SIGPENDING && HAVE_SIGSUSPEND]: #define HAVE_POSIX_SIGNALS. + + * configure.in: Check for sigaction(), sigprocmask(), + sigpending(), and sigsuspend() functions. + Don't do anything special about checking for termios.h, termio.h, + and sgtty.h. + +Mon Sep 18 22:39:33 1995 John Eaton + + * config.h.bot [__GNUC__]: Define NORETURN. + +Fri Sep 15 05:12:29 1995 John Eaton + + * configure.in (AC_C_BIGENDIAN): Remove test. + +Thu Sep 14 02:07:51 1995 John Eaton + + * configure.in (LIBPLPLOT): Disable plplot by default for now. + Check for mkdir, rmdir, rename, and umask. + + * All Makefile.in files: Convert from realclean to + maintainer-clean, for GNU coding standards. + + * configure.in: Call AC_FUNC_CLOSEDIR_VOID. + +Wed Sep 13 03:25:37 1995 John Eaton + + * configure.in: Do check for IEEE functions on the Alpha. + +Mon Sep 11 19:08:47 1995 John Eaton + + * configure.in: Call AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_BLOCKS, + and AC_STRUCT_ST_RDEV. + +Tue Sep 5 02:02:35 1995 John Eaton + + * configure.in: Check for sys/param.h and sys/stat.h + Use AC_HEADER_TIME, not AC_TIME_WITH_SYS_TIME. + Use AC_HEADER_SYS_WAIT. + +Thu Aug 24 15:35:44 1995 John Eaton + + * configure.in: Don't set or call AC_SUBST for CXXFLAGS or CFLAGS, + and don't call AC_SUBST for LDFLAGS -- autoconf takes care of this. + If adding -Wall, add -Wno-unused too. + +Tue Aug 22 01:37:02 1995 John Eaton + + * Makefile.in (all): Update message. + + * config.h.bot: New file. + * octMakefile.in (DISTFILES): Add it to the list. + + * acconfig.h (USE_PLPLOT): Add #undef. + +Mon Aug 21 19:33:33 1995 John Eaton + + * Makefile.in (NO_DEP_TARGETS): New variable, for targets that can + be made without updating dependency files. + +Sun Jun 25 18:27:49 1995 John Eaton + + * configure.in (FFLAGS): Add -fpe1 on alpha-dec-osf1 systems. + +Thu May 4 22:26:34 1995 John Eaton + + * configure.in: export CC, CXX, and F77 before calling + AC_CONFIG_SUBDIRS. + +Mon May 1 14:17:07 1995 John Eaton + + * configure.in: Handle --with-plplot. + (AC_CONFIG_SUBDIRS): Add plplot directory if --with-plplot. + * plplot: New subdirectory. + * Makefile.in (plplot): New target. + * octMakefile.in (SUBDIRS): Add @PLPLOT_DIR@. + (DISTDIRS): Add plplot. + + * acconfig.h: Add #undef for GETTIMEOFDAY_NO_TZ. + + * configure.in: Improve check for gettimeofday. + +Mon May 1 12:50:03 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) + + * acconfig.h (OCTAVE_LITE): Fix comment. + +Tue Apr 11 20:31:52 1995 John Eaton + + * configure.in (INFO_DIR, READLINE_DIR): New variables. + If $USE_GNU_INFO, AC_DEFINE it, don't AC_SUBST it. + Likewise, for USE_READLINE. + + * octMakefile.in (SUBDIRS): Substitute INFO_DIR and READLINE_DIR. + + * aclocal.m4 (OCTAVE_F77_UPPERCASE_NAMES): New macro. + (OCTAVE_F77_APPEND_UNDERSCORES): Require it. + * configure.in: Use it. + (info_subdir): If $USE_GNU_INFO, then run configure in info + subdirectory too. + Don't check for sys/ttold.h or sys/ptem.h. + +Mon Apr 10 00:17:57 1995 John Eaton + + * configure.in (UGLY_DEFS): Delete commands to create this. + * Makeconf.in (UGLY_DEFS): Delete substitution. + * Makeconf.in (UGLY_ALL_CFLAGS): Delete definition. + + * configure.in: Add scripts and libcruft to CONFIG_SUBDIRS. + Don't edit scripts or libcruft Makefiles here. + Reorganize checking for the Fortran compiler. + + * octMakefile.in (DISTFILES): Delete f2c-compat.sh flibs.sh + cxxlibs.sh from list. Add aclocal.m4. + * configure.in: Use new macros defined in aclocal.m4. Don't use + external shell scripts. Cache values. + + * aclocal.m4: New file. + +Sun Apr 9 12:47:27 1995 John Eaton + + * configure.in: Print status message before exiting. + Cache CXXLIBS and FLIBS. + + * acconfig.h: Delete #undefs for floating point format. + * octMakefile.in (DISTFILES): Delete float-type.c from list. + * configure.in: Don't try to determine floating point format at + configuration time. + +Mon Apr 3 21:46:10 1995 John Eaton + + * configure.in: Create scripts/time/Makefile too. + + * configure.in (gxx_version): Handle new gcc version message. + (gcc_version): Likewise. + +Wed Mar 29 22:59:42 1995 John Eaton + + * configure.in (AC_STRFTIME): Delete check. + (AC_STRUCT_TIMEZONE): New check. + +Wed Mar 22 08:31:21 1995 John Eaton + + * Makeconf.in (ALL_FFLAGS, FUGLY): New variables. + + * configure.in: Use AC_ARG_ENABLE and AC_ARG_WITH consistently. + Handle --with-g77. Substitute new variable FUGLY. If F77 is g77, + set it to -fugly. Substitute command for making .o from .f. + +Tue Mar 21 14:24:32 1995 John Eaton + + * cxxlibs.sh: Extract -R options like -L options. + * configure.in (FLIB_PATH, FLIB_LIST): Extract -R options along + with -L options. + +Tue Mar 21 14:20:55 1995 Paul Eggert + + * configure.in (CXX): Export; cxxlibs.sh needs this. + (FLIB_LIST, CXXLIB_LIST): Extract -R options along with -L options. + + * flibs.sh: Treat `-L foo' like `-Lfoo'. Extract -R options + like -L options. + +Tue Mar 21 08:08:06 1995 John Eaton + + * flibs.sh: Search for values-X*.o, not values-*.o. + +Fri Mar 10 10:32:27 1995 John Eaton + + * Makeconf.in (SUBDIR_FOR_COMMAND): New command definition. + * octMakefile.in: Use it. + + * octMakefile.in (install, uninstall, tags, TAGS, clean, + mostlyclean, distclean, realclean): Combine actions. + +Tue Feb 28 21:24:35 1995 John Eaton + + * configure.in (FC): Set to $F77 and substitute it. + * Makeconf.in (FC): Add substitution line. + +Sun Feb 26 00:20:19 1995 John Eaton + + * dointsall.sh: Create ls-R database. + + * configure.in: Configure kpathsea using AC_CONFIG_SUBDIRS(). + Remove check for SMART_PUTENV. + Remove kpathsea/c-auto.h from AC_CONFIG_HEADER(). + + * make: New directory, for kpathsea configuration. + * octMakefile.in (DISTDIRS): Add it + + * kpathsea: Update with 2.6 distribution. + + * Makefile.in (TARGETS): New variable. Combine all identical targets. + + * configure.in (LIBINFO, LIBREADLINE): New variables to substitute. + +Sat Feb 25 18:47:11 1995 John Eaton + + * acconfig.h (USE_READLINE): Add #undef. + * configure.in: Add support for --enable-readline. + + * acconfig.h (USE_GNU_INFO): Add #undef. + * configure.in: Add support for --enable-info. + + * acconfig.h (RUN_IN_PLACE): Delete #undef. + +See ChangeLog.1 for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/ChangeLog.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/ChangeLog.1 Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,10392 @@ +Thu Feb 23 09:32:01 1995 John Eaton + + * Version 1.1.1 released. + + * src/idx-vector.cc (idx_vector (const Range&)): Always initialize + data to 0. + (idx_vector (const Matrix&, int, const char *, int)): Likewise. + (idx_vector (const idx_vector&): Likewise, do it first. + * src/idx-vector.h (~idx_vector): Simply delete data. + + * octMakefile.in: Combine libcruft, liboctave,dld, info, readline, + kpathsea, src, scripts, and doc targets into just one. + (all): Depend on $(SUBDIRS). + * libcruft/Makefile.in (make-objects): Change to $(SUBDIRS) + target that doesn't use a loop. + (all): Depend on $(SUBDIRS). + +Wed Feb 22 07:27:18 1995 John Eaton + + * Don't leave @LIBDLD@ on a line by itself. + + * src/tc-rep-idx.cc (fortran_style_matrix_index): Handle zero-one + indexing as a separate case. + (fortran_style_matrix_index): Check for out-of-bounds index. + + * src/idx-vector.cc (init_state): Don't forget len, num_zeros, and + the one_zero flag for vectors of all zero elements. + (convert_one_zero_to_idx): Set data to zero after deleting it. + + * src/data.cc (check_dimensions): + Handle case of treat_neg_dim_as_zero = "warn". + +Tue Feb 21 08:18:19 1995 John Eaton + + * src/tree-misc.cc (initialize_undefined_elements): Don't declare + arg const. + + * src/sysdepl.cc (octave_getcwd): Declare arg as char *, not + const char *. + + * src/input.cc (match_sans_spaces): Initialize ep from copy of + arg, not arg itself. + + * octMakefile.in (snapshot-version): Look for OCTAVE_VERSION, + not just VERSION. Don't end #define with a semicolon. + +Mon Feb 20 15:57:17 1995 John Eaton + + * scripts/image/Makefile.in (clean): Delete octtopnm.o and octtopnm. + +Fri Feb 17 08:12:09 1995 John Eaton + + * src/variables.cc (maybe_add_default_load_path): New function, + extracted from default_path(), which no longer needs it. + * src/user-prefs.cc (sv_loadpath): Call it here. + +Wed Feb 15 15:13:22 1995 John Eaton + + * src/octave.cc (verbose_usage): Format help message more like + the help messages of other GNU programs. + + * src/variables.cc (install_builtin_variables): New builtin + variable, suppress_verbose_help_message. + * src/user-prefs.cc (user_prefs): New field, + suppress_verbose_help_message. + * src/user-prefs.cc (suppress_verbose_help_message): New function. + * src/help.cc (additional_help_message): Check + user_pref.suppress_verbose_help_message before printing message. + +Tue Feb 14 15:36:01 1995 John Eaton + + * src/sysdep.cc (octave_chdir): New function. + * src/dirfns.cc (change_to_directory): Use it. + + * src/sysdep.cc (octave_getcwd): New function. + * src/dirfns.cc (get_working_directory, Fpwd): Use it. + * src/input.cc (decode_prompt_string): Likewise. + + * src/version.h (VERSION): New #define. + (version_string): Use it. + (OCTAVE_COPYRIGHT): New #define. + (OCTAVE_NAME_AND_VERSION): New #define. + (OCTAVE_NAME_VERSION_AND_COPYRIGHT): New #define. + (OCTAVE_STARTUP_MESSAGE): New #define. + * src/octave.cc (main): Use new macros from version.h + (print_version_and_exit): Likewise. + (verbose_usage): Likewise. + (Fwarranty): Likewise. + + * Makeconf.in (version): Make work with new version.h. + * octMakefile.in (snapshot-version): Likewise. + + * src/variables.cc (default_path): Use SEPCHAR instead of literal ':'. + * src/utils.cc (pathstring_to_vector): Likewise. + * src/octave.cc (initialize_globals): Likewise, use SEPCHAR_STR to + construct format string instead of using literal `:'. + + * configure.in: Call AC_DEFINE for SEPCHAR and SEPCHAR_STR. + * acconfig.h: Add #undefs for SEPCHAR and SEPCHAR_STR. + + * src/dynamic-ld.cc: Don't include dld.h unless WITH_DLD. + + * src/octave.cc (parse_and_execute): Close file. + +Mon Feb 13 19:39:12 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) + + * scripts/general/linspace.m: Delete. + * src/data.cc (Flinspace): New function. + * liboctave/dRowVector.cc (linspace): New function. + * liboctave/CRowVector.cc (linspace): New function. + +Sun Feb 12 21:23:54 1995 John Eaton + + * src/load-save.cc (read_mat_binary_data): Only convert to string + if the number of rows is 1. + + * scripts/image/saveimage.m: Force ASCII save. + +Thu Feb 9 08:46:09 1995 John Eaton + + * scripts/elfun/sec.m: Returned variable is `w', not `y'. + * scripts/elfun/sech.m: Likewise. + +Wed Feb 8 10:51:33 1995 John Eaton + + * src/f-find.cc (find_nonzero_elem_idx): Increment i, j indices by + 1 before stashing them. + +Fri Feb 3 15:44:03 1995 John Eaton + + * src/tree-misc.cc + (tree_parameter_list::initialize_undefined_elements): New function. + * src/tree-expr.cc (tree_function::eval): Use it to define return + values. + (tree_simple_assignment_expression:eval): Complain if RHS is undefined. + (tree_multi_assignment_expression:eval): Complain if any of the + RHS values are undefined. + * src/user-prefs.h (init_user_prefs): New structure element, + define_all_return_values. + * src/user-prefs.cc (define_all_return_values): New function. + * src/variables.cc (install_builtin_variables): Add DEFVARs for + default_return_value and define_all_return_values. + (builtin_any_variable): New function. + +Wed Feb 1 08:02:28 1995 John Eaton + + * src/parse.y (parse_error): Call yyerror() here. + (input): Not here. + + * src/lex.l (handle_string): Call have_continuation and + have_ellipsis_continuation with 0 arg, to disallow comments after + continuation characters inside strings. + (have_continuation): New arg, trailing_comments_ok with default + value of 1. If !trailing_comments_ok, don't allow comments to + follow continuation token. + (have_ellipsis_continuation): New arg, trailing_comments_ok, with + default value of 1. Pass it along to have_continuation. + + * src/parse.y (yyerror): Call parse_error with first arg == "%s", + since msg might contain format specifiers. + + * src/tree-expr.cc (tree_index_expression::eval (int)): Detect + undefined elements in argument list and print error message. + (tree_index_expression::eval (int, int, const Octave_object&)): + Likewise. + + * configure.in: Only set CFLAGS, CXXFLAGS, LDFLAGS, FFLAGS, and + F2CFLAGS if they are not already set in the environment. + + * doinstall.sh: Add -print to find commands. + +Tue Jan 31 13:26:53 1995 John Eaton + + * src/lex.l ({S}*\,{S}*): Eat any trailing continuation + here. Use value returned from eat_continuation to decide whether + to insert a row separator. + ({S}+): Likewise. + ({SNLCMT}*\n{SNLCMT}*): Eat any trailing whitespace here. + + * lex.l (ATE_SPACE_OR_TAB, ATE_NEWLINE): New macros. + (eat_whitespace): Use them to set return value. + +Mon Jan 30 14:02:24 1995 John Eaton + + * src/user-prefs.cc (set_output_precision): Don't pass NaN to NINT. + (set_output_max_field_width): Likewise. + (set_save_precision): Likewise. + * src/file-io.cc (return_valid_file): Likewise. + (fgets_internal): Likewise. + (fseek_internal): Likewise. + (process_printf_format): Likewise. + (fread_internal): Likewise. + * src/f-colloc.cc (Fcolloc): Likewise. + * src/f-fft.cc (Ffft): Likewise. + * src/f-fft2.cc (Ffft2): Likewise. + * src/f-ifft.cc (Fifft): Likewise. + * src/f-ifft2.cc (Fifft2): Likewise. + * src/f-npsol.cc (do_npsol_option): Likewise. + * src/f-qpsol.cc (do_qpsol_option): Likewise. + * src/f-rand.cc (Frand): Likewise. + * src/pr-output.cc (all_elements_are_ints): Likewise. + * src/tree-plot.cc (subplot_using::eval): Likewise. + (subplot_style::print): Likewise. + * src/sysdep.cc (Fpause): Likewise. + * src/tc-rep.cc (TC_REP::valid_as_scalar_index): Likewise. + (TC_REP::valid_as_zero_index): Likewise. + (TC_REP::convert_to_str): Likewise. + * src/tc-rep-idx.cc (TC_REP::do_scalar_index): Likewise. + (TC_REP::fortran_style_matrix_index): Likewise. + * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): + Likewise. + +Sat Jan 28 13:09:44 1995 John Eaton + + * scripts/general/tril.m: Allow the k == nc for k > 0 and + -k == nr for k < 0. Make faster by eliminating nested loops. + * scripts/general/triu.m: Likewise. + +Fri Jan 27 08:32:10 1995 John Eaton + + * libcruft/lapack: Update with files from LAPACK 2.0. + + * src/lex.l (\[{S}*): Don't call fixup_column_count() here. + Don't use TOK_RETURN here, since we call eat_whitespace(). + (eat_whitespace): Decrement current_input_column when calling + yyunput(). + ({SNLCMT}*\n{SNLCMT}): Always call fixup_column_count(). + + * src/parse.y (rows): Don't accept repeated semicolons. + (matrix_row): Likewise, for commas. + + * src/Makefile.in (LIBOBJS): Delete. + + * liboctave/f77-uscore.h: Don't use C++ style comments. + + * octMakefile.in (DISTDIRS): Don't include bsd-math. + * src/Makefile.in (VPATH): Don't include bsd-math directory. + (SOURCES): Include acosh.c, asinh.c, atanh.c, erf.c erfc.c, and + lgamma.c. + * configure.in: Create libcruft/slatec-fn/Makefile. + Use AC_CHECK_FUNCS to look for acosh, asinh, atanh. + Don't do anything special if they are missing. + * src/acosh.c, src/asinh.c, src/atanh.c, src/erf.c, src/erfc.c, + src/lgamma.c: New files. + * acconfig.h: Delete #undefs for ACOSH_MISSING, ASINH_MISSING, + and ATANH_MISSING. + * libcruft/Makefile.in (CRUFT_DIRS): Add slatec-fn. + * libcruft/slatec-fn: New directory. + + * configure.in: Don't try to use IEEE floating point on m68k HP + systems. + +Thu Jan 26 12:57:05 1995 John Eaton + + * src/lex.l (maybe_unput_comma): New function, extracted from + handle_identifier(). Correctly handle the dot in things like + `a.b' inside matrix lists. + (handle_identifier): Use it. Don't allow things like [a .1] or + [a.b .1] to fool us. + +Wed Jan 25 08:04:16 1995 John Eaton + + * scripts/Makefile.in (realclean): Don't depend on distclean. Do + delete Makefile here. + + * flibs.sh: Also check for /*values-*.o, for Sun Fortran 2.x. + * configure.in (FLIB_LIST, CXXLIB_LIST, FLIB_PATH, CXXLIB_PATH): + Delete any .o files found here. + When checking for -lm, also append -lc on Linux systems. + + * mkinstalldirs: Create directories with mode 0755, to avoid + problems because the installers umask is too restrictive. + + * octave-bug.in: Don't use rmail, it crashes on Ultrix systems if + the message file isn't just right. Use nested if statements + instead of ||, for Ultrix /bin/sh. Avoid Ultrix awk crash. + + * scripts/linear-algebra/trace.m: Handle row and column vectors as + a special case. + * scripts/linear-algebra/null.m: Likewise. + * scripts/linear-algebra/orth.m: Likewise. + +Tue Jan 24 08:11:51 1995 John Eaton + + * octave-bug.in: Add F2C, F2CFLAGS, FLIBS, and LDFLAGS to report. + * Makefile.in (octave-bug): Substitute them. + +Mon Jan 23 20:42:55 1995 John Eaton + + * src/tree-misc.cc (tree_if_clause::is_else_clause): New function. + (tree_if_command_list::print_code): Use it to decide whether to + print "else" or "elseif" here. + (tree_if_clause::print_code): Don't print "else" here. + + * scripts/image/colormap.m: Fix logic for initializing default + colormap and handling subsequent calls with no arguments. + + * src/lex.h (TOK_PUSH_AND_RETURN): Correct last change. + +Sun Jan 22 18:02:37 1995 John Eaton + + * src/lex.l (handle_identifier): Handle incrementing + current_input_column here. + ({IDENT}{S}*): Not here. + + * src/lex.h (TOK_PUSH_AND_RETURN): New macro. + * src/lex.l: Use it. + + * src/parse.y (yyerror): If printing input line, always print `^' + error marker too. + + * src/parse.y (command [BREAK]): Allow break to occur in function + bodies too. + * src/tree-expr.cc (tree_function::eval): Also check to see if + function exited because of a break statement. + +Fri Jan 20 10:48:18 1995 John Eaton + + * config.guess: Replace with current version from FSF. + * config.sub: Likewise. + + * src/tempname.c: Include statdefs.h. + + * src/tree-expr.cc (eval): Improve error messages. + +Thu Jan 19 08:33:50 1995 John Eaton + + * src/lex.l (handle_string): Properly handle pending escapes. + Call error() for unterminated string constants. + * src/parse.y (input): For parse errors, call yyerror(). + + * test/config/unix-octave.exp (octave_start): Correctly set OSPATH + from $OCTAVE_SCRIPT_PATH, not to the string OCTAVE_SCRIPT_PATH. + + * test/Makefile.in (OCTAVE_SCRIPT_PATH): Delete surrounding quotes + in definition. + + * doc/texinfo.tex: Move to version 2.140. + + * src/f-rand.cc (Frand): Use different method for generating + initial seed so that it varies more each time Octave starts. + + * src/file-io.cc (feof_internal): Use args(0), not args(1). + + * src/Makefile.in (SOURCES): Use tempnam.c, not tmpnam.c. + * src/tempnam.c: New file, from the GNU C library. + +Wed Jan 18 08:10:31 1995 John Eaton + + * src/user-prefs.h (user_prefs): New field, read_only_constants. + * src/user-prefs.cc (read_only_constants): New function. + * src/variables.cc (install_builtin_variables): Add DEFVAR for + read_only_constants, but leave it #if 0'd out since we're not + really ready for it yet.. + * src/symtab.cc (symbol_record::read_only_error): Check + user_prefs.read_only_constants to see if it is ok to redefine + constants that are marked as read-only. + + * src/user-prefs.h (user_prefs): New field, ps4. + * src/user-prefs.cc (sv_ps4): New function. + * src/variables.cc (install_builtin_variables): Add DEFVAR for PS4. + * src/input.cc (do_input_echo): New function. Use PS4 variable as + prefix of echoed input. Send echoed input through the pager. + + * flibs.sh: Ignore -lang* options. + + * src/load-save.cc (Fsave): Send `save - ...' output through the + pager. + + * doc/Makefile.in: Create and distribute refcards of various sizes. + Delete rules for making refcard.tex from refcard.tex.in. + Don't make or distribute refcard-local. + * doc/refcard.tex: Handle setting paper size with \refcardsize. + * doc/refcard-a4.tex, doc/refcard-legal.tex, doc/refcard-letter.tex: + New files. + +Mon Jan 16 13:19:29 1995 John Eaton + + * src/tc-rep-ass.cc (TC_REP::do_scalar_assignment): Handle + assignments like a(0) = []. + * src/tc-inlines.h (valid_zero_index): New function. + * src/tc-rep.cc (valid_as_zero_index): New function. + * src/tree-const.h (valid_as_zero_index): New function. + + * src/parse.y (func_def2): Check user_prefs before warning about + function name and function file name conflict. + * src/user-prefs.h (user_prefs): New field, warn_function_name_clash. + * src/user-prefs.cc (warn_function_name_clash): New function. + * src/variables.cc (install_builtin_variables): Add DEFVAR for + warn_function_name_clash. + + * scripts/image/octtopnm.c: Include stdlib.h instead of malloc.h. + +Sun Jan 15 15:08:04 1995 John Eaton + + * readline/rldefs.h: Use new #defines for directory headers now + that we are using autoconf 2. + + * scripts/special-matrix/hankel.m: Use .', instead of '. + + * src/input.cc (match_sans_spaces): Use strcmp, not strncmp. + + * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): + For scalar index, don't do assignment if RHS and LHS are both empty. + + * src/data.cc (Fsize): Handle optional second arg. + + * src/tree-expr.cc (tree_function::eval (int)): Correctly set + nargin and nargout to zero when evaluating function. + + * src/lex.l (handle_string): Correct handling of string escapes. + +Thu Jan 12 15:25:34 1995 John Eaton + + * Version 1.1.0 released. + + * octMakefile.in (bin-dist-tar): Ignore errors on strip commands. + + * src/tree-expr.cc (tree_builtin::eval (int)): Set nargout to 0 + when calling function. + + * doc/Makefile.in (FORMATTED): Add refcard.dvi and refcard.ps so + that they are distributed along with the other docs. + * octMakefile.in (clean-doc-dist-tar): Delete target. + (doc-dist): Depend on doc-dist-tar, not clean-doc-dist-tar. + +Tue Jan 10 14:29:43 1995 John Eaton + + * src/help.cc (print_usage): Print warning if symbol isn't found. + + * src/utils.cc (Fundo_string_escapes): Fix typo in call to + print_usage(). + + * src/octave.cc (Fsystem): Correctly compute exit code. + + * scripts/miscellaneous/etime.m: Complain if args are not the + right length, not if they are. Reverse sense of test for years. + Duh. + + * src/f-find.cc (find_to_fortran_idx): For the case of one output + argument, return a row vector if the original argument to find was + a row vector. + +Mon Jan 9 12:57:27 1995 John Eaton + + * src/lex.l (grab_help_text): Always overwrite help_buf. + ({CCHAR}): Don't call grab_help_text() if there is already + something in help_buf. + +Sat Jan 7 12:28:35 1995 John Eaton + + * configure.in (HOST_CXXFLAGS): New variable to substitute. + * Makeconf.in (ALL_CXXFLAGS, UGLY_ALL_CXXFLAGS, BUG_CXXFLAGS): + Add $(HOST_CXXFLAGS). + +Fri Jan 6 13:07:09 1995 John Eaton + + * scripts/special-matrix/toeplitz.m: Use .' instead of '. + +Tue Jan 3 18:14:33 1995 John Eaton + + * test: Rewrite many tests to not run Octave interactively. This + makes the log files much more readable. + + * octMakefile.in (clean-tar): Delete octave-test/npsol directory, + not just test/octave.test/npsol.exp. Likewise, add a command for + deleting qpsol tests. + +Mon Jan 2 20:02:10 1995 John Eaton + + * src/octave.cc (main): Return 0 if error_state is not set. + + * src/error.cc (error_1): New function. + (error): Use it. + (parse_error): New function. + * src/parse.y: Never call error and yyerror; just use yyerror. + (yyerror): Improve logic. Use new parse_error() function so that + error_state is always set for a parse error. Don't use + ostream::form(). + (ABORT_PARSE): Don't call reset parser here. + (colon_expr): Don't call yyerror here. An error message is + printed by tree_colon_expression::chain() if it fails. + +Mon Dec 26 20:11:01 1994 John Eaton + + * src/tree-expr.cc (eval): Only call multi-arg form of eval for + object_to_eval if necessary. + +Fri Dec 23 00:08:08 1994 John Eaton + + * src/lex.l: Don't increment promptflag anywhere. + (eat_continuation): New function. + (eat_whitespace): Handle embedded continuations. Return nonzero + if whitespace consumed. + (handle_close_brace): Don't pass yytext. Do pass flag indicating + whether whitespace follows brace. + (handle_identifier): Check for next token being `=' here. Pass + flag indicating whether whitespace follows identifier. + ({SNLCMT}*;{SNLCMT}*): Call eat_whitespace() here. + ({IDENT}{S}*): Call eat_continuation() here. + (do_comma_insert_check): And here, but put a space back if + whitespace is gobbled. + (have_continuation, have_ellipsis_continuation): Decrement + promptflag here. + +Wed Dec 21 09:56:49 1994 John Eaton + + * src/tree-plot.cc (Fclearplot): Send "set nolabel" too. + +Mon Dec 19 17:50:15 1994 John Eaton + + * src/tree-plot.h, src/tree-plot.cc (subplot): Rename using to + using_clause to avoid new C++ keyword. Rename title and style to + match. + +Fri Dec 16 00:09:01 1994 John Eaton + + * configure.in: Don't check for fpsetmask. + * src/sysdep.cc (sysdep_init): Don't check HAVE_FPSETMASK + +Thu Dec 15 00:28:52 1994 John Eaton + + * src/variables.cc (install_builtin_variables) [default_save_format]: + Fix doc string. + + * configure.in: Rework DEFAULT_DOT_O_FROM_DOT_F and + DEFAULT_DOT_C_FROM_DOT_F to avoid embedded newlines. + * Makeconf.in: Likewise. + + * src/pager.cc (flush_output_to_pager): Close stream before + resetting signal handler. + + * src/help.cc (Fhelp): Call fcn_file_in_path here. Delete it too. + Print file name before help message. + * src/variables.cc (get_help_from_file): Don't call + fcn_file_in_path here. + (gobble_leading_white_space): Correctly grab only first set of + comments. + +Wed Dec 14 11:42:13 1994 John Eaton + + * src/parse.y (pager_buf): Don't make it a fixed-size array. + * src/variables.cc (get_help_from_file): New function. + (gobble_leading_white_space): Return first block of comments for + later use as help string. + (looks_like_octave_copyright): New function. + (parse_fcn_file): Stash help from gobble_leading_white_space in + global help_buf. + * src/lex.l (grab_help_text): Don't overwrite help found by + gobble_leading_white_space. + (reset_parser): Delete help_buf. + * src/help.cc (Fhelp): Only try to get help from symbol records + that are defined. If all else fails, try get_help_from_file. + + * src/pager.cc (flush_output_to_pager): Re-initialize pager_buf + immediately after extracting message. Delete message immediately + after sending it to the output stream. Ignore interrupts while + running pager. + + * octMakefile.in (clean-tar): Delete npsol.exp and any .m files + that are in the test/octave.test directory. + (install): Use $(INSTALL), not just install. + + * src/lex.l (reset_parser): Don't reset input column or line + number if reading from a script file or a function file. + (is_keyword): Don't set line number to 1 if reading function file + or script file. + * src/variables.cc (gobble_leading_whitespace): Count lines. + * src/octave.cc (main): If reading file, set reading_script_file + and curr_fcn_file_name before calling get_input_from_file(). + + * src/tc-rep.cc (TC_REP::matrix_value): If implicit_str_to_num_ok, + convert empty string to empty matrix. + +Tue Dec 13 20:25:34 1994 Frederick (Rick) A Niles + + * liboctave/dbleQR.cc, liboctave/dbleQRP.cc, liboctave/CmplxQR.cc, + liboctave/CmplxQRP.cc: Get economy-sized dimensions correct. + + * libcruft/misc/i1mach.f, libcruft/misc/gen-d1mach.c, + libcruft/ranlib/ignuin.f: Prevent warnings about variable may be + used before defined. + +Tue Dec 13 11:07:34 1994 John Eaton + + * src/variables.cc: Change commas_in_literal_matrix to + whitespace_in_literal_matrix. + * src/user-prefs.h (user_preferences): Likewise. + * src/user-prefs.cc (init_user_prefs): Likewise. + (whitespace_in_literal_matrix): Likewise, rename function. + * src/lex.l: Likewise. + (nesting_level): Rename from in_brace_or_paren. + ({SNLCMT}*\n{SNLCMT}*): Make separate case from + {SNLCMT}*;{SNLCMT}. Check nesting level to decide whether + to convert newline to semicolon. + ({NL}, {CCHAR}): Check nesting level to decide whether to eat + or return newline. + ("("): Decrement promptflag. + (")"): Increment promptflag. + +Mon Dec 12 00:02:51 1994 John Eaton + + * scripts/Makefile.in, scripts/*/Makefile.in (install): Don't + depend on all. + + * octMakefile.in: Put doc dir last. + * doc/Makefile.in (dir): New file. + (DISTFILES): Distribute dir. + (install): Install dir if it does not already exist in $(infodir). + Otherwise, print message. + + * src/lex.l: Handle {IDENT}{S}*/= with yyinput() instead of + trailing context. + (handle_close_brace): New function. + (handle_number): New function. + (have_continuation, handle_ellipsis_continuation, handle_string): + New functions for handling strings and continuation lines in + string constants. + (eat_whitespace): New function eliminates need for NEW_MATRIX + start state. + +Sun Dec 11 15:53:03 1994 John Eaton + + * src/lex.l: Eliminate special case for eating whitespace when + start state is . + Merge three cases for handling `]' for start state. + +Fri Dec 9 12:21:35 1994 John Eaton + + * src/lex.l: Handle `\' as a continuation character too. + Allow comments and blanks to follow continuation characters. + Improve handling of comments in matrices. Create a few more + definitions for patterns. Restructure source. + + * configure.in: Check for bcopy too. + + * configure.in (gxx_version): Don't use -fno-implicit-templates on + AIX systems with g++ 2.6.x. + + * octave-bug.in: Check for CC: lines too. Use case-insensitive + match for To: and Cc: lines. Actually send file that has header + separator stripped. Print list of CC: addresses too. + + * src/input.cc (get_user_input): If user enters empty string, + return empty matrix or empty string. + + * src/help.cc (Fhelp, Ftype, Fwhich): Don't allow lookup_by_name + to execute script files. + +Thu Dec 8 23:20:02 1994 John Eaton + + * src/tc-rep.cc (print): Don't check `print', which is not a + variable in this context. + +Wed Dec 7 10:52:59 1994 John Eaton + + * src/configure.in: Check for fpsetmask. + * src/sysdep.cc (sysdep_init): Check HAVE_FPSETMASK. Only call it + if either __386BSD__ or __FreeBSD__ is defined. + Don't check __386BSD__ as a condition for including + floatingpoint.h. + +Mon Dec 5 12:29:07 1994 John Eaton + + * src/utils.cc: Update directory header macro names for autoconf 2. + * src/dirfns.cc: Likewise. + +Sun Dec 4 22:00:40 1994 John Eaton + + * octMakefile.in (DISTFILES): Don't distribute GCC.PATCH, since it + is not needed with gcc 2.6.3. + + * configure.in: Really do disable IEEE floating point functions on + the Alpha. + +Wed Nov 30 11:42:44 1994 John Eaton + + * doc/FAQ.texi: New file. + * doc/Makefile.in: Create info, dvi, and ps files and distribute + them. + + * Makefile.in (all): Expand initial message. + +Sat Nov 26 21:47:05 1994 John Eaton + + * src/octave.cc (Fcomputer): Always append ios::ends to ostrstream + before returning. + +Mon Nov 21 09:41:34 1994 John Eaton + + * src/lex.l: When start state is TEXT_FCN, gobble blanks with + pattern that matches only blanks before other patterns that can + also match just blanks. Always check whether in_brace_or_paren + stack is empty before trying to use it. + + * src/parse.y (make_multi_val_ret): Call constructor for + tree_simple_assignment_expression with correct number of args. + + * scripts/plot/shg.m: New function. + + * src/f-qpsol.cc (Fqpsol): Correct for changes in meaning of + nargin and the way args is loaded. + * src/f-npsol.cc (Fnpsol): Likewise. + + * scripts/polynomial/roots.m: Return empty matrix for scalar or + empty matrix args. + + * src/tree-plot.cc (gnuplot_terminal_type): New static variable. + (Fset): If this is a set term command, set gnuplot_terminal_type. + (open_plot_stream): Use gnuplot_terminal_type if it is set. + + * src/idx-vector.cc (idx_vector::init): Don't check max value of + index vector against dimension here. We may need to resize. + * src/tc-rep-idx.cc (do_scalar_index): Do check idx-vector max + value here. + + * src/lex.l (is_plot_keyword): Don't set past_plot_range here. + Don't accept abbreviations for clear. + (handle_identifier): Don't call is_plot_keyword unless plotting. + Set past_plot_range here, before checking for plot option keywords. + +Fri Nov 18 17:25:59 1994 John Eaton + + * src/data.cc (Fis_struct): New function. + +Thu Nov 17 18:13:56 1994 John Eaton + + * octMakefile.in (DISTFILES): Distribute GCC.PATCH. Don't + distribute LIBG++.PATCH. + + * src/tree-plot.cc (Fclearplot): Turn off grid and reset + plot_line_count to zero. + + * configure.in: Check for sys/resource.h. + Create scripts/strings/Makefile too. + + * src/timefns.cc: Surround inclusion of sys/resource.h in extern "C". + Only include sys/resource.h if both HAVE_SYS_RESOURCE_H and + HAVE_GETRUSAGE are defined. + +Wed Nov 16 09:26:10 1994 John Eaton + + * scripts/plot/plot_opt.m: New function. + * scripts/plot/semilogx.m, scripts/plot/semilogx.m, + scripts/plot/loglog.m, scripts/plot/plot.m: Handle additional + args and format strings. + * scripts/plot/polar.m: Handle format arg. + * scripts/plot/polar_int_1.m, scripts/plot/polar_int_2.m: Extract + from polar_int.m. + * scripts/plot/plot_int_1.m, scripts/plot/plot_int_2.m: Extract + from plot_int.m. + * scripts/plot/plot_2_s_s.m, scripts/plot/plot_2_v_v.m, + scripts/plot/plot_2_m_m.m, scripts/plot/plot_2_v_m.m, + scripts/plot/plot_2_m_v.m: Handle format arg. + + * scripts/strings/strcmp.m: Move here. + * scripts/general/strcmp.m: From here. + + * src/xdiv.cc (result_ok): Issue warning instead of error if warn + is nonzero. + +Tue Nov 15 15:54:19 1994 John Eaton + + * src/tree-plot.cc (Fcloseplot): Clear title and labels too. + + * src/help.cc (keywords): Add entries for all_va_args, + unwind_protect, unwind_protect_cleanup, and end_unwind_protect. + + * liboctave/Makefile.in: Use -include for dependency files. + * src/Makefile.in: Likewise. + +Mon Nov 14 10:28:23 1994 John Eaton + + * src/tree-misc.cc (convert_to_const_vector): Resize vector before + returning. + + * src/lex.l (plot_style_token): Also allow "steps", "boxes", and + "boxerrorbars". + + * src/parse.y (UNWIND): Rename from UNWIND_PROTECT. + (CLEANUP): Rename from UNWIND_PROTECT_CLEANUP. + (command): Allow optsep after UNWIND and CLEANUP tokens. + * src/lex.l (is_keyword): Use new token names + + * src/tree-const.h (tree_constant::all_va_args): New enum. + (tree_constant (tree_constant::all_va_args t)): New constructor. + (is_all_va_args): New function. + (is_empty, is_zero_by_zero, make_numeric_or_magic, + make_numeric_or_range_or_magic): Handle all_va_args type. + * src/tc-rep.h (constant_type::all_va_args): New enum element. + (is_all_va_args): New function. + * src/tc-rep.cc (TC_REP::tree_constant_rep (TC_REP::constant_type), + TC_REP::print_code): Handle all_va_args. + * src/tree-misc.cc (tree_argument_list::convert_to_const_vector): + Handle all_va_args. + * src/tree-expr.cc (tree_index_expression::eval): After call to + tree_argument_list::convert_to_const_vector (), check error_state. + (tree_simple_assignment_expression::eval): Likewise. + (tree_function::octave_all_va_args): New function. + * src/parse.y (ALL_VA_ARGS): New token. + (arg_list): Handle ALL_VA_ARGS. + * src/lex.l (is_keyword): Handle all_va_args. + + * src/tree-expr.cc (tree_identifier::bump_value): Check read-only + status of sym before altering value. + (tree_prefix_expression::eval): Check error_state after call to + tree_identifier::bump_value (). + + * src/variables.cc (bind_nargin_and_nargout): Don't make nargin + and nargout read only. + + * scripts/strings: New subdirectory for string functions. + * scripts/Makefile.in (SUBDIRS): Add strings. + * scripts/strings/strcat.m: New function. + +Fri Nov 11 14:17:31 1994 John Eaton + + * src/load-save.cc (extract_keyword): Allow trailing blanks on the + input line. + +Thu Nov 10 09:53:35 1994 John Eaton + + * scripts/general/reshape.m, scripts/image/ind2gray.m, + scripts/image/ind2gray.m, scripts/image/ind2rgb.m, + scripts/image/rgb2ind.m: unwind_protect do_fortran_indexing. + * scripts/general/strcmp.m: unwind_protect implicit_str_to_num_ok. + * scripts/miscellaneous/menu.m: unwind_protect page_screen_output. + + * src/parse.y (UNWIND_PROTECT, UNWIND_PROTECT_CLEANUP): New tokens. + (command): Handle unwind-protect. + * src/lex.l (is_keyword): Handle unwind_protect, + unwind_protect_cleanup, and end_unwind_protect. + * src/tree-cmd.cc (tree_unwind_protect_command): New class, to + handle unwind-protect. + + * src/token.h (end_tok_type): New field, end_unwind_protect. + + * src/error.cc (verror): Flush pending output to pager here. + (error): Not here. + + * src/tc-rep.cc (force_numeric): Don't jump to top level on error. + * src/tc-rep.cc, src/tc-rep-ass.cc, src/tc-rep-idx.cc: Check + error_state after calls to make_numeric* functions. + + * src/f-lpsolve.cc: Define Flp_solve and Flp_solve_options, not + Flpsolve or Flpsolve_options. + + * src/utils.cc (Ffile_in_path): Define Ffile_in_path, not + Ffile_in_pat. + + * src/f-inv.cc: Add DEFUN for inverse. + +Wed Nov 9 09:30:15 1994 John Eaton + + * src/load-save.cc (read_mat_file_header): Check for mopt < 0 too. + Don't fail if reading mopt fails. + (save_mat_binary_data): Handle range data as a special case. + (get_default_save_format): Also accept `mat-binary' and + `mat_binary'. + (Fsave): Add ios::trunc to flags for opening output file. + + * src/parse.y (func_def2): Stash function name before stashing + file name. + + * src/utils.cc (fcn_file_in_path): Don't append `.m' if the name + already ends in `.m'. + (oct_file_in_path): Likewise, for `.oct'. + + * src/error.cc (usage): Set error state to -1, so we get traceback + information after a call to usage. + + * src/tree-expr.cc (stash_fcn_file_name): Store full name of the + file. + + * scripts/*/*.m: Change messages to say `invalid' instead of + `illegal', since no laws are being broken by using these functions + incorrectly. + + * src/timefns.cc (Fcputime): New function. + * configure.in: Check for getrusage. + + * src/scripts/miscellaneous/tic.m: New function. + * src/scripts/miscellaneous/toc.m: New function. + * src/scripts/miscellaneous/etime.m: New function. + * src/scripts/miscellaneous/is_leap_year.m: New function. + + * src/error.cc (Fwarning, Fusage): New functions. + * scripts/*/*.m: Use them instead of printing warning and usage + messages directly with disp, printf, or fprintf. + + * src/file-io.cc (close_files): Check Pix before using. + (file_count): Delete unnecessary variable. Instead, use + DLList::length to get the number of files in the list. + + * src/sighandlers.cc (install_signal_handlers): Explicitly ignore + SIGPOLL and SIGIO. + +Tue Nov 8 15:26:50 1994 John Eaton + + * scripts/general/logspace.m: Lose fractional part of third arg. + Don't round, for compatibility with Matlab. + * scripts/general/linspace.m: Likewise. + + * liboctave/CMatrix.cc (row_min, row_max, row_min_loc, row_max_loc): + Handle case of row containing only real elements. + (column_min, column_max, column_min_loc, column_max_loc): + Likewise, for columnwise operations. + * src/f-minmax.cc (two-complex-arg min, max): Handle case of both + columns containing only real elements. + + * src/variables.cc (Fclear): Pass 0 to symbol_table::list() for + pats and npats. + +Mon Nov 7 20:22:36 1994 John Eaton + + * liboctave/dColVector.cc (operator +=): Don't return reference to + temporary. + (operator -=): Likewise. + * liboctave/CMatrix.cc (operator +=, operator -=): Likewise. + +Sun Nov 6 23:15:24 1994 John Eaton + + * octMakefile.in (DISTSUBDIRS): Don't use $(SUBDIRS) here. + + * src/load-save.cc (Fsave): Open output file with mode == + ios::out, not ios::in. + +Sat Nov 5 18:18:11 1994 John Eaton + + * configure.in (HAVE_SYS_SIGLIST): Check for sys_siglist variable, + even if it isn't declared in a system header. + * acconfig.h (HAVE_SYS_SIGLIST): Add #undef. + * src/sighandlers.cc (sys_siglist): Define our own if + HAVE_SYS_SIGLIST is not defined, not if SYS_SIGLIST_DECLARED is + not defined. + + * src/tree-plot.cc (Fclearplot): New function. + (clg): Alias for clearplot. + + * src/parse.y (CLEAR): New token. + (statement): Handle PLOT CLEAR as a special case. + * src/lex.l (is_plot_keyword): Handle CLEAR here too. + +Fri Nov 4 08:44:57 1994 John Eaton + + * All: Remove remaining #pragma interface/implementation statements. + + * src/tree-plot.cc (subplot): Move actual code here from .h file. + + * src/tree-expr.cc (tree_expression): Declare destructor virtual. + Delete unnecessary destructors. + + * src/SLStack.h, src/SLStack.cc (operator =): Return reference to + SLStack, not void. + + * src/f-qzval.cc (Fqzval): Rename from Fqzvalue. Change Help + and usage messages too. + + * scripts/plot/plot_int.m: Really figure out if there are any + imaginary parts. + + * scripts/control/are.m: Fix typo. + +Thu Nov 3 18:44:11 1994 John Eaton + + * src/load-save.cc (save_ascii_data): Handle new arg, + strip_nan_and_inf. Change callers. + (strip_infnan): New functions. + (save_three_d): Strip inf and nan values here too. + + * src/tree-plot.h (subplot_using): New data have_values and val. + * src/tree-plot.cc (subplot_using::eval, subplot_using::values): + New functions. + (subplot_style::errorbars): New function. + (subplot::extract_plot_data, subplot::handle_plot_data): New functions. + (subplot::print): Improve handling of data. + +Wed Nov 2 08:11:08 1994 John Eaton + + * src/file-io.cc (do_scanf): If reading from stdin, flush stdout + first. + + * configure.in: Leave some comments in the configure file. + Improve checking for termios.h, termio.h, and sgtty.h. + + * src/variables.cc (install_builtin_variables): DEFVAR realmax and + realmin here. + * src/sysdep.cc: Instead of DEFUNing them here. + + * src/variables.cc (do_who): Accept globbing patterns as args. + (maybe_list): Handle them here. + + * src/symtab.cc (matches_patterns): New function. + (symbol_table::list, symbol_table::long_list): Accept list of + patterns, and use matches_patterns to see if the given string is a + match. Change all callers. + + * src/load-save.cc (read_binary_data): Don't fail if reading + name_len fails. + (do_load): Quit quietly if nothing is left to read. Clean up doc + and name in all cases. + +Tue Nov 1 16:34:20 1994 John Eaton + + * src/lex.l (")"): Set cant_be_identifier to 1 here too. + + * src/tree-plot.cc: Use abbreviations for gnpulot plot, splot, + replot, with, using, and title commands. + +Mon Oct 31 14:26:12 1994 John Eaton + + * src/variables.cc (Fclear): Look in global symbol table for + user-defined function names. + + * src/load-save.cc (do_load): New function. + (Fload): Use it to avoid assigning streams. + (write_binary_header): New function. + (save_vars): New function. + (Fsave): Use it to avoid assigning streams. + + * libcruft/linpack/zgesl.f (zgesl): Comment out unused varialbes + and statement functions. + + * src/sysdep.cc (Fisieee): New function. + (Frealmax, Frealmin): Ditto. + + * scripts/miscellaneous/version.m: New file. + +Fri Oct 28 14:52:08 1994 John Eaton + + * octMakefile.in (distclean): Also delete config.cache and + config.log. + + * Makeconf.in (CPPFLAGS): Allow substitution. + + * configure.in: Use AC_PREFIX_DEFAULT. + + * configure.in: Use AC_CANONICAL_HOST instead of doing this + ourselves. + + * install-sh: Rename from install.sh. + * octMakefile.in (DISTFILES): Distribute install-sh, not install.sh. + +Mon Oct 24 10:04:27 1994 John Eaton + + * octave-bug.in: Print message if bug report appears to have been + mailed successfully. Otherwise, exit with error status. + +Fri Oct 21 14:05:10 1994 John Eaton + + * src/tc-rep-ass.cc (TC_REP::do_vector_assign (rhs, idx-vector)): + Handle all four cases of row/colum mixing. Report an error if the + RHS is a matrix. + + * src/tc-rep-idx.cc (TC_REP::do_index): Don't barf on indexing an + empty matrix with colon(s). + (TC_REP::do_scalar_index): Create index vector with z_len = 1. + (TC_REP::do_matrix_index (Range, tree_constant)): Correctly handle + case of colon as second arg. + + * octave-bug.in: Put mail commands in subshells so error message + really do go away. + +Thu Oct 20 11:05:36 1994 John Eaton + + * octave-bug.in: If passing $SUBJECT on the command line to a + mailer, quote it. Don't assume /bin/mail takes any args other + than a recipient address. Do the right thing if the To: line + changes. + + * src/tc-rep.cc (TC_REP::rows, TC_REP::columns): Return -1 for + anything that doesn't really have rows or columns. + + * src/tc-rep-idx.cc (fortran_style_matrix_index): Check max and + min index values. + + * Makefile.in (FORCE): New phony target. Used instead of .PHONY + to be portable. + + * octave-bug.in: Try harder to mail the message. + + * src/dynamic-ld.cc: Undefine true, false, and boolean after + including kpathse/pathsearch.h. + + * src/sysdep.cc: Include . + +Wed Oct 19 10:28:49 1994 John Eaton + + * configure.in (CXXLIB_LIST, FLIB_LIST, CXXLIB_PATH, FLIB_PATH): + Be careful not to match -l or -L in the middle of a word. + + * src/f-minmax.cc: Correctly handle mixed scalar/matrix args. + + * octMakefile.in: Rename from Makefile.in. + * Makefile.in: New file. For `all' target, print message and + execute make again using octMakefile. For other targets, just + execute make again using octMakefile. + + * configure.in: Check for sys_siglist. + * src/sighandlers.h [! HAVE_SYS_SIGLIST]: Provide an external + declaration. + * src/sighandlers.cc (generic_sig_handler): New function, replaces + most individual signal handler functions. + (sigint_handler, sigpipe_handler): Restore signal handler before + doing anything else. + [! HAVE_SYS_SIGLIST] (sys_siglist): Provide our own definition. + + * config.guess: Update from FSF sources. + +Tue Oct 18 23:36:24 1994 John Eaton + + * flibs.sh: Don't pass -Y P,path. Instead, turn it into a series + of -L dir args. + + * configure.in: Update for autoconf 2.0. + Delete support for --enable-run-in-place (it is too hard to make + this work reliably...). + +Mon Oct 17 11:40:49 1994 John Eaton + + * src/user-prefs.cc (init_user_prefs): Declare to return void, + not int. + + * configure.in: Change quote characters around tr command. Some + systems actually do need the []'s for ranges... + +Sun Oct 16 12:22:14 1994 John Eaton + + * src/tempname.c, src/tmpnam.c: New files. + * src/Makefile.in (SOURCES): Add them. + * src/dirfns.cc: Delete functions extracted from glibc. + + * configure.in (localfcnfiledir, localoctfiledir, imagedir): + New variables. Use them to define localfcnfilepath, + localoctfilepath, and imagepath. + * Makeconf.in: Substitute them here. + + * src/utils.cc (get_fcn_file_names) [WITH_DLD]: Also match .oct + files. + + * dld/find_exec.c (dld_find_executable): Don't be fooled by + directories or other special files in PATH. + (ABSOLUTE_FILENAME_P): Also return true if the name includes a + `/'. This isn't necessarily an absolute path, but we will turn it + into one later. + * src/dynamic-ld.cc (octave_dld_init): Call make_absolute() on + value returned from dld_find_executable(). + +Sat Oct 15 08:35:13 1994 John Eaton + + * flibs.sh: Undo previous change. Only substitute spaces for + commas if it looks like we have output from xlf. Handle -Y and + LD_RUN_PATH using gcc's -Xlinker option. + + * Makefile.in (snapshot-version): Use move-if-change for version.h. + +Fri Oct 14 09:18:08 1994 John Eaton + + * scripts/image/Makefile.in (SOURCES): Don't forget octtopnm.c. + + * Makefile.in (BINDISTFILES): Distribute octave-bug too. + + * configure.in (imagepath): Install at same level as fcnfiledir, + not below it. + + * doinstall.sh: Correctly extract version numbers that are not all + digits. Also install images too. Also install octaverc. Ask + octave for the target host type. Also create site/m and + site/oct directories. Also install octave-bug. + + * scripts/image/Makefile.in (DISTFILES): Distribute demo image + files too. + + * doinstall.sh: Update for new directory organization. + + * src/variables.cc (subst_octave_home): Make it work for multiple + substitutions. + + * flibs.sh: Handle -Y P,path:of:lib:dirs output from f77 on Solaris. + + * src/strfns.cc (Ftoascii): New file, new function. + (Fisstr, Fsetstr): Move here, fromd ata.cc. + + * src/Makefile.in (SOURCES): Include it. + +Thu Oct 13 11:58:03 1994 John Eaton + + * scripts/signal/filter.m: Postpad `b' before reshaping. + + * mkinstalldirs: New file. + * Makefile.in: Distribute it, don't make mkpath. + * All Makefile.in files: Use it instead of mkpath. + + * src/utils.cc (Foctave_tmp_file): New function. + + * src/utils.cc (undo_string_escape): Move here from tc-rep.cc, + rename from undo_string_escapes, and make extern. + (undo_string_escapes): New function, for undoing a whole string. + (Fundo_string_escapes): New function. + + * scripts/miscellaneous/dump_prefs.m, + scripts/miscellaneous/dump_1_pref.m: New functions. + * scripts/miscellaneous/bug_report.m: Record user preferences in a + file and pass the name of the file to octave-bug. Use + octave_tmp_file to generate tmp file name. + * octave-bug.in: Accept a final file-name arg as a file that + contains a list of user-preferences. + +Wed Oct 12 09:09:37 1994 John Eaton + + * configure.in: Redefine archlibdir and octfiledir so that oct + and exec directories are at the same level as the m directory. + Redefine localoctfilepath so that site/oct is a the same level as + site/m. + + * Makeconf.in (F77): Substitute it. + (BUG_CFLAGS, BUG_CXXFLAGS): New vars. + * configure.in: + * scripts/bug_report.m: New file. + * octave-bug.in: New file. + * Makefile.in (DISTFILES): Distribute octave-bug.in. + (dirs_to_make): Add $bindir. + (all): Add octave-bug. + (octave-bug): New target. + (install): Install it. + * src/defaults.h.in: Add defines for bindir. + * src/Makefile.in (defaults.h): Substitute it. + * src/variables.cc (octave_bin_dir): New function. + * src/octave.cc (initialize_globals): Also add $bindir to path. + + * configure.in: Check for gettimeofday. Add AC_TIME_WITH_SYS_TIME. + * src/systime.h: New file. + * src/timefns.h: Use gettimeofday if available. + * src/Makefile.in (INCLUDES): Add systime.h. + +Mon Oct 10 14:34:56 1994 John Eaton + + * src/octave.cc (verbose_flag): New global variable. + (long_opts): Add "verbose". + (usage_string): Update. + (main): Set verbose_flag if given --verbose. + (execute_startup_files): Don't print messages about reading + startup files if verbose_flag is not set. + + * src/tree-expr.cc (apply_mapper_fcn): Handle scalars as a special + case, but then just try to convert other arg types to a matrix. + + * src/f-det.cc (Fdet): Check if arg is complex type, but not + necessarily a complex matrix. + * src/f-schur.cc (Fschur): Likewise, and also for real types. + * src/f-lu.cc (Flu): Likewise. + * src/f-minmax.cc (Fmin, Fmax): Likewise. + +Sun Oct 9 21:04:17 1994 John Eaton + + * src/tc-rep-ass.cc (TC_REP::assign): If LHS is undefined, don't + try to force it to be a numeric type. + +Fri Oct 7 09:05:10 1994 John Eaton + + * configure.in: Define LD_STATIC_FLAG for Alpha OSF/1 1.3 systems. + + * src/tc-rep-idx.cc (TC_REP::do_index): Only work for numeric + types, but don't panic if conversion doesn't work. + * src/tc-rep-ass.cc (TC_REP::assign): Likewise. + + * src/tc-rep.cc (TC_REP::gripe_wrong_type_arg): New function. + + * src/gripes.cc (gripe_wrong_type_arg): Define here. + * src/tree-const.cc: Not here. + +Wed Oct 5 16:24:38 1994 John Eaton + + * src/file-io.cc (do_scanf): Don't panic if string is NULL. + + * src/gripes.cc (gripe_unrecognized_float_fmt): New function. + (gripe_2_or_3_dim_plot): Ditto. + (gripe_unrecognized_data_fmt): Ditto. + (gripe_data_conversion): Ditto. Use it in load-save.cc data + conversion routines that aren't implemented yet. + + * src/load-save.cc (do_double_format_conversion): Don't panic on + unrecognized floating point formats. + (do_float_format_conversion): Likewise. + (write_doubles): Don't panic if data format is unrecognized. + (do_save): Likewise + (install_loaded_variable): Don't panic for unknown symbol types. + (read_binary_data): Also check error_state after calls to read_doubles. + + * src/symtab.cc (symbol_table::rename): Don't panic if symbol + can't be renamed. + * src/parse.y (return_list): Abort parse if renaming results in an + error. + + * src/tree-misc.cc (tree_if_command::eval): Don't panic if all + (all (cond)) is not a scalar. + + * src/tree-expr.cc (tree_unary_expression::print_code): Don't + panic if expression type is unknown. + + * src/tree-plot.cc (tree_plot_command::eval): Don't panic if plot + is not 2 or 3 dimensional. + (tree_plot_command::print_code, subplot::print, save_in_tmp_file): + Likewise. + + * src/variables.cc (alias_builtin): Panic with better message. + (subst_octave_home): Don't panic if OCTAVE_HOME doesn't contain + OCTAVE_PREFIX. + + * src/tc-inlines.h (REP_RHS_MATRIX): Use panic_impossible() + instead of abort(). + (REP_ELEM_ASSIGN, CRMATRIX): Likewise. + + * src/data.cc (Fdiag, make_diag): Do work here. + * src/tc-rep.cc (TC_REP::diag, make_diag): Not here. + * src/tc-rep.h (TC_REP::diag): Delete. + * src/tree-const.h (tree_constant::diag): Delete. + +Tue Oct 4 08:35:37 1994 John Eaton + + * src/f-fft.cc (Ffft): Correctly set n_points for row vectors if + nargin == 1. + * src/f-ifft.cc (Fifft): Likewise. + + * src/load-save.cc (Fsave): Declare file and stream static. + +Mon Oct 3 10:40:50 1994 John Eaton + + * src/tree-expr.cc (octave_va_arg): Correct arg count and index to + match recent change to arg passing/nargin. + (define_param_list): Always set num_named_args = param_list->length (). + + * readline/Makefile.in (install): Don't install libreadline.a by + default. + (uninstall): Now no need to delete it. + + * configure.in (localfcnfilepath, localoctfilepath): Change to + match organization of system fcn and oct files, and enable + recursive searching in both. Enable recursive searching in + $(octfiledir). + (includedir): Change to $(prefix)/include/octave. + +Sun Oct 2 10:14:18 1994 John Eaton + + * configure.in: For now, disable IEEE floating point functions on + the Alpha. This is braindead, but at least prevents divide by + zero crashes... + + * src/file-io.cc (fseek_internal): Use values for origin that + match what we use to define SEEK_SET, SEEK_CUR, and SEEK_END in + variables.cc. + + * dld: Merge various changes for Linux from dld 3.2.4 that is + being distributed with jacal. + + * src/file-io.cc (fwrite_internal): Correct indexing of args. + + * src/tree-expr.cc (apply_mapper_fcn): New function. + (tree_builtin::eval): Use it instead of tree_constant::mapper(). + * src/tree-const.h (tree_constant::mapper): Delete. + * src/tc-rep.cc, src/tc-rep.h (TC_REP::mapper): Delete. + + * src/data.cc (Fcumprod, Fcumsum, Fprod, Fsum, Fsumsq): Do work here. + * src/tc-rep.cc (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, + TC_REP::sum, TC_REP::sumsq): Not here. Delete. + * src/tc-rep.h (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, + TC_REP::sum, TC_REP::sumsq): Delete + * src/tree-const.h (tree_constant::cumprod, tree_constant::cumsum, + tree_constant::prod, tree_constant::sum, tree_constant::sumsq): + Delete. + + * tree-const.h: Don't check gcc minor version number. + * tc-rep.h: Likewise. + + * src/file-io.h (class file_info): Declare here. + * src/file-io.cc: Not here. + + * configure.in (LIBOCTDLD, LIBDLD): Remove ../ prefix. + * Makefile.in (distclean, realclean): Don't remove *.a. + * src/Makefile.in (OCTAVE_LIBS): Correct directory spec for libs. + Build, install, and clean liboctdld.a, not ../liboctdld.a. + * dld/Makefile.in: Build, install, and clean libdld.a, not ../libdld.a. + * info/Makefile.in: Likewise, for libinfo.a. + * kpathsea/Makefile.in: Likewise, for libkpathsea.a. + * libcruft/Makefile.in: Likewise, for libcruft.a. + * liboctave/Makefile.in: Likewise, for liboctave.a. + * readline/Makefile.in: Likewise, for libreadline.a. + + * configure.in (gxx_version): Require 2.6.x or later. Don't + define EXTERNAL_TEMPLATES. Do define NO_IMPLICIT_TEMPLATES. + * liboctave/Array-C.cc, liboctave/Array-d.cc, src/Array-tc.cc, + src/DLList-fi.cc src/SLStack-tok.cc, src/SLStack-ue.cc, + src/SLStack-tm.cc, src/SLStack-pc.cc, src/SLStack-i.cc, + src/SLList-tc.cc, src/SLStack-sym.cc, src/SLStack-ui.cc, + src/SLList-misc.cc, src/SLList-expr.cc, src/SLList-plot.cc, + src/Map-tc.cc: New files. Instantiate templates here. + * libocave/Array.cc, src/Map.cc, src/Stack.cc, src/SLStack.cc: + Not here. Remove #pragma implementation hack. + * liboctave/Array.h, src/Stack.h, src/Map.h, src/SLStack.h: Remove + #pragma interface hack. + * Makeconf.in: Substitute NO_IMPLICIT_TEMPLATES, not + EXTERNAL_TEMPLATES. + (ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS): Use $(NO_IMPLICIT_TEMPLATES), + not $(EXTERNAL_TEMPLATES). + * acconfig.h: Remove USE_EXTERNAL_TEMPLATES #undef. + * src/Makefile.in (XALL_CXX_FLAGS): Delete -fno-implicit-templates. + (TI_SRC, TI_OBJ): New variables. + (libtinst.a): New target. + * liboctave/Makefile.in (TI_SRC): New variable. + (SOURCES): Add it to list. + +Fri Sep 30 09:52:15 1994 John Eaton + + * src/Makefile.in: Automatically generate more lists. + Use := in more places. + * src/Array-C.cc src/Array-d.cc src/Array-tc.cc src/Map-tc.cc + src/Stack-i.cc src/SLStack-pc.cc src/SLStack-sym.cc + src/SLStack-tok.cc src/SLStack-tm.cc src/SLStack-ue.cc: + New template instantiation files. + * configure.in: If using gcc 2.6.x or later, use + -fno-implicit-templates instead of -fexternal-templates. + + * src/tc-inlines.h: Rename from tc-inlines.cc. + + * src/parse.y (looking_at_indirect_ref): New global flag, for + parser feedback. + (tree_indirect_ref_type): New token type. + (TEXT_ID): New token. + (indirect_ref): New non-terminal. + (make_index_expression): New function. + (variable): Use it to build variable from indirect_ref, not just + identifier. + + * src/lex.l (handle_identifier): Handle identifiers differently if + looking at an indirect reference. Add `.' to list of other ops. + + * src/tree-expr.cc (tree_identifier::do_lookup): Handle new + exec_script arg. + (tree_identifier::assign): New functions for assignment to a + strucutre element. + (print_constant): New function. + (tree_identifier::eval, tree_indirect_ref::eval): Use it. + ( + + * src/tree-expr.h (tree_indirect_ref): New class for handling + structure references. + (tree_expression::is_indirect_ref): New virtual function. + (tree_fvc::lookup_map_element): New virtual function. + (tree_index_expression, tree_simple_assignment_expression): + Add new constructors for handling indirect references. + + * src/oct-map.h: New file, for class managing Octave's + structure/map type. + + * src/tree-misc.cc (tree_global::eval): Don't allow individual + structure elements to be tagged global. + + * src/tc-rep.h (tree_constant_rep): Add new field, a_map, and a + new type_tag, map_constant. + * src/tree-const.cc (tree_constant::is_map): New function. + * src/tree-const.cc (tree_constant::map_value, + tree_constant::assign_map_element, tree_constant::make_unique, + tree_constant::lookup_map_element, + tree_constant::make_unique_map_element): New functions. + + * src/Map.h (CHNode::CHNode): Copy key. + (CHNode::~CHNode): Delete it. + (CHMap::contents): Don't declare return value const. + + * src/tc-inlines.cc: Move some macros here from tc-rep.cc so they + can appear in one place and be shared by tc-rep-idx.cc, + tc-rep-ass.cc, and tc-pre.cc. + + * src/tc-rep-idx.cc, src/tc-rep-ass.cc: New files, extracted from + tc-rep.cc to make compilation of tc-rep stuff faster and require + less memory. + + * src/variables.cc (Fwhos): Correctly insert "-long" into arg list + for Fwho. + +Mon Sep 26 12:59:55 1994 John Eaton + + * test/Makefile.in (OCTAVE_SCRIPT_PATH): Append `//' for recursive + searching. + +Fri Sep 23 07:53:13 1994 John Eaton + + * scripts/plot/bar.m: Don't return values if nargout == 0. + * scripts/plot/hist.m: Likewise. + * scripts/plot/stairs.m: Likewise. + + * src/tree-plot.cc (Fishold): New function. + (plot_line_count, parametric_plot, clear_before_plotting): + Declare static. + + * src/f-fft.cc (Ffft): Handle row vector as a special case. + * src/f-ifft.cc (Fifft): Ditto. + +Thu Sep 22 13:20:53 1994 John Eaton + + * src/help.cc (print_symbol_type): New function, extracted from Fwhich. + (Fwhich): Use it. + (Fhelp): Use it to print type info before help message. + + * src/dynamic-ld.cc: Hide all DLD-specific functions behind + #ifdef WITH_DLD. + + * scripts/startup: New directory. + * scripts/startup/Makefile.in: New file. + * scripts/startup/octaverc: New file. Don't overwrite existing + file when nstalling. + * configure.in: Generate Makefile in scripts/startup. + * scripts/Makefile.in (SUBDIRS): Add startup. + * src/defaults.h.in (OCTAVE_STARTUPFILEDIR): New macro. + * src/variables.cc (get_site_defaults): Look for octaverc in + OCTAVE_STARTUPFILEDIR. + + * configure.in (fcnfiledir): Make it end in `//'. + + * src/error.cc (Ferror): Correct indexing error. + + * src/Map.h, src/Map.cc: New files implementing associative arrays. + * src/Makefile.in: Include them in the list of files to distribute + and compile. + +Wed Sep 21 09:50:19 1994 John Eaton + + * Makefile.in (DISTSUBDIRS): Add dld to the list. + + * scripts/plot/hist.m: New function file. + + * src/tc-rep.cc (TC_REP::do_matrix_index (tree_constant, + tree_constant): For case of scalar as first arg, move call to + index check to the TC_REP::do_matrix_index (int, tree_constant) + function. + (TC_REP::do_matrix_index (int, tree_constant): Be compatible with + Matlab for indexing of the form row_vector (0, :). + (TC_REP::do_matrix_index (tree_constant, int): Likewise, for + indexing of the form col_vector (:, 0). + (TC_REP::do_matrix_assignment): Similar changes for assignment. + +Tue Sep 20 17:48:39 1994 John Eaton + + * src/parse.y (return_list, return_list1): New nonterminals. + Rename from func_def1a. Handle variable number of return values. + * src/tree-expr.h (tree_function::vr_list): New field. + * src/tree-expr.cc (delete_vr_list): New function. + (tree_function::octave_vr_val, tree_function::takes_var_return): + New functions, for variable return lists. + (tree_function::define_ret_list, tree_function::eval): Handle vr_list. + (Fvr_val): New function. + * src/tree-misc.h (tree_va_return_list): New list class. + * src/tree-misc.cc (tree_parameter_list::convert_to_const_vector): + Take pointer to tree_va_return_list as arg, and append the values + found there. + + * src/arith-ops.cc (mx_stupid_bool_op): Correctly handle empty + matrices for == and != ops. + + * src/variables.cc (Fis_global): Check args(0), not args(1). + (Fexist): Likewise. + (install_builtin_mapper): Set nargin_max to 1, not 2. + + * src/dynamic-ld.cc (octave_dld_init): Make raw program name + absolute before calling dld_find_executable. + + * src/octave.cc (initialize_error_handlers): New function. + (main): Call init_user_prefs and initialize_error_handlers. + Rearrange order of calls to initialization functions. + + * src/user-prefs.cc (init_user_prefs): New function. + + * src/data.cc (map): Correct condition for assert (). Correct + handling of empty args. + + * src/f-lsode.cc src/f-dassl.cc src/f-quad.cc src/f-npsol.cc + src/f-fsolve.cc: Pass correct number of args to + takes_correct_nargs (). + * src/variables.cc (takes_correct_nargs): Use %s, not %c in format + string. + + * src/f-ifft2.cc src/f-expm.cc src/f-det.cc src/f-svd.cc + src/f-syl.cc src/f-schur.cc src/f-qzval.cc src/f-qr.cc + src/f-pinv.cc src/f-lu.cc src/f-log.cc src/f-inv.cc src/f-hess.cc + src/f-eig.cc src/f-chol.cc src/f-balance.cc src/f-lsode.cc + src/f-dassl.cc src/f-quad.cc src/f-npsol.cc src/f-fsolve.cc: + Correctly handle return value from empty_arg (). + * src/utils.cc (empty_arg): Clarify usage, correct return value if + arg is empty but no message is printed. + + * src/Makefile.in (dist): Delete builtins.cc too. + + * configure.in (DYNAMIC_LD_OBJ): Delete. + * src/Makefile.in (OBJECTS): Don't substitute DYNAMIC_LD_OBJ. + Always include dynamic-ld.o. + + * configure.in: Generate Makefile in scripts/elfun and + scripts/specfun. + + * Makeconf.in (version): Use `:=' and `$(shell )', not just `=' + and backticks, so we only extract the version number once. + +Mon Sep 19 09:04:30 1994 John Eaton + + * src/tc-rep.h (represent_strings_with_doubles): New field in + tree_constant_rep class. + + * tree-misc.cc (tree_argument_list::convert_to_const_vector): + Don't allocate extra arg for function name. + * sysdep.cc, pr-output.cc, input.cc, file-io.cc, error.cc, + tc-rep.cc, tree-expr.cc, f-svd.cc, f-sort.cc, f-schur.cc, + f-rand.cc, f-qzval.cc, f-quad.cc, f-qr.cc, f-qpsol.cc, f-pinv.cc, + f-npsol.cc, f-minmax.cc, f-lu.cc, f-lsode.cc, f-log.cc, f-inv.cc, + f-ifft2.cc, f-ifft.cc, f-hess.cc, f-givens.cc, f-fsolve.cc, + f-fft2.cc, f-fft.cc, f-expm.cc, f-eig.cc, f-det.cc, f-dassl.cc, + f-colloc.cc, f-chol.cc, f-balance.cc, f-syl.cc, variables.cc, + tree-misc.cc, data.cc, octave.cc, utils.cc, defun-int.h: + Change meaning and usage of nargin and args.length() to cope with + above change. This makes nargin mean the same thing in built-in + functions as it does in M-files. + +Sat Sep 17 09:29:08 1994 John Eaton + + * scripts/general/nargchk.m: New function. + +Fri Sep 16 08:48:13 1994 John Eaton + + * Makeconf.in (FLIB_LIST, FLIB_PATH, CXXLIBS, CXXLIB_LIST, + CXXLIB_PATH): Set these. + + * cxxlibs.sh: New file. + * configure.in: Use it to determine extra C++ libraries to link + to. Use sed magic to extract list of libraries and directories + from FLIBS and CXXLIBS. + * Makefile.in: (DISTFILES): Include cxxlibs.sh. + + * configure.in: Change AC_VERBOSE messages to match + autoconf-generated messages. + + * src/dynamic-ld.cc (dld_octave_resolve_reference): Search library + path for list of files to link. + + * src/utils.cc (pathstring_to_vector): Un-#if 0 it. + + * Makefile.in: Install liboctdld.a if not linking to it. + (defaults.h): Substitute FLIB_LIST, FLIB_PATH, CXXLIB_LIST, + CXXLIB_PATH. + +Thu Sep 15 09:31:29 1994 John Eaton + + * Makeconf.in (LD_STATIC_FLAG): Actually substitute LD_STATIC_FLAG. + (ALL_LDFLAGS): Include it here. + + * configure.in: Check for signgam declaration in math.h + * acconfig.h: Add #undef for SIGNGAM_DECLARED. + * src/mappers.h: Provide our own declaration of signgam if + HAVE_LGAMMA but not SIGNGAM_DECLARED. + +Wed Sep 14 11:28:09 1994 John Eaton + + * src/dynamic-ld.cc (mangled_octave_builtin_name, + mangle_octave_oct_file_name, load_octave_builtin, + load_octave_oct_file, init_dynamic_linker): New functions. + [WITH_DLD] (octave_dld_init, dld_octave_resolve_reference, + dld_octave_builtin, dld_octave_oct_file): New functions to handle + details of dynamic linking using dld. + + * src/variables.cc (load_fcn_from_file) [WITH_DLD]: Handle looking + for .oct file to link at run time. + + * src/tree-expr.cc (tree_builtin::tree_builtin): Always init my_name. + (tree_builtin::eval): If no definition, try to load one using + load_octave_builtin(). + + * src/octave.cc (main): Initialize dynamic linking here. + + * src/defun-int.h (DEFINE_FUN_STRUCT, DEFINE_FUN_STRUCT_FUN): + New macros. + * src/defun-dld.h (DEFUN_DLD_BUILTIN): Rename from DEFUN_DLD and + handle case of WITH_DLD && OCTAVE_LITE && MAKE_BUITLINS. + (DEFUN_DLD): Use this for external user-supplied functions that + are intended to be dynamically linked. + + * configure.in: Handle --enable-lite-kernel. Call AC_SUBST for + use_dld and lite_kernel. Define LIBOCTDLD unless doing dynamic + linking and small kernel requested. + * acconfig.h: Add #undefs for OCTAVE_LITE and SMART_PUTENV. + * Makeconf.in: Define WITH_DLD from @use_dld@ and OCTAVE_LITE from + @lite_kernel@. + + * src/octave.cc (Fsystem): Rename from shell_cmd. + (Fshell_cmd): Define as alias to Fsystem. + +Mon Sep 12 20:19:20 1994 John Eaton + + * src/mappers.cc: Include error.h and math.h. + +Sat Sep 10 11:49:11 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Makefile.in: Clean up rules for making distributions. + (DISTDIRS): Distribute kpathsea + +Fri Sep 9 08:46:03 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/dMatrix.cc (pseudo_inverse): New function. + * liboctave/CMatrix.cc (pseudo_inverse): New function. + * src/f-pinv.cc: New file, for pinv(). + * src/Makefile.in (DLD_SRC): Add f-pinv.cc. + (DLD_OBJ): Add f-pinv.o. + * scripts/linear-algebra/pinv.m: Delete. + + * configure.in: Define and substitute $imagepath. + * src/Makefile.in: Substitute OCTAVE_IMAGEPATH. + * src/defaults.h.in: Add OCTAVE_IMAGEPATH. + * src/variables.cc (install_builtin_variables): Define IMAGEPATH. + * src/user-prefs.cc (image_path): New function. + * Makeconf.in (imagepath): substitute it. + + * src/octave.cc (initialize_globals): Ensure that $archlibdir is + in the user's PATH. + + * utils.cc (search_path_for_file, Ffile_in_path): New functions. + + * configure.in: Append `//' to $fcnfiledir, for recursive + searching. + (AC_OUTPUT): Edit makefiles in script subdirectories too. + + * scripts: Regroup function files in the following directories, + each with its own Makefile.in: + + image plot signal control + linear-algebra polynomial special-matrix general + miscellaneous set statistics + + * src/help.cc (simple_help): Use kpathsea functions to find files + in path. + * src/utils.cc (get_fcn_file_names): Likewise. + (pathstring_to_vector): #if 0 out. + +Thu Sep 8 16:59:42 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/Makefile.in (OCTAVE_LIBS): Include ../libkpathsea.a. + * configure.in: Include configure stuff for kpathsea here too. + * Makefile.in (kpathsea): New target. + * src/utils.cc (file_in_path): Use kpathsea function instead of + doing our own searching. + * kpathsea/Makefile.in (lib): Define as ../libkpathsea.a, not just + kpathsea.a. + +Wed Sep 7 09:39:20 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/user-prefs.cc (check_str_pref): Fix comment. + + * src/utils.cc (empty_arg): Check flag == 0, not is_empty > 0. + + * src/f-fft2.cc (Ffft2): New file and function. + * src/f-ifft2.cc (Fifft2): Likewise. + * src/fft2.m, src/ifft2.m: Delete. + + * src/f-fft.cc (Ffft): Handle second arg. Depending on value of + propagate_empty_matrices, return empty matrix for empty arg. + * src/f-ifft.cc (Fifft): Likewise. + + * liboctave/CMatrix.cc (fourier2d, ifourier2d): New functions. + * liboctave/dMatrix.cc (fourier2d, ifourier2d): New functions. + + * src/tree-misc.cc (eval (int, int)): New function. + * src/octave.cc (eval_string, Feval): Handle multiple output args. + + * src/error.cc (suppress_octave_error_messages): New global. + (error): Check it to see if messages should be printed. + * src/octave/cc (Feval): Set it if `catch' arg is supplied. + + * src/octave.cc (Feval): Handle second `catch' arg. + + * src/load-save.cc (read_mat_file_header): Init swap to zero. + + * doc/octave.1: New simple man page. + * doc/Makefile.in: Distribute and install it. + + * src/variables.cc (Fclear): Handle -x option for exclusive clear. + +Tue Sep 6 16:00:34 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/load-save.cc (save_mat_binary_data): New function. + (do_save): Handle LS_MAT_BINARY. + (Fsave): Handle -mat-binary. + (Changes from G. Beyerle .) + + * src/variables.cc (subs_octave_home, octave_arch_lib_dir): + New functions. + (octave_home, octave_info_dir, octave_lib_dir, default_path): + Fix for new directory organization. + + * src/tree-expr.h (tree_multi_val_ret): New class to serve as a + base for objects that can produce more than one value when + evaluated. + (tree_fvc, tree_index_expression, tree_multi_assignment_expression): + Use it as a base. + + * src/parse.y (make_multi_val_re): New function. + (expression): Use it to construct multiple value assignments. + + * configure.in, Makefile.in, Makeconf.in, src/defaults.h.in: + Revamp directory structure used for installed versions of Octave. + + * src/f-schur.cc (Fschur): Correct argument count in error message. + + * src/octave.cc (Fcomputer): New function. + * scripts/computer.in: Delete. + * scripts/Makefile.in: Don't edit or distribute computer.in. + +Thu Sep 1 09:02:06 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/variables.cc (install_builtin_variables): New builtin + variable, OCTAVE_VERSION. + +Tue Aug 30 17:18:14 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * tree-expr.cc: Include string.h + (tree_matrix::eval): Fix handling of strings to work as in 1.0. + +Mon Aug 29 14:55:14 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.l: Handle ".+" and ".-" too. + + * src/dirfns.cc (dir_acess, exists, gen_tempname, tempnam): New + functions from glibc. + * src/utils.cc (octave_tmp_file_name): Use tempnam. + (choose_temp_base_try): Delete. + * configure.in: Check for tempnam. + + * src/load-save.cc (Fsave): Only write floating point format if + doing binary save. + + * liboctave/Array.cc (operator =): Check to see if assignment is + to same object. + +Sun Aug 28 23:32:59 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/CollocWt.cc (CollocWt::init): Call delete [] on vectors. + * liboctave/NPSOL.cc (NPSOL::minimize): Eliminate some memory leaks. + * liboctave/QPSOL.cc (QPSOL::minimize): Likewise. + * liboctave/NLEqn.cc (NLEqn::solve): Likewise. + +Thu Aug 25 09:27:04 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * info/session.c (info_get_input_char): Don't exit immediately if + we see EOF on the input stream. + + * scripts/kurtosis.m, scripts/skewness.m: Update from KH. + +Wed Aug 24 00:19:49 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * dld/Makefile.in, scripts/Makefile.in, doc/Makefile.in, + readline/Makefile.in, info/Makefile.in, libcruft/Makefile.in, + liboctave/Makefile.in, src/Makefile.in (INSTALL, INSTALL_PROGRAM, + INSTALL_DATA): Define here. + * Makeconf.in: Not here. + + * src/tree-plot.cc (send_to_plot_stream): Handle + user_pref.automatic_replot. + * src/variables.cc (install_builtin_variables): + Add DEFVAR for automatic_replot. + * src/user-prefs.cc (automatic_replot): New function. + * src/user-prefs.h (user_preferences): Add automatic_replot to the + list. + + * src/data.cc (Fatan2): Make work for mixed scalar and Matrix args. + (map): New functions for two arg mappers (like atan2). + + * src/f-fsqp.cc: Don't surround everything in FSQP_MISSING, so + that trying to use fsqp will result in a message about fsqp not + being freely redistributable. + * src/f-npsol.cc: Likewise, for NPSOL_MISSING. + * src/f-qpsol.cc: Likewise, for QPSOL_MISSING. + +Tue Aug 23 12:56:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-expr.cc (tree_identifier::eval): Don't call delete for + ans_id. The destructor for tree_simple_assignment_expression does + this now. + + * src/Makefile.in (%.def : %.cc): Use sed, not awk. + (realclean, distclean, local-dist, dist): Delete .d and .def files. + + * liboctave/Array.h (DiagArray::Proxy): Make compilation + conditional on gcc version, not just _AIX. + + * src/utils.cc (octave_tmp_file_name, choose_temp_base_try): New + functions, stolen from GCC. If HAVE_MKTEMP is not defined, just + call tmpnam; otherwise, try harder to please. + * src/tree-plot.cc (save_in_tmp_file): Use it, instead of calling + tmpnam() directly. + * src/file-io.cc (do_scanf): Likewise. + * src/octave-hist.cc (mk_tmp_hist_file): Likewise. + * configure.in: Check for mktemp. + + * src/tree-const.h (is_matrix_type, is_scalar_type): Make private. + * src/tc-rep.h (is_matrix_type, is_scalar_type): Likewise. + + * src/tc-rep.h (force_numeric, make_numeric, + make_numeric_or_magic, make_numeric_or_range_or_magic): Make + private. + (make_numeric_or_range): #if 0 out. + + * src/utils.cc (empty_arg): Correctly set return value. + + * src/arith-ops.cc: Don't include setjmp.h. + * src/utils.cc: Surround setjmp.h with extern "C". + * src/octave.cc: Likewise. + + * src/sighandlers.cc (octave_new_handler): New function. + (install_signal_handlers): Call it. + + * src/f-qzval.cc (Fqzvalue): Don't call make_numeric for args. + Check error state after attempting to extract values. Simplify + where possible. + * src/f-colloc.cc (Fcolloc): Likewise. + * src/f-rand.cc (Frand): Likewise. + * src/f-sort.cc (Fsort): Likewise. + * src/f-find.cc (Ffind): Likewise. + * src/f-minmax.cc (Fmin, Fmax): Likewise. + * src/f-fft.cc (Ffft): Likewise. + * src/f-ifft.cc (Fifft): Likewise. + * src/f-svd.cc (Fsvd): Likewise. + * src/f-inv.cc (Finv): Likewise. + * src/f-det.cc (Fdet): Likewise. + * src/f-eig.cc (Feig): Likewise. + * src/f-lu.cc (Flu): Likewise. + * src/f-hess.cc (Fhess): Likewise. + * src/f-qr.cc (Fqr): Likewise. + * src/f-givens.cc (Fgivens): Likewise. + * src/f-syl.cc (Fsyl): Likewise. + * src/f-log.cc (Flog): Likewise. + * src/f-expm.cc (Fexpm): Likewise. + * src/f-balance.cc (Fbalance): Likewise. + * src/f-schur.cc (Fschur): Likewise. + * src/f-chol.cc (Fchol): Likewise. + * src/f-npsol.cc (Fnpsol, npsol_options): Likewise. + * src/f-fsolve.cc (Ffsolve, fsolve_options): Likewise. + * src/f-dassl.cc (Fdassl, dassl_options): Likewise. + * src/f-lsode.cc (Flsode, lsode_options): Likewise. + * src/f-quad.cc (Fquad, quad_options): Likewise. + * src/tree-expr.cc (tree_matrix::eval): Likewise, while building + matrix. + (tree_colon_expression::eval): Likewise, for elements of range. + * src/variables.cc (is_valid_function, Fis_global, Fexist): + Likewise. + * src/sysdep.cc (Fgetenv, Fpause): Likewise. + * src/octave.cc (eval_string, Fshell_cmd): Likewise. + * src/input.cc (get_user_input): Likewise. + * src/file-io.cc (return_valid_file, fopen_file_for_user, + fgets_internal, fseek_internal, process_printf_format, do_printf, + do_scanf, fread_internal, fwrite_internal, feof_internal): + Likewise. + + * src/tc-rep.cc (TC_REP::string_value): Call error() and return 0 + instead of crashing if not string_constant. + + * src/file-io.cc (fopen_file_for_user): Take string as first arg, + not tree_constant. Change callers. + (fgets_internal, fseek_internal): Correct check for int arg. + (process_scanf_format): Use isspace instead of checking directly + (and incorrectly) for white space characters. + + * src/tree-expr.cc (tree_matrix::eval, tree_unary_expression::eval, + tree_binary_expression::eval, tree_colon_expression::eval, + tree_simple_assignment_expression::eval ): Eliminate uneccesary + conversions to and from Octave_object/tree_constant. + +Mon Aug 22 18:35:05 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/data.cc (Fatan2): New function. + + * src/data.cc (get_dimensions): Don't call make_numeric for args. + Check error state after attempting to extract values. + +Fri Aug 19 08:28:24 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-misc.h (tree_parameter_list::tree_parameter_list)): + Initialize marked_for_varargs to zero. + + * src/load-save.cc: Add float variants of the conversion routines. + (LS_DO_READ): Add swap parameter and only swap bytes if it is true. + (read_doubles): Pass swap to LS_DO_READ. Handle float data. + (LS_DO_WRITE): Copy data to tmp buffer to avoid destroying data. + (do_double_format_conversion): Rename from do_float_format_conversion. + (do_float_format_conversion): New function to handle conversion + for float data. + (read_mat_binary_data): Use read_doules for all cases. Handle + float data. + (too_large_for_float): New function. + (save_binary_data): Save data format for scalars and ranges too. + (read_binary_data): Read data format for scalars and ranges too. + (do_save, save_vars): New arg, save_as_floats. + (Fsave): New option, -float-binary. + + * src/utils.cc (empty_arg): New function. + * src/f-balance.cc (Fbalance): Use it to simplify handling of + empty arguments. + * src/f-chol.cc (Fchol): Likewise. + * src/f-det.cc (Fdet): Likewise. + * src/f-eig.cc (Feig): Likewise. + * src/f-expm.cc (Fexpm): Likewise. + * src/f-fft.cc (Ffft): Likewise. + * src/f-hess.cc (Fhess): Likewise. + * src/f-ifft.cc (Fifft): Likewise. + * src/f-inv.cc (Finv): Likewise. + * src/f-log.cc (Flogm, Fsqrtm): Likewise. + * src/f-lu.cc (Flu): Likewise. + * src/f-qr.cc (Fqr): Likewise. + * src/f-schur.cc (Fschur): Likewise. + * src/f-svd.cc (Fsvd): Likewise. + + * src/tc-rep.cc (tupe_as_string): Move here. + * src/tree-const.cc: From here. + + * src/gripes.cc (gripe_invalid_conversion): New function. + +Thu Aug 18 21:02:19 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/(print_empty_matrix): New function. + * src/pr-output.cc (octave_print_internal): Use it to print empty + matrices. + * src/tc-rep.cc (TC_REP::print_code, TC_REP::print): Rely on + octave_print_internal() to handle printing empty matrices. + + * src/pr-output.cc (octave_print_internal (all variants)): + New arg, pr_as_read_syntax. If nonzero, print the value in a form + that Octave can parse. Declare os as ostream&, not ostrstream&. + * src/tc-rep.cc (TC_REP::print_code): Handle all types, not just + real and imaginary constants. + * src/help.cc (Ftype): Also print values of variables. + +Wed Aug 17 08:46:44 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/octave.cc (Fshell_cmd): Return output if nargout > 0 or + nargin > 2, otherwise, just send output to the pager. + + * src/mappers.cc (xerf, xerfc, xgamma, xlgamma): New functions. + Put preprocessor conditionals here. + (install_mapper_functions): Not here. + +Tue Aug 16 09:55:25 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check for erf, erfc, and lgamma. + * src/mappers.cc (erf, erfc, lgamma): New mappers. + * src/mappers.h (Mapper_fcn): Add new field `name'. + * src/variables.cc (install_builtin_mapper): Save the name. + * src/tc-rep.cc (TC_REP::mapper): Don't crash if a mapper function + is missing. + + * src/tc-rep-1.cc (warn_invalid_conversion): New function. + * src/gripes.cc (gripe_invalid_conversion): New function. + + * src/parse.y (list1, parse_error): New non-terminals. + (list): Use them. + * src/lex.l: Return LEXICAL_ERROR instead of calling + jump_to_top_level. + + * liboctave/Range.cc (matrix_value): New function. + * src/tc-rep.cc (TC_REP::matrix_value): Use it. + + * src/tree-const.h (to_matrix, to_vector, to_scalar): Delete + unecessary functions. + * src/tc-rep.cc (TC_REP::to_matrix, TC_REP::to_vector, + TC_REP::to_scalar): Likewise. Change all callers to use + matrix_value, vector_value, and scalar_value instead. + + * src/tree-const.cc (TC_REP::matrix_value): If at all possible, + produce a matrix from the current constant. Otherwise, print an + error message. Don't abort or jump to the top level. + (TC_REP::scalar_value, TC_REP::complex_scalar_value, + TC_REP::vector_value, TC_REP::complex_vector_value, + TC_REP::complex_matrix_value): Likewise, for appropriate types. + + * src/utils.cc (empty_arg): New function. + * src/f-svd.cc (Fsvd): Use it. Don't call make_numeric; rely on + value functions to do conversion. + + * src/load-save.cc (Fload): Handle -list and -verbose. + +Mon Aug 15 09:32:57 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-rep.cc (TC_REP): New define, so we don't have to write + tree_constant::tree_constant_rep:: everywhere. + * src/tree-const.h (class tree_constant): Nest tree_constant_rep + class inside tree_constant class by including tc-rep.h here. + * src/tc-rep.h: Don't include any other files, delete forward + class declarations. + + * src/tc-rep.h (constant_type): Make private. + + * src/parse.y (arg_list): Use tree_constant::magic_colon in + constructor call, not tree_constant_rep::magic_colon. + * src/tree-const.h (tree_constant::tree_constant + (tree_constant::magic_colon)): Convert arg from + tree_constant_rep::constant_type. + + * src/f-svd.cc (Fsvd): Simplify. + + * src/tree-expr.cc (any_arg_is_magic_colon): Don't use values from + tree_constant_rep::constant_type enum. + (tree_matrix::eval): Likewise. + * src/tree-misc.cc (tree_parameter_list::define_from_arg_vector, + tree_if_clause::eval): Likewise. + * src/tree-cmd.cc (tree_while_command::eval, + tree_for_command::eval): Likewise. + * src/symtab.cc (symbol_record_info::symbol_record_info): Likewise. + * src/f-colloc.cc (Fcolloc): Likewise. + * src/f-npsol.cc (npsol_objective_function): Likewise. + * src/f-chol.cc (Fchol): Likewise. + * src/f-det.cc (Fdet): Likewise. + * src/f-eig.cc (Feig): Likewise. + * src/f-expm.cc (Fexpm): Likewise. + * src/f-fft.cc (Ffft): Likewise. + * src/f-find.cc (Ffind): Likewise. + * src/f-hess.cc (Fhess): Likewise. + * src/f-ifft.cc (Fifft): Likewise. + * src/f-inv.cc (Finv): Likewise. + * src/f-log.cc (Flog): Likewise. + * src/f-lu.cc (Flu): Likewise. + * src/f-minmax.cc (Fmin, Fmax): Likewise. + * src/f-qr.cc (Fqr): Likewise. + * src/f-rand.cc (rand): Likewise. + * src/f-schur.cc (schur): Likewise. + * src/f-sort.cc (Fsort): Likewise. + * src/f-svd.cc (Fsvd): Likewise. + + * src/f-lu.cc (Flu): Handle case of nargout == 0 the same as + nargout == 1. + + * src/tree-const.h (force_numeric): Don't return type info. + * src/tc-rep.cc (tree_matrix::eval): Ditto. + * src/tree-expr.cc (tree_matrix::eval): Don't use return value + from tree_constant::force_numeric(). + + * src/tree-const.h (is_magic_colon): New function. + * src/tc-rep.h (is_magic_colon): New function. + + * src/load-save.cc (ascii_save_type): New function. + (save_binary_data, save_ascii_data, save_three_d): Don't use + values from tree_constant_rep::constant_type enum. Fail if write + is unsuccessful. Fail but don't panic if type is unrecognized. + (save_vars): Check error state after call to do_save(). + + * src/tc-rep.cc (isstr): Delete, since we have is_string. + * src/tree-const.h (isstr): Ditto. + * src/data.cc (Fisstr): Use is_string(), not isstr(). + +Sun Aug 14 16:12:10 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/load-save.cc (save_type): Add LS_U_INT, LS_CHAR and LS_FLOAT. + (get_save_type): Handle them. + (read_doubles, write_doubles): Likewise. + + * src/load-save.cc (get_floating_point_format): New function. + (read_mat_binary_data, read_binary_file_header): Use it. + + * src/lex.l: Combine {D}+\.{D}*{EXPON}?{Im} and {D}+{EXPON}?{Im} + patterns into the single pattern {D}+\.?{D}*{EXPON}?{Im} + Likewise, combine {D}+\.{D}*{EXPON}? and {D}+{EXPON}? into the + single pattern {D}+\.?{D}*{EXPON}? + ({D}+/\.[\*/\\^']): New pattern to force expressions like `1./m' + to be parsed the same as `1 ./ m'. + + * src/tree-expr.cc (do_lookup): Correctly set script_file_executed. + + * src/octave.cc (long_opts): Add --silent as an alias for --quiet, + and --ignore-init-file as an alias for --norc. + + * src/octave.cc (verbose_usage): Exit successfully to conform to + the GNU coding standards. + +Sat Aug 13 11:06:23 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/dirfns.cc (chdir): New alias for cd. + + * src/lex.l (")"): Set convert_spaces_to_comma. + + * src/*.cc: Use tree_constant::is_string(), not + tree_constant::is_string_type(). + + * src/f-balance.cc (Fbalance): Use is_string() rather than + checking const_type() against tree_constant_rep::string_constant. + + * src/tc-rep.h (tree_constant_rep::is_string_type): Delete. + * src/tree-const.h (tree_constant::is_string_type): Delete. + + * src/Makefile.in (%.def : %.cc): Complain if generated file is + empty. + + * configure.in (gcc_version): Set LDFLAGS to -g, not "-g -O". + + * src/lex.l (looks_like_bin_op): Also return true for things like + [ 1+ 2 ]. + + * src/data.cc (Feye, Fones): With no args, return 1.0. + (Fzeros): With no args, return 0.0. + + * src/Makefile.in (XALL_CXXFLAGS): ALL_CXXFLAGS without + -fextternal-templates. + (%.def : %.cc): Use it instead of ALL_CXXFLAGS. + + * configure.in: Don't use -O for compiling float-type.c. + + * libcruft/misc/Makefile.in (XCC): Use patsubst to delete any -O# + flags, not just -O. + +Fri Aug 12 18:20:35 1994 John Eaton (jwe@schoch.che.utexas.edu) + + Changes for binary load/save, and reading .mat files: + + * src/variables.cc (is_globally_visible): Declare extern, not + static. + + * src/user-prefs.cc (sv_default_save_format): New function. + * src/user-prefs.h (default_save_format): New field in + user_preferences struct. + src/variables.cc (install_builtin_variables): Add DEFVAR for + default_save_format. + + * src/tc-rep.h (tree_constant_rep::is_unknown, + tree_constant_rep::is_scalar, tree_constant_rep::is_matrix, + tree_constant_rep::is_complex_scalar, + tree_constant_rep::is_complex_matrix, + tree_constant_rep::is_string, tree_constant_rep::is_range): + New functions. + + * src/tree-const.h (tree_constant::is_unknown, + tree_constant::is_scalar, tree_constant::is_matrix, + tree_constant::is_complex_scalar, tree_constant::is_complex_matrix, + tree_constant::is_string, tree_constant::is_range): + New functions. + + * src/tc-rep.cc (tree_constant_rep::save, + tree_constant_rep::save_three_d): Move to load-save.cc and convert + to nonmember functions. + + * src/tree-const.h (tree_constant::save, + tree_constant::save_three_d): Delete functions. + + * src/tree-plot.cc (save_in_tmp_file): Call nonmember functions + save_ascii_file and save_three_d instead of tree_constant class + member functions. + + * src/symtab.cc (symbol_table::glob): New function. + (symbol_table::save, symbol_record::save, symbol_def::save): + Delete unneeded functions. + + * src/load-save.cc: New file, for load/save related functions + extracted from src/variables.cc and src/tc-rep.cc. + + * src/error.cc (verror): Don't print name if it is null. + +Tue Aug 9 14:31:43 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/file-io.cc (process_printf_format): Use + tree_constant::is_scalar_type() and is_string_type() functions + instead of comparing directly with elements of the + tree_constant_rep::constant_type enum. + * src/variables.cc (builtin_real_scalar_variable): Likewise. + (install_loaded_variable): Likewise. + + * src/tree-plot.cc (open_plot_stream): New function. + (send_to_plot_stream): Use it. Do our own check for replot with + nothing to plot. + (tree_plot_command::eval): Open plot stream before doing anything. + + * src/data.cc (check_dimensions): When changing negative + dimensions to zero, handle nr and nc separately. + +Mon Aug 8 20:18:17 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * variables.cc (is_valid_fcn): Use lookup_by_name() instead of + looking in the global symbol table directly. + + * variables.cc (load_variable): Move code here. + * src/tc-rep.cc (tree_constant_rep::load): From here. + * src/tree-const.h (tree_constant::load): Delete. + + * src/tree-plot.cc: Derive classes from tree_print_code and + implement print_code() member functions. + + * src/tree-plot.cc (subplot_list::print): New function. + (tree_plot_command::print): Use it, and don't crash if plot_list + is null. + + * scripts/axis.m: New function file. + +Sun Aug 7 17:06:16 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check for size of short, int, and long. + + * float-type.c: New file. + * configure.in: Use it to determine the native floating point + format. + * Makefile.in: Add it to the list of files to distribute. + * acconfig.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN, VAX_D_FLOAT, + VAX_G_FLOAT): Add #undefs. + +Sat Aug 6 18:23:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * config.guess: Update with new copy from gcc 2.6.0. + + * src/*.cc, src/*.h, src/*.l, src/*.y: Eliminate need for tree.h. + * src/Makefile.in (INCLUDES): Delete it from the list. + + * src/token.cc (token::token (double)): Handle saving original + text of constants for later use by print_code() functions. + (token::~token): Delete original text. + (token::text_rep): New function. + * src/lex.l: Save original text for NUM and IMAG_NUM tokens. + * src/parse.y: Likewise. + + * src/parse.y (yyerror): Use the pager. + + * src/tree-base.h (tree_print_code): New base class for trees and + lists of trees. + (tree): Derive from tree_print_code. + * src/tree-base.cc: New file, for tree_print_code functions, and + for initializing tree_print_code static members. + * src/tree-const.cc, src/tc-rep.cc, src/tree-plot.cc, + src/tree-expr.cc, src/tree-cmd.cc (all tree classes): + Provide print_code() member function. + * src/tree-misc.cc: Also derive list classes from tree-base.h and + provide print_code() member functions. + + * src/help.cc (Ftype, Fwhich): New functions. + + * src/octave-hist (do_history): Send history output through the + pager. + + * src/variables.cc (do_who, Fwhos): New functions. + + * src/tree-expr.h (tree_expression::in_parens): Declare here. + (tree_simple_assignment_expression::in_parens): Not here. + * src/parse.y (maybe_warn_assign_as_truth_value): Eliminate cast. + + * src/variables.cc (load_fcn_from_file, lookup, lookup_by_name): + New functions, extracted from tree_identifier class. + (gobble_leading_whitespace, is_function_file, parse_fcn_file): + Move here from tree-expr.cc. + * src/help.cc (Fhelp): Use lookup_by_name so that looking up + symbols is handled in a consistent way. + + * tree-expr.cc (tree_unary_expression::oper, + tree_binary_expression::oper, tree_prefix_expression::oper, + tree_postfix_expression::oper): New functions. + + * tc-rep.cc (valid_scalar_indices): Define here. + * tc-inlines.cc: Not here. + + * src/tree-const.h (tree_constant::stash_original_text): New + function. + * src/tc-rep.cc (tree_constant_rep::stash_original_text): Ditto. + (undo_string_escapes): Ditto. + + * src/tc-rep (tree_constant_rep::do_matrix_index): Don't just + return *this. + * src/tree-const.h (tree_constant::tree_constant (tree_constant_re&)): + Delete. + + * src/pager.cc (open_diary_file, close_diary_file, + maybe_write_to_diary_file, Fdiary): New functions. + (flush_output_to_pager): Call maybe_write_to_diary_file before + sending output to the screen. + * src/input.cc (octave_gets): Call maybe_write_to_diary file to + save the prompt and the user input. + * src/error.cc (verror): Use C++ streams, not C I/O functions. + Call maybe_write_to_diary file to save error messges too. + * src/octave.cc (clean_up_and_exit): Close diary file here. + + * src/octave.cc (main): Initialize pager first. + + * src/input.cc (get_user_input): Return empty matrix for no input. + + * src/tree-plot.cc: Include readline/tilde.h instead of declaring + tilde_expand() directly. + * src/utils.cc: Likewise. + + * src/tree-plot.cc (tree_plot_command::print_code): New function. + * src/tree-const.h (tree_constant::print_code): Likewise. + + * src/tree-expr.h (tree_simple_assignment_expression::ans_ass): + New data member to flag assignments to ans. + * src/tree-expr.cc (tree_identifier::eval): Set it when + constructing assignments to ans. + * src/parse.y (maybe_convert_to_ans_assign): Likewise. + + * src/tree-expr.h (tree_simple_assignment_expression::preserve): + New data member to allow preserving left hand side args that + shouldn't be deleted in some cases (ugh). + * src/tree-expr.cc (tree_multi_assignment_expression::eval): + Create assignment with preserve flag set. + +Wed Aug 3 14:27:25 1994 John Eaton (jwe@schoch.che.utexas.edu) + + Yet another massive reorganization of sources, once again + hopefully for the better. A fair amount of work is not detailed + here, but these are the major points. The grammar file and the + derivation of the tree classes are somewhat cleaner now. + + * src/parse.y: Cope with changes to derivation scheme. + + * src/tree-misc.cc: New file. + (tree_statement, tree_global): New classes. + (tree_global_init_list): New class, derived from SLList for the + list of expressions in a global command. + * src/tree-cmd.cc (tree_global_command): Use tree_global_init_list. + + * src/tree-misc.cc (tree_argument_list): Move here from + tree-expr.cc, and derive from SLList instead of tree. + (tree_parameter_list): Likewise. + (tree_return_list): Likewise. + + * src/tree-cmd.cc (tree_command_list): Delete class. + * src/tree-misc.cc (tree_statement_list): New class for keeping a + list of commands or expressions to evaluate. Derive from SLList, + not tree. + + * src/tree-plot.cc (subplot_list, plot_limits, plot_range, + subplot_using, subplot_style): Rename from tree_*, and + don't derive from tree class. + + * src/tree-plot.cc: Eliminate eval member function for classes not + derived from tree class. + + * src/tree-plot.cc, src/tree-cmd.cc: For classes derived from + tree-command, the eval() member function is now void eval (void). + + * src/tree-base.h (tree::tree): New constructor, to initialize the + line and column info. For all classes that are derived from the + tree class, use it instead of manipulating the data directly. + (line_num, column_num): Make private. + + * src/tree-expr.cc (tree_simple_assignment_expression::preserve): + New data member, set in constructors and used by the destructor + when the left-hand side of the expression should not be deleted + (as for some temporary assignments not constructed in the parser). + + * src/tree-expr.h (tree_expression::type) Rename and move here from + tree-base.h. Change all uses. + (tree_matrix::dir): Likewise. Change all uses. + + * src/utils.cc (make_argv): Stash function name in argv[0]. + + * src/octave.cc (global_command): Declare as tree_statement_list, + not tree. + + * src/parse.y (make_binary_op, make_unary_op, make_prefix_op, + make_postfix_op): New functions. + + * src/parse.y (GLOBAL): Make it a tok_val type. + * src/lex.l (is_keyword): Give GLOBAL a value. + +Mon Aug 1 22:37:22 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.l (grab_help_text): Unput the last character read. + +Sun Jul 31 21:17:07 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/pr-output.cc (set_format (double, int&)): Avoid calling + log10 for Inf and NaN. + +Fri Jul 29 16:08:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/octave.cc (reading_startup_message_printed): New flag. + (parse_and_execute): New arg, verbose. If true, print name of + file as it is read. + (execute_startup_files): Don't print message if + inhibit_startup_message is true. + (main): Move startup message before reading init files. + +Thu Jul 28 00:25:42 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Makefile.in (MATRIX_INC): Delete CmplxColVec.h from list. + + * src/symtab.cc (symbol_table::rename): New function. + * src/parse.y (func_def2): Use it instead of tree_identifier::rename. + * src/tree-expr.cc (tree_identifier::rename): Delete unused function. + + * src/tree-expr.cc (tree_identifier::load_fcn_from_file): New function. + (tree_identifier::do_lookup): Use it instead of parse_fcn_file. + * src/variables.cc (is_valid_function): Ditto. + * src/help.cc (Fhelp): Ditto. + + * src/utils.cc (oct_file_in_path): New function. + +Wed Jul 27 08:59:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-expr.cc (tree_identifier::parse_fcn_file): Combine + three functions into one. + + * src/utils.cc: Delete uneeded declaration of ioctl(). + * src/sysdep.cc: Likewise. + + * install.sh: New file, from autoconf distribution. + * Makefile.in (DISTFILES): Distribute it. + +Tue Jul 26 16:08:58 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/Makefile.in (DISTDIRS): New variable, for directories + below scripts to distribute. + (dist): Handle distributing whole directories named by $(DISTDIRS). + (local-dist): Ditto. + +Mon Jul 25 12:57:09 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/CmplxQRP.cc: Provide declaration for zungqr. + * liboctave/dbleQRP.cc: Provide declaration for dorgqr. + + * src/Makefile.in (dist): Also remove y.output and defaults.h. + (local-dist): Ditto. + (realclean): Ditto. + + * src/oct-obj.h (Octave_object::Octave_object (int)): Make + private, to avoid problems with different meanings of + Octave_object (int) and Octave_object (double) constructors. + + * scripts/amr-image: New files for image processing from Tony + Richardson. These are not in the default octave LOADPATH yet. + See the README file in the amr-image directory for more info on + how to use them. + + * src/octave.cc (Fshell_cmd): Restore accidentally deleted + function. + + * scripts/conv-amr.m, scripts/deconv-amr.m, scripts/roots-amr.m, + scripts/poly-amr.m, scripts/roots-tuwien.m, scripts/conv-tuwien.m, + scripts/deconv-tuwien.m, scripts/poly-tuwien.m: + New files. + FIXME -- For each of these functions, either one of the + versions will need to be selected, or they will need to be merged + before the next release. + + * scripts/null.m, scripts/orth.m, scripts/fft2.m, scripts/ifft2.m, + scripts/filter.m, scripts/compan.m, scripts/polyderiv.m, + scripts/polyinteg.m, scripts/polyreduce.m, scripts/polyval.m, + scripts/polyvalm.m, scripts/postpad.m, scripts/prepad.m, + scripts/residue.m, scripts/sinc.m, scripts/freqz.m, + scripts/complement.m, scripts/intersection.m, + scripts/create_set.m, scripts/union.m: + New files. + + * scripts/hilb.m: Eliminate inner loop, for speed. From + romolo@URSAMAJOR.ENG.UNIPR.IT (Romolo Manfredini). + +Sun Jul 24 22:08:48 1994 Castor Fu (castor@drizzle.stanford.edu) + + * libcruft/ranlib/genf.f (genf): Use 1.2E-38 instead of 1.0E-38 + when checking to see if generated numbers will cause overflow. + This helps DEC's f77 compiler on the Alpha, which refuses to + generate denormalized constants. + * libcruft/ranlib/gennf.f (gennf): Likewise. + +Fri Jul 22 10:27:00 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/Makefile.in (DEF_FILES): Depend on defun header files too. + +Thu Jul 21 14:40:30 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/NLFunc.h (nonlinear_fcn): Declare as pointer to + function taking const ColumnVector arg. + (jacobian_fcn): Ditto. + + * src/defun-int.h (DEFINE_ARGV): Declare and define save_argc and + save_argv for functions that mess with argc and argv directly. + (DELETE_ARGV): Use save_argc and save_argv instead of argc and argv. + + * src/f-lsode.cc (ODE_OPTIONS): Add const qualifier for string elts. + (print_lsode_option_list): Declare keyword as const char *. + * src/f-npsol.cc, src/f-qpsol.cc, src/f-dassl.cc, src/f-quad.cc: + Likewise, for corresponding structs and functions. + + * liboctave/dbleSVD.h (SVD::type): New enum, for choosing type of + factorization. + * liboctave/CmplxSVD.cc (SVD::SVD): Add new optional arg for type. + (init): Handle case of type == SVD::economy. + * liboctave/dbleSVD.cc: Likewise. + + QR changes from R. Bruce Tenison (btenison@eng.auburn.edu) adapted + for new way of defining builtin functions: + + * doc/linalg.texi: Changed QR description to include QRP + factorization + + * src/f-qr.cc (Fqr): Handle permuted and economy QR + factorizations. Handle case of 1 output arg. + + * liboctave/Makefile.in (MATRIX_INC, MATRIX_SRC): Add new QRP files. + + * liboctave/dbleQRP.h, liboctave/dbleQRP.cc, liboctave/CmplxQRP.h, + liboctave/CmplxQRP.h: New files, for QR with pivoting. + + * liboctave/dbleQR.h (QR::type): New enum, for choosing type of + factorization. + * liboctave/CmplxQR.cc (QR): Add new optional arg for type. + Handle case of type == SVD::economy and SVD::raw. + * liboctave/dbleQR.cc (QR): Likewise. + + * libcruft/lapack/dgeqpf.f: New file. + * libcruft/lapack/zgeqpf.f: Ditto. + +Wed Jul 20 13:12:55 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/*.cc, liboctave/*.h: Various cleanups to remove use of + NULL. Only mention default argument values in function + declarations, not in their definitions (required for gcc 2.6.x). + + * configure.in: If configuring for alpha-dec-osf, check for sgtty + first. If not found, go ahead and check for Posix terminal driver. + +Tue Jul 19 09:25:45 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/mx-defs.h (FILE): Don't declare as struct FILE just to + avoid including stdio.h. + * liboctave/dMatrix.cc: Do include stdio.h here. + + * liboctave matrix classes: Declare operator>> correctly, and + return istream object. Get friend stuff right. + + * liboctave/DAE.cc (DAE::integrate): To see if the user provided a + Jacobian function, call DAEFunc::jacobian_function (). + + * liboctave/DAE.cc (user_fun, user_jac): Qualify with class name. + * liboctave/ODE.cc (user_fun, user_jac): Ditto. + + * liboctave/DAFunc.h (DAEJac): Declare inside class. + (DAERHSFunc, DAEJacFunc): Define types inside class. + * liboctave/ODEFunc.h (ODERHSFunc, ODEJacFunc) Likewise. + + Massive reorganization of sources, hopefully for the better. + A fair amount of work is not detailed here, but these are the + major points... + + * src/symtab.h (symbol_def::TYPE) Add new elements for recording + whether a symbol is a text function or mapper function. + * src/symtab.cc (symbol_def::is_text_function, + symbol_record::is_text_function, symbol_def::is_mapper_function, + symbol_record::is_mapper_function): New functions. + Modify existing is_* functions to cope with these changes. + (symbol_def::symbol_def (tree_builtin*, unsigned)): New 2nd arg. + (symbol_def::symbol_def (tree_function*, unsigned)): Ditto + (symbol_def::define (tree_builtin*, unsigned)): Ditto. + (symbol_def::define (tree_function*, unsigned)): Ditto. + * src/variables.cc (is_text_function_name): Use the new symbol + table functions, since we can no longer tell by looking in a + simple list. + + * tree-expr.cc (class tree_builtin): Text functions are no longer + handled as a special case here. + + * src/sysdep.cc (octave_ieee_init): Special case Alpha for + initializing Inf and NaN. + + * src/tc-rep.cc: Use const in more places. + + * src/data.cc src/timefns.cc, src/dirfns.cc, src/dirfns.h: New + files. + + * src/*.cc, src/*.y, src/*.l, src/*.h: Various cleanups to remove + use of NULL. Only mention default argument values in function + declarations, not in their definitions (required for gcc 2.6.x). + + * src/g-builtins.cc, src/g-builtins.h, src/t-builtins.cc + src/t-builtins.h: Removed. Functions moved to various other + files, where they more logically belong. + * src/utils.cc: Likewise, various functions moved to other files, + where they more logically belong. + * src/mappers.cc (install_mapper_functions): Declare all mapper + functions here with the new DEFUN_MAPPER() macro. + * src/variables.cc (install_builtin_variables): Declare all + builtin variables here, with the new DEFVAR() macro. + + * src/f-*.h: Deleted. + * src/f-*.cc: Delete #ifdef WITH_DLD code and use DEFUN_DLD() + instead to declare builtin functions that will be dynamically + loaded. Give all functions a uniform return type and argument + list. + + * src/mkdefs, src/mkbuiltins: New scripts. + * src/Makefile.in: Use them to generate builtins.cc automatically + from source files that use DEFUN. + + * src/defun.h, src/defun-dld.h, src/defun-int.h: New files, to + define DEFUN() and DEFVAR() macros to make it possible to define + functions together with their help strings in one place. The code + to install functions in the symbol table is now generated by + mkbuiltins. + + * configure.in (LIBOCTDLD): New variable to define. + Only call AC_VERBOSE() for DYNAMIC_LD_OBJ, DLD_DIR, LIBDLD, + LIBOCTDLD, and LD_STATIC_FLAG if they are set. + * move-if-change: Move here, from src/move-if-change. + * Makeconf.in (%.d: %.cc): Echo simple message instead of the + commands actually executed. + (%.d: %.c): Likewise. + + * src/unwind-prot.h: Include stddef.h, for size_t. + +Tue Jul 12 12:51:25 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/f-eval.cc, src/f-fill.cc, src/f-find.cc, src/f-input.cc, + src/f-minmax.cc, src/f-log.cc, src/f-sort.cc, src/f-eval.h, + src/f-fill.h, src/f-find.h, src/f-input.h, src/f-log.h, + src/f-minmax.h, src/f-sort.h: New files, for functions extracted + from tree-const.cc. + * src/Makefile.in: Add them to the list of INCLUDES, SOURCES, and + OBJECTS. + + * src/f-*.cc: Clean up things a bit by letting the compiler + generate the tree_constant constructor calls. + + * src/unwind-prot.h: Include stddef.h, for size_t. + + * src/oct-obj.h (Octave_object (int, const tree_constant&)): + New constructor form. + * src/tree-const.cc (find_nonzero_elem_idx): Rewrite to handle 2 + and 3 return values. + + * src/g-builtins.cc (builtin_find): Check nargout too. + * src/builtins.cc (general_functions): Fix help message for find. + +Mon Jul 11 13:36:15 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-rep.cc (tree_constant_rep::convert_to_row_or_column_vector): + If already have a row or column vector, return without doing + anything. + +Sat Jul 9 01:02:51 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/oct-obj.h (Octave_object): Make it a class, not just a + typedef. + + * src/tree-expr.h (tree_function::curr_va_arg_number): Rename from + curr_arg_number. + (tree_function::varargs_ok): Delete unused member variable. + * src/tree-expr.cc (tree_function::octave_va_arg): Increment + cur_va_arg_number before indexing args_passed. + (tree_function::octave_va_start): Set curr_va_arg_number to + num_args_passed, not num_args_passed + 1. + (tree_function::takes_varargs): Call param_list::takes_varargs, + don't just return varargs_ok. + (tree_function::define_param_list): If param_list is not NULL, set + num_named_args and curr_va_arg_number even if function doesn't + take varargs. + + * src/tree-expr.cc (tree_identifier::eval (int)): Only pass empty + arg list if evaluating a constant. + (tree_function::eval (int)): Always pass least one arg. + + * Makeconf.in (TMP_IF_1): Add `-I../src'. + (TMP_IF_2): Add `-I$(TOPDIR)/src' and `-I$(top_srcdir)/src'. + + * src/t-builtins.h, src/variables.h, src/file-io.h, src/f-syl.h, + src/f-svd.h, src/f-schur.h, src/f-rand.h, src/f-qzval.h, + src/f-quad.h, src/f-qpsol.h, src/f-npsol.h, src/f-lsode.h, + src/f-lpsolve.h, src/f-hess.h, src/f-givens.h, src/f-fsqp.h, + src/f-fsolve.h, src/f-eig.h, src/f-dassl.h, src/f-colloc.h, + src/f-balance.h, src/dynamic-ld.h, src/builtins.cc, + src/tree-const.cc, src/file-io.cc, src/f-syl.cc, src/f-svd.cc, + src/f-schur.cc, src/f-rand.cc, src/f-qzval.cc, src/f-qr.cc, + src/f-qpsol.cc, src/f-lu.cc, src/f-lpsolve.cc, src/f-inv.cc, + src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, + src/f-fft.cc, src/f-expm.cc, src/f-eig.cc, src/f-det.cc, + src/f-colloc.cc, src/f-chol.cc, src/f-balance.cc, + src/dynamic-ld.cc, src/f-dassl.cc, src/f-fsolve.cc, + src/f-lsode.cc, src/f-npsol.cc, src/f-quad.cc, src/tree-expr.h, + src/tc-rep.cc, src/tc-inlines.cc, src/tc-rep.h, src/tree-const.h, + src/g-builtins.cc, src/g-builtins.h, src/tree-expr.cc, + src/variables.cc: Delete nargin in favor of using args.length(). + + * configure.in: Check for struct exception in math.h. + * src/sysdep.cc (matherr): New function. + +Fri Jul 8 15:31:53 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-rep.cc: Include arith-ops.h. + (tree_constant_rep::do_scalar_index): Use `invalid', not `illegal' + in messages. + + * src/oct-obj.h: Protect contents from multiple inclusion. + + * src/tree-const.h, src/tree-expr.h: Don't include Array.h. + + * src/parse.y (param_list): Allow ELLIPSIS by itself. + * src/tree-expr.cc (tree_identifier::mark_varargs_only, + tree_identifier::vararg_only): New functions. + (tree_function::eval): Only call define_from_arg_vector if + param_list is non-null and not marked as varargs_only. + + * src/f-balance.h, src/f-chol.h, src/f-colloc.h, src/f-dassl.h, + src/f-eig.h, src/f-fsolve.h, src/f-fsqp.h, src/f-givens.h, + src/f-hess.h, src/f-lpsolve.h, src/f-lsode.h, src/f-lu.h, + src/f-npsol.h, src/f-qpsol.h, src/f-qr.h, src/f-quad.h, + src/f-qzval.h, src/f-rand.h, src/f-schur.h, src/f-svd.h, + src/f-syl.h: Include oct-obj.h, not tree-const.h to get + declaration of Octave_object. + + * src/f-givens.cc (givens): Handle case of nargout == 0. + Use `invalid', not `illegal' in messages. + * src/f-balance.cc (balance): Likewise. + + * src/f-balance.cc (balance): Print warning about two output + arguments for complex-valued case too. + + * src/tc-rep.cc: Include arith-ops.h. + +Thu Jul 7 20:54:12 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/parse.y (identifier): Add missing semicolon. + (param_list): Ditto. + + * src/f-svd.cc (svd): Handle nargout == 0 the same as nargout == 1. + * src/f-schur.cc (schur): Likewise. + * src/f-hess.cc (hess): Likewise. + * src/f-eig.cc (eig): Likewise. + * src/f-syl.cc (syl): Likewise. + * src/f-qzval.cc (qzvalue): Likewise. + * src/f-npsol.cc (npsol): Likewise. + * src/f-qpsol.cc (qpsol): Likewise. + * src/f-givens.cc (givens): Likewise. + * src/f-fsolve.cc (fsolve): Likewise. + * src/f-balance.cc (balance): Likewise. + * src/file-io.cc (process_scanf_format): Likewise. + * src/g-builtins.cc (builtin_balance, builtin_chol, builtin_dassl, + builtin_eig, builtin_fsolve, builtin_fsqp, builtin_lsode, + builtin_max, builtin_min, builtin_npsol, builtin_qpsol, + builtin_quad, builtin_rand, builtin_size, builtin_sort, + builtin_svd, builtin_schur, builtin_syl, builtin_givens, + builtin_hess): Likewise. + * src/tree-const.cc (vector_of_empties, column_max, column_min): + Likewise. + + * src/variables.h, src/symtab.h: Include builtins.h for typedefs. + + * src/tree-expr.cc(tree_multi_assignment_expression::eval): Rework + handling of undefined values returned from functions. + + * src/tree-expr.cc (tree_identifier::is_defined): New function. + (tree_parameter_list::is_defined): New function. + (tree_parameter_list::convert_to_const_vector): Use it to avoid + evaluating undefined objects. + + * src/f-balance.cc, src/f-eig.h, src/f-hess.cc, src/f-lu.h, + src/f-rand.cc, src/f-balance.h, src/f-expm.cc, src/f-hess.h, + src/f-npsol.cc, src/f-rand.h, src/f-chol.cc, src/f-expm.h, + src/f-ifft.cc, src/f-npsol.h, src/f-schur.cc, src/f-chol.h, + src/f-fft.cc, src/f-ifft.h, src/f-qpsol.cc, src/f-schur.h, + src/f-colloc.cc, src/f-fft.h, src/f-inv.cc, src/f-qpsol.h, + src/f-svd.cc, src/f-colloc.h, src/f-fsolve.cc, src/f-inv.h, + src/f-qr.cc, src/f-svd.h, src/f-dassl.cc, src/f-fsolve.h, + src/f-lpsolve.cc, src/f-qr.h, src/f-syl.cc, src/f-dassl.h, + src/f-fsqp.cc, src/f-lpsolve.h, src/f-quad.cc, src/f-syl.h, + src/f-det.cc, src/f-fsqp.h, src/f-lsode.cc, src/f-quad.h, + src/f-det.h, src/f-givens.cc, src/f-lsode.h, src/f-qzval.cc, + src/f-eig.cc, src/f-givens.h, src/f-lu.cc, src/f-qzval.h, + src/dynamic-ld.cc, src/dynamic-ld.h, src/file-io.cc, + src/file-io.h, src/t-biultins.cc, src/t-builtins.h, + src/tree-expr.cc, src/tree-expr.h, src/tree-const.cc, + src/tree-const.h, src/tc-inlines.cc, src/tc-rep.cc, src/tc-rep.h, + src/g-builtins.cc, src/g-builtins.h: + Cope with inital round of Octave_object changes. + + * src/oct-obj.h: New file for Octave_object typedef. + * src/dynamic-ld.h, src/file-io.h, src/tree-const.h, + src/tree-expr.h: Include it. + * src/Makefile.in (INCLUDES): Add it to the list. + +Wed Jul 6 09:28:28 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * libocsrc/tree-const.h: + + * src/parse.y (maybe_convert_to_ans_assign, + maybe_warn_assign_as_truth_value): Pass tree_expression*, not tree*. + (ans_expression, expression, simple_expr, simple_expr1, title): + Declare as tree_expression_type, not tree_type. + (opt_list): Add missing semicolon. + + * src/tc-rep.h, src/tc-rep.cc: New files, extracted from + tree-const.h and tree-const.cc, for the tree_constant_rep class. + Leave most friend functions behind, in tree-const.h. + Don't declare do_binary_op or do_unary_op as friends. + + * src/lex.l: Include tree-plot.h and tree-const.h. + + * src/variables.cc (takes_correct_nargs): Pass tree_fvc* not tree*. + * src/variables.cc (is_valid_function): Return tree_fvc* not tree*. + Change all callers. + + * src/symtab.h, symtab.cc: Change declaration of symbol definition to + be tree_fvc* instead of tree*. Change all callers. + + * src/f-dassl.cc (dassl_fcn): Declare as tree_fvc*, not tree*. + * src/f-quad.cc (quad_fcn): Likewise. + * src/f-lsode.cc (lsode_fcn): Likewise. + * src/f-fsolve.cc (fsolve_fcn): Likewise. + * src/f-npsol.cc (npsol_fcn, npsol_constraints): Likewise. + + * src/tree-plot.cc: All operations are now on tree_expression types, + not tree types. + + * src/tree-expr.h (tree_matrix): Derive from tree_expression, not tree. + + * src/tree-expr.h (tree_builtin, tree_function, tree_identifier): + Derive from tree_fvc, not tree. + * src/tree-const.h (class tree_constant): Likewise. + + * src/tree-expr.h (is_identifier, is_index_expression, + is_assignment_expression, is_prefix_expression, + mark_for_possible_ans_assign, eval (with args)): Declare in + tree_expression class, not tree class. + + * src/tree-expr.h (tree_fvc): New class, derived from + tree_expression, to provide a connection between functions, + variables, and constants. + (is_constant, assign, name, bump_value, max_expected_args, + fcn_file_name, time_parsed, is_system_fcn_file, save): Declare + in tree_fvc class, not in tree class. + + * src/tree.h: Simply include tree-expr.h and tree-cmd.h. + * src/tree-expr.h, tree-expr.cc: New files, extracted from tree.h + and tree.cc for classes derived from tree_expression, plus some + helper classes. + * src/tree-cmd.h, tree-cmd.cc: Likewise, for classes derived from + tree_command. + + * src/tree.cc (eval (int, int)): Merge with eval (int, + tree_constant*, int, int) by rearranging order of args and using + default arg values. Change all callers. + +Tue Jul 5 14:33:33 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * doc/Makefile.in (refcard.dvi): Run TeX on $(srcdir)/refcard.tex, + not just refcard.tex. + (refcard-local.tex): Likewise, for the local version. + + * src/tree-const.cc (tree_constant_rep::do_index): Check for empty + matrix here. + (tree_constant_rep::do_vector_index) Not here. + +Thu Jun 30 09:41:03 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc (builtin_shell_command): Only take one + argument and return [status, output]. + * src/procstream.cc (procstreambase::close): Return process exit + status. + + * src/tree.cc (tree_builtin::eval (int)): Handle new style of + calling text functions. + (tree_builtin::eval (int, int): Likewise. + (tree_builtin::eval (tree_constant*, int, int, int): Likewise. + (tree_identifier::eval (tree_constant*, int, int, int)): Don't + count the output arguments that we create automatically (ans) when + figuring nargout. + (tree_identifier::eval (int)): Likewise. + + * src/tree-const.cc: Delete text-style eval() functions. + * src/tree.cc: Ditto. + + * src/tree-const.h: Change typedef of Text_fcn to return a pointer + to a tree_constant, and to include the number of output arguments + in the parameter list. + * src/t-builtins.h: Change declarations of all builtin text-style + functions to match. + * src/t-builtins.cc: Change definitions too. + + * src/parse.y (word_list): Build an argument_list, not a word_list. + (word_list_command): Create an index_expression, not a + word_list_command. + * src/tree.cc (tree_word_list): Delete unneeded class. + (tree_word_list_command): Likewise. + + * src/tc-extras.cc (get_dimensions): For one-arg version, expect + 2-element vector or scalar specifying dimensions. Don't simply + use the dimensions of a matrix arg. + +Wed Jun 29 09:52:15 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/f-det.cc (determinant): Return 0 if matrix is singular to + machine precision. + + * liboctave/dMatrix.cc (Matrix::inverse): Declare rcond as + volatile to prevent optimization of the expression + `rcond + 1.0 == 1.0'. + (Matrix::determinant): Ditto. + (Matrix::solve): Ditto. + * liboctave/CMatrix.cc (ComplexMatrix::inverse): Ditto. + (ComplexMatrix::determinant): Ditto. + (ComplexMatrix::solve): Ditto. + +Tue Jun 28 10:53:31 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc (default_info_file): Add directory separator when + appending "octave.info". + + * src/tree-plot.cc (plot_line_count): Make global. + * src/utils.cc (send_to_plot_stream): If the plot stream is not + open, set plot_line_count to zero. + (close_plot_stream): Likewise, set it to zero when closing the + stream. + + * src/parse.y (plot_command): Allow replot without args. + + * src/tree-plot.cc (clear_before_plotting): New global variable. + (tree_plot_command::eval): Use it to handle hold on/off. + * src/t-builtins.cc (builtin_hold): New function. + * src/builtins.cc (text_functions): Add it to the list. + +Fri Jun 24 11:08:36 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/token.h (plot_tok_type): Add new field, replot. + * src/lex.l (is_keyword): Handle replot here. + * src/parse.y (plot_command): And here. + * src/g-builtins.cc (builtin_replot): Not here. + * src/builtins.cc (general_functions): Or here. + +Tue Jun 21 10:47:08 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc (builtin_kbhit): New function. + * src/builtins.cc (general_functions): Add it to the list. + + * src/tree-const.cc (tree_constant_rep::rows (void)): For strings + and ranges, only return 1 if the string or range is not empty. + +Thu Jun 9 20:42:06 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_builtin::eval (int)): Delete ancient code that + eval()'d the return value. + (tree_builtin::eval (int, int)): Likewise. + (tree_builtin::eval (int, char**, int)): Likewise. + (tree_builtin::eval (tree_constant*, int, int, int)): Likewise. + (tree_function::eval (tree_constant*, int, int, int)): Likewise. + (tree_colon_expression::eval (int)): Likewise. + (tree_unary_expression::eval (int)): Likewise. + (tree_binary_expression::eval (int)): Likewise. + +Mon Jun 6 03:48:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/file-io.cc (fread_internal): Make it work. + (fwrite_internal): Likewise. + (num_items_remaining): Renamed from get_whats_left(). Don't pass + nr/nc as last arg, simply return the number of items of size that + are left to read. + (get_size_conv): Delete unnecessary function. + * liboctave/dMatrix.cc (Matrix::read): Make it work. + (Matrix::write): Likewise. + * liboctave/dMatrix.h (conversion): Delete unecessary enum. + + * src/sysdep.cc: Include . + (octave_ieee_init): Cast return value of infinity() and + quiet_nan() to double. + +Sun Jun 5 14:35:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Makeconf.in (getversion): Get everything between the double + quotes, not just numbers and periods. + + * src/tree-const.cc (tree_constant_rep::do_scalar_assignment): Correct + typo in last change. + + * src/parse.y: Include tree-plot.h and tree-const.h. + + * src/Makefile.in (SOURCES): Delete tc-assign.cc and tc-index.cc + (INCLUDES): Add tree-plot.h. + + * src/tree-plot.h: New file. Declare plotting classes here. + * src/tree.h: Not here. + + * src/tc-index.cc, tc-assign.cc: Delete unnecessary files. + + * src/tc-extras.cc: Include EIG.h + + * src/tree-const.cc (tree_constant_rep::tree_constant_rep (RowVector&, + int)): Provide default value for int arg. + (tree_constant_rep::tree_constant_rep (ColumnwVector&, int)): Ditto + (tree_constant_rep::tree_constant_rep (ComplexRowVector&, int)): Ditto + (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&, int)): + Ditto. + (tree_constant_rep::tree_constant_rep (RowVector&)): Delete, now + handled by corresponding two arg constructor. + (tree_constant_rep::tree_constant_rep (ColumnwVector&)): Likewise. + (tree_constant_rep::tree_constant_rep (ComplexRowVector&)): Likewise. + (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&)): + Likewise. + + * src/tree-const.cc: Add pragma implementation. Merge in contents of + tc-index.cc and tc-assign.cc so that the pragma interface/pragma + implementation hack will do some good. + * src/tree-const.h: Include mx-base.h, not Matrix.h. Add pragma + interface. Delete unnecessary constructor declarations. + + * src/unwind-prot.h, src/unwind-prot.cc (unwind_elem_tag): Rename + from _tag. + (unwind_elem_fptr): Rename from _fptr. + (unwind_elem_ptr): Rename from _ptr. + + * NLConst.cc (NLConst::NLConst): Pass vector args by reference. + + * src/procstream.h, src/procstream.cc, src/idx-vector.h, + src/idx-vector.cc, src/token.h, src/token.cc, src/unwind-prot.h, + src/unwind-prot.cc, src/symtab.h, src/symtab.cc, src/tree.h, + src/tree.cc, liboctave/Range.h, liboctave/Range.cc, + liboctave/QLD.h, liboctave/QLD.cc, liboctave/ODE.h, + liboctave/ODE.cc, liboctave/Quad.h, liboctave/Quad.cc, + liboctave/Objective.h, liboctave/Objective.cc, liboctave/NPSOL.h, + liboctave/NPSOl.cc, liboctave/NLFunc.h, liboctave/NLFunc.cc, + liboctave/Bounds.h, liboctave/Bounds.cc, liboctave/QP.h, + liboctave/QP.cc, liboctave/NLConst.cc, liboctave/LinConst.cc, + liboctave/LPsolve.cc, liboctave/LP.cc, liboctave/FSQP.cc, + liboctave/FEGrid.cc, liboctave/QPSOL.cc, liboctave/CollocWt.cc, + liboctave/DAEFunc.cc, liboctave/DAEFunc.h, liboctave/DAE.cc, + liboctave/NLEqn.cc, liboctave/ODEFunc.cc, liboctave/QPSOL.h, + liboctave/ODEFunc.h, liboctave/NLP.h, liboctave/NLEqn.h, + liboctave/NLConst.h, liboctave/LinConst.h, liboctave/LPsolve.h, + liboctave/LP.h, liboctave/FSQP.h, liboctave/FEGrid.h, + liboctave/DAE.h, liboctave/CollocWt.h: + Add pragma interface/implementation. + + * src/f-svd.cc, src/f-schur.cc, src/f-qr.cc, src/f-lu.cc, + src/f-hess.cc, src/f-det.cc, src/f-chol.cc, src/f-qzval.cc, + src/f-inv.cc, src/f-ifft.cc, src/f-givens.cc, src/f-fft.cc, + src/f-balance.cc, src/f-expm.cc, src/f-fsqp.cc, src/f-syl.cc, + src/xdiv.cc, src/xpow.cc, src/idx-vector.cc, src/pr-output.cc, + src/unwind-prot.cc, src/file-io.cc, liboctave/Bounds.h, + liboctave/CollocWt.h, liboctave/DAE.h, liboctave/EIG.h, + liboctave/FEGrid.h, liboctave/LP.h, liboctave/LPsolve.cc, + liboctave/LinConst.h, liboctave/NLEqn.cc, liboctave/NLEqn.h, + liboctave/NLP.h, liboctave/NPSOL.cc, liboctave/NPSOL.h, + liboctave/ODE.h, liboctave/Objective.h, liboctave/QLD.cc, + liboctave/QP.h, liboctave/QPSOL.h, liboctave/Quad.h: + Instead of including Matrix.h, only include the individual + matrix/vector/etc. header files that are needed. + + * liboctave/QLD.cc, liboctave/ODE.cc, liboctave/NLFunc.cc, + liboctave/DAEFunc.cc, liboctave/DAE.cc, liboctave/NLEqn.cc, + liboctave/ODEFunc.cc: + Use 0, not NULL. + + * liboctave/mx-inlines.cc: Include Complex.h. + + * liboctave/mx-kludge.h: Don't enclose contents in extern "C++". + + * liboctave/Matrix.h: Simply include mx-base.h and mx-ext.h. + + * liboctave/mx-base.h: New file, includes all basic matrix/vector + header files. + * liboctave/mx-ext.h: New file, includes all extra matrix/vector + related header files. + * liboctave/mx-defs.h: New file, for matrix/vector related + defines. Also provides forward declarations for all matrix/vector + classes. + + * liboctave/Makefile.in: Cope with new files. + + * liboctave/CmplxAEPBAL.cc, liboctave/CmplxDET.h, + liboctave/CmplxQR.cc, liboctave/CmplxSVD.h, liboctave/dbleDET.cc, + liboctave/dbleHESS.h, liboctave/dbleSCHUR.cc, + liboctave/CmplxAEPBAL.h, liboctave/CmplxHESS.cc, + liboctave/CmplxQR.h, liboctave/dbleAEPBAL.cc, liboctave/dbleDET.h, + liboctave/dbleLU.cc, liboctave/dbleSCHUR.h, + liboctave/CmplxCHOL.cc, liboctave/CmplxHESS.h, + liboctave/CmplxSCHUR.cc, liboctave/dbleAEPBAL.h, + liboctave/dbleGEPBAL.cc, liboctave/dbleLU.h, liboctave/dbleSVD.cc, + liboctave/CmplxCHOL.h, liboctave/CmplxLU.cc, + liboctave/CmplxSCHUR.h, liboctave/dbleCHOL.cc + liboctave/dbleGEPBAL.h, liboctave/dbleQR.cc, liboctave/dbleSVD.h, + liboctave/CmplxDET.cc, liboctave/CmplxLU.h, liboctave/CmplxSVD.cc, + liboctave/dbleCHOL.h, liboctave/dbleHESS.cc, liboctave/dbleQR.h, + liboctave/EIG.h, liboctave/EIG.cc: + New files, extracted from Matrix-ext.cc, in an attempt to allow + effective use of pragma interface/implementation and make + generated code somewhat smaller. + * liboctave/dColVector.cc liboctave/CColVector.cc: Likewise, from + ColVector.{cc,h}. + * liboctave/dRowVector.cc liboctave/CRowVector.cc: Likewise, from + RowVector.{cc,h}. + * liboctave/dMatrix.cc liboctave/CMatrix.cc: Likewise, from + Matrix.{cc,h}. + * liboctave/dDiagMatrix.cc liboctave/CDiagMatrix.cc: Likewise, + from DiagMatrix.{cc,h}. + +Fri Jun 3 15:32:53 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Array.h: Include assert.h. + (DiagArray::operator T ()): [! _AIX] Only call get() if i is + also equal to j. + + * scripts/rem.m: Allow mixing of scalar/matrix args, but complain + if both args are matrices and the dimensions don't agree. + + * src/lex.l (grab_help_text): Correct previous change. + +Thu Jun 2 12:08:18 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.h (conversion): New enum, for binary read/write + functions. + * Matrix.cc (read, write) New functions. + * file-io.cc (feof_internal, ferror_internal, fread_internal, + fwrite_internal, get_size_conv, get_whats_left): New functions. + * g-builtins.cc (builtin_feof, builtin_ferror, builtin_fread, + builtin_fwrite): New functions. + * builtins.cc (general_functions): Add them to the list. + + * configure.in: Check for infinity() and quiet_nan(). + * sysdep.h (octave_Inf, octave_NaN): New global variables. + * sysdep.cc (octave_ieee_init): New function. Initialize + octave_Inf and octave_NaN. + (sysdep_init): Call it. + * builtins.cc (initialize_builtins): Don't compute Inf and NaN + values here. + +Tue May 31 20:06:27 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/variables.cc (identifier_exists): Only return 1 for + variables if they are also defined. + +Sun May 29 20:40:55 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.l: Don't declare beginning_of_function as static. + (COMMENT): Delete unnecessary exclusive start state. + (\#, \%): Handle comments directly. Try to be smart about not + returning a newline character when reading a matrix list. + (grab_help_text): Don't put a newline back on the input stream. + * src/parse.y (list1): Set beginning_of_function to zero here. + +Wed May 25 03:34:17 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/error.cc (error): If error_state is -2, don't do anything. + If the format string ends in a new line character, strip it, print + the error message, and set the error state to -2. + * src/tree.cc (tree_function::traceback_error): Don't set the + error_state if it is already negative. + + * src/tree-const.cc (convert_to_row_or_column_vector): New function. + * src/idx-vector.cc (idx_vector::shorten): New function. + * src/tc-assign.cc (fortran_style_matrix_assignment + (tree_constant&, tree_constant&)): Handle deleting elements by + assignment of `[]'. Use convert_to_row_or_column_vector to handle + conversion to a vector in the case of deleting some elements from + a matrix. Use idx_vector::shorten() to remove unnecessary index + vector elements. + (do_scalar_assignment (tree_constant&, tree_constant*, int)): + Handle assignment of empty matrix. + If converting complex to real, delete old complex value. + (delete_rows (idx_vector&)): If deleting all rows of a column + vector, convert to empty matrix. + (delete_rows (Range&)): Ditto. + (delete_columns (idx_vector&)): If deleting all columns of a row + vector, convert to empty matrix. + (delete_columns (Range&)): Ditto. + + * src/tc-extras.cc (column_max (tree_constant*, int, int)): + Use MAX, not MIN when trying to find the biggest scalar. + Likewise, find the complex scalar with the largest, not the + smallest absolute value. + + * src/tc-assign.cc (do_matrix_assignment (tree_constant&, + tree_constant_rep::constant_type, tree_constant&): For case of + j_arg == matrix constant, don't negate return value of + indexed_assign_conforms(). + + * src/user-prefs.cc (commas_in_literal_matrix): New function. + Put functions in alphabetical order. + * src/user-prefs.h (commas_in_literal_matrix): New structure element. + Alphabetize structure elements and lists of functions. + * src/builtins.cc (string_variables): Add commas_in_literal_matrix + to the list. + * src/lex.l ({SN}*\]{S}*): Pay attention to the value of + usre_pref.commas_in_literal_matrix when deciding whether to insert + a comma after seeing a ']' character. + (handle_identifier): Likewise. + ({S}+): If commas are required, just eat the spaces. + +Tue May 24 19:49:51 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment + (tree_constant&, tree_constant*, int)): Handle empty arguments + for two index values. + (tree_constant_rep::do_matrix_assignment + (tree_constant&, tree_constant&)): + Likewise, for single index values. + +Mon May 23 01:43:23 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Makefile.in (snapshot, snapshot-version): New targets. + + * configure.in: Handle --enable-run-in-place (was easier than + doing the work to parse --run-in-place like Emacs uses). + + * acconfig.h: Add #undef for RUN_IN_PLACE. + + * Makeconf.in (OCTAVE_HOME): New macro. + * src/Makefile.in (defaults.h): Use it instead of ${prefix}. + + * Makeconf.in (OCTAVE_INFO_DIR, OCTAVE_LIB_DIR): New macros. + * src/Makefile.in (defaults.h): Substitute them too. + + * src/defaults.h.in (OCTAVE_INFO_DIR): New macro, used if + RUN_IN_PLACE is defined. + (OCTAVE_LIB_DIR): Likewise. + + * src/utils.cc (octave_home): Handle RUN_IN_PLACE + (octave_info_dir): Ditto. + (octave_lib_dir): Ditto. + + * src/tree-const.cc (tree_constant_rep::diag (void)): For empty + matrix, return empty matrix. + (tree_constant_rep::diag (tree_constant &)): Likewise, regardless + of value of arg. + + * scripts/int2str.m: Format as integer, not float. + Don't add trailing new line character. + +Sun May 22 22:13:01 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/plot_int.m: When looking for imaginary arguments, check + if any element has an imaginary component, not if all elements + have imaginary components. + +Thu May 19 19:46:23 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/parse.y (EXPR_AND_AND, EXPR_OR_OR): New tokens, for + short-circuit logical AND and OR operators. + (simple_expression): Handle new tokens. + * src/lex.l (&&) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_AND_AND. + (||) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_OR_OR. + * src/tree.cc (tree_binary_expression::eval): Handle short-circuit + boolean operators. + (tree_binary_expression::eval_error): Print different messages for + or_or/or and and_and/and. + * src/tree-base.h (tree_expression_type): Add new structure + elements and_and and or_or. + * src/tree-const.cc (tree_constant_rep::is_true): New function. + +Tue May 17 17:04:00 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/idx-vector.cc (idx_vector::sort_uniq ()): New function. + * src/tc-assign.cc (tree_constant_rep::delete_rows ()): Use it. + (tree_constant_rep::delete_columns ()): Likewise. + +Mon May 16 13:31:33 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/linspace.m: Replace for loop with range operation. + * scripts/logspace.m: Replace for loop with element by element + exponentiation. + +Sun May 8 00:49:38 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/lqe.m: Correct comment. + Transpose k before returning. + +Fri May 6 00:47:24 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (quit_loop_now): New function. + (tree_while_command::eval): Use it. + (tree_for_command::eval): Ditto. + + * src/tree.cc (tree_for_command::do_for_loop_once): New function. + (tree_for_command::eval): Use it. + +Mon May 2 19:45:39 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_for_command::eval): Handle returning, + breaking, and continuing for case of scalar expression in loop + control statement. + +Wed Apr 20 00:38:26 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.l (\[{S}*): Don't return ',' for this match when + convert_spaces_to_comma is true, since that can never be the right + thing to do. + + * All Makefile.in files: Set top_srcdir here. + * Makeconf.in: Not here. + + * Makeconf.in: Use top_srcdir instead of root_srcdir + + * configure.in: Update for autoconf-1.8. Use AC_VERBOSE for + verbose messages. Use AC_WARN and AC_ERROR instead of echo for + warning and error messages. Organize feature tests a bit better. + Use new autoconf macros to check for C++ compiler. Add copyright + notice. Recognize --enable-dld instead of --with-dld since that + seems to be more in line with the intent of the --enable/--with + options for configure scripts. Use new autoconf macros + AC_REVISION and AC_PREREQ. Don't add -Wall to CFLAGS and CXXFLAGS + until after all feature tests are done. Etc. + +Fri Apr 15 01:56:20 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * acconfig.h: Add #undefs for HAVE_FINITE, HAVE_ISINF, and + HAVE_ISNAN. + * configure.in: Check for floatingpoint.h. + * src/sysdep.cc (sysdep_init): Disable trapping on common + exceptions for 386BSD systems that have floatingpoint.h. + + * src/utils.cc: Don't declare ioctl() with prototype. + +Sat Apr 9 17:48:07 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-assign.cc (tree_constant_rep::fortran_style_matrix_assignment + (tree_constant&, tree_constant&)): + Handle case of M (X) = scalar, where X is a zero-one vector with + only one nonzero element. + + * src/tc-assign.cc (tree_constant_rep::do_vector_assign + (tree_constant&, Range&): + Handle case of right hand side being a scalar. + (tree_constant_rep::do_vector_assign (tree_constant&, idx_vector&): + Ditto. + + * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment + (int,tree_constant_rep::constant_type)): + Allow assignment of complex scalar too. + (tree_constant_rep::do_matrix_assignment + (tree_constant_rep::constant_type, int)): + Ditto. + + * src/tree-const.h (REP_RHS_MATRIX): Initialize nr and nc. + Abort if rhs is not a real or complex matrix. + +Wed Apr 6 13:59:37 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Range.cc (Range::nelem_internal): Use an integer, not + a double, for the number of intervals. Avoid possible problems + with extended precision registers on some systems (e.g. x86/Linux). + +Mon Mar 28 17:23:18 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc (raw_mode): For OCRNL, ONOCR, and ONLRET, check to + see if they are defined before using them instead of checking to + see if NeXT is defined. + + * info/terminal.c (terminal_prep_terminal): Check to see if OCRNL + is defined before using it instead of checking to see if NeXT is + defined. + +Thu Mar 24 03:21:01 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_parameter_list::define_from_arg_vector): + New function. + (tree_parameter_list::convert_to_const_vector): Ditto. + (tree_function::eval): Use them instead of trying to do this + in-line. + + * src/symtab.h (symbol_record::global_link_context): New stack for + saving linked_to_global flag. + * src/symtab.cc (symbol_record::push_context): Save + linked_to_global too. + (symbol_record::pop_context): And restore it. + +Wed Mar 23 16:18:19 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * doc/refcard.tex.in: New file. + * doc/Makefile.in: Create refcard.* and refcard-local.* from + refcard.tex.in. + +Tue Mar 22 15:23:55 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * octave.sh: exec $OCTAVE_HOME/bin/octave.bin, not just + octave.bin. + +Thu Mar 17 01:06:10 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/arith-ops.cc (do_binary_op (ComplexMatrix&, Matrix& b)): + Correctly handle element by element left division. + + * src/g-builtins.cc (builtin_error): Return without calling error + (and setting error_state) if the message is empty. + + * src/help.cc (operators): Correct help message for `.^'. + + * src/tc-index.cc (tree_contant_rep::fortran_style_matrix_index): + Preserve vector orientation when indexing with a zero-one vector. + + * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle + indexing a scalar with `0'. + + * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle the + index `:' the same as the index `1'. + +Tue Mar 15 17:22:00 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Array.cc: Fix typo in comments about compiler flags. + +Wed Mar 9 15:08:21 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 1.0.1. + + * src/*.h: Use the macro octave_FOO_h instead of _FOO_h to protect + against multiple inclusion. + * liboctave/*.h: Likewise. + + * liboctave/*.h: Surround contents of files in extern "C++" { }. + +Tue Mar 8 18:06:54 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-index.cc (tree_constant_rep::do_vector_index (const + tree_constant&) const): Don't crash if matrix is empty. + + * scripts/norm.m: Return empty matrix for empty argument. + +Mon Mar 7 23:34:44 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * doinstall.sh: chmod new directories to 755. + +Sat Mar 5 13:15:10 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * bsd-math/log1p.c: Declare finite as returning int, not double. + * bsd-math/finite.c (finite): Add return type. + +Thu Mar 3 14:42:00 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/DiagMatrix.cc (operator *): Provide definitions for + DiagMatrix * DiagMatrix, ComplexDiagMatrix * ComplexDiagMatrix, + ComplexDiagMatrix * DiagMatrix, and DiagMatrix * ComplexDiagMatrix. + + * liboctave/ColVector.cc (operator >>): Provide definitions for + real and complex column vectors. + + * liboctave/RowVector.cc (operator >>): Provide definitions for + real and complex row vectors. + +Wed Mar 2 18:00:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Array.h (DiagArray::Proxy::operator & ()): Provide + function body. + +Tue Mar 1 13:18:35 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-const.cc (tree_constant::load (istream&)): Don't skip + past first type keyword if not global. + (tree_constant::load (istream&, tree_constant_rep::constant_type)): + Allocate storage for reading complex scalar. + +Sun Feb 20 14:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/menu.m: Don't fail on input that is empty or not a + scalar. + + * Makefile.in (DISTFILES): Distribute ChangeLog.[0-9]. + + * src/lex.l (reset_parser): Don't resynch line number to command + history number if reading a script file. + +Thu Feb 17 01:36:19 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 1.0 released. + + * src/file-io.cc (fopen_file_for_user): Improve error message. + (fopen_internal): Likewise. + +Wed Feb 16 02:21:05 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Try harder to find finite, isnan, and isinf. + Use m4 `dnl' comments, not shell `#' comments. + + * src/file-io.cc (file_io_get_file): New function. + (fgets_internal): Use it instead of trying to do this in line. + (frewind_internal, fseek_internal, ftell_internal, do_printf, + do_scanf): Likewise. + * (do_scanf): Allow file name as string for fscanf. + * (procss_scanf_format): Delete unused argument `args'. Delete + unused local variable `arg_type'. Don't complain if we can't + store the result of a requested conversion. Only return + successfully if a conversion actually occurs, even if we are not + storing the value. + +Sun Feb 13 13:32:03 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.83 released. + + * Array.h (DiagArray): Move inline definitions of get() and set() + before use by other inline functions. + +Sat Feb 12 14:15:45 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check for g77 last. Even if it is ever actually + released, it probably won't be stable for quite a while. + + * MAKEINFO.PATCH: New file. + * Makefile.in (DISTFILES): Distribute it. + + * liboctave/Matrix.cc (operator + (Complex, const Matrix&)): + Make it work. + (operator - (Complex, const Matrix&)): Ditto. + (operator * (Complex, const Matrix&)): Ditto. + (operator / (Complex, const Matrix&)): Ditto. + +Fri Feb 11 00:03:39 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check for strerror too. + + * configure.in: When saving CFLAGS as XCFLAGS and then restoring + the value, quote the RHS. + + * src/g-builtins.cc (builtin_clc): Do the dirty work to clear the + screen here instead of using rl_clear_screen to avoid printing + prompt unnecessarily. + +Thu Feb 10 00:26:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc: Add all the cruft that the autoconf manual + suggests for including dirent.h. + + * info/terminal.c (terminal_prep_terminal): [HAVE_TERMIOS_H && + NeXT]: Don't use OCRNL, as someone says NeXT's termios.h doesn't + have it. + + * configure.in (GCC_IEEE_FP_FLAG): Correct check for ix86 Linux. + Don't try to check for CC == gcc. + Add GCC_IEEE_FP_FLAG to CFLAGS while checking for IEEE FP + functions finite, isnan, and isinf. + + * readline/rldefs.h: Make definition of HAVE_POSIX_SIGNALS + conditional on definition of _POSIX_VERSION, not HAVE_TERMIOS_H. + +Wed Feb 9 02:41:32 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_function::octave_va_start): Rename from + va_start to avoid conflict with va_start macro. + (tree_function::octave_var_arg): Likewise, rename from va_arg. + * src/g-builtins.cc (builtin_va_arg): Call octave_va_arg for the + current function instead of va_arg. + (builtin_va_start): Likewise, for octave_va_start. + + * Version 0.82.1. + + * doc/Makefile.in (clean): Also remove octave.in, octave.rd, + octave.ins, and octave.rds. + + * src/t-builtins.cc (load_variable): Make it work for all + combinations of loading global or local variables when the + variable to be loaded is already a global variable, local + variable, a function, or even undefined. + +Tue Feb 8 00:33:09 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.82 released. + + * liboctave/mx-kludge.cc (operator + (KL_MAT_TYPE, KL_MAT_TYPE)): + For an empty matrix with one nonzero dimension, be sure to return + a result of the same size. + (operator - (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. + (product (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. + (quotient (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. + +Mon Feb 7 01:30:19 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Array.h, liboctave/array.cc (DiagArray): Back off on + indexing via Proxy class changes for AIX systems to avoid gcc (or + possibly AIX assembler?) bug. + + * src/tree-const.cc (tree_constant_rep::maybe_resize (int, + force_orient)): Don't abort for a max index of zero. + + * liboctave/Matrix.h (class RowVector, friend double operator * + (const RowVector&, const ColumnVector&)): Add missing const in + declaration. + + * liboctave/Matrix.cc (Matrix::fill (val, r1, c1, r2, c2)): Set nc + to cols(), not rows(). + (ComplexMatrix::fill (double val, r1, c1, r2, c2)): Likewise. + (ComplexMatrix::fill (Complex val, r1, c1, r2, c2)): Likewise. + + * All source files: To match the documenation, refer to function + files, not M-files. Rename functions and variables that refer to + _m_file_, mfile, or mf to refer to _fcn_file, ffile, or ff. + +Sun Feb 6 19:08:26 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/parse.y (yyerror): Don't crash if a parse error happens and + the current input line is NULL. + +Sat Feb 5 18:53:04 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/file-io.cc (initialize_file_io): Don't use variable names + that start with `_'. + * src/file-io.cc (class file_info): Likewise. + +Fri Feb 4 01:15:59 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/builtins.cc (general_functions): In usage message for fopen, + use `Valid' instead of `Legal'. + + * src/file-io.cc (do_printf): Use `invalid' instead of `illegal' + in error message. + (do_scanf): Likewise. + + * src/mappers.cc (atanh): Use correct formula. + +Thu Feb 3 22:08:40 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * doc/refcard.tex: New file. + * doc/Makefile.in (all): Make refcard.ps. + (DISTFILES): Distribute refcard.tex, refcard.dvi, and refcard.ps. + + * src/tree-const.cc (any_element_is_negative): Delete function. + (any_element_less_than): New function. + (any_element_greater_than): Ditto. + (tree_constant_rep::mapper): Use struct elements lower_limit, + upper_limit, and can_return_complex_for_real_arg to properly + handle functions like acos, asin, atanh, and acosh. + + * src/builins.h (struct Mapper_fcn): Rename neg_arg_complex to + can_return_complex_for_real_arg. New elements, lower_limit and + upper_limit. + (struct builtin mappers functions): Rename neg_arg_complex to + can_return_complex_for_real_arg. New elements, lower_limit and + upper_limit. Delete elements nargin_max and nargout_max. + * src/variables.cc (install_builtin_mapper_function): Handle new + struct elements can_return_complex_for_real_arg, lower_limit, and + upper_limit. Don't use nargin_max and nargout_max -- they are + the same for all mapper functions. + +Wed Feb 2 05:06:56 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Matrix.h: Don't include values.h. + * liboctave/Matrix-ext.cc: Include float.h + (DET::value_will_overflow): Use DBL_MAX, not MAXDOUBLE. + (ComplexDET::value_will_overflow): Likewise. + (DET::value_will_underflow): Use DBL_MIN, not MINDOUBLE. + (ComplexDET::value_will_underflow): Likewise. + * src/tree.cc: Include limits.h, not values.h. + (tree_builtin::max_expected_args): Use INT_MAX, not MAXINT. + + * configure.in: If compiling on an ix86, set GCC_IEEE_FP_FLAG to + -mieee-fp. We should no longer require the modified crt0 code on + Linux systems in order to get IEEE functions. + * Makeconf.in (GCC_IEEE_FP_FLAG): Substitute value. + (ALL_CFLAGS, UGLY_ALL_CFLAGS, ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS, + ALL_LDFLAGS): Use it. + +Tue Feb 1 22:30:46 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/builtins.cc (install_builtins): Make SEEK_SET, SEEK_CUR, and + SEEK_END constants. + + * src/tree-plot.cc (tree_subplot_using::print): Only check column + number against max if max is greater than 0. + +Mon Jan 31 15:59:31 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/strcmp.m: Correctly handle empty strings. + + * src/parse.y (input): Recognize lone simple_list and simple_list + followed by error and '\n'. + +Fri Jan 28 00:20:30 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.81 released. + + * src/octave.cc (clean_up_and_exit): Call cleanup_tmp_files() here + too. + + * configure.in: Check for atexit and on_exit. + * src/octave.cc: Use HAVE_ATEXIT and HAVE_ON_EXIT (instead of + just checking to see if sun is defined) to decide whether to + define atexit as on_exit. + (main): Don't try to call atexit if it's missing and we don't have + on_exit either. + +Thu Jan 27 22:16:48 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check for gethostname and sys/utsname.h. + * utils.cc (gethostname): Steal replacement from bash. Provide + definition if it looks like it's missing and we have + sys/utsname.h. + + * liboctave/Array.h (DiagArray): Define non-const indexing + functions here. + * liboctave/Array.cc (DiagArray): Not here. + + * liboctave/Array.h (DiagArray::Proxy): New class to handle + non-const reference indexing. Allows different action if indexing + on left side of assignment operator. + + * src/octave.cc (main): Call initialize_pager(), + initialize_readline(), and install_signal_handlers() before trying + to read startup files. + + * src/octave.cc (input_from_startup_file): New global flag. + (execute_startup_files): Set it to 1 before reading startup files. + * src/parse.y (func_def_2): If input_from_startup_file, don't try + to compare file name and function name. + +Wed Jan 26 14:39:27 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * readline/rldefs.h: Make better use of autoconf defines. + +Tue Jan 25 17:19:19 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Matrix.cc (ComplexMatrix (DiagMatrix)): Make sure off + diagonal elements are zero. + (ComplexMatrix (ComplexDiagMatrix): Likewise. + (Matrix (DiagMatrix): Likewise. + +Fri Jan 21 17:43:11 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * flibs.sh: Recognize libraries that match `/*.a'. + +Thu Jan 20 18:12:01 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.80.1. + +Wed Jan 19 14:48:27 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * libcruft/odepack/stode.f: Don't try to `RETURN 0'. This causes + lsode to fail, at least with Sun's f77. + + * src/tree-const.cc (tree_constant_rep::load): Delete string + returned from extract_keyword. + * src/t-builtins.cc (builtin_load): Likewise. + * src/variables.cc (extract_keyword): Return new storage, not + static buffer. + + * src/t-builtins.cc (builtin_save): If saving a named list of + variables, use is_globally_visible to decide whether to mark + variables in the current symbol table as global. + +Tue Jan 18 11:57:03 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.80 released. + + * doc/Makefile.in (install): Delete commands for installing + liboctave.info instead of trying to comment them out. + + * liboctave/Array.cc: Allow users to compile with + -fexternal-stemplates and USE_EXTERNAL_TEMPLATES defined to + generate their own .o files with new types. + + * Makeconf.in (includedir): Install include files in + $prefix/include/octave by default. + + * liboctave/Makefile.in (TEMPLATE_SRC): New macro. + (install): Install files listed in $(TEMPLATE_SRC) too. + + * info/search.h: Conditionally declare stricmp and strnicmp. + * info/search.c: Conditionally define stricmp and strnicmp. + * config.h.in: Add undefs for HAVE_STRICMP and HAVE_STRNICMP. + + * configure.in: Check for stricmp and strnicmp too. + + * doc/Makefile.in: For now, don't format or try to install the + liboctave manual. + Don't distribute formatted copies of liboctave manual. + +Mon Jan 17 01:10:54 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * doc/Makefile.in (clean): Remove all index files. + + * src/Makefile.in (defaults.h): Depend on Makefile too. + * doc/Makefile.in (conf.texi): New rule for making conf.texi from + conf.texi.in. + + * doc/conf.texi.in: New file. + * doc/octave.texi: Include conf.texi to get VERSION, OCTAVE_HOME, + and other variables that need to be set depending on the + configuration. + + * Makefile.in (DISTFILES): Don't distribute PLOTTING. Current + plotting info is in the Texinfo docs. + +Sat Jan 15 15:43:34 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * config.sub: New file, from libg++-2.5.2. + * Makefile.in: Distribute config.sub. + * configure.in: Use config.sub to validate system types. If it + fails, continue with target_host_type and canonical_host_type set + to unknown. Leave target_host_type set to any alias given as the + TARGET argument to configure. + + * readline/rldefs.h: If ultrix and HAVE_SGTTY_H, avoid Posix + terminal driver. + * configure.in: If configuring for ultrix, check for sgtty first. + If not found, go ahead and check for Posix terminal driver. + + * configure.in: Don't try to do anything special for readline on + NeXT systems. + + * Makeconf.in: Define rules for making .d files here. + liboctave/Makefile.in: Not here. + src/Makefile.in: Or here. + + * liboctave/Matrix.h (all Matrix/Vector operator = functions): + Simply call the base class operator =, then return *this. + (class ColumnVector): Declare RowVector a friend class, so it can + access the private constructor for the transpose operator. + (class RowVector): Likewise, for ColumnVector. + (class ComplexColumnVector): Likewise, for CommplexRowVector. + (class ComplexRowVector): Likewise, for ComplexColumnVector. + Numerous formatting cleanups. + +Thu Jan 13 13:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.79.90. + + * builtins.cc: Include missing-math.h. + + * src/missing-math.h: Provide declarations for acosh, asinh, + atanh, and gamma whether they are actually missing or not, because + they are not part of the standard math.h, and the g++/libg++ + installation no longer provides declarations for them. + + * src/sighandlers.h (RETSIGTYPE): Define here. + (BADSIG): Likewise. + (sig_handler): Likewise. + + * src/g-builtins.cc: Include sighandlers.h + Don't define RETSIGTYPE, BADSIG, or sig_handler here. + * src/octave.cc: Or here. + +Wed Jan 12 16:12:27 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc: Don't check nargin/nargout in *_options + functions. + + * src/f-qpsol.cc, src/f-quad.cc, src/f-lsode.cc, src/f-fsolve.cc, + src/f-dassl.cc, liboctave/QPSOL.cc, liboctave/Quad.cc, + liboctave/ODE.cc, liboctave/NLEqn.cc, liboctave/DAE.cc: + Similar changes for these classes/functions as the following + changes for src/f-npsol.cc and liboctave/NPSOL.cc: + + * src/f-npsol.cc (npsol_opts): New static variable to hold Octave's + current idea of npsol options. + (npsol): Call nlp.copy (npsol_opts) after creating NPSOL object. + (npsol_option_table): New static list of options for npsol. + (print_npsol_option_list): New function. + (do_npsol_option): New function. + (npsol_options): Make it work. + + * liboctave/NPSOL.cc (NPSOL_options): New class. + * (NPSOL): Also derive from NPSOL_options. + * (minimize): Call pass_options_to_npsol before calling npsol. + * (NPSOL::option): No longer works. Print error message instead. + * (NPSOL::set_default_options): Now a member of NPSOL_options class. + + * src/utils.cc: If missing, declare strcasecmp, strncasecmp. + * (almost_match): Add new argument to do case-insensitive matches. + * (keyword_almost_match): New function to match a string against a + list of keywords. + + * liboctave/NLP.h (NLP): Add destructor and copy constructor. + + * configure.in: Check for strcasecmp and strncasecmp. + * config.h.in: Add #undefs for HAVE_STRCASECMP and STRNCASECMP. + * src/strcasecmp.c, src/strncase.c: New files, from glibc. + * src/Makefile.in (SOURCES, OBJECTS): List them. + + * src/builtins.cc (general_functions): Improve usage message for + the *_options functions. + (print_usage): New arg, just_usage with default value of 0. + If nonzero, don't print info about where to find additional help. + + * src/Makefile.in (INCLUDES): Add error.h. + (SOURCES): Add error.h. + + * src/tree.cc (tree_identifier::parse_m_file): call reset_parser + before calling yyparse (). + * src/tc-extras.cc (eval_string): Likewise. + Don't save previous symbol table. That is handled by the + unwind protect. + + * src/lex.l (reset_parser): Don't unconditionally call yyreset. + Add a couple of comments. + (yywrap): Always return 1, not 0. + (yy_flex_alloc, yy_flex_realloc, yy_flex_free): #if 0 out. + + * src/utils.cc (raw_mode): Only complain about stdin not being a + tty if we are really interactive. + + * src/octave.cc (main): End startup message with endl to ensure + flushing before other output. + * Turn of readline's blink_matching_paren feature if not + interactive, or if reading from a file specified on the command + line. + + * src/octave.cc (main): Set the symbol table context just before + calling reset_parser in the main loop. + * src/lex.l (reset_parser): Not here. + + * src/input.cc (octave_gets): Declare static. + (octave_read): Also handle echoing input if not using readline. + + * Makefile.in (DISTFILES): Add SENDING-PATCHES to the list. + +Mon Jan 10 14:30:13 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/corrcoef.m, scripts/fortran_vec.m, scripts/kurtosis.m, + scripts/ols.m, scripts/skewness.m, scripts/cov.m, scripts/gls.m, + scripts/mahalanobis.m, scripts/pinv.m: New script files from Kurt + Hornik (hornik@neuro.tuwien.ac.at) and the Department of + Probability Theory and Statistics TU Wien, Austria. + +Sun Jan 9 01:11:05 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc (builtin_fsqp_options): If FSQP_MISSING is + defined, don't call fsqp_options; just print usage message. + (builtin_npsol_options): Likewise, for npsol_options. + (builtin_qpsol_options): Likewise, for qpsol_options. + * src/builtins.cc (general_functions): Provide different usage + message for fsqp_options depending on whether FSQP_MISSING is + defined. Likewise for npsol_options and qpsol_options. + +Sat Jan 8 16:45:57 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * libcruft/misc/dostop.c: Include config.h. + + * src/variables.cc (extract_keyword): Use ostrstream instead of + fixed length buffer. For keywords with string values, return + value in static buffer. + * src/t-builtins.cc (builtin_load): Handle new argument list for + extract_keyword. Handle possiblity of load_variable setting + error_state. + * src/tree-const.cc (tree_constant_rep::load): Handle new argument + list for extract_keyword. + +Fri Jan 7 13:20:47 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/f-eig.cc (builtin_eig_2): Rename from builtin_eig. + * src/f-fsolve.cc (builtin_fsolve_2): Rename from builtin_fsolve. + * src/f-inv.cc (builtin_inv_2): Rename from builtin_inv. + +Thu Jan 6 12:29:41 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-base.h (tree::save): Add optional argument `precision'. + * src/tree-const.cc (tree_constant::save): Ditto. + (tree_constant_rep::save): Ditto. + * src/symtab.cc (symbol_def::save): Ditto. + (symbol_record::save): Ditto. + (symbol_table::save): Ditto. + + * src/t-builtins.cc (builtin_save): Pass user_pref.save_precision + to symbol table save functions. + * src/builtns.cc (string_variables): Add save precision to thelist. + (install_builtins): Initialize it. + * src/user-prefs.cc (set_save_precision): New function. + * src/user-prefs.h (user_pref.save_precision): New data element. + + * liboctave/Matrix-ext.cc: Provide correct prototypes for dgeesx + and zgeesx. + * (SCHUR::init): Don't declare a dummy_select function pointer, + just pass `(void *) 0' instead, since the dummy argument is never + supposed to be used anyway. + + * src/input.cc (initialize_readline): Cast command_completer to + CPPFunction, not Function, now that readline has more than one + function typedef. + * Add extern declaration for free_undo_list (). + + * Replace readline source from GDB with readline source from bash. + This allows paren matching. + +Wed Jan 5 01:20:26 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Also check for sys/select.h. + + * liboctave/RowVector.cc (ComplexRowVector::operator *): Complete + function body. Put code in-line rather than making a call to the + BLAS routine zdotu to avoid having to cope with the various ways + that Fortran compilers might translate this. + + * src/input.cc (operate_and_get_next): New function, from bash. + (initialize_readline): Bind operate_and_get_next to C-O here. + + * src/input.cc (command_completer, command_generator): + Declare static here. + * srs/input.h (command_completer, command_generator): + Not extern here. + + * g-builtins.cc (builtin_warranty): Change copyright info. + * octave.cc (verbose_usage): Likewise. + (main): Likewise. + +Mon Jan 3 15:49:41 1994 John Eaton (jwe@schoch.che.utexas.edu) + + * src/fnmatch.c, src/fnmatch.h: New files for pattern matching + from the GNU C library. + * src/Makefile.in: Add them to the appropriate lists. + * src/t-builtins.cc (builtin_save): Use fnmatch to do pattern + matching instead of using regular expressions. + (builtin_clear): Likewise. + (glob_pattern_p): New function. + (builtin_save): Print error message and return if only given one + argument that contains globbing characters. + + * src/symtab.cc (symbol_record::save): Don't attempt to save + undefined variables. + +Wed Dec 29 02:55:08 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/rank.m: Also need to compute SVD when nargin == 2. + Correct usage message. + +Wed Dec 15 01:44:18 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/f-lpsolve.cc, src/f-fsqp.cc, src/f-npsol.cc, src/f-qpsol.cc, + src/f-lsode.cc, src/f-dassl.cc, src/f-fsolve.cc, src/f-quad.cc: + New stub options functions, XXX_options, and XXX_options_2 (for + future dld use), where XXX is lpsolve, fsqp, npsol, etc. + * src/f-lpsolve.h, src/f-fsqp.h, src/f-npsol.h, src/f-qpsol.h, + src/f-lsode.h, src/f-dassl.h, src/f-fsolve.h, src/f-quad.h: + Declare XXX_options functions. + * src/builtins.cc (builtin_general_functions): Add new XXX_options + functions to the list of builtin functions. + * src/g-builtins.cc: Define builtin_XXX_options functions. + * src/g-builtins.h: Declare them. + + * scripts/tzero.m: Add missing comma in fprintf call. + +Tue Dec 14 00:24:35 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * libcruft/quadpack/*.f: Modify to handle user-requested + termination from inside the user-supplied function. + * src/f-quad.cc (quad_user_function): Set quad_integration_error + if an error is encountered in the user-supplied function. + * liboctave/Quad.h (quad_integration_error): New global variable. + * liboctave/Quad.cc (user_function): Handle + quad_integration_error, and error flag for modified Quadpack + functions. + + * src/tree.cc (tree_simple_assignment_expression::eval): Check + error status after calling convert_to_const_vector () on the + argument list. + (tree_index_expression::eval): Ditto. + + * src/tree.cc (tree_argument_list::convert_to_const_vector): + If an error is encountered while evaluating an element of the + list, print an error message including the element number. + + * liboctave/ODE.cc (integration_error): New private data member. + (ODE constructors): Initialize it to zero. + (ODE::integrate (double)): Reset it to zero before each + integration step. + (lsode_f): Treat empty vector returned from user-supplied function + as an error. + * src/f-lsode.cc (lsode_user_function): Return empty vector if + error is encountered in user-supplied function. Don't jump to top + level on error. + + * libcruft/odepack/lsode.f (lsode): Return with istate = -13 on + error from user supplied subroutine. + * libcruft/odepack/lsode.f (lsode): Handle extra argument returned + from user-supplied function. + * libcruft/odepack/stode.f (stode): Likewise. + * libcruft/odepack/prepj.f (prepj): Likewise. + +Wed Dec 8 01:30:57 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/DAE.cc (integration_error): New private data member. + (DAE constructors): Initialize it to zero. + (DAE::integrate (double)): Reset it to zero before each + integration step. + (dassl_f): Treat empty vector returned from user-supplied function + as an error. + * src/f-dassl.cc (dassl_user_function): Return empty vector if + error is encountered in user-supplied function. Don't jump to top + level on error. + + * liboctave/NPSOL.cc (npsol_objective_error): New global variable. + (npsol_objfun): Set to zero before calling user-supplied function. + Check after calling user-supplied function. + Set mode to -1 on error. + (npsol_confun): Set mode to -1 on error. + (npsol declaration): Declare args for user-supplied functions. + * src/f-npsol.cc (npsol_objective_function): If an error is + encountered in the calculation of the objective function, set + npsol_objective_error to 1. + (npsol_constraint_function): Treat empty vector returned from + user-supplied function as an error. + + * liboctave/Array.cc (*::checkelem): Correct bounds checking. On + error, return uninitialized value of type T. This avoids placing + an extra requirement on the class that can be used as an array + element. + (*::operator ()): Likewise. + +Mon Dec 6 07:24:49 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/NLEqn.cc (hybrd1 declaration): Declare args for + user-supplied fuction. + (hybrj1): Likewise. + (hybrd1_fcn): Treat return of empty vector from user supplied + function as an error by setting iflag to -1. + (hybrj1_fcn): Likewise. + (solve): Handle case of info < 0 returned from hybrd1. + + * src/f-fsolve.cc (fsolve_user_function): Don't jump to top level + on error in user-supplied function. Treat empty vector returned + from user-supplied function as error. + (hybrd_info_to_fsolve_info): Translate -1 (failure in evaluation + of user-supplied function) to -2. + * scripts/perror.m (fsolve case): Handle -2. + + * info/error.c (program_name): Initialize to info, not NULL. + + * info/session.c (initialize_info_session): Don't exit if term is + too dumb or too small to use info. Return int status instead. + * info/info.h (TERM_TOO_SMALL): New macro. + + * src/t-buitlins.cc (try_info): Check return value from + initialize_info_session (). + + * liboctave/Array.cc (DiagArray::DiagArray (int n, const T& val)): + Set number of rows and columns to n, not 0. + +Sat Dec 4 14:01:41 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.h (YY_INPUT): Undefine if defined, then always define + the way we want. + (YY_FATAL_ERROR): Likewise. + + * src/lex.l (yywrap): Declare static. + (yy_flex_alloc): New function, so we don't have to link with + libfl.a when using flex 2.4.x. + (yy_flex_realloc): Ditto. + (yy_flex_free): Ditto. + +Thu Dec 2 19:23:43 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/*.m: Add copying notice to script files. + + * src/input.cc (command_generator): Return copy of matching string. + + * src/input.cc (command_generator): Correctly delete array of + character strings. + * src/symtab.cc (symbol_table::save): Likewise. + * src/utils.cc (pathstring_to_vector): Likewise. + + * src/utils.cc (get_m_file_names): When reallocating vector of + strings, delete original vector of pointers, but not the strings + they point to. + +Tue Nov 30 12:36:41 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/RowVector.cc, liboctave/ColVector.cc, + liboctave/DiagMatrix.cc, liboctave/Matrix.cc, + liboctave/Matrix-ext.cc: Massive rewrite to cope with new + derivation scheme. + + * liboctave/Matrix.h: Include Array.h, and derive Matrix, + ComplexMatrix, etc. from Array. Derive Complex + versions from Array. Delete declarations of functions + now inherited from the Array classes. + * Include mx-kludge.h with appropriate #defines in each class that + needs it. + * liboctave/Matrix.cc: Include mx-kludge.cc with appropriate + #defines in each class that needs it. + + * liboctave/Makefile.in (INCLUDES): Add Array.h, MArray.h, and + mx-kludge.h. + (SOURCES): Add Array.cc. + (EXTRAS): Add MArray.cc and mx-kludge.cc. + + * liboctave/mx-kludge.h, liboctave/mx-kludge.cc: New files to + implement the MArray functionality with macros until g++ can + handle the MArray stuff. + + * liboctave/MArray.h, liboctave/MArray.cc: New files for generic + arrays with simple math functions for like-types. This won't + quite work with g++ yet, so it's not used anywhere. + + * liboctave/Array.h, liboctave/Array.cc: New files for generic + arrays. + + * liboctave/mx-inlines.cc: Add const for const arguments. + + * src/file-io.cc (file_info): Rename class from File_info. + (file_info::operator =): Fix memory leak by deleting old name + and mode before saving new. Don't do copy if source and + destination are the same. + + * src/tree.cc (tree_matrix::eval): Plug memory leak. + + * src/tree.cc (tree_builtin::tree_builtin): Check to see that nm, + not my_name, is non-NULL before saving it. + + * src/tree.cc (tree_identifier::eval, tree_gobal_command::eval): + After performing the assignment, delete the identifier created + for temporary asssignment since the destrucotr for + tree_simple_assignment_expression doesn't do it for us. + + * src/tree.cc (tree_function::stash_m_file_name): Delete file_name + before saving it. + (tree_function::stash_function_name): Likewise, for fcn_name. + + * src/lex.l, src/lex.h: Make quote_is_transpose globally visible. + * src/parse.y (param_list): Use it, and recognize empty parameter + lists here. + + * src/parse.y (simple_expr1): Recognize empty matrices here. + (matrix): Not here. + + * src/arith-ops.cc (do_binary_op): The matrix product and quotient + functions aren't class member functions now. + + * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, + src/tree-plot.cc, src/idx-vector.cc, src/tree-const.cc: + Call ::error, not just error, since g++ now complains about not + being able to find a non-hidden member function by that name. + + * src/tree-const.cc: Call ::real and ::imag, not just real and imag, + since g++ now complains about not being able to find non-hidden + member functions by those names. + + * src/tree-const.cc (tree_constant_rep::force_numeric): Handle case + of zero-length strings. + + * src/tree-const.cc (tree_constant_rep::convert_to_str): Null + terminate strings created from scalars. + + * src/tc-index.cc (tree_constant_rep::fortran_style_matrix_index): Use + data(), not fortran_vec(). + * src/idx-vector.cc (idx_vector::idx_vector): Likewise. + + * src/SLStack.cc: Move function definitions here. + * src/SLStack.h: From here. Include SLStack.cc if not using + external templates. + + * src/unwind-prot.h: Move class declaration here. + * src/unwind-prot.cc: From here. + + * src/xdiv.h, src/xpow.h, src/variables.h, src/utils.h, + src/user-prefs.h, src/t-builtins.h, src/sighandlers.h, + src/pr-output.h, src/pager.h, src/octave-hist.h, src/mappers.h, + src/input.h, src/help.h, src/gripes.h, src/g-builtins.h, + src/f-syl.h, src/f-svd.h, src/f-schur.h, src/f-rand.h, + src/f-qzval.h, src/f-quad.h, src/f-qr.h, src/f-qpsol.h, + src/f-npsol.h, src/f-lu.h, src/f-lsode.h, src/f-lpsolve.h, + src/f-inv.h, src/f-ifft.h, src/f-hess.h, src/f-givens.h, + src/f-fsqp.h, src/f-fsolve.h, src/f-fft.h, src/f-expm.h, + src/f-eig.h, src/f-det.h, src/f-dassl.h, src/f-colloc.h, + src/f-chol.h, src/f-balance.h, src/error.h, src/dynamic-ld.h, + src/builtins.h, src/arith-ops.h, src/tree-const.h, src/tree.h, + src/token.h, src/symtab.h, src/procstream.h, src/idx-vector.h, + src/file-io.h, src/tree-base.h, src/unwind-prot.h, src/Stack.h, + liboctave/LinConst.h, liboctave/FEGrid.h, liboctave/NLEqn.h, + liboctave/NLConst.h, liboctave/LPsolve.h, liboctave/LP.h, + liboctave/FSQP.h, liboctave/DAEFunc.h, liboctave/DAE.h, + liboctave/CollocWt.h, liboctave/Bounds.h, liboctave/Objective.h, + liboctave/ODEFunc.h, liboctave/NLFunc.h, liboctave/Range.h, + liboctave/Quad.h, liboctave/QP.h, liboctave/QPSOL.h, + liboctave/QLD.h, liboctave/NPSOL.h, liboctave/NLP.h, + liboctave/f77-uscore.h, liboctave/lo-error.h, + liboctave/Matrix.h: + Don't use #pragma interface. + + * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, + src/procstream.cc, src/gripes.cc, src/f-syl.cc, src/f-svd.cc, + src/f-schur.cc, src/f-rand.cc, src/f-quad.cc, src/f-qr.cc, + src/f-qpsol.cc, src/f-npsol.cc, src/f-lu.cc, src/f-lsode.cc, + src/f-lpsolve.cc, src/f-inv.cc, src/f-ifft.cc, src/f-hess.cc, + src/f-givens.cc, src/f-fsqp.cc, src/f-fsolve.cc, src/f-fft.cc, + src/f-eig.cc, src/f-det.cc, src/f-dassl.cc, src/f-colloc.cc, + src/f-chol.cc, src/f-balance.cc, src/t-builtins.cc, + src/octave-hist.cc, src/input.cc, src/g-builtins.cc, + src/xdiv.cc, src/xpow.cc, src/user-prefs.cc, src/unwind-prot.cc, + src/tree-plot.cc, src/token.cc, src/tc-extras.cc, src/sysdep.cc, + src/sighandlers.cc, src/pr-output.cc, src/pager.cc, + src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, + src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, + src/arith-ops.cc, src/variables.cc, src/utils.cc, + src/tree-const.cc, src/file-io.cc, src/tree.cc, + liboctave/sun-utils.cc, liboctave/mx-inlines.cc, + liboctave/RowVector.cc, liboctave/ColVector.cc, + liboctave/DiagMatrix.cc, liboctave/Matrix.cc, + liboctave/Matrix-ext.cc, liboctave/Quad.cc, liboctave/ODE.cc, + liboctave/LPsolve.cc, liboctave/FSQP.cc, liboctave/DAE.cc, + liboctave/DAEFunc.cc, liboctave/QP.cc, liboctave/Objective.cc, + liboctave/ODEFunc.cc, liboctave/NLFunc.cc, liboctave/NLConst.cc, + liboctave/LP.cc, liboctave/lo-error.cc, liboctave/Range.cc, + liboctave/QPSOL.cc, liboctave/NPSOL.cc, liboctave/NLEqn.cc, + liboctave/Matrix.cc, liboctave/Matrix-ext.cc, + liboctave/LinConst.cc, liboctave/FEGrid.cc, + liboctave/DiagMatrix.cc, liboctave/CollocWt.cc, + liboctave/ColVector.cc, liboctave/Bounds.cc: + Don't use #pragma implementation. + + * src/lex.l, src/parse.y, src/procstream.cc, src/gripes.cc, + src/f-syl.cc, src/f-svd.cc, src/f-schur.cc, src/f-rand.cc, + src/f-quad.cc, src/f-qr.cc, src/f-qpsol.cc, src/f-npsol.cc, + src/f-lu.cc, src/f-lsode.cc, src/f-lpsolve.cc, src/f-inv.cc, + src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, + src/f-fsolve.cc, src/f-fft.cc, src/f-eig.cc, src/f-det.cc, + src/f-dassl.cc, src/f-colloc.cc, src/f-chol.cc, + src/f-balance.cc, src/t-builtins.cc, src/octave-hist.cc, + src/input.cc, src/g-builtins.cc, src/xdiv.cc, src/xpow.cc, + src/user-prefs.cc, src/unwind-prot.cc, src/tree-plot.cc, + src/token.cc, src/tc-extras.cc, src/sysdep.cc, + src/sighandlers.cc, src/pr-output.cc, src/pager.cc, + src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, + src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, + src/arith-ops.cc, src/variables.cc, src/utils.cc, + src/tree-const.cc, src/file-io.cc, src/tree.cc: If HAVE_CONFIG_H + is defined, include config.h. + + * config.h.in, acconfig.h: New files + * Makefile.in (DISTFILES): Add them to the list. + + * Makeconf.in (root_srcdir): Define. + (INCFLAGS): Clean up. + (UGLY_ALL_CFLAGS): New macro. + (UGLY_ALL_CXXFLAGS): Likewise. + (UGLY_ALL_LDFLAGS): Likewise. + + * configure.in: Convert to generate config.h. + Substitute root_srcdir in Makefiles. + Use AC_DEFINE(foo, 1) instead of DEFS="$DEFS -Dfoo=1". + If using g++ 2.5 or later, define USE_EXTERNAL_TEMPLATES. + Use UGLY_DEFS for what would have been substited in DEFS, for + those cases when we need DEFS instead of config.h. + +Tue Nov 16 04:59:19 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/f-expm.cc, src/f-givens.cc, src/f-qzval.cc, src/f-syl.cc: + Include f77-uscore.h here. + + * liboctave/ColVector.cc, liboctave/Matrix.cc, + liboctave/Matrix-ext.cc, liboctave/RowVector.cc: Move declarations + for Fortran functions here. + * liboctave/Matrix.h: From here. Don't include f77-uscore.h here. + +Mon Nov 15 04:03:34 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-extras.cc (min): For two-arg versions, use error(), not + FAIL. + (max): Likewise. + * src/idx-vector.cc (checkelem): Likewise. + + * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/RowVector.cc, + liboctave/ColVector.cc, liboctave/DiagMatrix.cc, + liboctave/Matrix-ext.cc, liboctave/Bounds.cc, liboctave/DAE.cc, + liboctave/CollocWt.cc, liboctave/FEGrid.cc, liboctave/LinConst.cc, + liboctave/ODE.cc, liboctave/NLEqn.cc: Don't abort or exit on + errors. Instead print some message by calling the function + pointed to by current_liboctave_error_handler and then return. + + * liboctave/lo-error.cc: New file, for liboctave error handling + stuff. + +Sun Nov 14 23:28:12 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc (default_path): Handle OCTAVE_PATH from the + environment like TeX handles TEXINPUTS. If the path starts with + `:', prepend the standard path. If it ends with `:' append the + standard path. If it begins and ends with `:', do both (which is + useless, but the luser asked for it...). + (octave_lib_dir): Plug memory leak. + +Sat Nov 13 02:41:24 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/symtab.h (symbol_record::context): New data member, to allow + recursive functions to work. + * src/symtab.cc (symbol_record::push_context): New function + (symbol_record::pop_context): Ditto. + (symbol_table::pop_context): Ditto. + (symbol_table::push_context): Ditto. + + * src/tree.cc (tree_function::eval): If call_depth is > 1, push + symbol table context and add unwind protect to pop it on exit or + error. + (pop_symbol_table_context): New function for unwind protect. + + * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of + AC_UNISTD_H. + + * src/lex.l, src/f-quad.cc, src/f-rand.cc, src/f-lpsolve.cc, + src/f-fsqp.cc, src/f-fsolve.cc, src/f-det.cc, src/f-dassl.cc, + src/f-colloc.cc, src/utils.cc, src/variables.cc, src/tree.cc, + src/tree-const.cc, src/tc-extras.cc, src/sysdep.cc, src/symtab.cc, + src/octave-hist.cc, src/pr-output.cc, src/input.cc, + src/g-builtins.cc, src/f-det.cc, src/f-inv.cc, src/file-io.cc: + Convert most calls to message() to calls to warning() or error() + instead. + + * src/f-npsol.cc (npsol): Don't try to create the linear + constraint object before checking array sizes. + +Fri Nov 12 04:36:12 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tc-inlines.cc (is_one_zero): New function. + * src/tc-assign.cc: Everywhere we check for is_zero_one, also + check for is_one_zero. Some people write ranges that go in + decreasing order... + * src/tc-index.cc: Likewise. + + * src/tc-inlines (index_check (Range&, int&, char*)): Eliminate + second arg -- there is no need to return the max value of the + range. Correctly compute and check the minimum value. + * src/tc-index.cc: Change all callers, and check the max value + there. + * src/tc-assign.cc: Likewise. + + * src/tc-assign.cc (do_vector_assign): Handle assignment of empty + matrix for int, idx_vector, and Range cases. + (do_matrix_assign): Likewise, for cases when one of the indices is + a colon and the other is an int, idx_vector, or Range. + + * liboctave/Range.h (Range): Rename private data members rng_foo + instead of just _foo. + * liboctave/Range.cc: Change names where used. + + * liboctave/Range.cc (max): Return correct value even when the + elements in the range don't line up exactly with the limit. + (min): Likewise. + (sort): New function. + + * src/tc-assign.cc (delete_row (int)): New function. + (delete_rows (idx_vector&)): Ditto. + (delete_rows (Range&)): Ditto. + (delete_column (int)): New function. + (delete_columns (idx_vector&)): Ditto. + (delete_columns (Range&)): Ditto. + + * src/tree-const.h (is_empty): Don't try checking rows and columns + if type is magic_colon or unknown. Return false instead. + (is_zero_by_zero): New function. + + * src/idx-vector.cc (sort): New function. + (intcmp): New static function, for sorting. + +Thu Nov 11 02:31:13 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * scripts/menu.m: Update to use new va_start() and va_arg() + functions. + + * src/g-builtins.cc (builtin_va_arg): Rename from + builtin_get_next_arg. + (builtin_va_start): New function. + * src/builtins.cc (builtin_general_functions): Fix up list. + + * src/tree.cc (tree_function::va_arg): Rename from get_next_arg. + (tree_function::va_start): New function. + + * src/tree.h (tree_function::num_named_args): New data member. + * src/tree.cc (tree_function::define_param_list): Set it. + (tree_function::eval): Unwind-protect it. + +Wed Nov 10 03:37:44 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_identifier::assign): Also check to make sure + that the symbol record is defined since symbol_record::is_variable + may return true even if the record is undefined. + * src/variables.cc (link_to_global_variable): Don't try to copy a + NULL_TREE_CONST. + + * src/tree-const.cc (tree_constant_rep::matrix_value): If the + current value is a scalar, return 1x1 matrix. + * src/tc-assign.cc (tree_constant_rep::check_vector_assign): + Handle case of zero size LHS. + Clean up formatting of some error messages. + + * src/lex.l ({EL}): Recognize ... when not at end of line. + * src/octave.cc (curr_function): New global variable. + * src/g-buitlins.cc (builtin_get_next_arg): New function. + * src/builtins.cc (builtin_general_functions): Add it to the list. + * src/parse.y (param_list1): Handle ... at end of parameter list. + Abort parse on error. + (ELLIPSIS): New token, for variable argument lists. + * src/tree.h (tree_function): Add varargs_ok, args_passed, + num_args_passed, and curr_arg_number data members to handle + variable argument lists. + (tree_parameter_list::marked_for_varargs): New data member. + * src/tree.cc (tree_function::takes_varargs): New function. + (tree_function::get_next_arg): New function. + (tree_parameter_list::mark_varargs): New function. + (tree_parameter_list::takes_varargs): New function. + (tree_function::eval): Set curr_function, args_passed, and + num_args_passed for use by get_next_arg. + +Mon Nov 8 14:22:34 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.79 released. + + * src/builtins.cc (builtin_text_functions): Correct usage message + for who. + + * scripts/dgram.m: New function, from R. Bruce Tenison + (btenison@eng.auburn.edu). + * scripts/dlqe.m: Ditto. + * scripts/dlqr.m: Ditto. + * scripts/c2d.m: Ditto. + + * src/tree.cc (tree_identifier::name): Make it const. + (tree_builtin::name): Ditto. + (tree_parameter_list::name): Ditto. + (tree_word_list::name): Ditto. + + * src/symtab.cc (symbol_table::save): Delete list of names after + saving. + + * src/symtab.h (symbol_table): Move #defines outside of class + declaration. + +Sun Nov 7 07:03:12 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Makeconf.in (CXX): Don't set from C++. Do set from @CXX@, which + is determined by configure. Don't set C++FLAGS. + + * src/tree.cc: (tree_function::eval (int, int)): Simply call + eval (tree_constant *, int, int, int) with nargin = 1 and args = + NULL_TREE_CONST instead of duplicating most of that function in place. + + * src/parse.y (func_def2): Reset id_name after renaming identifier. + Clear id_name from top level symbol table before defining identifier. + +Sat Nov 6 04:38:57 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: When checking for g++, set CXX, not GXX. + + Merge min changes from Bruce Tenison (btenison@eng.auburn.edu) and + make the corresponding changes for max. + + * src/tc-extras.cc (min (ComplexMatrix&, ComplexMatrix&)): New + function. + (max (ComplexMatrix&, ComplexMatrix&)): Ditto. + (column_min): Handle complex args and two return values. + (column_max): Likewise. + + * liboctave/Matrix.cc (row_min_loc): New function. + (row_max_loc): New function. + (column_min_loc): Ditto. + (column_max_loc): Ditto. + +Fri Nov 5 03:12:55 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.78. + + * src/octave.h (clean_up_and_exit): Change form of declaration for + GCC 2.5.x and beyond. + + * src/tree.cc (tree_identifier::eval): Correctly handle printing + of identifier tags and conversion to assignment to `ans'. + * src/parse.y (maybe_convert_to_ans_assign): Simplify. + For identifiers, defer decision about making an ans assignment + until evaluation time since identifiers can be undefined at parse + time, and we can't tell what to do until we know what the def is. + * src/tree.cc (tree_identifier::mark_for_possible_ans_assgin): New + function. + * src/tree.cc (tree_index_expression::mark_for_possible_ans_assign): + New function. + * src/tree.h (tree_identifier): Add new private data, + maybe_do_ans_assign. + + * src/t-builtins.cc (builtin_who): Major overhaul. Support long + listings. + (print_symbol_info_line): New function. + (print_long_listing): Ditto. + (maybe_list): Ditto. + + * src/user-prefs.cc (sv_editor): New function for builtin variable + EDITOR. + * src/octave-hist.cc (do_edit_history): Use user_pref.editor, not + just the EDITOR environment variable. + + * src/user-prefs.cc (ignore_function_time_stamp): New function for + new builtin variable ignore_function_time_stamp. + * src/variables.cc (symbol_out_of_date): Use value of new + user_pref.ignore_function_time_stamp to decide whether to check to + see if a file has changed. + * src/tree.h (tree_function): Add new private data, system_m_file. + + * src/builtins.cc (string_variables): Add EDITOR and + ignore_function_time_stamp EDITOR to the list. + (bultin_general_functions): Add is_global to the list. + + * src/t-builtins.cc (builtin_clear): Make it work with new + variable scoping rules. + (builtin_document): Likewise, using new document_symbol() + function. + (builtin_save): Likewise. Allow regular expression arguments. + Don't save builtin variables that are read-only. + + * src/utils.cc (octave_home): Don't declare static. + (octave_lib_dir): Likewise. + (octave_info_dir): Likewise. + (default_editor): New function. + + * src/tree.cc (tree_builtin::def): Delete function. + (tree_identifier::def): Likewise. + (tree_identifier::symrec): Likewise. + + * src/tree.h (tree_builtin): Store name of function, not pointer + to symbol record. + + * src/user-prefs.cc (warn_assign_as_truth_value): Lookup + "warn_assign_as_truth_value", not "user_pref.warn...". + + * src/tree-base.h (def): Delete unused virtual function. + (is_prefix_expression): New virtual function. + (mark_for_possible_ans_assign): Likewise. + (is_system_m_file): Likewise. + (stash_m_file_name): No longer needs to be virtual. + (stash_m_file_time): Likewise. + + * src/octave.cc (octave_Complex_error_handler): Define, to keep + errors in the Complex class from aborting Octave. This is only a + temporary fix, I hope. + (main): Install it. + (initialize_globals): Get default editor. + (main): Call initialize_symbol_tables to do that instead of + creating them directly in main. + + * src/variables.cc (document_symbol): New function. + (initialize_symbol_tables): Likewise. + (install_builtin_mapper_function): Likewise. + (install_builtin_text_function): Likewise. + (install_builtin_general_function): Likewise. + (install_builtin_variable): Likewise. + (install_builtin_variable_as_function): Likewise. + (bind_nargin_and_nargout): Likewise. + (bind_builtin_variable): Likewise. + (link_to_global_variable): Likewise. + (link_to_builtin_variable): Likewise. + (link_to_builtin_or_function): Likewise. + (force_link_to_function): Likewise. + (is_globally_visible): Likewise. + (is_builtin_variable): Likewise. + + * src/tree.cc (print_as_scalar): Avoid trying to print row vectors + on one line. + + * src/builtins.cc (install_buitlins): Simplify installation of + builtin functions using new install_builtin_*_function functions. + Ditto for using bind_builtin_variable for installing variables. + + * src/tree.h (tree_global_command): New class. + * src/tree.cc (tree_global_command::*): Implement new class to + make global command executable. + * src/parse.y (global_decl): Make global an executable statement. + + * src/parse.y (func_def2): Rework to match new way of handling + global variables and function names in the symbol table. + Mark functions as `system' or not. + Don't use id_to_define. + If m-file and function names disagree, rename function to match + m-file name. + * src/tree.cc (tree_identifier::rename): New function. + * src/parse.cc, src/parse.h (id_to_define): Delete unused global + variable. + + * src/varables.cc (builtin_string_variable): Fix to match new + rules for global and builtin variables. + (builtin_real_scalar_variable): Likewise. + + * src/tree.cc (tree_identifier::assign): Make it work with new + rules for global variables. + (tree_identifier::parse_m_file): Likewise. + (tree_identifier::do_lookup): Likewise. + + * src/tree.cc (mark_as_system_m_file): New function. + (is_system_m_file): Ditto. + + * src/tree.cc (clear_symbol_table): New function, to be used in an + unwined_protect element for clearing function symbol tables on + exit or error. + + * src/tree.cc (tree_function::eval): Simplify using + bind_nargin_and_nargout. + Clear symbol table on exit or error with unwind_protect. + + * src/tree.cc (tree_prefix_expression::is_prefix_expression): New + function. + + * src/g-builtins.cc (builtin_is_global): New function. + + * src/lex.l (lookup_identifier): Now that global variable binding + has been fixed, only look for symbols in the current symbol table. + Really. I mean it this time. + + * src/symtab.cc: Complete overhaul, to make global variables work + a bit more reasonably. + +Mon Nov 1 15:03:39 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/Matrix.h (DiagMatrix::rows): Return nr, not len. + (ComplexDiagMatrix::rows): Ditto. + * src/Matrix.h (DiagMatrix::cols): Return nc, not len. + (ComplexDiagMatrix::cols): Ditto. + (DiagMatrix::columns): Ditto. + (ComplexDiagMatrix::columns): Ditto. + + * liboctave/DiagMatrix.cc (DiagMatrix::row): Make it work for + square case. + (DiagMatrix::column): Likewise. + (ComplexDiagMatrix::row): Likewise. + (ComplexDiagMatrix::column): Likewise. + + * liboctave/DiagMatrix.cc (DiagMatrix::operator <<): Print spaces + between elements. + (ComplexDiagMatrix::operator <<): Likewise. + +Fri Oct 29 15:32:12 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.77.1. + + * src/symtab.cc (symbol_record::alias): Don't copy formal_param or + forced_global attribute. + + * src/symtabl.cc (symbol_table::bind_globals): Don't bind to + global symbol unless it has forced_global attribute set. + + * src/tree.cc (print_as_scalar): New function. + (tree_identifier::eval): Use it. + (tree_simple_assignment_expression::eval): Likewise. + (tree_multi_assignment_expression::eval): Likewise. + + * src/lex.l (is_keyword): Give better error message for attempts + to define nested functions. + + * src/parse.y (global_decl): Return a command_list to execute + (this makes assignments in global declarations executable). + + * src/tree.cc (tree_for_command): Handle line and column info in + constructors and for error messages. + (tree_while_command): Ditto. + (tree_if_command): Ditto. + (tree_break_command): Ditto. + (tree_continue_command): Ditto. + (tree_return_command): Ditto. + (*::eval_error): Only print messages if error_state > 0. + (various): Only need to check that error_state is non-zero before + calling eval_error(). + + * src/parse.y: Handle line and column information for FOR WHILE IF + ELSEIF ELSE BREAK CONTINUE and FUNC_RET tokens. + * src/lex.l: Likewise. + + * src/octave.cc (parse_and_execute): Reset parser before starting + new parse. + + * src/tree-plot.cc (various): Check error_state in many more + places, and issue more meaningful error messages. + + * src/tree-const.cc (maybe_resize): Don't call + jump_to_top_level() on errors. + (tree_constant_rep (Range)): Likewise. + + * src/g-builtins.cc (builtin_error): Use error(), not + print_if_string() to print error messages. + * src/tree-const.cc (print_if_string): Delete unused function. + + * src/tc-assign.cc (various): Check error_state after calls to + maybe_resize(). + + * src/tc-index.cc (various): Always check the state of idx_vectors + after trying to create them. + * src/tc-assign.cc (various): Likewise. + + * src/idx-vector.cc: Use 0, not NULL. + Don't include stdlib.h. + (initialized): New data member, set nonzero if the idx_vector has + been properly initialized. + Never call jump_to_top_level () if initialization fails. + Add operator void *(), so we can test the state of an idx_vector + with `if (vector)'. + + * src/pager.cc: Explicitly initialize pager_buf to NULL. + + * src/tree-base.h: Move includes ahead of other definitions. + + * liboctave/NLEqn.cc (NLEqn::NLEqn (const Vector&, const NLFunc)): + Initialize n from xvec, not x. + +Mon Oct 25 18:01:12 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/user-prefs.cc (sv_info_file): New function. + * src/user-prefs.h (user_pref): Add info_file to the list. + * src/t-builtins.cc (try_info): Use it instead of + DEFAULT_INFO_FILE. + + * src/utils.cc (default_info_file): New function. + (octave_info_dir): Likewise. + + * src/defaults.h.in (DEFAULT_INFO_FILE): Delete unnecessary + definition since we figure out what it should be in utils.cc now. + * src/Makefile.in (defaults.h): Don't substitute DEFAULT_INFO_FILE. + * src/Makeconf.in (DEFAULT_INFO_FILE): Delete definition. + + * src/octave.cc (info_file): New global variable. + (initialize_globals): Call default_info_file () to initialize it. + (--info-file): New command line option. + + * src/builtins.cc (string_variables): Add INFO_FILE to the list. + (install_builtins): Define it. + + * info/filesys.c (compress_suffixes): Choose gunzip for .gz files. + +Sat Oct 23 17:46:09 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.77 released. + + * src/Makefile.in (INCFLAGS): Don't include info or dld + directories. + * dynamic-ld.cc: Include dld/dld.h, not just dld.h. + * t-buitlins.cc: Include info/info.h, info/dribble.h, and + info/terminal.h, not just info.h, dribble.h, and terminal.h. + + * src/t-builtins.cc (builtin_help): New option, -i, for invoking + info browser. If -i is not given, just do what we used to do, but + point to help -i as a way to get additional information. + + * builtins.cc (print_usage): New function. + + * g-builtins.cc (all builtins): Call print_usage to get usage message. + * t-builtins.cc (all builtins): Likewise. + +Fri Oct 22 15:56:16 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * Cholesky changes from R. Bruce Tenison (btenison@eng.auburn.edu): + + * src/f-chol.cc, src/f-chol.h: New files for the Cholesky + Factorization. + * src/Makefile.in (SOURCES, OBJECTS, DLD_OBJECTS): Add to lists. + * src/g-builtins.cc (builtin_chol): New function. + * src/g-builtins.h: Declare it. + + * liboctave/Matrix-ext.cc (CHOL, ComplexCHOL): New classes. + + * libcruft/lapack: dpotrf.f, zpotrf.f, dpotf2.f, zpotf2.f: New + files. + + * libcruft/blas: dsyrk.f, zherk.f: New files. + +Fri Oct 22 14:04:16 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc (builtin_schur): Fourth arg for DLD_BUILTIN is + schur, not hess. + + * scripts/dare.m: Correct usage of fprintf. + + * src/utils.cc (raw_mode): Only complain about stdin not a tty if + interactive or forced interactive. + +Thu Oct 21 17:00:57 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/builtins.cc (install_builtins): Try harder to make + initialization of NaN work. Make note about possible fixes if it + still doesn't work. + + * src/utils.cc (raw_mode): [HAVE_TERMIOS_H] and [HAVE_TERMIO_H] + Don't set TAB3 since it doesn't seem necessary and some systems + don't have it by this name. + [HAVE_SGTTY_H] To be consistent, don't set XTABS here either. + + * src/error.c (error): Call flush_output_to_pager before printing + error message. + (panic): Likewise, before aborting. + + * src/symtab.cc (symbol_record::undefine): Delete unused function. + (symbol_table::undefine): Likewise. + + * src/symtab.cc (clear): Never delete symbol records from the + table. Only delete the definitions. This makes clear and + undefine equivalent, so we don't need them + * src/tree.cc (tree_function::eval): Call symbol_table::clear, not + symbol_table::undefine. + + * src/t-builtins.cc (builtin_clear): Only clear global symbols if + we are at the top level. + * src/parse.y (CLEAR): Delete token. + (word_list_command): Remove code to handle CLEAR as special case. + (expect): Only 19 now. + * src/lex.l (handle_identifier): Remove special code for clear. + It's ok to use it in a function body now. + + * src/t-builtins.cc: Include extern "C" declarations for Info stuff. + (builtin_help): If given an argument, try to get help directly + from info file first. If that fails, do as before. + (help_syms_list): New function: + (simple_help): New function. + (try_info): New function. + (help_from_list): New function. + + * src/defaults.h.in (DEFAULT_INFO_FILE): Define new macro. + * Makeconf.in: Set value of DEFAULT_INFO_FILE. + * Makeconf.in (INSTALL_PROGRAM): Add definition. + * Makefile.in (SUBDIRS): Add info directory. + (info): New target. + * configure.in: Add autoconf macros to handle info configuration. + + * info/Makefile.in: Major changes to make it work with Octave's + Makeconf file, etc. The default action is now to build a + libinfo.a file. + + * info/error.c: New file. Move error functions here from info.c. + + * info/signals.c (clear_info_signal_handler): New function, useful + if info is used directly in another program. + + * info/termdep.h: Handle termios too. + * info/terminal.c (terminal_prep_terminal): Handle termios. + * (terminal_unprep_terminal): Likewise + + * info/session.c (initialize_info_session): Add arg to make + clearing the screen conditional. Useful if we want to call + index_entry_exists() first before displaying anything. + Change all callers. + + * info/session.c (finish_info_session): New function. + + * info/session.c (dispatch_error): Change message to include info + about how to get help and how to quit. + + * info/info.c (index_search_p): New flag. + (--index-search): New option, like apropos, but search the indices + and display the first node found. + + * info/indices.c (do_info_index_search): New function, modified + from info_index_search to allow searching the index for a string + without prompting for it. + (info_index_search): Just call do_info_index_search. + (index_entry_exists): New function, to allow us to find out if + there is an index entry for a given string without actually + displaying anything. + + * info: New directory, containing source for GNU info browser. + +Tue Oct 19 00:14:33 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/octave-hist.cc (input_from_tmp_history_file): New global flag. + (do_edit_history): Protect and set it. + (do_run_history): Likewise. + * src/parse.y (func_def2): Use it to see that input is coming from + a temporary file. This means that we shouldn't exit when we're + done reading it, and we should treat it just as if the input were + coming from the keyboard. + + * variables.cc (force_global): Force aliasing so it will happen + even if the symbol record is undefined. + + * src/lex.l (lookup_identifier): Simplify + + * src/lex.l (reset_parser): Reset error_state here. + * src/octave.cc (main): Not here. + +Mon Oct 18 14:27:02 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-const.cc: Delete constructor for tree_constant from + String. + + * In src: tree.h, mappers.h, unwind-prot.h, parse.h, file-io.h, + arith-ops.h, tree-base.h, tree-const.h, g-builtins.h, + idx-vector.h, builtins.h, dynamic-ld.h, xdiv.h, xpow.h, + pr-output.h, input.h, symtab.h, utils.h: Avoid including files + unnecessarily. + + * In src: tc-inlines.cc, mappers.cc, variables.cc, arith-ops.cc, + tree.cc, tree-const.cc, g-builtins.cc, file-io.cc, idx-vector.cc, + tc-assign.cc, tc-index.cc, builtins.cc, dynamic-ld.cc, xdiv.cc, + xpow.cc, pr-output.cc, tc-extras.cc, input.cc, symtab.cc, + utils.cc: Sprinkle liberally with const. + + * In src: f-syl.cc, f-svd.cc, f-schur.cc, f-rand.cc, f-qzval.cc, + f-quad.cc, f-qr.cc, f-qpsol.cc, f-npsol.cc, f-lu.cc, + f-lsode.cc, f-lpsolve.cc, f-inv.cc, f-ifft.cc, f-hess.cc, + f-givens.cc, f-fsqp.cc, f-fsolve.cc, f-fft.cc, f-expm.cc, + f-eig.cc, f-det.cc, f-dassl.cc, f-colloc.cc, f-balance.cc: + Add const qualifier to tree-constant arg. + +Sat Oct 16 12:22:24 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-const.h, src/tree-const.cc: Add const qualifier to + constructor arguments passed by reference. + Pass Complex arguments by const reference instead of by value. + + * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/ColVector.cc, + liboctave/RowVector.cc liboctave/DiagMatrix.cc: Pass Complex + arguments by const reference instead of by value. + +Wed Oct 13 14:13:29 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc (decode_prompt_string): ctime returns time_t, which + might not be a long. + + * src/variables.cc (identifier_exists): Only return non-zero if + the name has a definition. + + * src/f-npsol.cc (npsol): Call error(), not message(), to print + error messages. + (linear_constraints_ok): Likewise. + (nonlinear_constraints_ok): Likewise. + + * src/f-qpsol.cc (qpsol): Don't try to create the linear + constraint object before checking array sizes. Wouldn't exception + handling be nice? + Call error(), not message(), to print error messages. + Check to ensure that the bounds on linear constraints are + vectors. + + * src/lex.l (lookup_identifier): Don't bind global variables + immediately in loops or conditionals, even at the top level. + +Sun Oct 10 8:48:00 1993 John Eaton (jwe@schoch.che.utexas.edu) + + * README.doc: New file. + * Makefile.in (doc-dist): New target. + * doc/Makefile.in (FORMATTED): New macro. + (doc-dist): New target. + + * src/tree.cc (tree_identifier::eval): Don't print anything if an + error is encountered. + (tree_simple_assignment_expression::eval): Likewise. + + * src/tc-assign.cc (do_matrix_assignment): Handle resizing + correctly when indices are (:,range), (:,matrix), (range,:), or + (matrix,:) and the lhs is empty or undefined. + +Tue Oct 5 04:02:37 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.76 released. + + * src/octave.cc (main): Print usage message if we are given more + than one extra argument on the command line. + Delay printing startup message until just before setting the toplevel + jump context. + + * src/lex.h (DO_COMMA_INSERT_CHECK): Delete unused macro. + + * src/lex.l (handle_identifier): New function. + ({IDENT}/{S}*=, {IDENT}{S}*): Use it instead of duplicating code. + (do_comma_insert_check): Use yyunput instad of returning original + character count. + Call directly instead of using DO_COMMA_INSERT_CHECK macro. + +Mon Oct 4 08:06:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.75.4. + + * src/tree-const.cc (tree_constant_rep::eval ()): Avoid calling + rows() and columns() for things like magic_colon. + +Sun Oct 3 19:39:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + Changes to add line and column info to run-time error messages: + + * src/tree.cc (tree_identifier, tree_prefix_expression, + tree_postfix_expression, tree_simple_assignment_expression, + tree_multi_assignment_expression, tree_colon_expression, + tree_index_expression): Modify constructors to allow line and + column information to be stored. + (abort_on_undefined): Delete (now) unnecessary static variable. + (all eval() functions): If error_state, return immediately. + (tree_matrix::eval ()): Call error and return tree_constant() + instead of jumping to top level on error. + (tree_identifier::parse_m_file ()): When starting to read an + M-file, initialize current_input_column to 1, not 0. + (tree_identifier::eval_undefined_error ()): Improve error message + with line and column info if it is available. Don't abort to top + level on errors. + (tree_function::traceback_error ()): New function. + (tree_function::eval ()): Don't jump to top level on errors. + Call traceback_error if there is an error evaluating the command + list. + + * src/tree.cc (tree_prefix_expression::eval_error ()): New function. + (tree_postfix_expression::eval_error ()): Ditto. + (tree_unary_expression::eval_error ()): Ditto. + (tree_binary_expression::eval_error ()): Ditto. + (tree_simple_assignment_expression::eval_error ()): Ditto. + (tree_multi_assignment_expression::eval_error ()): Ditto. + (tree_colon_expression::eval_error ()): Ditto. + (tree_index_expression::eval_error ()): Ditto. + + * src/tree.cc (tree_function::stash_function_name ()): New function. + * src/parse.y (FCN): Use it. + + * src/lex.l: Return line and column info for many (but not all) + tokens. + + * src/parse.y: Handle token values with the token class defined in + token.cc. + (check_end ()): New function. + (end_error ()): Improve error messages by including line and + column info. + + * src/arith-ops.cc (lots of functions): Don't jump to top level on + errors. + * src/tree.cc (tree_unary_expression::eval ()), + tree_binary_expression::eval ()): Handle error condition here. + + * src/gripes.cc (gripe_nonconformant): Add additional form of this + function to allow message to include dimensions. Change most + callers to use new form + + * src/octave.cc: Initialize column counter to 1, not 0. + (main): Reset error_state before evaluating each top level + command. + + * src/tree-plot.cc (tree_plot_command::eval ()): If error_state, + return immediately. + + * src/tree-const.cc (do_binary_op ()): Return tree_constant() instead + of jumping to top level on errors. + (do_unary_op): Likewise. + (tree_constant_rep::eval ()): If error_state, return immediately. + Convert 1x1 matrices to scalars. + + * src/tc-assign.cc (tree_constant_rep::do_scalar_assignment ()): + Don't jump to top level on error. + If there is an error while attempting to convert an undefined + variable to a matrix, don't suddenly create an empty matrix. + (tree_constant_rep::fortran_style_matrix_assignment ()): Check + return value of range_max_check() and don't jumpt to top level on + errors. + (tree_constant_rep::vector_assignment ()): Check return value of + index_check and don't jump to top level on errors. + (tree_constant_rep::check_vector_assign ()): Don't jump to top + level on errors. + (tree_constant_rep::do_matrix_assignment ()): Check return value + of index_check and don't jump to top level on errors. + + * src/tc-extras.cc (get_dimensions ()): Call error (sets error state) + but don't jump to top level on errors. + (fill_matrix): Return tree_constant() on error. + (identity_matrix): Likewise. + + * src/error.cc (error_state): New global variable, initialize to zero. + (error): Set it to one. + + * src/tc-index.cc (tree_constant_rep::valid_as_scalar_index ()): + Don't declare unused variable retval. + (tree_constant_rep::do_scalar_index ()): Return tree_constant() + instead of jumping to top level on error. + (tree_constant_rep::fortran_style_matrix_index): Don't jump to top + level on indexing or range errors. + (tree_constant_rep::do_vector_index ()): Likewise. + (tree_constant_rep::do_matrix_index ()): Likewise. + + * src/tc-inlines (range_max_check): Return -1 instead of jumping + to top level on error. + (index_check): Likewise. + + * src/utils.cc (check_dimensions): Call error, not warning, and + don't jump to top level. + + * src/tree-base.h (line_num, column_num): New data members for all + tree classes. + (line (), column ()): New virtual functions to access line and + column info. + + * src/lex.l (enum end_tok_type, enum plot_tok_type): Delete + declarations (now in token.h). + + * src/lex.h (YY_INPUT, YY_FATAL_ERROR, DO_COMMA_INSERT_CHECK, + TOK_RETURN, BIN_OP_RETURN): Move macro definition here, from + lex.l. Rename RETURN TOK_RETURN. + + * src/token.cc, token.h: New files that define a class for tokens + that includes line and column information. + +Wed Sep 29 11:15:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/octave.cc: Use GNU getopt to handle option parsing. + * src/getopt.h src/getopt.c src/getopt1.c: New files for GNU + getopt. + * src/Makefile.in: Add them to the appropriate lists. + + * src/utils.cc (raw_mode): Use the termios.h terminal driver + interface if it is available. + * configure.in: Check for termios.h + + * src/tree-plot.cc (tree_subplot_list::print (int, ostrstream&)): + If the data to be plotted is a string but it doesn't name a file, + try sending it to gnuplot directly. + +Tue Sep 28 16:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/QPSOL.cc (QPSOL::minimize (double&, int&, Vector&)): + Correct dimensions of work arrays, based on QPSOL source. + Pass ncon, which is max (1, nclin), not n, as the row dimension of + clin. + + * src/f-npsol.cc (linear_constraints_ok): Improve warning for the + case of constraints with zero dimensions. + (nonlinear_constraints_ok): Likewise. + +Mon Sep 27 01:20:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.75.3. + + * Makefile.in (dist): Make file permissions for distribution rw. + (binary-dist): Ditto. + (local-dist): Ditto. + +Sat Sep 25 15:29:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/pr-output.cc: Include stdio.h, for sprintf. + + * src/input.cc (octave_gets): Set octave_gets_line to NULL after + freeing it. + + * Version 0.75.2. + + * liboctave/Matrix.cc (Matrix::operator * (const ColumnVector&): + Correct dimension of return value. + (ComplexMatrix::operator * (const ComplexColumnVector&)): Ditto. + +Tue Sep 21 20:42:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/tree.cc (tree_identifier::assign (tree_constant&)): + Correctly handle case of hiding a function with a variable when + the variable has not been flagged as global. + tree_identifier::assign (tree_constant&, tree_constant*, int)): + Likewise. + + * src/variables.cc (force_global): When a variable is moved to the + global symbol table, mark it as global. + + * src/symtab.cc (symbol_record::symbol_record ()): Initialize + forced_global. + (symbol_record::clear_visible ()): Reset forced_global to zero. + (symbol_record::clear_all ()): Ditto. + (symbol_record::mark_as_forced_global ()): New function. + (symbol_record::is_forced_global ()): New function. + (symbol_record::alias ()): Also copy forced_global attribute. + + * src/symtab.h (symbol_record::forced_global): New private data + member, used to record when a variable has been explicitly + declared global. + + * src/lex.l (lookup_identifier): Look in current scope first. + +Mon Sep 20 03:15:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/parse.y, src/tree.cc, src/tree.h: Allow `for' command to + assign to an index expression, not just an identifier. + + * src/t-builtins.cc (builtin_clear (int, char **)): Don't delete + g_names twice. + + * src/symtab.cc (symbol_table::list (int&)): Make sure count is + initialized to zero. + (symbol_table::var_list (int&)): Ditto. + (symbol_table::fcn_list (int&)): Ditto. + +Sat Sep 18 04:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/lex.l, src/parse.y, src/parse.h: Use new global variable + past_plot_range to make gplot and gsplot smarter about + distinguishing plot ranges and literal matrices. + +Fri Sep 17 01:06:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.75.1 released. + + * src/f-qzval.cc: Include for DBL_EPSILON. + + * src/symtab.cc (symbol_record::save (ostream&, int)): Don't print + a warning for ans being undefined. Call warning to print the + message, and change the text to make it clearer. + (symbol_table::save (ostream&, int)): Don't crash if there aren't + any symbols to save. + +Thu Sep 16 00:21:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/t-builtins.cc (builtin_help): When trying harder to find + help for M-files, only insert the symbol into the global symbol + table if there really is an M-file of the given name in the path. + +Wed Sep 15 02:08:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.75. + + * src/Makefile.in (INCLUDES): Distribute defaults.h + (%.d: %.cc): Don't fail if we can't determine dependencies. + (DISTFILES): Include move-if-change. + +Tue Sep 14 21:23:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * scripts/perror.m: Use err, not info for fsolve section. + +Mon Sep 13 19:29:26 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/utils.cc (get_m_file_names): Call closedir(), not free(), to + dispose of directory structure. + +Sun Sep 12 19:07:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-const.cc (tree_constant_rep::double_value): Rearrange + to avoid warning about reaching end of non-void function. + (tree_constant_rep::matrix_value): Ditto. + + * src/error.cc (panic): Declare volatile. + * src/utils.cc (jump_to_top_level): Declare as `void volatile', + not `volatile void'. + + * src/tree-const.cc (tree_constant_rep::complex_matrix_value): + Make it work even if the internal representation is really a real + or complex scalar or a real matrix. + (tree_constant_rep::complex_scalar_value): Make it work even if + the internal representation is really a real scalar. + + * src/f-syl.cc (syl): Delete ComplexMatrixLoad(). + Use complex_matrix_value(), not ComplexMatrixLoad(). + + * src/tree-const.cc (vector_of_empties): Renamed from empty_tree, + moved from f-syl.cc. + + * src/f-syl.cc (syl): Call vector_of_empties() instead of empty_tree(). + * src/f-qzval.cc (qzvalue): Ditto. + + * src/tree-const.h (tree_constant::is_empty): New inline function. + + * src/f-syl.cc (syl): Call is_empty instead of empty_arg. + * src/f-qzval.cc (qzvalue): Ditto. + * src/f-expm.cc (matrix_exp): Ditto. + +Thu Sep 9 22:40:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/Matrix.cc (Matrix::transpose): Make it work for empty + matrices. + (ComplexMatrix::transpose): Ditto. + +Mon Sep 6 04:56:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/tree-plot.cc (tree_subplot_list::print): If the plot data + is a string and it names a file, plot the data in the file. + + * src/octave.cc (execute_startup_files): Try harder to avoid + executing $HOME/.octaverc twice. + + * liboctave/DAE.cc (DAE::integrate (Vector&, Matrix&, Vector&)): + Add missing parameter in call to integrate() if no critical points + are specified. + +Sat Sep 4 16:18:49 1993 John W. Eaton (jwe@ward.che.utexas.edu) + + * src/octave.cc (execute_startup_files): Don't execute + $HOME/.octaverc twice. + +Mon Aug 30 11:25:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/t-builtins.cc (builtin_clear): Handle regular expressions. + +Fri Aug 27 07:25:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/RowVector.cc: + (RowVector::operator * (const ColumnVector& a) const): Fix brain-o. + +Wed Aug 18 00:29:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * list_primes.m: New M-file. + + * src/tc-index.cc (do_scalar_index): Handle two vector args of all + ones. + +Tue Aug 17 06:26:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/file-io.cc (process_printf_format): Use NINT for * modifier + argument. + +Mon Aug 16 19:30:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/mappers.cc: (arg (double)): Return pi for negative real values. + +Sun Aug 15 05:08:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/octave-hist.cc (mk_tmp_hist_file): New function, extracted + from do_edit_history. + (do_edit_history): Simplify using mk_tmp_hist_file. + (do_run_history): New function. + (edit_history_repl_hist): New function. + + * src/t-builtins.cc (builtin_run_history): New function. + + * src/builtins.cc (text_functions): Add run_history to the list. + +Fri Aug 13 16:04:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tzero.m: New M-file. + * abcdchk.m: New M-file. + * is_symmetric.m: Use tol and norm (A) to decide if A' is close + enough to A to be considered the same. + +Wed Aug 11 15:50:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.74.1. + + Merge in expm changes from A. S. Hodel : + + * f-expm.{h,cc}: New files. + * src/Makefile.in: Include them in the usual places. + * src/g-builtins.cc (builtin_expm): The new matrix_exp returns a + tree_constant by value. + Include f-expm.h + * src/tc-extras.cc (matrix_exp): Delete function. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + Merge in qzval changes from A. S. Hodel : + + * f-qzval.{h,cc}: New files. + * src/Makefile.in: Include them in the usual places. + * src/g-builtins.cc (builtin_qzval): New function. + Include f-qzval.h + * src/g-builtins.h: Declare builtin_qzval. + * src/builtins.cc (general_functions): Add qzval to the list. + + * libcruft/eispack: New directory. + * libcruft/Makefile.in (SUBDIRS): Include it. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Add libcruft/balgen/Makefile and + libcruft/eispack/Makefile to the list of files to frob. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + Merge in syl changes from A. S. Hodel : + + * lyap.m: New M-file. + + * f-syl.{h,cc}: New files. + * src/Makefile.in: Include them in the usual places. + * src/g-builtins.cc (builtin_syl): New function. + Include f-syl.h + * src/g-builtins.h: Declare builtin_syl. + * src/builtins.cc (general_functions): Add syl to the list. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/g-builtins.cc (builtin_balance): Fix typo in doc string. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + Merge in givens changes from A. S. Hodel : + + * f-givens.{h,cc}: New files. + * src/Makefile.in: Include them in the usual places. + * src/g-builtins.cc (builtin_givens): New function. + Include f-givens.h + * src/g-builtins.h: Declare builtin_givens. + * src/builtins.cc (general_functions): Add givens to the list. + + * src/Makefile.in: (defaults.h) Quote substitutions. + Use %foo%, not @foo@ to mark substitution. + * src/defaults.h.in: Use %foo%, no @foo@ to do mark things to + substitute. + + * qzhess.m: New M-file. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + Merge in balance changes from A. S. Hodel : + + * are, is_controllable.m, is_observable.m, is_square.m, + is_symmetric.m: New M-files. + + * Matrix.h (AEPBALANCE): New class. + (ComplexAEPBALANCE): New class. + (GEPBALANCE): New class. + * Matrix-ext.cc: Add init functions for balancing classes. + + * src/f-balance.{h,cc}: New files. + * src/Makefile.in: Include them in the usual places. + * src/g-builtins.cc (builtin_balance): New function. + Include f-givens.h + * src/g-builtins.h: Declare builtin_balance. + * src/builtins.cc (general_functions): Add balance to the list. + + * libcruft/balgen: New directory. + * libcruft/Makefile.in (SUBDIRS): Include it. + +Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Use AC_HAVE_LIBRARY to check for -lm. + + * src/Makefile.in (defaults.h): Quote substitutions. + +Mon Aug 9 13:30:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * README.NLP: New file. + * Makefile.in (DISTFILES): Distribute it. + +Sun Aug 8 19:05:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/move-if-change: New file. + * src/Makefile.in (DISTFILES): Distribute it. + (defaults.h): New rule. + (utils.o): Delete rule, since extra defines are no longer needed. + (INCLUDES): Distribute defaults.h.in. + * src/utils.cc: Include defaults.h to get DEFAULT_PAGER and + OCTAVE_HOME instead of depending on having them defined by the + compile command. + + * configure.in (DEFAULT_PAGER): Use AC_PROGRAMS_CHECK. + If we find less, add `-e' flag, so users won't have to type q to + quit paging. + +Sat Aug 7 13:34:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * f-*.cc: Renamed from tc-*.cc. (Use f- as the file prefix + because most of these functions are ultimately implemented in + Fortran, and, most importantly, it keeps them grouped together.) + * f-*.h: New files, for external declarations of visible functions + defined in f-*.cc. + * g-builtins.cc: Include them all. + * tree-const.h: Don't declare these functions as friends. + * Makefile.in: Cope with new names. + + * octave.cc (parse_and_execute (char *, int)): Don't declare static. + * octave.h: Declare it extern here. + * octave-hist.cc (do_edit_history): Use it here. + + * octave-hist.cc (do_edit_history): New function. + * t-builtins.cc (builtin_edit_history): Use it. + + * t-builtins.cc, t-builtins.h, builtins.cc: Rename edit to + edit_history. + + * octave-hist.cc (do_history): Print line numbers by default. + Allow quieter output with -q option. + + * g-builtins.cc (builtin_hess): Use DLD_BUILTIN macro to call hess. + * g-builtins.cc (builtin_schur): Likewise + + * tc-hess.cc (builtin_hess_2): Call hess with corrrect args. + * tc-schur.cc (builtin_schur_2): Likewise, for schur dude :-). + + * tc-fsqp.cc (builtin_fsqp_2): Fix typo. + +Thu Aug 5 23:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * input.cc (octave_read): Ensure that the last character in the + buffer is a new line. + +Wed Aug 4 19:25:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y (func_def2): Also warn if we encounter a function + definition with the same name as the script file we are reading. + + * tree.cc (tree_identifier::do_lookup): Always return NULL_TREE if + a script file was executed. + +Tue Aug 3 23:25:45 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * file-io.cc: Delete useless static keyword from File_info class + declaration. + * unwind-prot.cc: Likewise, for unwind_elem and saved_variable + classes. + * tc-rand.cc: Likewise, for enum rand_dist declaration. + * arith-ops.cc: Likewise, for enum Matrix_bool_op declaration. + * tree.cc: Likewise, for struct const_matrix_list declaration. + +Fri Jul 23 01:40:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * sysdep.cc (malloc_handler): Add missing arg to call to message(). + +Tue Jul 20 04:09:32 1993 John W. Eaton (jwe@june.che.utexas.edu) + + * Version 0.74 released. + + * doinstall.sh (version): Run `./octave -v' to get the version + number instead of grabbing it from version.h. + * Fail if we can't get a version number. + * Install ./octave, not src/octave. + + * Makefile.in (binary-dist): Don't depend on all. + * Link src/octave to ./octave. (Now that there's no source in + binary distributions, why have a src directory?) + + * file-io.cc (process_scanf_format): Rename local variable `i' to + `chars_from_fmt_str'. + * (process_printf_format): Likewise. + + * sighandlers.cc (can_interrupt): New global variable. + * (sigint_handler): Use it to decide whether to jump to top level. + * octave.cc (main): Set it after calling setjmp. + + * octave.cc (main): Declare saved_sigint_handler to be volatile. + + * tree.cc, tree-plot.cc, t-builtins.cc, pager.cc, g-builtins.cc, + file-io.cc: Terminate strstream strings with ends instead of just + using '\0'. + + * file-io.cc (process_scanf_format): Skip leading white space for + %s conversions. + * (fopen_file_for_user): Pass tree_constant arg by reference. + * (do_scanf): If doing fprintf, don't fail if first arg is a + string. + +Mon Jul 19 16:00:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (pstrcmp): Declare to take char** args, not char*. + +Sun Jul 18 13:02:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * file-io.cc (return_valid_file): Pass arg by reference. + + * file-io.cc (fclose_internal, fgets_internal, fseek_internal): + Eliminate unnecessary casts to double. + + * file-io.cc (return_valid_file, fgets_internal, fopen_internal, + do_printf, do_scanf): Use is_string_type instead of doing the + comparison ourselves. + * g-builtins.cc (builtin_exist, builtin_getenv, + builtin_shell_command): Ditto. + * tc-colloc.cc (collocation_weights): Ditto. + * tc-extras.cc (eval_string, get_user_input): Ditto. + * tc-rand.cc (rand_internal): Ditto. + * tree-plot.cc (tree_subplot_list::print): Ditto. + * variables.cc (is_valid_function, octave_string_variable): Ditto. + +Thu Jul 15 02:29:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * doc/Makefile.in (TEXINFO): Distribute texinfo.tex too. + + * t-builtins.cc (load_variable): Warn if replacing local symbol + with global from file. + * Warn if variable is not marked as global in a file, but already + exists as a global symbol, then go ahead and load it as a global. + +Tue Jul 13 01:47:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (lookup_identifier): Never alias to global here. + * tree.cc (do_lookup): Don't alias formal parameters to global. + * variables.cc (force_global): Likewise. + * symtab.cc (symbol_table::bind_globals): Likewise. + + * symtab.h (symbol_record::formal_param): New field. + * symtab.cc (symbol_record::mark_as_global_parameter): New function. + * (symbol_record::is_formal_parameter): Ditto. + * tree.cc (tree_identifier::mark_as_formal_parameter): Ditto. + * (tree_parameter_list::mark_as_formal_parameters): Ditto. + * parse.y (param_list): Use it to tag formal parameters. + * (func_def1): Ditto. + + * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): On IEEE machines, allow + divide by zero errors to be suppressed. + * user-prefs.h (warn_divide_by_zero): New user preference. + * user-prefs.cc (warn_divide_by_zero): New function. + * builtins.cc (builtin_string_variables): Install it with default + value of true. + + * tree.cc (tree_multi_assignemnt_expression): Use tree_return_list + instead of tree_param_list. + * (tree_multi_assignment_expression:eval): Make it work. + + * tree.cc (tree_return_list): New class. Allow index expressions + and identifiers in return lists. + * (tree_matrix::to_return_list): Rename from to_param_list. + * parse.y (expression): Use it. + + * parse.y: Increment and decrement maybe_screwed_again instead of + just setting it to zero or one. + +Mon Jul 12 03:23:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-assign.cc (tree_constant_rep::do_matrix_assignment): Handle + case of lhs being of unknown type. + + * lex.l (check_for_garbage_after_fcn_def): Also ignore trailing + commas and semicolons. + +Sun Jul 11 00:08:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.73.1 released. + + * symtab.cc (symbol_record::alias): Also copy pointer to sv_fcn. + +Sat Jul 10 14:34:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_function::eval (int, char **, int): New function. + + * symtab.cc (symbol_table::bind_globals): New function. + * tree.cc (tree_function::eval): Use it to associate local symbols + with global data. + + * symtab.cc (alias): Add optional parameter `force'. + + * Version 0.73 released. + + * pr-output.cc: Use D_NINT instead of NINT in some cases to avoid + overflow problems on systems that don't have IEEE Inf. + * mappers.cc (round): Likewise. Also avoids conversion of Inf to + INT_MAX on systems that do have IEEE Inf. + + * builtins.h: Remove definition of NINT. + * tree.h: Likewise. + * tree-const.h: Likewise. + + * utils.cc (NINT): Move function here and improve handling of + extreme values. + * (D_NINT): New function. + + * scripts/isempty.m: Don't require the number of rows and columns + to both be zero. + +Thu Jul 8 16:25:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.72.2. + + * configure.in: Do a better job of grabbing the last argument as + the target_host_type and avoiding setting it to things like + --prefix=/foo/bar + + * tree-const.cc (tree_constant_rep::save): Add default case for + mark_as_global switch to avoid warnings from gcc. + + * variables.cc (force_global): Cope with symbol table changes. + * tree.cc: (tree_identifier::do_lookup): Likewise. + * lex.l (lookup_identifier): Likewise. + * builtins.cc (install_builtins): Likewise. + + * symtab.cc, symtab.h: Massive internal rewrite. + +Wed Jul 7 02:18:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-assign.cc (tree_constant_rep::do_scalar_assignment): If rhs + is a scalar type, also handle case of lhs being of unknown type. + * Be sure to set the new type of the lhs. + + * tree-base.h: Don't include symtab.h. + * tree-const.h: Ditto. + +Tue Jul 6 22:47:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y (func_def2): Remove the function name from the top-level + symbol table if defining on command line (an M-file would never be + parsed if there was already an entry with the same name in the top + level symbol table). + + * parse.y (word_list_command): Allow clear without any arguments. + * tree.cc (word_list_command::eval): Handle word list commands + with no arguments. + +Mon Jul 5 14:43:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.72.1. + + * help.cc (operators): Document the double quote character. + + * lex.l (getting_help): Delete unused variable. + * (HELP_FCN): New exclusive start state. + * ({IDENT}{S}*): Set start state to HELP_FCN instead of setting + getting_help. + * ({IDENT}/{S}*=): Likewise. + + * symtab.cc (symbol_table::load): Delete unused function. + + * tree-const.cc (tree_constant::load): Return flag telling whether + the constant is global. + * t-builtins.cc (builtin_load): Handle global variables. + * (builtin_save): Likewise. + + * symtab.cc (symbol_record::save): Don't save builtin variables + (variables marked as eternal are assumed to be builtin). + + * symtab.cc (symbol_record::mark_from_global): New function. + * (symbol_def::undefine): Add optional argument to prevent + deleting symbol's definition. + * (symbol_table::undefine): If this variable has been marked as + defined from a global, call symbol_def::undefine with arg = 1. + * tree.cc (tree_identifier::do_lookup): If a local symbol is + defined from a global, mark it as such. + + * symtab.cc (symbol_record::define (symbol_record*)): Delete + unused function. + + * tree.cc (tree_identifier::do_lookup (int&)): Use operator= + instead of symbol_record::define(). + * variables.cc (force_global (char*)): Likewise. + +Sun Jul 4 01:27:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (symbol_record): Define copy constructor and operator=. + + * builtins.cc (install_builtins): Make `i' and `j' read-only + functions. + + * symtab.cc (symbol_record::define): Respect read-only status of + variables and functions. + +Sat Jul 3 19:11:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * user-prefs.h (print_empty_dimensions): New user preference variable. + * user-prefs.cc (print_empty_dimensions): New function. + * builtins.cc (print_empty_dimesions): Make default value true. + * tree-const.cc (tree_constant_rep::eval): Use value here. + + * cond.m: Handle empty matrices. + * tc-det.m (determinant): Likewise. + * tc-inv.m (inverse): Likewise. + + * tc-hess.cc (hess): Use gripe_square_matrix_required instead of + calling error. + * tc-schur.cc (schur): Likewise. + + * builtins.cc (propagate_empty_matrices): Change default value to + true. + + * tree-const.cc (tree_constant_rep::eval): If a matrix has zero + rows or columns, also print the dimension along with the `[]' + symbol. + + * tree-const.cc (do_binary_op): If ok to propagate empty matrices, + go ahead and do the binary operation so that the result will have + consistent dimensions. + * (do_unary_op): Likewyse. + + * tc-extras.cc (get_dimensions): Don't force both nr and nc to + zero if one is. + * Matrix.cc, DiagMatrix.cc, ColVector.cc, RowVector.cc: Handle + matrices with zero dimensions in a more consistent fashion. + +Thu Jul 1 00:27:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * perror.m: New M-file. + + * LP.h, LP.cc: New interface for linear programmming. + * LPsolve.h LPsolve.cc: New files to implement linear programming + using lp_solve. + + * NPSOL.cc (minimize): Also return the vector of Lagrange + multipliers. + * tc-npsol.cc (npsol): Optionally return them. + + * QPSOL.cc (minimize): Also return the vector of Lagrange + multipliers. + * tc-qpsol.cc (qpsol): Optionally return them. + + * tc-qpsol.cc (qpsol): Make it work. + +Wed Jun 30 02:19:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_lpsolve): New function. + * (builtin_qpsol): Ditto. + * builtins.cc (general_functions): Add them to the list. + + * tc-lpsolve.cc: New file. + * tc-qpsol.cc: Ditto. + * src/Makefile.in: Add them to the list of SOURCES and DLD_OBJECTS. + +Tue Jun 29 15:02:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/DAE.cc (integrate): If stop_time_set is false, reset + default value for info[3]. + * liboctave/ODE.cc (integrate): Likewise, reset default values of + iopt and itask. + + From Thorsten Ohl : + * config.guess: Add check for NeXT. + * configure.in: Add check for NeXT so that readline is configured + properly (really need to improve readline's configuration scheme). + * sysdep.cc (malloc_handler): New function for handling malloc + errors on NeXT systems. + + * octave.cc (main): Call sysdep_init before anything else. + + * sysdep.cc: New file for system dependent things. + + * octave.cc (initialize_globals): Only pass argv[0] since that's + the only thing that's used. + +Sat Jun 26 13:00:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_builtin::eval (int, char**, int)): Don't panic if + called for something other than a text_fcn. + + * t-builtins.cc (builtin_cd): Rewrite to fix bogus memory + problems. + +Fri Jun 25 15:23:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.cc (builtin_cd): Don't delete value returned by + get_working_directory. + * g-builtins.cc (builtin_pwd): Likewise, and simplify. + + * utils.cc (make_absolute): Always create a new copy to return. + * utils.cc (change_to_directory): Don't delete pointer returned + from get_working_directory(). + * (file_in_path): Likewise. + +Thu Jun 24 16:48:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l ({IDENT}{S}*): Always insert a comma if the next token + doesn't look like some sort of operator, not just if + convert_spaces_to_comma is also true (it may have been turned off + by BIN_OP_RETURN). + + * tree-const.h (matrix_ptr): Delete function. + * tc-extras.cc (frobit): Delete function. + * (get_dimensions): New function. + * (identity_matrix): Completely rewrite. + * (fill_matrix): Likewise. + +Wed Jun 23 13:50:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix-ext.cc (SCHUR::init): Also allow ord flag to be lowercase. + * (ComplexSCHUR::init): Ditto. + * tc-schur.cc (schur): Likewise. + + * Matrix-ext.cc (SCHUR::init): Declare sort as char, not char*, + and pass its address to Lapack. + * (ComplexSCHUR::init): Ditto. + + * Matrix-ext.cc (SCHUR::select_dig): Make static, and move ahead + of first reference in file. + * (SCHUR::select_ana): Likewise. + * (ComplexSCHUR::select_complex_dig): Likewise. + * (ComplexSCHUR::select_complex_ana): Likewise. + + * builtins.cc (install_builtins): Add `J' as an alias for `I'. + + * builtins.cc (install_builtins): Always create a new + tree_constant for each variable, since the symbol table doesn't + know how to share them. + + * tc-schur.cc (schur): Use warning and error functions instead of + writing directly to cerr. + * tc-hess.cc (hess): Ditto. + + * src/Makefile.in (DLD_OBJECTS): Include tc-schur.o and tc-hess.o. + * (SOURCES): Add tc-schur.cc tc-hess.cc. + + * Merge Schur and Hessenberg changes: + + Fri Mar 19 11:01:19 1993 R. Bruce Tenison (btenison@eng.auburn.edu) + + * src/builtins.cc: Changed schur definition to include one more + input. Also changed the help line description + * src/g-builtins.cc: Changed builtin_schur to accept two inputs + Also changed the information to explain ordered schur operation. + * src/tc-schur.cc Added extensions to the SCHUR and ComplexSCHUR + calls to pass extra paramater. Also added check for proper param. + * liboctave/Matrix.h: Modified declarations dgeesx and zgeesx to + accept address of select function. Modified class structures for + SCHUR and ComplexSCHUR to accept extra ordered schur param. + * liboctave/Matrix-ext.cc: Added extensions for the extra ordered + schur paramater. + + Wed Mar 17 15:23:14 1993 R. Bruce Tenison (btenison@eng.auburn.edu) + + * liboctave/Matrix-ext.cc (HESS and ComplexHESS): Added the + Hessenburg decomposition routines. + * liboctave/Matrix.h Added fortran lapack functions definitions + used in the Hessenburg procedure. + * src/g-builtins.cc (builtin_hess): Hessenburg Decomposition routine + added + * src/g-builtins.h (builtin_hess): Added extern definition. + * liboctave/Matrix.h Added classed HESS and ComplexHESS + * src/tree_const.h added defs for hess. + * src/tc-hess.cc (hess): New file for hess function. + + Tue Mar 16 10:46:32 1993 R. Bruce Tenison (btenison@eng.auburn.edu) + + * src/g-builtins.cc (builtin_schur): Schur Decomposition routine + added. + * src/g-builtins.h (builtin_schur): Added extern definition. + * liboctave/Matrix.h Added Classes SCHUR and Complex SCHUR, and + added defs for zgeesx and dgeesx (lapack schur decomp) + * liboctave/Matrix-ext.cc (SCHUR and Complex SCHUR): Ditto. + * src/tree-const.h added defs for schur. + * src/tc-schur.cc (schur): New file for schur function. + +Tue Jun 22 20:18:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (check_for_garbage_after_fcn_def): New function + * parse.y (fcn_end_or_eof): If reading from an M-file, use it to + print warning about trailing garbage after the end of a function + has been found. + +Mon Jun 21 20:21:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-assign.cc (tree_constant_rep::assign): Handle case of + assignment to unknown constant too. + * (tree_constant_rep::do_scalar_assignment): Don't fail for + unknown_constant type. + * (tree_constant_rep::do_matrix_assignment): Likewise. + + * tree-const.cc (rows): Return 0 for unknown_constant type. + * (columns): Likewise. + + * tree.cc (tree_identifier::assign): Defer defining symbol until + assignment is successful. + * When creating a new dummy tree_constant to assign a value to, + leave it an unknown_constant type. + + * tc-assign.cc (do_scalar_assignment): If the right hand side + isn't a scalar, maybe try to resize instead. + * (do_matrix_assignment): For A(:,int) and A(int,:) cases, also + resize if left hand side is a scalar. + + * norm.m: Allow "fro" to work for scalars and vectors too. + +Sun Jun 20 01:17:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * NLConst.cc: New file. Move inline function definitions here + from NLConst.h. + + * Objective.cc: New file. Move inline function definitions here + from Objective.h + + * tree.cc (tree_word_list_command::eval): Call strsave for argv[0] + too, and delete argv before returning. + * (tree_builtin::eval): Likewise, for text functions with no + arguments. + +Sat Jun 19 01:37:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (parse_and_execute): Delete calls to delete_buffer + and switch_to_buffer, since that is taken care of by unwinding the + frame. + +Fri Jun 18 00:08:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_matrix::eval): Delete useless direct = ptr->direct + and ptr = ptr->next statements from size-determining loop. + + * parse.y (opt_list): New rule. Replace all occurrences of list + with opt_list. + + * tree.cc: (tree_index_expression::eval (int, int)): Don't + complain if the index expression has an empty argument list. + + * octave.cc (initialize_globals): Check return value of + getenv ("HOME") against NULL, not the global variable + home_directory that we are trying to initialize. + + * tree.cc (tree_function::eval): Quick return if command list + is empty. + * parse.y (func_def3): Allow empty function bodies. + +Thu Jun 17 02:08:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_while_command): Add constructor for case of + expression only. + * parse.y (statement): Allow empty command list for while commands. + + * parse.y (list): Allow empty commands in more places. This ups + the shift/reduce error count by 6, to 19. + + * octave.cc (execute_startup_files): Don't delete sd. + + * octave.cc (initialize_globals): Make copies of all strings. + * Store more humorous messages if things fail. + +Tue Jun 15 11:03:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-extras.cc (get_user_input): Finish incomplete change to get + input using readline. + + * tc-extras.cc (match_sans_spaces): New function. + * (get_user_input): Use it when checking to see if the user + entered a `quit' command. + + * liboctave/Makefile.in: Don't distribute Makedeps.in or include + Makedeps since we generate dependencies automatically now. + * configure.in: Don't create liboctave/Makedeps. + +Sun Jun 13 18:31:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/xdiv.cc (xdiv): Solve least-squares problem if system of + equations is not square, or if it is singular. + * (xleftdiv): Likewise. + + * liboctave/Matrix.h (Matrix::lssolve): New functions for + least-squares solutions of linear systems. + * (ComplexMatrix::lssove): Ditto. + +Sat Jun 12 19:07:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * libcruft/misc/xstopx.f (xstopx): Call dostop, not do_stop. + * libcruft/misc/dostop.c: Rename from do_stop.c + * (dostop): Likewise. + + * src/mappers.cc (xisnan (double)): Define even for systems that + don't have xisnan by always returning false. + * (xisnan (const Complex&)): Likewise. + +Fri Jun 11 19:54:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * doc/Makefile.in (install): Try harder to install info files. + + * libcruft/Makefile.in (install): Run ranlib on installed library. + * liboctave/Makefile.in (install): Ditto. + * readline/Makefile.in (install): Ditto. + +Thu Jun 10 00:15:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.72 released. + + * libcruft/*/*.f: Don't call xstopx with '' since some Fortran + compilers object to zero-length strings. + * libcruft/misc/xstopx.f (xstopx): Don't print empty strings or + single blanks. + * libcruft/misc/gen-d1mach.c (main): Likewise, for generated code. + + * test/Makefile.in (check): Set the Tcl variable OCTAVE_PATH. + * test/config/unix-octave.exp: Pass OCTAVE_PATH to OCTAVE using + the new -p flag. + + * builtins.cc (install_builtins): Use load_path instead of calling + default_path(). + + * octave.cc (load_path): New global variable. + * (initialize_globals): Initialize it here by calling default_path(). + * (main): Call initialize_globals() before getting command line + arguments. + * Accept new argument, -p PATH. + + * octave.cc (clean_up_and_exit): Don't print a message when Octave + exits. + + * doinstall.sh: Install M-files in $(libsubdir), not $(libdir). + * Use mkpath to create directories. + * Extract version from version.h. + + * Makeconf.in (version): Compute version just once. + + * (libsubdir): New directory that includes version number, for + installing M-files in (old versions of Octave may not be able to + understand new M-files). + + * src/Makefile.in, libcruft/Makefile.in, liboctave/Makefile.in, + doc/Makefile.in, readline/Makefile.in, scripts/Makefile.in + (install): Use mkpath to create directories. + * scripts/Makefile.in (install): Install M-files in $(libsubdir), + not $(libdir). + + * mkpath.c: New file, from Emacs-19. + * Makefile.in (mkpath): New rule. + * (all): Depend on mkpath + * (binary-dist): Distribute it. + + * config.guess: Update from bothner@cygnus.com. + + * lex.l ({QSTR}*[\n\']): Set start state to 0 or MATRIX, + depending on value of braceflag. + * ({DQSTR}*[\n\"]): Ditto. + + * tree.cc (tree_matrix::eval): Make sure that strings are nul + terminated. + +Tue Jun 8 16:08:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (clean_up_and_exit): Print `bye-bye' here. + * g-builtins.cc (builtin_quit): Not here. + + * pager.cc (terminal_columns): If screenwidth <= 0, return a + default value of 80 columns. + * (terminal_rows): Likewise for screenheight and a default of 24 + rows. + + * octave.cc (parse_and_execute): Don't fiddle with interactive + states since that screws paging output. + * tree.cc (parse_m_file): Likewise. + + * parse.y (input): For `simple_list error END_OF_INPUT' and + `error END_OF_INPUT' use ABORT_PARSE. + * Always accept `simple_list END_OF_INPUT'. + * Always abort for `END_OF_INPUT'. + +Mon Jun 8 13:55:41 1993 John C. Campbell (jcc@schoch.che.utexas.edu) + + * file-io.h (fopen_file_for_user): New function declaration. + + * file-io.cc (fopen_file_for_user): New function. + * (fgets_internal): If file doesn't exist open it for user, + also return (double) -1 on EOF + * (fseek_internal), (ftell_internal), (frewind_internal), + (do_printf): Ditto. + * (fopen_internal): Remove warn_on_not_open flag, limit warns. + +Mon Jun 7 00:28:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * file-io.cc (do_scanf): Use `type' wherever possible instead of + hardcoding name in messages. + * (do_printf): Ditto. + + * file-io.cc (fflush_internal): If flushing stdout, flush output + to the pager instead of calling fflush on a stream. + * (do_printf): Make fprintf (stdout, ...) exactly the same as + printf (...). + * (do_scanf): Make fscanf (stdin, ...) exactly the same as + scanf (...). + + * tc-extras.cc (get_user_input): Flush output to pager before + prompting for input. + + * libcruft/Makefile.in (DISTFILES): Distribute STOP.patch to show + the changes made to the Fortran sources. + + * libcruft/*/*.f: Replace STOP statements with calls to xstopx, so + that Fortran programs won't just quit on us. + + * libcruft/misc/xstopx.f: New file. + * libcruft/misc/do_stop.c: New file. + * libcruft/misc/Makefile.in (SPECIAL): Add do_stop.c to the list. + * (SPECIAL_DEPEND): Likewise, for do_stop.o. + * libcruft/Makefile.in (CRUFT_OBJ): Ditto. + + * lex.l (")"): Don't pop the top of the in_brace_or_paren stack if + it's empty. + +Sun Jun 6 00:41:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * liboctave/CollocWt.cc (init): Always compute Gaussian quadrature + weights instead of trying to compute Radau or Lobatto weights if + the endpoints are included. + * Really do compute roots and derivative weights corresponding to + Legendre polynomials if alpha and beta are zero, even if the + endpoints are included. + +Sat Jun 5 22:19:55 1993 John C. Campbell (jcc@schoch.che.utexas.edu) + + * builtins.cc (builtin_general_functions): Correct max arg counts + for fscanf, scanf, and sscanf. + + * g-builtins.cc (builtin_fscanf): Correct argument checks. + * (builtin_sscanf): Likewise. + + * file-io.cc (fopen_internal): Don't warn for opening new file. + + * file-io.cc (process_printf_format): Handle * for field width and + precision. + * Pass array of arguments and nargin instead of just one arg. + * (do_printf): Call process_printf_format() with new args. + + * file-io.cc (process_scanf_format): New function to handle scanf + dirty work. + * (do_scanf): New function. + +Sat Jun 5 14:09:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (YY_FATAL_ERROR): Redefine here to keep from exiting on + fatal scanner errors. + +Fri Jun 4 16:35:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_multi_assignment_expression::eval (int)): Check to + see if result is NULL before trying to use it. + + * tc-extras.cc (get_user_input): Call gnu_readline() to get input. + +Thu Jun 3 00:30:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * scripts/*.m: Convert single-quoted strings to use double quotes + since the manual says they are better. + + * Version 0.71.10. + + * doc/Makefile.in (DISTFILES): Distribute octave.info*. + + * Makefile.in (.fname): Delete target and move actions back to the + individual dist targets because this always needs to be done. + * (binary-dist): Strip src/octave. + + * doinstall.sh: New file, for binary distributions. + +Wed Jun 2 15:11:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Makefile.in (binary-dist): New target, just like dist, except + also distribute libcruft.a, liboctave.a, libreadline.a and + src/octave. + + * Makefile.in (.fname): New target. + * (links-for-dist): New target. + * (local-dist): Depend on .fname. + * (dist): Depend on .fname and use links-for-dist. + + * octave.cc: Move code to print startup message to just after + option processing so that any messages from startup files will + appear after the normal startup message. + + * utils.cc (get_site_defaults): New function. + * (OCTAVE_HOME): Provide default definition. + + * (SITE_DEFAULTS): Delete definition. + * octave.cc (execute_startup_files): Use get_site_defaults instead. + + * src/Makefile.in (utils.o): Define OCTAVE_HOME to be $(prefix) + here. + + * Makeconf.in: Don't define SITE_DEFAULTS or OCTAVE_M_FILE_DIR. + + * lex.l (do_string_escapes): Recognize `\"'. + +Tue Jun 1 01:28:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.71.9. + + * parse.y (maybe_convert_to_ans_assign): Greatly simplify. + + * file-io.cc (File_info): Convert from struct to proper class. + * (valid_mode): New function. + + * parse.y, parse.h, lex.l, tree-extras.cc (convert_to_ans_assign): + Delete unused variable. + + * builtins.cc (SEEK_CUR): Set to 1 to match (normal) system values. + * (SEEK_END): Likewise, set to 2. + + * statdefs.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * octave-hist.cc: Include it. + * variables.cc (identifier_exists): Likewise. + * utils.cc (is_newer): Likewise. + + * builtins.cc (SEEK_SET): New builtin varible. + * (SEEK_CUR): Ditto. + * (SEEK_END): Ditto. + * (stdin): Ditto. + * (stdout): Ditto. + * (stderr): Ditto. + + * lex.l (strip_trailing_whitespace): New function. + * ({IDENT}{S}*): Use it. + * ([^ \t\n\;\,]*): Fix to grab trailing spaces. + Use strip_trailing_whitespce() to delete it before returning. + +Mon May 31 21:00:00 1993 John C. Campbell (jcc@june.che.utexas.edu) + + * file-io.cc, file-io.h: New files to implement C-style file + handling and I/O functions. + * (do_printf): Move here from tc-extras.cc. + * (process_printf_format): Likewise. Also renamed from + process_format. + +Mon May 31 00:52:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * (tree_function::eval): Now that we can restore values, enable + code to give error for attempts to call functions recursively. + + * octave.cc (parse_and_execute): Use unwind-protect functions to + save and restore state. + * tree.cc (parse_m_file): Likewise. + * (tree_function::eval): Likewise. + * tc-extras (eval_string): Likewise. + + * unwind-prot.cc (saved_variable): New class to hold values of and + pointers to variables we want to restore. + * (restore_saved_variable): New function. + + * unwind-prot.cc (unwind_protect_int_internal): New function. + * (unwind_protect_ptr_internal): Ditto. + * (unwind_protect_var_internal): Ditto. + + * unwind-prot.h (unwind_prot_int): New macro. + * unwind-prot.h (unwind_prot_ptr): Ditto. + * unwind-prot.h (unwind_prot_var): Ditto. + + * variables.cc (symbol_out_of_date ()): Move here from tree.cc. + * (is_valid_function): Fix logic for finding a function + definition, including checking to see if the current symbol + definition is out of date. + + * tree-const.h (is_numeric_or_range_type): New function. + * tree-const.h (is_string_type): New function. + * tree.cc (tree_matrix::eval): Use !is_string_type() instead of + is_numeric_type() to decide that we've seen something other than + a string. + + * parse.y (maybe_warn_assign_as_truth_value ()): New function. + * user-prefs.h (warn_assign_as_truth_value): New preference. + * user-prefs.cc (warn_assign_as_truth_value ()): New function. + * builtins.cc (string_variables): Add it to the list. + + * tree.h (tree_simple_assignment_expression): Rename class from + tree_assignment_expression. + * (tree_assignment_expression): New class, derived from + tree_expression. + * (tree_simple_assignment_expression): Derive from new + tree_assignment_expression class, not tree_expression class. + * (tree_multi_assignment_expression): Ditto. + +Sun May 30 22:40:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/Makefile.in (%.d: %.cc): First remove target file, then + redirect into tmp file, and finally move tmp file to target file + only if creating tmp file was successful. + * liboctave/Makefile.in (%.d: %.cc): Ditto. + +Sat May 29 18:18:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_constant *tree_multi_assignment_expression + ::eval (int print, int nargout)): New function. + * (tree_constant tree_multi_assignment_expression::eval (int print)): + Use it to do the real work. + + * tree.cc (tree_matrix::to_param_list ()): Also allow index + expressions as long as the argument list is missing. + + * parse.y (ans_expression): Now that assignments are just + expressions, don't convert expressions to assignemnts to `ans' if + they already are assignments. + * maybe_convert_to_ans_assign (tree *expr): New function to do the + real work. + + * tree.cc (tree_multi_assignment_expression:: + is_assignement_expression ()): Return 1. + + * tree-base.h (tree::is_index_expression ()): New virtual + function, returns 0. + * tree.cc (tree_index_expression::is_index_expression ()): Return 1. + + * tree.cc (tree_assignment): Construct from tree_index_expression + and a tree. + * (tree_index_expression::ident ()): New function. + * (tree_index_expression::arg_list ()): New function. + + * parse.y (variable): New rule, returns tree_index_expression. + + * parse.y: Rewrite assignment rules so that they are simply + expressions, not special cases. + * Rearrange fact and expression rules into expression (assignement + or simple expression), simple_expr (binary and postfix expressions + or secondary simple expression), and simple_expr1 (constants and + prefix expressions) rules. + * Delete fact rules. + + * parse.y: Make EXPR_EQ and EXPR_NE have the same precedence as + the other relational operators. + +Fri May 28 10:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * unix-octave.exp: Delete use of OCTAVEFLAGS. + + * test/config: New directory. + * test/config/Makefile.in: New file. + * test/config/unix-octave.exp: Rename from test/octave-init.exp. + * test/Makefile.in (SOURCES): Delete octave-init.exp from list. + * configure.in: Add test/config/Makefile to the list of Makefiles + to build. + + * utils.cc (send_to_plot_stream): Plot lines by default. + +Thu May 27 08:03:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (\]): Don't pop the top of the in_brace_or_paren stack if + it's empty. + + * tree.cc (tree_matrix::eval): Make it work for single element + strings as well. + + * Version 0.71.8. + + * lex.l (next_token_is_postfix_unary_op): New function. + * ({SN}*\]{S}*): Use it as well, to decide whether to + insert a comma. + * ({S}+): Likewise. + * ({IDENT}{S}*): Likewise. + +Wed May 26 15:37:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * pr-otput.cc (pr_any_float): Use form() now that iostream + formatting bug has been fixed (libg++-2.3.1). + +Mon May 24 15:36:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (any_arg_is_magic_colon): New function. + * (tree_builtin::eval) Use it to avoid calling builtin functions + with `:' arguments. + +Sun May 23 14:07:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_fprintf): Correct usage message. + +Fri May 21 10:35:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.71.7. + + * octave.cc (main): Always reset_parser() before every call to + yyparse(), not just on a longjmp return. + + * doc/Makefile.in (install): For now, don't try to install + anything. + + * lex.l ({S}+): Call next_token_is_bin_op() instead of + making the check in line. + * ({SN}*\]{S}*): Likewise. + * ({S}+): Likewise. + + * lex.l (looks_like_bin_op): New function. + * (next_char_is_space): Ditto. + * (next_token_is_bin_op): Ditto. + + * lex.l ({IDENT}{S}*): If we're in a brace context and the next + character is an open paren, set convert_spaces_to_comma to 0. + * tree-const.cc (convert_to_str): New function. + * g-builtins.cc (builtin_setstr): New function. + * builtins.cc (builtin_general_functions): Add it to the list. + +Thu May 20 17:56:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * doc/Makefile.in (SOURCES): Define to be all .texi files. + * (octave.info): Depend on $(SOURCES). + * (octave.dvi): New target. + * Don't distribute the man page. + + * lex.l ({S}+): If the next character is a plus or minus + followed by a space or tab, don't insert a comma. This makes + input like [1 + 1] == 2 and input like [1 +1] == [1 1]. + * ({SN}*\]{S}*): Likewise. + + * lex.l ({S}+): Use in_brace_or_paren and + convert_spaces_to_comma to decide whether to convert spaces to a + comma. + + * lex.l ({IDENT}{S}*): If we're in a brace context and the next + character is an open paren, set convert_spaces_to_comma to 0. + + * lex.l ({SN}*\]{S}*): Even if we're still inside some braces, + don't always push a comma onto the input. + + * lex.l ({SN}*\]): Also grab trailing spaces. + * ({IDENT}): Ditto. + + * lex.l (in_brace_or_paren): New stack to keep track of whether + the closest enclosing scope is a pair of braces or parens. When + we see a `[' or a `(', push a flag on the stack. When we see a + `]' or a `)', pop the top of the stack. + + * lex.l (convert_spaces_to_comma): New flag to control lexer behavior. + * (RETURN): Reset it to 1. + * (most other returns): Reset it to 1. + + * lex.l (BIN_OP_RETURN): New macro. Set convert_spaces_to_comma to 0. + * (most binary operators): Use it instead of RETURN. + + * lex.l (match_any): New function. + +Wed May 19 12:51:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Range.cc (nelem_internal): Don't allow ranges with more than + INT_MAX elements. Return -1 to indicate failure. + * tree-const.cc (tree_constant_rep::tree_constant_rep (double, + double, double)): Check nelem() to see if the range is valid. + + * pr-output.cc (all_elements_are_ints (Range&)): We only need to + check the base and the increment, not the limit too. + + * Range.cc (nelem_internal): Move function definition here from + Range.h and do a better job of determining the number of elements + in the range. + +Tue May 18 09:06:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.71.6. + + * tc-extras.cc (find_nonzero_elem_idx): Declare inner loop + iteration variables that are used inside later nested loops + in the outer enclosing scope to make this work for old and new + language definitions (see the ARM, chapter 19: "ANSI/ISO + Resolutions", 6.4/6.5: "The statement or statements immediately + controlled by the condition in a selection-statement, or an + iteration-statement introduce an implicit local scope". + * xpow.cc (elem_xpow (Matrix&, Matrix&)): Likewise. + + * tree.cc (tree_identifier::parse_m_file (char*, int)): Set + reading_script_file before calling parse_m_file and restore it + afterward. + +Mon May 17 20:04:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.h (prog_name): Declare extern. + * (raw_prog_name): Ditto. + + * f2c-compat.sh (ctest.c): Also write a dummy MAIN_ since gcc 2.4 + doesn't seem to create an executable now if there are unresolved + externals, and the linker wants to see it on Suns. + +Thu May 13 01:06:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Makefile.in (DISTFILES): Include Makeconf.in. + + * configure.in: Set defaults for CFLAGS, CXXFLAGS, LDFLAGS, and + FFLAGS. + * Don't substitute CDEBUG, COPTIMIZE, FOPTIMIZE, or CXXOPTIMIZE. + * Use AC_PROGRAMS_CHECK instead of our own code for checking for a + Fortran compiler. + * Add Makeconf to the list of files to create. + + * src/Makefile.in (octave): Use ALL_LDFLAGS instead of LDFLAGS. + + * Makeconf.in (ALL_CFLAGS, ALL_CXXFLAGS, ALL_LDFLAGS): New macros. + * Allow the user to set CFLAGS, CXXFLAGS, and FFLAGS without + screwing things up. + * (CDEBUG, COPTIMIZE, FOPTIMIZE, CXXOPTIMIZE): Delete. + * Provide rules for making .o from .cc or .c files that use + ALL_CXXFLAGS and ALL_CFLAGS. + + * src/Makefile.in: Generate dependencies automatically using the + method described in the GNU make manual. + * liboctave/Makefile.in: Likewise. + + * All Makefile.in files: Set TOPDIR and include $(TOPDIR)/Makeconf. + * Makeconf.in: New file, for most configuration options. + + * tc-rand.cc (rand_internal): Return an empty matrix for rand (0). + +Wed May 12 01:32:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (clean_up_and_exit): Call close_plot_stream before + quitting. + + * Version 0.71.4. + + * pr-output.cc (octave_print_internal (ostrstream&, Matrix&)): + Handle wrapping columns neatly, respecting value of split_long_rows. + * (octave_print_internal (ostrstream&, ComplexMatrix&)): Ditto. + * (octave_print_internal (ostrstream&, Range&)): Ditto. + + * user-prefs.cc (split_long_rows): New preference variable and + function. + * builtins.cc (builtin_string_variables): Add to list with default + value == true. + +Tue May 11 02:20:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * pr-output.cc (pr_max_internal): Don't count Inf or NaN when + looking for max value. + * (pr_min_internal): Likewise, for min values. + + * pr-output.cc (pr_any_float): Merge pr_float and pr_imag_float. + + * pr-output.cc (any_element_is_inf_or_nan (Matrix&)): New function. + * (any_element_is_inf_or_nan (ComplexMatrix&)): New function. + * (all set_format functions (except Range)): Consider Inf and NaN + when computing field width (we'll either print "Inf" (possibly + with a sign) or "NaN"). + + * pr-output.cc (pr_float): Handle Inf and NaN. + * (pr_imag_float): Ditto. + + * pr-output.cc (set_format_style): Make format short set precision + to 3 and max field width to 8. + + * pr-output.cc (pr_float): Don't print a sign for -0.0. + * (pr_imag_float): Ditto. + + * pr-output.cc (all set_format functions): Return the actual field + width computed or 0 if free format. For complex, return both real + and imaginary field widths. + * Include pager.h for terminal_rows() and terminal_columns(). + + * pr-output.cc (pr_complex): If imaginary part is -0.0, print a + minus sign but convert the value to 0.0 before printing. + + * octave.cc (parse_and_execute (FILE *, int)): Don't use readline + to read commands from files. + * (parse_and_execute (char *, int)): Set reading_script_file + before calling get_input_from_file. + + * Version 0.71.3. + + * src/Makefile.in (deps): New target. + * Update dependencies using the output from running `make deps'. + + * pr-output.cc (set_output_prec_and_fw): New function. + * (set_format_style): Use it. + * (set_format functions): Use user_pref variables for precision + and field width. + + * variables.cc (octave_real_scalar_variable): New function. + * buitlins.cc (builtin_string_varaibles): Add output_precision and + max_field_width to the list (really need a separate list for + numeric values...). + * user-prefs.cc (set_output_max_field_width): New function to be + called when output_max_field_width changes. + * (output_precision): Likewise, for output_precision. + + * sighandlers.cc (pipe_handler_error_count): New global variable. + * (sigpipe_handler): Use it to keep from printing more than one + broken pipe message between prompts. + * (input.cc): Reset pipe_handler_error_count before printing the + prompt. + +Mon May 10 13:06:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * sighandlers.cc (sigpipe_handler): Issue warning and return + instead of aborting. + + * user-prefs.cc (all sv_* functions): Don't delete previous value + of a preference string if the new value is bogus. + + * user-prefs.cc (all sv_* functions and all functions that handle + user preferences): Return 0 for success, -1 for failure. + * symbtab.cc (symbol_record::define): Check return value of sv_fcn + and restore previous value on failure. + * symtab.h (sv_Function typedef): Change to return int, not void. + * builtins.h (sv_Function typedef): Ditto. + +Sun May 9 18:25:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * user-prefs.cc (all sv_* functions): Issue a warning if the user + gives us something that's not a string. + +Sat May 8 23:40:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * ColVector.cc (ColumnVector::min): Upper loop limit is len, not 0. + * (ComplexColumnVector::min): Ditto. + * RowVector.cc (RowVector::min): Ditto. + * (ComplexRowVector::min): Ditto. + +Fri May 7 18:41:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * pr-output.cc (set_format_style): New function, extracted from + builtin_format(). + * t-builtins.cc (builtin_format): Call set_format_style to do real + work. + + * pr-output.cc: New file for special formatted printing funcions. + * tree-const.cc (tree_constant_rep::eval): Use new functions. + + * user-prefs.cc (sv_pager_binary): New function. + * user-prefs.h (user_preferences) Add new field, pager_binary. + * builtins.cc (builtin_string_variables): Add PAGER to the list. + * utils.cc (default_pager): New function. + * Makefile.in: Define DEFAULT_PAGER for utils.cc, not pager.cc. + * pager.cc (get_pager): Delete function. + * Use user_pref.pager_binary instead of calling get_pager(). + +Thu May 6 11:05:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * pager.cc (pager_buf): Declare as static pointer to ostrstream. + * (initialze_pager): Delete old pager_buf and create new one for + each batch of output. This is needed because once str() is called + for pager buf, it will no longer grow. + + * pager.cc (maybe_page_output): Take care of deleting buffer after + str() is called. + * (flush_output_to_pager): Likewise. + * t-builtins.cc (builtin_ls): Likewise. + * (builtin_set): Likewise. + * (builtin_show): Likewise. + * tc-extras.cc (process_format): Likewise. + * (process_format): Likewise. + * tree-plot.cc (tree_plot_command::eval): Likewise. + +Wed May 5 10:45:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_shell_command): Buffer characters with an + ostrstream and call maybe_page_output instead of writing directly + to cout. + * (builtin_warranty): Likewise. + * tc-extras (do_printf): Likewise. + * tree.cc (tree_identifier::eval): Likewise. + * (tree_assignment_expression::eval): Likewise. + * (tree_multi_assignment_expression::eval): Likewise. + * tree-const.cc (tree_constant_rep::eval): Likewise. + * t-builtins.cc (builtin_help): Likewise. + * (builtin_ls): Likewise. + * (builtin_who): Likewise. + + * user-prefs.h user-prefs.cc (page_screen_output): New preference. + * builtins.cc (string_variables): Add to list with default value + of true. + + * input.cc (octave_gets): If interactive, call flush_to_pager() + before prompting. + + * utils.cc (terminal_rows): Move to pager.cc + * (terminal_columns): Likewise. + * (get_pager): Likewise. + + * pager.h, pager.cc: New file to handle pager stuff. + * src/Makefile.in: Fix things to distribute and compile them. + + * libcruft/Makefile.in (CRUFT_OBJ): Strip $(srcdir)/ and convert + from .f to .o in two steps since some versions of GNU make strip + the leading ./ from the output of $(wildcard), causing my pattern + match to fail if compiling in the source tree. + +Tue May 4 09:13:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (symbol_record::define (symbol_record *)): Delete old + name before saving new name. + * (symbol_record::document): Likewise, for var.help and fcn.help. + + * parse.y (ABORT_PARSE): Renamed from DO_ABORT. + +Mon May 3 01:00:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc: Define destructors for every class in tree.h. It + appears that it should always be ok to delete everything in a + command tree once we're done executing it. Function definitions + are still ok because the parser doesn't set global_command to the + tree_function we've built (that's saved somewhere in the symbol + table and shouldn't be deleted until we clear or redefine the + function). + + * utils.cc (pathstring_to_vector): Do memory management here so + callers don't have to. + * (default_path): Likewise. + + * utils.cc (make_absolute): Return current_path (not a copy) since + it is static. + * (get_working_directory): Return the_current_working_directory + (not a copy) since it is global. + + * utils.cc (cleanup_tmp_files): Delete filename when done. + + * parse.y: Replace output to cerr with calls to error() or warning(). + * DO_ABORT: New macro. Use it instead of YYERROR for errors that + we detect, and call yyerror since bison doesn't. + * (param_list1): Detect invalid parameter lists. + * (yyerror): Don't print pointer if it is past the end of the line. + +Sun May 2 13:03:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-extras.cc (process_format): Use ostrstream instead of a + fixed-size character string to buffer the format. + + * utils.cc (terminal_rows): Get info from readline variable + instead of hardcoded constants. + * (terminal_columns): Likewise. + + * utils.cc (maybe_page_output): New function. + * t-builtins.cc (builtin_help): Use it. + * (builtin_who): Ditto. + * Don't include procstream.h anymore since we no longer need it. + + * utils.cc (jump_to_top_level): Call run_all_unwind_protects () + before jumping back to the top level. + +Sat May 1 20:59:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * unwind-prot.cc unwind-prot.h: New files to implement memory + cleanup stuff. + * src/Makefile.in: Distribute them. + + * Version 0.71.2. + + * computer.m: Delete file. + * scripts/Makefile.in (computer.m): Add $(srcdir)/ prefix to + computer.in. + +Fri Apr 30 17:03:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.h (::row (int i)): New function for extracting a + row of a matrix where CLASS is one of Matrix, DiagMatrix, + ComplexMatrix, or ComplexDiagMatrix. + * (:: column (int i)): Likewise for columns. + * (::row (char *s)): Likewise, but selection is done with a + character string. Currently we accept anything beginning with `F' + or `f' to mean the first row and anything beginning with `l' or + `L' to mean the last row. + +Wed Apr 28 14:23:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * scripts/computer.in: New template file for computer.m. + * scripts/Makefile.in (computer.m): Generate a custom computer.m + file using $target_host_type. + * (clean): Delete computer.m. + + * configure.in: If last argument is not empty, use its value as + the TARGET. + * If we aren't given a TARGET, use config.guess to find one. + * Substitute target_host_type. + + * config.guess: New file, taken from gdb distribution. + * Makefile.in: Distribute it. + + * tree-const.cc (force_numeric): New parameter, force_str_conv to + allow us to ignore user preference on string to numeric + conversion. + * (make_numeric): Likewise. + + * tree.cc (tree_matrix::eval): Allow range constants in matrix + lists by simply converting them to matrices. + * Ditto for string constants. + +Tue Apr 27 17:21:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * utils.cc (smells_like_X11): Delete unneeded function. + * builtins.cc (install_builtins): Don't initialize + graphics_terminal since it's no longer needed. + + * utils.cc (pathstring_to_vector): Call tilde_expand on each + element of the path. + + * mappers.cc: Include float.h for DBL_MAX. + +Wed Apr 21 19:31:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * mappers.cc (xisnan (Complex&)): Rename from isnan. + * builtins.cc (mapper_functions): Use xisnan instead of isnan. + * (install_builtins): Special case for linux for geenerating + infinity and NaN. + +Mon Apr 19 14:10:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.71.1 released. + + * symtab.cc (char **sorted_list (int& count)) New function. + * (char **sorted_var_list (int& count)): Ditto. + * (char **sorted_fcn_list (int& count)): Ditto. + * t-builtins.cc (builtin_who): Check symbol count too. + + * utils.cc (send_to_plot_stream): Check is_open(), not just the + state of the stream. + * (close_plot_stream): Likewise. + + * procstream.cc, procstream.h: Rewrite, taking a hint from the GNU + fstream class. + +Sun Apr 18 17:40:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.cc (builtin_help): Don't call list_in_columns if + there isn't anything to list. + +Fri Apr 16 20:57:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Makefile.in (DISTDIRS): List dld here. + * (DISTSUBDIRS): Not here. + +Thu Apr 15 12:17:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.71 released. + + * scripts/*.m: Improve help messages for most files. + + * libcruft/Makefile.in: Make libcruft.a here. + * libcruft/Makerules.in: Not here. + + * PLOTTING: New file. + * Makefile.in: Add it to the list of files we distribute. + + * g-builtins.cc (builtin_shell_command): New function. + * builtins.cc (general_functions): Add it to the list. + + * procstream.h, procstream.cc (iprocstream): New class. + + * lex.l ({SN}*\]): Maybe insert a comma after reading a `]'. + + * t-builtins.cc (builtin_load): Do tilde expansion for the file name. + * (builtin_save): Ditto. + +Wed Apr 14 10:40:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_function::eval): Until we have a proper call frame + unwinding scheme, comment out previous change. + + * tree.cc (tree_matrix::eval): Brain Transplant. + * (tree_matrix::length): New function. + + * tree-base.h (matrix_dir): Delete md_none, md_left, and md_up. + The only valid values are md_unknown, md_right, and md_down. + +Tue Apr 13 20:07:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.h (tree_function::call_depth): New member variable. + * tree.cc (tree_function::eval): Check it to make recursive + function calls fail (waiting for proper symbol table handling). + + * utils.cc (pathstring_to_vector): Don't prepend `.' here. We do + that already in default_path() if the user hasn't given us a + loadpath. + + * t-builtins.cc (builtin_help): Get help for M-files even if they + haven't been compiled yet. + * List M-files we find in the loadpath. + + * utils.cc (get_m_file_names): Split into two functions, add + parameter to specify whether .m suffix is deleted. + + * lex.l (grab_help_text): New function. + * (beginning_of_function): New global variable. + * (%|#): Call grab_help_text() if at beginning of a function. + * tree.cc (tree_identifier::document): New function. + * parse.y (func_def2): Use it. + * (help_buf): New global buffer for help text. + +Mon Apr 12 00:31:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * utils.cc (get_m_file_names): New function. + * variables.cc (make_name_list): Use it. + + * t-builtins.cc (list_in_columns): Put output on an strstream + instead of in a String. + * (builtin_help): Use an strstream instead of a String for buffering. + * (builtin_who): Likewise. + + * g-builtins.cc (builtin_keyboard): New function. + * builtins.cc (general_functions): Add to list. + + * tc-extras.cc (get_user_input): If the user enters `exit', + `quit', or `return', return instead of eval'ing the string. + * Don't abort on empty input. + * Add additional argument to handle debugging via new `keyboard' + function. If doing debugging, keep reading until we see `exit', + `quit', or `return'. + + * menu.m: New M-file. + + * New top level plotting functions: + + plot.m semilogx.m semilogy.m loglog.m polar.m + title.m xlabel.m ylabel.m grid.m bar.m + stairs.m mesh.m meshdom.m contour.m + + * New internal plotting functions: + + plot_int.m plot_2_s_s.m plot_2_v_v.m plot_2_v_m.m + plot_2_m_v.m plot_2_m_m.m polar_int.m + + * New utility functions: + + is_scalar.m is_vector.m is_matrix.m + +Sun Apr 11 11:10:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-buitlins.cc (builtin_ls): New function. + * builtins.cc (text_functions): Add it to the list under the names + `ls' and `dir'. + +Sat Apr 10 15:13:05 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * procstream.cc (oprocstream::close): Set badbit for stream after + it is closed. + + * utils.cc (close_plot_stream): New function. + * g-buitlins.cc (closeplot): New builtin function. + * builtins.cc (general_functions): Add to list. + + * lex.l (cant_be_identifier): New cruft to properly handle the + plot command's `using', `title', and `with' keywords. + +Fri Apr 9 09:38:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Warn if it looks like gnuplot isn't installed. + + * utils.cc (send_to_plot_stream): Check the user's preference for + the gnuplot binary. + + * user-prefs.cc (sv_graphics_terminal): Delete function. + * user-prefs.h (graphics_terminal): Delete variable. + + * tree-plot.cc (tree_subplot_using::print): Add argument to allow + checking of columns given in using command and use it. + * (tree_plot_command::eval): Change caller. + + * parse.y (title): Allow plot title to be any expression. + * tree-plot.cc (subplot_list): Likewise. + + * tree-plot.cc (tree_plot_command::eval): Don't let lusers try to + make 2D parametric plots, since that seems to crash gnuplot. + + * tree.cc (tree_identifier::parse_m_file): Don't try to stash + m-file name or time parsed if we were actually executing a script + file. + + * sombrero.m: New M-file to demonstrate 3D plotting. + + * parse.y (plot_options): Allow them to be specified in any order. + + * g-builtins.cc (builtin_purge_tmp_files): New function. + * builtins.cc (general_functions): Add to list. + + * g-builtins.cc, g-builtins.h (builtin_plot): Delete. + * builtins.cc (general_functions): Delete entry for builtin_plot. + + * t-builtins.cc (builtin_set): Check to see if the user is setting + up parametric plotting. + * tree-plot.cc (parametric_plot): New global variable. + * tree_const.cc (save_three_d): New function. + * tree-plot.cc (tree_subplot_list::print): Handle 3D plots. + + * Makefile.in: Delete everything having to do with distributing or + making gnuplot. + * configure.in: Likewise. + +Thu Apr 8 10:02:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * utils.cc (send_to_plot_stream): New function. Move declaration + of plot_stream to utils.cc and make static. + + * t-builtins.cc (builtin_set): New function. + * (builtin_show): Ditto. + + * lex.l: Handle set command. + * (doing_set): Yet another global variable to control behavior of + the lexer. + + * tree-plot.cc (tree_subplot_using::print): Print warning if scanf + format string is given. + + * parse.y (ranges1): Allow lower and upper bounds to be optional. + * tree-plot.cc (tree_plot_range::print): Make it work. + + * tree-plot.cc: New file, extracted from tree.cc. + + * sighandlers.cc (install_signals): New function. + * (*_handler): New set of functions to handle signals that would + otherwise cause us to abort. + * (my_friendly_exit): Call exit from most signal_handlers to clean + up tmp files, etc. + + * lex.l (do_string_escapes): Correctly handle '' quotes. + * Warn about unrecognized escape sequences but convert them to the + escaped character anyway. + * (EXPON): New definition. Use it and ? qualifier to shorten the + expressions for matching numbers. + * (ECHAR): New definition. Use it to correctly match + backslash-escaped characters in strings. + * Definitions: Surround multi-character definitions in ()'s to + avoid potential problems with things like {DEF}*. + * (QQ): Rename from DQ. + * (DQSTR): New definition for strings in double quotes. + * (DQSTRING): New start state. Recognizing a naked " puts us here. + * ("\n"): Turn off quote_is_transpose at the beginning of each line. + * Use error functions instead of writing messages directly. + * Don't include iostream.h -- we don't need it now. + * Do include error.h. + +Wed Apr 7 13:12:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * sighandlers.h, sighandlers.cc: New files for signal handling + functions. + * Makefile.in: Include them in the usual places. + * octave.cc (interrupt_handler): Move to sighandlers.cc and rename + to sigint_handler. + + * utils.cc (mark_for_deletion): New function. + * octave.cc (cleanup_tmp_files): New function. + * octave.cc (main): Register cleanup_tmp_files with atexit + (on_exit for sun). + + * Stack.h: Template based stack class converted from libg++ + genclass files. + * SLStack.h: Likewise. + * (SLStack::pop): Avoid apparent bug in SLList::remove_front. + +Tue Apr 6 10:01:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (almost_match): New function. + * (plot_style_token): New function. + + * t-buitlins.cc: Include procstream.h instead of procbuf.h. + * (builtin_help): Simplyfy opening of process output stream. + * (builtin_who): Likewise. + +Mon Apr 5 13:48:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-extras.cc (tree_constant_to_scalar): Move to tree-const.cc + and make it a member function called to_scalar. + * (tree_constant_to_vector): Likewise. + * (tree_constant_to_matrix): Likewise. + + * procstream.h, procstream.cc: New files/classes that implement + an ostream to a process. Built on top of procbuf from libg++. + * src/Makefile.in: Add them to the lists of files/objects. + +Sat Apr 3 23:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Lots of clean-up changes to parse.y, tree.cc, tree.h, and + tree-base.h. Use more specific types than just for + nonterminals. This allows us to have fewer virtual functions in + the base class. Safer. Cleaner. Should have always been this + way... + +Fri Apr 2 10:04:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y, lex.l: Fix grammar to accept plot command very similar + to the gnuplot plot command. + +Wed Mar 31 13:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (eval_undefined_error): Until we can figure out how to + clear names without causing problems later on, just remove the + symbol name. + + * tree.h (tree_plot_command): New class. + * (tree_plot_limits): Ditto. + * (tree_plot_range): Ditto. + * (tree_subplot_list): Ditto. + * (tree_subplot_using): Ditto. + * (tree_subplot_style): Ditto. + + * tree-base.h (command_type): Add plot_command to list. + +Mon Mar 29 09:53:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * find_exec.c (ABSOLUTE_FILENAME_P): Also return true if the + given filename begins with `.'. + + * DAE.cc, DAE.h, DAEFunc.h, tc-dassl.cc: Make sure all calls to + dassl and the user-supplied functions have consistent argument + lists. + + * octave.cc (raw_program_name): New global variable to hold the + unprocessed argv[0]. This is to help dld find the absolute path + to the executing program. + * (initialize_globals): Pass in argc and argv from main. + Initialize raw_prog_name. + + * builtins.cc (general_functions): Correct help message for dassl. + * g-builtins.cc (dassl_usage): Likewise. + + * src/Makefile.in: Lots of changes to make things work with or + without dld. + * Makefile.in: Likewise. + * configure.in: Likewise. + + * dld: New directory, containing our copy of the dld sources. + + * dynamic-ld.cc, dynamic-ld.h: New files to implement dynamic + loading functions. + * src/Makefile.in: Add them to the distribution, compile them if + doing dynamic loading. + +Sun Mar 28 11:03:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: When looking for Fortran compilers, check for fc + last to avoid confusion with some vendor's /bin/sh fc builtin. + * Handle new argument --with-dld. + + * g-builtins.cc (builtin_warranty): Add 1993 to list of copyright + dates. + +Sat Mar 27 17:58:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-extras.cc: Rename from tree-extras.cc. + * tc-colloc.cc, tc-dassl.cc, tc-det.cc tc-eig.cc, tc-fft.cc, + tc-fsolve.cc, tc-fsqp.cc, tc-ifft.cc, tc-inv.cc, tc-lsode.cc, + tc-lu.cc, tc-npsol.cc, tc-qr.cc, tc-quad.cc, tc-rand.cc, + tc-svd.cc: Split individual functions from tree-extras.cc. + + * g-builtins.cc (npsol_usage): Improve message. + * (dassl_usage): Likewise. + * (builtin_lsode): Likewise. + * (builtin_fsolve): Likewise. + * (builtin_quad): Likewise. + * builtins.cc (general_functions): Improve corresponding messages. + + * libcruft/fftpack: New directory for fftpack functions. + * libcrutf/fftpack/*.f: Add implicit double precision (a-h,o-z) at + the top of every subroutine. + + * tree-extras.cc (fft): Allow propagation of empty matrices. + * (ifft): Ditto. + + * Matrix.cc (Matrix::fourier): New function. + * (Matrix::ifourier): Ditto. + * mx-inlines (make_complex): New function. + * tree-extras.cc (fft): Use Matrix::fourier instead of doing real + to complex conversion here and calling ComplexMatrix::fourier. + * (ifft): Likewise, for ifourier. + +Sat Mar 27 17:56:59 1993 Fook Fah Yap (ffy@eng.cam.ac.uk) + + * Matrix.cc (ComplexMatrix::fourier): New function for fft. + * (ComplexMatrix::ifourier): New function for inverse fft. + + * builtins.cc (general_functions): Add fft and ifft to the list of + builtin functions. + + * g-builtins.cc (fft): New function. + * (ifft): Ditto. + + * tree-extras.cc (fft): New function. + * (ifft): Ditto. + +Sat Mar 27 13:53:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (usage_string): New file scope constant. + * (getopt_option_string): Ditto. + + * error.cc: Declare all arguments const since we don't change them. + + * utils.cc (print_str_or_null): Delete unused function. + * utils.h: Delete declaration. + + * tc-assign.cc, tc-index.cc, tc-inlines.cc, tree.cc, + tree-const.cc: More error message cleanups. + + * tree-const.cc (print_if_string): Don't write to cerr + unconditionally. + +Fri Mar 26 22:00:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (min): Avoid function calls as arguments for MIN. + * (column_min): Ditto. + * (max): Likewise, for MAX. + * (column_max): Ditto. + + * tree-const.h (NINT): Make it an inline function instead of a + macro. + + * tree-extras.cc (fill_matrix (tree_constant&, double, char*)): + Convert to scalar type for complex values too. + + * error.h (panic_impossible): New macro to be used in place of + assert (0) calls. + * All .cc files: Replace calls to assert (0) and abort () with + panic_impossible (). + + * Many .cc files:: Replace many instances of `cerr << ...' with + calls to gripe() functions. + + * gripes.h, gripes.cc: New functions for reporting common errors. + * Makefile.in: Include them in the usual places. + +Thu Mar 25 18:42:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Many .cc files:: Replace many instances of `cerr << ...' with + calls to error() functions. + + * error.h, error.cc: New functions for reporting errors in a + consistent way. + * Makefile.in: Include them in the usual places. + +Wed Mar 17 17:29:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (symbol_table::save): New functions. + * t-buitlins.cc (builtin_save): Use new functions for saving + symbols. Handle case of saving all variables. + + * g-builtins.cc (builtin_pause): If one argument is given, pause + for that many seconds before continuing. Otherwise, wait for user + input. + + * symtab.cc (clear): Actually delete undefined symbol_records and + remove their names from the list. + + * lex.l (lookup_identifier): New function. Avoid putting global + names in the local symbol table. + * ({IDENT}): Use it + * ({IDENT}/{S}*=): Ditto. + + * tc-index.cc (do_scalar_index (tree_constant*, int)): Make + indexing like a([1,1,1,1]) work for scalars. GAG. + +Tue Mar 16 20:08:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-buitlins.cc (builtin_cd): Call tilde_expand (from readline) on + the argument. + + * lex.l (discard_until): Delete unused function. + * When reading numbers, abort if scanf fails to read a number that + we think it should. + * (IDENT): New macro to match identifiers. + * ([_a-zA-Z][_a-zA-Z0-9]*): Use the / operator for trailing + context and split into two cases instead of trying to do the + lookahead ourselves. + + * lex.l (do_comma_insert_check): Return the value yyleng had + before yyinput() is called. + * (DO_COMMA_INSERT_CHECK): New macro. This avoids the use of + unput() in do_comma_insert_check() since there seems to be a bug + in flex when calling unput() for '\n'. + + Note that this change is necessary if we want to use yyless() + since we cant call yyless() from outside of yylex(), because + Flex's yyless() is a macro that uses some variables local to + yylex(). + +Mon Mar 15 11:03:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_matrix::eval): Undo part of previous change to + make a = [1,2;3,4]; [a,a;a,a] work again. + + * parse.y (input): Don't abort for simple_list followed by EOF. + +Sun Mar 14 14:38:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * RowVector.cc (RowVector::operator << ()): Insert a space between + each element. + * (ComplexRowVector::operator << ()): Ditto. + + * g-buitlins.cc (plot): Don't declare plot_prog or plot_term as + static, and don't delete them. + + * Matrix.h (all checkelem functions): Don't check for range errors + if NO_RANGE_CHECK is defined. + +Sat Mar 13 10:18:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.cc (ComplexMatrix::prod): Make it work. + +Thu Mar 11 00:08:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.h (ellum): Delete function. + * Declare and define new const elem, checkelem, and operator() + functions. + + * ColVector.cc, DiagMatrix.cc, RowVector.cc, Matrix.cc, ODE.cc, + LinConst.cc, FEGrid.cc, DAE.cc, Bounds.cc, FEGrid.h: + Change all callers. + * tree-const.cc, tree-extras.cc, xdiv.cc, xpow.cc: Ditto. + + * tree.cc (tree_matrix::eval): Improve row and column mismatch + checking -- [[1,2];[3,4]] works now, and [1,2;3,4,[5,6]] is + rejected. + * Reformat error messages to include `error:' prefix. + +Wed Mar 10 14:02:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (do_comma_insert): New global variable. + * (reset_parser): Reset it. + * lex.l (do_comma_insert_check): New function. Call it wherever a + token can be directly followed by '['. + * (\[{S}*): Check the value of do_comma_insert. + + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look for names in the + current symbol table. + + * parse.y (word_list_cmd): Special case to disallow use of clear + inside a fuction body. + + * parse.y (CLEAR): New %token. + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Return it if token is "clear". + + * t-builtins.cc (builtin_clear): Allow global symbols to be + cleared. + + * symtab.cc (symbol_table::undefine): Clarify comment. + * (symbol_table::clear): Don't actually remove names from the + table, just force them to be undefined. + + * tree.h (tree_function): Delete unused data member `id'. + * tree.cc (tree_function constructors): Don't initialize id. + +Mon Mar 8 15:50:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.70 released. + + * src/Makefile.in: Update dependencies. + + * tree.h: Include stdio.h, for FILE. + + * gnuplot-build: For now, always define -DNOGAMMA. + * configure.in: Don't check for gamma(). + + * libcruft/Makerules.in: Don't use lib.a(obj.o) style dependencies + because it's too slow for large archives. + * liboctave/Makefile.in: Ditto. + +Sun Mar 7 16:33:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (parse_and_execute): Save and restore current column + number. Set input line and column number to zero. + * tree.cc (parse_m_file): Likewise. + + * tree.cc (tree_identifier::parse_m_file (FILE*, int*)): New + function. If a parse error occurs, ensure that the symbol is + cleared from the global symbol table. + * (tree_identifier::parse_m_file (char*, int): Use it. + + * tree.cc (tree_identifier::do_lookup): New function. + * (tree_identifier::eval): Use it. + + * utils.cc (decode_prompt_string): Really do use value of PWD. + + * user_prefs.cc (sv_loadpath, sv_ps1, sv_ps2, sv_pwd, + sv_gnuplot_binary, sv_graphics_terminal): New functions. + * (sv_graphics_terminal): Warn if terminal isn't valid, but set it + anyway (it's too late to do anything by the time the function is + called). + * In functions that use these variables: Use the value from the + user_pref structure instead of doing a symbol table lookup. + + * builtins.cc (builtin_string_variables): Add functions to call + for LOADPATH, PS1, PS2, PWD, gnuplot_binary, and graphics_terminal. + + * builtins.cc (PS2): New builtin_string_variables. Set default + value to "> ". + * input.cc (octave_gets): Use it instead of no prompt for + continued input. + + * parse.y (yyerror): Use line, column, file name, and text of + current input line to print better parse error messages. + + * lex.l (NEW_MATRIX): New exclusive start state. Need this to be + able to match \[{SN}* _and_ get secondary prompting right. + + * input.cc (octave_read): Keep track of current input line. + * tree.cc (parse_m_file): Save and restore current line number. + + * lex.l (all patterns): Keep track of current input column. + * (fixup_column_count): New function to deal with patterns that + match more than one line. + + * input.h, input.cc (current_input_line): Global pointer to + the text of the current input line. + + * parse.y, parse.h (input_line_number, current_input_column): New + global variables. + + * Almost all source files: Finish (for now, at least) the + reorganization we started for global variables. + +Wed Mar 3 14:49:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tc-assign.cc, tc-index.cc, tc-inlines.cc: New files, split out + from tree-const.cc. + + * Almost all source files: reorganize so that all global data is + declared in some include file or another. It probably wouldn't + hurt to do some more reorganizing to try to eliminate the amount + of global information... + +Tue Mar 2 20:49:35 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * variables.h, variables.cc: New files for handling things that + need symbol table information. Lots of files changed to include + variables.h, which now includes the extern declarations for the + symbol tables. The declarations of the symbol tables are now in + variables.cc, but they are still initialized in octave.cc. + +Mon Mar 1 11:35:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * builtins.h (builtin_string_variables): New field, sv_function, + holds a pointer to the function to call when a variable changes. + * builtins.cc (string_variables): Initialize sv_function field. + * (install_builtins): While installing builtin string variables, + stash sv_function and, if it isn't NULL, call it to initialize + global variable user_pref. + + * symtab.h (symbol_record): New field, sv_fcn, holds a pointer to + the function to call when a variable changes. + * symtab.cc (symbol_record::define): Call sv_fcn if it isn't NULL. + * symtab.cc (symbol_record::set_sv_function): New function. + + * utils.cc, parse.y, tree.cc, tree-extras.cc, tree-const.cc, + idx-vector.cc, builtins.cc, symtab.cc: Instead of calling + functions like do_fortran_indexing(), get the user's preference + from the global struct user_pref. + + * utils.h, utils.cc: Delete all functions like do_fortran_indexing() + that lookup user variables to find integer values. + * user-prefs.h, user-prefs.cc: Move them here, but instead of + returning values, set elements of the new global struct user_pref. + + * user-prefs.h, user-prefs.cc: New files for handling global + variables for user preferences. + * Makefile.in: Add them to the SOURCES and INCLUDES macros. + + * bsd-math/{acosh,asinh,atanh,log1p}.c: Declare all external + functions used in each file since they might not be in math.h. + * bsd-math/{scalb,copysign,logb,finite,drem,sqrt}.c: New files + from BSD's support.c. Only using scalb, copysign, logb, and + finite for now. + + * configure.in: Move tests for f77 closer to the top. + * Allow configuration to proceed even if we can't find a Fortran + compiler or f2c. + * Use `here' documents instead of multiple echos for multi-line + messages. + * Imrpoved checking for missing math functions. + +Sun Feb 28 17:45:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * test/Makefile.in (check): Try to avoid errors from cp. + + * mappers.cc (xfinite): Put test for HAVE_FINITE first. + + * libcruft/Makerules.in (LIBCRUFT_DEPEND): Use `=' in assignment + instead of `:='. + + * liboctave/Makefile.in: Make an explicit list of sources instead + of using $(wildcard). + +Thu Feb 25 20:18:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * bsd-math/copysign.c: New file. HP's don't have this? + * configure.in (LIBOBJS): Also check for copysign, log1p, and + log__L. For each missing user-level function, add -DFOO_MISSING=1 + to DEFS. + * src/missing-math.h: For each function we declare, check the + corresponding XXX_MISSING macro. Add declarations for copysign + and log1p. + +Wed Feb 24 20:39:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l ({SN}*\]/{S}*==): Change scanning pattern to + {SN}*\]{S}*/== in order to keep flex from generating any + backtracking code. + * ({SN}*\]/{S}*=): Likewise. + +Tue Feb 23 02:45:00 1993 John W. Eaton (jwe@ward.che.utexas.edu) + + * Version 0.69 released. + + * mappers.cc [_AIX && __GNUG__] : Provide a definition for + finite(), since whatever version we get from the system when using + g++ doesn't work (note that it does seem to work with gcc, xlc, + and xlC). + + * bugs.texi: Note that the math.h file from libg++ declares + finite() incorrectly for some systems. + +Mon Feb 22 02:04:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Look for runtest, but only believe that it exists + if we can also find expect. + * test/Makefile.in (check): Run tests in build directory, not + source directory. + + * tree.cc (reading_script_file): New global variable. + * (parse_m_file): Use it, and properly save and restore state so + that nested script files will work. + + * octave.cc (parse_and_execute): Properly save and restore state + so that nested script files will work. + * Don't close input file here. + + * input.cc (get_input_from (FILE*)): Don't declare mf_instream + static. Set mf_instream if reading and M-file or a script file. + + * parse.y: Minor changes to accomodate new lexer. + + * lex.l: Major overhaul in an attempt to do better string + handling. Looks much simpler and even seems to work. + * (do_string_escapes): New function. + +Sat Feb 20 00:40:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_npsol): If npsol is missing, return empty + matrices for x and phi, and -1 for inform. + + * num2str.m: Use %g, not %f. + + * tree.cc (parse_m_file): Save and restor curr_sym_tab, because + yyparse may mess with it if it encounters a function definition. + * tree-extras.cc (eval_string): Ditto + * octave.cc (parse_and_execute): Ditto + + * Makefile.in (DISTDIRS): Add bsd-math to list. + + * src/Makefile.in (LIBOBJS): New macro, value set by configure. + (vpath): Add @srcdir@/../bsd-math for LIBOBJS. + (octave): Add $(LIBOBJS) to deps. + * gnuplot-build/Makefile.in: Likewise, for notgnuplot. + + * configure.in: Use AC_REPLACE_FUNCS to Check for acosh, asinh, + atanh, and gamma. + + * bsd-math: New directory for functions from the BSD math library + to use as replacements for missing functions. + + * parse.y (semi_comma, comma_semi): New rules. + (simple_list, simple_list1): Use them to allow empty statements. + (list, list1): Likewise. This allows empty commands as long as + the empty command doesn't contain any newlines. + + * parse.y (simple_assign): New rule, allows things like a = b = c. + (multi_assign): Extracted from assignment. + (assignment): Split into simple_assign and multi_assign. + (expression): Allow '(' simple_assign ')' to be an expression. + + * tree-extras.cc (eval_string): Return result of last expression + evaluated, to make things like `eval ('1+1;')*2' work. + +Fri Feb 19 19:45:21 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_pwd): Use getcwd, which is defined in + unistd.h, instead of getwd, which seems to be a BSDISM. + * utils.cc (decode_prompt_string): Ditto. + * (get_working_directory): Ditto. + + * arith_ops.cc (DIVIDE_BY_ZERO_ERROR): Don't rely on + HAVE_IEEE_MATH, use HAVE_ISINF, HAVE_FINITE, and HAVE_ISNAN + instead. + * configure.in: Don't define HAVE_IEEE_MATH. + + * tree-extras.cc: Include stdio.h for FILE. + +Thu Feb 18 10:17:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (gobble_leading_white_space): New function. + * (is_function_file): New function. + + * (parse_m_file): Handle case of .m file being just a file of + commands to execute. + * Add optional argument to specify whether to execute a script + file. + * Return whether a script file was executed. + * (tree.cc, tree-extras.cc): Change callers. + + * octave.cc (parse_and_execute): new functions. + * (execute_startup_files): Use them. + + * lex.l (\n): Don't gobble new line. + + * num2str.m: Don't print '\n'. + +Wed Feb 17 21:59:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * mappers.cc: Simplify and correct finite, isinf, isnan functions. + * test/octave/t7.oct: New test for finite, isinf, and isnan + functions. + + * configure.in: Define HAVE_IEEE_MATH if isnan and either finite + or isinf is available. + + * builtins.cc (mapper_functions): Check HAVE_ISNAN instead of + HAVE_IEEE_MATH to determine whether or not to define isnan(). + + * mappers.cc: Don't check for HAVE_IEEE_MATH. Just check for + individual functions directly. + + * g-builtins.cc (npsol_usage): Correct usage message. + + * g-builtins.cc: Don't include unistd.h unless HAVE_UNISTD_H is + defined. + * t-builtins.cc: Ditto. + * utils.cc: Ditto. + +Tue Feb 16 00:35:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.68 released. + + * tree.cc (parse_m_file): Set reading_m_file before calling + get_input_from_file. + * Don't mess with current_infile. + + * input.cc (get_input_from_file): Set mf_instream if we are + reading an M-file. Otherwise, set rl_instream, (even if we aren't + really using readline -- this is just the `normal' input stream). + * Don't use current_infile. + * (octave_read): If not interactive, check reading_m_file to + determine where to look for input. + + * octave.cc (main): Don't use readline if we aren't interactive. + + * libcruft/misc/Makefile.in (local-dist): Make sure we don't + distribute a bogus d1mach.f. + (dist): Ditto. + + * tree-extras.cc (convert_to_ans_assign): New global variable. + (eval_string): Conditionally turn off assignment to `ans', for + get_user_input (). + * parse.y (ans_expression): Use it. + * lex.l (reset_parser): Reset it. + + * g-builtins.cc (builtin_input): New function. + * builtins.cc (general_fucntions): Add it to the list. + * tree-extras.cc (get_user_input): Do most of the real work. + +Mon Feb 15 01:14:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.cc (load_variable): New function. + (builtin_load): Use it. + + * Makefile.in (SUBDIRS): Add the test directory. + (check): Don't depend on all. + +Sat Feb 13 05:17:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (determinant, lu, matrix_exp, matrix_log, + matrix_sqrt): Handle empty matrix argument. + + * Matrix.h: Add constructors of the form Matrix (double a) and + ColumnVector (double a) to make it even easier to form single + element vectors. + +Fri Feb 12 03:27:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (main): Add -v option that will print the version + string and quit with a successful exit status. + +Thu Feb 11 00:46:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (eig): If given an empty argument, return enough + empty matrices to fill all possible LHS variables. + (qr): Likewise. + (svd): Likewise. + + * tree-const.cc (fortran_style_matrix_assignment): Do the right + thing if LHS is an empty matrix. + + * tree-extras.cc (qr): Handle empty matrix argument. + + * Matrix-ext.cc (QR): Make it work (really!). + (ComplexQR): Ditto. + +Wed Feb 10 00:56:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * xdiv.cc (xdiv (ComplexMatrix& a, ComplexMatrix& b)): Do + btmp.solve (atmp), like the other three xdiv's. Argh! + + * tree-extras.cc (eval_string): New function. Mostly works but + could be very fragile. We desperately need some sort of + `unwind-protect' scheme to avoid disaster when octave is + interrupted. + + * g-builtins.cc (builtin_eval): Instead of just aborting, call + eval_string if given one argument. + + * input.cc (octave_read): If get_input_from_eval_string is + nonzero, stuff current_eval_string into buf for flex to read. + + * tree-extras.cc (char *current_eval_string): New global variable + for eval(). + * (int get_input_from_eval_string): Ditto. + + * Update copyright notices to include 1993 (now that it's + February...). + +Tue Feb 9 14:35:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.67 released. + + * tree-extras.cc, tree-const.cc: Check the value of the variable + `propagate_empty_matrices' to decide what to do about empty + matrices in binary and unary operations and some function calls. + + * builtins.cc (builtin_string_variables): New global variable + `propagate_empty_matrices' with initial value `warn'. + * utils.cc (propagate_empty_matrices): New function. + +Mon Feb 8 19:46:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-const.cc: Finish changes required to make zero-one indexing + work for indexing and assignment. + +Sat Feb 6 15:54:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * builtins.cc (builtin_string_variables): New global variable + `prefer_zero_one_indexing' with initial value `false'. + * utils.c (prefer_zero_one_indexing): New function. + +Fri Feb 5 13:03:14 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * idx-vector.h, idx-vector.cc: Major overhaul to help with + zero-one style indexing. + * tree-const.cc (matrix_to_index_vector): Delete functions. + * (functions that use idx_vectors): Update for new idx-vector + stuff. + + * arith-ops.cc: Don't declare matrix_to_fortran_indices. + + * tree-const.cc (matrix_to_index_vector): Add new argument, + allow_neg_one, with default value of false. + * (matrix_to_fortran_indices): Add new argument, allow_zero, with + default value of false. + + * g-builtins.cc (builtin_find): New function. + * builtins.cc (general_fucntions): Add it to the list. + * tree-extras.cc (find_nonzero_elem_idx (tree_constant)): Do + most of the real work. + * tree-extras.cc (find_nonzero_elem_idx (const Matrix&): Do the rest. + * (find_nonzero_elem_idx (const ComplexMatrix&): Ditto, for complex. + +Wed Feb 3 00:54:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in (DEFAULT_DOT_O_FROM_DOT_F): If using f2c, quote + with single quotes instead of double quotes to avoid problems on + systems (like the NeXT) that strip \'s from double quoted strings. + + * utils.c (empty_list_elements_ok): New function. + * tree.cc (matrix_list::eval): Use it. + * builtins.cc (builtin_string_variables): New global variable + `empty_list_elements_ok' with initial value `warn'. + + * utils.cc (check_str_pref): New function. + * (resize_on_range_error, prefer_column_vectors, + warn_comma_in_global_decl, do_fortran_indexing, + implicit_str_to_num_ok, treat_neg_dim_as_zero, + ok_to_lose_imaginary_part, return_last_computed_value, + silent_functions, print_answer_id_name): Use it instead of + needlessly duplicating code. + +Tue Feb 2 16:58:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l ("'"): If it looks like we're defining a matrix, don't set + the start condition to be MAYBE_QSTRING. GAK. There has to be a + better way... + + * lex.l: Increment and decrement promptflag instead of just + setting its value. This should help get prompting right for + things like if [1,2;3,4] NL ... + * input.cc (octave_gets): In order to issue a prompt, Require + propmtflag to be greater than zero, not just nonzero. + + * tree.cc (tree_if_command): Allow matrices as the expression to + test. Unlike Matlab, a complex value is false only if both the + real and imaginary parts are 0. + * tree.cc (tree_while_command): Ditto. + + * tree.cc (tree_for_command): Allow matrices and complex values + in the expression. For matrices, assign each column in turn to + the dummy variable. + + * Matrix-ext.cc (qr): Make it work. The LAPACK book gags me again! + + * xdiv.cc: When computing right division with complex matrices, + use hermitian() instead of transpose(). + + * lex.l: Return IMAG_NUM for a numeric constant followed by + [iIjJ], but don't allow spaces between the numeric constant and + the letter (it causes problems inside `[]' where spaces matter... + +Mon Feb 1 17:15:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree_extras.cc (rand_internal): Make the random number generator + give us a different sequence every time we start octave unless we + specifically set the seed. + +Thu Jan 28 00:10:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.66 released. + + * configure.in: Define PLOTLIB in addition to adding -DUNIXPLOT to + DEFS if we find -lplot, and call AC_SUBST for PLOTLIB. + + * QP.cc: Define constructors here. + * QP.h: Not here. + + * QP.cc (All constructors that are given H): Force H to be + symmetric. + * (make_h_symmetric): New function. + +Wed Jan 27 01:35:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * arith-ops.cc (do_unary_op): Do the right thing for complex + logical not operator. + * Matrix.cc (ComplexMatrix::operator ! (void)): Return Matrix + instead of ComplexMatrix. + * mx-inlines.cc (not (Complex *d, int len)): For each element of + d, return (d[i] == 0.0), not (d[i] != 0.0), and return it as a + pointer to double, not Complex. + + * configure.in: Check for libcruft/qpsol/qpsol.f. + * Create Makefile in libcruft/qpsol. + + * libcruft/qpsol: New directory. Copy QPSOL sources here. + * libcruft/qpsol/Makefile.in: New file. + * libcruft/qpsol/README.MISSING: New file. + * libcuft/Makefile.in: Include qpsol in list of directories to + make. + + * QPSOL.h, QPSOL.cc: New file for solving QPs with Gill and + Murray's QPSOL. + + * QLD.h, QLD.cc: Delete all minimize functions except + Vector minimize (double&, int&). + + * QP.h: Declare minimize functions virtual. + * (Vector minimize (double&, int&): Declare as a pure virtual + function. + + * QP.cc: New file to implement generic minimize functions. + +Tue Jan 26 00:27:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l: Recognize numbers of the form .{digits}E{digits} and + .{digits}E[+-]{digits} + + * lex.l: Recognize .\ as ELEFTDIV. + * parse.y: Handle ELEFTDIV. + * tree.cc (tree_binary_expression::eval): Handle el_leftdiv. + + * arith-ops.cc (do_binary_op): Handle element by element left + division. Fix some errors in element by element right division. + + * tree-base.h (enum expression_type): Add el_leftdiv. + + * Version 0.65 released. + + * tree-const.cc (tree_constant_rep::eval (tree_constant *args, int + nargin, int nargout, int print)): Fix another brain-o in making + recursive call.s + + * src/Makefile.in: Complete changes for CXX instead of C++ make + variables. + + * tree-const.cc: For assignment and indexing functions, treat + complex scalars and matrices in the same branch of the switch as + real scalars and matrices -- the double_value() and matrix_value() + functions take care of checking to see if it's ok to lose the + imaginary part. + + * tree-const.h (tree_constant_rep::is_numeric_type): New function. + * tree-const.h (tree_constant::make_numeric functions): Use it. + + * tree-const.h (tree_constant::make_numeric functions): Return + *this for complex constants too. + +Mon Jan 25 18:31:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (Matrix min (Matrix&, Matrix&)): Loop over nc and + nr, not nr and nr. + * (Matrix max (Matrix&, Matrix&)): Ditto. + + * tree-const.cc (tree_constant_rep::mapper): Fix brain-o in making + recursive call. + +Sun Jan 24 20:05:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: If using f2c, explicitly check for -lf2c. If it's + not found, look for -lF77 and -lI77. If a suitable combination + isn't found, print a warning. + + * src/Makefile.in liboctave/Makefile.in: GNU Make 3.63 uses CXX + and CXXFLAGS instead of C++ and C++FLAGS. Fix things so that 3.63 + will work without sacrificing compatibility with earlier versions. + + * tree-const.cc (tree_constant_rep::diag (tree_constant&)): Fix + brain-o in forcing argument to be numeric. + +Fri Jan 22 15:03:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (interrupt_handler): Declare to take int argument. + + * NPSOL.cc (npsol_objfun): Delete leftover debugging message. + +Thu Jan 21 14:28:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Check version of gcc and issue a warning if it + looks like 1.something. + * Check for g++. Issue a warning if it is missing or if it is + there but it looks like verion 1.something. + + * flibs.sh, f2c-compat.sh: Change file permission to 755 to avoid + problems if the uid of the installer is different from the uid of + the owner of the files. + +Wed Jan 20 04:18:49 1993 John W. Eaton (jwe@june.che.utexas.edu) + + * libcruft/Makerules.in (@DOT_O_DOT_F_C[1234]@): Patterns deleted. + * configure.in: Do multiple line sed substitutions the right way. + +Tue Jan 19 14:50:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Use new AC_WITH to accept --with-f2c instead of + --use-f2c. + * Use new AC_HAVE_LIBRARY to find -lplot. + + * flibs.sh: Actually avoid including duplicate -lflags. + * Use test, not `['. + +Sun Jan 17 16:57:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.h: Declare operator+ and operator- functions for vectors. + * RowVector.cc: Define half of them. + * ColVector.cc: Define the other half. + +Fri Jan 15 03:00:46 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/Makefile.in (install): Include version number in name of + installed binary and make a link to $(bindir)/octave. + + * Version 0.64 released. + + * t-builtins.cc (builtin_clear): Don't allow the user to clear + global symbols by name. If he tries, issue a warning. + + * tree.cc (tree_identifier::eval_undefined_error): Don't clear + undefined symbols from the global or local (function) symbol + tables. + +Thu Jan 14 02:10:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_function::eval): Save old and set current symbol + table context, so eval_undefined_error() doesn't wipe out top + level symbols. + + * Version 0.63 released. + +Wed Jan 13 13:16:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Nearly every .h and .cc file: Add interface and implementation + #pragmas for G++ in hopes of making smaller objects with -g. + + * tree-const: Properly handle assignments like A(:) = RHS when + do_fortran_indexing is true. + + * g-builtins.cc (builtin_eig): Correct usage message. + + * tree-const.cc (tree_constant_rep (ComplexDiagMatrix&)): Create + and initialize a new complex_scalar. Don't just try to copy the + value... + + * Matrix.h: Declare new fill functions for diagonal matrices. + * DiagMatrix.cc: Define them. + + * Matrix.h: Declare map functions for row and column vectors. + * RowVector.cc: Define them. + * ColumnVector.cc: Likewise. + + * CollocWt.h: Declare data protected instead of private. + * CollocWt.cc (CollocWt::CollocWt (const CollocWt&)): Fix brain-o. + + * lex.l: Return IMAG_NUM for a numeric constant followed by + [ \t]*[iIjJ]. + + * parse.y (IMAG_NUM): New token. + * (fact): Recogize IMAG_NUM and convert its value to a complex + constant. + + * Version 0.62 released. + + * Makefile.in (local-dist): Include -local in tar.Z filename. + * (split-local-dist): New target. + * (dist): Don't depend on newversion. + * (local-dist): Ditto. + + * tree-extras.cc (npsol): If the first argument isn't a vector, + print an error message and return. + + * tree.cc (tree_matrix::eval): Always set prev_row_total and + prev_column_total when starting out. + + * octave.cc (main): Don't try to detect signal handler failures, + but do call signal() to set up the interrupt handler. + +Tue Jan 12 19:59:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (npsol): Fix brain-o in checking length of bounds + vectors. + +Mon Jan 11 20:32:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (set_rand_seed): New function. + (force_to_fit_range): New function. + (current_seed): Really return current seed. + (rand_internal): Allow the user to actually set the seed for the + random number generator. + +Sun Jan 10 16:46:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.61 released. + + * builtins.h, builtins.cc: Rename from builtin-fcns.h, + builtin-fcns.cc (too long for Linux/SysV). + + * mappers.cc (xisinf): For non-IEEE machines, consider DBL_MAX to + be infinite. + +Fri Jan 8 09:15:57 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * gnuplot-build/Makefile.in (x11targets): Don't worry about + checking HAVE_X11_X_H. + + * configure.in: Check for gamma and lgamma for gnuplot. + + * gnuplot-build/Makefile.in (Makefile.X11): Only move Makefile to + ../Makefile.X11 if xmkmf succeeds. + + * gnuplot-build/Makefile.in (x11targets): Check to see that XMKMF + is set *and* that Makefile.X11 exists. + * If making notgnuplot_x11 with Makefile.X11 fails, try again with + Makefile. + + * gnuplot-build/Makefile.in: Use @PLOTLIB@ in definintion of LIBS. + * Don't define UNIXPLOT in TERMFLAGS. + * Don't define LN_S; it isn't used anywhere, and configure doesn't + give it a value. + + * configure.in: Check for closepl(). If found, define UNIXPLOT, + and substitute -lplot for @PLOTLIB@. + + * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): New macro. On systems that + have IEEE math, give a warning but also go ahead and divide by + zero. On systems that don't have IEEE math, just give an error + message and return an undefined tree_constant (it would probably + be possible to handle this so that it works the same everywhere, + but I'm not sure it's worth the effort...). + + * builtin-fcns.cc (install_builtins): On systems that don't have + IEEE_MATH, define Inf to be MAX_DBL, but don't define NaN at all. + + * configure.in: Check for finite, isnan, and isinf. + * Set HAVE_IEEE_MATH if we find finite and isnan. + + * builtin-fcns.cc (install_builtins): Use HAVE_IEEE_MATH instead + of IEEE_MATH. + * mappers.cc: Check HAVE_IEEE_MATH and HAVE_ISINF macros rather + than checking system type. + + * graph3d.c (hidden_line_plot): Declare dy and y as double, not + float, since VERYLARGE can be DBL_MAX. + + * lsoda.f, lsodar.f, lsodes.f, lsodi.f, lsoibt.f, stoda.f, + stodi.f, zrotg.f, sdot.f: Remove unused files. + + * texas_lotto.m: Renamed from win_texas_lotto.m to keep the + filename less than 14 characters. + +Thu Jan 7 15:45:29 1993 John W. Eaton (jwe@june.che.utexas.edu) + + * utils.cc: Declare ioctl extern "C". + + * tree.cc: Include stdio.h to be sure FILE is defined (apparently + not required by older versions of GNU iostream library). + * t-builtins.cc: Likewise. + * g-builtins.cc: Likewise, but for tmpnam. + + * tree-const.h (rand_internal): Rename from rand to avoid + conflict with standard library rand (a macro in Linux). + * tree-extras.cc (rand_internal): Fix function definition. + * g-builtins.cc (builtin_rand): Call rand_internal instead of rand. + + * octave.cc (main): Don't try to detect signal handler failures. + What's the proper way to do this if RETSIGTYPE is void? + +Tue Jan 5 08:14:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_matrix::eval): When adding a matrix down or to the + right, column or row dimension mismatches are always errors. + +Mon Jan 4 04:58:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.60 released. + + * xdiv.h, xdiv.cc: New files for Octave-specific matrix division + stuff. + * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xdiv stuff. + + * arith-ops.cc: Include xdiv.h. + +Sun Jan 3 12:24:04 1993 John W. Eaton (jwe@ward.che.utexas.edu) + + * gnuplot-build/Imakefile.in (notgnuplot_x11): In the compile + command, put source file before libraries. + + * libcruft/misc/Makefile.in: Don't use -O to compile gen-dimach.c. + +Thu Dec 31 00:45:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (matrix_sqrt): Don't create D until it is really + needed. + * (matrix_log): Ditto. + * (matrix_exp): Ditto. + [this should really be just one function instead of three...] + + * g-builtins.cc (builtin_sqrtm): New function. + * builtin-fcns.cc (general_fucntions): Add it to the list. + * tree-extras.cc (matrix_sqrt): Do the real work. + + * Makefile.in: Distribute INSTALL.OCTAVE and configure.in. + * (INSTALL.info): Make ../INSTALL.OCTAVE, not ../INSTALL. + + * doc/Makefile.in: Make ../INSTALL.OCTAVE, not ../INSTALL. + + * INSTALL.OCTAVE: Rename from INSTALL. + Refer to INSTALL for more info. + + * INSTALL: Copy from autoconf distribution. + Refer to INSTALL.OCTAVE for more info. + + * octave.cc (main): Remove leading blank line from startup message. + * Don't print it everytime the user types C-c... + + * xpow.cc: Finish off remaining cases. + + * tree-extras.cc (process_format): New function. + (do_printf): Use it. + +Wed Dec 30 00:43:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.56. + + * g-builtins.cc (builtin_logm): New function. + * builtin-fcns.cc (general_fucntions): Add it to the list. + * tree-extras.cc (matrix_log): Do the real work. + + * g-builtins.cc (builtin_expm): New function. + * builtin-fcns.cc (general_fucntions): Add it to the list. + * tree-extras.cc (matrix_exp): Do the real work. + + * Matrix-ext.cc (LU): Construct LU decomp. here, not in Matrix class. + (ComplexLU): Likewise. + * Matrix.cc (lu): Deleted. Use LU constructor instead. + Change all uses in octave sources. + + * Matrix-ext.cc (EIG): Construct EIG object here, not in Matrix class. + * Matrix.cc (eig): Deleted. Use EIG constructor instead. + Change all uses in octave sources. + + * Matrix-ext.cc (SVD): Construct SVD here, not in Matrix class. + (ComplexSVD): Likewise. + * Matrix.cc (svd): Deleted. Use SVD constructor instead. + Change all uses in octave sources. + + * Makefile.in: Update for new Matrix file organization. + Don't compile mx-inlines separately -- it's included where needed. + * Matrix.h: Declare Fortran routines we call here, not in Matrix.cc. + Don't declare every class to be a friend of every other class. + * mx-inlines.cc: New file, included by all Matrix-related .cc files. + * Matrix.cc: Split into several files. + * ColVector.cc: New file, from Matrix.cc + * RowVector.cc: Ditto. + * DiagMatrix.cc: Ditto. + * Matrix-ext.cc: Ditto. + + * tree-extras.cc (svd): Take advantage of new constructors and + diag functions. + + * Matrix.cc (DiagMatrix::diag) New function. + (ComplexDiagMatrix::diag) Ditto. + + * tree-extras.cc (eig): Take advantage of new constructors. + + * tree-const.cc (tree_constant (DiagMatrix)): New constructor. + (tree_constant (ComplexDiagMatrix)): Ditto. + + * Matrix.cc (Matrix (const DiagMatrix)): New constructor. + (ComplexMatrix (const DiagMatrix)): Ditto. + (ComplexMatrix (const ComplexDiagMatrix)): Ditto. + +Tue Dec 29 01:14:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (main): Print message at startup by default. + Don't print it until just before main loop. + * New -q option (inhibit_startup_message) turns it off. + * New -f option (read_init_files) inhibits reading of startup files. + * Delete -v option. + * (verbose_usage): Reflect changes in arguments, document -d. + + * win_texas_lotto.m: Sort picks before returning. + + * tree-extras.cc (eig): Return [v,d], not [l,v], where d is a + diagonal matrix made from l. + + * builtin-fcns.cc (mapper_functions): Fix last element of + initialization list to have correct number of elements. + + * Version 0.55. + + * Quad.h: Move all inline functions to Quad.cc to avoid apparent + g++ bug on the RS/6000. + + * configure.in: If we find flex, don't define LEXLIB. + + * COPYING.LIB: Deleted -- we're not actually distributing anything + under these terms. + * Makefile.in: Don't distribute COPYING.LIB. + +Mon Dec 28 00:46:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * xpow.h, xpow.cc: New files for safer pow() interface for octave. + * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xpow stuff. + + * arith-ops.cc: Include xpow.h. + * Don't declare toplevel jmp_buf. + + * t-builtins.cc (builtin_save): Make file and stream static to + avoid dumping core on return (is this a bug in libg++ or g++?). + * (builtin_load): Ditto. + + * symtab.cc (load): Make it work again. Yikes! This hasn't + worked since the big symbol table overhaul... + + * tree-const.cc (tree_constant_rep::save): Handle complex scalars + and matrices. + + * (symbol_def::undefine): Delete previous symbol definition before + defining. This should be ok now, after the parse_m_file fix of + 27 Dec. + + * getting_help: New global flag. + * ([_a-zA-Z][_a-zA-Z0-9]*): Set it if looking at "help". + * (reset_parser): Clear it. + * lex.l (STRING): Use it to determine what to do with ' ; and , . + + * lex.l (QSTRING): Handle the following (C-style) backslash escape + sequences correctly(?). + + \a bell \r carriage return + \b backspace \t horizontal tab + \f formfeed \v vertical tab + \n newline \\ backslash + + * median.m: New M-file. + + * g-builtins.cc (builtin_sort): New function. + * builtin-fcns.cc (general_fucntions): Add it to the list. + * tree-extras.cc (sort): Do most of the real work. + * tree-extras.cc (mx_sort): Do the rest. + +Sun Dec 27 17:40:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.cc (builtin_casesen): New function. + * builtin-fcns.cc (text_functions): Add it to the list. + + * strcmp.m: Temporarily allow string to numeric conversions. + Maybe strcmp() should be built in to the interpreter? + + * norm.m: New M-file. + + * builtin-fcns.cc (install_builtins): Treat i and j as functions, + not variables. + * Install inf as an alias for Inf. + * Install nan as an alias for NaN. + + * tree.cc (tree_identifier::parse_m_file (char*)): Force new + global symbol to be a function, not a variable. + +Tue Dec 22 14:15:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_function::eval): Check with silent_functions() + and return_last_value_computed() to determine proper behavoir. + + * builtin-fcns.cc (silent_functions): New builtin variable. + * (return_last_value_computed) Ditto. + + * utils.cc (silent_functions): New function. + * (return_last_value_computed) Ditto. + [This scheme for determining preferences needs to be reworked...] + + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only force yytext[len] to be the + end of the identifier if we gobbled some whitespace. + * Always unput the last character read. + + * tree.cc (tree_function::eval) Always turn on printing for + commands inside functions. + +Sat Dec 19 14:03:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.54. + +Fri Dec 18 16:02:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * (symbol_def::undefine): Undo previous change. Someone is + calling this function when they shouldn't be... + + * tree.cc (parse_m_file): If the script file is successfully + parsed, Ensure that the new symbol is defined in the global + symbol table. + + * lex.l: Handle continuation lines with the pattern + {EL}{S}*\n { promptflag = 0; } // Line continuation. + +Thu Dec 17 01:47:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (symbol_def::define): Delete previous symbol + definition before defining. + (symbol_def::undefine): Ditto, but new definition is always NULL. + + * readline/Makefile.in: Don't compile emacs_keymap.c and + vi_keymap.c since they are included by keymaps.c. + + * configure.in: If RETSIGTYPE isn't int, then define + VOID_SIGHANDLER="-DVOID_SIGHANDLER=1". + Substitute VOID_SIGHANDLER. + + * readline/Makefile.in (CFLAGS): Add -DVOID_SIGHANDLER if + appropriate. + + * tilde.c: Declare xmalloc, not malloc. + + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only call unput if we've + actually read something. + + * Version 0.53. + +Wed Dec 16 01:35:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Look in the global symbol table + for names, but ignore functions. + + * tree.cc (tree_identifier::eval): Use symbol_out_of_date() to + simplify logic for re-parsing M-files. + Always look in global symbol table for functions in case the + definition has changed (shouldn't the local symbols be undefined + anyway??). + + * tree.cc (symbol_out_of_date): New function. + + * symtab.cc (symbol_table::undefine): Actually do something. + * (symbol_table::remove_name): Ditto. + * (symbol_table::clear): And so on. + + * Matrix.cc (ComplexMatrix::svd): Use complex conjugate transpose, + not simple transpose, for V. + + * Version 0.52. + + * gnuplot-build/Imakefile (notgnuplot_x11): In the compile + command, put source file before libraries. + + * parse.y (assignment): If trying to warn against assignment to a + function, check is_function() instead of !is_variable(). + + * src/Makefile.in: Distribute input.h. + +Tue Dec 15 10:48:22 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (main): Call initialize_readline to set up completion + functions. + + * input.cc (make_name_list, command_generator, command_completer, + initialize_readline): New functions. + + * input.h: New file. + * lex.l: Include it instead of input.cc. + * src/Makefile.in: Create input.o rather than including it + directly in lex.l. + + * builtin-fcns.cc: do_fortran_indexing is now initially false. + prefer_column_vectors is now initially true. + + * builtin-fcns.cc (install_builtins): Install i and j + (== sqrt(-1)) as permanent global variables. + + * g-builtins.cc (MAXPATHLEN) Provide default definition here. + * t-builtins.cc: Not here. + + * g-builtins.cc (quitting_gracefully, interactive, + clean_up_and_exit, verbatim_pwd, getwd) Declare here. + * t-builtins.cc: Not here. + + * g-builtins.cc: Also include readline.h and history.h. + + * g-builtins.cc: Include version.h and sys/param.h here. + * t-builtins.cc: Not here. + + * g-builtins.cc: Move builtin_clc, builtin_clock, builtin_date, + builtin_pause, builtin_quit, builtin_warranty here from + t-builtins.cc. + + * builtin-fcns.cc (general_functions): Move builtin_clc, + builtin_clock, builtin_date, builtin_pause, builtin_quit, + builtin_warranty here from text_functions to limit the number of + reserved words. + + * scripts/*.m: Check for correct number of input arguments before + proceeding. + + * configure.in (DEFAULT_PAGER): Look for less, more, page, and pg. + + * t-buitlins.cc (builtin_help): If no arguments are given, list + all the known operators, keywords, functions, and variables. + + * t-builtins.cc (builtin_help) Pass the output through PAGER using + a libg++ procbuf. + (builtin_who): Ditto. + + * utils.cc (get_pager): New function. + + * help.h, help.cc: New files to manage lists of help info for + keywords and operators. + + * symtab.cc (symbol_record): Implement the Matlab-style semantics + of functions using two symbol_def objects. + * (symbol_table): Store identifier names in a hash table instead + of a linear list. + * symtab.cc (symbol_def): New class. + +Sat Dec 12 00:00:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y (yyerror): Change error text to be more accurate. + + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look in the current symbol + table for names. Function names and other global symbols are now + resolved at execution time. + + * symtab.cc (sorted_var_list): New function. + * (sorted_fcn_list): Ditto. + * (var_list): Ditto. + * (fcn_list): Ditto. + These should probably not all be separate functions... + + * t-functions.cc (builtin_who): Call sorted_var_list for each + symbol table to print variable names only. + * Accept -fcn, -fcns, or -functions to also list function names. + * Make -all list function names, but under a separate heading from + other symbols. + + * builtin-fcns.cc (is_text_function_name): New function. + * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Use is_text_function_name to + find if a name is a text function name instead of relying on the + symbol tables. + + * lex.l (is_keyword): New function. + ([_a-zA-Z][_a-zA-Z0-9]*): Use is_keyword instead of having a + special lex pattern for each keyword. + +Thu Dec 10 12:25:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.cc: Declare top_level_sym_tab extern. + + * Version 0.51. + +Wed Dec 9 02:00:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (all user_functions): If the return value from a + user's function is bogus, print an error message and abort to the + top level. + + * tree-const.cc (all do_matrix_index functions): Major overhaul to + simplify and apply range checking before doing the indexing. + + * tree-const.cc (fortran_row, fortran_column, valid_scalar_indices, + matrix_to_fortran_indices): Move here from arith-ops.cc and + declare as `static inline'. Delete declarations from arith-ops.h. + + * arith-ops.cc (gripe_nonconformant_assignment): Delete function. + + * tree-const.h (TREE_TO_MAT_IDX): Delete macro. + * tree-const.cc (tree_to_mat_idx): Make it an inline function. + + * tree-const.cc (all do_matrix_assignment functions): Major + overhaul to simplify resizing and range checking. + + * tree-const.cc (): Move here from arith-ops.cc. + Jump to top level on errors. + Return max value. + (indexed_assign_conforms) New function. + (index_check (int)): New function. + (index_check (Range)): New function. + +Tue Dec 8 21:07:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-const.cc (tree_constant_rep::tree_constant_rep (Range): + Don't create range constants that have less than 2 elements. + + * utils.cc (jump_to_top_level): New function. + * All: Replace calls to longjmp with calls to jump_to_top_level(). + Don't include , except in octave.cc, and utils.cc. + +Mon Dec 7 01:57:30 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in: Create Imakefile in gnuplot-build directory. + Look for xmkmf, then X11/X.h. + * gnuplot-build/Makefile.in: Try harder to get notgnuplot_x11 to + build correctly. + * gnuplot-build/Imakefile.in: New file, for building + notgnuplot_x11 if xmkmf is available. + + * Version 0.50. + + * gnuplot-build/Makefile.in (SUBDIRS): Add docs. + + * tree-const.h (make_numeric_or_range_or_magic): New function. + * tree-const.cc (do_matrix_index): Use it instead of make_numeric + so that we actually take advantage of all the special cases we + have for range types as matrix indices. + + * tree-const.cc (tree_constant_rep::do_matrix_index (int, Matrix)): + Fix typo. + + * DAE.cc (integrate): If returning a matrix of values, don't mix + time with the states. + * ODE.cc (integrate): Likewise. + +Sun Dec 6 16:58:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (dassl): New function. + * g-builtins.cc (builtin_dassl): Make it work. + * doc/octave.1: Document it. + + * DAEFunc.h, DAEFunc.cc, DAE.h, DAE.cc: New files. + + * tree-extras.cc (lsode): Clean up. Use available functions + instead of doing everything in line. + + * tree.cc (tree_multi_assignment_expression::eval): Don't define + constants that are of unknown type. + Try to be smarter about padding after last value. + + * tree-extras.cc (lu): Don't bother trying to return the LU + factorization in a single matrix since this isn't really useful + and isn't compatible with Matlab anyway (they use Linpack, we use + Lapack). + + * tree.cc (tree_identifier::assign (rhs, args, nargs)): Only try + to do assignment if rhs is defined. + +Sat Dec 5 18:23:55 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (qr): New function. + * g-builtins.cc (builtin_qr): New function. + * builtins.cc: Add builtin_qr to list of builtin functions. + * doc/octave.1: Document it. + + * Matrix.cc (Matrix::lu): Use dgesv from Lapack instead of dgefa + since it returns L and U, not some factors that need decoding. + (ComplexMatrix:lu): Likewise. + +Fri Dec 4 01:51:05 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * configure.in (INCDIRS): Don't include /usr/local/include. + (LIBDIRS): Don't include /usr/local/lib. + + * tree-extras.cc (lu): New function. + * g-builtins.cc (builtin_lu): New function. + * builtins.cc: Add builtin_lu to list of builtin functions. + * doc/octave.1: Document it. + + * Matrix.cc (Matrix:lu, ComplexMatrix:lu): New functions. + * Matrix.h, Matrix.cc (LU, ComplexLU): New classes. + + * tree-extras.cc (do_quad): New function. + * g-builtins.cc (builtin_quad): New function. + * builtins.cc: Add builtin_quad to list of builtin functions. + * doc/octave.1: Document it. + + * doc/Makefile.in (install): Edit the manpage to substitute + correct values in the FILES section. + (dist) Depend on octave.info. + (local-dist): Ditto. + + * Quad.h, Quad.cc: New files to implement quadrature. + + * NPSOL.cc (npsol_objfun): If compiling with GCC on a Sun, assign + to objf via assign_double(). + + * sun-utils.h, sun-utils.cc: New files. + * sun-utils.cc: Move declaration and definition of MAIN_ here from + utils.cc. + (access_double): New function, from GCC manual. + (assign_double): New function, after access_double. + +Thu Dec 3 03:16:03 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * NEWS: New file. + * Makefile.in: Distribute it. + + * scripts/*.m: Change to use new end feature. + + * lex.l: Recognize `endif', `endfor', `endfunction', `endif', and + `endwhile', in addtion to `end'. + * parse.y: Check for command/end mismatches. + (end_error): New function. + * doc/octave.1: Document it. + +Wed Dec 2 11:57:18 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * libcruft/villad: New directory. Move and split villad.f here + from libcruft/misc. + * configure.in: Create Makefile in libcruft/villad. + * libcruft/Makefile.in: Add libcruft/villad to list of dirs to make. + + * All Makefile.in (uninstall): New target. + (distclean): Likewise. + (check): Ditto. + * Try to make clean targets conform with GNU coding standards. + + * utils.cc (smells_like_X11): New function. + * builtin-fcns.cc (install_builtins): Don't set graphics terminal + to x11 unless it looks like we're running X11. + + * win_texas_lotto.m: New M-file. + * octave.1: Document it. + + * arith-ops.h: New file. + * src/Makefile.in: Build arith-ops.o, distribute arith-ops.cc, + arith-ops.h. Maybe this will at least speed up recompiles. + + * THANKS: New file + * Makefile.in: Distribute it. + + * configure.in: Create Makefile in gnuplot-build/docs. + * gnuplot-build/docs/Makefile.in: New file. + * Create and install notgnuplot.gih. + +Tue Dec 1 00:15:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_identifier::eval (int)): Only pad after if printing. + (tree_multi_assignment_expression::eval (int)): Ditto. + (tree_assignment_expression::eval (int)): Ditto. + + * hankel.m: Use disp to print message. + * toeplitz.m: Ditto. + + * lex.l ({SN}*\]/{S}*=): Check maybe_screwed_again to + decide whether to return SCREW_TWO or ']'. + + * doc/Makefile.in (install): Really install the manpage. + + * Version 0.49. + + * Matrix.cc (ComplexMatrix::operator !): New function. + * arith-ops.cc (do_unar_op): Use it. + + * tree-extras.cc (inverse, svd, eig): Don't try to operate on + empty matrices. + + * Matrix.h, Matrix.cc: (EIG): New class. + (Matrix::eig): New functions. + (ComplexMatrix::eig): Ditto. + * tree-extras (eig): Use them. + * g-builtins.cc (builtin_eig): New function. + * builtin-fcns.cc (general_functions): Add eig to list. + * dococtave.1: Document it. + + * Matrix.h, Matrix.cc: (ComplexDET): New class. + * tree-extras (determinant): Use it. + +Mon Nov 30 04:02:29 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.h, Matrix.cc (ComplexSVD): New class. + * tree-extras (svd): Use it. + + * Matrix.cc (svd): Use lapack instead of linpack to compute SVD. + + * libcruft/Makefile.in: Replace eispack with lapack in + subdirectory list. + * libcruft/eispack: Delete directory. + * libcruft/lapack/Makefile.in: New file. + * configure.in: Create Makefile in libcruft/lapack, not + libcruft/eispack. + + * libcruft/lapack: New directory. + * Copy files for SVD and Eigenvalue computation here. + + * lex.l ({SN}*\]/{S}*=): Only return SCREW_TWO if not + defining a function. + + * arith-ops.cc (do_binary_op (double, double)): For pow operator, + don't create complex value if exponent is really an int. + + * configure.in: Check for f77 last. + * Print warnings if bison or lex is not found. + * Reformat fatal no f2c/f77 error message. + + * flib.sh: Make it work even if xlf is called f77. + +Sun Nov 29 01:55:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc: Include f77-uscore.h. + * Use F77_FCN macro when declaring or calling Fortran functions. + + * configure.in: After checking to see that it's not garbage, add + the output of f2c-compat.sh to DEFS. + + * f2c-compat.sh: Figure out whether or not we need to append an + underscore to Fortran function names. + + * flibs.sh: Handle xlf -v output as special case. + + * octave.cc: Only define BADSIG if it isn't already defined. + * g-builtins.cc: Ditto. + + * configure.in: Don't create man/Makefile. + * man: Directory deleted. + * doc/Makefile.in: Distribute and install octave.1. + * doc/octave.1: Renamed from man/octave.1. + +Sat Nov 28 15:54:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * man/Makefile.in (install): Install manpage. + * octave.1: rename from octave.man + * octave.1: Document builtin variables and command line editing + (stolen from bash man page). + + * tree-const.cc (eval (int print)): Convert complex values to real + if imaginary part is zero. + + * octave.cc (log_usage): Deleted. + (main): Don't call log_usage. + + * g-builtins.cc (builtin_sqrt): Delete. + (builtin_log): Ditto. + (builtin_log10): Ditto. + + * tree-const.h, tree-const.cc (sqrt_internal): Delete. + (log_internal): Ditto. + (log10_internal): Ditto. + + * tree-const.cc (mapper): Handle neg_arg_complex. + + * builtin-fcns.h (Mapper_fcn): New field neg_arg_complex. + * builtin-fcns.cc: (mapper_functions[]): Initialize it for list of + mapper functions. + * builtin-fcns.cc: (mapper_functions[]): Move log, log10, and sqrt + back here from general_functions[]. + +Fri Nov 27 17:05:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (tree_constant_to_vector): Handle complex scalars + and matrices. + +Wed Nov 25 17:32:42 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * man/octave.man: New file, very incomplete. + * man/Makefile.in: Include octave.man in list of files to + distribute. + + * g-buitlins.cc (builtin_rand): Handle nargin == 1. + * tree-extras.cc (rand): Likewise. + + * rem.m: New M-file. Implemented as M-file because it's much + simpler! + + * configure.in (DEFAULT_DOT_C_FROM_DOT_F): Escape % characters in + rule to avoid problems with autoconf, which uses % for sed command + delimeters. + (DEFAULT_DOT_O_FROM_DOT_F): Ditto. + +Tue Nov 24 00:21:34 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (fill_matrix): Don't try to create matrices with + negative dimensions. + (frobit): Likewise. + + * utils.cc (check_dimensions): New function. + + * utils.cc (treat_neg_dim_as_zero): New function. + * builtin-fcns.cc (treat_neg_dim_as_zero): New builtin variable, + default value is false. + + * tree-const.h (tree_constant::bump_value): Like, assign, check + reference count and possibly make a new copy before changing + anything. + + * tree-base.h (is_builtin): New virtual function. + * tree.cc (tree_builtin::is_builtin): New function. + + * parse.y (ans_expression): Also check to see if the lone + expression is a builtin text-style function invoked without any + arguments. + + * octave.cc, t-builtins.cc: Print copyright and other normal + (non-error) message on cout instead of cerr. + + * t-builtins.cc (builtin_warranty): Don't return message in + retval. + (builtin_history): Likewise. + (builtin_help): Also. + (builtin_who): Ditto. + + * Version 0.48. + + * tree-extras.cc: Fix most functions to handle complex arguments. + Still need to finish SVD and DET (waiting for these functions in + the Matrix class). + + * tree.cc (tree_multi_assignment::eval): Optionally print names + for result variables. + + * tree-const.h (tree_constant::eval (int print, int nargout)): + New function. Simply ignore nargout. + * tree.cc (tree_matrix::eval (int print, int nargout)): Ditto. + + * tree.cc (tree_parameter_list::name): New function. + + * lex.l (): Delete rules, start condition because they are + unecessary. + + * lex.l ({SN}*\]): Split into three rules. Use trailing + context instead of home-brew lookahead. + +Mon Nov 23 00:51:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * utils.cc (ok_to_lose_imaginary_part): New function. + * builtin-fcns.cc (ok_to_lose_imaginary_part): New builtin + variable, default value is warn. + + * tree-const.h (double_value): Maybe return real part if invoked + for complex tree_constant. + * tree-const.h (matrix_value): Ditto. + + * Version 0.47. This one wasn't tested, but there have been a lot + of significant changes and I wanted a backup. + + * tree-const.cc (sqrt_internal): New function. Sqrt isn't + implemented as a mapper function since negative real arguments + give complex results. + (log_internal): Ditto. + (log10_internal): Ditto. + * builtin-fcns.cc: Move sqrt, log, and log10 from mapper struct + initializer to general function struct initializer. + + * rot90.m: New M-file. Still needs rem() to be complete. + + * tree-const.cc (mapper): Handle mapper functions for complex + variables. + + * mappers.h, mappers.cc: New file for mapper functions. + + * builtin-fcns.h, builtin-fcns.cc: Rename from builtins.h + builtins.cc. + + * flipud.m: Don't do indexing on lhs. + * fliplr.m: Likewise. + +Sun Nov 22 17:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * arith-ops.cc (do_binary_op (double, double)): Handle a^b for + a < 0. + + * builtins.cc: Make sqrt a general builtin function instead of a + mapper function. + * g-builtins.cc (builtin_sqrt): New function. + * tree-const.cc (sqrt_internal): New function. + +Sat Nov 21 16:41:02 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-const.h, tree-const.cc: Complete most changes required to + handle complex types. There are lots of details, most will be + omitted here. + + * tree-const.h (is_real_type) New function. + (is_complex_type): Ditto. + (is_scalar_type): Ditto. + (is_matrix_type): Ditto. + + * tree-const.h (REP_RHS_MATRIX, REP_ELEM_ASSIGN, CRMATRIX, + ASSIGN_CRMATRIX_TO, CRMATRIX_ASSIGN_REP_ELEM, + CRMATRIX_ASSIGN_ELEM): New macro for dealing with real and complex + matrices in the same tree_constant_rep function. + + * tree-const.cc: Include arith-ops.cc. + + * arith-op.cc: New file for functions that implement unary and + binary operations for the tree_constat classes. + * Mark all operations that aren't implemented yet with a + FIXME comment. There are about 35-40 things left to fix + in this file. + +Thu Nov 19 00:25:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.46. + [ This one wasn't tested, but there have been a lot of significant + changes and I wanted a backup. ] + + * tree-const.cc (tree_constant_rep::do_unary_op): Handle Complex. + (do_unary_op (Complex&, tree::expression_type)): New function. + (do_unary_op (ComplexMatrix&, tree_expression_type): Ditto. + + * tree-const.cc (tree_constant_rep::assign): Handle Complex + (still needs updated support functions in order to work). + + * tree.cc (tree_matrix::eval): Handle Complex. + (tree_identifier::eval): Ditto. + (tree_for_command::eval): Ditto. + +Wed Nov 18 23:33:13 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree_const.cc (tree_constant_rep::rows): Handle Complex. + (tree_constant_rep::columns): Ditto. + (tree_constant_rep::all): Ditto. + (tree_constant_rep::any): Ditto. + (tree_constant_rep::cumprod): Ditto. + (tree_constant_rep::cumsum): Ditto. + (tree_constant_rep::prod): Ditto. + (tree_constant_rep::sum): Ditto. + (tree_constant_rep::sumsq): Ditto. + + * tree_const.h, tree_const.cc (tree_constant::complex_value): New + function. + (tree_constant_rep::complex_value): Ditto + (tree_constant::complex_matrix_value): New + (tree_constant_rep::complex_matrix_value): New + + * tree_const.cc (tree_constant_rep::~tree_constant_rep): Handle + complex scalars and matrices. + (tree_constant_rep::force_numeric): Ditto. + (tree_constant_rep::make_numeric): Ditto. + (tree_constant_rep::eval): Ditto. + (tree_constant_rep::bump_value): Ditto. C++, for C == a + complex value is C = C + 1. Should I even do this? Hmmm. + + * tree-const.h, tree-const.cc: Begin adding support for Compelex. + * Add complex_scalar and complex_matrix to value union. + * Add complex_scalar_constant and complex_matrix_constant to type + tag enum. + * New constructors. + + * Matrix.h, Matrix.cc: Major changes to add Complex support. + +Tue Nov 17 14:40:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Matrix.cc (RowVector::operator (const Matrix&)): New function. + + * Matrix.cc (ColumnVector::transpose): New function. + Eliminate friend function that served the same purpose. + (RowVector::transpose): Ditto. + +Mon Nov 16 09:57:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (QSTRING): Fix to allow '' inside a string to represent a + single quote. Makes computer.m a little funnier. + +Fri Nov 13 18:46:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.45. + + * computer.m: New M-file. + * tril.m: Ditto. + * triu.m: Ditto. + + * doc (*.texi): Can now produce BUGS, INSTALL, and octave.info + files without generating errors, though the organization is + probably till very wrong. + + * Makefile.in (newversion): Add magic to handle major versions + other than 0, and major/minor versions of any length. + +Thu Nov 12 01:37:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.h, tree-const.h, builtins.cc, g-builtins.cc, + tree-extras.cc: Conditionally compile code for NPSOL and FSQP + based on FSQP_MISSING and NPSOL_MISSING. + * g-builtins.cc (builtin_npsol): If NPSOL is missing, always call + npsol_usage() to print out message indicating why NPSOL doesn't + work. + * g-builtins.cc (builtin_fsqp): Likewise for FSQP. + + * configure.in: Check for srcdir/libcruft/npsol/npsol.f and + srcdir/libcruft/fsqp/fsqp.f. If missing, define NPSOL_MISSING or + FSQP_MISSING and add them to DEFS. + + * libcruft/npsol/README.MISSING: New file. + * libcruft/fsqp/README.MISSING: Ditto. + + * libcruft/npsol/Makefile.in (dist): Don't distribute sources + because of license restriction. Do distribute Makefile.in and + README.MISSING. + * libcruft/fsqp/Makefile.in (dist): Ditto. + + * All Makefile.in files (local-dist): New target, usually the same + as dist. + + * parse.y (ans_expression): Check to see that the RHS isn't just + an identifier. + * tree.cc (tree_identifier::eval (int)): Maybe print id name. + * tree.cc (tree_assignment::eval (int)): Ditto. + * buitlins.cc (print_answer_id_name): New builtin variable. + * utils.cc (print_answer_id_name): New function. + +Tue Nov 10 10:58:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (log_usage): Surround with #if 0/#endif. + +Mon Nov 9 13:42:54 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * symtab.cc (load): Only issue error mesasge if attempt to find + _first_ name keyword fails. + + * tree-const.cc (make_numeric_or_magic): New function. Like + make_numeric except also pass magic_colons. + * tree-const.cc (all do_matrix_index functions): Matrix ndices can + be naked colons, so use make_numeric_or_magic on index arguments + instead of make_numeric. + + * liboctave/Makefie.in (install): Install .h files in $(includedir). + (includedir): New macro, default value $(prefix)/include. + + * tree.cc (tree_function::eval (int print)): Force arguments to be + undefined. + + * tree-const.h (tree_constant::assign (rhs, args, nargs)): Check + reference count before assigning. + * tree.cc (tree_identifier::assign (rhs, args, nargs)): Don't eval + lhs before doing assignment. + + * tree.cc (parse_m_file): Gobble leading white space, including + comments. + +Fri Nov 6 16:52:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.44. + + * g-builtins.cc (builtin_getenv): New function. + + * isempty.m: New M-file. + + * g-builtins.cc (builtin_exist): New function. + * utils.cc (identifier_exists): Handle the dirty details. + + * utils.cc (warn_comma_in_global_decl): New function. + * builtins.cc (warn_comma_in_global_decl): New builtin variable. + Initial value is true. + * parse.y (global_decl): Handle global declarations here, + including optional initialization. + * t-builtins.cc (builtin_global): Deleted. + +Thu Nov 5 23:59:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_feval): New function. + * tree-extras.cc (feval): Handle the dirty details. + + * g-builtins.cc (builtin_rand): New function. + * tree-extras.cc (rand): Handle the dirty details. + +Wed Nov 4 14:54:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * num2str.m: New M-file. + * int2str.m: Ditto. + + * g-builtins.cc (builtin_disp): New function. + + * g-builtins.cc (builtin_fprintf, builtin_printf, + builtin_sprintf): New functions. + * tree-extras.cc (do_printf): New function to handle the gory + details. + + * g-builtins.cc (builtin_flops): Implement here because we may + actually want to count operations at some point. + +Tue Nov 3 17:06:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-const.cc (do_binary_op): Detect and give error message for + optations on empty matrices. + (do_unary_op): Likewise. + + * parse.y (matrix): Convert `[]' and `[;]' to empty matrices + instead of (tree_matrix *) NULL. + +Mon Nov 2 11:23:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * src/Makefile.in: Update dependencies. + * liboctave/Makefile.in: Ditto. + + * tree-const.cc (force_numeric): Consult matlab_strings() + before doing string to number conversion. + * builtins.cc (matlab_strings): New builtin variable. + * utils.cc (matlab_strings): New function. + + * tree-extras.cc (linear_constraints_ok): New function. + (linear_constraints_ok): Ditto. + (npsol): Use them to avoid creating inconsistent sets of + constraints and crashing. It would really be nice to have + exception handling. + + * symtab.cc (load): Issue error mesasges if attempt to find + name keyword fails. + + * Version 0.43. + + * tree-extras.cc (npsol): Use new minimize (phi, inform). + Handle nargout == 3. + + * g-builtins.cc (builtin_npsol): Allow nargout == 3. + + * NPSOL.cc (set_default_options): New function. + (all constructors): Use it. + (operator =): Use it and print warning message (setting default + options doesn't represent a true copy and it would be somewhat + difficult to fix this...). + + * npchkd.f (npchkd): Only write message if msglvl > 0. + +Sun Nov 1 00:58:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * gnuplot-build/Makefile.in (LIBDIRS): Set correctly. + (notgnuplot): Use it. + + * libcruft/misc/gen-d1mach.c: Generate d1mach.f at build time + instead of depending on the installer to get it right. + * libcruft/Makefile.in (gen-d1mach): New target. + + * libcruft/Makerules.in (SPECIAL): New macro. + (DISTFILES): Include it. + + * libcruft/Makerules.in (SPECIAL_DEPEND): Ditto. + (../../libcruft.a): Use it. + +Mon Oct 26 02:25:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (is_valid_function): Try harder to find M-files + that may not have been parsed yet. + + * symtab.cc (define (symbol_record*)): New function. Make it + simple to copy all fields of a symbol_record if we already have + one. + * utils.cc (force_global): Use it. + + * utils.cc (valid_identifier): Allow underscores in names. + + * tree-extras.cc (npsol): Force column vector to be returned. + (fsolve): Ditto. + + * Version 0.42. + + * tree-extras.cc (fsolve): New function for solving nonlinear + algebraic equations. This needs much more work if it is to + provide all the functionality of Matlab's fsolve. + + * tree-extras.cc (fsolve_user_function): New function. + + * libcruft/minpack: Import needed functions. + + * tree-extras.cc: (npsol (tree_constant*, int, int): Completely + rewrite to handle all of the follwing: + + 1. npsol (x, phi) + 2. npsol (x, phi, lb, ub) + 3. npsol (x, phi, lb, ub, llb, c, lub) + 4. npsol (x, phi, lb, ub, llb, c, lub, nllb, g, nlub) + 5. npsol (x, phi, lb, ub, nllb, g, nlub) + 6. npsol (x, phi, llb, c, lub, nllb, g, nlub) + 7. npsol (x, phi, llb, c, lub) + 8. npsol (x, phi, nllb, g, nlub) + + * tree-extras.cc (npsol_constraint_function): New function. + + * tree-extras.cc (tree_constant_to_vector): New function. + (tree_constant_to_matrix): Ditto. + (takes_correct_nargs): Ditto. + +Fri Oct 23 10:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (is_valid_function): New function. + (npsol): Use it. + + * utils.cc (s_plural): New function. + (es_plural): Ditto. + + * tree-extras.cc (npsol): Improve checks for valid objective + function. + + * tree.cc (tree_function::max_expected_args): New function. + +Thu Oct 22 18:42:07 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_lsode): Quick check of arguments, then + call lsode (tree_constant *, int, int). + * Move rest of code for implementing builtin_lsode to + tree-extras.cc. + + * g-builtins.cc (builtin_npsol: Quick check of arguments, then + call npsol (tree_constant *, int, int). + * Move rest of code for implementing builtin_npsol to + tree-extras.cc. + + * tree-const.cc: Simplify functions that require numeric arguments + by always calling make_numeric for them instead of doing it + conditionally. + * tree.cc: Ditto. + * tree-extras.cc: Ditto. + + * tree-const.h (tree_constant::make_numeric): Return *this if + already a numeric type. + + * NLP.cc: In constructors, don't try to assign NULL to bounds + objects. + + * tree-const.cc (tree_constant_rep::valid_as_scalar_index (void)): + New function. + * tree-const.cc (valid_scalar_indices (tree_constant*, int): + New function. + * tree-const.cc (tree_constant_rep::do_scalar_index): Simplify by + using functions to determine if arguments are valid as indices. + (tree_constant_rep::do_scalar_assignment): Likewise. + +Wed Oct 21 14:11:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-extras.cc (determinant): Make it work again. + + * tree.cc (tree_identifier::eval (tree_constant*, int, int, int): + Simplify logic. Only have one ans->eval() call. + + * tree-const.cc (tree_constant_rep::eval (tree_constant*, int, + int, int): Properly handle indexing of range constants. + + * tree-const.cc (stupid_fortran_style_matrix_index): Preserve row + or column orientation for vectors. + + * toeplitz.m: New M-file. + * invhilb.m: Ditto. + * hankel.m: Ditto. + + * tree-extras.cc (max): Handle two arg case. + tree-extras.cc (max): Likewise. + (min (Matrix&, Matrix&): New function. + (max (Matrix&, Matrix&): Ditto. + +Tue Oct 20 15:13:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.41. + +Mon Oct 19 16:46:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * rows.m: New M-file. + * g-builtins.cc (builtin_rows): Delete function. + * g-builtins.h (builtin_rows): Delete declaration. + * builtins.cc (general_functions): Delete from initialization list. + + * columns.m: New M-file. + * g-builtins.cc (builtin_columns): Delete function. + * g-builtins.h (builtin_columns): Delete declaration. + * builtins.cc (general_functions): Delete from initialization list. + + * length.m: New M-file. + * g-builtins.cc (builtin_length): Delete function. + * g-builtins.h (builtin_length): Delete declaration. + * builtins.cc (general_functions): Delete from initialization list. + + * g-builtins.cc (builtin_size): If two values are expected to be + returned, put nr and nc in separate registers. + +Sun Oct 18 13:37:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree-base.h: Extract base tree class declarations from tree.h. + * tree-const.cc, tree-const.h: Extract tree_constant class from + from tree.cc, tree.h. + Change all uses of tree.h to use either or both of tree-base.h and + tree-const.h. + + * Matrix.cc (solve): Replaces LinEqn class. + tree.cc (do_binary_op) Use it. + + * g-builtins.cc (builtin_max): New function. + tree.cc (tree_constant::max): New friend. + + * g-builtins.cc (builtin_min): New function. + tree.cc (tree_constant::min): New friend. + + * cond.m: New M-file. + + * rank.m: New M-file. + + * g-builtins.cc (builtin_svd): New function. + tree.cc (tree_constant::svd): New friend function. + + * g-builtins.cc (builtin_svd): New function. + tree.cc (tree_constant::svd): New friend function. + + * t-builtins.cc (builtin_format): New function. Implement some of + the Matlab options (sort of). + + * Major changes to liboctave source. A new Matrix.cc/Matrix.h + completely replaces the old Matrix/Vec/AVec code. All other + classes that use Matrix/Vector objects have been updated (or + deleted, if they are no longer needed). All callers changed in + octave sources. + +Sun Oct 11 21:22:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_function::eval): Don't define more function + parameters than are expected. If fewer arguments than expected + are actually supplied, force them to be undefined. + + * parse.y (fact): Give warning and abort for identifiers followed + by '['. This should catch most improper uses of [] instead of () + for indexing operators. + + * tree.cc (do_binary_op (Matrix&, Matrix&, tree::expression_type): + Handle element by element exponentiation. + +Tue Sep 22 10:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.40. + +Mon Sep 21 13:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l: Accept ** and .** as well as ^ and .^ as exponentiation + operators. + +Fri Sep 18 15:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.h tree.cc utils.cc g-builtins.cc: Elimitate need for + overloaded operator-> in the tree_constant class. Also eliminate + uses of ->string, ->scalar, etc. Instead, always call + .string_value(), .double_value(), etc. + + * builtins.cc (install_builtins): Reserve `ans' as an + uninitialized global variable (should it really be global?). + + * parse.y (ans_expression): Handle default assignemnt to builtin + variable ans. + (command): Use it. + +Tue Sep 15 14:06:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.39. + + * tree.cc (tree_identifier::bump_value): Don't try to increment + undefined symbols or values. + (tree_prefix_expression::eval): Don't call bump_value if id is a + NULL_TREE. + (tree_prefix_expression::eval): Likewise. + + * g-builtins.cc (lsode_builtin): Handle extra arguments. + liboctave/ODE.cc (integ): Add template for handling bad returns + from lsode. + + * tree.cc (class tree_return_command): Implementation is just like + break and continue. Something seems wrong about this... + lex.l (return): Recognize return statement. + parse.y (statement): Handle function returns. + tree.cc (various eval functions): Check to see if we are returning + from a function. + + * tree.cc (tree_for_command::eval): Set abort_on_undefined when + evaluating the loop body. + (tree_while_command::eval): Ditto. + + * tree.cc (class tree_idenfier): Improve searching/parsing M-files + when handling undefined names. + tree.cc (tree_identifier::parse_m_file (char*)): New function. + (tree_identifier::parse_m_file (void)): Use it. + + * utils.cc (force_global): New function. + * symtab.cc (symbol_table::remove_name(char *)): New function. + + * tree.h, tree.cc (class tree_constant): Split into two classes, + tree_constant (handle) and tree_constant_rep (body) to enable use + of `smart pointers' and reference counted memory management. + (Lots of things are different with this change.) + +Sat Aug 22 11:58:27 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.38. + + * lex.l (COMMA_KLUDGE): Delete production, all uses. This doesn't + seem to be necessary anymore, and the mystery output lines + disappear without it. + + * builtins.cc (make_eternal (char *)): New function. + (install_builtins): Make LOADPATH, eps, pi, Inf, and NaN eternal. + + * New M-files: mean.m, std.m, hadamard.m, vander.m, hilb.m, + linspace.m, logspace.m. + + * tree.cc (tree_function::eval): Don't check number of arguments + supplied against total number possible (previously thought to be + `expected') so that user-defined functions can have variable + numbers of arguments. + + * tree.cc (tree_identifier::eval_undefined_error): New function. + (tree_identifier::eval): Use it. + + * octave.cc (abort_on_undefined): New global symbol to control + whether we should jump to top level after an undefined symbol has + been encountered. + tree.cc (tree_function::eval) Set it before evaluating function + body, restore to previous value after successful completion. + tree.cc (tree_identifier::eval_undefined_error): Use it + +Fri Aug 20 09:31:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc: New mapper functions: + isnan: Uses xisnan, which calls IEEE function isnan. + isinf: Uses xisinf which calls IEEE functions finite and isnan, + or isinf if available. + finite: Uses xfinite, which calls IEEE function finite. + abs: Uses fabs. + + * g-builtins.cc (sumsq): New function. + (diag): New function. + + * tree.cc (tree_constant::sumsq): New function + (tree_constant::diag): New function + + * Matrix.cc (sumsq): New function. + (diag): Ditto. + +Thu Aug 20 00:36:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_error): New function. + + * gnuplot-build/Makefile.in (dist): Actually create `term' + subdirectory. + + * Lots of changes to tree.cc tree_assignment_expression::eval and + tree_index_expression::eval to make matrix indexing work like + Matlab. + (do_fortran_indexing): New user-level variable to control this + behavior. If this variable is false, things like + + a([1,2;3,4], [1,2;3,4]) = b + + become syntax errors. Otherwise, Matlab braindamage prevails. + +Tue Aug 18 13:15:46 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.37. + + * tree.cc (do_matrix_assignment): Conditionally allow single + indices for Matrix assignments. + (do_matrix_index): Ditto. + + * utils.cc (do_fortran_indexing): New function. + utils.h: Declare it. + builtins.cc (install_builtins): Default value for new + do_fortran_indexing variable. + + * builtins.cc (install_builtins): Bind eps to the value + DBL_EPSILON from float.h. Make it read only (will this cause + trouble)? + * Bind Inf to 1/0 (will only work for IEEE machines. + * Bind NaN to 0/0 (will only work for IEEE machines. + * Add round, fix, floor, ceil, and sign to builtin mapper functions. + (round): New function. + (fix): Ditto. + (signum): Ditto. + * Add clc (clear screen function). + * Add home (clear screen function). To be just like Matlab, this + wouldn't clear the screen. + + * New M-files: fliplr.m, flipud.m, trace.m, reshape.m. + + * utils.cc (bind_variable): Revise bind_string_variable so that it + takes a tree_constant as an argument. + (bind_protected_variable): Likewise for the function + bind_protected_string_variable. + (bind_string_variable): Delete. + (bind_protected_string_variable): Ditto. + utils.h: Fix declarations. + builtins.cc t-builtins.cc: Fix callers. + + * builtins.cc (install_builtins): Bind LOADPATH here. + octave.cc (initialize_globals): Not here. + + * Makefile.in (SOURCES): Add new scripts directory. + (scripts): New target. + libcruft/Makefile.in (install): Don't depend on all. + + * utils.cc (m_file_in_path): Get path from LOADPATH variable. + tree.cc (tree_identifier::parse_m_file): Modify caller. + + * src/Makefile.in (OCTAVE_M_FILE_DIR): New variable. + (utils.o): Use it. + utils.cc (default_path): Use it. + + * utils.cc (pathstring_to_vector): New function. + (default_path): Return colon separated path instead of vector of + paths. + * octave.cc (initialize_globals): Use pathstring_to_vector here. + Bind output of default_path to LOADPATH variable. + Eliminate octave_path global variable. + + * tree.cc (isstr): New function. + (all): Ditto. + (any): Ditto. + (cumprod): Ditto. + (cumsum): Ditto. + (prod): Ditto. + (sum): Ditto. + + * g-builtins.cc (builtin_isstr): New function. + (builtin_all): Ditto. + (builtin_any): Ditto. + (builtin_cumprod): Ditto. + (builtin_cumsum): Ditto. + (builtin_prod): Ditto. + (builtin_sum): Ditto. + + * Matrix.cc (all): New function. + (any): Ditto. + (cumprod): Ditto. + (cumsum): Ditto. + (prod): Ditto. + (sum): Ditto. + + * scripts: New directory. + scripts/strcmp.m: New file (first M-file function in distribution!). + scripts/Makefile.in: New file. + configure.in: Include scripts/Makefile in list of files to create. + +Sat Aug 15 18:32:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.36. + +Fri Aug 14 08:44:10 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (id_to_define): New global variable. + (curr_m_file_name): Ditto. + (current_infile): Ditto. + + * tree.h tree.cc (tree_identifier::parse_m_file): New function. + (tree_identifier::eval): Handle M-files. + + * tree.h (stash_m_file_name): New virtual function. + (stash_m_file_time): Ditto. + (time_parsed): Ditto. + (m_file_name): Ditto. + + * tree.h tree.cc (tree_function::stash_m_file_name) New function. + (tree_function::stash_m_file_time): Ditto. + (tree_function::time_parsed): Ditto. + (tree_function::m_file_name): Ditto. + + * lex.l (reading_m_file): New global variable. + (delete_buffer): New function. + (yywrap): New function. Always return 0 (is this a smart thing to + do?). + + * parse.y (func_def2): Handle input from m-files (sort of). + + * octave.cc (octave_path): New global variable. + (using_readline): Ditto. + (no_line_editing): Ditto. + + * octave.cc (main): Initialize current_command_number before + calling setjmp. + * Increment it in main command loop, not in parse.y. + + * utils.h utils.cc (default_path): New function. + (m_file_in_path): Ditto. + (is_newer): Ditto. + + * octave.cc (main): Execute commands here. + * parse.y (input): Not here. + + * octave.cc (tree *global_command): New global variable that + points to the current command to be executed. + +Thu Aug 13 07:08:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y: Make word_list_cmd a fact, not a command, so that + things like `y = who -all' can work. You can't do that in Matlab. + + * t-builtins.cc (builtin_who): Print symbols in columns, sorted. + (list_in_columns) New function, mostly stolen from GNU ls. + + * symtab.h symtab.cc (char **list (void)) New function. + (char **sorted_list (void) New function. + + * tree.cc (various eval functions): Handle printing results of + text and general functions here. Straighten out other printing + stuff, maybe... + + * t-builtins.h t-builtins.cc: Make text functions return + tree_constant* instead of int, delete print flag argument. + + * g-builtins.h g-builtins.cc: Delete print flag argument. + + * Version 0.35. + +Wed Aug 12 15:12:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_builtin::eval): Call mapper function with + print = 0 to avoid getting two answers. + (specific do_matrix_assignment functions): Handle resizing + correctly for `:' indices. + (tree_colon_expression::eval): Don't crash if the evaluation of + an operand yields a NULL_TREE_CONST. + +Mon Aug 10 07:31:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_identifier::define): Return NULL_TREE_CONST if + symbol_record::define fails. + (tree_identifier::assign): Likewise. + + * symtab.h (symbol_lifetime): New attribute for symbol_records. + Can be either temporary or eternal. + (symbol_class): Delete eternal attribute. + * builtins.cc (install_builtins): Mark all builtins as eternal. + + * Version 0.34. + + * tree.h: Delete ttype, enum list of tree types. + + * g-builtins.h g-builtins.cc (builtin_colloc): New function. + + * liboctave (various): Add missing return values, etc. so that + liboctave compiles cleanly. + + * tree.h tree.cc (tree_multi_assignment): New class to implement + assignments to more than one variable. Does it work? Maybe... + + * tree.h (tree_constant **eval (int, int)): New virtual function. + (is_identifier): Another one. + + * symtab.h (eternal): New class for symbol_records. + * symtab.h symtab.cc (make_eternal): New function. + * builtins.cc (install_builtins): Make builtin variables eternal. + + * tree.cc (list_to_vector): Surround by `#if 0/#endif' to avoid + compilation warning. + +Sun Aug 9 03:18:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * t-builtins.h t-builtins.cc (builtin_cd): New function adapted + from bash for changing the current working directory. + (builtin_pwd): New function adapted from bash for printing the + current working directory. + + * utils.h utils.cc: New functions from bash for changing and + printing the current working directory: + + pathname_backup make_absolute + get_working_directory change_to_directory + + * utils.h utils.cc (bind_string_variable): New function. + (bind_protected_string_variable): Likewise. + + * octave.cc (initialze_globals): New function. + + * utils.h utils.cc: New functions from bash, mostly for fancy + prompting: + + polite_directory_format absolute_pathname + absolute_program base_pathname + read_octal sub_append_string + decode_prompt_string + +Thu Aug 6 02:39:31 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * octave.cc (initialize_history): Fix up to + (octave_hist_file) New global variable. + (octave_hist_size) Ditto. + (history_lines_this_session) Ditto. + (history_lines_in_file) Ditto. + + * input.cc (octave_gets): Keep track of number of lines read + during the current session. + + * utils.cc (default_history_file): New function. Look for + OCTAVE_HISTFILE environment variable and use its value if + possible. + (default_history_size): New function. Look for OCTAVE_HISTSIZE + environment variable and use its value if possible. + + * t-builtins.cc (builtin_history): Steal from bash and modify to + work with octave. + + * g-builtins.cc (builtin_det): New function. + + * tree.h tree.cc (determinant): New function + + * g-builtins.cc: Rewrite functions that use fill_matrix, inverse, + and identity_matrix to use new versions implemented as friends of + tree_constant. This is being done in an attempt to get rid of all + calls to tree_constant::const_type() outside of tree.cc. + + * tree.cc (tree_constant): Implement new functions for filling + and inverting tree constants as matrices, and for creating an + identity matrix from a tree_constant. + + * g-builtins.cc (builtin_inv): New function. + builtins.cc: Allow builtin_inv to be called as either inv(A) or + inverse(A). + + * tree.cc (do_binary_op (Matrix, Matrix)): Better handling of + solution of linear equations for square coefficient matrices. + + * LinEqn.cc (solve): Don't exit on singular matrices. Implement + new variations of these functions that will allow status checking. + + * src/Makefile.in: Define GNUPLOT_BINARY and SITE_DEFAULTS. + Specific rules for octave.o and builtins.o to avoid defining + GNUPLOT_BINARY and SITE_DEFAULTS for all .cc targets. + + * builtins.cc: Use macro GNUPLOT_BINARY. + + * octave.cc (execute_startup_files): Use macro SITE_DEFAULTS. + Execute commands from SITE_DEFAULTS file. + + * t-buitlins.cc (builtin_pause): Make it work. + + * configure.in: Check for termio.h and/or sgtty.h. + + * octave.cc (clean_up): Reset terminal state to cooked mode. + (main) Likewise, after return from SIGINT signal handler. + + * utils.h utils.cc (raw_mode): New function (mostly stolen from + less(1)) toggle input processing for stdin to raw/cooked modes. + (kbhit): New function to read one character from cin in raw mode + without echoing it. + + * builtins.cc: Fix expected number of arguments in lists of + builtins. + + * tree.h tree.cc (max_args_expected (void)): New virtual function. + (tree_builtins::) Provide a definition of it. + + * lex.l (identifier): Before gobbling up text function arguments, + check to see that we expect some. + + * symtab.h symtab.cc (max_args_expected): Return max args expected + by a symbol (currently only valid for tree_builtins). + +Wed Aug 5 05:03:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * utils.h utils.cc (resize_on_range_error): Decide what to return + based on value of global variable of same name. + (prefer_column_vectors): Likewise. + + * Version 0.33. + + * parse.y (func_def2): Call define (tree *, symbol_type), not + define (tree *), so that the symbol type is set for user-defined + functions. + (assignment): Catch assignments to functions here. + + * tree.h tree.cc (tree_identifier::define (tree *, symbol_type): + New function (be careful out there...). + + * symtab.h (symbol_type): Add new `user_function' enum value. + + * tree.cc (do_matrix_assignment): Call prefer_column_vectors(). + + * tree.h tree.cc (do_matrix_assignment (...)): New functions to + implement assignment to indexed matrices. + (do_scalar_assignment (...)): New function to implement assignment + to an indexed scalar. + + * utils.h utils.cc (resize_on_range_error): New function. Should + eventually decide what to return based on value of global variable + of same name. + (prefer_column_vectors): New function. + +Tue Aug 4 05:37:47 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_constant::save): New function. + (tree_constant::load): New function. + + * symtab.cc (symbol_record::save): New function. + (symbol_table::load): New function. + + * t-builtins.cc (builtin_load): Start implementation. Yikes, this + is probably going to need a lot of work to be very robust... + + * t-builtins.cc (builtin_save): Implement by asking the + symbol_record to save itself. Maybe this should really be done by + asking the symbol table to save a symbol... + + * utils.cc (extract_keyword): New function. + (valid_identifier): New function. + +Fri Jul 31 04:16:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * parse.y (func_def3): Extra error cases for empty function + bodies. + (func_def1, func_def1a, func_def1b): Slighly straighten out some + truly twisted logic, eliminate func_def1a, rename func_def1b to + func_def1a, and make statementss like function [x,y] = foo() end + work properly (I think). + (func_def*): Put function name in global symbol table, not top + level symbold table. This makes them accessible from other + functions, eh? + + * t-builtins.cc (builtin_who): Accept -all, -local, -global, and + -top flags. + +Thu Jul 30 00:39:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * lex.l (current_buffer): New function to return current flex + input buffer. Will need this to be able to switch file contexts. + + * Version 0.32. + + * lex.l (create_buffer, switch_to_buffer): New functions to handle + input from various streams. This should be enough to allow us to + implement Matlab-like M-files. + octave.cc (main, execute_startup_files): Use them. + + * octave.cc (execute_startup_files): Execute commands from + $HOME/.octaverc and ./.octaverc. + + * g-builtins.cc (builtin_plot): Delete temporary files. + Ignore SIGINT while gnuplot is executing. + +Wed Jul 29 20:16:25 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (all_args_defined): New function to check a + tree_constant** vector to see if all elements are non-null. + (tree_index_expression::eval (int)): Use it, and abort the + evaluation if test fails. + + * terminals.h, terminals.cc: New files for doing things with + gnuplot graphics terminal names. + src/Makefile.in: Handle new files. + +Tue Jul 28 00:25:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * g-builtins.cc (builtin_plot): Make it work, at least halfway. + + * g-builtins.cc (builtin_save): New function. + + * gnuplot-build/Makefile.in: Add -DREADLINE and remove readline.o + from list of objects to actually enable the GNU command line + editing. + + * configure.in: Use AC_PROG_CHECK macro to search for f2c and f77. + Check for several common Un*x Fortran compilers. + Add extra messages. + + * g-builtins.cc g-builtins.h: New files for builtin general + functions extracted from builtins.cc. + + * t-builtins.cc t-builtins.h: New files for builtin text functions + extracted from builtins.cc. + + * Makefile.in (split-dist): New target. + + * Version 0.31. + +Mon Jul 27 22:01:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_constant::do_matrix_index (tree_constant **, int): + Allow single argument to work for matrices that are really row or + column vectors. + + * lex.l: Accept `<>' in addition to `!=' and `~=' as `not equal' + comparison operators. + + * libcruft/Makerules: Allow for compiling the Fortran routines + with the native Fortran compiler instead of translating to C. + + * f2c-compat.sh, flibs.sh: New scripts which try to determine + whether it will be possible for us to use the system's Fortran + compiler directly, and if so, what libraries to add to the loader + command. These scripts are known to work on SPARCstations running + SunOS and DECstations running Ultrix. Not tested elsewhere... + * configure.in: Use them. + * Makefile.in: Distribute them. + +Wed Jul 22 00:04:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * builtins.cc: Begin implementation of NLP solver using NPSOL. + +Tue Jul 21 13:44:13 1992 John W. Eaton (jwe@june.che.utexas.edu) + + * octave.cc: If printing version information, also print pointer + to warranty info. + + * builtins.cc: Implement the Matlab functions ones, zeros, eye, + clock, date, size, length, and global. + Implement warranty builtin. + (builtin_clear): Fix to work with global variables. + + * symtab.cc (clear): Fix to work properly with global variables. + +Mon Jul 20 11:58:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc (tree_constant::do_matrix_index (tree_constant**, int)): + Make string indices work. + (tree_constant::force_numeric): Don't special case + single-character strings (this uncovers a flaw in the design of + the constructor for the magic colon operator...). + +Fri Jul 17 16:33:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.30. + + * tree.cc: Delete undefined identifiers when trying to eval them. + + * builtins.cc: Add beginnings of builtin who and clear functions. + + * symtab.cc symtab.h (clear): New function. + + * tree.cc, tree.h, parse.y: Implement matrix indexing with colon + expressions, implement the magic colon operator for column and row + selection. + + * tree.cc tree.h: Completely rework colon expressions. + +Thu Jul 16 09:27:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * gnuplot-dist: Rename from gnuplot-3.2 so we're not tied to a + version number. + +Tue Jul 14 11:22:35 1992 John W. Eaton (jwe@ward.che.utexas.edu) + + * tree.cc builtins.cc: Make argc/nargs/nargin work like C: + the argument count is the number of command line arguments plus + the function name. This goes for `argument lists' for matrices as + well as functions. It seems a bit awkward but at it's consistent, + and it's like C. Hmm. Maybe this is a bad choice... + + * utils.cc utils.h: New files for utility functions. + +Mon Jul 13 00:29:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.29. + + * tree.cc tree_constant::tree_constant (matrix): Automatically + convert 1x1 matrices to scalars. + + * parse.y lex.l: Fix up a bunch of stupid stuff and reduce the + number of shift/reduce conflicts to 16 (all but one because of the + optional separator garbage). + + * parse.y lex.l: Allow for assignments to lists of identifiers to + be partially parsed. This will still require some error checking + in tree.cc to ensure that the list is made up of identifiers only, + since that's not enforced by the grammar (I don't see a way to do + it, do you?) + +Sun Jul 12 11:24:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * tree.cc tree.h parse.y lex.l: Implement logical AND (symbol &), + OR (symbol |), and not (symbol ~). Also provide the C-style + operators &&, ||, and !). + + * Matrix.cc Matrix.h: Provide stupid element-wise logical + operators for matrices. + + * Version 0.28. + + * parse.y lex.l tree.cc tree.h: Implement C-style prefix and + postfix increment and decrement operators (symbols ++ and -- + respectively). + + * parse.y lex.l tree.cc tree.h: Implement break and continue. + + * tree.cc tree.h: Assignment to matrix elements roughed out. + + * gnuplot/tree.cc: Solution of linear equations via the lift + division operator partially implemented. Singular coefficient + matrices aren't handled very well yet... + + * gnuplot-build/Makefile.in: Make this work to build gnuplot for + generic X11/unix environments. + * Remove -Wall from CFLAGS to avoid loads of warnings. + * Use GNU readline instead of the one that comes with gnuplot. + + * gnuplot-build/*.diff: Various patches for various things. + +Sat Jul 11 10:14:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.26 + + * src/Makefile.in: Distribute lex.cc, parse.cc, y.tab.h. + * src/Makefile.in (dist): Depend on lex.cc and parse.cc. + + * gnuplot-build: New directory for patching and building gnuplot. + This is apparenty required because the gnuplot license won't allow + distrubution of modified versions, but will allow patches to be + distributed. + * gnuplot-build/Makefile.in: New file. + + * gnuplot-3.2: New directory. + + * readline: New directory from the bash-1.12 distribution, plus + tilde.c from bash's lib/glob directory and xmalloc.c from bash's + lib/malloc directory. + * readline/Makefile.in, readline/doc/Makefile.in, + readline/examples/Makefile.in: New files. + + * All Makefie.in files: Allow make to work from any directory, not + just the top level one. + +Fri Jul 10 22:20:56 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * SERVICE: Remove, since it seems too specific to GNU products. + +Thu Jul 9 07:48:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.20. + + * Solution of ODEs with LSODE partially implemented. It's + possible to solve some simple equations. + + * tree.cc tree.h (tree_constant): Add string constants and make + them work more or less like string constants in Matlab (implicit + conversion to ASCII numbers -- gag. This isn't complete, and it + it assumes that ASCII is the character set for the host + machine/compiler...). + +Tue Jul 7 07:28:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.19. + + * User defined function definitions and calls to them mostly work. + Still need to implement multiple return values correctly. + +Mon Jul 6 04:23:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.18. + + * lex.l parse.y tree.cc tree.h: Begin implementation of + user-defined functions. + +Sun Jul 5 19:27:08 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.17. + + * lex.l: Replace SAVE_STRING macro with a function. + + * builtins.cc (builtin_document): New builtin function. + (builtin_help): Make it work. + + * lex.l: More rules for gathering text. These are still not quite + as they should be, but they will work in most cases. I think the + flex generated scanner is either going to have to be reworked or + replaced with a handemade version at some point (probably soon)... + + * tree.cc tree.h: Add tree_word_list and tree_word_list_command + classes for text functions. + +Fri Jul 3 05:13:15 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.16. + + * builtins.h builtins.cc: New files for builtin functions. + Implement a few simple builtin functions. + + * tree.cc tree.h: Add tree_builtin type for builtin functions. + + * tree.cc tree.h: eval (args...) New virtual function. + +Thu Jul 2 01:27:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.15. + + * symtab.h, symtab.cc: Allow variables and functions to be tagged + as read-only or read-write. + +Wed Jul 1 15:54:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * input.cc and octave.cc: allow input to come from a file. + + * lex.l: to accept `#' as a comment character (allows one to + use the `#!/bin/octave' style script hack). + + * doc: New directory containing skeleton stuff + * SERVICE: New file from GCC. + * BUGS: New file, now produced from doc/bugs.texi. + * INSTALL: New file, now produced from doc/install.texi. + +Sat Jun 27 15:52:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.14. + + * Fixed parser to eliminate reduce/reduce conflicts. + + * Fixed parser to recognize assignment to multiple identifiers + (e.g., [E,V] = eig (A); ). + + * Quickie implementation of indexed array evaluation. Works for + scalar indices, but not range/array indices. + +Fri Jun 26 04:23:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.12. + + * Hooks added for indexed array evaluation and assignment. + * Colon expression implementation improved. + * Implementation of for command eval() improved. + +Thu Jun 25 00:28:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.11. + + * Colon expressions added. + * For command added, but the implementation needs work. + +Wed Jun 24 15:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.10. + + * Cheesy signal handler added to catch interrupts. + + * Matrix input works, even for nested matrices. Some error + checking is done while the matrix is evaluated to ensure that + the number of rows and columns match up. + +Mon Jun 22 00:21:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.9. + + * Command line matrix input partially implemented. It's not yet + possible to enter nested matrices, but it is possible to enter + simple matrices (e.g. [1,2;a,b+c], where a, b, and c are scalars. + + * Version 0.8. + + * If commands added. + + * Version 0.7. + + * Command chains added. + * Boolean operations added, tested for scalars. + * While loop added, tested for simple commands. + +Fri Jun 19 05:50:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.6. + + At this early stage, while a lot of changes are being made very + quickly, ChangeLog entries will probably just list features added. + + * Variable assignment works for scalars. + * Simple scalar expressions work. + +Thu Jun 18 06:44:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) + + * Version 0.5. + + * src/version.h: For all the pre-alpha distributions, count + versions as 0.1, etc. instead of 0.01. + + * Makefile: (dist) Automatically update version_string in + src/version.h. + + * symtab.h, symbtab.cc: New files for symbol tables. + + * tree.h, tree.cc: New files for parse trees. + + * Lots of work unrecorded here. Octave is now self-contained, the + tree routines are being redesigned, etc. + +Fri Mar 20 17:03:16 1992 John W. Eaton (jwe@andy.che.utexas.edu) + + * Version 0.02. Octave understands some simple matrix + expressions, but it is not yet possible for matrix elements to + be constructed from expressions. + +Thu Mar 19 06:13:39 1992 John W. Eaton (jwe@andy.che.utexas.edu) + + * Version 0.01. Octave understands simple scalar expressions. + Hey, Hey! It is not yet self contained -- I'm still linking to + the old libraries in /usr/local/c++-classes, and this isn't likely + to change for a while. (Other things are much more important than + making the distribution work on other machines. Sorry...) + +Fri Feb 21 05:06:38 1992 John W. Eaton (jwe@andy.che.utexas.edu) + + * Version 0.00. This includes the basic directory structure, + makefiles, and a lot of the old Fortran source, including a way to + make a libcruft.a. Octave compiles and accepts input (with + history and editing) but doesn't do much else. + +Wed Feb 19 06:20:44 1992 John W. Eaton (jwe@andy.che.utexas.edu) + + * ChangeLog: New file. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/doc-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/doc-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,3176 @@ +2011-04-14 Rik + + * interpreter/plot.txi: Add colstyle function to documentation. + +2011-04-12 Rik + + * interpreter/expr.txi: Correct use of it's -> its in documentation. + +2011-04-12 Ben Abbott + + * interpreter/data.txi: Replace xref{Data Structures} with + xref{Structures}. + +2011-04-11 Rik + + * interpreter/func.txi: Add discussion of isargout to Ignoring + Arguments section of documentation. + +2011-04-07 Rik + + * interpreter/Makefile.am: Add spellcheck target to documentation + Makefile. + +2011-04-06 Rik + + * interpreter/numbers.txi, interpreter/strings.txi: Group commonly used + isXXX functions together in documentation. + +2011-04-06 Rik + + * interpreter/system.txi, interpreter/var.txi: Move pack() function to + proper place in documentation. + +2011-04-06 Rik + + * interpreter/diffeq.txi, interpreter/eval.txi, interpreter/plot.txi, + interpreter/var.txi: Clean up operator and function indices. + +2011-04-04 Rik + + * interpreter/plot.txi: Add warning about single precision in FLTK. + +2011-04-04 Rik + + * interpreter/doccheck/aspell-octave.en.pws, interpreter/nonlin.txi, + interpreter/tips.txi: Spellcheck documentation for 3.4.1 release. + +2011-04-04 Rik + + * interpreter/container.txi, interpreter/dynamic.txi, + interpreter/install.txi, interpreter/system.txi, interpreter/tips.txi: + Grammarcheck files for 3.4.1 release. + +2011-04-04 Rik + + * interpreter/grammar.txi: Remove reference to deprecated function + perror(). + +2011-04-03 Rik + + * interpreter/grammar.txi, interpreter/octave.texi: Add new section + on parsing to documentation. Add functions add_input_event_hook, + remove_input_event_hook, missing_function_hook to documentation. + +2011-04-03 Rik + + * interpreter/linalg.txi: Add blkmm function to documentation. + +2011-04-02 Rik + + * interpreter/stats.txi: Add quantile, prctile functions to + documentation. + +2011-04-02 Rik + + * interpreter/system.txi: Add isdeployed function to documentation. + +2011-03-31 Rik + + * interpreter/io.txi: Add list_in_columns, terminal_size functions + to documentation. + +2011-03-31 Rik + + * interpreter/errors.txi, interpreter/octave.texi: Add onCleanup + function to documentation. + +2011-03-31 Rik + + * interpreter/contrib.txi: Add recommended format for commit messages + which reference the bug tracker. + +2011-03-28 Rik + + * interpreter/expr.txi: Eliminate space between variable and + parenthesis when using indexing. + * interpreter/intro.txi, interpreter/io.txi: Fix typos in docstring. + * interpreter/tips.txi: Add new recommendations for double spaces at + start of sentences and suggested variable names. + +2011-03-28 Rik + + * interpreter/basics.txi: Add do_braindead_shortcircuit_evaluation to + the list of variables set by --traditional option. + +2011-03-27 Rik + + * interpreter/expr.txi: Add allow_noninteger_range_as_index to + documentation. + +2011-03-27 Rik + + * interpreter/expr.txi: Add do_braindead_shortcircuit_evaluation to + documentation. + +2011-03-26 Rik + + * interpreter/doccheck/mk_undocumented_list: Add error_text to list + of functions not requiring a docstring. + +2011-03-19 Rik + + * interpreter/container.txi: Add cellindexmat function to documentation. + +2011-03-19 Rik + + * interpreter/oop.txi: Add optimize_subsasgn_calls function to + documentation. + +2011-03-19 Rik + + * interpreter/stats.txi: Add runlength function to documentation. + +2011-03-19 Rik + + * interpreter/plot.txi: Add isocolors, isonormals, isosurface functions + to documentation. + +2011-03-19 Rik + + * interpreter/basics.txi: Add dump_prefs to documentation. + +2011-03-19 Rik + + * interpreter/octave.texi, interpreter/plot.txi: Add daspect, pbaspect + functions to documentation. + +2011-03-19 Rik + + * interpreter/octave.texi, interpreter/plot.txi: Add getappdata, + setappdata, isappdata, rmappdata functions to documentation. + +2011-03-18 Rik + + * interpreter/matrix.txi: Add nth_element function to documentation. + +2011-03-18 Rik + + * interpreter/doccheck/aspell-octave.en.pws, interpreter/io.txi, + interpreter/octave.texi, interpreter/plot.txi: Add uimenu, uigetdir, + uigetfile, and uiputfile to documentation. + +2011-03-18 Rik + + * interpreter/nonlin.txi, interpreter/octave.texi: Add fminbnd, + fminunc functions to documentation. + +2011-03-18 Rik + + * interpreter/arith.txi, interpreter/linalg.txi: Add function chop + to documentation. Re-order Utility Functions and move function dot + from linear algebra section to be with other utility functions. + +2011-03-18 Rik + + * interpreter/basics.txi: Add gen_doc_cache, get_help_text, + get_help_text_from_file, get_first_help_sentence to documentation. + +2011-03-17 Rik + + * interpreter/io.txi: Add fileread to documentation. + +2011-03-17 Rik + + * interpreter/system.txi: Add gethostname to documentation + +2011-03-17 Rik + + * interpreter/doccheck/mk_undocumented_list: Add fmod, + octave_tmp_file_name to list of exceptions which are already + documented. + +2011-03-17 Iain Murray + + * interpreter/system.txi: Remove nprocs and nprocs_conf functions + from documentation and replace with nproc. + +2011-03-16 Rik + + * interpreter/system.txi: Add nproc and nproc_conf functions to + documentation. + +2011-03-03 Rik + + * interpreter/matrix.txi: Deprecate is_duplicate_entry. + +2011-03-02 Rik + + * interpreter/stats.txi: Correctly refer to discrete uniform + distribution in documentation. + +2011-03-01 Jordi Gutiérrez Hermoso + + * interpreter/dynamic.txi: Make it clear that is + a C++ source file and refer to the section where other languages + are discussed. + + * faq/OctaveFAQ.texi: Major update to FAQ. Whitespace changes. + Update comments to version 3.4 of Octave. Summarise important + points of the NEWS file. We no longer have + stable/testing/unstable, only stable and development. Mention + newer versions of Windows. Update references to Matlab's latest + version. Mention that `!' can't be used for shell escapes. + Update other numbers like number of pages in manual, version + numbers, dates when things happened, file sizes. Clean out dead + links. Remove mentions of bugs@octave.org email address. Don't + say you can get Octave tapes from the FSF. Mention Ubuntu as + another distribution with Octave packages. Change package names + in anticipation for the forthcoming 3.4 binary packages. Explain + nested functions. Hint that classdef might happen in 3.5. + Mention 3D patches in the OpenGL backend. Clarify Matlab-style + short-circuiting. Specify that Octave also onCleanup. + +2011-02-28 Rik + + * interpreter/numbers.txi: Add isrow, iscolumn functions to manual. + +2011-02-25 Jordi Gutiérrez Hermoso + + * faq/OctaveFAQ.texi: Uniformise all mentions of Matlab to be + typeset in the @sc{Matlab} style. Also do some minor + proofreading like removing trailing spaces and some minor + spellchecking. + +2011-02-19 Rik + + * interpreter/install.txi: Remove reference to POSIX regex library. + +2011-02-14 Rik + + * interpreter/arith.txi, interpreter/io.txi, interpreter/oop.txi: + Remove functions which have no DOCSTRING entries. + +2011-02-10 Carlo de Falco + + * interpreter/linalg.txi: Added gmres to the specialized solvers. + + +2011-02-06 John W. Eaton + + * interpreter/contributors.in: Add Fotios Kasolis to the list. + +2011-02-05 Rik + + * interpreter/doccheck/mk_undocumented_list: Add dbnext, alias for + dbstep, to functions not requiring a docstring. + +2011-02-05 Rik + + * interpreter/doccheck/aspell-octave.en.pws: Add new spelling + exceptions to Octave private dictionary. + +2011-02-05 Rik + + * interpreter/octave.texi: Update copyright on manual to 2011. + +2011-02-05 Rik + + * interpreter/mkoctfile.1, interpreter/octave-config.1, + interpreter/octave.1: Overhaul man pages for release 3.4. + +2011-02-04 Rik + + * icons/octave-logo.ico: Add logo format left out of last changeset. + +2011-02-04 Rik + + * icons/: New directory for icons and .desktop files. + * icons/octave-logo.png, icons/octave-logo.svg: Add new Octave O logo + to Mercurial. + * Makefile.am: New Makefile to build .desktop file and distribute logos. + * octave.desktop.in, octave-sombrero.png: Moved from examples directory. + * octave_branding_samples.svg: Original logos and branding material for + Octave. This file is not distributed. + + * interpreter/octave.texi: Use new O logo on title page. + * interpreter/octave_logo.eps: O logo in eps form for Postscript output. + * interpreter/octave_logo.pdf: O logo in pdf form for pdf output. + +2011-01-30 Rik + + * interpreter/Makefile.am: Use pattern-style rules to make .texi files + rather than older suffix-style rules. + +2011-01-30 Rik + + * interpreter/octave.texi: Add new section + "Customizing Toolkit Behavior" + + * interpreter/plot.txi: Add functions gnuplot_binary, mouse_wheel_zoom, + and gui_mode to new section. + +2011-01-30 Rik + + * interpreter/optim.txi: Deprecate glpkmex function and remove + from documentation. + +2011-01-30 John W. Eaton + + * interpreter/install.txi (Compiling Octave with 64-bit Indexing): + Remove info about ARPACK. + +2011-01-29 Rik + + * interpreter/octave.texi: Add new subsection on FLTK interaction. + * interpreter/plot.txi: Add fltk_gui_mode, fltk_mouse_wheel_zoom + functions to documentation. + +2011-01-29 Rik + + * interpreter/arith.txi: Add accumdim function to documentation. + +2011-01-29 Rik + + * interpreter/set.txi: Add powerset function to documentation. + +2011-01-29 Rik + + * interpreter/system.txi: Add S_ISSOCK function to documentation. + +2011-01-29 Rik + + * interpreter/system.txi: Add S_ISBLK and related functions to + documentation. + +2011-01-29 Rik + + * interpreter/optim.txi: Add glpkmex function to documentation. + +2011-01-29 Rik + + * interpreter/system.txi: Add compare_versions function to + documentation. + +2011-01-27 Rik + + * interpreter/numbers.txi: Add sizemax function to documentation. + * interpreter/doccheck/mk_undocumented_list: Add ifelse to functions + not requiring documentation. + +2011-01-27 Rik + + * interpreter/image.txi: Add whitebg function to documentation. + * interpreter/plot.txi: Add reset function to documentation. + +2011-01-27 Rik + + * interpreter/linalg.txi: Add rsf2csf to documentation. + +2011-01-27 Rik + + * interpreter/geometry.txi: Add trisurf to documentation. + +2011-01-27 John W. Eaton + + * interpreter/arith.txi (Rational Approximations): Move here. + Update menu. + * interpreter/io.txi: From here. + Update menu. + * interpreter/octave.texi (Top): Update detailed menu. + +2011-01-26 John W. Eaton + + * interpreter/mk_doc_cache.m, interpreter/mkoctfile.1, + interpreter/munge-texi.cc, interpreter/doccheck/mk_undocumented_list: + Strip trailing whitespace. + +2011-01-26 Rik + + * interpreter/basics.txi: Use @code to eliminate extra single quotes + in index. + * interpreter/container.txi: Add @opindex citations for '.', '{' and + '}'. + +2011-01-26 Rik + + * interpreter/octave-bug.1: Delete obsolete man page + * interpreter/Makefile.am: Stop distributing octave-bug.1 man page. + +2011-01-26 Olaf Till + + * interpreter/package.txi: Document variables MKOCTFILE, + OCTAVE_CONFIG, and OCTAVE exported by pkg for configure and make. + +2011-01-25 Rik + + * Makefile.am: Remove pass-through rules for AUTHORS, BUGS, and + INSTALL.OCTAVE which are no longer required. + +2011-01-24 Rik + + * Makefile.am, interpreter/Makefile.am: Add rule to build AUTHORS file. + * interpreter/preface.txi: Add @ifclear rule to build AUTHORS file. + +2011-01-23 Rik + + * interpreter/install.txi: Redo build instructions for release 3.4. + * interpreter/doccheck/aspell-octave.en.pws: Add new words to + Octave private dictionary from install.txi + +2011-01-20 Rik + + * doc/interpreter/diagperm.txi, doc/interpreter/linalg.txi, + doc/interpreter/sparse.txi: Use non-breaking spaces between certain + adjectives and their linked nouns in docstrings. + +2011-01-20 Rik + + * doc/interpreter/doccheck/README: Update documentation for + documentation scripts. + +2011-01-20 Rik + + * doc/interpreter/doccheck/aspell-octave.en.pws, + doc/interpreter/plot.txi: Use @nospell macro on certain words in + docstring. + +2011-01-20 John W. Eaton + + * faq/OctaveFAQ.texi, interpreter/doccheck/aspell-octave.en.pws, + interpreter/octave.texi, interpreter/plot.txi: Update for + backend -> graphics_toolkit change. + + * interpreter/interpimages.m, interpreter/geometryimages.m, + interpreter/sparseimages.m, interpreter/plotimages.m: + Call graphics_toolkit, not backend. + +2011-01-19 Rik + + * interpreter/doccheck/aspell-octave.en.pws: Add new words to Octave + private dictionary. + +2011-01-19 Rik + + * doc/interpreter/diagperm.txi, doc/interpreter/dynamic.txi, + doc/interpreter/func.txi, doc/interpreter/install.txi, + doc/interpreter/intro.txi, doc/interpreter/numbers.txi, + doc/interpreter/oop.txi, doc/interpreter/plot.txi, + doc/interpreter/sparse.txi, doc/interpreter/stats.txi: Grammarcheck + txi files for 3.4 release. + +2011-01-17 Rik + + * interpreter/quad.txi: Add quadcc to documentation. + +2011-01-15 Rik + + * interpreter/expr.txi: Add merge/ifelse function to documentation. + +2011-01-15 Rik + + * interpreter/func.txi, interpreter/intro.txi: Eliminate + @deffn macros. + +2011-01-15 Rik + + * interpreter/doccheck/mk_undocumented_list: Update list of exceptions + not requiring documentation. + +2011-01-15 Rik + + * interpreter/stats.txi: Add stdnormal_xxx functions to documentation. + +2011-01-14 Rik + + * interpreter/matrix.txi: Add undocumented postpad to documentation. + +2011-01-14 Rik + + * interpreter/octave.texi, interpreter/poly.txi: Add undocumented + polyaffine to documentation. + +2011-01-14 Rik + + * interpreter/container.txi: Add undocumented nfields to documentation. + +2011-01-14 Rik + + * interpreter/poly.txi: Add undocumented ppder, ppint, ppjumps + functions to documentation. + +2011-01-14 Rik + + * interpreter/system.txi: Add undocumented matlabroot to documentation. + +2011-01-14 Rik + + * interpreter/linalg.txi: Add undocumented svd_driver to documentation. + +2011-01-14 Rik + + * interpreter/arith.txi: Add undocumented cbrt to documentation. + +2011-01-14 Rik + + * interpreter/arith.txi: Add undocumented erfcx to documentation. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2011-01-12 Rik + + * interpreter/basics.txi: Add to cursor movement section. + +2011-01-12 John W. Eaton + + * interpreter/basics.txi (Commands For History): + Document history_control. + +2011-01-10 John W. Eaton + + * interpreter/contributors.in: Add Konstantinos Poulios to the list. + +2011-01-10 Jordi Gutiérrez Hermoso + + * interpreter/diagperm.txi: Remove Matlab euphemism. + * interpreter/dynamic.txi: Ditto. Also use @file macro for a + couple of filenames. + +2011-01-10 John W. Eaton + + * interpreter/container.txi (Basic Usage and Examples): + Document print_struct_array_contents. + +2011-01-05 Rik + + * interpreter/octave.texi: Put statistics detailmenu in correct order. + +2011-01-05 Rik + + * interpreter/numbers.txi, interpreter/obsolete.txi, + interpreter/oop.txi, interpreter/stats.txi: Use @headitem macro to + create column heads for @multitable entries. + +2011-01-05 Rik + + * interpreter/grammar.txi: Update list of keywords in grammar. + +2011-01-05 John W. Eaton + + * interpreter/plot.txi (Introduction to Plotting): Formatting + and style fixes. Eliminate redundant example. + +2011-01-03 Rik + + * interpreter/octave.texi: Add new menu item "Correlation and + Regression Analysis" + * interpreter/stats.txi: Update documentation chapter on + basic statistics. + +2010-12-31 Rik + + * interpreter/expr.txi: Add isindex function to documentation + * interpreter/func.txi: Add isargout function to documentation + * interpreter/matrix.txi: Add isfinite function to documentation + * interpreter/numbers.txi: Add ishermitian function to documentation + +2010-12-31 Kai Habel + + * interpreter/arith.txi: Add curl and divergence function. + +2010-12-22 Tatsuro Matsuoka + + * nonlin.txi: Correct docs for using Jacobian with fsolve. + +2010-12-22 Judd Storrs + + * interpreter/expr.txi: Insert operator function docstrings. + * interpreter/oop.txi: Remove conflicting anchors for operator + functions. Add cindex entries for overloaded operators. Add + overloads to opindex. + * interpreter/numbers.txi: Fix colon opindex. + +2010-12-19 Rik + + * interpreter/func.txi, interpreter/sparse.txi: Remove documentation + on deprecated function dispatch. + +2010-12-19 Rik + + * interpreter/Makefile.am: Update mk_undocumented_list target to use + $(srcdir) for portability. + +2010-12-17 Rik + + * interpreter/container.txi, interpreter/func.txi, + interpreter/linalg.txi, interpreter/numbers.txi, + interpreter/signal.txi, interpreter/sparse.txi, interpreter/stats.txi, + interpreter/system.txi: Remove deprecated functions from manual. + +2010-12-17 Rik + + * interpreter/doccheck/mk_undocumented_list: Update script to + automatically remove functions from the "test/" and "doc/interpreter" + directories. + +2010-12-17 Rik + + * interpreter/Makefile.am: Add undocumented_list target to create list + of undocumented functions. + +2010-12-17 John W. Eaton + + * interpreter/plot.txi (Two-Dimensional Plots): Document comet3. + +2010-12-17 John W. Eaton + + * interpreter/plot.txi (Introduction to Graphics Structures): + Dcoument isprop. + +2010-12-17 Rik + + * interpreter/oop.txi: Redo table rendered incorrectly in Info + environment. + +2010-12-17 Rik + + * interpreter/numbers.txi: Remove obsolete documentation about 64-bit + integer arithmetic. + +2010-12-16 Rik + + * interpreter/doccheck/mk_undocumented_list: Update list of exception + functions not requiring documentation. + +2010-12-09 Doug Stewart + + * interpreter/plot.txi: changed origial to origin in Quiver section + +2010-12-09 Kai Habel + + * interpreter/plot.txi: Add pie3 function. + +2010-11-26 John W. Eaton + + * interpreter/install.txi (Compiling Octave with 64-bit + Indexing): New section. + +2010-11-23 John W. Eaton + + * interpreter/install.txi: Delete obsolete statement about + needing a patch for makeinfo. + +2010-11-18 John W. Eaton + + * interpreter/contributors.in: Add Christos Dimitrakakis to the list. + +2010-11-18 John W. Eaton + + * interpreter/contributors.in: Add Daisuke Takago to the list. + +2010-11-15 Rik + + * interpreter/bugs.txi, interpreter/emacs.txi, interpreter/func.txi, + interpreter/geometry.txi, interpreter/linalg.txi, + interpreter/octave.texi, interpreter/package.txi, interpreter/plot.txi, + interpreter/stmt.txi, interpreter/strings.txi, interpreter/system.txi: + Update info-based documentation menus to include new nodes. + +2010-11-15 Rik + + * interpreter/octave.texi, interpreter/plot.txi: Rename subsection + "Printing Plots" to "Printing and Saving Plots". Add reference to + new saveas function. + +2010-11-10 John W. Eaton + + * interpreter/munge-texi.cc: Eliminate special case for __DECCXX. + +2010-11-01 Jordi Gutiérrez Hermoso + + * interpreter/numbers.txi: Explain that ranges in vectors do get + expanded. + +2010-10-24 Rik + + * interpreter/doccheck/mk_undocumented_list: New verification + script produces a list of undocumented functions. + +2010-10-23 John W. Eaton + + * interpreter/io.txi (Simple File I/O): Document textscan and + textread. + +2010-10-23 Ben Abbott + + * interpreter/strings.txi: Add @DOCSTRING(strread). + +2010-10-23 John W. Eaton + + * interpreter/io.txi (Opening and Closing Files): + Document is_valid_file_id. + +2010-10-21 John W. Eaton + + * interpreter/contributors.in: Add Gunnar Farnebäck to the list. + +2010-10-18 John W. Eaton + + * interpreter/image.txi (Displaying Images): + Delete documentation for image_viewer. + +2010-10-17 John W. Eaton + + * interpreter/strings.txi: Document untabify. + +2010-09-30 John W. Eaton + + * interpreter/contributors.in: Add Jordi Gutiérrez Hermoso to + the list. Fix spelling of Søren Hauberg. + +2010-09-28 Rik + + * doc/interpreter/Makefile.am, doc/interpreter/geometryimages.m, + doc/interpreter/images.awk, doc/interpreter/interpimages.m, + doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m: Use + Octave to create pdf versions of plots for documentation rather than + Ghostscript via Makefile. + +2010-09-28 Rik + + * doc/interpreter/geometryimages.m, doc/interpreter/interpimages.m, + doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m: Untabify + scripts. + +2010-09-27 Rik + + * interpreter/mk_doc_cache.m: Use single quotes for regular expression + patterns where possible. + +2010-09-25 Rik + + * interpreter/mk_doc_cache.m: Remove requirement for PCRE to build + doc cache. Correctly parse first sentence from docstrings with + multiple @deftypefn lines. + +2010-09-15 John W. Eaton + + * interpreter/Makefile.am (EXTRA_DIST): Add images.awk to the list. + +2010-08-15 Rik + + * interpreter/matrix.txi: Add documentation for randi function. + +2010-08-13 Rik + + * interpreter/Makefile.am: Update @EXAMPLEFILE dependencies. + +2010-08-10 Rik + + * interpreter/Makefile.am: Change dependency to $(srcdir)/images.mk. + +2010-08-08 Rik + + * interpreter/Makefile.am: Add documentation dependency on images.mk. + * interpreter/config-images.sh: Create images.mk in passed in srcdir, + rather than pwd. + +2010-08-08 Rik + + * interpreter/images.awk: HTML images depend on octave.html/index.html. + +2010-08-01 Rik + + * interpreter/basics.txi, interpreter/contrib.txi, + interpreter/diagperm.txi, interpreter/dynamic.txi, interpreter/eos.txi, + interpreter/expr.txi, interpreter/geometry.txi, + interpreter/install.txi, interpreter/matrix.txi, + interpreter/numbers.txi, interpreter/oop.txi, interpreter/plot.txi, + interpreter/sparse.txi, interpreter/stats.txi, interpreter/testfun.txi, + interpreter/tips.txi: Grammarcheck documentation. Add @noindent lines + and ensure line length is less than 80. + +2010-07-28 Rik + + * interpreter/arith.txi, interpreter/audio.txi, interpreter/basics.txi, + interpreter/container.txi, interpreter/contrib.txi, + interpreter/debug.txi, interpreter/diagperm.txi, + interpreter/diffeq.txi, interpreter/dynamic.txi, interpreter/emacs.txi, + interpreter/errors.txi, interpreter/eval.txi, interpreter/expr.txi, + interpreter/func.txi, interpreter/image.txi, interpreter/install.txi, + interpreter/interp.txi, interpreter/intro.txi, interpreter/io.txi, + interpreter/linalg.txi, interpreter/matrix.txi, interpreter/nonlin.txi, + interpreter/numbers.txi, interpreter/optim.txi, + interpreter/package.txi, interpreter/plot.txi, interpreter/poly.txi, + interpreter/quad.txi, interpreter/sparse.txi, interpreter/stmt.txi, + interpreter/strings.txi, interpreter/testfun.txi, interpreter/tips.txi, + interpreter/var.txi: Grammarcheck .txi documentation files. + +2010-07-21 Jaroslav Hajek + + * interpreter/tips.txi: Update some tips. + +2010-07-19 Rik + + * interpreter/mk_doc_cache.m: Use regexp rather than fussing with + character arrays. + +2010-07-19 Rik + + * interpreter/matrix.txi: Add new function repelems to matrix chapter. + +2010-07-18 Rik + + * interpreter/doccheck/spellcheck, + interpreter/doccheck/spellcheck/add_to_aspell_dict: + Use case insensitive sort in spellcheck scripts. + +2010-07-18 Rik + + * interpreter/doccheck/aspell-octave.en.pws: Add Octave-specific words + from stats.texi to private Aspell dictionary. + +2010-07-17 Rik + + * interpreter/doccheck: New directory for spelling/grammar scripts. + * interpreter/doccheck/README: Instructions for using scripts. + * interpreter/doccheck/spellcheck: Script to spellcheck a Texinfo file. + * interpreter/doccheck/aspell.conf: GNU Aspell configuration file for + Octave documentation. + * interpreter/doccheck/aspell-octave.en.pws: Private Aspell dictionary. + * interpreter/doccheck/add_to_aspell_dict: Script to add new + Octave-specific words to private Aspell dictionary. + * interpreter/octave.texi: New @nospell macro which forces Aspell to + ignore the word marked by the macro. + * interpreter/mk_doc_cache.m: Skip new @nospell macro when + building doc_cache. + * interpreter/arith.txi, interpreter/audio.txi, + interpreter/bugs.txi, interpreter/contrib.txi, + interpreter/debug.txi, interpreter/diagperm.txi, + interpreter/dynamic.txi, interpreter/geometry.txi, + interpreter/matrix.txi, interpreter/numbers.txi, + interpreter/oop.txi, interpreter/package.txi, + interpreter/sparse.txi, interpreter/tips.txi: + Spellcheck documentation. + +2010-07-01 Rik + + * refcard/refcard.tex: Fix italic macro typo for stem. + +2010-06-28 Rik + + * refcard/refcard.tex: Fix typos in refcard (bug #30260). + +2010-06-16 Rik + + * ChangeLog: Correctly break lines > 80 characters. + +2010-06-16 Rik + + * interpreter/intro.txi: Clarify wording. (bug #30165). + +2010-06-16 Rik + + * interpreter/set.txi: Remove reference to deprecated function. + +2010-06-16 Rik + + * interpreter/expr.txi, interpreter/func.txi, interpreter/install.txi, + interpreter/plot.txi, interpreter/sparse.txi: Periodic grammar check + of documentation to ensure a common format. + +2010-05-27 Rik + + * interpreter/arith.txi, interpreter/diffeq.txi, interpreter/intro.txi, + interpreter/nonlin.txi, interpreter/poly.txi, interpreter/sparse.txi: + Replace @ifinfo with @ifnottex. + +2010-05-07 John W. Eaton + + * basics.txi: Update list of internal variables for --traditional. + +2010-05-02 Rik + + * interpreter/contrib.txi, interpreter/install.txi, + interpreter/plot.txi, interpreter/sparse.txi, + interpreter/octave.texi: Remove tabs causing problems with + pdf formatting. + +2010-04-14 Shai Ayal + + * interpreter/plot.txi: Document keypress and mouse callback + properties + +2010-04-07 John W. Eaton + + * interpreter/testfun.txi: Document runtests. + +2010-03-24 John W. Eaton + + * interpreter/bugs.txi: Update for bug tracker. + +2010-02-11 Jaroslav Hajek + + * interpreter/expr.txi: Mention no ternary operator and the ifelse + fucntion as a possible replacement. + +2010-02-09 Jaroslav Hajek + + * interpreter/tips.txi: More tips. + +2010-01-30 Jaroslav Hajek + + * interpreter/expr.txi (Assignment): Document return value of + multi-assignment with skipped values. + +2010-01-29 John W. Eaton + + * interpreter/poly.txi (Derivatives and Integrals): + Don't include docstring for polyinteg. + + * interpreter/obsolete.txi (Obsolete Functions): + Remove weibcdf, weibinv, weibpdf, and weibrnd from the table. + +2010-01-28 John W. Eaton + + * interpreter/obsolete.txi: New file. + * interpreter/Makefile.am (MUNGED_TEXI_SRC): Add it to the list. + * interpreter/octave.texi (Obsolete Functions): New menu item. + Include obsolete.texi. + +2010-01-27 Jaroslav Hajek + + * interpreter/expr.txi: Document using dummy outputs. + * interpreter/func.txi: Document using dummy inputs. + +2010-01-20 John W. Eaton + + * interpreter/munge-texi.cc: Delete Emacs local-variable settings. + Untabify. + +2010-01-17 Thorsten Meyer + + * interpreter/container.txi (Creating Cell Arrays): Add + docstring for cellslices function. + +2010-01-09 John W. Eaton + + * interpreter/munge-texi.cc: Avoid C-style casts. + (main): Call usage if fewer than two arguments. + +2009-12-20 Rik + + * interpreter/geometryimages.m: Correctly set postscript output when + QHULL library does not exist and sombrero image is printed. + +2009-12-19 Rik + + * Makefile.am, faq/Makefile.am, interpreter/Makefile.am, + liboctave/Makefile.am, refcard/Makefile.am, interpreter/images.awk: + Eliminate TOPDIR variable in favor of built-in automake variables of + top_builddir and top_srcdir. + +2009-12-17 Rik + + * interpreter/Makefile.am: use automake syntax to build munge-texi. + +2009-12-11 Rik + + * interpreter/Makefile.am: remove install-local target and use automake + syntax to install doc-cache file. + +2009-12-10 Rik + + * interpreter/Makefile.am: Replace distdir-local with dist-hook rule as + it is better supported by automake. + +2009-12-10 Rik + + * interpreter/Makefile.am: new distdir-local rule to check for presence + of necessary libraries before packaging distribution + +2009-12-08 Rik + + * interpreter/Makefile.am: Distribute all generated documentation + (.pdf, .ps, .html, .dvi) to remove build requirement for TexInfo + +2009-12-07 Rik + + * interpreter/Makefile.am, faq/Makefile.am, liboctave/Makefile.am: + Document use of NOTPARALLEL directive. + +2009-12-07 Rik + + * refcard/Makefile.am: Add CLEANFILES and MAINTAINERCLEANFILES objects + to properly clean directory. + +2009-12-05 Rik + + * interpreter/Makefile.am: Set dependency of *.texi files on + munge-texi source code rather than executable. + +2009-12-04 Rik + + * interpreter/images.awk: Revert to using Ghostscript for documentation + pdf image creation rather than Octave. + +2009-12-04 Rik + + * Makefile.am, interpreter/Makefile.am, liboctave/Makefile.am: remove + lingering configuration support for conf.texi. + * liboctave/Makefile.am: distribute .texi files. + +2009-12-04 Rik + + * interpreter/geometryimages.m, interpreter/interpimages.m, + interpreter/sparseimages.m, interpreter/plotimages.m: + Switch to color output for PostScript documentation images. + +2009-12-04 Rik + + * interpreter/geometryimages.m, interpreter/interpimages.m, + interpreter/sparseimages.m, interpreter/plotimages.m: + Set default paperorientation to landscape to stop warning message. + +2009-12-04 Ben Abbott + + * interpreter/geometryimages.m, interpreter/interpimages.m, + interpreter/sparseimages.m: Set default papersize to the desired + imagesize. + +2009-12-04 John W. Eaton + + * interpreter/images.awk: Emit rules to copy PNG files to + octave.html directory once it is created. + * interpreter/Makefile.am (all-local): Depend on $(HTMLDIR_IMAGES). + (IMAGES): Include $(HTMLDIR_IMAGES) in the list. + +2009-12-04 John W. Eaton + + * interpreter/octave.texi: Include version.texi instead of conf.texi. + * interpreter/Makefile.am (../conf.texi): Delete rule. + (octave_TEXINFOS): Delete ../conf.texi from the list. + ($(srcdir)/octave.info octave.dvi octave.pdf octave.html): + Remove duplicate $(octave_TEXINFOS) dependency. + Depend on $(srcdir)/version.texi. + + * liboctave/liboctave.texi: Include version.texi instead of conf.texi. + * liboctave/Makefile.am (../conf.texi): Delete rule. + (dist_liboctave_TEXINFOS): Delete ../conf.texi from the list. + (.NOTPARALLEL): Correct spelling of target. + ($(srcdir)/liboctave.info liboctave.dvi liboctave.html liboctave.pdf): + Depend on $(srcdir)/version.texi + + * conf.texi.in: Delete. + * Makefile.am: Delete rules for conf.texi. + (.NOTPARALLEL): New target. + +2009-12-03 John W. Eaton + + * doc/Makefile.am (MUNGED_TEXI_SRC): Define as explicit list. + (TXI_SRC): Define using substitution rule. + + * doc/Makefile.am (conf.texi): Only substitute OCTAVE_VERSION. + * conf.texi: Likewise. + + * doc/interpreter/find-docstring-files.sh: New file. + * doc/interpreter/Makefile.am (DOCSTRING_FILES): Use it. + ($(TOPDIR)/src/DOCSTRINGS, $(TOPDIR)/scripts/DOCSTRINGS): + Delete rules. + (.txi.texi): Pass $(top_srcdir) to munge-texi. + (octave.info octave.dvi octave.pdf octave.html): + Depend on $(octave_TEXINFOS), not $(nodist_octave_TEXINFOS). + (nodist_octave_TEXINFOS): Delete variable. + (octave_TEXINFOS): Include ../conf.texi in the list. + (dist-hook): Delete target. + (EXTRA_DIST): Add find-docstring-files.sh to the list. + + * doc/interpreter/basics.texi: Eliminate @value{OCTAVEHOME} + * doc/interpreter/dynamic.txi: Delete examplefile and + longexamplefile macro definitions. Replace uses with + @EXAMPLEFILE, to be expanded by munge-texi. + * doc/interpreter/geometry.txi: Eliminate @ifset HAVE_QHULL. + * doc/interpreter/oop.txi: Delete classfile and polynomialfile + macro definitions. Replace uses with @EXAMPLEFILE, to be expanded + by munge-texi. + * doc/interpreter/sparse.txi: Eliminate @ifset HAVE_CHOLMOD, + @ifset HAVE_UMFPACK, and @ifset HAVE_COLAMD. + + * munge-texi.cc (top_srcdir): New global variable. + (main): set top_srcdir from first arg. + (usage): Include TOP-SRCDIR in the message. + (recover_from_macro, process_example_file): New functions. + (process_texi_input_file): Handle @EXAMPLEFILE tag. + + * doc/liboctave/Makefile.am (nodist_liboctave_TEXINFOS): + Delete variable. + (liboctave_TEXINFOS): Include ../conf.texi in the list. + +2009-12-02 Rik + + * interpreter/Makefile.am: Correct Makefile.am to allow VPATH builds of + documentation + +2009-12-01 Rik + + * faq/Makefile.am, doc/interpreter/bugs.txi, + doc/interpreter/install.txi: Eliminate false dependency on conf.texi. + +2009-11-30 Rik + + * interpreter/Makefile.am: + Overhaul Makefile to correctly generate *.texi files and to stop their + distribution when running 'make dist' + +2009-11-30 John W. Eaton + + * interpreter/munge-texi.cc (process_texi_input_file): Double @ in + symbol_name used in @anchor. + (extract_docstring): Double @ in function name used in @ref. + + * interpreter/mk_doc_cache.m (cmd): Transform @ in class names to + @@ when processing DOCSTRINGS files. + +2009-11-30 John W. Eaton + + * interpreter/Makefile.a (nodist_octave_TEXINFOS): Add + contributors.texi and $(MUNGED_TEXI_SRC) to the list. + (dist_octave_TEXINFOS): Delete. + (DISTCLEANFILES, all_octave_TEXINFOS): New variables. + ($(srcdir)/octave.info, octave.dvi, octave.pdf, octave.html): + Depend on $(all_octave_TEXINFOS), not $(octave_TEXINFOS). + (octave.ps): Depend on .dvi file and EPS files, but not .texi + source files. + +2009-11-27 David Bateman + + * doc/interpreter/contributors.in: Add Kacper Kowalik. + +2009-11-27 David Bateman + + * interpreter/install.txi: Document that curl libraries impact ftp + objects. + * interpreter/system.txi: Document the ftp objects + +2009-11-25 Rik + + * interpreter/Makefile.am: + Simplify doc-cache handling in Makefile.am to use only + install-data-local target + +2009-11-24 Rik + + * interpreter/Makefile.am: + Correct Makefile so that it halts on error when unable to build + doc-cache. + +2009-11-23 Rik + + * faq/Makefile.am, interpreter/Makefile.am, liboctave/Makefile.am: + Stop distribution of conf.texi by autotools. conf.texi must be re-made + from conf.texi.in during configure step + +2009-11-23 Rik + + * Makefile.am: Add . to SUBDIRS to force automake to compile this + directory, and make conf.texi, before recursively compiling SUBDIRS + which depend on conf.texi + +2009-11-11 Rik + + * Makefile.am: Add DISTCLEANFILES macro so that generated conf.texi can + be cleaned by automake. + +2009-11-10 John W. Eaton + + * Makefile.am, faq/Makefile.am, interpreter/Makefile.am, + liboctave/Makefile.am, refcard/Makefile.am, + interpreter/config-images.sh, interpreter/images, + interpreter/images.awk: New files. + * Makefile.in, faq/Makefile.in, interpreter/Makefile.in, + liboctave/Makefile.in, refcard/Makefile.in: Delete. + * interpreter/munge-texi.cc (main, usage): Eliminate unnecessary + -d option. + * liboctave/liboctave.texi: Surround @direntry in appropriate magic. + * faq/OctaveFAQ.texi: Rename from faq/Octave-FAQ.texi. + +2009-10-23 Rik + + * various: Periodic grammar check of Octave documentation files to + ensure a standardized format. + +2009-10-20 Rik + + * interpreter/Makefile.in: Clean Makefile.in and remove a few + non-functional targets + +2009-10-13 Rik + + * various: Fix various incorrect usages of deffn and deftypefn macros + +2009-10-12 Rik + + * liboctave/Makefile.in: Simplify Makefile using GNU Make functions + * liboctave/liboctave.texi: Stop header of file, which was meant to be + commented, from being transferred into the documentation. + +2009-10-12 Rik + + * faq/Makefile.in: Clean a few non-functional commands from Makefile + +2009-10-12 Rik + + * refcard/Makefile.in: Simplify Makefile using GNU Make functions + +2009-10-11 Rik + + * Makefile.in: Include texmf.cnf in distributed files to fix texinfo + runtime error with stack overflow. + +2009-10-11 Rik + + * intepreter/Makefile.in: Fix broken command to create octave.dvi + +2009-10-08 Jaroslav Hajek + + * intepreter/linalg.txi: Add reference to luupdate. + +2009-10-07 Jaroslav Hajek + + * interpreter/io.txi: Add reference to fskipl. + +2009-09-30 John W. Eaton + + * interpreter/data.txi (Built-in Data Types): + Document bitpack and bitunpack. + * interpreter/plot.txi: Delete spurious {}. Update menus. Fix + cross-referencing. + * interpreter/octave.texi: Update plotting sub-menus in detailed menu. + +2009-09-30 Michael D. Godfrey + + * interpreter/plot.txi: Document graphics structures. + +2009-09-14 John W. Eaton + + * interpreter/optim.txi: Document pqpnonneg. + +2009-08-27 Jaroslav Hajek + + * interpreter/expr.txi: Mention complex comparisons change. + +2009-08-05 Jaroslav Hajek + + * interpreter/tips.txi: Update. + +2009-07-20 John W. Eaton + + * interpreter/contributors.in: Add Aleksej Saushev. + +2009-06-24 Rafael Laboissiere + + * Makefile.in (dist): Drop conf.texi as prerequisite. + +2009-06-16 Jaroslav Hajek + + * interpreter/tips.txi: Update. + +2009-06-07 Rik + + * interpreter/plot.txi: Update some of Advanced Plotting documentation. + Updated functions delete, allchild, backend, clf, hold, and refreshdata. + +2009-06-07 Thorsten Meyer + + * interpreter/container.txi: Udate documentation of container types + +2009-06-03 Rik + + * interpreter/plotimages.m: Correct errorbar plot for docs. Make hist + plot reprodroducible for docs. + * interpreter/interpimages.m: Correct typo in legend of interpft plot + for docs. + +2009-06-03 Jaroslav Hajek + + * Makefile.in: Omit conf.texi in DISTFILES. + +2009-06-02 Jaroslav Hajek + + * interpreter/oop.txi: Update docs of polynomial class, mention + chained indexing. + +2009-05-27 S�ren Hauberg + + * interpreter/errors.txi: fix 'print_usage' output. + +2009-05-27 S�ren Hauberg + + * interpreter/bugs.txi: fix call to 'page_screen_output'. + +2009-05-25 Rik + + * interpreter/Makefile.in: Add texmf.cnf to list of distributed files + (DIST_FILES) so that pdfs will build. + +2009-05-24 Robert T. Short + + * interpreter/oop.txi: Added inheritance documentatin + +2009-05-21 Rik + + * interpreter/Makefile.in, texmf.cnf: Change texi2pdf call to include + local TeX configuration file which increases save_history variable. + +2009-05-17 Rik + + * interpreter/tips.txi: Change recommendation to use @tex rather than + @iftex construction. + +2009-05-17 Rik + + * interpreter/*.txi: Simplify TeXinfo files by eliminating redundant + @iftex followed by @tex construction. Also, spellchecked all .txi + and .texi files. + +2009-05-14 Rik + + * interpreter/arith.txi: Update section 17.8 (Mathematical Consants) + of arith.txi. + +2009-05-01 Rik + + * interpreter/arith.txi: Update section 17.7 (Coordinate + Transformations) of arith.txi. + +2009-05-01 Rik + + * interpreter/arith.txi: Simplify TeXinfo and eliminate use of + @iftex in arith.txi. + +2009-05-01 Rik + + * interpreter/arith.txi: Update section 17.5 (Utility Functions) + of arith.txi. + +2009-04-30 Rik + + * interpreter/arith.txi: Update section 17.4 (Sums and Products) + of arith.txi. + +2009-04-29 Jaroslav Hajek + + * interpreter/numbers.txi: Update info on ranges. + * interpreter/expr.txi: Update some info on indexing. + +2009-04-26 Rik + + * interpreter/arith.txi: Update section 17.3 (Trigonometry) of + arith.txi. + +2009-04-24 Rik + + * interpreter/arith.txi: Update section 17.2 (Complex Arithmetic) + of arith.txi. Use Tex in more of the doc strings for pretty + printing in pdf format. + +2009-04-24 Rik + + * interpreter/octave.pdf: Eliminate most overfull errors when + running texi2pdf for generating pdf documentation. Use + @smallexample when necessary to reduce font for long lines. + Reword variables or phrases so that Tex can break them at a better + spot. + +2009-04-21 Rik + + * interpreter/octave.pdf: Eliminate 'unbalanced parentheses in + @def...' error during texi2pdf. Fixed four .m files incorrectly + using @deftypefn macro. + +2009-04-19 Ansgar Burchardt + + * interpreter/numbers.txi: Fix small mistake in example. + +2009-04-17 Rik + + * interpreter/arith.txi: Update section 17.1 (Utility Functions) + of arith.txi. Split section into "Exponents and Logarithms" and + "Utility Functions" Use Tex in many more of the doc strings for + pretty printing in pdf format. + +2009-04-17 Rik + + * interpreter/basics.txi: Update help text for sections 2.5, 2.6, 2.7 + of basics.txi + +2009-04-17 Rik + + * interpreter/basics.txi: Update help text for sections 2.4 of + basics.txi. + +2009-04-17 Rik + + * interpreter/basics.txi: Update help text for sections 2.2 + and 2.3 of basics.txi. + +2009-04-17 Rik + + * interpreter/basics.txi: Update help strings for command line options. + +2009-04-11 David Bateman + + * interpreter/contributors.in: Add Martin Helm. + +2009-04-06 John W. Eaton + + * texinfo.tex: Prefer PDF image files if generating PDF output. + +2009-03-27 Rik + + * interpreter/intro.txi: Add new sample section on elementary + calculations. Add new example of solving systems of equations + +2009-03-27 Jaroslav Hajek + + * interpreter/diagperm.txi: Mention mixing with sparse matrices. + +2009-03-25 John W. Eaton + + * interpreter/munge-texi.cc (process_texi_input_file): + Copy leading comment with file name info to output. + +2009-03-09 John W. Eaton + + * interpreter/Makefile.in (DISTFILES): Use doc-cache instead of + DOC for doc cache file. + +2009-03-08 S�ren Hauberg + + * interpreter/stats.txi (Basic Statistical Functions): + Add the 'histc' function. + +2009-03-07 John W. Eaton + + * interpreter/basics.txi (Command Line Options): + Document --doc-cache-file command-line option. + +2009-03-06 Jaroslav Hajek + + * interpreter/diagperm.txi: Various improvements. + +2009-02-27 John W. Eaton + + * interpreter/set.txi (Sets): Don't document create_set. + +2009-02-26 John W. Eaton + + * interpreter/strings.txi (Manipulating Strings): + Document strsplit, not split. + +2009-02-25 John W. Eaton + + * interpreter/Makefile.in (distclean): Remove tags and TAGS here + instead of in maintainer-clean target. + (maintainer-clean): Depend on distclean, not clean. Remove DOC. + (DISTFILES): Add stmp-html to the list. + + * Makefile.in: Remove conf.texi in maintainer-clean target but not + distclean target. + +2009-02-24 Jaroslav Hajek + + * interpreter/diagperm.txi: Remove redundant url references. + +2009-02-23 Jaroslav Hajek + + * interpreter/diagperm.txi: Use TeX alternatives in some + formulas, improve examples, delete superfluous defs. + +2009-02-23 Jaroslav Hajek + + * interpreter/diagperm.txi: New file. + * interpreter/octave.texi: Reference it. + * intepreter/Makefile.in: Include it. + * interpreter/matrix.txi: Move @DOCSTRING(diag) to diagperm.txi. + +2009-02-19 John W. Eaton + + * doc/interperter: Include @DOCSTRING commands for the following + functions: bicgstab, cgs, choldelete, cholinsert, cholshift, + clabel, comet, command_line_path, compass, contour3, ctranspose, + cylinder, dellistener, diffuse, edit, ellipsoid, fclear, feather, + fill, find_dir_in_path, finite, flag, info, is_absolute_filename, + is_rooted_relative_filename, isdebugmode, ishghandle, isnull, + issorted, make_absolute_filename, meshz, news, + octave_tmp_file_name, optimget, pareto, plotmatrix, plotyy, + qrshift, quiver3, re_read_readline_init_file, ribbon, rose, + rundemos, scatter, scatter3, slice, specular, sphere, spinmap, + stem3, strchr, strtrim, surfl, surfnorm, times, transpose, + treelayout, uminus, uplus, warranty, what, xlim, yes_or_no. + +2009-02-17 Thomas Treichl + + * interpreter/install.txi: Add documentation for configure options + "--without-framework-carbon" and "--without-framework-opengl". + +2009-02-17 Jaroslav Hajek + + * interpreter/arith.txi: Add reference to "cummin" and "cummax". + +2009-02-11 John W. Eaton + + * interpreter/Makefile.in (uninstall): Use $(DESTDIR) here too. + Uninstall Info dir file. Uninstall DOC file. + (install): Install DOC file. Add $(DESTDIR)$(octetcdir) to the + list of directories to make. + +2009-02-10 John W. Eaton + + * interpreter/Makefile.in (DOC): New target. + (DISTFILES): Add DOC nad mk_doc_cache.m to the list. + * mk_doc_cache.m: New file. + +2009-02-01 S�ren Hauberg + + * interpreter/nonlin.txi: Remove reference to 'fsolve_options'. + +2009-02-01 S�ren Hauberg + + * interpreter/system.txi: Remove reference to 'eomdate'. + +2009-01-24 Thorsten Meyer + + * interpreter/container.txi (Data Structures): Update examples for + structure arrays. + +2009-01-22 John W. Eaton + + * interpreter/io.txi (Terminal Output): Remove @DOCSTRING(ans). + + * vr-idx.txi: Delete. + * interpreter/Makefile.in (SUB_SOURCE): Remove it from the list. + +2009-01-22 S�ren Hauberg + + * interpreter/func.txi: Put varargin and varargout in concept index. + * interpreter/var.txi: Put ans in concept index. + * interpreter/octave.texi: Don't include vr-idx.texi. + + * interpreter/var.txi: Remove sections on built-in variables. + +2009-01-20 John W. Eaton + + * interpreter/system.txi (Filesystem Utilities): @DOCSTRING for + fstat. Delete @DOCSTRING for lstat. Add anchor for doc-lstat. + +2009-01-18 Thorsten Meyer + + * interpreter/numbers.txi (Numeric Data Types): Trivial fixes. + +2009-01-14 Thorsten Meyer + + * interpreter/matrix.txi: Add anchor for doc-postpad. + +2008-12-26 Thorsten Meyer + + * interpreter/strings.txi: Add space to ischar example. + +2008-12-26 Francesco Potortì + + * interpreter/matrix.txi (Rearranging Matrices): Add reference + to resize function. + + * interpreter/plot.txi (Plot Annotations): Add cross reference to + Text Properties. + (Two-Dimensional Plots): Update introduction to the axis function. + + * interpreter/signal.txi (Signal Processing): Add explanation of + what wisdom is. + +2008-12-23 David Bateman + + * interpreter/sparse.txi: Document the eigs and svds functions. + +2008-12-02 Thorsten Meyer + + * interpreter/container.txi, interpreter/strings.txi: + Remove reference to str2mat.m + +2008-11-15 Thorsten Meyer + + * interpreter/strings.txi: Add text around docstrings, change + structure of the strings chapter. + +2008-10-31 John W. Eaton + + * interpreter/Makefile.in ($(TEXINFO)): Depend directly on + ../../src/DOCSTRINGS and ../../scripts/DOCSTRINGS instead of phony + src-DOCSTRINGS and scripts-DOCSTRINGS targets. + (src-DOCSTRINGS, scripts-DOCSTRINGS): Delete. + (DOCSTRING_FILES): New variable. + ($(SUB_TEXFINO)): Use it. Display actual command. + ($(DOCSTRING_FILES)): New target. + (%.spell : %.texi): Use -t suffix instead of .tmp. + (constributors.texi, $(SUB_TEXINFO)): Use mv, instead of + $(simple-move-if-change-rule). + +2008-10-30 David Bateman + + * faq/Octave-FAQ.texi: Document improved indexing and add an faq for + the compatibility of mldivide/mrdivide for singualr, under- and + over-determined matrices. + + * interpreter/plot.txi: Document contour groups. + +2008-10-29 Thorsten Meyer + + * interpreter/system.txi, interpreter/poly.txi, + interpreter/arith.txi, interpreter/poly.txi, + interpreter/optim.txi, interpreter/diffeq.txi, + interpreter/sparse.txi, interpreter/matrix.txi, + interpreter/plot.txi, interpreter/io.txi, interpreter/debug.txi, + interpreter/var.txi, interpreter/strings.txi: + Add missing @DOCSTRING commands. + + * interpreter/munge-texi.cc (extract_docstring): Expand arguments + of @seealso{} into Texinfo references. + +2008-10-22 David Bateman + + * interprter/plot.txi: Add documentation for error bar series. + + * interprter/plot.txi: Update documentation for line series, Add + documetation for scatter groups, stem series and surface groups. + + * texinfo.tex: Import new upstream version. + * interpreter/Makefile.in (EXAMPLE_FILES_NODIR): Update for new OOP + class example location. + * interpreter/oop.txi: Ditto. + +2008-10-15 David Bateman + + * interpreter/oop.txi: New file. + * interpreter/Makefile.in (SUB_SOURCES): Add it here. + (POLYNOMIAL_FILES_NODIR): New varaible for polynomial example class + methods. + (EXAMPLE_FILES_NODIR): Add POLYNOMIAL_FILES_NODIR here. + * interpreter/octave.texi: Reference new OOP chapter here. + * interpreter/func.txi: Document private directories and function + precedence here. + +2008-10-16 Thorsten Meyer + + * interpreter/contrib.txi: added recommendation of limited + line width in code examples + +2008-10-03 Thorsten Meyer + + * interpreter/contrib.txi: added example for mercurial queues + +08-10-03 Thorsten Meyer + + * interpreter/contrib.txi: correction of the mercurial example + * interpreter/container.txi: minor correction of the text + +2008-09-25 S�ren Hauberg + + * interpreter/image.txi: Update for imread and imwrite instead of + loadimge and saveimage. + +2008-09-24 S�ren Hauberg + + * interpreter/image.txi: Document imfinfo. + +2008-09-23 Francesco Potorti` . + + * interpreter/container.txi: Fix cross reference in struct docs. + +2008-09-23 Brian Gough + + * interpreter/matrix.txi: Update docs for random number generators. + +2008-09-22 David Bateman + + * faq/Octave-FAQ.texi: Update for Octave 3.1.51 and Matlab 2008a. + +2008-09-15 David Bateman + + * interpreter/sparse.txi: Minor clarificiation + +2008-08-28 John W. Eaton + + * interpreter/func.txi, interpreter/plot.txi: Doc fixes + suggested by Francesco Potorti` . + +2008-08-28 David Bateman + + * interpreter/plot.txi: Add description of data sources and line + series objects. + +2008-08-26 David Bateman + + * interpreter/plot.txi: Document the group objects (bar, stem, + stair, quiver and area series), and cllback functions. + +2008-08-26 Jaroslav Hajek + + * interpreter/contrib.txi: New file. + * interpreter/octave.texi: Include it here. + * interpreter/Makefile.in (SUB_SOURCE): Add contrib.txi to the list. + +2008-08-21 David Bateman + + * interpreter/plot.txi: Document ezplot. + +2008-08-19 David Bateman + + * interpreter/numbers.txi: Document intwarning. + +2008-08-06 S�ren Hauberg + + * interpreter/basics.txi, interpreter/errors.txi, + interpreter/expr.txi, interpreter/func.txi, + interpreter/numbers.txi: Update format of error messages in examples. + +2008-07-29 David Bateman + + * interpreter/numbers.txi, interpreter/plot.txi, + interpreter/quad.txi: Miscellaneous documentation fixes. + + * control.txi, finance.txi, quaternion.txi: Delete. + * octave.texi: Remove all references to the above. + * Makefile.in: ditto. + +2008-07-28 David Bateman + + * interpreter/arith.txi: Document reallog, realpow and realsqrt. + * interpreter/dbug.txi: Document the means of setting a breakpoint + in a sub-function + * interpreter/func.txi: Document nargoutchk and symvar. + * interpreter/geometry.txi: Document rectint. + * interpreter/image.txi: Document contrast. + * interpreter/interp.txi: Document interp1q. + * interpreter/linalg.txi: Document planerot, rcond and subspace. + * interpreter/numbers.txi: Document data type demotion and single + precision data type. + * interpreter/plot.txi: Document ginput, gtext, + waitforbuttonpress, ezcontour, ezcontourf, ezpolar, ezplot3, + ezmesh, ezmeshc, ezsurf, ezsurfc, allchild, findobj and findall + functions. + * interpreter/quad.txi: Document quadv, quadgk, dblquad and + triplequad functions. + * interpreter/strings.txi: Document validstring, regexptranslate + and isstrprop functions. + * interpreter/system.txi: Document addtodate, filemarker and perl + functions. + * interpreter/var.txi: Document the genvarname and namelengthmax + functions. + * interpreter/octave.texi: Update table of contents for the above + changes. + + * interpreter/plot.txi: Document contourf. + + * interpreter/plot.txi: Clarify the description of OuterPosition + axes property. + +2008-05-20 David Bateman + + * interpreter/debug.txi: Uodate documentation for multiline + input. Add documentation for dbcont, dbquit, dbstep, dbstqck, dbup + and dbdown functions. + * interpreter/octave.texi: Upodate index for debugging functions. + +2008-05-03 Rafael Laboissiere + + * interpreter/expr.txi, interpreter/tips.txi: Use ischar instead of + deprecated isstr. + +2008-04-02 David Bateman + + * interpreter/sparse.txi: Document spaugment. + +2008-03-26 Rafael Laboissiere + + * interpreter/mkoctfile.1: Remove spurious whitespace before macros + +2008-03-25 David Bateman + + * interpreter/strings.txi: Document hex2num, num2hex. + +2008-03-21 David Bateman + + * interpreter/sparse.txi: Document amd function. + +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. + +2008-03-12 David Bateman + + * interpreter/io.txi: Document dlmread, dlmwrite, csvread and + csvwrite. + +2008-02-25 Ben Abbott + + * interpreter/geometryimages.m, interpreter/interpimages.m, + interpreter/plotimages.m, interpreter/sparseimages.m: + Use cstrcat instead of strcat. + +2008-02-22 David Bateman + + * interpreter/sparse.txi: Remove refernces to spdiag, spcumprod, + spcumsum, spprod, spsum, spsumsq, spchol, spchol2inv, spcholinv, + spinv and splu. + +2008-02-20 David Bateman + + * interpreter/sparse.txi: Remove references to spmin, spmax, + spatan2, spfind, spqr and spdet. + +2008-02-19 Carlo de Falco + + * interpreter/package.txi: Improve INDEX file documentation. + +2008-01-18 Ben Abbott + + * interpreter/intro.txi: Replaced reference to deprecated + function struct_elements with filenames. + +2008-02-08 Rafael Laboissiere + + * interpreter/octave.1: Dropped unknow LO macro + * interpreter/octave-bug.1: Likewise + +2008-02-07 David Bateman + + * interpreter/sparse.txi: Remove references to spkron. + +2008-02-06 John W. Eaton + + * interpreter/Makefile.in (stmp-html, HTML): New targets. + ($(HTML_IMAGES_PNG)): Also depend on stmp-html. + Don't create HTML directory here. + +2007-12-28 John W. Eaton + + Merge changes from object branch: + + 2007-06-20 John W. Eaton + + * interpreter/var.txi, interpreter/io.txi: + Eliminate print_answer_id_name. + +2007-12-21 John W. Eaton + + Version 3.0.0 released. + +2007-12-13 John W. Eaton + + * Makefile.in (conf.texi): Also depend on $(top_srcdir)/src/version.h. + +2007-12-05 John W. Eaton + + * interpreter/geometryimages.m (image_as_txt): New function. + Use it to generate "figures" for Info format. + * interpreter/interpimages.m: Likewise. + * interpreter/sparseimages.m: Likewise. + +2007-12-04 John W. Eaton + + * interpreter/sparseimages.m, interpreter/plotimages.m, + interpreter/interpimages.m, interpreter/geometryimages.m: + Set default text font to "*" for png images. + + * interpreter/Makefile.in (run-octave): Don't sleep. + +2007-12-04 Joseph P. Skudlarek + + * interpreter/plotimages.m: Generate text plots. + * interpreter/sparseimages.m: Add initial blank line to text plots. + + * interpreter/Makefile.in (IMAGES_TXT): Include $(INTERPIMAGES_TXT) + $(GEOMETRYIMAGES_TXT) and $(PLOTIMAGES_TXT) in the list. + (INTERPIMAGES_TXT, GEOMETRYIMAGES_TXT, PLOTIMAGES_TXT): New variables. + +2007-11-26 David Bateman + + * interpreter/sparse.txi: Document condest. + * interpreter/plot.txi: Document the new text properties and the + TeX interpreter mode of text objects. + * interpreter/plotimages.m: Add an example for the TeX + interpreter. + * interpreter/Makefile.in (PLOTIMAGES): Add the TeX example + + * interpreter/plot.txi: Document caxis. + * interpreter/image.txi: Document gmap40. + +2007-11-12 Joseph P. Skudlarek + + * interpreter/gpl.txi: Move index commands after sectioning commands. + +2007-11-09 David Bateman + + * interpreter/plot.txi: Document the new hidden and area functions. + +2007-11-07 David Bateman + + * interpreter/plot.txi: Document new functions. + +2007-10-30 David Bateman + + * interpreter/dynamic.txi, interpreter/install.txi, + interpreter/stats.txi, interpreter/strings.txi, + interpreter/testfun.txi, interpreter/tips.txi: + Doc fixes for small book format. + +2007-10-26 Michael Goffioul + + * interpreter/Makefile.in, faq/Makefile.in, liboctave/Makefile.in: + Use temporary renamed files instead of Don't use --output option + argument for texi2[dvi|pdf]. Use $(sepchar) for path element + separation when building TEXINPUTS. Remove use of UNSETCOMSPEC trick. + +2007-10-22 Kim Hansen + + * interpreter/munge-texi.cc: Include and . + +2007-10-19 David Bateman + + * refcard/refcard.tex: Update for 3.0. + +2007-10-15 S�ren Hauberg + + * interpreter/preface.txi, interpreter/basics.txi, + interpreter/strings.txi, interpreter/container.txi, + interpreter/var.txi, interpreter/expr.txi, interpreter/errors.txi, + interpreter/io.txi, interpreter/func.txi, interpreter/package.txi: + Make text fit on pages when using smallbook. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-11 Brian Gough + + * interpreter/dynamic.txi, interpreter/geometry.txi, + interpreter/package.txi, interpreter/sparse.txi, + interpreter/system.txi: Spelling fixes. + +2007-10-10 Olli Saarela + + * interpreter/arith.txi, interpreter/basics.txi, + interpreter/container.txi, interpreter/dynamic.txi, + interpreter/eval.txi, interpreter/expr.txi, interpreter/func.txi, + interpreter/geometry.txi, interpreter/intro.txi, + interpreter/numbers.txi, interpreter/plot.txi, + interpreter/poly.txi, interpreter/set.txi, interpreter/sparse.txi, + interpreter/stmt.txi, interpreter/strings.txi, + interpreter/testfun.txi, interpreter/tips.txi: Spelling fixes. + +2007-10-06 John W. Eaton + + * interpreter/octave.texi: Add David Bateman and S�ren Hauberg as + authors. + +2006-09-28 Henry Mollet mollet@pacbell.net + + * interpreter/func.txi: Correct results of a couple of examples. + +2007-09-14 John W. Eaton + + * faq/Makefile.in: Create single Octave-FAQ.html file instead of a + splitting files into HTML directory. + +2007-09-05 David Bateman + + * interpreter/system.m: Document gzip. + * interpreter/container.txi: Document celldisp. + * interpreter/matrix.txi: Document bsxfun. + * interpreter/data.txi: Document typecast and swapbytes. + * interpreter/container.txi: Document struct2cell. + * interpreter/stats.txi: Document mode. + * interpreter/eval.txi: Document run. + +2007-09-01 David Bateman + + * interpreter/Makefile.in: Remove stray character from + INTERIMAGES_PNG target. + * conf.texi.in: Substitute for the variable TEXINFO_QHULL + * interpreter/geometryimages.m: Check for the HAVE_QHULL build + flag before creating certain figures. + * interpreter/geometry.txi: Check whether TEXINFO_QHULL is set + before including certain figures. + +2007-08-31 S�ren Hauberg + + * interpreter/nonlin.txi: Extended the example. + + * interpreter/poly.txi: Sectioning and documentation. + * interpreter/octave.texi: Adapt to changes in poly.txi. + +2007-08-30 David Bateman + + * interpreter/geometryimages.m: Add inpolygon example + * interpreter/Makefile.in (GEOMETRYIMAGES): Add inpolygon example. + * interpret/geometry.txi: Document inpolygon. + +2007-08-27 David Bateman + + * interpreter/struct.txi: Remove. + * interpreter/containers.txi: Combine with this chapter. Add + examples, and section on comma separated lists. Document the + difference between "c(1,:) = []" and c{1,:} = []" for a cell + arrays. + * interpreter/octave.texi: Document new indexing of containers + section. + +2007-08-25 David Bateman + + * interpreter/geometry.txi: Add examples and explanatory text. + * interpreter/octave.texi: Update indexing of geometry functions. + * interpreter/geometryimage.m: New script to create images for + geometry chapter. + * interpreter/Makefile.in (SCRIPT_SORCES): add geometryimages.m + (GEOMETRYIMAGES*): New variables. + (IMAGES_EPS, IMAGES_PDF, IMAGES_PNG): Add the GEOMETRYIMAGES*. + +2007-08-24 David Bateman + + * interpreter/geometry.txi: Document new functions. + * interpreter/octave.texi: Update indexing of geometry items. + +2007-07-25 John W. Eaton + + * interpreter/Makefile.in (run-octave): Don't set DISPLAY. + +2007-07-25 David Bateman + + * Makefile.in, faq/Makefile.in, interpreter/Makwfile.in, + liboctave/Makefile.in, refcard/Makefile.in: Adjust DISTFILES + to allow out of tree "make dist" to work. + +2007-07-23 David Bateman + + * interpreter/Makefile.in (SUB_SOURCE): remove bit.txi. + * interpreter/io.txi: Document rat and rats in new sub-section. + * interpreter/plot.txi: New section for test functions. Document + peaks and meshc. + * interpreter/octave.texi: Add test plotting section. + * interpreter/image.txi: Document the functions autumn, bone, + cool, copper, hot, hsv, jet, pink, prism, rainbow, spring, + summer, white and winter. + +2007-07-19 David Bateman + + * interpreter/bit.xi: Remove. + * interpreter/numbers.txi: Move here, and add examples. + * interpreter/octave.texi: Remove "Bit manipulation" chapter and make + it a sub-section of the "Numeric Data Types" chapter. + +2007-07-06 David Bateman + + * interpreter/arith.txi: Add accumarray. + +2007-06-25 John W. Eaton + + * interpreter/stats.txi: Reorganize sections and add introductory text. + + * interpreter/octave.texi: Update to reflect changes in stats.txi. + +2007-06-18 David Bateman + + * interpreter/interpimages.m: Simpler images to demonstrate + the continuity of the second derivative of splines. + * interpreter/interp.txi: Also change figures here. + * interpreter/Makefile.in: and here. + +2007-06-18 S�ren Hauberg + + * interpreter/optim.txi: Added some introductory text to each + section. + + * interpreter/set.txi: Added some introductory text. + * interpreter/octave.texi: Updated to reflect changes in set.txi. + +2007-06-15 David Bateman + + * faq/Octave-FAQ.texi: Document the gnuplot 4.2 bug using pipes. + +2007-06-15 Paul Kienzle + + * interpreter/testfun.txi: Provide a clue to using xtest for assert. + +2007-06-14 Paul Kienzle + + * interpreter/testfun.txi: Document xtest block + +2007-06-14 David Bateman + + * interpreter/Makefile.in (SCRIPT_SORCES): add interimages.m + (INTERPIMAGES*): New variables. Add targets for them + (IMAGES_EPS, IMAGES_PDF, IMAGES_PNG): Add the INTERPIMAGES. + * interpreter/interpimages.m: New function + * interpreter/interp.txi: Add text about second derivation of + splines and add figures. + +2007-06-12 David Bateman + + * interpreter/numbers.txi: Document that 64-bit arithmetic is + not possible. + +2007-06-12 David Bateman + + * interpreter/interp.txi: Split into two section and document + interp3 and the differences in the treatement of the dimensions + between interpn and interp3. + * hashing.txi: Remove. + * system.txi: Move it here as a subsection. Include explanation + and example. + * interpreter/octave.texi: Add sections for the Interpolation + chapter. Remove references to Hashing chapter and hashing.texi, + and subsections for hashing to system utilities chapter. + +2007-06-12 2007-06-10 S�ren Hauberg + + * interpreter/diffeq.txi: Note that x-dot is the derivative of x. + +2007-06-03 David Bateman + + * interpreter/dynamic.txi: Use "mwSize" and "mwIndex" rather than + "int" for indexing in mex-files and document them. + +2007-05-30 John W. Eaton + + * interpreter/Makefile.in (TEXI2DVICOMMAND, TEXI2PDFCOMMAND): + New macros. + (octave-a4.pdf, octave-smallbook.pdf): New targets. + (FORMATTED, all): Include octave-a4.pdf in list of dependencies. + Delete octave.dvi and octave.ps from list. + (FORMATTED, all): Use $(PDF_TARGETS). + (maintainer-clean): Depend on clean. + +2007-05-30 G. D. McBain + + * interpreter/expr.txi (Assignment Ops): Doc fix. + +2007-05-29 Steven Mestdagh + + * interpreter/Makefile.in ($(HTML_IMAGES_PNG)): Use cp instead of + INSTALL_DATA to copy files to the HTML directory. + +2007-05-28 S�ren Hauberg + + * interpreter/errors.txi: Add new sections and some more detailed + descriptions on errors and warnings. + * interpreter/octave.texi, interpreter/stmt.txi, + interpreter/var.txi: Add references to the new sections in + errors.txi. + +2007-05-28 S�ren Hauberg + + * interpreter/io.txi: Rearrange some sections, and add + a few examples. + +2007-05-28 G. D. McBain + + * interpreter/struct.txi: Doc fix. + +2007-05-23 John W. Eaton + + * liboctave/Makefile.in (TEXINFO_SOURCE): New variable. + (TEXINFO): Define using $(TEXINFO_SOURCE). + (DISTFILES): Include $(TEXINFO_SOURCE) in the list, not $(TEXINFO). + +2007-05-22 John W. Eaton + + * interpreter/Makefile.in (TEXINFO_SOURCE): New variable. + (TEXINFO): Define using $(TEXINFO_SOURCE). + (DISTFILES): Include $(TEXINFO_SOURCE) in the list, not $(TEXINFO). + +2007-05-22 Thomas Weber + + * faq/Octave-FAQ.texi, interpreter/basics.txi, + refcard/refcard.tex: Fix typos. + +2007-05-22 John W. Eaton + + * interpreter/Makefile.in (DISTFILES): Add mkcontrib.awk to the list. + +2007-05-21 David Bateman + + * interpreter/debug.txi, io.txi, octave.txi: Doc fixes. + +2007-05-21 S�ren Hauberg + + * interpreter/expr.txi: Describe +=, -=, *=, and /= operators. + Add new example. + + * interpreter/eval.txi: Partition the chapter into sections. + Describe evalin and assignin functions using text from Paul + Kienzle. Change "See See" to "See". Use @ref instead of @xref to + avoid "See" to be written with a capital letter in the middle of a + sentence. + + * interpreter/func.txi: New section describing load path. + Improve 'inline' and 'command' sections. + + * interpreter/stmt.txi: Describe cell array cases for the switch + statement. Minor layout changes. + +2007-05-19 David Bateman + + * interpreter/func.txi: Additional documentation for function + locking, dispatch and autoloading. + +2007-05-16 S�ren Hauberg + + * interpreter/expr.txi: Improve docs. + +2007-05-14 John W. Eaton + + * interpreter/basics.txi, interpreter/data.txi, + interpreter/intro.txi, interpreter/numbers.txi, + interpreter/octave.texi, interpreter/preface.txi: Doc fixes. + +2007-04-18 S�ren Hauberg + + * interpreter/package.texi: Document "*" flag for loaded packages. + + * interpreter.var.txi: Improve explanation of clear, exist, and who. + + * interpreter/intro.txi: Change @unnumberedsubsec to @subsection. + + * interpreter/container.txi: Doc fix. + + * interpreter/strings.txi: Improve explanation for creating + comparing, and converting strings. + * interpreter/octave.texi: Update detailed menu. + +2007-05-09 David Bateman + + * faq/Octave-FAQ.texi: Update compatibility section. + +2007-04-27 David Bateman + + * Makefile.in (EXAMPLE_FILES_NODIR): Add mycell.c, myfeval.c, + myfunc.c, mypow2.c, mysparse.c, mystring.c, mystruct.c and + paramdemo.cc. + * interpreter.txi/dynamic.txi: Complete all but the section on + the mex- and oct-file APIs. + +2007-04-26 David Bateman + + * interpreter/stmt.txi: Document for loops over matrices, arrays + and cell arrays. + +2007-04-25 David Bateman + + * interpreter/dynamic.txi: Add additional copyrights. Add sections + of input parameter checking, documentation and testing of + oct-files. Adds a section on calling other functions from + mex-files, expands the basic information on mex-files, and add a + few new sections (to be completed) to the section about mex-files + +2007-04-25 John W. Eaton + + * interpreter/dynamic.txi: Use abs_top_srcdir to find example files. + +2007-04-25 David Bateman + + * conf.texi.in: Also set abs_top_srcdir with substitution. + * Makefile.in: Substitute abs_top_srcdir here. + +2007-04-25 John W. Eaton + + * interpreter/dynamic.txi: Use @verbatiminclude for example code. + + * interpreter/Makefile.in (EXAMPLE_FILES_NODIR, EXAMPLE_FILES): + New variables. + (octave.info, octave.dvi, octave.pdf, HTML/index.html): + Depend on $(EXAMPLE_FILES). + + * conf.texi.in: Also set top_srcdir with substitution. + + * interpreter/tips.txi: Update with new text and examples. + Move documentation section to the end. + +2007-04-24 David Bateman + + * interpreter/octave.texi: Include dynamic.texi as appendix and + update menus. + + * interpreter/plot.txi: Update menus. + + * interpreter/strings.txi: @result -> @result{}. + + * intrepreter/func.txi, intrepreter/sparse.txi: + Delete .oct file section and update menus. + + * interpreter/addtwomatrices.cc, interpreter/celldemo.cc, + interpreter/fortdemo.cc, interpreter/funcdemo.cc, + interpreter/globaldemo.cc, interpreter/helloworld.cc, + interpreter/stringdemo.cc, interpreter/structdemo.cc, + interpreter/unwinddemo.cc, interpreter/fortsub.f, + interpreter/dynamic.txi: New files. + + * Makefile.in (SUB_SOURCE): Include dynamic.txi in the list. + +2007-04-18 S�ren Hauberg + + * interpreter/package.texi: New file. + * octave/texi: @include it, add it to the menus. + +2007-04-18 John W. Eaton + + * interpreter/contributors.in: New file. + * interpreter/Makefile.in (contributors.texi): New target. + (clean): Also deleete contributors.texi + (TEXINFO): Include contributors.texi in the list. + (preface.texi): @include contributors.texi. + +2007-04-17 David Bateman + + * interpreter/linalg.txi (Techniques used for Linear Algebra): + New node. + * interpreter/octave.texi: Include it in menu. + * interpreter/sparse.txi: Delete discusion of matrix_type. + +2007-04-16 John W. Eaton + + * interpreter/stream.txi: Delete. + * interpreter/Makefile.in (SUB_SOURCE): Remove it from the list. + +2007-04-16 S�ren Hauberg + + * intrepreter/stmt.txi: Improve documentation of switch statement. + + * interpreter/tips.txi: Update description of how copyright + statements are recognized. + + * interpreter/octave.texi: Don't include stream.texi. + Remove menu entry for I/O streams. + + * interpreter/image.txi: Update docs. + +2007-04-11 S�ren Hauberg + + * interpreter/container.txi: Document indexing with (). + +2007-04-11 S�ren Hauberg + + * interpreter/container.txi: Improve cell array documentation. + +2007-04-09 S�ren Hauberg + + * interpreter/func.txi: Document varargin, varargout, and default + argument values. + +2007-04-03 Rafael Laboissiere + + * interpreter/basics.txi: Clarified some limitations of the #! + script mechanism, in particular related to the parsing of the + arguments. + +2007-03-29 Rafael Laboissiere + + * faq/Octave-FAQ.texi, interpreter/basics.txi, + interpreter/emacs.txi, interpreter/func.tx, interpreter/var.txi: + Make it clear that the old built-in LOADPATH is an internal + variable, accessible through path (). + Drop references to DEFAULT_LOADPATH. + Chang references to the old built-in variables INFO_FILE and + INFO_PROGRAM to the respective fucntions info_file and + info_program. + * refcard/refcard.tex: Drop LOADPATH from list of built-in variables. + +2007-03-27 John W. Eaton + + * Makefile.in, interpreter/Makefile.in, faq/Makefile.in, + liboctave/Makefile.in, refcard/Makefile.in (dist): + Use ln instead of $(LN_S). + +2007-03-21 G. D. McBain + + * interpreter/sparse.txi: Delete repeated word. + +2007-03-20 G. D. McBain + + * interpreter/sparse.txi: Clarify sparse matrix creation example. + +2007-03-14 G. D. McBain + + * interpreter/sparse.txi: Fix typo. + +2007-02-26 From Michael Goffioul + + * Makefile.in, interpreter/Makefile.in, faq/Makefile.in, + liboctave/Makefile.in, refcard/Makefile.in: + Use $(LN_S) instead of ln or ln -s. + +2007-02-21 David Bateman + + * interpreter/sparse.txi: Add functions sprank and normest to + documentation. + +2007-01-25 John W. Eaton + + * interpreter/sparseimages.m: Don't call __gnuplot_x__ functions. + +2006-11-17 John W. Eaton + + * interpreter/sparseimages.m: Fix call to __plt3__. + +2006-11-16 John W. Eaton + + * interpreter/sparseimages.m (femimages): Use plot3. + +2006-11-11 John W. Eaton + + * interpreter/Makefile.in (%.texi : %.txi): + Use $(simple-move-if-change-rule) here. + +2006-10-29 John W. Eaton + + * interpreter/Makefile.in (run-octave): Call it here. + * interpreter/sparseimages.m (sparseimages): Don't call sleep here. + +2006-10-27 John W. Eaton + + * interpreter/Makefile.in (run-octave): + Unset DISPLAY while running Octave. + From Michael Goffioul . + + * interpreter/Makefile.in (octave.dvi, octave.pdf): + Use $(UNSETCOMSPEC) in command. + * faq/Makefile.in (Octave-FAQ.dvi, Octave-FAQ.pdf): Likewise. + * liboctave/Makefile.in (liboctave.dvi, liboctave.pdf): Likewise. + +2006-10-09 Thomas Treichl + + * interpreter/sparseimages.m: Plot sombrero images if sparse + capabilities are missing. + +2006-10-04 John W. Eaton + + * interpreter/Makefile.in (HTML_IMAGES_PNG): New variable. + (HTML/index.html): Depend on $(HTML_IMAGES_PNG) instead of html-figs. + ($(HTML_IMAGES_PNG): HTML/%.png : %.png): New pattern rule. + (html-dir): Delete target. + +2006-10-03 Rafael Laboissiere + + * interpreter/mkoctfile.1: Fix indentation for --mex description. + +2006-09-26 John W. Eaton + + * interpreter/Makefile.in (stamp-images): Delete. + (octave.info): Depend on $(IMAGES_TXT), not stamp-images. + (octave.dvi): Depend on $(IMAGES_EPS), not stamp-images. + (octave.pdf): Depend on $(IMAGES_PDF), not stamp-images. + (html-figs): Depend on $(IMAGES_PNG), not stamp-images. + (SCRIPT_SOURCES, SPARSEIMAGES_1, SPARSEIMAGES_EPS, + SPARSEIMAGES_PDF, SPARSEIMAGES_PNG, SPARSE_IMAGES_TXT, IMAGES_EPS, + IMAGES_PDF, IMAGES_PNG, IMAGES_TXT, and IMAGES): New variables. + (SOURCES): Include $(SCRIPT_SOURCES) in the list. + (DISTFILES): Include $(IMAGES) in the list. + (maintainer-clean): Delete $(IMAGES) here. + (DISTSUBDIRS, SUBDIRS): Remove $(IMAGEDIR) from list. + (octave.dvi, octave.info, octave.pdf, HTML/index.html): + Don't include $(IMAGEDIR) in list of directories to search + * sparseimages.m: Move here from images/sparseimages.m. + * images/Makefile.in: Delete. + * images: Delete directory. + +2006-08-24 John W. Eaton + + * interpreter/images/Makefile.in (SPARSEIMAGES_PDF): New macro. + Keep PDF images out of IMAGES list. + +2006-08-18 John W. Eaton + + * conf.texi.in: Eliminate TARGETHOSTTYPE variable. + +2006-08-17 John W. Eaton + + * interpreter/images/Makefile.in (%.pdf : %eps): + Use $(GHOSTSCRIPT) instead of gs. + +2006-08-14 Dmitri A. Sergatskov + + * interpreter/images/sparseimages.m: Adapt to new automatic_replot + definition. + +2006-06-27 John W. Eaton + + * interpreter/Makefile.in: Elminate double-colon rules. + +2006-05-31 John W. Eaton + + * interpreter/images/Makefile.in (run-octave): + Use $(TOPDIR)/run-octave script to execute Octave. + (OCTAVE_BINARY, OCTAVE_SCRIPT_PATH, OCTAVE_LD_LIBRARY_PATH, + XLD_LIBRARY_PATH, SET_LD_LIBRARY_PATH): Delete variables. + +2006-04-06 Keith Goodman + + * interpreter/mkoctfile.1: Doc string fix. + +2006-04-03 David Bateman + + * interpreter/matrix.txi: Add rande, randp, randg and update + for different random generator behavior. + +2006-03-28 John W. Eaton + + * texinfo.tex: Update FSF address. + +2006-03-27 John W. Eaton + + * interpreter/images/sparseimages.m: Fix missing endif. Omit + unnecessary call to axis. + +2006-03-24 John W. Eaton + + * interpreter/images/sparseimages.m: + Avoid some unnecessary calculations. + +2006-03-22 John W. Eaton + + * interpreter/sparse.txi: Undo previous change. + Always use @image to include image files. + * interpreter/Makefile.in: Eliminate stamp files. + (clean, mostlyclean, distclean, maintainer-clean): Now + double-colon targets. + (stamp-images): New target. + (octave.info, octave.dvi, octave.pdf, HTML/index.html): Depend on it. + * interpreter/images/Makefile.in: Explicitly list images to be + created and their dependencies. + * interpreter/images/sparseimages.m (sparseimage): Delete dirc arg. + Sleep for 1 second before returning. + (txtimages): Also create gplot.txt and grid.txt. + (sparseimages): Don't redirect output here. + New arg, nm. Only output a single figure at a time. + (bury_output): New function. Use it before plotting commands and + after every print function. + * Makefile.in (conf.texi): New target. + (DISTFILES): Include conf.texi in the list. + (all, dist): Depend on conf.texi. + * conf.texi.in: Values come from Makeconf, not configure. + +2006-03-21 John W. Eaton + + * liboctave/Makefile.in (FORMATTED): Omit .html files here. + (DISTDIRS): New variable. + (dist): Handle $(DISTDIRS) here. + + * faq/Makefile.in (FORMATTED): Omit .html files here. + (DISTDIRS): New variable. + (dist): Handle $(DISTDIRS) here. + + * interpreter/Makefile.in (FORMATTED): Omit .html files here. + (DISTDIRS): New variable. + (dist): Handle $(DISTDIRS) here. + + * interpreter/sparse.txi: Temporarily omit figures. + * interpreter/Makefile.in: Temporarily omit actions for making figures. + (DISTSUBDIRS): New macro. + (dist): Recurse into $(DISTSUBDIRS) here. + + * interpreter/Makefile.in (real-pdf): Depend on stamp-eps + (stamp-pdf): Depend on real-pdf. Touch stamp-pdf here. + (real-pdf): Not here. + +2006-03-16 David Bateman + + * interpreter/images/sparseimages.m: set terminal type to dummy to + direct output to terminal rather than X11. + * interpreter/sparse.txi: Update docs for new QR solvers. + +2006-03-09 David Bateman + + * interpreter/Makefile.in: Change order of commands in HTML/index.html + target. Respawn make for stamp-pdf target so that $(wildcard *.eps) is + reinterpreted. + * interpreter/sparse.txi: Isolate conditionally built targets in + "@ifset ... @end ifset". + +2006-03-08 David Bateman + + * conf.texi: Remove. + * conf.texi.in: New file, for autoconf'ed version of conf.texi. + * Makefile.in: replace conf.texi with conf.texi.in in DISTFILES + * interpreter/Makefile.in: build in subdir IMAGEDIR, add stamps for + image files. Copy png-files to HTML directory. Build pdf files from + eps files using epsffit, gs, grep, basename, head and awk. + * octave.texi: Update sparse sub-sections. + * sparse.txi: Updates for current state of sparse code. + * interpreter/images/Makefile.in: New file. + * interpreter/images/sparseimages.m: New file to build sparse images. + +2006-03-07 David Bateman + + * liboctave/dae.texi, liboctave/factor.texi, liboctave/nleqn.texi, + liboctave/quad.texi, liboctave/matvec.texi, liboctave/nlfunc.texi, + liboctave/diffeq.texi, liboctave/array.texi, liboctave/range.texi, + liboctave/optim.texi: Fix some syntax problems for texinfo.tex 4.8. + +2006-03-06 Keith Goodman + + * interpreter/octave.texi (@seealso): Display args instead of + discarding them. + +2006-03-02 John W. Eaton + + * faq/Makefile.in (Octave-FAQ.ps): Depend on Octave-FAQ.dvi, not + $(TEXINFO). + + * texinfo.tex: Update to 2004-11-25.16 version from Texinfo 4.8. + +2005-12-14 David Bateman + + * interpreter/testfun.txi: New test/demo documentation. + * interpreter/strings.txi: Include regexp/regexi docstrings. + * interpreter/octave.texi: Include test/demo appendix. + * interpreter/Makefile.in (SUB_SOURCE): Include test.txi. + +2005-12-13 David Bateman + + * interpreter/sparse.txi: Add new gplot, etreeplot and treeplot + functions. + +2005-11-01 John W. Eaton + + * liboctave/Makefile.in (maintainer-clean): Also remove liboctave.pdf + * faq/Makefile.in (maintainer-clean): Also remove Octave-FAQ.pdf. + From Quentin Spencer . + +2005-10-23 David Bateman + + * sparse.txi: Updates for new ufsparse licensing, new functions and + various typos. + +2005-09-19 Rafael Laboissiere + + * interpreter/octave-config.1: Use bold instead of italics to + markup command name. + +2005-07-29 John W. Eaton + + * faq/Makefile.in (HTML/index.html): Pass --ifinfo to makeinfo. + * interpreter/Makefile.in (HTML/index.html): Likewise. + * liboctave/Makefile.in (HTML/index.html): Likewise. + +2005-07-28 John W. Eaton + + * faq/Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in: + Use makeinfo instead of texi2html to generate HTML. + +2005-05-02 John W. Eaton + + * interpreter/munge-texi.cc (skip_comments): New function. + (process_doc_file): Use it to skip comments at beginning of file. + +2005-04-29 David Bateman + + * interpreter/sparse.txi: Add matrix_type, spkron, and document + changes in solve code. + +2005-03-14 David Bateman + + * interpreter/sparse.txi: Add luinc function. + +2005-03-09 John W. Eaton + + * Makefile.in (bin-dist): Delete target. + (BINDISTSUBDIRS): Delete variable. + + * refcard/Makefile.in (bin-dist): Delete target. + (BINDISTFILES): Delete variable. + * liboctave/Makefile.in: Likewise. + * interpreter/Makefile.in: Likewise. + * faq/Makefile.in: Likewise. + +2005-02-25 John W. Eaton + + Sparse merge. + + 2005-01-07 David Bateman + + * interpreter/sparse.txi: New file. + * interpreter/Makefile.in: Add it to the build. + * interpreter/octave.texi: Include it in the contents tables and the + top level document. + +2005-02-25 John W. Eaton + + * liboctave/Makefile.in (all): Also depend on Octave-FAQ.pdf. + Use $(MAKEINFO) instead of makeinfo in rules. + +2005-02-25 Rafael Laboissiere + + * liboctave/Makefile.in (Octave-FAQ.pdf): New target and rule. + (FORMATTED): Add Octave-FAQ.pdf to the list. + +2005-02-21 John W. Eaton + + * liboctave/Makefile.in (liboctave.pdf): New target and rule. + (FORMATTED): Add liboctave.pdf to the list. + (all): Also depend on liboctave.pdf. + Use $(MAKEINFO) instead of makeinfo in rules. + + * interpreter/Makefile.in (octave.pdf): New target and rule. + (FORMATTED): Add octave.pdf to the list. + (all): Also depend on octave.pdf. + Use $(MAKEINFO) instead of makeinfo in rules. + +2005-02-08 Quentin Spencer + + * interpreter/plot.txi: Emphasize compatible plotting functions + over gplot and friends. + +2004-02-13 John W. Eaton + + * liboctave/Makefile.in (FORMATTED): Use liboctave*.html instead + of liboctave_*.html. + + * faq/Makefile.in (FORMATTED): Use Octave-FAQ*.html instead of + Octave-FAQ_*.html. + +2004-01-22 John W. Eaton + + * faq/Makefile.in (maintainer-clean): Remove Octave-FAQ*.html + instead of just Octave-FAQ_*.html. + + * liboctave/Makefile.in (maintainer-clean): Remove liboctave*.html + instead of just liboctave_*.html. + + * refcard/Makefile.in (maintainer-clean): Remove refcard-*.pdf. + +2003-12-09 Eric S. Raymond + + * interpreter/mkoctfile.1: Use .I instead of .f for markup of ".oct". + +2003-11-14 John W. Eaton + + * interpreter/munge-texi.cc (process_texi_input_file): + Avoid -Wshadow warnings. + +2003-08-27 John W. Eaton + + * refcard/Makefile.in (refcard-a4.pdf, refcard-legal.pdf, + refcard-letter.pdf): New targets. + (FORMATTED): Add them to the list. + * refcard/refcard.tex: Optionally set pdf paper size parameters. + +2003-08-07 John W. Eaton + + * interpreter/Makefile.in (octave_toc.html): Add "-I ." to texinfo + command line args. + +2003-07-02 John W. Eaton + + * faq/Makefile.in (FORMATTED): Include all Octave-FAQ_*.html files + here, not just the toc. + +2003-05-14 John W. Eaton + + * interpreter/Makefile.in, liboctave/Makefile.in: Handle DESTDIR. + +2003-02-19 John W. Eaton + + * interpreter/Makefile.in (MAN_BASE): Add octave-config.1 to the list. + +2003-02-19 Dirk Eddelbuettel + + * octave-config.1: New file. + +2003-01-11 Paul Kienzle + + * interpreter/Makefile.in (munge-texi$(BUILD_EXEEXT)): Pass + $(BUILD_CXXFLAGS) and $(BUILD_LDFLAGS) to compiler. + (%.o : %.cc): Delete pattern rule. + +2003-01-03 John W. Eaton + + * interpreter/munge-texi.cc: Define __USE_STD_IOSTREAM if using + Compaq C++. + +2002-12-03 John W. Eaton + + * interpreter/Makefile.in (%.o : %.c): No longer need + -DNO_PRAGMA_INTERFACE_IMPLEMENTATION=1 compiler option. + (munge-texi#(BUILD_EXEEXT)): Likewise. + Don't link to Map-s.o. + + * interpreter/Map-s.cc: Delete. + * interpreter/Makefile.in (DISTFILES): Delete it from the list. + (mostlyclean, clean): Don't delete Map-s.o. + + * interpreter/munge-texi.cc: Require working STL. + +2002-11-24 John W. Eaton + + * interpreter/Makefile.in (maintainer-clean): Depend on + clean-texi, don't remove $(TEXINFO). + +2002-11-12 John W. Eaton + + * interpreter/munge-texi.cc: Use STL map class by default, but + make it easy to revert back to libg++-based Map class if that + fails to work on some systems. + +2002-11-01 Dirk Eddelbuettel + + * interpreter/Makefile.in (MAN_BASE, MAN_SRC): New variables, use + as appropriate. + +2002-11-01 John W. Eaton + + * interpreter/mkoctfile.1: New file. + +2002-10-25 Paul Kienzle + + * interpreter/Makefile.in (octave_toc.html): Use -expandinfo and + -split_chapter instead of -expand info and -split chapter. + * liboctave/Makefile.in (liboctave_toc.html): Likewisel + * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. + +2002-10-25 John W. Eaton + + * interpreter/Makefile.in (munge-texi$(BUILD_EXEEXT)): Always use + -DNO_PRAGMA_INTERFACE_IMPLEMENTATION for compiling and linking. + +2002-10-10 John W. Eaton + + * interpreter/Makefile.in (%.texi : %.txi): + Use $(top_srcdir)/move-if-change. + +2002-10-09 John W. Eaton + + * interpreter/Makefile.in: Use $(BUILD_EXEEXT) as appropriate. + +2002-10-08 John W. Eaton + + * interpreter/Makefile.in (munge-texi, %.o : %.cc): + Use $(BUILD_CXX), not $(CXX). + (src-DOCSTRINGS, scripts-DOCSTRINGS): New targets. + ($(TEXIFNO)): Depend on them. + (DOCSTRINGS): Delete variable. + +2002-10-02 John W. Eaton + + * interpreter/Makefile.in (%.spell): Use $(SED), not sed. + * liboctave/Makefile.in (%.spell): Likewise. + * faq/Makefile.in (%.spell): Likewise. + +2001-11-15 John W. Eaton + + * interpreter/Makefile.in (octave_toc.html): Use -expand info and + -split chapter, to be consistent. + * liboctave/Makefile.in (liboctave_toc.html): Likewise. + * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. + +2001-11-14 Christoph Spiel + + * faq/Makefile.in (Octave-FAQ_toc.html): Use -expandinfo and + -split_chapter, not -expand info and -split chapter. + * liboctave/Makefile.in (liboctave_toc.html): Likewise. + +2001-11-01 John W. Eaton + + * interpreter/Makefile.in (MAIN_TEXINFO): Look in $(srcdir). + (octave_toc.html): Use -expandinfo and -split_chapter, not + -expand info and -split chapter. + +2001-03-27 John W. Eaton + + * liboctave/Makefile.in (liboctave_toc.html): Use -expand info and + -split chapter instead of -expandinfo and -split_chapter options + for texi2html. + * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. + * interpreter/Makefile.in (octave_toc.html): Likewise. + +2000-10-10 John W. Eaton + + * liboctave/Makefile.in (liboctave_toc.html): Add space after -I + in texi2html command. + * interpreter/Makefile.in (octave_toc.html): Ditto. + +2000-03-06 John W. Eaton + + * interpreter/octave-bug.1: New file. + * interpreter/Makefile.in (install install-strip): Install it. + (DISTFILES, BINDISTFILES): Add it to the + +2000-02-23 John W. Eaton + + * interpreter/Makefile.in (clean): Also delete munge-texi, + munge-texi.o, and Map-s.o. + +2000-02-04 John W. Eaton + + * interpreter/munge-texi.cc: Sprinkle with std:: qualifier. + +2000-01-28 John W. Eaton + + * interpreter/Makefile.in (clean-texi): Avoid removing octave.texi. + +2000-01-05 John W. Eaton + + * interpreter/Makefile.in: Don't generate octave.texi from octave.txi. + * interpreter/octave.texi: Rename from octave.txi. + + * interpreter/munge-texi.cc (process_texi_input_file): Undo + previous change, since % doesn't work as a comment character after + texinfo.tex is included. + +2000-01-04 John W. Eaton + + * texinfo.tex: Update to version from texinfo-4.0. + + * interpreter/munge-texi.cc (process_texi_input_file): For Texinfo + doc strings, automatically insert an @anchor{doc-SYMBOL} command + just before the docstring for SYMBOL. + +1999-12-09 John W. Eaton + + * interpreter/munge-texi.cc (process_texi_input_file): Begin + transformed files with `% DO NOT EDIT' instead of `@c DO NOT EDIT' + to prevent problems with TeX not knowing the definition of @c + before it is used. + +1999-11-19 John W. Eaton + + * interpreter/Makefile.in (%.texi : %.txi): Suppress command echo. + +1999-10-21 John W. Eaton + + * interpreter/Makefile.in (dist): Remove .texi files first, so + they will have timestamps newer than the $(DOCSTRINGS) files. + (%.texi : %.txi): Use mv instead of move-if-change. + + * interpreter/Map-s.cc: New file. + * interpreter/munge-texi.cc: Use old libg++ Map class instead of + STL map, for the benefit of systems that have assemblers that + can't handle the long symbol names generated by g++ for + map. + +1999-10-19 John W. Eaton + + * interpreter/munge-texi.cc: Strip the "-*- texinfo -*-" marker + when including help text. + + * interpreter/Makefile.in ($(TEXINFO)): Depend on $(DOCSTRINGS). + ($(DOCSTRINGS)): New rule. + + * Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of + `cd dir; $(MAKE); cd ..'. + (../BUGS, ../INSTALL.OCTAVE, $(SUBDIRS)) Likewise. + + * interpreter/*.txi: Rename from *.txi. + * interpreter/munge-texi.cc: New file. + * interpreter/Makefile.in: Use it to create .texi files from .txi + files and DOCSTRING files. + +Fri Jun 18 23:17:02 1999 John W. Eaton + + * interpreter/Makefile.in (octave_toc.html): Add -expandinfo to + tex12html options. + * liboctave/Makefile.in (liboctave_toc.html): Likewise. + * faq/Makefile.in (Octave-FAQ_toc.html): Likewise. + +Fri Oct 9 00:27:33 1998 John W. Eaton + + * faq/Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in: + New rules for generating HTML files from Texinfo sources. + +Thu May 14 21:04:40 1998 John W. Eaton + + * interpreter/Makefile.in (../../BUGS, ../../INSTALL): Add + --no-validate to makeinfo args. + +Wed Jul 2 16:41:04 1997 John W. Eaton + + * refcard/Makefile.in: Remove .tex files from binary distributions. + + * interpreter/Makefile.in: Add DVI and Postscript files to binary + distributions. + +Fri Apr 18 02:51:00 1997 John W. Eaton + + * faq/Octave-FAQ.texi: Rename from faq/FAQ.texi. + * faq/Makefile.in: Fix names to match. + +Wed Mar 12 17:01:02 1997 John W. Eaton + + * Makefile.in (install-strip): New target. + * faq/Makefile.in: Ditto. + * interpreter/Makefile.in: Ditto. + * liboctave/Makefile.in: Ditto. + * refcard/Makefile.in: Ditto. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Fri Feb 28 20:53:40 1997 John W. Eaton + + * texinfo.tex: Update to latest version from Karl Berry, and apply + previous patch too. + +Thu Feb 27 03:34:48 1997 John W. Eaton + + * texinfo.tex (\codeunder): Maybe make it work for @var{} inside + @code{}. + +Wed Feb 26 12:03:48 1997 John W. Eaton + + * refcard/Makefile.in (mostlyclean clean): Delete log files. + + * liboctave/Makefile.in (mostlyclean clean): Delete more stuff. + + * faq/Makefile.in (mostlyclean clean): Delete some stuff. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Wed Feb 19 10:30:14 1997 John W. Eaton + + * Makefile.in (DISTFILES): Distribute conf.texi, not conf.texi.in. + + * liboctave/Makefile.in: Don't make or distribute conf.texi. + (liboctave.info, liboctave.dvi): Depend on ../conf.texi, not conf.texi. + + * interpreter/Makefile.in: Don't create or distribute conf.texi. + (octave.info, octave.dvi): Depend on ../conf.texi, not conf.texi. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Version 2.0.3 released. + +Wed Jan 29 11:49:25 1997 John W. Eaton + + * Makefile.in (../INSTALL.OCTAVE, ../BUGS): Declare these to be + .PHONY so that we will always check the interpreter makefile to + get the proper dependencies. + +Mon Jan 27 15:52:33 1997 John W. Eaton + + * Version 2.0.2 released. + +Sun Jan 26 22:07:45 1997 John W. Eaton + + * interpreter/Makefile.in: Make BUGS file directly from bugs.texi. + * interpreter/bugs.texi: Incorporate bugs1.texi directly. + * interpreter/bugs1.texi: Delete. + + * interpreter/Makefile.in: Make INSTALL file directly from + install.texi. + * interpreter/install.texi: Incorporate install1.texi directly. + * interpreter/install1.texi: Delete. + +Sat Jan 25 22:32:33 1997 John W. Eaton + + * Makefile.in, interpreter/Makefile.in, liboctave/Makefile.in, + faq/Makefile.in, refcard/Makefile.in (bin-dist): New target. + +Tue Jan 7 00:17:24 1997 John W. Eaton + + * Version 2.0.1 released. + +Tue Dec 10 01:43:13 1996 John W. Eaton + + * Version 2.0 released. + +Fri Dec 6 15:23:52 1996 John W. Eaton + + * Version 1.94. + +Wed Nov 20 01:00:50 1996 John W. Eaton + + * Version 1.93. + +Thu Nov 14 00:07:25 1996 John W. Eaton + + * faq/Makefile.in (FAQ.dvi): Use $(TEXI2DVI), not just texi2dvi. + * interpreter/Makefile.in (octave.dvi): Likewise. + * liboctave/Makefile.in (liboctave.dvi): Likewise. + + * Version 1.92. + +Thu Nov 7 12:43:19 1996 John W. Eaton + + * Version 1.91. + + * texinfo.tex: Update to version from texinfo-3.9 distribution. + +Wed Oct 30 17:20:28 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + +Sat Oct 12 13:38:49 1996 John W. Eaton + + * Makefile.in (maintainer-clean): Don't depend on distclean. + +Sat Jun 15 23:01:33 1996 John W. Eaton + + * interpreter/Makefile.in (TEXINFO): Add audio.texi and emacs.texi. + +Fri May 17 03:02:37 1996 John W. Eaton + + * interpreter/Makefile.in: Use man1dir instead of mandir, and + man1ext instead of manext. + +Sat Mar 23 05:01:17 1996 John W. Eaton + + * liboctave/Makefile.in (TEXINFO): Don't list conf.texi and + gpl.texi here. + + * liboctave/Makefile.in (dist targets): Fix ln command. + * refcard/Makefile.in (dist targets): Likewise. + * interpreter/Makefile.in (dist targets): Likewise. + * faq/Makefile.in (dist targets): Likewise. + +Fri Mar 22 23:57:26 1996 John W. Eaton + + * liboctave/Makefile.in (DISTFILES): Add gpl.texi. + * interpreter/Makefile.in (DISTFILES): Add gpl.texi. + * Makefile.in (DISTFILES): Delete gpl.texi. + +Sun Mar 3 11:33:30 1996 John W. Eaton + + * Split docs into faq, interpreter, liboctave, and refcard + subdirectories. + +Wed Sep 20 00:47:45 1995 John Eaton + + * mkinstalldirs: New file. + * Makefile.in (DISTFILES): Add it to the list. + + * Makefile.in (maintainer-clean): Delete .dvi, .ps, and .info + files here. + (clean): Not here. + (mostlyclean): Make this the same as clean. + +Tue Sep 19 03:18:35 1995 John Eaton + + * Makefile.in (../BUGS, ../INSTALL.OCTAVE): Specify output file to + makeinfo with --output option. + +Thu Sep 14 20:31:47 1995 John Eaton + + * Makefile.in: Don't fail if makeinfo, tex, or dvips fail. + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/libcruft-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/libcruft-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,1908 @@ +2011-03-24 Jarno Rajahalme + + * misc/blaswrap.c: New file. + * misc/module.mk (EXTRA_DIST): Add it to the list. + +2011-01-31 Rik + + * arpack/src/dseupd.f, arpack/src/sseupd.f: Change GOTO target + to eliminate warning about landing on end if. + +2011-01-31 John W. Eaton + + * arpack/module.mk (EXTRA_DIST): Include arpack/module.mk in the + list. Remove arpack/src/module.mk and arpacck/util/module.mk + from the list. + +2011-01-31 John W. Eaton + + * arpack/LICENSE: Update to current version from + http://www.caam.rice.edu/software/ARPACK. + * arpack/ARPACK-license-question.email: Delete as it no longer + applies to the current license terms. + * arpack/RiceBSD.txt: Delete. + * arpack/module.mk: Update for license changes. + Add arpack/ prefix to doc files in list. + +2011-01-28 David Bateman + + * arpack/src/cneupd.f (cneupd): Restore value of nconv if ctrsen + returns a smaller value. + * arpack/src/dneupd.f (dneupd): Likewise, for dtrsen. + * arpack/src/sneupd.f (sneupd): Likewise, for strsen. + * arpack/src/zneupd.f (zneupd): Likewise, for ztrsen. + +2011-01-28 John W. Eaton + + * arpack/util/second.f (ARSCND): Declare ETIME INTRINSIC, not EXTERNAL. + +2011-01-28 John W. Eaton + + * arpack: New directory. + * Makefile.am: Include arpack/module.mk. + +2011-01-26 John W. Eaton + + * mkf77def.in: Strip trailing whitespace. + +2011-01-20 John W. Eaton + + * misc/cquit.c, misc/f77-fcn.h, misc/quit.cc: Strip trailing + whitespace. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2010-09-07 Jaroslav Hajek + + * blas-xtra/cconv2.f, blas-xtra/csconv2.f, blas-xtra/dconv2.f, + blas-xtra/sconv2.f, blas-xtra/zconv2.f, blas-xtra/zdconv2.f: + Fix inner convolution formula. + +2010-07-27 Jaroslav Hajek + + * lapack-xtra/zrsf2csf.f, lapack-xtra/crsf2csf.f: New sources. + * lapack-xtra/module.mk: Add them. + +2010-05-04 John W. Eaton + + * villad/dfopr.f, villad/dif.f, villad/intrp.f, villad/jcobi.f, + villad/radau.f, villad/vilerr.f, villad/module.mk: Delete. + * Makefile.am: Don't include villad/module.mk. + +2010-04-11 Jaroslav Hajek + + * blas-xtra/cmatm3.f, blas-xtra/zmatm3.f, + blas-xtra/dmatm3.f, blas-xtra/xsdot.f: Fix typos. Add missing + decls. + +2010-03-21 John W. Eaton + + * Makefile.am (libcruft_la_LIBADD): Include ../libgnu/libgnu.la + in the list. From Marco Atzeri . + +2010-03-15 John W. Eaton + + * Makefile.am (libcruft_la_CPPFLAGS): Append $(AM_CPPFLAGS). + +2010-03-03 Jaroslav Hajek + + * blas-xtra/cconv2.f, blas-xtra/csconv2.f, blas-xtra/dconv2.f, + blas-xtra/sconv2.f, blas-xtra/zconv2.f, blas-xtra/zdconv2.f: + New sources. + * blas-xtra/module.mk: Add them here. + +2010-03-02 John W. Eaton + + * misc/cquit.c (octave_restore_signal_mask): Assume we have + POSIX signal handling. + +2010-02-28 Jaroslav Hajek + + * misc/lo-error.c (liboctave_fatal_with_id, + set_liboctave_error_with_id_handler): New functions. + (current_liboctave_error_with_id_handler): New variable. + * misc/lo-error.h: Declare them. + (liboctave_error_with_id_handler): New typedef. + +2010-02-21 Michael Goffioul + + * misc/quit.h: Define WIN32_LEAN_AND_MEAN and don't #undef min/max. + + * Makefile.am: Add -bindir option to libcruft_la_LDFLAGS. + +2010-02-17 John W. Eaton + + * Makefile.am (libcruft_la_LIBADD): Include libranlib.la in the list. + (noinst_LTLIBRARIES, libranlib_la_SOURCES, libranlib_la_DEPENDENCIES, + libcruft_la_FFLAGS): New variables. + (ranlib.def): New target. + (DISTCLEANFILES): Also remove ranlib.def. + * ranlib/module.mk (libranlib_la_SOURCES): Rename from + libcruft_la_SOURCES. + +2010-01-20 John W. Eaton + + * misc/quit.cc: Untabify. + +2010-01-20 John W. Eaton + + * Makefile.am (EXTRA_DIST): Remove STOP.patch from the list. + +2010-01-20 Jaroslav Hajek + + * misc/quit.h: Define inline-function variant of OCTAVE_QUIT in C++ + mode. + +2009-01-13 Rik + + * STOP.patch: Remove unmaintained patch for Fortran code + +2009-01-13 Rik + + * ranlib/advnst.f ranlib/genbet.f ranlib/genchi.f ranlib/genexp.f + ranlib/genf.f ranlib/gengam.f ranlib/genmul.f ranlib/gennch.f + ranlib/gennf.f ranlib/gennor.f ranlib/genunf.f ranlib/getcgn.f + ranlib/getsd.f ranlib/ignbin.f ranlib/ignnbn.f ranlib/ignpoi.f + ranlib/ignuin.f ranlib/initgn.f ranlib/mltmod.f ranlib/setant.f + ranlib/setgmn.f ranlib/setsd.f: call XSTOPX instead of STOP so Octave's + error handler can intercept errors in Fortran code + +2010-01-07 Jaroslav Hajek + + * misc/quit.cc (octave_rethrow_exception): Set octave_interrupt_state + to -1 when throwing octave_interrupt_exception. + +2010-01-05 John W. Eaton + + * Makefile.am (AM_CPPFLAGS): New variable. + +2009-12-31 Rik + + * Makefile.am: Reverse using simple_move_if_change_rule for cruft.def + which interferes with make timestamp algorithm. + +2009-12-19 Rik + + * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake + variables of top_builddir and top_srcdir. + +2009-12-13 Rik + + * Makefile.am: Use simple_move_if_change_rule for cruft.def to eliminate + unnecessary compilations. + +2009-12-07 John W. Eaton + + * misc/f77-fcn.h, misc/lo-error.h, misc/quit.h, + misc/f77-extern.cc, misc/quit.cc, misc/cquit.c, misc/f77-fcn.c, + misc/lo-error.c: Remove Emacs local variable list. + +2009-12-07 John W. Eaton + + * misc/cquit.c, misc/f77-fcn.h, misc/quit.h: Untabify. + +2009-12-03 John W. Eaton + + * Makefile.am (DISTCLEANFILES): New variable. + +2009-11-26 Jaroslav Hajek + + * blas-xtra/sdot3.f: Use nested cache-aligned loop for general case. + * blas-xtra/ddot3.f: Ditto. + * blas-xtra/cdotc3.f: Ditto. + * blas-xtra/zdotc3.f: Ditto. + +2009-11-26 Jaroslav Hajek + + * blas-xtra/sdot3.f: New source. + * blas-xtra/ddot3.f: New source. + * blas-xtra/cdotc3.f: New source. + * blas-xtra/zdotc3.f: New source. + * blas-xtra/smatm3.f: New source. + * blas-xtra/dmatm3.f: New source. + * blas-xtra/cmatm3.f: New source. + * blas-xtra/zmatm3.f: New source. + * blas-xtra/module.mk: Include them. + +2009-11-17 John W. Eaton + + * mkf77def.in: Only process files with names that match *.f. + +2009-11-13 John W. Eaton + + * Makefile.am: Restore rules for building cruft.def. + (libcruft_la_LDFLAGS): Also append @XTRA_CRUFT_SH_LDFLAGS@. + (libcruft_la_DEPENDENCIES): New variable. + * mkf77def.in: Use @VAR@ instead of %VAR% substitutions. + Process srcdir plus list of files instead of working as a filter. + +2009-11-13 John W. Eaton + + * Makefile.am (libcruft_la_CPPFLAGS): Define. + +2009-11-10 John W. Eaton + + * blas, lapack: Remove directories and all files. + * Makefile.am: Don't include blas/module.mk or lapack/module.mk. + +2009-11-10 John W. Eaton + + * Makefile.am, amos/module.mk, blas-xtra/module.mk, + blas/module.mk, daspk/module.mk, dasrt/module.mk, dassl/module.mk, + fftpack/module.mk, lapack-xtra/module.mk, lapack/module.mk, + misc/module.mk, odepack/module.mk, ordered-qz/module.mk, + quadpack/module.mk, ranlib/module.mk, slatec-err/module.mk, + slatec-fn/module.mk, villad/module.mk: New files. + + * Makefile.in, Makerules.in, amos/Makefile.in, + blas-xtra/Makefile.in, blas/Makefile.in, daspk/Makefile.in, + dasrt/Makefile.in, dassl/Makefile.in, fftpack/Makefile.in, + lapack-xtra/Makefile.in, lapack/Makefile.in, misc/Makefile.in, + odepack/Makefile.in, ordered-qz/Makefile.in, quadpack/Makefile.in, + ranlib/Makefile.in, slatec-err/Makefile.in, slatec-fn/Makefile.in, + villad/Makefile.in: Delete. + +2009-09-17 John W. Eaton + + * misc/oct-dlldefs.h: Delete. + * misc/Makefile.in (INCLUDES): Remove oct-dlldefs.h from the list. + +2009-08-05 John W. Eaton + + * Makefile.in (LINK_DEPS): Omit $(FFTW_LIBS) from the list. + +2009-06-22 John W. Eaton + + * Makefile.in (MISC_OBJ): Remove misc/machar.o and misc/smachar.o + from the list. + + * misc/i1mach.f, misc/r1mach.f, misc/d1mach.f: Rewite in terms of + LAPACK functions slamch and dlamch. + * misc/machar.c: Delete. + * misc/Makefile.in (CSRC): Remove machar.c from the list. + (CEXTRA, XCC, XALL_CFLAGS): Delete variables. + (machar.o, smachar.o, pic/machar.o, pic/smachar.o): Delete rules. + +2009-05-07 Marco Atzeri + + * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. + +2009-03-07 John W. Eaton + + * misc/quit.h (octave_rethrow_exception): + Don't tag with GCC_ATTR_NORETURN. + +2009-02-25 John W. Eaton + + * Makefile.in (maintainer-clean): Also remove libraries. + + * Makerules.in: Make maintainer-clean and distclean the same. + +2009-02-23 Jaroslav Hajek + + * misc/quit.h (octave_signal_caught): Declare as volatile. + * misc/cquit.cc (octave_signal_caught): Likewise. + +2009-02-06 Jaroslav Hajek + + * blas/ssymm.f, blas/dsymm.f, blas/chemm.f, blas/zhemm.f: New sources. + * blas/Makefile.in: Include them. + +2009-01-28 John W. Eaton + + * Makefile.in (LIBRARIES, install, uninstall): use SHLLIBPRE and + SHLBINPRE library prefixes. + From Marco Atzeri . + +2008-12-21 Jaroslav Hajek + + * lapack/chegs2.f lapack/chegst.f lapack/chegv.f lapack/dsygs2.f + lapack/dsygst.f lapack/dsygv.f lapack/ssygs2.f lapack/ssygst.f + lapack/ssygv.f lapack/zhegs2.f lapack/zhegst.f lapack/zhegv.f: + New sources. + * lapack/Makefile.in: Include them. + +2008-12-15 Jaroslav Hajek + + * blas/zsyrk.f: New source. + * lapack/cggbak.f, lapack/cggev.f, lapack/cgghrd.f, lapack/chgeqz.f, + lapack/ctgevc.f, lapack/dggev.f, lapack/sggev.f, lapack/zggbak.f, + lapack/zggev.f, lapack/zgghrd.f, lapack/zhgeqz.f, lapack/ztgevc.f: + New sources. + * lapack/Makefile.in: Include them. + +2008-08-12 Thomas Treichl + + * blas/icamax.f, blas/isamax.f: New files. + * blas/Makefile.in (FSRC): Add them to the list. + + * lapack/icmax1.f: New file. + * lapack/Makefile.in (FSRC): Add it to the list. + +2008-06-16 David Bateman + + * slatec-fn/xacosh.f, slatec-fn/xasinh.f: Replace xsacosh with + xacosh, xdacosh with xacosh and xdasinh with xasinh. + +2008-06-12 Jaroslav Hajek + + * misc/Makefile.in (MAKEDEPS): Remove CEXTRA. + +2008-06-04 Michael Goffioul + + * misc/oct-dlldefs.h (OCTGRAPHICS_API): New macro for import/export + in graphics related libraries. + +2008-06-02 David Bateman + + * slatec/xsgmainc.f: Replace DLGAMS with ALGAMS. + +2008-05-30 Thomas Treichl + + * quadpack/qk15i.f: Delete extraneous semicolons. + +2008-05-21 David Bateman + + * odepack/slsode.f, odepack/sintdy.f: Replace the use of xerrwv + with xerrwd and rumach with d1mach(4). + + * odepack/scfode.f, odepack/sewset.f, odepack/sintdy.f, + odepack/slsode.f, odepack/sprepj.f, odepack/ssolsy.f, + odepack/sstode.f, odepack/svnorm.f: New files. + * odepack/Makefile.in (FSRC): Add them. + + * ordered-qz/sexchqz.f, ordered-qz/ssubsp.f: New files. + * ordered-qz/Makefile.in (FSRC): Add them. + * quadpack/qagi.f, quadpack/qagie.f, quadpack/qagp.f, + quadpack/qagpe.f, quadpack/qelg.f, quadpack/qk15i.f, + quadpack/qk21.f, quadpack/qpsrt.f: New files. + * quadpack/Makefile.in (FSRC): Add them. + +2008-05-20 Jaroslav Hajek + + * qrupdate/cch1dn.f, qrupdate/cchinx.f, qrupdate/cqhqr.f, + qrupdate/cqrinc.f, qrupdate/cqrinr.f, qrupdate/cqrqhu.f, + qrupdate/cqrqhv.f, qrupdate/sch1dn.f, qrupdate/schinx.f, + qrupdate/sqhqr.f, qrupdate/sqrinc.f, qrupdate/sqrinr.f, + qrupdate/sqrqhu.f: Convert DOUBLE PRECISION constants to REAL. + * qrupdate/cqrinr.f, qrupdate/sqrinr.f: Correct EXTERNAL + declarations. + * qrupdate/sqrinr.f: Convert DOUBLE PRECISION calls to + REAL counterparts. + +2008-05-20 David Bateman + + * Makefile.in (MISC_OBJ): Add misc/smachar.o + * Makerules.in (CRUFT_CSRC, CRUFT_CPICOBJ): Add CEXTRA, allowing + objects files with no corresponding source file in the + distribution. + + * amos/cacai.f, amos/cacon.f, amos/cbesh.f, amos/cbesi.f, + amos/cbesj.f, amos/cbesk.f, amos/cbesy.f, amos/cbinu.f, + amos/cbuni.f, amos/cbunk.f, amos/cunk1.f amos/cunk2.f, + amos/crati.f, amos/cshch.f, amos/cuni1.f, amos/cuoik.f, + amos/cairy.f, amos/cbiry.f, amos/ckscl.f, amos/cs1s2.f, + amos/cuchk.f, amos/cuni2.f, amos/cwrsk.f, amos/casyi.f, + amos/cbknu.f, amos/cmlri.f, amos/cseri.f, amos/cunhj.f, + amos/cunik.f: New files. + * amos/Makefile.in (FSRC): Add them. + + * blas-xtra/xsdot.f, blas-xtra/xsnrm2.f, blas-xtra/xscnrm2.f, + blas-xtra/xcdotc.f, blas-xtra/xcdotu.f: New files + * blas-xtra/Makefile.in (FSRC): Add them. + + * blas/sasum.f, blas/saxpy.f, blas/scabs1.f, blas/scopy.f, + blas/sger.f, blas/smach.f, blas/snrm2.f, blas/srot.f, + blas/sswap.f, blas/ssymv.f, blas/ssyr.f, blas/ssyr2.f, + blas/ssyr2k.f, blas/stbsv.f, blas/strmm.f, blas/strmv.f, + blas/strsv.f, blas/scasum.f, blas/scnrm2.f, blas/caxpy.f, + blas/ccopy.f, blas/cdotc.f, blas/cdotu.f, blas/, blas/csrot.f, + blas/csscal.f, blas/cgemm.f, blas/cgemv.f, blas/cgerc.f, + blas/cgeru.f, blas/chemv.f, blas/cher.f, blas/cher2.f, + blas/cher2k.f, blas/cherk.f, blas/cscal.f, blas/cswap.f, + blas/ctbsv.f, blas/ctrmm.f, blas/ctrmv.f, blas/, blas/ctrsm.f, + blas/ctrsv.f: New files + * blas/Makefile.in (FSRC): Add them. + + * fftpack/zfftb.f, zfftb1.f, fftpack/zfftf.f, fftpack/zfftf1.f, + fftpack/zffti.f, fftpack/zffti1.f, fftpack/zpassb.f, + fftpack/zpassb2.f, fftpack/zpassb3.f, fftpack/zpassb4.f, + fftpack/zpassb5.f, fftpack/zpassf.f, fftpack/zpassf2.f, + fftpack/zpassf3.f, fftpack/zpassf4.f, fftpack/zpassf5.f: Rename + function (c -> z | add z). + * fftpack/cfftb.f, cfftb1.f, fftpack/cfftf.f, fftpack/cfftf1.f, + fftpack/cffti.f, fftpack/cffti1.f, fftpack/passb.f, + fftpack/passb2.f, fftpack/passb3.f, fftpack/passb4.f, + fftpack/passb5.f, fftpack/passf.f, fftpack/passf2.f, + fftpack/passf3.f, fftpack/passf4.f, fftpack/passf5.f: New files + for single precision. + * fftpack/Makefile.in (FSRC): Add new files. + + * lapack-xtra/xclange.f, lapack-xtra/xslamch.f, + lapack-xtra/xslange.f: New files. + * lapack-xtra/Makefile.in (FSRC): Add them. + + * lapack/cbdsqr.f, lapack/csrscl.f, lapack/cgbcon.f, + lapack/cgbtf2.f, lapack/cgbtrf.f, lapack/cgbtrs.f, + lapack/cgebak.f, lapack/cgebal.f, lapack/cgebd2.f, + lapack/cgebrd.f, lapack/cgecon.f, lapack/cgeesx.f, lapack/cgeev.f, + lapack/cgehd2.f, lapack/cgehrd.f, lapack/cgelq2.f, + lapack/cgelqf.f, lapack/cgelsd.f, lapack/cgelss.f, + lapack/cgelsy.f, lapack/cgeqp3.f, lapack/cgeqpf.f, + lapack/cgeqr2.f, lapack/cgeqrf.f, lapack/cgesv.f, lapack/cgesvd.f, + lapack/cgetf2.f, lapack/cgetrf.f, lapack/cgetri.f, + lapack/cgetrs.f, lapack/cggbal.f, lapack/cgtsv.f, lapack/cgttrf.f, + lapack/cgttrs.f, lapack/cgtts2.f, lapack/cheev.f, lapack/chetd2.f, + lapack/chetrd.f, lapack/chseqr.f, lapack/clabrd.f, + lapack/clacgv.f, lapack/clacn2.f, lapack/clacon.f, + lapack/clacpy.f, lapack/cladiv.f, lapack/clahqr.f, + lapack/clahr2.f, lapack/clahrd.f, lapack/claic1.f, + lapack/clals0.f, lapack/clalsa.f, lapack/clalsd.f, + lapack/clange.f, lapack/clanhe.f, lapack/clanhs.f, + lapack/clantr.f, lapack/claqp2.f, lapack/claqps.f, + lapack/claqr0.f, lapack/claqr1.f, lapack/claqr2.f, + lapack/claqr3.f, lapack/claqr4.f, lapack/claqr5.f, lapack/clarf.f, + lapack/clarfb.f, lapack/clarfg.f, lapack/clarft.f, + lapack/clarfx.f, lapack/clartg.f, lapack/clarz.f, lapack/clarzb.f, + lapack/clarzt.f, lapack/clascl.f, lapack/claset.f, lapack/clasr.f, + lapack/classq.f, lapack/claswp.f, lapack/clatbs.f, + lapack/clatrd.f, lapack/clatrs.f, lapack/clatrz.f, + lapack/clauu2.f, lapack/clauum.f, lapack/cpbcon.f, + lapack/cpbtf2.f, lapack/cpbtrf.f, lapack/cpbtrs.f, + lapack/cpocon.f, lapack/cpotf2.f, lapack/cpotrf.f, + lapack/cpotri.f, lapack/cpotrs.f, lapack/cptsv.f, lapack/cpttrf.f, + lapack/cpttrs.f, lapack/cptts2.f, lapack/crot.f, lapack/csteqr.f, + lapack/ctrcon.f, lapack/ctrevc.f, lapack/ctrexc.f, + lapack/ctrsen.f, lapack/ctrsyl.f, lapack/ctrti2.f, + lapack/ctrtri.f, lapack/ctrtrs.f, lapack/ctzrzf.f, + lapack/cung2l.f, lapack/cung2r.f, lapack/cungbr.f, + lapack/cunghr.f, lapack/cungl2.f, lapack/cunglq.f, + lapack/cungql.f, lapack/cungqr.f, lapack/cungtr.f, + lapack/cunm2r.f, lapack/cunmbr.f, lapack/cunml2.f, + lapack/cunmlq.f, lapack/cunmqr.f, lapack/cunmr3.f, + lapack/cunmrz.f, lapack/sbdsqr.f, lapack/sgbcon.f, + lapack/sgbtf2.f, lapack/sgbtrf.f, lapack/sgbtrs.f, + lapack/sgebak.f, lapack/sgebal.f, lapack/sgebd2.f, + lapack/sgebrd.f, lapack/sgecon.f, lapack/sgeesx.f, lapack/sgeev.f, + lapack/sgehd2.f, lapack/sgehrd.f, lapack/sgelq2.f, + lapack/sgelqf.f, lapack/sgelsd.f, lapack/sgelss.f, + lapack/sgelsy.f, lapack/sgeqp3.f, lapack/sgeqpf.f, + lapack/sgeqr2.f, lapack/sgeqrf.f, lapack/sgesv.f, lapack/sgesvd.f, + lapack/sgetf2.f, lapack/sgetrf.f, lapack/sgetri.f, + lapack/sgetrs.f, lapack/sggbak.f, lapack/sggbal.f, + lapack/sgghrd.f, lapack/sgtsv.f, lapack/sgttrf.f, lapack/sgttrs.f, + lapack/sgtts2.f, lapack/shgeqz.f, lapack/shseqr.f, + lapack/slabad.f, lapack/slabrd.f, lapack/slacn2.f, + lapack/slacon.f, lapack/slacpy.f, lapack/sladiv.f, lapack/slae2.f, + lapack/slaed6.f, lapack/slaev2.f, lapack/slaexc.f, lapack/slag2.f, + lapack/slahqr.f, lapack/slahr2.f, lapack/slahrd.f, + lapack/slaic1.f, lapack/slaln2.f, lapack/slals0.f, + lapack/slalsa.f, lapack/slalsd.f, lapack/slamc1.f, + lapack/slamc2.f, lapack/slamc3.f, lapack/slamc4.f, + lapack/slamc5.f, lapack/slamch.f, lapack/slamrg.f, + lapack/slange.f, lapack/slanhs.f, lapack/slanst.f, + lapack/slansy.f, lapack/slantr.f, lapack/slanv2.f, + lapack/slapy2.f, lapack/slapy3.f, lapack/slaqp2.f, + lapack/slaqps.f, lapack/slaqr0.f, lapack/slaqr1.f, + lapack/slaqr2.f, lapack/slaqr3.f, lapack/slaqr4.f, + lapack/slaqr5.f, lapack/slarf.f, lapack/slarfb.f, lapack/slarfg.f, + lapack/slarft.f, lapack/slarfx.f, lapack/slartg.f, lapack/slarz.f, + lapack/slarzb.f, lapack/slarzt.f, lapack/slas2.f, lapack/slascl.f, + lapack/slasd0.f, lapack/slasd1.f, lapack/slasd2.f, + lapack/slasd3.f, lapack/slasd4.f, lapack/slasd5.f, + lapack/slasd6.f, lapack/slasd7.f, lapack/slasd8.f, + lapack/slasda.f, lapack/slasdq.f, lapack/slasdt.f, + lapack/slaset.f, lapack/slasq1.f, lapack/slasq2.f, + lapack/slasq3.f, lapack/slasq4.f, lapack/slasq5.f, + lapack/slasq6.f, lapack/slasr.f, lapack/slasrt.f, lapack/slassq.f, + lapack/slasv2.f, lapack/slaswp.f, lapack/slasy2.f, + lapack/slatbs.f, lapack/slatrd.f, lapack/slatrs.f, + lapack/slatrz.f, lapack/slauu2.f, lapack/slauum.f, + lapack/slazq3.f, lapack/slazq4.f, lapack/sorg2l.f, + lapack/sorg2r.f, lapack/sorgbr.f, lapack/sorghr.f, + lapack/sorgl2.f, lapack/sorglq.f, lapack/sorgql.f, + lapack/sorgqr.f, lapack/sorgtr.f, lapack/sorm2r.f, + lapack/sormbr.f, lapack/sorml2.f, lapack/sormlq.f, + lapack/sormqr.f, lapack/sormr3.f, lapack/sormrz.f, + lapack/spbcon.f, lapack/spbtf2.f, lapack/spbtrf.f, + lapack/spbtrs.f, lapack/spocon.f, lapack/spotri.f, + lapack/spotrs.f, lapack/sptsv.f, lapack/spttrf.f, lapack/spttrs.f, + lapack/sptts2.f, lapack/srscl.f, lapack/ssteqr.f, lapack/ssterf.f, + lapack/ssyev.f, lapack/ssytd2.f, lapack/ssytrd.f, lapack/stgevc.f, + lapack/strcon.f, lapack/strevc.f, lapack/strexc.f, + lapack/strsen.f, lapack/strsyl.f, lapack/strti2.f, + lapack/strtri.f, lapack/strtrs.f, lapack/stzrzf.f, + lapack/scsum1.f: New files + * lapack/Makefile.in (FSRC): Add them. + + * misc/r1mach.f: New file + * misc/machar.cc: Modify to allow to be build twice, once for + double precision and once for single precision. + * misc/Makefile.in (FSRC): Add it. + (CEXTRA): Add smachar.c, and target for smachar.o + (MAKEDEPS): Include CEXTRA. + + * qrupdate/sch1up.f, qrupdate/cch1up.f, qrupdate/sqrinc.f, + qrupdate/cqrinc.f, qrupdate/sqrdec.f, qrupdate/cqrdec.f, + qrupdate/sqrinr.f, qrupdate/cqrinr.f, qrupdate/sqrder.f, + qrupdate/cqrder.f, qrupdate/sqrshc.f, qrupdate/cqrshc.f, + qrupdate/sqr1up.f, qrupdate/cqr1up.f, qrupdate/sch1dn.f, + qrupdate/cch1dn.f, qrupdate/schinx.f, qrupdate/cchinx.f, + qrupdate/schdex.f, qrupdate/cchdex.f, qrupdate/sqrqhu.f, + qrupdate/cqrqhu.f, qrupdate/sqrqhv.f, qrupdate/cqrqhv.f, + qrupdate/sqhqr.f, qrupdate/cqhqr.f: New files. + * qrupdate/Makefile.in (FSRC): Add them. + + * slatec-fn/acosh.f, slatec-fn/albeta.f, slatec-fn/algams.f, + slatec-fn/alngam.f, slatec-fn/alnrel.f, slatec-fn/asinh.f, + slatec-fn/atanh.f, slatec-fn/betai.f, slatec-fn/csevl.f, + slatec-fn/erf.f, slatec-fn/erfc.f, slatec-fn/gami.f, + slatec-fn/gamit.f, slatec-fn/gamlim.f, slatec-fn/gamma.f, + slatec-fn/gamr.f, slatec-fn/inits.f, slatec-fn/pchim.f, + slatec-fn/pchst.f, slatec-fn/r9gmit.f, slatec-fn/r9lgic.f, + slatec-fn/r9lgit.f, slatec-fn/r9lgmc.f, slatec-fn/xacosh.f, + slatec-fn/xasinh.f, slatec-fn/xatanh.f, slatec-fn/xbetai.f, + slatec-fn/xerf.f, slatec-fn/xerfc.f, slatec-fn/xgamma.f, + slatec-fn/xsgmainc.f: New files. + * slatec-fn/Makefile.in (FSRC): Add them. + +2008-04-20 Jaroslav Hajek + + * qrupdate/dch1dn.f, qrupdate/dchdex.f, qrupdate/dchinx.f, + qrupdate/dqhqr.f, qrupdate/dqrdec.f, qrupdate/dqrinc.f, + qrupdate/dqrqhu.f, qrupdate/dqrqhv.f, qrupdate/dqrshc.f, + qrupdate/zch1dn.f, qrupdate/zchdex.f, qrupdate/zchinx.f, + qrupdate/zqhqr.f, qrupdate/zqrdec.f, qrupdate/zqrder.f, + qrupdate/zqrinc.f, qrupdate/zqrinr.f, qrupdate/zqrqhu.f, + qrupdate/zqrqhv.f, qrupdate/zqrshc.f: + Fix external declarations, XERBLA calls, and docs. + +2008-04-07 Jaroslav Hajek + + * qrupdate/dqrqhu.f, qrupdate/zqrqhu.f, + * qrupdate/dqrshc.f, qrupdate/zqrshc.f, + * qrupdate/dchinx.f, qrupdate/zchinx.f, + * qrupdate/dchdex.f, qrupdate/zchdex.f: New files. + +2008-04-02 Jaroslav Hajek + + * blas-xtra/xzdotu.f: Turn into simple wrapper for zdotu. + * blas-xtra/xzdotc.f: Turn into simple wrapper for zdotc. + * qrupdate/zqrqhv.f: Undo previous change. + +2008-03-22 David Bateman + + * qrupdate/dch1up.f: Remove unused external reference to dlartv. + +2008-03-18 John W. Eaton + + * qrupdate/zqrqhv.f (zqrqhv): Call xzdotc instead of zdotc. + * blas-xtra/xzdotu.f: Eliminate local zdotu variable. + * blas-xtra/xzdotc.f: New file. + * blas-xtra/Makefile.in (FSRC): Add it to the list. + +2008-03-10 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-03-06 Jaroslav Hajek + + * qrupdate/dqrinc.f: Declare DGEMV external. + * qrupdate/zqrinc.f: Declare ZGEMV external. + Fix complex constant args in call to ZGEMV. + +2008-03-05 Jaroslav Hajek + + * qrupdate/dch1dn.f, qrupdate/zch1dn.f: add "quick return" checks. + +2008-03-04 Jaroslav Hajek + + * qrupdate/dch1dn.f, qrupdate/dch1up.f, + qrupdate/zch1dn.f, qrupdate/zch1up.f: New files. + * qrupdate/Makefile.in (FSRC): Add them to the list. + + * qrupdate/Makefile.in, qrupdate/dqhqr.f, qrupdate/dqr1up.f, + qrupdate/dqrdec.f, qrupdate/dqrder.f, qrupdate/dqrinc.f, + qrupdate/dqrinr.f, qrupdate/dqrqhv.f, qrupdate/zqhqr.f, + qrupdate/zqr1up.f, qrupdate/zqrdec.f, qrupdate/zqrder.f, + qrupdate/zqrinc.f, qrupdate/zqrinr.f, qrupdate/zqrqhv.f: + New files. + * Makefile.in (CRUFT_DIRS): Add qrupdate to the list. + +2008-02-14 John W. Eaton + + * misc/f77-fcn.h (F77_XFCN): Call octave_rethrow_exception here + instead of checking octave_allocation_error. + * misc/quit.cc (octave_execution_exception): New function. + (octave_rethrow_exception): New function. + (octave_handle_signal): Call octave_rethrow_exception instead of + octave_throw_interrupt_exception. + * misc/quit.h (octave_execution_error): New variable. + (END_INTERRUPT_WITH_EXCEPTIONS): Catch octave_execution_exception. + (octave_execution_exception): New class. + (octave_exception): New enum. + (octave_exception_state): Rename from octave_allocation_error. + Change all uses. + +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. + +2008-02-06 John W. Eaton + + * Makerules.in (%.def : %.f): Use mv instead of move-if-change. + +2008-02-05 John W. Eaton + + * misc/Makefile.in: Unconditionally include $(MAKEDEPS). + Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. + +2007-12-21 John W. Eaton + + Version 3.0.0 released. + +2007-11-01 John W. Eaton + + * lapack-xtra/xzlange.f: Include complete implementation of ZLANGE + function here. + + * blas-xtra/xzdotu.f: Include complete implementation of ZDOTU + function here. + +2007-10-26 John W. Eaton + + * lapack/dlals0.f: New file. + * lapack/Makefile.in (FSRC): Add it to the list. + +2007-10-26 David Bateman + + * lapack/dgelsd.f, lapack/dlalsd.f, lapack/dlalsa.f, + lapack/dlasda.f, lapack/dlasdt.f, lapack/dlasdq.f + lapack/dlamrg.f, lapack/dlasd0.f, lapack/dlasd1.f, + lapack/dlasd2.f, lapack/dlasd3.f, lapack/dlasd4.f, + lapack/dlasd5.f, lapack/dlasd6.f, lapack/dlasd7.f, + lapack/dlasd8.f, lapack/dlaed6.f, lapack/zgelsd.f, + lapack/zlalsd.f , lapack/zlalsa.f, lapack/zlals0.f: New files. + * lapack/Makefile.in (FSRC): Include them here. + +2007-10-23 John W. Eaton + + * lapack/dgtts2.f, lapack/zgtts2.f: New files. + * lapack/Makefile.in (FSRC): Add them to the list. + +2007-10-16 John W. Eaton + + * lapack/dlacn2.f, lapack/dlacn2.f, lapack/dlahr2.f, + lapack/dlahr2.f, lapack/dlaqr0.f, lapack/dlazq3.f, + lapack/dlazq3.f, lapack/dormr3.f, lapack/dormrz.f, + lapack/iparmq.f, lapack/iparmq.f, lapack/zlacn2.f, + lapack/zlahr2.f, lapack/zlaqr0.f: New files. + * lapack/Makefile.in (FSRC): Add them to the list. + + * lapack: Update all files to current versions from Lapack 3.1.1. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-03 John W. Eaton + + * mkf77def.in: Combine sed expressions. + +2007-09-26 David Bateman + + * lapack/dgelsy.f, lapack/dlatrz.f, lapack/zlarz.f, + lapack/dgeqp3.f, lapack/dtzrzf.f, lapack/zlarzt.f, + lapack/dlaic1.f, lapack/zgelsy.f, lapack/zlatrz.f, + lapack/dlaqp2.f, lapack/zgeqp3.f, lapack/ztzrzf.f, + lapack/dlaqps.f, lapack/zlaic1.f, lapack/zunmr3.f, + lapack/dlarzb.f, lapack/zlaqp2.f, lapack/zunmrz.f, + lapack/dlarz.f, lapack/zlaqps.f, lapack/dlarzt.f, + lapack/zlarzb.f: New files + * lapack/Makefile.in (FSRC): Add the new files. + +2007-07-25 David Bateman + + * Makefile.in, Makerules.in, fftpack/Makefile.in, + randlib/Makefile.in: Adjust DISTFILES to allow out of tree "make dist" + to work. + +2007-04-23 John W. Eaton + + * ranlib/phrtsd.f (phrtsd): Store result of call to index + instrinsic in an INTEGER variable to ensure that the types of the + arguments passed to mod really are the same even on 64-bit systems. + +2007-04-18 Michael Goffioul + + * blas-xtra/xdnrm2.f, blas-xtra/xdznrm2.f: + Delete spurious semicolons. + +2007-04-06 John W. Eaton + + * blas-xtra/xdnrm2.f, blas-xtra/xdznrm2.f: New functions. + * blas-xtra/Makefile.in (FSRC): Add them to the list. + + * ranlib/phrtsd.f (phrtsd): Ensure that the types of the arguments + passed to mod are the same even on 64-bit systems. + +2007-04-04 John W. Eaton + + * Makefules.in: Handle Fortran, C, and C++ sources with separate + variables. + * misc/Makefile.in: Use new variables for Fortran, C, and C++ files. + * Makefile.in (clean mostlyclean distclean): No need to remove + $(CRUFT_OBJ) here. + +2007-04-04 Rafael Laboissiere + + * Makefile.in (clean): Remove mkf77def. + +2007-03-27 John W. Eaton + + * Makerules.in, Makefile.in (dist): Use ln instead of $(LN_S). + +2007-02-26 John W. Eaton + + * misc/Makefile.in (CPICDEP): Also set if CPICFLAG is not defined. + (CXXPICDEP): Also set if CXXPICFLAG is not defined. + +2007-02-26 Michael Goffioul + + * Makefile.in, Makerules.in: Use $(LN_S) instead of ln or ln -s. + +2007-02-07 John W. Eaton + + * Makerules.in: Don't use wildcard function to generate source + efile list. + * amos/Makefile.in, blas-xtra/Makefile.in, blas/Makefile.in, + daspk/Makefile.in, dasrt/Makefile.in, dassl/Makefile.in, + fftpack/Makefile.in, lapack-xtra/Makefile.in, lapack/Makefile.in, + minpack/Makefile.in, misc/Makefile.in, odepack/Makefile.in, + ordered-qz/Makefile.in, quadpack/Makefile.in, ranlib/Makefile.in, + slatec-err/Makefile.in, slatec-fn/Makefile.in, villad/Makefile.in: + Explicitly list source files. + +2007-01-24 Alexander Barth + + * misc/f77-fcn.h (F77_CSTRING): Call OCTAVE_LOCAL_BUFFER with cs, + not F77_CHAR_ARG_USE (s). + +2006-11-11 John W. Eaton + + * Makerules.in (%.def : %.f): Use $(simple-move-if-change-rule) here. + +2006-11-03 John W. Eaton + + * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. + (DLL_CDEFS): Rename from XTRA_CDEFS. + Substitute CRUFT_DLL_DEFS, not XTRA_CRUFT_DEFS. + (XTRA_CRUFT_SH_LDFLAGS): Rename from XTRA_CRUFT_LINK_DEPS. + Add $(XTRA_CRUFT_SH_LDFLAGS) to SH_LDFLAGS instead of to LINK_DEPS. + +2006-10-31 John W. Eaton + + * misc/Makefile.in (INCLUDES): Add oct-dlldefs.h to the list. + +2006-10-29 John W. Eaton + + * misc/Makefile.in (SPECIAL_INCLUDE): Add oct-dlldefs.h to the list. + +2006-10-28 Michael Goffioul + + * misc/quit.h: Undefine min and max after including windows.h. + +2006-10-27 John W. Eaton + + * misc/oct-dlldefs.h: New file. + + * mkf77def.in: Downcase all input to simplify matching. + Match only lines beginning with whitespace. + Match function return types. + Use literal TAB characters instead of \t in sed patterns. + From Michael Goffioul . + +2006-10-26 Michael Goffioul + + * Makefile.in (XTRA_CRUFT_LINK_DEPS): Substitute. + (CRUFT_DEFS): New variable. + (LINK_DEPS): Include $(XTRA_CRUFT_LINK_DEPS) in the list. + (clean, mostlyclean, distclean): Delete cruft.def. + (cruft.def): New target. + (libraries): Depend on cruft.def. + + * misc/f77-fcn.h (f77_exception_encountered, xstopx): + Tag with CRUFT_API. + * misc/lo-error.h (current_liboctave_error_handler, + current_liboctave_warning_handler, + current_liboctave_warning_with_id_handler, + set_liboctave_error_handler, set_liboctave_warning_handler, + set_liboctave_warning_with_id_handler): Likewise. + * misc/quit.h (w32_sigint_init, w32_raise_final, + w32_raise, w32_in_main_thread, current_context, + octave_save_current_context, octave_restore_current_context, + octave_jump_to_enclosing_context, octave_save_signal_mask, + octave_restore_signal_mask, octave_interrupt_immediately, + octave_interrupt_state, octave_allocation_error, + octave_signal_caught, octave_handle_signal, + octave_throw_interrupt_exception, octave_throw_bad_alloc, + octave_signal_hook, octave_interrupt_hook, octave_bad_alloc_hook): + Likewise. + +2006-10-26 John W. Eaton + + * Makefile.in ($(CRUFT_DEFS)): Depend on $(SUBDIRS). + (cruft.def): Depend on $(CRUFT_DEFS). + (libraries): Depend on cruft.def only. + + * mk77def.in: New script template + * Makefile.in (DISTFILES): Include mk77def.in in the list. + ($(SUBDIRS)): Depend on mk77def. + (mk77def): New target. + (CRUFT_DEFS): New variable. + * Makerules.in (CRUFT_FSRC, CRUFT_CSRC, CRUFT_CXXSRC): New variables. + (CRUFT_SRC): Define using $(CRUFT_FSRC), $(CRUFT_CSRC), and + $(CRUFT_CXXSRC). + (CRUFT_DEFS): New variable. + ($(CRUFT_DEFS)): Depend on $(TOPDIR)/libcruft/mkf77def. + (%.def : %.f): New pattern rule. Use mkf77def script to do + Fortran name mangling. + (clean, mostlyclean, distclean): Delete $(CRUFT_DEFS). + (all): Depend on $(CRUFT_DEFS) + Partially from Michael Goffioul . + +2006-10-25 John W. Eaton + + * Makerules.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. + +2006-10-23 Paul Kienzle + + * misc/f77-fcn.h (F77_CHAR_ARG_DEF, F77_CONST_CHAR_ARG_DEF, + F77_CHAR_ARG_LEN_DEF, F77_CHAR_ARG_USE, F77_CHAR_ARG_LEN_USE, + F77_CSTRING): New macros to handle passing C character strings to + Fortran. + +2006-10-17 Michael Goffioul + + * lapack-xtra/xdlamch.f: Begin lines with spaces, not tabs. + + * misc/Makefile.in (machar.o, pic/machar.o): Specify output file + name in compile command. + +2006-10-13 Michael Goffioul + + * Makefile.in: Adapt rules to use $(LIBPRE). + +2006-09-11 John W. Eaton + + * blas-xtra/xddot.f, blas-xtra/xzdotu.f: New files. + +2006-06-01 David Bateman + + * slatec-fn/dpchim.f, slatec-fn/dpchst.f: New files. + +2006-05-22 John W. Eaton + + * lapack/dlantr.f, lapack/zlantr.f: New files. + +2006-05-03 David Bateman + + * lapack/dpocon.f, lapack/zpocon.f, lapack/dpotrs.f, + lapack/zpotrs.f, lapack/dtrcon.f, lapack/ztrcon.f, + lapack/dtrtrs.f, lapack/ztrtrs.f: New files. + +2006-04-29 John W. Eaton + + * misc/lo-error.c (set_liboctave_warning_with_id_handler, + liboctave_warning_with_id): New functions. + (current_liboctave_warning_with_id_handler): New variable. + * misc/lo-error.h (liboctave_warning_with_id_handler): New typedef. + (current_liboctave_warning_with_id_handler, liboctave_warning_with_id + set_liboctave_warning_with_id_handler): Provide decls. + +2006-04-18 John W. Eaton + + * misc/f77-fcn.h (F77_XFCN): Move decls to beginning of blocks for C. + +2006-04-13 John W. Eaton + + * misc/quit.h BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1, + END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): Omit unnecessary casts. + * misc/f77-fcn.h (F77_XFCN, F77_CHAR_ARG_LEN): Likewise. + +2006-04-03 David Bateman + + * ranlib/wrap.f (dgenexp, dgengam, dignpoi): New functions. + +2006-03-21 John W. Eaton + + * misc/f77-fcn.h (F77_XFCN): Save octave_interrupt_immediately and + restore it if an exception occurs that causes a longjmp. + +2005-11-01 John W. Eaton + + * ranlib/ignbin.f, ranlib/ignpoi.f: Avoid arithmetic IF statements. + +2005-10-17 John W. Eaton + + * lapack/Makefile.in (dlamc1.o pic/dlamc1.o): + Add $(F77_FLOAT_STORE_FLAG) to FFLAGS. + +2005-09-23 John W. Eaton + + * misc/machar.c: Restore test code. + +2005-09-15 John W. Eaton + + * misc/quit.h Rename all win32_ symbols to w32. Change all uses. + +2005-09-15 David Bateman + + * Makefile.in (LN_S): Change to DESTDIR before LN_S to avoid + lack of symlinks under mingw. + * misc/cquit.c (w32_thread_setjmp_mutex, win32_signal_context, + win32_signal_to_raise, win32_main_thread_id, win32_main_thread, + win32_restore_thread): New static variables. + (win32_in_main_thread): Returns 1 if in main thread for win32. + (win32_reset_context): Reset context (longjmp style) for win32. + (win32_raise_in_main): Raise signal in main thread for win32. + (win32_raise): Raise signal for win32. + (win32_raise_final): Clean up win32 signalling. + (win32_sigint_init): Initialize win32 signalling. + * quit.h (win32_sigint_init, win32_raise_final, win32_raise, + win32_in_main_thread): Declaration. + +2005-09-14 Daniel + + * lapack/zbdsqr.f: Fix typo in docs. + From Jorge Barros de Abreu . + +2005-05-06 John W. Eaton + + * lapack/dpotri.f, lapack/dlauum.f, lapack/dlauu2.f, + lapack/zpotri.f, lapack/zlauum.f, lapack/zlauu2.f: New files. + +2005-04-08 John W. Eaton + + * Makefile.in, Makerules.in (clean, distclean, maintainer-clean): + Avoid duplication in rules. + +2005-03-17 Andy Adler + + * Makerules.in (install-strip): Include double-colon target here too. + +2005-03-09 John W. Eaton + + * Makefile.in (bin-dist): Delete target. + (BINDISTLIBS, BINDISTFILES): Delete variables. + +2005-03-01 John W. Eaton + + * Makefile.in (CRUFT_DIRS): Remove it from the list. + * odessa: Delete directory. + + * misc/machar.c (rmachar): Declare local REAL variables volatile. + +2005-02-25 John W. Eaton + + * blas/zher.f: New file. + + Sparse merge. + + 2005-01-13 David Bateman + + * lapack/dgttrf.f lapack/dgttrs.f lapacl/zgttrf.f lapack/zgttrs.f: + new files + + 2005-01-23 David Bateman + + * lapack/dgtsv.f lapack/dpbcon.f lapack/dpbtf2.f lapack/dpbtrf.f + lapack/dpbtrs.f lapack/dptsv.f lapack/dpttrf.f lapack/dpttrs.f + lapack/dptts2.f lapack/zgtsv.f lapack/zpbcon.f lapack/zpbtf2.f + lapack/zpbtrf.f lapack/zpbtrs.f lapack/zptsv.f lapack/zpttrf.f + lapack/zpttrs.f lapck/zptts2.f: New files. + + 2004-12-29 John W. Eaton + + * blas/zbtsv.f: New file. + * lapack/dgbcon.f, lapack/dgbtrf.f, lapack/dgbtrs.f, + lapack/dlatbs.f, lapack/zgbcon.f, lapack/zgbtf2.f, + lapack/zgbtrf.f, lapack/zgbtrs.f, lapack/zlatbs.f: New files. + +2005-02-10 John W. Eaton + + * misc/cquit.c (octave_signal_caught): New global variable. + * misc/quit.cc (occtave_handle_signal): New function. + (octave_signal_hook): New global pointer. + * misc/quit.h: Provide decls. + (OCTAVE_QUIT): Check octave_signal_caught, not + octave_interrupt_state, and call octave_handle_signal, not + octave_throw_interrupt_exception. + +2005-02-08 John W. Eaton + + * misc/quit.h: Use C-style comments. + +2004-09-08 John W. Eaton + + * misc/machar.c (rmachar): Use modern C declaration. + +2004-02-24 John W. Eaton + + * misc/f77-fcn.c: Handle Cray, CVF, and f2c calling conventions. + + * misc/f77-fcn.h (xstopx): Use F77_CHAR_ARG_DECL and + F77_CHAR_ARG_LEN_DECL in declaration. + +2004-02-20 John W. Eaton + + * misc/quit.h (OCTAVE_QUIT): Set octave_interrupt_state to -1 + while we are handling interrupts. + +2004-02-14 John W. Eaton + + * Makefile.in (LINK_DEPS): Always define. + +2003-11-12 John Eaton + + * misc/machar.c (machar) [CRAY]: Kluge to make it work. + +2003-10-31 John W. Eaton + + * odepack/dlsode.f: Rename from odepack/lsode.f. + * odepack/dlsode.f (DLSODE): Rename from LSODE to avoid name + conflict with LSODE class constructors on systems that upcase + Fortran names. + + * odessa/dodessa.f: Rename from odessa/odessa.f. + * odessa/dodessa.f (DODESSA): Rename from ODESSA to avoid name + conflict with ODESSA class constructors on systems that upcase + Fortran names. + +2003-10-30 John W. Eaton + + * Makefile.in (MISC_OBJ): Add misc/cquit.o to the list. + + * misc/Makefile.in (SPECIAL_SRC): Add cquit.c to the list. + * misc/cquit.c: New file. + * misc/quit.cc: Move everything except octave_interrupt_hook, + octave_bad_alloc_hook, octave_throw_interrupt_exception, and + octave_throw_bad_alloc to cquit.c. + +2003-10-28 John W. Eaton + + * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): + Move declarations outside of extern "C" block. + +2003-10-27 John W. Eaton + + * misc/f77-fcn.h: Only use inline if this is C++. + + * misc/f77-fcn.c (xstopx): Return type is now F77_RET_T. + Use F77_RETURN. + * misc/machar.c (machar): Likewise. + + * misc/f77-fcn.h (F77_CHAR_ARG, F77_CONST_CHAR_ARG, F77_CHAR_ARG2, + F77_CONST_CHAR_ARG2, F77_CXX_STRING_ARG, F77_CHAR_ARG_LEN, + F77_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL, F77_CHAR_ARG_LEN_DECL, + F77_RET_T, F77_RETURN): New macros. + [F77_USES_CRAY_CALLING_CONVENTION]: New data conversion functions. + + * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): + Move function pointer declarations inside __cplusplus section. + +2003-07-29 John W. Eaton + + * Makefile.in (install-lib): Use $(INSTALL), not + $(INSTALL_PROGRAM) for $(SHLLIB) files. + +2003-07-02 John W. Eaton + + * Makefile.in (CLEAN_SUBDIRS): New variable. + (clean mostlyclean distclean maintainer-clean): Use it to ensure + cleaning in all subdirs, not just those we build in. + + * Makerules.in (maintainer-clean, distclean): Don't use + dependencies on double colon rules. + (distclean): Also remove *.d, *.a, *.o, pic/*.o, pic, and stmp-pic. + (maintainer-clean): Also remove *.d, *.a, *.o, pic/*.o, pic, and + stmp-pic, and Makefile. + + * Makefile.in (maintainer-clean, distclean): Also remove *.$(SHLEXT). + +2003-06-16 John W. Eaton + + * dasrt/ddasrt.f (DDASRT): Print correct message for invalid MXSTP. + + * dassl/ddassl.f (DDASSL): Handle MXSTP as in DASRT. + + * dassl/ddajac.f (DDAJAC): LIPVT is now 22. + * dassl/ddassl.f (DDASSL): Likewise. + * dassl/ddaslv.f (DDASLV): Likewise. + + * misc/quit.h (octave_interrupt_hook, octave_bad_alloc_hook): + New function pointers. + * misc/quit.cc: Initialize them. + (octave_throw_interrupt_exception): If octave_interrupt_hook is + set, call it. + (octave_throw_bad_alloc): Likewise, for octave_bad_alloc_hook. + + * dasrt/ddasrt.f (DDASRT): Set LMXSTP to 21 and LIPVT to 22 to + avoid conflict with LLAST in DRCHECK. Change docs for INFO(12) + and LIW. + +2003-05-14 John W. Eaton + + * Makefile.in, misc/Makefile.in: Handle DESTDIR. + +2003-02-20 John W. Eaton + + * blas/sgemm.f, blas/strsm.f, blas/ssyrk.f, blas/sscal.f, + blas/sgemv.f, blas/sdot.f: New files. + +2003-02-20 Paul Kienzle + + * dassl/ddaslv.f: Fortran doesn't use ; in statements. + +2003-02-18 John W. Eaton + + * blas/dtbsv.f: New file. + * lapack/dlatrs.f, lapack/dtrti2.f, lapack/dtrtri.f, lapack/ztrti2.f, + lapack/ztrtri.f: New files. + +2003-02-04 David Bateman + + * Makefile.in (CRUFT_DIRS): Remove linpack from list. + + * linpackdgbfa.f, linpackdgbsl.f, linpackdgeco.f, linpackdgedi.f, + linpackdgefa.f, linpackdgesl.f, linpackspofa.f, linpackzgeco.f, + linpackzgedi.f, linpackzgefa.f, linpackzgesl.f: Delete. + + * dassl/ddajac.f, dassl/ddaslv.f: Use DGxTRF and + DGxTRS instead of DGxFA and DGxSL. + * daspk/ddaspk.f, daspk/dmatd.f, daspk/dslvd.f: Likewise. + * odepack/lsode.f, odepack/prepj.f, odepack/solsy.f: Likewise. + * odessa/odessa.f, odessa/odessa_prepj.f, odessa/odessa_solsy.f: + Likewise. + * libcrudt/ranlib/setgmn.f: Use SPOTRF instead of SPOFA. + + * lapack/dgbtf2.f, lapack/dgbtrf.f, lapack/dgbtrs.f, + lapack/dgecon.f, lapack/dgetri.f, lapack/spotf2.f, + lapack/spotrf.f, lapack/zgecon.f, lapack/zgetri.f: New files. + +2003-01-22 John W. Eaton + + * misc/quit.h (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1, + BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2): New macros. + +2003-01-03 John W. Eaton + + * odessa/odessa_rscom.f (ODESSA_RSCOM): Fix apparent typo (LODE2 + should probably be LIODE2). + + * Makerules.in (clean, mostlyclean): Also remove *.d. + + * misc/quit.cc: Add std:: qualifiers to memcpy calls. + +2003-01-03 Paul Kienzle + + * misc/quit.h: Move #include outside extern "C" block. + * misc/f77-fcn.h: Move #include "quit.h" outside extern "C" block. + +2002-11-20 John W. Eaton + + * misc/quit.h (BEGIN_INTERRUPT_WITH_EXCEPTIONS, + END_INTERRUPT_WITH_EXCEPTIONS): Only define for C++ source. + Include for C++ source. + +2002-11-15 John W. Eaton + + * misc/quit.h, misc/quit.cc [! USE_EXCEPTIONS_FOR_INTERRUPTS]): + Always use exceptions for handling interrupts. + (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): + + * misc/quit.h (OCTAVE_TRY_WITH_INTERRUPTS, OCTAVE_THROW_BAD_ALLOC, + OCTAVE_CATCH_INTERRUPTS, SAVE_OCTAVE_INTERRUPT_IMMEDIATELY, + INCREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, OCTAVE_THROW_TO_TOP_LEVEL, + DECREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, OCTAVE_JUMP_TO_TOP_LEVEL, + SET_OCTAVE_INTERRUPT_IMMEDIATELY): Replace all uses with + definitions, delete macros. + +2002-11-14 John W. Eaton + + * misc/quit.cc (octave_allocation_error): New variable. + (octave_throw_bad_alloc): New function. + * misc/quit.h: Provide decls. + (OCTAVE_THROW_BAD_ALLOC): New macro. + (END_INTERRUPT_WITH_EXCEPTIONS): Also catch bad_alloc. + * misc/f77-fcn.h (F77_XFCN): Handle allocation errors. + + * misc/quit.h (octave_jmp_buf): New typedef. + (current_context): Type is now octave_jmp_buf. + (octave_set_current_context): Use sigsetjmp if we have it. + (octave_interrupt_immediately, octave_interrupt_state): Type is + now sig_atomic_t. + (BEGIN_INTERRUPT_WITH_EXCEPTIONS, END_INTERRUPT_WITH_EXCEPTIONS): + New macros. + + * misc/quit.cc (octave_jump_to_enclosing_context): Use siglongjmp + if we have it. + (octave_save_current_context, octave_restore_current_context): Use + octave_jmp_buf type here. + +2002-11-07 John W. Eaton + + * misc/Makefile.in: Handle automatic dependency generation for + C/C++ source files. + + * misc/quit.h (INCREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, + DECREMENT_OCTAVE_INTERRUPT_IMMEDIATELY, + SET_OCTAVE_INTERRUPT_IMMEDIATELY): New macros. + (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE, + BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE): Use them. + * f77-fcn.h (F77_XFCN): Likewise. + + * misc/quit.cc: Include for memcpy decl. + +2002-11-06 John W. Eaton + + * misc/f77-fcn.h (F77_XFCN): Adapt to new signal/exception + handling scheme. + (f77_context): Delete decl. + (copy_f77_context): Likewise. + * misc/f77-fcn.cn (copy_f77_context): Delete. + (Fxstopx): Set f77_exception_encountered. + Use octave_jump_to_enclosing_context, not longjmp. + + * misc/f77-extern.cc (f77_context): Delete definition. + + * misc/quit.h, misc/quit.cc: New files. + * misc/Makefile: Add them to the appropriate lists. + + * Makefile (MISC_OBJ): Add misc/quit.o + +2002-10-31 John W. Eaton + + * odessa/odessa.f (ODESSA): Second arg of xerrwd is string length. + * odessa/odessa_intdy.f (ODESSA_INTDY): Likewise. + +2002-10-29 John W. Eaton + + * dasrt/ddasrt.f (DDASRT): Fix computation of LENRW. + +2002-10-16 John W. Eaton + + * Makefile.in (install): Don't bother with versions for $(SHLBIN) + files. + + * slatec-err/xerrwd.f (XERRWD): Print msg(1:nmes), not just msg. + +2002-10-14 John W. Eaton + + * Makefile.in (install): No need to use cd to create links. + +2002-10-14 Paul Kienzle + + * Makefile.in: Use link dependencies for shared libs if + INCLUDE_LINK_DEPS. + (LIBRARIES): If doing shared libs, include versioned library in list. + (libcruft.$(SHLEXT), libcruft.$(SHLEXT_VER)): Reverse actions -- + build unversioned library, symbolic link adds version info. + (install, uninstall): Handle link and load forms of the library + separately. + +2002-09-30 Paul Kienzle + + * slatec-fn/xdacosh.f: Mark external functions as external. + * slatec-fn/xdasinh.f: Ditto. + * slatec-fn/xdatanh.f: Ditto. + * slatec-fn/xdbetai.f: Ditto. + * slatec-fn/xderf.f: Ditto. + * slatec-fn/xderfc.f: Ditto. + * slatec-fn/xdgami.f: Ditto. + * slatec-fn/xdgamit.f: Ditto. + * slatec-fn/xdgamma.f: Ditto. + * slatec-fn/xgmainc.f: Ditto. + +2002-08-14 John W. Eaton + + * odessa/odessa.f (ODESSA): Use XERRWD instead of XERR. + * odessa/intdy.f (ODESSA_INTDY): Likewise. + * odessa_rscom.f (ODESSA_RSCOM): Delete unused common block EH0001. + * odessa_svcom.f (ODESSA_SVCOM): Likewise. + + * dasrt/xerrwv.f, odepack/xerrwv.f: Delete. + * slatec-err/xerrwd.f (XERRWD): Call XSTOPX instead of using STOP. + + * quadpack/dqagi.f (DQAGI): Replace Hollerith constants with + character string constants. + * quadpack/dqagp.f (DQAGP): Likewise. + * odepack/lsode.f (LSODE): Likewise. + + * odepack/lsode.f (LSODE): Use XERRWD instead of XERRWV. + * odepack/intdy.f (INTDY): Likewise. + * dasrt/ddasrt.f (DDASRT): Likewise. + * quadpack/xerror.f (XERROR): Likewise. + +2002-07-25 John W. Eaton + + * slatec-fn/xgmainc.f: New file. + +2002-07-12 John W. Eaton + + * dasrt: New subdirectory. + * Makefile.in (CRUFT_DIRS): Add it to the list. + +2002-07-10 John W. Eaton + + * odessa: New subdirectory. + * Makefile.in (CRUFT_DIRS): Add it to the list. + +2002-06-27 John W. Eaton + + * slatec-err/xermsg.f (XERMSG): If MAXMES .LT. 0, messages may be + printed an unlimited number of times. + * slatec-err/j4save.f (J4SAVE) Default for MAXMES is now -1. + + * misc/f77-fcn.c (xstopx): Pass args in proper order. + +2002-05-22 John W. Eaton + + * ordered-qz/dsubsp.f (DSUBSP): Delete decl for unused variable J. + + * misc/f77-fcn.c (xstopx): Return type is void, not volatile void. + * misc/f77-fcn.h (xstopx): Provide decl. Add special gcc noreturn + attribute here. + +2002-05-16 John W. Eaton + + * misc/f77-fcn.h: Define F77_FCN for backward compatibility. + +2002-04-27 John W. Eaton + + * slatec-err/ixsav.f, slatec-err/xerrwd.f: New files. + + * daspk: New directory. + * Makefile.in (CRUFT_DIRS): Add it to the list + +2002-04-03 Steven G. Johnson + + * misc/machar.c: Use F77_FUNC instead of checking + F77_APPEND_UNDERSCORE. + * misc/f77-fcn.h: Don't define F77_FCN. + (xSTRINGIZE, STRINGIZE): New macros. + (F77_XFCN_ERROR): Simplify by using STRINGIZE and F77_FUNC. + (F77_XFCN): Use F77_FUNC instead of F77_FCN. + * misc/f77-fcn.c: Use F77_FUNC instead of F77_FCN. + +2001-11-01 John W. Eaton + + * Makefile.in (DISTSUBDIRS): Add fftpack. + +2001-08-13 John W. Eaton + + * lapack/dlasq3.f: Update from netlib. + * lapack/dlasq5.f: Ditto. + +2001-05-02 Mumit Khan + + * Makefile.in (CRUFT_DIRS): Substitute @FFT_DIR@. + +2001-04-25 John W. Eaton + + * Makefile.in (install): Don't use mk-libdir-link. + +2001-04-19 John W. Eaton + + * misc/Makefile.in (CPICDEP): Remove pic/dostop.o from the list. + +2001-03-27 John W. Eaton + + * misc/xstopx.f: Delete. + * misc/dostop.c: Delete. + * misc/Makefile.in (SPECIAL, SPECIAL_DEPEND): Delete dostop.c and + dostop.o from lists. + * Makefile.in (MISC_OBJ): Delete misc/dostop.o from the list. + + * misc/dostop.c (dostop): Use F77_FCN macro for function definition. + Specify length in error format to avoid need for copying string. + From Paul Kienzle . + +2000-12-14 John W. Eaton + + * lapack/dgelss.f (DGELSS): Use correct leading dimension for + workspace array passed to dgemm and dlacpy. + (ZGELSS): Likewise, for calls to zgemm and zlacpy. + +2000-07-18 John W. Eaton + + * Makefile.in (DISTSUBDIRS): New macro. + (dist): Use it instead of SUBDIRS. + +2000-06-30 Steven G. Johnson + + * blas-xtra, lapack-xtra: New directories. + * Makefile.in (CRUFT_DIRS): Add them to the list. + Substitute @BLAS_DIR@ and @LAPACK_DIR@ here. + * blas-xtra/xerbla.f: Move here from blas subdirectory. + * blas-xtra/Makefile.in: New file. + * lapack-xtra/xdlamch.f, lapack-xtra/xdlange.f, + lapack-xtra/xzlange.f: Move here from lapack subdirectory. + * lapack-xtra/Makefile.in: New file. + +2000-04-25 John W. Eaton + + * misc/Makefile.in (install, uninstall): Include files go in + $(octincludedir)/octave, not just $(octincludedir). + +2000-03-25 John W. Eaton + + * Makefile.in (LIBRARIES): Conditionally define. + (libraries): Depend on $(SUBDIRS) only. + Make $(LIBRARIES) using a recursive invocation of make once + $(SUBDIRS) are up to date. + (.NOTPARALLEL): New target, for GNU Make 3.79. + +2000-03-21 John W. Eaton + + * Makefile.in (libcruft.$(LIBEXT)): New target. + (all): Depend on `libraries', not `$(SUBDIRS) shared-lib'. + Conditionally construct `libraries' target. + (libcruft.$(SHLEXT_VER)): Delete target before rebuilding. + * Makerules.in (LIBCRUFT): Delete variable. + (LIBCRUFT_DEPEND): Conditionally define to $(LIBCRUFT_OBJS) only. + (all): Print warning if anything is done. + (stmp-pic): New target. + ($CRUFT_PICOBJ): Depend on stmp-pic. + (clean, mostlyclean): Remove pic and stmp-pic. + +2000-02-10 John W. Eaton + + * lapack/dbdsqr.f, lapack/dgeesv.f, lapack/dgelss.f, + lapack/dgesvd.f, lapack/dlasq1.f, lapack/dlasq2.f, + lapack/dlasq3.f, lapack/dlasq3.f, lapack/dlasq4.f, + lapack/dlasq5.f, lapack/dlasq6.f, lapack/zbdsqr.f, + lapack/zgelss.f, lapack/zgesvd.f, lapack/zhetd2.f: + Update from netlib. + +1999-11-03 John W. Eaton + + * Update to Lapack version 3.0. + * lapack/ieeeck.f, lapack/dlasq2.f, lapack/dlasq3.f, + lapack/dlasq5.f, lapack/dlasq6.f: New files. + +1999-10-29 John W. Eaton + + * misc/lo-error.cc (current_liboctave_warning_handler): Define here. + (set_liboctave_warning_handler): New function. + (liboctave_warning): Ditto. + * misc/lo-error.h: Provide declararations for them here. + +1999-10-19 John W. Eaton + + * Makefile.in (dist): Use `$(MAKE) -C dir' instead of `cd dir; + $(MAKE); cd ..'. + +1999-10-01 John W. Eaton + + * dassl/dpotrf.f, dassl/dpotf2.f: Move to lapack subdirectory. + +Fri Mar 26 01:19:04 1999 John W. Eaton + + * Makerules.in (all): Don't try to use a special rule for making + the archive. The default rules may be slower, but they are also + correct. + +Wed Nov 11 17:27:35 1998 John W. Eaton + + * Makefile.in (CRUFT_DIRS): Add amos. Delete specfun. + * specfun: Delete directory. + * amos: New directory + +Thu Oct 15 00:43:13 1998 John W. Eaton + + * ranlib: Update to newer version of randlib. + * ranlib/Makefile.in (SPECIAL): Update list. + +Thu Sep 24 11:59:02 1998 John W. Eaton + + * balgen, eispack: Delete directories and unnecesary files. + * Makefile.in (CRUFT_DIRS): Delete eispack and balgen from the list. + + * lapack/xdlamch.f: New file. + + * ordered-qz: New directory. + * Makefile.in (CRUFT_DIRS): Add it to the list. + + * lapack/dggbak.f, lapack/dtgevc.f, lapack/zggbal.f: New files. + +Tue Jun 2 09:57:52 1998 John W. Eaton + + * specfun/rybesl.f (rybesl): Don't access by(2) unless nb .gt. 1. + +Mon May 11 12:33:42 1998 John W. Eaton + + * fftpack/passb3.f, fftpack/passb5.f, fftpack/passf3.f, + fftpack/passf5.f: Use double precision constants in data + statements. + +Tue Apr 14 14:01:22 1998 John W. Eaton + + * slatec-fn/xdgamit.f (xdgamit): New file. + +Mon Apr 6 00:26:35 1998 John W. Eaton + + * slatec-fn/xdgami.f (xdgami): Reorder args to match dgami. + +Thu Feb 19 21:00:00 1998 John W. Eaton + + * specfun/ribesl.f, specfun/rjbesl.f: Compute NSIG correctly. + Add missing comma in declaration statement. + +Sun Feb 1 12:39:10 1998 John W. Eaton + + * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). + Use $(mk-libdir-link). + + * quadpack/dqagi.f, quadpack/dqagie.f, quadpack/dqagp.f, + quadpack/dqagpe.f, quadpack/dqk15i.f, quadpack/dqk21.f: + Make user-supplied code a subroutine instead of a function. + +Mon Jan 19 23:11:21 1998 John W. Eaton + + * lapack/xdlange.f, lapack/xzlange.f: New files. + +Mon Dec 1 00:51:03 1997 John W. Eaton + + * dassl/xerhlt.f, dassl/xermsg.f, dassl/xerprn.f, dassl/xgetua.f, + dassl/xsetua.f: Delete. + + * slatec-err: New directory. + * Makefile.in: Add it to the list. + +Sun Nov 30 17:55:20 1997 John W. Eaton + + * slatec-fn/xdgami.f, slatec-fn/xdbetai.f, slatec-fn/xderfc.f, + slatec-fn/xderf.f, slatec-fn/xdatanh.f, slatec-fn/xdasinh.f, + slatec-fn/xdacosh.f: New files. + +Sat Nov 29 13:02:14 1997 John W. Eaton + + * specfun/ribesl.f (ribesl): Use d1mach to get machine parameters. + SAVE static data between calls. Use PARAMETERS where possible. + * specfun/rjbesl.f (rjbesl): Likewise. + * specfun/rkbesl.f (rkbesl): Likewise. + * specfun/rybesl.f (rybesl): Likewise. + +Fri Nov 28 14:05:12 1997 John W. Eaton + + * specfun: New subdirectory. + * specfun/Makefile.in, specfun/ribesl.f, specfun/rjbesl.f, + specfun/rkbesl.f, specfun/rybesl.f: New files. + * Makefile.in (CRUFT_DIRS): Add specfun. + +Wed Nov 26 01:49:47 1997 John W. Eaton + + * slatec-fn/d9gmit.f, slatec-fn/d9lgic.f, slatec-fn/d9lgit.f, + slatec-fn/dbetai.f, slatec-fn/dgami.f, slatec-fn/dgamit.f, + slatec-fn/dgamr.f, slatec-fn/dlbeta.f, slatec-fn/dlnrel.f: + New files for incomplete beta and incomplete gamma functions. + +Thu Jul 17 13:18:57 1997 Klaus Gebhardt + + * blas/xerbla.f (xerbla): Call XSTOPX instead of using STOP. + +Fri Jun 6 16:49:22 1997 John W. Eaton + + * slatec-fn/xdgamma.f: New file. + + * fsqp, npsol, qpsol: Delete directories. + * Makefile.in (CRUFT_DIRS): Delete fsqp, npsol, and qpsol from list. + +Thu Jun 5 01:40:36 1997 John W. Eaton + + * Makefile.in, Makerules.in: Make building of static library optional. + (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. + + * Makerules.in (stamp-picdir): Delete. + (pic): New target. Don't worry so much about creating pic + directory only when it is really needed. + + * Makefile.in (stamp-shared): Delete. + (shared-lib): New target. Depend on shared libraries directly. + +Wed May 21 16:29:42 1997 John W. Eaton + + * misc/Makefile.in (install): Ensure include directory link is made. + (uninstall): Delete all installed files. + +Thu Mar 13 22:31:35 1997 John W. Eaton + + * blas, lapack: Add new files for symmetric eigenvalue + computation. + +Wed Mar 12 16:59:59 1997 John W. Eaton + + * misc/Makefile.in (install-strip): New target. + + * Makefile.in (install-strip): New target. + +Mon Mar 3 15:38:39 1997 John W. Eaton + + * ranlib/Makefile.in (EXTERNAL_DISTFILES): Add Basegen.doc. + + * fftpack/Makefile.in (EXTERNAL_DISTFILES): Add fftpack.doc. + + * Makefile.in (DISTFILES): Add configure.in. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Wed Feb 26 12:08:39 1997 John W. Eaton + + * Makefile.in (maintainer-clean): Also remove configure. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Version 2.0.3 released. + +Fri Feb 14 16:23:42 1997 John W. Eaton + + * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. + +Thu Feb 13 17:33:41 1997 John W. Eaton + + * Makefile.in (stamp-shared): Use $(SH_LD) $(SH_LDFLAGS) instead + of $(CXX) -shared. + + * Makerules.in (stamp-picdir): Silence noise about making pic. + +Mon Jan 27 15:52:29 1997 John W. Eaton + + * Version 2.0.2 released. + +Sat Jan 25 22:34:10 1997 John W. Eaton + + * Makefile.in, balgen/Makefile.in, blas/Makefile.in, + cfsqp/Makefile.in, dassl/Makefile.in, eispack/Makefile.in, + fftpack/Makefile.in, fsqp/Makefile.in, lapack/Makefile.in, + linpack/Makefile.in, minpack/Makefile.in, misc/Makefile.in, + npsol/Makefile.in, odepack/Makefile.in, qpsol/Makefile.in, + quadpack/Makefile.in, ranlib/Makefile.in, slatec-fn/Makefile.in, + villad/Makefile.in (bin-dist): New target. + +Wed Jan 22 15:03:33 1997 John W. Eaton + + * misc/Makefile.in (pic/machar.o): Add $(CPICFLAG) for this target. + + * misc/d1mach.f (d1mach): Move SAVE statement ahead of DATA statment. + +Wed Jan 15 21:04:29 1997 John W. Eaton + + * blas/*.f: Update to latest version from Netlib. + +Tue Jan 7 00:17:17 1997 John W. Eaton + + * Version 2.0.1 released. + +Tue Dec 17 11:02:02 1996 John W. Eaton + + * misc/lo-error.c: Convert C++-style comments to C-style comments. + +Wed Dec 11 01:50:31 1996 John W. Eaton + + * misc/Makefile.in (SPECIAL_DEPEND): Delete d1mach.o from the list. + +Tue Dec 10 01:43:10 1996 John W. Eaton + + * Version 2.0 released. + +Fri Dec 6 15:23:50 1996 John W. Eaton + + * Version 1.94. + +Wed Nov 20 01:00:43 1996 John W. Eaton + + * misc/Makefile.in (install): Also install lo-error.h. + + * Makefile.in (MISC_OBJ): Add misc/f77-fcn.o. + + * misc/lo-error.h: New file, moved here from liboctave. + * misc/lo-error.c: Rename from lo-error.cc. Make this a C-file + instead of C++. + + * Version 1.93. + +Tue Nov 19 23:04:24 1996 John W. Eaton + + * misc/Makefile.in: Add variables for installing things. + + * Makerules.in (install, uninstall): Make these double colon rules. + + * f77-fcn.c, f77-fcn.h: New files, from liboctave. + + * misc/Makefile.in (SPECIAL_DEPEND): Add f77-fcn.o. + (SPECIAL): Add f77-fcn.c and f77-fcn.h. + (CPICDEP): Add pic/f77-fcn.o. + (install): Install f77-fcn.h in $(octincludedir). + (uninstall): Delete f77-fcn.h from $(octincludedir). + + * Makerules.in (CRUFT_CSRC): Delete unsed variable. + +Thu Nov 14 00:07:00 1996 John W. Eaton + + * Version 1.92. + +Fri Nov 8 09:55:40 1996 John W. Eaton + + * Makefile.in (libcruft.a): Delete target. + * Makerules.in, Makefile.in: Use real archive rules to build + libcruft.a in parts. + + * Makefile.in (install): Use $(INSTALL_PROGRAM) for installing + shared library. + +Thu Nov 7 12:43:17 1996 John W. Eaton + + * Makefile.in: Add -lm when building shared library. + + * Version 1.91. + +Mon Nov 4 10:09:00 1996 John W. Eaton + + * lapack/dlag2.f, lapack/dggbal.f, lapack/dgghrd.f, lapack/dhgeqz.f: + New files. + + * Makefile.in (install): Use INSTALL_PROGRAM for shared version of + libcruft. + +Sun Nov 3 19:37:37 1996 John W. Eaton + + * misc/Makefile.in (distclean): Delete target, since there is + nothing special to do. + +Wed Oct 30 17:20:14 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + + * misc/Makefile.in: Make pic/machar.o using special rule. + Use CPPFLAGS, not CPP_FLAGS. + +Thu Oct 24 20:22:47 1996 John W. Eaton + + * Makefile.in (CRUFT_OBJ): No special treatment for d1mach.o. + + * misc/machar.c, misc/d1mach.f: New files + * misc/Makefile.in: Fix to not generate d1mach.f. + +Mon Oct 14 11:07:25 1996 John W. Eaton + + * Makefile.in (distclean): Remove stamp-shared too. + +Sat Oct 12 00:20:41 1996 John W. Eaton + + * Makefile.in (maintainer-clean): Don't depend on distclean. + * Makerules.in (maintainer-clean): Ditto. + +Tue Aug 20 22:09:08 1996 John W. Eaton + + * Makerules.in (stamp-picdir): Only create a pic subdirectory if + SHARED_LIBS is true AND FPICFLAG is not empty. + +Wed May 22 15:07:00 1996 John W. Eaton + + * Makefile.in (stamp-shared): Use CC, not CXX to create shared + library. Also use SHARED_FLIBS here instead of FLIBS. + +Sat Apr 6 21:28:47 1996 John W. Eaton + + * Makerules.in (clean, mostlyclean): Also remove pic/*.o. + (maintainer-clean, distclean): Also remove stamp-picdir and pic + directory. + +Wed Apr 3 01:01:31 1996 John W. Eaton + + * misc/Makefile.in: Set SPECIAL_PICDEPEND after including Makeconf + and before including Makerules. + +Fri Mar 29 13:45:06 1996 John W. Eaton + + * Makefile.in (distclean): Delete so_locations, which is created + on DEC Alpha systems. + (distclean, maintainer-clean): Don't depend on clean. + +Wed Mar 27 05:59:02 1996 John W. Eaton + + * Makerules.in: Add rules for making PIC code here. + * Makefile.in (libcruft.a): Depend on $(CRUFT_PICOBJ) + * misc/Makefile.in: Add rules for making PIC code from C and C++ + files. + +Fri Feb 9 21:04:45 1996 John W. Eaton + + * misc/f77-extern.cc, misc/lo-error.cc: New files. + * misc/Makefile.in (SPECIAL, SPECIAL_DEPEND): Add them to the lists. + * Makefile.in (CRUFT_OBJ): Add it f77-extern.o and lo-error.o here + too. + +Sat Feb 3 07:57:39 1996 John W. Eaton + + * misc/dostop.c (dostop): Call error handler if we have a message. + Call longjmp on f77_context, not jump_to_top_level(). + * misc/xstopx.f (xstopx): Pass non-blank strings on to dostop. + +Mon Jan 8 22:55:26 1996 John W. Eaton + + * Makefile.in (clean): If $(SHARED_LIBS), remove shared libs. + (mostlyclean): Ditto. + +Fri Dec 29 21:43:24 1995 John W. Eaton + + * Makefile.in, Makerules.in: Handle creating position independent + code and shared libraries for Octave. + +Tue Dec 26 00:15:31 1995 John W. Eaton + + * Makerules.in (stamp-picdir): New target. + (all): Depend on it. + + * Makefile.in: Delete references to configure stuff. + * configure.in, mkinstalldirs: Delete. + +Sun Dec 24 02:42:29 1995 John W. Eaton + + * linpack/spofa.f: New file. + * blas/level-1/sdot.f: New file. + * blas/level-2/dsyr.f: New file. + +Thu Dec 14 02:34:19 1995 Rick Niles + + * fftpack/cfftb1.f, fftpack/cfftf1.f, fftpack/cffti1.f, + odepack/prepj.f, odepack/solsy.f, odepack/stode.f: + Avoid warnings for nonstandard dimension statements of the form + `real foo(1)' by using `real foo(*)' instead. + +Mon Nov 6 07:24:03 1995 John Eaton + + * misc/dostop.c: Only call jump_to_top_level() if OCTAVE_SOURCE. + +Fri Nov 3 11:08:31 1995 John Eaton + + * misc/dostop.c: Just call jump_to_top_level() directly here. + +Wed Sep 20 00:01:03 1995 John Eaton + + * mkinstalldirs: New file. + * Makefile.in (DISTFILES): Add it to the list. + + * Makerules.in: Fix cleaning rules. Use double colon so we can + add things in the makefiles in the subdirectories. + + * Makefile.in (DISTFILES): Distribute configure.in and configure. + (distclean): Also remove Makerules, config.log, and config.status. + (maintainer-clean): Depend on distclean. + +Mon Apr 10 09:55:13 1995 John Eaton + + * configure.in: New file. + +Fri Mar 10 10:38:29 1995 John Eaton + + * Makefile.in (install uninstall clean mostlyclean distclean + realclean): Use SUBDIR_FOR_COMMAND. Combine actions. + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/liboctave-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/liboctave-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,14984 @@ +2011-04-01 Jordi Gutiérrez Hermoso + + * MatrixType (MatrixType::operator =): Plug memory leak due to + improper handling of perm array (bug #32804). + +2011-03-29 Rik + + * Array.cc (diag): Treat empty vector (1x0 or 0x1) as valid input. + Improves Matlab compatibility (bug #32901). + +2011-02-13 David Bateman + + * Sparse-perm-op-defs.h (template + SM octinternal_do_mul_colpm_sm (const octave_idx_type *, + const SM&)): Ensure that the row indices are sorted. + +2011-03-14 Jordi Gutiérrez Hermoso + + * Sparse.cc (Sparse::alloc) Change std::copy_backward to + std::copy, since the destination is at the back and not the + front. Bug #32747, cf. entry from 2010-11-25 + +2011-02-08 John W. Eaton + + * oct-alloc.h: Include . + From Orion Poplawski . + +2011-02-06 John W. Eaton + + * PermMatrix.cc (operator*): Fix mixed row/column permutation + case. Bug #32346. + +2011-02-04 Rik + + * Makefile.am: Undo accidental checkin + +2011-02-03 John W. Eaton + + * cmd-hist.cc (gnu_history::do_process_histcontrol): + Rename from command_history::do_process_histcontrol. + (gnu_history::do_histcontrol): Rename from + command_history::do_histcontrol. + * cmd-hist.h (command_history::do_histcontrol): Provide dummy version. + * cmd-hist.cc (command_history::do_process_histcontrol): Likewise. + Bug #32325. + +2011-02-02 John W. Eaton + + * Range.cc (Range::Range (double, double, octave_idx_type)): + Correctly compute limit from base, increment and number of + elements. Bug #32321. + +2011-01-31 John W. Eaton + + * Sparse.cc (Sparse::assign (const idx_vector&, const idx_vector&, + const Sparse&)): Handle case of LHS originally empty, and + with non-colon indices. Fix typo in previous change. Bug #32263. + +2011-01-30 Pascal Dupuis + + * lo-sysdep.cc (opendir): On error, free allocated DIR object + before returning. + +2011-01-28 John W. Eaton + + * eigs-base.cc: Remove #endif corresponding to "#ifdef HAVE_ARPACK", + not the one that matched "#if !defined (CXX_NEW_FRIEND_TEMPLATE_DECL)". + +2011-01-28 John W. Eaton + + * eigs-base.cc (EigsRealNonSymmetricFunc, + EigsRealNonSymmetricMatrix, EigsRealNonSymmetricMatrixShift): + Initialize eig_vec2 to 0 before calling dneupd. + +2011-01-28 John W. Eaton + + * eigs-base.cc: Assume we have ARPACK. + +2011-01-27 John W. Eaton + + * Sparse.cc (Sparse::assign (const idx_vector&, const idx_vector&, + const Sparse&)): Allow 0x0 LHS with colon dimensions to + inherit dimensions from RHS. Fix tests. Bug #32263. + +2011-01-26 John W. Eaton + + * oct-refcount.h: Strip trailing whitespace. + +2011-01-24 Pascal Dupuis + + * SparseQR.h (class SparseQR::SparseQR_reps): Disallow copying. + * Array.cc (class rec_permute_helper, class rec_index_helper, + class rec_resize_helper): Likewise. + * cmd-edit.cc (class default_command_editor): Likewise. + +2011-01-22 Jaroslav Hajek + + * oct-refcount.h: New source. + * Makefile.am: Add it here. + + * Array.h: Use octave_refcount for refcounting. + * Sparse.h: Ditto. + * SparseCmplxQR.h: Ditto. + * SparseQR.h: Ditto. + * idx-vector.h: Ditto. + * oct-shlib.h: Ditto. + * sparse-base-chol.h: Ditto. + +2011-01-21 Pascal Dupuis + + * oct-fftw.h (class octave_fftw_planner): Disallow copying + (class octave_float_fftw_planner): Likewise. + * oct-sort.h (class octave_sort): Likewise. + (struct oct_sort::MergeState): Likewise. + * SparseCmplxQR.h (class SparseComplexQR::SparseComplexQR_rep): + Likewise. + * sparse-base-chol.h (class sparse_base_cho::sparse_base_chol_rep): + Likewise. + +2011-01-21 John W. Eaton + + * CMatrix.cc (xgemm): Initialize output matrix for call to ZHERK. + * fCMatrix.cc (xgemm): Initialize output matrix for call to CHERK. + +2011-01-20 John W. Eaton + + * Array-b.cc, Array-d.cc, Array-f.cc, Array-util.cc, + Array-util.h, Array.cc, Array.h, Array3.h, CColVector.cc, + CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, + CMatrix.h, CNDArray.cc, CNDArray.h, CSparse.cc, CSparse.h, + CmplxAEPBAL.cc, CmplxAEPBAL.h, CmplxCHOL.cc, CmplxGEPBAL.cc, + CmplxGEPBAL.h, CmplxHESS.cc, CmplxLU.h, CmplxQR.cc, CmplxQR.h, + CmplxSCHUR.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DASPK.cc, + DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, DET.h, + DiagArray2.h, EIG.cc, LSODE.cc, MArray.cc, MArray.h, + MDiagArray2.cc, MDiagArray2.h, MSparse.cc, MSparse.h, + MatrixType.cc, MatrixType.h, ODESFunc.h, PermMatrix.cc, + PermMatrix.h, Quad.cc, Range.cc, Sparse.cc, Sparse.h, + SparseCmplxCHOL.cc, SparseCmplxCHOL.h, SparseCmplxLU.cc, + SparseCmplxLU.h, SparseCmplxQR.cc, SparseCmplxQR.h, SparseQR.cc, + SparseQR.h, SparsedbleCHOL.cc, SparsedbleCHOL.h, + SparsedbleLU.cc, SparsedbleLU.h, base-aepbal.h, base-de.h, + base-lu.cc, base-lu.h, boolNDArray.cc, boolNDArray.h, + boolSparse.cc, boolSparse.h, bsxfun-defs.cc, chMatrix.cc, + chNDArray.cc, chNDArray.h, cmd-edit.cc, cmd-edit.h, cmd-hist.cc, + dColVector.h, dDiagMatrix.cc, dDiagMatrix.h, dMatrix.cc, + dMatrix.h, dNDArray.cc, dNDArray.h, dSparse.cc, dSparse.h, + dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleGEPBAL.cc, + dbleGEPBAL.h, dbleQR.cc, dbleQR.h, dbleSCHUR.h, dbleSVD.h, + dim-vector.cc, dim-vector.h, dir-ops.cc, eigs-base.cc, + f2c-main.c, fCColVector.cc, fCColVector.h, fCDiagMatrix.cc, + fCDiagMatrix.h, fCMatrix.cc, fCMatrix.h, fCNDArray.cc, + fCNDArray.h, fCRowVector.cc, fCRowVector.h, fCmplxAEPBAL.cc, + fCmplxAEPBAL.h, fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxGEPBAL.h, + fCmplxHESS.cc, fCmplxLU.h, fCmplxQR.cc, fCmplxQR.h, + fCmplxQRP.cc, fCmplxSCHUR.cc, fCmplxSVD.h, fColVector.h, + fDiagMatrix.cc, fDiagMatrix.h, fEIG.cc, fMatrix.cc, fMatrix.h, + fNDArray.cc, fNDArray.h, file-ops.cc, file-stat.cc, + floatAEPBAL.cc, floatAEPBAL.h, floatCHOL.cc, floatCHOL.h, + floatGEPBAL.cc, floatGEPBAL.h, floatLU.h, floatQR.cc, floatQR.h, + floatQRP.cc, floatSCHUR.h, floatSVD.h, idx-vector.cc, + idx-vector.h, intNDArray.cc, intNDArray.h, kpse.cc, + lo-array-gripes.cc, lo-array-gripes.h, lo-cieee.c, lo-ieee.h, + lo-mappers.cc, lo-mappers.h, lo-specfun.cc, mx-defs.h, + mx-inlines.cc, oct-binmap.h, oct-convn.cc, oct-env.cc, + oct-fftw.cc, oct-fftw.h, oct-glob.cc, oct-group.h, + oct-inttypes.cc, oct-inttypes.h, oct-locbuf.cc, oct-locbuf.h, + oct-md5.cc, oct-mem.h, oct-norm.cc, oct-norm.h, oct-rand.cc, + oct-rand.h, oct-rl-hist.c, oct-shlib.cc, oct-shlib.h, + oct-sort.cc, oct-sort.h, oct-spparms.cc, oct-spparms.h, + oct-syscalls.cc, oct-time.cc, randgamma.c, randmtzig.c, + randmtzig.h, randpoisson.c, regex-match.cc, regex-match.h, + sparse-base-chol.cc, sparse-base-chol.h, sparse-base-lu.cc, + sparse-base-lu.h, sparse-dmsolve.cc, sparse-sort.cc, + sparse-sort.h, sparse-util.h, tempname.c: + Strip trailing whitespace. + +2011-01-20 John W. Eaton + + * Array.h, Array.cc + (Array::resize2 (octave_idx_type, octave_idx_type, const T&)): + New private function. + (Array::resize (octave_idx_type, octave_idx_type, const T&)): + Deprecate. Call resize2 to do the work. Remove all uses from + Octave. + + * CMatrix.h (ComplexMatrix::resize (octave_idx_type, + octave_idx_type, const Complex&)): New function. + * dMatrix.h (Matrix::resize (octave_idx_type, + octave_idx_type, double)): New function. + * fCMatrix.h (FloatComplexMatrix::resize (octave_idx_type, + octave_idx_type, const FloatComplex&)): New function. + * fMatrix.h (FloatMatrix::resize (octave_idx_type, + octave_idx_type, const float)): New function. + +2011-01-20 David Bateman + + * Sparce.cc (template Sparse::Sparse (const Array&, + const idx_vector&, const idx_vector&, octave_idx_type, + octave_idx_type, bool, octave_idx_type): Fix off by one error in the + construction of sparse column vectors. Fix indexing issue in + construction of sparse row vectors. + * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::any (int) const): + Fully initialize cidx for any called on the first dimension. + +2011-01-19 John W. Eaton + + * Array.h (explicit Array (octave_idx_type, const T&)): + Restore constructor, but mark as deprecated. + (explicit Array (octave_idx_type, octave_idx_type)): Delete. + (Array (const Array&, octave_idx_type, octave_idx_type)): Delete. + Fix all uses in Octave. + * Array3.h: Deprecate header file. Remove all uses from Octave. + +2011-01-19 John W. Eaton + + * file-stat.cc (mode_as_string): Declare buffer as an array of + 12 characters, not 11. Don't set buf[10] to '\0'; strmode + NUL-terminates the array. + +2011-01-14 David Grundberg + + * SparseQR.cc (SparseQR_rep::SparseQR_rep) [HAVE_CXSPARSE]: + Make initialization list depend on macro. Fixes compile error when + macro isn't defined. + * SparseCmplxQR.cc (SparseComplexQR_rep::SparseComplexQR_rep) + [HAVE_CXSPARSE]: Ditto. + +2011-01-14 John W. Eaton + + * lo-mappers.cc (xfloor): Move function body here from + lo-mappers.h to avoid exposing gnulib:: in a header file. + +2011-01-14 John W. Eaton + + * file-stat.cc (mode_as_string): Call strmode instead of mode_string. + + * filemode.h, filemode.c: Delete. + * Makefile.am (INCS): Remove filemode.h from the list. + (LIBOCTAVE_C_SOURCES): Remove filemode.c from the list. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2011-01-13 John W. Eaton + + * CColVector.cc, CMatrix.cc, CRowVector.cc, CSparse.cc, + CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxLU.cc, CmplxQR.cc, + CmplxQRP.cc, EIG.cc, Quad.cc, dColVector.cc, dMatrix.cc, + dRowVector.cc, dSparse.cc, dbleAEPBAL.cc, dbleCHOL.cc, + dbleLU.cc, dbleQR.cc, dbleQRP.cc, eigs-base.cc, fCColVector.cc, + fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fCmplxAEPBAL.cc, + fCmplxCHOL.cc, fCmplxLU.cc, fCmplxQR.cc, fCmplxQRP.cc, + fCmplxSVD.cc, fColVector.cc, fEIG.cc, fMatrix.cc, fNDArray.cc, + fRowVector.cc, floatAEPBAL.cc, floatCHOL.cc, floatLU.cc, + floatQR.cc, floatQRP.cc, lo-specfun.cc, oct-convn.cc: + Style fixes. + +2011-01-13 John W. Eaton + + * CMatrix.cc (get_blas_trans_arg): Return char, not char *. + Change all uses. + * dMatrix.cc (get_blas_trans_arg): Likewise. + * fCMatrix.cc (get_blas_trans_arg): Likewise. + * fMatrix.cc (get_blas_trans_arg): Likewise. + Suggested by Pascal Dupuis . + +2011-01-13 John W. Eaton + + * filemode.c: Use prototypes for function definitions. Reorder + functions to eliminate need for forward declarations. + * filemode.h: New file. + * file-stat.cc: Include filemode.h instead of using local extern + declarations. + * Makefile.am (INCS): Add filemode.h to the list. + + * lo-cutils.h: New file. + (octave_qsort, octave_strcasecmp, octave_strncasecmp, + octave_w32_library_search, octave_waitpid): Move decls here from + lo-utils.h. + * Makefile.am (INCS): Add lo-cutils.h to the list. + * lo-utils.h: Include cutils.h. + * lo-cutils.c: Include cutils.h. + +2011-01-13 John W. Eaton + + * SparseCmplxQR.cc + (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): + Correct order of member initialization. + * SparseQR.cc (SparseQR::SparseQR_rep::SparseQR_rep): Likewise. + +2011-01-13 John W. Eaton + + * oct-fftw.cc (octave_fftw_planner::octave_fftw_planner, + octave_float_fftw_planner::octave_float_fftw_planner): + Avoid duplicate initializations. Correctly initialize RN to + empty dim_vector. + +2011-01-13 John W. Eaton + + * Sparse.cc (Sparse::Sparse): Initialize all data members in + initialization lists. + +2011-01-13 John W. Eaton + + * Array.cc (rec_permute_helper::rec_permute_helper, + rec_index_helper::rec_index_helper, + rec_resize_helper::rec_resize_helper): Initialize all data + members in initialization lists. + + * Array.h, Array.cc (Array::Array): Initialize slice_data and + slice_len in memeber initialization lists. + (Array::~Array): Now virtual. + +2011-01-13 John W. Eaton + + * oct-locbuf.h (octave_chunk_buffer::~octave_chunk_buffer): + Now virtual. + (class octave_local_buffer, class octave_chunk_buffer): + Don't allow copying or assignment. + + * file-stat.h (base_file_stat::~base_file_stat): + Now protected and virtual. + +2011-01-13 John W. Eaton + + * base-lu.h (base_lu::base_lu): Initialize all data members in + initialization lists. + * base-qr.h (base_qr::base_qr): Likewise. + * DET.h (base_det::base_det): Likewise. + * sparse-base-lu.h (sparse_base_lu::sparse_base_lu): Likewise. + * sparse-base-chol.h (sparse_base_chol::sparse_base_chol): Likewise. + + * base-lu.h (base_lu::~base_lu): Explicitly define virtual destrutor. + * base-qr.h (base_qr::~base_qr): Likewise. + * base-aepbal.h (base_aepbal::~base_aepval): Likewise. + * sparse-base-lu.h (sparse_base_lu::~sparse_base_lu): Likewise. + * sparse-base-chol.h (sparse_base_chol::~sparse_base_chol): Likewise. + +2011-01-13 John W. Eaton + + * DAE.h (DAE::~DAE): Now virtual. + * DAERT.h (DAERT::~DAERT): Likewise. + * ODE.h (ODE::~ODE): Likewise. + * DAEFunc.h (DAEFunc::~DAEFunc): Likewise. + * DAERTFunc.h (DAEFunc::~DAEFunc): Likewise. + * ODEFunc.h (ODE::~ODE): Likewise. + * ODESFunc.h (ODESFunc::~ODESFunc): Likewise. + +2011-01-13 John W. Eaton + + * idx-vector.h (idx_vector_rep::idx_vector_rep, + idx_vector::idx_mask_rep::idx_mask_rep): + Initialize all data members in initialization lists. + + * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep): + Initialize data in member initialization list. + (class idx_base_rep, class idx_colon_rep, class idx_range_rep, + class idx_scalar_rep, class idx_vector_rep, class idx_mask_rep): + Don't allow assignment. + +2011-01-13 John W. Eaton + + * LSODE.h (class LSODE): Delete pointer data members. + (LSODE::LSODE): Initialize all data members in initialization lists. + * LSODE.cc (LSODE::integrate): Extract pointers to data from + array data members at each call. + + * DASPK.h (class DASPK): Delete pointer data members. + (DASPK::DASPK): Initialize all data members in initialization lists. + * DASPK.cc (DASPK::integrate): Extract pointers to data from + array data members at each call. + + * DASSL.h (class DASSL): Delete pointer data members. + (DASSL::DASSL): Initialize all data members in initialization lists. + * DASSL.cc (DASSL::integrate): Extract pointers to data from + array data members at each call. + + * DASRT.h (class DASRT): Delete pointer data members. + (DASRT::DASRT): Initialize all data members in initialization lists. + * DASRT.cc (DASRT::integrate): Extract pointers to data from + array data members at each call. + +2011-01-13 John W. Eaton + + * kpse.cc (struct str_llist_elt, struct cache_entry): + Explicitly define constructor and destructor. + + * Quad.h (Quad::Quad, IndefQuad::IndefQuad, + FloatIndefQuad::FloatIndefQuad): Initialize all data members in + initialization lists. + * CollocWt.h (CollocWt::CollocWt): Likewise. + * oct-time.h (octave_strptime::octave_strptime): Likewise. + * oct-time.cc (octave_time::octave_time): Likewise. + * pathsearch.h (dir_path::dir_path): Likewise. + * regex-match.h (regex_match::regex_match): Likewise. + * oct-sort.h (octave_sort::MergeState::MergeState): Likewise. + * oct-shlib.h, oct-shlib.cc (octave_shlib::shlib_rep::shlib_rep, + octave_shlib::octave_shlib): Likewise. + * oct-mutex.h, oct-mutex.cc (octave_mutex::octave_mutex): Likewise. + * MatrixType.cc (MatrixType::MatrixType): Likewise. + * oct-fftw.cc (octave_fftw_planner::octave_fftw_planner, + octave_float_fftw_planner::octave_float_fftw_planner): Likewise. + + * mach-info.h, mach-info.cc (oct_mach_info::oct_mach_info): + Initialize all data members in initialization lists. + (ten_little_endians): Rename from oct_mach_info::ten_little_endians. + Now static instead of private member function + (get_float_format): Rename from oct_mach_info::init_float_format. + Now static instead of private member function. + + * dir-ops.h, dir-ops.cc (dir_entry::copy): Delete. + (dir_entry::dir_entry): Initialize all data members in + initialization lists. + (dir_entry::operator =): Copy elements directly here instead of + calling copy. + +2011-01-13 John W. Eaton + + * cmd-hist.h, cmd-hist.cc: Sprinkle with const. + +2011-01-13 John W. Eaton + + * CmplxCHOL.h (ComplexCHOL::ComplexCHOL): Initialize all data + members in constructor initialization lists. + * CmplxGEPBAL.h (ComplexGEPBALANCE::ComplexGEPBALANCE): Likewise. + * CmplxHESS.h (ComplexHESS::ComplexHESS): Likewise. + * CmplxSCHUR.h, CmplxSCHUR.cc (ComplexSCHUR::ComplexSCHUR): Likewise. + * CmplxSVD.h (ComplexSVD::ComplexSVD): Likewise. + * DET.h (base_det::base_det): Likewise. + * EIG.h (EIG::EIG): Likewise. + * SparseCmplxQR.cc + (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): + Likewise. + * SparseQR.cc (SparseQR::SparseQR_rep::SparseQR_rep): Likewise. + * dbleCHOL.h (CHOL::CHOL): Likewise. + * dbleGEPBAL.h (GEPBALANCE::GEPBALANCE): Likewise. + * dbleHESS.h (HESS::HESS): Likewise. + * dbleSCHUR.h, dbleSCHUR.cc (SCHUR::SCHUR): Likewise. + * dbleSVD.h (SVD::SVD): Likewise. + * fCmplxCHOL.h (FloatComplexCHOL::FloatComplexCHOL): Likewise. + * fCmplxGEPBAL.h + (FloatComplexGEPBALANCE::FloatComplexGEPBALANCE): Likewise. + * fCmplxHESS.h (FloatComplexHESS::FloatComplexHESS): Likewise. + * fCmplxSCHUR.h, fCmplxSCHUR.cc + (FloatComplexSCHUR::FloatComplexSCHUR): Likewise. + * fCmplxSVD.h (FloatComplexSVD::FloatComplexSVD): + Likewise. + * fEIG.h (FloatEIG::FloatEIG): Likewise. + * floatCHOL.h (FloatCHOL::FloatCHOL): Likewise. + * floatGEPBAL.h (FloatGEPBALANCE::FloatGEPBALANCE): Likewise. + * floatHESS.h (FloatHESS::FloatHESS): Likewise. + * floatSCHUR.h, floatSCHUR.cc (FloatSCHUR::FloatSCHUR): Likewise. + * floatSVD.h (FloatSVD::FloatSVD): Likewise. + +2011-01-13 John W. Eaton + + * LSODE.cc, DASSL.cc, DASRT.cc, DASPK.cc, CmplxSVD.cc, + CmplxSCHUR.cc, CmplxHESS.cc, CmplxGEPBAL.cc, CmplxCHOL.cc, + EIG.cc, dbleCHOL.cc, dbleGEPBAL.cc, dbleHESS.cc, dbleSCHUR.cc, + dbleSVD.cc, fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxHESS.cc, + fCmplxSCHUR.cc, fCmplxSVD.cc, fEIG.cc, floatCHOL.cc, + floatGEPBAL.cc, floatHESS.cc, floatSCHUR.cc, floatSVD.cc: + Style fixes. + +2011-01-12 John W. Eaton + + * oct-rl-hist.c (hc_erasedups): Avoid GCC warning. + +2011-01-12 Jordi Gutiérrez Hermoso + + * oct-rl-hist.h: Replace macros with an enum + +2011-01-12 Pascal Dupuis + John W. Eaton + + * cmd-hist.cc (command_history::process_histcontrol, + command_history::hist_control, command_history::process_histcontrol, + command_history::hist_control): New functions. + (command_history::initialize, command_history::do_initialize): + New arg, control_arg. + * cmd-hist.cc (gnu_history::do_add): Pass history_control to + octave_add_history. + * cmd-hist.h (command_history::process_histcontrol, + command_history::hist_control, command_history::process_histcontrol, + command_history::hist_control): Provide decls. + (command_history::history_control): New data member. + + * oct-rl-hist.c (octave_add_history): New arg, history_control. + Return int, not void. + (check_history_control, hc_erasedups): New static functions + borrowed from Bash. + * oct-rl-hist.h (octave_add_history): Fix decl. + (HC_IGNSPACE, HC_IGNDUPS, HC_ERASEDUPS): New #defined constants. + +2011-01-06 John W. Eaton + + * oct-md5.cc (oct_md5_file): Tag call to fclose with gnulib::. + * Range.cc (tfloor): Tag calls to floor with gnulib::. + * lo-mappers.h (xfloor): Tag call to floor with gnulib:: + +2010-12-20 John W. Eaton + + * lo-mappers.h (xrem, xmod): Declare temporary result from + multiplication volatile. + +2010-12-15 John W. Eaton + + Bug #31883. + + * cmd-hist.cc (command_history::do_clean_up_and_save, + command_history::do_truncate_file, + command_history::do_append, command_history::do_write, + gnu_history::do_clean_up_and_save, gnu_history::do_truncate_file, + gnu_history::do_append, gnu_history::do_write, + gnu_history::do_read_range): + Don't do anything if not initialized. + + * cmd-hist.cc, cmd-hist.h (command_history::initialize, + command_history::is_initialized): New static functions. + (command_history::do_initialize, + command_history::do_is_initialized): New member functions. + + * cmd-hist.h (command_history::initialized): New data member. + (comand_history::command_history): Initialize it. + +2010-12-14 John W. Eaton + + * lo-mappers.h (xcopysign (double)): Call copysign, not copysignf. + (xmod): Call X_NINT, not D_NINT. Call xfloor, not floor. + Bug #31872. + +2010-12-13 John W. Eaton + + * CMatrix.cc (operator * (const Matrix& m, const ComplexMatrix& a)): + Fix cut and paste error. Bug #31869. + +2010-12-09 Marco Atzeri + + * lo-specfun.cc (xgamma): Also handle negative integer values as + special cases when using tgamma. Bug #31772. + +2010-11-25 John W. Eaton + + * Sparse.cc (Sparse::assign): Use correct endpoint for + destination range when making room for new elements. + Bug #31734. + +2010-11-23 John W. Eaton + + * oct-md5.cc (oct_md5_result_to_str): Avoid buffer overrun in + call to sprintf. Replace loop with a single call to sprintf. + Bug #31689. + +2010-11-23 John W. Eaton + + * oct-md5.cc (oct_md5_file): Close file after reading. + +2010-11-22 John W. Eaton + + * boolSparse.cc (SparseBoolMatrix::sum, SparseBoolMatrix::any): + Cast integer idx_vector argument to octave_idx_type. + +2010-11-18 John W. Eaton + + * chMatrix.cc (charMatrix::row_as_string): Never strip trailing + nul characters. Bug #31689. + +2010-11-12 John W. Eaton + + * Makefile.am (LIBOCTAVE_SOURCES): Delete variable. + (liboctave_la_SOURCES): Include $(LIBOCTAVE_CXX_SOURCES) and + $(LIBOCTAVE_C_SOURCES) in this list instead of + $(LIBOCTAVE_SOURCES). + (nodist_liboctave_la_SOURCES): New variable. + (octinclude_HEADERS): Don't include $(BUILT_INCS) in the list. + (noinst_octinclude_HEADERS): New variable. + (PRIVATE_INCS): Delete variable. + (INCS): Include oct-glob.h in the list. + (liboctave_la_SOURCES): Don't include $(PRIVATE_INCS) in the + list. + (LIBOCT_PATHSEARCH_CXX_SOURCES, LIBOCT_PATHSEARCH_C_SOURCES, + LIBOCT_PATHSEARCH_SOURCES): Delete variables. + (LIBOCTAVE_CXX_SOURCES): Include pathsearch.cc in the list. + +2010-11-12 John W. Eaton + + * Array.cc (Array::cat): Simplify previous change. + +2010-11-11 John W. Eaton + + * Array.cc (Array::cat): New special case for concatenating + empty matrices. Bug #31615. + +2010-11-11 John W. Eaton + + * lo-mappers.cc (xtrunc, xround): Move definitions here from + lo-mappers.h. + +2010-11-10 John W. Eaton + + * kpse-xfns.c: Delete. + * kpse-xfns.h: Delete. Move defintions to kpse.cc. + * Makefile.am (INCS): Remove kpse-xfns.h from the list. + (LIBOCT_PATHSEARCH_SOURCES): Define to pathsearch.cc. + (LIBOCT_PATHSEARCH_CXX_SOURCES, LIBOCT_PATHSEARCH_C_SOURCES): + Delete variables. + +2010-11-10 John W. Eaton + + * lo-cieee.c Eliminate special cases for SCO. + +2010-11-10 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Don't initialize octave_Inf, + octave_NaN, and octave_NA to DBL_MAX. Don't initialize + octave_Float_Inf, octave_Float_NaN, and octave_Float_NA to FLT_MAX. + (octave_ieee_init): Simplify using std::numeric_limits template. + +2010-11-10 John W. Eaton + + * syswait.h: Delete special cases for NeXT systems. + +2010-11-10 John W. Eaton + + * lo-sysdep.cc (octave_chdir): Delete special case for __EMX__. + * oct-env.cc (octave_env::do_make_absolute): Likewise. + +2010-11-10 John W. Eaton + + * lo-ieee.h: Eliminate special cases for SCO. + * lo-ieee.cc (octave_ieee_init): Eliminate special cases for SCO. + +2010-11-09 John W. Eaton + + * lo-mappers.h (xmod, xrem): Don't copy sign if result is zero. + +2010-11-09 John W. Eaton + + * lo-mappers.cc, lo-mappers.h (xisnan, xisinf, xfinite, xmod, + xrem, floor, ceil, xround, xroundb, signum): Move definitions + from lo-mappers.cc to lo-mappers.h and convert to templates. + (xtrunc): Move definitions from lo-mappers.cc to lo-mappers.h. + * lo-mappers.cc (fix): Use xtrunc. Move definitions to + lo-mappers.cc from lo-mappers.h. + (real, imag, conj) Move definitions to lo-mappers.h and declare inline. + (round): Move definitions to lo-mappers.h and declare inline. + Use roundf for float version. + (arg): Move definitions to lo-mappers.h and declare inline. + Use atan2f for float version. + * lo-mappers.h (xceil): New functions. + (X_NINT): New template function. + (D_NINT, F_NINT): Define in terms of X_NINT. + * lo-utils.h, lo-utils.cc (D_NINT, F_NINT): Delete. + * lo-mappers.h, lo-mappers.cc (NINTbig, NINT): Move from + lo-utils.cc and lo-utils.h. + +2010-11-09 John W. Eaton + + * Array.cc (Array::sort, Array::is_sorted, + Array::is_sorted_rows): Use comparisons to sortmode values + instead of testing mode directly. + +2010-11-09 John W. Eaton + + * lo-mappers.cc (xmod, xrem): New functions. + (mod): Delete. + * lo-mappers.h (xmod, xrem): Provide decls. + +2010-10-31 Michael Goffioul + + * dim-vector.h (class dim_vector): tag with OCTAVE_API. + +2010-10-21 John W. Eaton + + * Makefile.am (INCS): Include lo-array-gripes.h in the list. + (LIBOCTAVE_CXX_SOURCES): Include lo-array-gripes.cc in the list. + + * lo-array-gripes.h: New file. Move gripe function decls here + from Array-util.h. + * lo-array-gripes.c: New file. Move gripe function definitions + here from Array-util.cc. + + * CMatrix.cc (ComplexMatrix::operator !): Gripe if any element is NaN. + * CNDArray.cc (ComplexNDArray::operator !): Likewise. + * CSparse.cc (SparseComplexMatrix::operator !): Likewise. + * dMatrix.cc (Matrix::operator !): Likewise. + * dNDArray.cc (NDArray::operator !): Likewise. + * dSparse.cc (SparseMatrix::operator !): Likewise. + * fCMatrix.cc (FloatComplexMatrix::operator !): Likewise. + * fCNDArray.cc (FloatComplexNDArray::operator !): Likewise. + * fMatrix.cc (FloatMatrix::operator !): Likewise. + * fNDArray.cc (FloatNDArray::operator !): Likewise. + +2010-10-21 John W. Eaton + + * Array-util.cc (gripe_nan_to_character_conversion): New function. + * Array-util.h: Provide decl. + +2010-10-19 John W. Eaton + + * Makefile.am (INCS): Add caseless-str.h to the list. + +2010-10-01 John W. Eaton + + * caseless-str.h: New file, extracted from src/graphics.h.in. + +2010-09-22 Jaroslav Hajek + + * lo-utils.cc (xis_int_or_inf_or_nan): Fix typos. + +2010-09-21 Jaroslav Hajek + + * Array.h (Array::test, Array::test_all, Array::test_any): New + overloaded template methods. + * lo-mappers.h (xisinteger, xnegative_sign): New bool mappers. + * dNDArray.cc (NDArray::any_element_is_negative, + NDArray::all_integers): Simplify. + * fNDArray.cc (FloatNDArray::any_element_is_negative, + FloatNDArray::all_integers): Simplify. + + * lo-utils.cc (xis_int_or_inf_or_nan, xis_one_or_zero, + xis_zero, xtoo_large_for_float): New utility functions. + + * dNDArray.cc (NDArray::any_element_is_negative, + NDArray::all_integers, NDArray::all_elements_are_zero, + NDArray::all_elements_are_int_or_inf_or_nan, + NDArray::any_element_not_one_or_zero, + NDArray::too_large_for_float): Simplify. + + * fNDArray.cc (FloatNDArray::any_element_is_negative, + FloatNDArray::all_integers, FloatNDArray::all_elements_are_zero, + FloatNDArray::all_elements_are_int_or_inf_or_nan, + FloatNDArray::any_element_not_one_or_zero, + FloatNDArray::too_large_for_float): Simplify. + +2010-09-21 Jaroslav Hajek + + * dNDArray.cc (NDArray::any_element_is_negative, + NDArray::any_element_is_nan, + NDArray::any_element_is_inf_or_nan): Simplify. + * fNDArray.cc (FloatNDArray::any_element_is_negative, + FloatNDArray::any_element_is_nan, + FloatNDArray::any_element_is_inf_or_nan): Simplify. + * dMatrix.cc (Matrix::any_element_is_negative, + Matrix::any_element_is_nan, + Matrix::any_element_is_inf_or_nan): Simplify. + * fMatrix.cc (FloatMatrix::any_element_is_negative, + FloatMatrix::any_element_is_nan, + FloatMatrix::any_element_is_inf_or_nan): Simplify. + * CNDArray.cc (ComplexNDArray::any_element_is_negative, + ComplexNDArray::any_element_is_nan, + ComplexNDArray::any_element_is_inf_or_nan): Simplify. + * fCNDArray.cc (FloatComplexNDArray::any_element_is_negative, + FloatComplexNDArray::any_element_is_nan, + FloatComplexNDArray::any_element_is_inf_or_nan): Simplify. + * CMatrix.cc (ComplexMatrix::any_element_is_negative, + ComplexMatrix::any_element_is_nan, + ComplexMatrix::any_element_is_inf_or_nan): Simplify. + * fCMatrix.cc (FloatComplexMatrix::any_element_is_negative, + FloatComplexMatrix::any_element_is_nan, + FloatComplexMatrix::any_element_is_inf_or_nan): Simplify. + +2010-09-21 John W. Eaton + + * oct-env.cc (do_get_host_name): Call gnulib::gethostname + instead of octave_gethostname. + + * lo-utils.h, lo-cutils.c (octave_gethostname): Delete. + +2010-09-20 John W. Eaton + + * oct-time.cc (octave_time::octave_time, octave_strptime::init): + Call gnulib::mktime instead of mktime (may fix bug #31079). + +2010-09-15 Jaroslav Hajek + + * dSparse.h (SparseMatrix::SparseMatrix (const Sparse&)): + New ctor. + * CSparse.h (SparseComplexMatrix::SparseComplexMatrix + (const Sparse&)): New ctor. + * boolSparse.cc (SparseBoolMatrix::sum): New method. + * boolSparse.h: Declare it. + +2010-09-15 Jaroslav Hajek + + * boolSparse.cc (SparseBoolMatrix::any): Optimize. + +2010-08-24 Jaroslav Hajek + + * Array-ch.cc: Inline basic sorts. + +2010-08-21 Rik + + * CmplxQRP.cc, CmplxQRP.h, dbleQRP.cc, dbleQRP.h, fCmplxQRP.cc, + fCmplxQRP.h, floatQRP.cc, floatQRP.h: Declare Pvec as RowVector, + not ColumnVector. Bug #30832. + +2010-08-18 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_all_finite): New check. + * Sparse-op-defs.h (SPARSE_SMS_BIN_OP_1, SPARSE_SMS_BIN_OP_2, + SPARSE_SSM_BIN_OP_1, SPARSE_SSM_BIN_OP_2): Use unchecked access where + appropriate. + (SPARSE_SMM_BIN_OP_1, SPARSE_MSM_BIN_OP_1): Simplify. + (SPARSE_SMM_BIN_OP_2, SPARSE_MSM_BIN_OP_2): Use optimized code path + if all values are finite. + (SPARSE_MSM_BIN_OPS): Use SPARSE_MSM_BIN_OP_1 for division. + +2010-07-31 Rik + + * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in, LSODE-opts.in, + Quad-opts.in: Grammarcheck .cc files + +2010-07-29 Jaroslav Hajek + + * dim-vector.cc (dim_vector::dim_max (void)): Turn it into a function. + (dim_vector::safe_numel): Update usage. + * dim-vector.h: Update declaration. + +2010-07-27 Jaroslav Hajek + + * dbleSCHUR.cc (SCHUR::SCHUR (const Matrix&, const Matrix&)): + New ctor. + * dbleSCHUR.h: Declare it. + * floatSCHUR.cc (FloatSCHUR::FloatSCHUR (const FloatMatrix&, const + FloatMatrix&)): New ctor. + * floatSCHUR.h: Declare it. + * CmplxSCHUR.cc (ComplexSCHUR::ComplexSCHUR (const ComplexMatrix&, + const ComplexMatrix&), + ComplexSCHUR::ComplexSCHUR (const SCHUR&)): New ctors. + * CmplxSCHUR.h: Declare them. + * fCmplxSCHUR.cc (FloatComplexSCHUR::FloatComplexSCHUR + (const FloatComplexMatrix&, const FloatComplexMatrix&), + FloatComplexSCHUR::FloatComplexSCHUR (const FloatSCHUR&)): New ctors. + * fCmplxSCHUR.h: Declare them. + +2010-07-22 Jaroslav Hajek + + * dMatrix.cc (Matrix::lssolve): Fix decision test for workaround. + * fMatrix.cc (FloatMatrix::lssolve): Ditto. + * CMatrix.cc (ComplexMatrix::lssolve): Ditto. + * fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto. + +2010-07-20 Jaroslav Hajek + + * dim-vector.cc (dim_vector::dim_max): New static const member. + * dim-vector.h: Declare it. + +2010-07-20 Jaroslav Hajek + + * dMatrix.cc (Matrix::extract, Matrix::extract_n): Reimplement using + index. + * fMatrix.cc (FloatMatrix::extract, FloatMatrix::extract_n): Ditto. + * CMatrix.cc (ComplexMatrix::extract, ComplexMatrix::extract_n): Ditto. + * fCMatrix.cc (FloatComplexMatrix::extract, FloatComplexMatrix::extract_n): Ditto. + +2010-07-13 Jaroslav Hajek + + * MSparse.h (MSparse::index): Remove overloads. + * dSparse.h (SparseMatrix::index): Likewise. + * dSparse.cc (SparseMatrix::index): Likewise. + * CSparse.h (SparseComplexMatrix::index): Likewise. + * CSparse.cc (SparseComplexMatrix::index): Likewise. + +2010-07-09 Jaroslav Hajek + + * CMatrix.cc (ComplexMatrix::lssolve (const ComplexMatrix&)): + Undo 10708:2786b7ae3f80, implement proper correction. + * fCMatrix.cc (FloatComplexMatrix::lssolve (const FloatComplexMatrix&)): + Ditto. + +2010-06-28 Jaroslav Hajek + + * dim-vector.h (dim_vector::scalar_1x1): New method. + * lo-traits.h (equal_types): Fix. + +2010-06-21 Jaroslav Hajek + + * Array.cc (Array::cat): Implement the loose horzcat/vertcat rules + under dim=-1/-2. + * Sparse.cc (Array::cat): Implement the loose horzcat/vertcat rules + under dim=-1/-2. + * Array.h, Sparse.h: Document it. + +2010-06-17 Jaroslav Hajek + + * dim-vector.cc (dim_vector::hvcat): New method. + * dim-vector.h (dim_vector::hvcat, dim_vector::cat): Update decls. + (dim_vector::empty_2d): New method. + +2010-06-17 Jaroslav Hajek + + * MatrixType.cc (matrix_real_probe): Use OCTAVE_LOCAL_BUFFER for + temporary array. + (matrix_complex_probe): Parametrize by real type. Use + OCTAVE_LOCAL_BUFFER for temporary array. + +2010-06-16 Rik + + * DASSL-opts.in: Periodic grammar check on documentation. + +2010-06-16 David Bateman + + * oct-rand.cc (void octave_rand:do_reset (void), + void octave_rand:do_reset (const std::string&)): New functions + * oct-rand.h (void octave_rand:do_reset (void), + void octave_rand:do_reset (const std::string&)): Declare them + (void octave_rand:reset (void), + void octave_rand:reset (const std::string&)): New functions. + +2010-06-16 Jaroslav Hajek + + * CMatrix.cc (ComplexMatrix::lssolve (const ComplexMatrix&)): + Workaround LAPACK bug. + * fCMatrix.cc (FloatComplexMatrix::lssolve (const FloatComplexMatrix&)): + Ditto. + +2010-06-14 Jaroslav Hajek + + * Array.cc (Array::sort, Array::nth_element): Fix behavior when + trailing singleton dim is specified. + * Sparse.cc (Sparse::sort): Ditto. + +2010-06-14 Jaroslav Hajek + + * idx-vector.cc (idx_vector::copy_data): Handle class_mask case. + (idx_vector::increment): Fix class_colon and add class_mask. + +2010-06-06 Michael Goffioul + + * mx-op-defs.h (MNANCHK): Add matrix element type argument and use it + to specify template argument for mx_inline_any_nan. + (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP, + NDND_BOOL_OP): Specify new MNANCHK argument. + +2010-06-04 Jaroslav Hajek + + * dim-vector.cc: New source. + * Makefile.am: Add it. + * dim-vector.h (dim_vector::chop_all_singletons, + dim_vector::str, dim_vector::num_ones, dim_vector::safe_numel, + dim_vector::squeeze, dim_vector::concat, dim_vector::redim): + Move bodies to dim_vector.cc. + (dim_vector::concat): Rewrite. + * Array.cc (Array::cat): Fix dim_vector concatenation. Don't use 0x0 + as neutral element, because it isn't with dim > 1. + +2010-06-01 Jaroslav Hajek + + * Array.cc (Array::optimize_dimensions): New method. + * Array.h: Declare it. + +2010-06-01 Jaroslav Hajek + + * Array.cc (Array::maybe_delete_dims): Remove method (makes no + longer sense). + * Array.h: Update decls. + +2010-05-20 Jaroslav Hajek + + * dim-vector.h (dim_vector::compute_index (const octave_idx_type *, + int)): New method overload. + (dim_vector::compute_index, dim_vector::cum_compute_index, + dim_vector::increment_index): Add missing const qualifiers. + + * Array-util.cc (compute_index (..., const dim_vector&)): Rewrite, + add new overloads. Move code from Array::checkelem here. + * Array-util.h: Update decls. + * Array.h (Array::compute_index): Forward to the above. + (Array::compute_index_unchecked): New method. + (Array::elem, Array::xelem): Call it here. + + * Array.cc (Array::checkelem): Use compute_index where suitable. + +2010-05-19 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_cumcount): Fix 2D version instantiation. + +2010-05-14 Jaroslav Hajek + + * Array.cc (Array::linearize): Remove. + * Array.h (Array::linearize): Remove decl. + +2010-05-13 Jaroslav Hajek + + * dMatrix.cc (Matrix::lssolve): Remove warnings about rank. + * fMatrix.cc (FloatMatrix::lssolve): Ditto. + * CMatrix.cc (ComplexMatrix::lssolve): Ditto. + * fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto. + +2010-05-11 Jaroslav Hajek + + * idx-vector.cc (idx_vector::unmask): Fix off-by-1 bug. Add tests. + +2010-05-06 Jaroslav Hajek + + * Array.cc (Array::delete_elements (const idx_vector&)): Only call + resize1 when deleting the last element of a vector. + +2010-05-06 Jaroslav Hajek + + * oct-norm.h: Fix include guard. + +2010-05-06 Jaroslav Hajek + + * dbleSCHUR.cc (SCHUR::init): Handle empty matrix case. + Use clear rather than resize to realloc matrix. + * floatSCHUR.cc (FloatSCHUR::init): Ditto. + * CmplxSCHUR.cc (ComplexSCHUR::init): Ditto. + * fCmplxSCHUR.cc (FloatComplexSCHUR::init): Ditto. + +2010-05-04 John W. Eaton + + * CollocWt.cc (diff, jcobi, dfopr): New functions, based on + Fortran functions in libcruft/villad. + (jcobi): Handle iteration failure at large N. + (CollocWt::init): Call them instead of Fortran code. + * CollocWt.h (CollocWt::initialized): Declare as bool, not int. + Change all uses. + Addresses bug #29473. + +2010-05-03 Jaroslav Hajek + + * dbleSVD.h (SVD::driver): New enum. + (SVD::SVD, SVD::init): Add driver option. + * floatSVD.h (FloatSVD::FloatSVD, FloatSVD::init): Add driver option. + * CmplxSVD.h (ComplexSVD::ComplexSVD, ComplexSVD::init): + Add driver option. + * fCmplxSVD.h (FloatComplexSVD::FloatComplexSVD, + FloatComplexSVD::init): Add driver option. + * dbleSVD.cc (SVD::init): Optionally use xGESDD driver. + * floatSVD.cc (FloatSVD::init): Ditto. + * CmplxSVD.cc (ComplexSVD::init): Ditto. + * fCmplxSVD.cc (FloatComplexSVD::init): Ditto. + +2010-04-28 John W. Eaton + + * dim-vector.h (dim_vector (const octave_idx_type *, size_t)): Delete. + * Sparse.cc (Sparse::assign): Cast 0 to octave_idx_type in + call to Sparse constructor. + Addresses bug #29692. + +2010-04-27 John W. Eaton + + * intNDArray.cc (intNDArray::abs, intNDArray::signum): + Create new vector for return values. Fixes bug #29685. + +2010-04-23 Jaroslav Hajek + + * Sparse.cc (Sparse::assign): Fix typos. + +2010-04-20 Jaroslav Hajek + + * Sparse.h (::assign, ::assign1): Remove declarations. + +2010-04-19 Jaroslav Hajek + + * Array.cc (Array::cat): Fast return for single array case. + * Sparse.cc (Sparse::cat): Ditto. + +2010-04-19 Jaroslav Hajek + + * Array.cc (Array::cat): Miscellaneous fixes. + * Sparse.cc (Sparse::cat): Ditto. + +2010-04-18 Jaroslav Hajek + + * Array.cc (Array::cat): New method. + * Array.h: Declare it. + * Sparse.cc (Sparse::cat): New method. + * Sparse.h: Declare it. + +2010-04-16 David Bateman + + * Sparse.cc (template Sparse::Sparse (const Array&, + const idx_vector&, const idx_vector&, octave_idx_type, + octave_idx_type, bool, octave_idx_type)): Add argument defining the + minimum storage to allocate for the sparse matrix. + * Sparse.h (template Sparse (const Array&, + const idx_vector&, const idx_vector&, octave_idx_type, + octave_idx_type, bool, octave_idx_type)): ditto. + * MSparse.h : ditto + * CSparse.h : ditto + * dSparse.h : ditto + * boolSparse.h : ditto + +2010-04-14 Jaroslav Hajek + + * Sparse.cc: Update failing tests. + +2010-04-13 Jaroslav Hajek + + * Sparse.cc (Sparse::index): If S is a sparse column vector, + forward S(I,1) and S(I,:) to 1D indexing. Handle permutation indexing + in the 1D case. + (Sparse::assign): If S is a sparse column vector, + forward S(I,1) = X and S(I,:) =X to 1D indexed assignment. + * idx-vector.cc (idx_vector::inverse_permutation): Add missing break. + +2010-04-13 Jaroslav Hajek + + * Array-util.cc (gripe_invalid_assignment_size, + gripe_assignment_dimension_mismatch): Move funcs here from Array.cc + * Array-util.h: Declare them. + * Array.cc: Remove them. + + * Sparse.cc (Sparse::assign): New overloaded method. + (Sparse::operator =): Update. + (Sparse::resize1): Rewrite to match sparse assignment specifics. + (Sparse::set_index, Sparse::clear_index, Sparse::index_count, + Sparse::value): Remove methods. + (::assign1, ::assign): Remove funcs. + + (INSTANTIATE_SPARSE): Move here from Sparse.h. + + * Sparse.h (Sparse::idx, Sparse::idx_count): Remove member + fields. Remove initializations from all ctors. + (Sparse::get_idx): Remove. + (Sparse::assign): Add decls. + (INSTANTIATE_SPARSE_ASSIGN, INSTANTIATE_SPARSE_AND_ASSIGN): Remove. + (INSTANTIATE_SPARSE): Move to Sparse.cc + + * Sparse-C.cc, Sparse-d.cc, Sparse-b.cc: Only call INSTANTIATE_SPARSE. + + * idx-vector.cc (idx_vector::inverse_permutation): New method. + * idx-vector.h: Declare it. + +2010-04-12 Jaroslav Hajek + + * Sparse.cc (Sparse::Sparse (const Array&, const idx_vector&, + const idx_vector&, ...)): Call maybe_compress after matrix is created. + +2010-04-09 Jaroslav Hajek + + * Sparse.cc (Sparse::diag): Change nzmax to nnz where appropriate. + * MatrixType.cc (MatrixType::MatrixType): Ditto. + * SparseQR.cc: Ditto. + * SparseCmplxQR.cc: Ditto. + * boolSparse.cc: Ditto. + +2010-04-08 Jaroslav Hajek + + * Sparse.cc (Sparse::resize (octave_idx_type, octave_idx_type)): + Rewrite. Be smarter esp. when resizing to more columns. + +2010-04-08 Jaroslav Hajek + + * dim-vector.h (dim_vector::concat): Ignore zero_by_zero, but not + all_zero arrays in concatenation (like Matlab). + +2010-04-07 Jaroslav Hajek + + * Sparse.cc (Sparse::index (const idx_vector&, bool)): Use shallow + copy when column is indexed by colon. + +2010-04-07 Jaroslav Hajek + + * Sparse.cc (lblookup): Move in front of Sparse::delete_elements. + +2010-04-07 Jaroslav Hajek + + * str-vec.h (string_vector::string_vector (const Array)): + New constructor. + +2010-04-06 Jaroslav Hajek + + * idx-vector.cc (idx_vector::complement): Rewrite. + +2010-04-06 Jaroslav Hajek + + * Sparse.cc (Sparse::maybe_delete_elements): Rename to + delete_elements. Use const reference arguments. + (Sparse::delete_elements (const idx_vector&, const idx_vector&)): + Rewrite. + (Sparse::maybe_delete_elements (int dim, const idx_vector&)): New + overload. + (Sparse::maybe_delete_elements (Array&)): Remove + overload. + +2010-04-06 Jaroslav Hajek + + * idx-vector.cc, Array-util.h, Array-util.cc: Reverse effects of + 4e64fbbd5c58. + +2010-04-02 John W. Eaton + + * Array-util.cc, idx-vector.cc, idx-vector.h: Style fixes. + +2010-04-02 John W. Eaton + + * idx-vector.cc (idx_vector::idx_vector (const Range&)): + Move here from idx-vector.h. Allow non-integer values in ranges, + but warn by default (for Matlab compatibility). + * Array-util.h, Array-util.cc (gripe_invalid_index): New arg, ERR. + If ERR is false, generate warning instead of error. + +2010-04-02 Jaroslav Hajek + + * Sparse.cc (Sparse::maybe_delete_elements): Rewrite. Optimize for + sparse column vectors. + +2010-04-01 Jaroslav Hajek + + * mx-inlines.cc: Declare all loops as throw (). Ditto for + corresponding applier arguments. + (do_mx_check): New applier. + (logical_value): Do not throw exceptions. + * mx-op-defs.h (SNANCHK, MNANCHK): New helper macros. + (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP, + NDND_BOOL_OP): Use them here. + +2010-03-31 Jaroslav Hajek + + * Sparse.cc (Sparse::Sparse (const Array&, + const Array&, ...), Sparse::Sparse (const Array&, + const Array&, ...)): + Remove old constructors. + * Sparse.h: Ditto. + * MSparse.h: Ditto. + * dSparse.h: Ditto. + * CSparse.h: Ditto. + * boolSparse.h: Ditto. + +2010-03-31 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_range_rep::as_array): Fix typo. + (idx_vector::raw): Use unchecked constructor. + * Sparse.cc (Sparse::Sparse (const Array&, const idx_vector&, + const idx_vector&, ...)): New ctor. + * Sparse.h: Declare it. + +2010-03-30 John W. Eaton + + * str-vec.cc (string_vector::string_vector (const char * const *)): + Create empty string_vector object if arg is NULL. + Fixes bug #29386. + +2010-03-29 Jaroslav Hajek + + * idx-vector.cc (idx_vector::raw): New method. + * idx-vector.h: Declare it. + +2010-03-27 David Bateman + + * oct-openmp.h: New file. + * Makefile.am (INCS): Add it here. + +2010-03-26 Jaroslav Hajek + + * Sparse.cc (Sparse::index (const idx_vector&, const idx_vector&, + bool)): Specialize for contiguous row range, row permutation, + and implement general case through double index-transpose. + +2010-03-25 John W. Eaton + + * eigs-base.cc (EigsComplexNonSymmetricFunc): Avoid warning + about deprecated Array constructor. + +2010-03-25 John W. Eaton + + * cmd-edit.cc, file-ops.cc, lo-math.h, lo-utils.cc, oct-env.cc, + dir-ops.cc, file-stat.cc, cmd-hist.cc, oct-time.cc, oct-time.h, + oct-uname.cc: Revert changes from 2010-03-24 and 2010-03-25. + +2010-03-25 Jaroslav Hajek + + * lo-mappers.cc (fix (double)): Forward to gnulib::trunc. + (fix (float)): Forward to gnulib::truncf. + (xround (double)): Forward to gnulib::round. + (xround (float)): Forward to gnulib::roundf. + (xtrunc (double)): Forward to gnulib::trunc. + (xtrunc (float)): Forward to gnulib::truncf. + +2010-03-25 David Grundberg + + * oct-time.h (octave_time): Revert ::modf to std::modf again now + that cmath is included again. + +2010-03-25 Jaroslav Hajek + + * lo-math.h: Include both "math.h" and "cmath". + +2010-03-24 David Grundberg + + * cmd-edit.cc: Include gnulib stdlib.h/string.h instead of C++ + headers. + * file-ops.cc: Include gnulib stdlib.h/stdio.h/string.h instead of + C++ headers. + * lo-math.h: Include gnulib math.h instead of C++ headers. + * lo-utils.cc: Include gnulib stdlib.h instead of C++ headers. + * oct-env.cc, dir-ops.cc, file-stat.cc, cmd-hist.cc: Include + gnulib string.h instead of C++ headers. + * oct-time.cc: Include gnulib time.h instead of C++ headers. + * oct-time.h (octave_time): Use default namespace ::modf instead + of std::modf. + * oct-uname.cc: Include gnulib string.h instead of C++ headers. + +2010-03-24 Jaroslav Hajek + + * Sparse.cc (lblookup): New helper func. + (Sparse::index (const idx_vector&, bool)): Use it here for lookups. + (Sparse::index (const idx_vector&, const idx_vector&, bool)): + Specialize for scalar row index. + +2010-03-23 John W. Eaton + + * config-ops.sh: Work properly for "all" cases. + +2010-03-23 Jaroslav Hajek + + * oct-inttypes.h (octave_int_arith_base::rem, octave_int_base::mod): + New methods. + (rem, mod): New template functions. + * lo-mappers.cc (rem, mod): New overloaded functions. + * lo-mappers.h: Declare them. + +2010-03-23 Jaroslav Hajek + + * oct-binmap.h: New source. + * Makefile.am: Include it here. + +2010-03-22 John W. Eaton + + * config-ops.sh: Accept additional arguments. + * Makefile.am ($(srcdir)/vx-op-inc.mk, $(srcdir)/mx-op-inc.mk + $(srcdir)/smx-op-inc.mk, $(srcdir)/vx-op-src.mk, $(srcdir)/mx-op-src.mk + $(srcdir)/smx-op-src.mk): Pass additional arguments to config-ops.sh. + +2010-03-22 Jaroslav Hajek + + * Sparse.cc (Sparse::index (const idx_vector&, const idx_vector&, + bool)): Handle resize_ok in advance. Optimize colon as the first index. + (Sparse::index (const idx_vector&, bool)): Small fixes. + +2010-03-22 Jaroslav Hajek + + * dSparse.cc (SparseMatrix::matrix_value): Simplify. + * CSparse.cc (SparseComplexMatrix::matrix_value): Simplify. + +2010-03-19 Jaroslav Hajek + + * Array-util.cc (gripe_invalid_resize): Move here from Array.cc. + * Array-util.h: Declare it. + * Array.cc: Use it. + + * idx-vector.cc (idx_vector::idx_mask_rep::unconvert): Fix non-owned + case. + (idx_vector::idx_mask_rep::as_array): New method. + * idx-vector.h: Declare it. + + * Sparse.cc (Sparse::index (const idx_vector&, bool)): Rewrite. + (Sparse::array_value): New method. + (Sparse::resize1): New method. + (Sparse::resize): Move resize_no_fill bodies in here. + (Sparse::resize_no_fill): Remove. + * Sparse.h: Update decls. + +2010-03-18 Jaroslav Hajek + + * Sparse.h (Sparse::index): Use const references. Use bool for + resize_ok. Remove Array overload. + * MSparse.h (MSparse::index): Ditto. + * dSparse.h, dSparse.cc (SparseMatrix::index): Ditto. + * CSparse.h, CSparse.cc (SparseComplexMatrix::index): Ditto. + * boolSparse.h, boolSparse.cc (SparseBoolMatrix::index): Ditto. + * Sparse.cc (Sparse::index): Ditto. Redim index to 2 dimensions. + Don't use non-const methods. Use gripe_index_out_of_range. + +2010-03-17 John W. Eaton + + * dim-vector.h (dim_vector): Also use DIM_VECTOR macro for 2 and + 3 dimensions. + +2010-03-17 Jaroslav Hajek + + * lo-macros.h: New source. + * dim-vector.h: Use the macro magic to define constructors + generically. + +2010-03-17 Jaroslav Hajek + + * dim-vector.h: Provide constructors up to order 7. + +2010-03-16 Jaroslav Hajek + + * lo-specfun.cc: Substitute cbrt and cbrtf if needed. + * lo-specfun.h: Declare cbrt and cbrtf if needed. + * configure.ac: Check for cbrt and cbrtf. + +2010-03-15 John W. Eaton + + * oct-glob.cc (octave_glob): Tag calls to glob and globfree with + gnulib::. + + * kpse.cc (DEBUG_START, DEBUGF, FATAL_PERROR, FATAL, KPSE_DEBUG, + log_search, find_first_of): Tag calls to + fputs with gnulib::. + (DEBUGF1, DEBUGF2, DEBUGF3, DEBUGF4, log_search, find_first_of, + kpse_element_dirs): Tag calls to fprintf with gnulib::. + (hash_lookup, search, find_first_of, kpse_element_dirs): + Tag calls to putc with gnulib::. + (do_subdir): Tag call to opendir with gnulib::. + (xclosedir): Tag call to closedir with gnulib::. Assume closedir + returns int value. + + * cmd-hist.cc (gnu_history::do_append): Tag calls to open and + close with gnulib::. + (command_history::error): Tag call to strerror with gnulib::. + + * cmd-edit.cc (gnu_readline::command_generator, + gnu_readline::command_quoter, gnu_readline::command_dequoter): + Tag call to malloc with gnulib::. + (default_command_editor::do_readline): Tag call to fputs with gnulib::. + (command_editor::error): Tag call to strerror with gnulib::. + + * sparse-util.cc (SparseCholPrint): Tag call to vfprintf with gnulib::. + + * oct-uname.cc (octave_uname::init): Tag call to strerror with gnulib::. + + * oct-time.cc (octave_time::stamp): Tag call to gettimeofday + with gnulib::. + (octave_strptime::init): Tag call to strptime with gnulib::. + + * oct-syscalls.cc (octave_syscalls::dup2, + octave_syscalls::execvp, octave_syscalls::fork, + octave_syscalls::vfork, octave_syscalls::getpgrp, + octave_syscalls::pipe, octave_syscalls::waitpid, + octave_syscalls::kill, octave_fcntl): + Tag call to strerror with gnulib::. + (octave_syscalls::dup2): Tag call to dup2 with gnulib::. + (octave_syscalls::popen2): Tag calls to close with gnulib::. + (octave_fcntl): Tag call to fcntl with gnulib::. + + * oct-env.cc (octave_env::error): Tag call to strerror with gnulib::. + + * lo-utils.cc (octave_putenv): Tag call to malloc with gnulib::. + (octave_fgets): Tag calls to malloc and realloc with gnulib::. + + * lo-sysdep.cc (octave_getcwd): Tag call to getcwd with gnulib::. + + * lo-mappers.cc (xround): Tag call to round with gnulib::. + + * file-stat.cc (file_stat::update_internal): Tag calls to lstat + and strerror with gnulib::. + (file_fstat::update_internal): Tag calls to fstat and strerror + with gnulib::. + + * file-ops.cc (octave_mkdir): Tag call to mkdir with gnulib::. + (octave_mkfifo): Tag call to mkfifo with gnulib::. + (octave_link): Tag call to link with gnulib::. + (octave_symlink): Tag call to symlink with gnulib::. + (octave_readlink): Tag call to readlink with gnulib::. + (octave_rename): Tag call to rename with gnulib::. + (octave_rmdir): Tag call to rmdir with gnulib::. + (octave_unlink): Tag call to unlink with gnulib::. + (octave_canonicalize_file_name): Tag call to + canonicalize_file_name with gnulib::. + (octave_mkdir, octave_mkfifo, octave_link, octave_symlink, + octave_readlink, octave_rename, octave_rmdir, octave_unlink, + octave_tempnam, octave_canonicalize_file_name): Tag calls to + strerror with gnulib::. + + * dir-ops.cc (dir_entry::close): Tag closedir call with gnulib::. + (dir_entry::open): Tag opendir and strerror calls with gnulib::. + +2010-03-09 Jaroslav Hajek + + * oct-inttypes.h (octave_int_base::ftrunc, octave_int_base::fnon_int, + octave_int_base::fnan, octave_int_base::get_trunc_flag, + octave_int_base::get_nan_flag, + octave_int_base::get_non_int_flag, + octave_int_base::get_math_trunc_flag, + octave_int_base::clear_conv_flags): Remove. + Remove occurences of ftrunc, fnon_int and fnan eveywhere. + * oct-inttypes.cc: Ditto last sentence. Remove warning tests. + +2010-03-07 Soren Hauberg + + * dim-vector.h: New constructor accepting a C array of dimensions. + +2010-03-05 Jaroslav Hajek + + * MArray.cc (MArray::idx_add_nd): New method. + * MArray.h: Declare it. + +2010-03-04 Jaroslav Hajek + + * lo-specfun.cc (erfcx, erfcx_impl): New functions. + * lo-specfun.h: Declare erfcx. + +2010-03-03 John W. Eaton + + * oct-convn.cc (convolve): Cast int constant to octave_idx_type in + call to std::max. + +2010-03-03 Jaroslav Hajek + + * oct-convn.cc (convolve_2d_axpy_kernel, convolve_2d_axpy): Remove. + (convolve_2d): Forward to Fortran implementations, add inner flag. + (convolve_nd): Handle inner-convolution case. + (convolve): Ditto. + +2010-03-02 Jaroslav Hajek + + * oct-convn.h, oct-convn.cc: New sources. + * Makefile.am: Include them. + +2010-03-01 David Bateman + + * Sparse.cc (Sparse::maybe_delete_elements (idxx_vector&)): + Special case the deletion of elements in sparse vectors. + (Sparse::index (idx_vector&, int) const): Special case indexing + of sparse matrices with ranges with a step of 1. + * Sparse.h: Include oct-mem.h for the copy_or_memcpy declaration. + +2010-02-28 John W. Eaton + + * Makefile.am ($(srcdir)/vx-op-inc.mk, $(srcdir)/mx-op-inc.mk, + $(srcdir)/smx-op-inc.mk, $(srcdir)/vx-op-src.mk, + $(srcdir)/mx-op-src.mk, $(srcdir)/smx-op-src.mk): New targets. + + * config-ops.sh: Accept top_srcdir argument. Work from build + directory too, not just source tree. + +2010-02-28 Michael Goffioul + + * Array-C.cc (DiagArray2::Proxy): Remove explicit + instantiation under MSVC. + Array-d.cc (DiagArray2::Proxy): Ditto. + Array-f.cc (DiagArray2::Proxy): Ditto. + Array-fC.cc (DiagArray2 + + * Array-util.cc (gripe_index_out_of_range): Throw errors with id. + (gripe_nonconformant): Likewise. + (error_id_index_out_of_bounds, error_id_invalid_index, + error_id_nonconformant_args): New variables. + (gripe_invalid_index): New function. + * Array-util.h: Declare them. + * Array.cc (Array::checkelem): Throw invalid-index when negative + indices are encountered. + +2010-02-27 John W. Eaton + + * Sparse.cc (Sparse::diag): Handle case of diag (szv) when szv + is a sparse vector with nnz = 0. + +2010-02-27 Jaroslav Hajek + + * Array-util.cc (gripe_index_out_of_range): New function. + * Array.cc (Array::range_error): Remove. + (Array::checkelem): Rewrite. + (Array::index, Array::delete_elements): Simplify. + * DiagArray2.cc (DiagArray2::checkelem): Use gripe_index_out_of_range. + * Range.cc (Range::checkelem, Range::index): Ditto. + +2010-02-26 Jaroslav Hajek + + * mx-inlines.cc (OP_DUP_FCN): Remove. + (mx_inline_dup): Remove. + (mx_inline_not): Remove. + (mx_inline_make_complex): Remove. + (mx_inline_change_sign): Remove. + (mx_inline_fabs_dup): Remove. + (mx_inline_cabs_dup): Remove. + (mx_inline_imag_dup): Remove. + (mx_inline_real_dup): Remove. + (mx_inline_conj_dup): Remove. + (mx_inline_change_sign): Remove. + +2010-02-26 Jaroslav Hajek + + * Array.h (Array::ArrayRep): Simplify copy constructor. Add + conversion constructor. + (Array): Remove pointer acquiring ctors. + (Array::maybe_economize): Update. + (Array::make_unique): Update. + * Array.cc (Array::fill): Update. + + * MArray.h (MArray::MArray (T *, ...)): Remove. + * DiagArray2.h (DiagArray2::DiagArray2 (T *, ...)): Remove. + * MDiagArray2.h (MDiagArray2::MDiagArray2 (T *, ...)): Remove. + * Array3.h (Array3::Array3 (T *, ...)): Remove. + + * dColVector.h (ColumnVector::ColumnVector (T *, ...)): Remove. + * fColVector.h (FloatColumnVector::FloatColumnVector (T *, ...)): Remove. + * CColVector.h (ComplexColumnVector::ComplexColumnVector (T *, ...)): Remove. + * fCColVector.h (FloatComplexColumnVector::FloatComplexColumnVector (T *, ...)): Remove. + + * dRowVector.h (RowVector::RowVector (T *, ...)): Remove. + * fRowVector.h (FloatRowVector::FloatRowVector (T *, ...)): Remove. + * CRowVector.h (ComplexRowVector::ComplexRowVector (T *, ...)): Remove. + * fCRowVector.h (FloatComplexRowVector::FloatComplexRowVector (T *, ...)): Remove. + + * dMatrix.h (Matrix::Matrix (T *, ...)): Remove. + * fMatrix.h (FloatMatrix::FloatMatrix (T *, ...)): Remove. + * CMatrix.h (ComplexMatrix::ComplexMatrix (T *, ...)): Remove. + * fCMatrix.h (FloatComplexMatrix::FloatComplexMatrix (T *, ...)): Remove. + * boolMatrix.h (boolMatrix::boolMatrix (T *, ...)): Remove. + * chMatrix.h (charMatrix::charMatrix (T *, ...)): Remove. + + * dNDArray.h (NDArray::NDArray (T *, ...)): Remove. + * fNDArray.h (FloatNDArray::FloatNDArray (T *, ...)): Remove. + * CNDArray.h (ComplexNDArray::ComplexNDArray (T *, ...)): Remove. + * fCNDArray.h (FloatComplexNDArray::FloatComplexNDArray (T *, ...)): Remove. + * boolNDArray.h (boolNDArray::boolNDArray (T *, ...)): Remove. + * chNDArray.h (charNDArray::charNDArray (T *, ...)): Remove. + +2010-02-26 Jaroslav Hajek + + * DiagArray2.h (DiagArray2): Clean up ctors. Remove Proxy class. + Remove non-const two-index elem methods. + * DiagArray2.cc: Update. + * MDiagArray2.h: Update. + + * dDiagArray2.h: Update. + * dDiagArray2.cc: Update. + * fDiagArray2.h: Update. + * fDiagArray2.cc: Update. + * CDiagArray2.h: Update. + * CDiagArray2.cc: Update. + * fCDiagArray2.h: Update. + * fCDiagArray2.cc: Update. + + * dMatrix.cc: Update. + * fMatrix.cc: Update. + * CMatrix.cc: Update. + * fCMatrix.cc: Update. + + * dRowVector.cc: Update. + * fRowVector.cc: Update. + * CRowVector.cc: Update. + * fCRowVector.cc: Update. + + * dColVector.cc: Update. + * fColVector.cc: Update. + * CColVector.cc: Update. + * fCColVector.cc: Update. + + * dColVector.cc (ColumnVector::abs): New method. + * dColVector.h: Declare it. + * fColVector.cc (FloatColumnVector::abs): New method. + * fColVector.h: Declare it. + * CColVector.cc (ComplexColumnVector::abs): New method. + * CColVector.h: Declare it. + * fCColVector.cc (FloatComplexColumnVector::abs): New method. + * fCColVector.h: Declare it. + +2010-02-26 Jaroslav Hajek + + * mx-inlines.cc: Parameterize all appliers by value types rather than + Array types. Return & accept Array instances. + * mx-op-defs.h: Update references. + * CMatrix.cc: Ditto. + * CNDArray.cc: Ditto. + * DiagArray2.h: Ditto. + * MArray.cc: Ditto. + * boolMatrix.cc: Ditto. + * boolNDArray.cc: Ditto. + * bsxfun-defs.cc: Ditto. + * chMatrix.cc: Ditto. + * chNDArray.cc: Ditto. + * dMatrix.cc: Ditto. + * dNDArray.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCNDArray.cc: Ditto. + * fMatrix.cc: Ditto. + * fNDArray.cc: Ditto. + * intNDArray.cc: Ditto. + * MDiagArray2.cc: Remove computed assignment operators, adapt + operators to new mechanism. + * MDiagArray2.h: Declare operators as friends. + * MArray-decl.h (MDIAGARRAY2_OPS_FRIEND_DECLS): Don't expand + MARRAY_OP_ASSIGN_FRIENDS here. + +2010-02-25 John W. Eaton + + * eigs-base.cc: Use octave_idx_type for Fortran LOGICAL values + in function prototypes. + (EigsRealSymmetricMatrix, EigsRealSymmetricMatrixShift, + EigsRealSymmetricFunc, EigsRealNonSymmetricMatrix, + EigsRealNonSymmetricMatrixShift, EigsRealNonSymmetricFunc, + EigsComplexNonSymmetricMatrix, EigsComplexNonSymmetricMatrixShift, + EigsComplexNonSymmetricFunc): Declare rvec argument as bool, not int. + Fix explicit instantiations to match. + +2010-02-25 Jaroslav Hajek + + * oct-mem.h (safe_size_comp): New helper func. + (no_ctor_new): Call it here. + +2010-02-25 Jaroslav Hajek + + * oct-mem.h (copy_or_memcpy, fill_or_memset, no_ctor_new): Accept + size_t rather than octave_idx_type. + * Array.h (Array::byte_size): Correct calculation. + * DiagArray2.h (DiagArray2::byte_size): Call inherited byte_size. + * PermMatrix.h (PermMatrix::byte_size): Ditto. + +2010-02-25 Jaroslav Hajek + + * str-vec.h (string_vector::string_vector): Use (n, 1). + (string_vector::resize): Ditto. + * str-vec.cc (string_vector::string_vector): Ditto. + +2010-02-24 Jaroslav Hajek + + * Array.cc (Array::Array (const Array&, octave_idx_type, + octave_idx_type): New ctor. + (Array::reshape (octave_idx_type, octave_idx_type): New method. + * Array.h: Declare them. + * Array2.h: Deprecate Array2, make it a #define for Array. + + * Array-C.cc: Remove Array2 instantiation. + * Array-b.cc: Ditto. + * Array-ch.cc: Ditto. + * Array-d.cc: Ditto. + * Array-f.cc: Ditto. + * Array-fC.cc: Ditto. + * Array-i.cc: Ditto. + * Array-s.cc: Ditto. + * Array-voidp.cc: Ditto. + + * CMatrix.cc: Use Array instead of Array2 everywhere. + * CMatrix.h: Ditto. + * CNDArray.cc: Ditto. + * DiagArray2.cc: Ditto. + * DiagArray2.h: Ditto. + * MDiagArray2.h: Ditto. + * Sparse.cc: Ditto. + * Sparse.h: Ditto. + * boolMatrix.h: Ditto. + * boolNDArray.cc: Ditto. + * chMatrix.h: Ditto. + * chNDArray.cc: Ditto. + * dMatrix.cc: Ditto. + * dMatrix.h: Ditto. + * dNDArray.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCMatrix.h: Ditto. + * fCNDArray.cc: Ditto. + * fMatrix.cc: Ditto. + * fMatrix.h: Ditto. + * fNDArray.cc: Ditto. + * lo-specfun.cc: Ditto. + * lo-specfun.h: Ditto. + +2010-02-23 Jaroslav Hajek + + * chMatrix.h (charMatrix): Base on Array. + * chMatrix.cc (charMatrix): Update. + * boolMatrix.h (boolMatrix): Ditto. + * boolMatrix.h (boolMatrix): Update. + +2010-02-23 Jaroslav Hajek + + * Array.h (Array): Define 2D constructors. Remove conflicting 1D + initialized constructor. Deprecate 1D constructor. Deprecate 1D resize. + Add 2D resize, resize1. Remove resize_fill. Make resize_fill_value + return a reference. Remove 1D clear. + + * MArray.h (MArray): Merge with MArrayN. Define 2D constructors, sync + with Array changes. + + * MArrayN.h, MArray2.h: Deprecate headers, use compatibility #defines. + * MArrayN.cc, MArray2.cc: Remove sources. + * Makefile.am: Update. + + * fCMatrix.h (FloatComplexMatrix): Rebase on MArray. + * fMatrix.h (FloatMatrix): Ditto. + * dMatrix.h (Matrix): Ditto. + * CMatrix.h (ComplexMatrix): Ditto. + * fCNDArray.h (FloatComplexNDArray): Rebase on MArray. + * fNDArray.h (FloatNDArray): Ditto. + * dNDArray.h (NDArray): Ditto. + * CNDArray.h (ComplexNDArray): Ditto. + + * Array-util.cc: Update. + * Array.cc: Ditto. + * Array2.h: Ditto. + * Array3.h: Ditto. + * CColVector.cc: Ditto. + * CColVector.h: Ditto. + * CMatrix.cc: Ditto. + * CNDArray.cc: Ditto. + * CRowVector.cc: Ditto. + * CSparse.cc: Ditto. + * ChangeLog: Ditto. + * CmplxCHOL.cc: Ditto. + * CmplxHESS.cc: Ditto. + * CmplxLU.cc: Ditto. + * CmplxQRP.cc: Ditto. + * CmplxSCHUR.cc: Ditto. + * CmplxSVD.cc: Ditto. + * CollocWt.cc: Ditto. + * DASPK-opts.in: Ditto. + * DASPK.cc: Ditto. + * DASRT-opts.in: Ditto. + * DASRT.cc: Ditto. + * DASSL-opts.in: Ditto. + * DASSL.cc: Ditto. + * DiagArray2.cc: Ditto. + * DiagArray2.h: Ditto. + * EIG.cc: Ditto. + * LSODE-opts.in: Ditto. + * LSODE.cc: Ditto. + * MArray-C.cc: Ditto. + * MArray-d.cc: Ditto. + * MArray-defs.h: Ditto. + * MArray-f.cc: Ditto. + * MArray-fC.cc: Ditto. + * MArray-i.cc: Ditto. + * MArray-s.cc: Ditto. + * MArray.cc: Ditto. + * MDiagArray2.h: Ditto. + * MSparse-defs.h: Ditto. + * MSparse.cc: Ditto. + * MSparse.h: Ditto. + * Makefile.am: Ditto. + * MatrixType.cc: Ditto. + * PermMatrix.cc: Ditto. + * Quad.cc: Ditto. + * SparseCmplxLU.cc: Ditto. + * SparseCmplxQR.cc: Ditto. + * SparseCmplxQR.h: Ditto. + * SparseQR.cc: Ditto. + * SparseQR.h: Ditto. + * SparsedbleLU.cc: Ditto. + * base-lu.cc: Ditto. + * dColVector.h: Ditto. + * dMatrix.cc: Ditto. + * dNDArray.cc: Ditto. + * dRowVector.h: Ditto. + * dSparse.cc: Ditto. + * dbleCHOL.cc: Ditto. + * dbleHESS.cc: Ditto. + * dbleLU.cc: Ditto. + * dbleQRP.cc: Ditto. + * dbleSCHUR.cc: Ditto. + * dbleSVD.cc: Ditto. + * dim-vector.h: Ditto. + * eigs-base.cc: Ditto. + * fCColVector.cc: Ditto. + * fCColVector.h: Ditto. + * fCMatrix.cc: Ditto. + * fCNDArray.cc: Ditto. + * fCRowVector.cc: Ditto. + * fCRowVector.h: Ditto. + * fCmplxCHOL.cc: Ditto. + * fCmplxHESS.cc: Ditto. + * fCmplxLU.cc: Ditto. + * fCmplxQRP.cc: Ditto. + * fCmplxSCHUR.cc: Ditto. + * fCmplxSVD.cc: Ditto. + * fColVector.h: Ditto. + * fEIG.cc: Ditto. + * fMatrix.cc: Ditto. + * fNDArray.cc: Ditto. + * fRowVector.h: Ditto. + * floatCHOL.cc: Ditto. + * floatHESS.cc: Ditto. + * floatLU.cc: Ditto. + * floatQRP.cc: Ditto. + * floatSCHUR.cc: Ditto. + * floatSVD.cc: Ditto. + * glob-match.h: Ditto. + * int16NDArray.h: Ditto. + * int32NDArray.h: Ditto. + * int64NDArray.h: Ditto. + * int8NDArray.h: Ditto. + * intNDArray.cc: Ditto. + * intNDArray.h: Ditto. + * oct-fftw.cc: Ditto. + * oct-norm.cc: Ditto. + * oct-rand.cc: Ditto. + * regex-match.cc: Ditto. + * sparse-dmsolve.cc: Ditto. + * str-vec.cc: Ditto. + * str-vec.h: Ditto. + * uint16NDArray.h: Ditto. + * uint32NDArray.h: Ditto. + * uint64NDArray.h: Ditto. + * uint8NDArray.h: Ditto. + +2010-02-22 John W. Eaton + + * data-conv.cc, data-conv.h (read_floats, read_doubles, + do_float_format_conversion, do_double_format_conversion): + Declare len arg and loop counter as octave_idx_type, not int. + (strip_spaces): Use size_t for string dimension and index, not int. + (LS_DO_READ, LS_DO_WRITE): Declare loop counter as + octave_idx_type, not int. + (write_floats, write_doubles): + Declare len arg as octave_idx_type, not int. + (IEEE_big_double_to_IEEE_little_double, + VAX_D_double_to_IEEE_little_double, + VAX_G_double_to_IEEE_little_double, + Cray_to_IEEE_little_double, + IEEE_big_float_to_IEEE_little_float, + VAX_D_float_to_IEEE_little_float, + VAX_G_float_to_IEEE_little_float, Cray_to_IEEE_little_float, + IEEE_little_double_to_IEEE_big_double, + VAX_D_double_to_IEEE_big_double, + VAX_G_double_to_IEEE_big_double, Cray_to_IEEE_big_double, + IEEE_little_float_to_IEEE_big_float, + VAX_D_float_to_IEEE_big_float, VAX_G_float_to_IEEE_big_float, + Cray_to_IEEE_big_float, IEEE_little_double_to_VAX_D_double, + IEEE_big_double_to_VAX_D_double, + VAX_G_double_to_VAX_D_double, Cray_to_VAX_D_double, + IEEE_little_float_to_VAX_D_float, + IEEE_big_float_to_VAX_D_float, VAX_G_float_to_VAX_D_float, + Cray_to_VAX_D_float, IEEE_little_double_to_VAX_G_double, + IEEE_big_double_to_VAX_G_double, + VAX_D_double_to_VAX_G_double, Cray_to_VAX_G_double, + IEEE_little_float_to_VAX_G_float, + IEEE_big_float_to_VAX_G_float, VAX_D_float_to_VAX_G_float, + Cray_to_VAX_G_float, read_doubles): + Declare len arg as octave_idx_type, not int. + +2010-02-21 Michael Goffioul + + * lo-sysdep.cc, lo-utils.h, oct-shlib.h: Define WIN32_LEAN_AND_MEAN + and don't #undef min/max. + * oct-inttypes.h: Don't #undef min/max. + + * oct-glob.cc (octave_glob): Convert backslashes to forward slashes + automatically before calling glob, and convert back after the call + (implementation from jwe). + + * Makefile.am: Add -bindir flag to liboctave_la_LDFLAGS. + +2010-02-19 Jaroslav Hajek + + * idx-vector.cc (idx_vector::as_array, + idx_vector::idx_range_rep::as_array, + idx_vector::idx_scalar_rep::as_array, + idx_vector::idx_vector_rep::as_array): New methods. + * idx-vector.h: Declare them. + +2010-02-17 John W. Eaton + + * oct-rand.cc: Include . Change declarations of ranlib + functions to take int32_t instead of octave_idx_type values. + Change all uses. + (octave_rand::do_seed): Use int32_t in union, not octave_idx_type. + (force_to_fit_range): Args are now int32_t, not octave_idx_type. + (octave_rand::initialize_ranlib_generators): Use int32_t in seed + calculation. + +2010-02-17 Jaroslav Hajek + + * mx-op-defs.h (MINMAX_FCNS): Generalize. + * mx-op-decl.h (MINMAX_DECLS): Likewise. + + * int16NDArray.h, int32NDArray.h, int64NDArray.h, int8NDArray.h, + uint16NDArray.h, uint32NDArray.h, uint64NDArray.h, uint8NDArray.h: + Update. + * int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, + uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: + Update. + + * CNDArray.h, dNDArray.h, fCNDArray.h, fNDArray.h: Replace explicit + decls. + + * CNDArray.cc, dNDArray.cc, fCNDArray.cc, fNDArray.cc: Replace explicit + definitions. + + +2010-02-11 John W. Eaton + + * sparse-mk-ops.awk, mk-ops.awk, filemode.c, lo-cieee.c, + oct-rl-hist.c, randgamma.c, randmtzig.c, randpoisson.c, + tempnam.c, tempname.c: Untabify. + +2010-02-11 John W. Eaton + + * Array-C.cc, Array-fC.cc, Array-util.cc, Array.cc, + CColVector.cc, CDiagMatrix.cc, CMatrix.cc, CNDArray.cc, + CRowVector.cc, CSparse.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, + CmplxGEPBAL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, + CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, + DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, MSparse.cc, MatrixType.cc, + ODES.cc, Quad.cc, Range.cc, Sparse-C.cc, Sparse.cc, + SparseCmplxCHOL.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, + SparseQR.cc, SparsedbleCHOL.cc, SparsedbleLU.cc, boolNDArray.cc, + boolSparse.cc, chMatrix.cc, chNDArray.cc, cmd-edit.cc, + cmd-hist.cc, dColVector.cc, dDiagMatrix.cc, dMatrix.cc, + dNDArray.cc, dRowVector.cc, dSparse.cc, data-conv.cc, + dbleAEPBAL.cc, dbleCHOL.cc, dbleGEPBAL.cc, dbleHESS.cc, + dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc, + dir-ops.cc, eigs-base.cc, fCColVector.cc, fCDiagMatrix.cc, + fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fCmplxAEPBAL.cc, + fCmplxCHOL.cc, fCmplxGEPBAL.cc, fCmplxHESS.cc, fCmplxLU.cc, + fCmplxQR.cc, fCmplxQRP.cc, fCmplxSCHUR.cc, fCmplxSVD.cc, + fColVector.cc, fDiagMatrix.cc, fEIG.cc, fMatrix.cc, fNDArray.cc, + fRowVector.cc, file-stat.cc, floatAEPBAL.cc, floatCHOL.cc, + floatGEPBAL.cc, floatHESS.cc, floatLU.cc, floatQR.cc, + floatQRP.cc, floatSCHUR.cc, floatSVD.cc, idx-vector.cc, + intNDArray.cc, kpse.cc, lo-ieee.cc, lo-mappers.cc, + lo-specfun.cc, lo-sysdep.cc, lo-utils.cc, mach-info.cc, + mx-inlines.cc, oct-alloc.cc, oct-env.cc, oct-fftw.cc, + oct-glob.cc, oct-group.cc, oct-inttypes.cc, oct-md5.cc, + oct-rand.cc, oct-shlib.cc, oct-sort.cc, oct-spparms.cc, + oct-syscalls.cc, oct-time.cc, pathsearch.cc, regex-match.cc, + sparse-base-chol.cc, sparse-base-lu.cc, sparse-dmsolve.cc, + sparse-sort.cc, sparse-util.cc, str-vec.cc: Untabify. + +2010-02-11 John W. Eaton + + * Array-util.h, Array.h, Array2.h, Array3.h, CColVector.h, + CMatrix.h, CNDArray.h, CRowVector.h, CSparse.h, CmplxCHOL.h, + CmplxGEPBAL.h, CmplxHESS.h, CmplxLU.h, CmplxQRP.h, CmplxSCHUR.h, + CmplxSVD.h, CollocWt.h, DAE.h, DAEFunc.h, DAERT.h, DAERTFunc.h, + DASPK.h, DASRT.h, DASSL.h, DiagArray2.h, EIG.h, MArrayN.h, + MDiagArray2.h, MSparse-defs.h, MSparse.h, MatrixType.h, ODE.h, + ODEFunc.h, ODES.h, ODESFunc.h, Quad.h, Range.h, + Sparse-diag-op-defs.h, Sparse-op-defs.h, Sparse-perm-op-defs.h, + Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, SparseCmplxQR.h, + SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, base-dae.h, + base-de.h, base-lu.h, base-min.h, base-qr.h, boolNDArray.h, + boolSparse.h, chNDArray.h, cmd-hist.h, dMatrix.h, dNDArray.h, + dSparse.h, data-conv.h, dbleCHOL.h, dbleGEPBAL.h, dbleHESS.h, + dbleLU.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, dir-ops.h, + fCColVector.h, fCMatrix.h, fCNDArray.h, fCRowVector.h, + fCmplxCHOL.h, fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxLU.h, + fCmplxQRP.h, fCmplxSCHUR.h, fCmplxSVD.h, fEIG.h, fMatrix.h, + fNDArray.h, file-stat.h, floatCHOL.h, floatGEPBAL.h, + floatHESS.h, floatLU.h, floatQRP.h, floatSCHUR.h, floatSVD.h, + glob-match.h, idx-vector.h, intNDArray.h, lo-ieee.h, + lo-specfun.h, mx-op-decl.h, mx-op-defs.h, oct-env.h, oct-fftw.h, + oct-group.h, oct-inttypes.h, oct-mutex.h, oct-passwd.h, + oct-rand.h, oct-shlib.h, oct-sort.h, oct-spparms.h, oct-time.h, + oct-uname.h, pathsearch.h, sparse-base-chol.h, sparse-base-lu.h, + sparse-sort.h, sparse-util.h, statdefs.h, str-vec.h: Untabify. + +2010-02-10 John W. Eaton + + * dMatrix.h (template Matrix (const Array&)): + New constructor. + * CMatrix.h (template ComplexMatrix (const Array&)): + New constructor. + * fMatrix.h (template FloatMatrix (const Array&)): + New constructor. + * fCMatrix.h (template FloatComplexMatrix (const Array&)): + New constructor. + +2010-02-09 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const + Array&, octave_idx_type, direct)): New constructor. + * idx-vector.h: Declare it. + (idx_vector::idx_vector (const Array&, + octave_idx_type)): New constructor. + +2010-02-08 John W. Eaton + + * oct-time.cc: Include "strftime.h", not . + * file-ops.cc: Include "pathmax.h", not . + +2010-02-08 John W. Eaton + + * oct-env.cc (octave_env::prog_invocation_name): Rename from + program_invocation_name. Change all uses. + (octave_env::prog_name): Rename from program_name. Change all uses. + (octave_env::do_set_program_name): Call ::set_program_name + function from gnulib. + +2010-02-08 Jaroslav Hajek + + * idx-vector.h (idx_vector::idx_base_rep::sort_idx): New pure virtual + function. + (idx_vector::idx_colon_rep::sort_idx, + idx_vector::idx_range_rep::sort_idx, + idx_vector::idx_scalar_rep::sort_idx, + idx_vector::idx_vector_rep::sort_idx, + idx_vector::idx_mask_rep::sort_idx): New override decls. + idx_vector::sort (Array&): New method. + * idx-vector.cc (idx_vector::idx_range_rep::sort_idx, + idx_vector::idx_vector_rep::sort_idx): New methods. + (idx_vector::idx_vector_rep::sort_uniq_clone): Rewrite + to use bucket sort under plausible circumstances. + +2010-02-08 Jaroslav Hajek + + * Array.cc (Array::permute): Fix result dimensions when inv=true. + +2010-02-05 Jaroslav Hajek + + * MArrayN.cc (MArrayN::idx_min, MArrayN::idx_max): New methods. + * MArrayN.h: Declare them. + * lo-mappers.h (xmin, xmax): Define for general arguments. + +2010-02-04 Jaroslav Hajek + + * chMatrix.h (charMatrix): Rebase directly on Array. + * chNDArray.h (charNDArray): Ditto. + * chMatrix.cc: Update. + * chNDArray.cc: Update. + * MArray-ch.cc: Remove. + * Makefile.am: Update. + +2010-02-04 John W. Eaton + + * lo-cutils.c (gethostname): Delete function. + * lo-sysdep.h (gethostname): Delete declaration. + +2010-02-03 John W. Eaton + + * oct-syscalls.h, oct-syscalls.cc (octave_fcntl): Assume fcntl exists. + Rename from octave_syscalls::fcntl. + (octave_syscalls::popen2): Call octave_fcntl, not fcntl. + * cmd-hist.cc, lo-sysdep.cc, oct-syscalls.cc: + Include unconditionally. + +2010-02-03 John W. Eaton + + * dbleSVD.cc (SVD::init): Ensure args to std::max are the same type. + * CmplxSVD.cc (ComplexSVD::init): Likewise. + * floatSVD.cc (FloatSVD::init): Likewise. + * fCmplxSVD.cc (FloatComplexSVD::init): Likewise. + * idx-vector.cc (idx_range_rep): Likewise. + * Array.cc (Array::nth_element): Likewise. + + * lo-specfun.cc (null_dims): Delete unused static variable. + (betainc): Call dim_vector (0, 0), not dim_vector (0). + +2010-02-03 John W. Eaton + + * file-ops.h (octave_canonicalize_file_name): Rename from + file_ops::canonicalize_file_name. + +2010-02-03 John W. Eaton + + * file-ops.cc (canonicalize_file_name): + Don't pass current directory to octave_env::make_absolute. + * cmd-edit.cc (do_decode_prompt_string): Likewise. + + * oct-env.h (octave_env::get_current_directory): + Rename from octave_env::getcwd. + (octave_env::make_absolute): Provide default value for second arg. + + * lo-sysdep.cc (octave_getcwd): Assume we are using gnulib + getcwd module. + +2010-02-02 John W. Eaton + + * oct-time.h: Include , not "systime.h". + * oct-time.cc: Include , not "strftime.h". + Don't include . + + * systime.h: Delete. + * Makefile.am (INCS): Remove it from the list. + +2010-02-02 John W. Eaton + + * lo-utils.h, lo-cutils.c (oct_strptime): Delete. + * oct-time.cc (octave_strptime::init): Call strptime, not oct_strptime. + +2010-01-28 Jaroslav Hajek + + * dMatrix.cc (Matrix::determinant): Treat matrices marked as singular + normally. + * fMatrix.cc (FloatMatrix::determinant): Ditto. + * CMatrix.cc (ComplexMatrix::determinant): Ditto. + * fCMatrix.cc (FloatComplexMatrix::determinant): Ditto. + +2010-01-26 John W. Eaton + + * file-ops.cc: Don't tag functions with OCTAVE_API in source file. + +2010-01-26 John W. Eaton + + * lo-cutils.c, lo-utils.h (octave_link, octave_symlink, + octave_readlink, octave_mkdir, octave_mkfifo, octave_rmdir, + octave_rename, octave_tempnam, octave_umask, octave_unlink): + Delete. + * file-io.h, file-io.cc (octave_mkdir, octave_mkfifo, + octave_link, octave_symlink, octave_readlink, octave_rename, + octave_rmdir, octave_recursive_rmdir, octave_umask, + octave_unlink, octave_tempnam): Rename from file_ops::X to + octave_X. Change all uses. + (file_ops::static_members): Incorporate directly into file_ops class. + +2010-01-23 John W. Eaton + + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove oct-getopt.c from the list. + (LIBOCTAVE_CXX_SOURCES): Remove prog-args.c from the list. + (INCS): Remove prog-args.h and oct-getopt.h from the list. + * prog-args.cc, prog-args.h, oct-getopt.c, oct-getopt.h: Delete. + +2010-01-22 John W. Eaton + + * prog-args.h, prog-args.cc (prog_args::get_option, + prog_args::option_argument, prog_args::option_index): + Don't declare const. + +2010-01-22 John W. Eaton + + * prog-args.h, prog-args.cc (prog_args::get_option): + Rename from getopt. Now const. + (prog_args::option_argument): Rename from optarg. Now const. + (prog_args::option_index): Rename from optind. Now const. + +2010-01-22 John W. Eaton + + * file-ops.cc: Don't include statdefs.h. + +2010-01-22 Jaroslav Hajek + + * dbleSVD.cc (SVD::init): Ensure LD* arguments >= 1. + * floatSVD.cc (FloatSVD::init): Likewise. + * CmplxSVD.cc (ComplexSVD::init): Likewise. + * fCmplxSVD.cc (FloatComplexSVD::init): Likewise. + +2010-01-21 John W. Eaton + + * CMatrix.cc, fCMatrix.cc, cmd-edit.cc, cmd-hist.cc, + file-ops.cc, file-ops.h, file-stat.cc, file-stat.h, filemode.c, + kpse.cc, lo-cutils.c, lo-sysdep.cc, lo-utils.cc, oct-env.cc, + oct-group.cc, oct-group.h, oct-passwd.cc, oct-passwd.h, + oct-time.cc, oct-syscalls.cc, oct-syscalls.h, statdefs.h, + sysdir.h, syswait.h, tempname.c, regex-match.h: + Assume sys/types.h and unistd.h are present (gnulib provides them). + +2010-01-21 John W. Eaton + + * file-ops.h, file-ops.cc, lo-utils.h, lo-cutils.c: Untabify. + + * file-ops.cc: Don't include unistd.h. + (NOT_SUPPORTED): Delete unused macro. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_tempnam): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::tempnam): Call octave_tempnam. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_readlink): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::readlink): Call octave_readlink. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_symlink): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::symlink): Call octave_symlink. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_link): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::link): Call octave_link. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_unlink): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::unlink): Call octave_unlink. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_umask): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::umask): Call octave_umask. + +2010-01-21 John W. Eaton + + * file-ops.h (file_ops::mkdir): Move definitions to file-ops.cc. + (file_ops::mkfifo): Move definitions to file-ops.cc. + (file_ops::mkdir_internal, file_ops::mkfifo_internal): Delete decls. + * file-ops.cc (file_ops::mkdir): Call octave_mkdir. + (file_ops::mkfifo): Call octave_mkfifo. + * lo-cutils.c (octave_mkdir, octave_mkfifo): New functions. + * lo-utils.h: Provide decls. + +2010-01-21 John W. Eaton + + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove strptime.c from the list. + * strptime.c: Delete. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_rename): New funtion. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::rename): Call octave_rename. + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove rename.c from the list. + * rename.c: Delete. + +2010-01-21 John W. Eaton + + * lo-cutils.c (octave_rmdir): New function. + * lo-utils.h: Provide decl. + * file-ops.cc (file_ops::rmdir): Call octave_rmdir. + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove rmdir.c from the list. + * rmdir.c: Delete. + +2010-01-21 John W. Eaton + + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove strcasecmp.c and + strncase.c from the list. + * strcasecmp.c, strncase.c: Delete. + +2010-01-21 John W. Eaton + + * Makefile.am (INCS): Remove getopt.h from the list. + (LIBOCTAVE_C_SOURCES): Remove getopt.c and getopt1.c from the list. + * getopt.c, getopt1.c, getopt.h: Delete. + +2010-01-20 John W. Eaton + + * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-f.cc, + Array-fC.cc, Array-i.cc, Array-idx-vec.cc, Array-s.cc, + Array-str.cc, Array-util.cc, Array-voidp.cc, Array.cc, + CColVector.cc, CDiagMatrix.cc, CMatrix.cc, CNDArray.cc, + CRowVector.cc, CSparse.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, + CmplxGEPBAL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, + CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, + DASRT.cc, DASSL.cc, DiagArray2.cc, EIG.cc, LSODE.cc, + MArray-C.cc, MArray-ch.cc, MArray-d.cc, MArray-f.cc, + MArray-fC.cc, MArray-i.cc, MArray-s.cc, MArray.cc, MArray2.cc, + MArrayN.cc, MDiagArray2.cc, MSparse-C.cc, MSparse-d.cc, + MSparse.cc, MatrixType.cc, ODES.cc, Quad.cc, Range.cc, + Sparse-C.cc, Sparse-b.cc, Sparse-d.cc, Sparse.cc, + SparseCmplxCHOL.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, + SparseQR.cc, SparsedbleCHOL.cc, SparsedbleLU.cc, base-lu.cc, + boolMatrix.cc, boolNDArray.cc, boolSparse.cc, chMatrix.cc, + chNDArray.cc, cmd-edit.cc, cmd-hist.cc, dColVector.cc, + dDiagMatrix.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, + dSparse.cc, data-conv.cc, dbleAEPBAL.cc, dbleCHOL.cc, + dbleGEPBAL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, + dbleSCHUR.cc, dbleSVD.cc, dir-ops.cc, eigs-base.cc, + fCColVector.cc, fCDiagMatrix.cc, fCMatrix.cc, fCNDArray.cc, + fCRowVector.cc, fCmplxAEPBAL.cc, fCmplxCHOL.cc, fCmplxGEPBAL.cc, + fCmplxHESS.cc, fCmplxLU.cc, fCmplxQR.cc, fCmplxQRP.cc, + fCmplxSCHUR.cc, fCmplxSVD.cc, fColVector.cc, fDiagMatrix.cc, + fEIG.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, file-ops.cc, + file-stat.cc, floatAEPBAL.cc, floatCHOL.cc, floatGEPBAL.cc, + floatHESS.cc, floatLU.cc, floatQR.cc, floatQRP.cc, + floatSCHUR.cc, floatSVD.cc, glob-match.cc, idx-vector.cc, + int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, + int8NDArray.cc, intNDArray.cc, kpse.cc, lo-ieee.cc, + lo-mappers.cc, lo-specfun.cc, lo-sysdep.cc, lo-utils.cc, + mach-info.cc, mx-inlines.cc, oct-alloc.cc, oct-env.cc, + oct-fftw.cc, oct-group.cc, oct-inttypes.cc, oct-md5.cc, + oct-passwd.cc, oct-rand.cc, oct-shlib.cc, oct-sort.cc, + oct-spparms.cc, oct-syscalls.cc, oct-time.cc, oct-uname.cc, + pathsearch.cc, prog-args.cc, regex-match.cc, + sparse-base-chol.cc, sparse-base-lu.cc, sparse-dmsolve.cc, + sparse-sort.cc, sparse-util.cc, str-vec.cc, uint16NDArray.cc, + uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc, + f2c-main.c, lo-cieee.c, lo-cutils.c, oct-getopt.c, + oct-rl-edit.c, oct-rl-hist.c, randgamma.c, randmtzig.c, + randpoisson.c, Array-util.h, Array.h, Array2.h, Array3.h, + ArrayN.h, CColVector.h, CDiagMatrix.h, CMatrix.h, CNDArray.h, + CRowVector.h, CSparse.h, CmplxAEPBAL.h, CmplxCHOL.h, + CmplxGEPBAL.h, CmplxHESS.h, CmplxLU.h, CmplxQR.h, CmplxQRP.h, + CmplxSCHUR.h, CmplxSVD.h, CollocWt.h, DAE.h, DAEFunc.h, DAERT.h, + DAERTFunc.h, DASPK.h, DASRT.h, DASSL.h, DiagArray2.h, EIG.h, + LSODE.h, MArray.h, MArray2.h, MArrayN.h, MDiagArray2.h, + MSparse-defs.h, MSparse.h, Matrix.h, MatrixType.h, ODE.h, + ODEFunc.h, ODES.h, ODESFunc.h, Quad.h, Range.h, + Sparse-op-defs.h, Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, + SparseCmplxQR.h, SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, + base-dae.h, base-de.h, base-lu.h, base-min.h, boolMatrix.h, + boolNDArray.h, boolSparse.h, byte-swap.h, chMatrix.h, + chNDArray.h, cmd-edit.h, cmd-hist.h, dColVector.h, + dDiagMatrix.h, dMatrix.h, dNDArray.h, dRowVector.h, dSparse.h, + data-conv.h, dbleAEPBAL.h, dbleCHOL.h, dbleGEPBAL.h, dbleHESS.h, + dbleLU.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, + dir-ops.h, fCColVector.h, fCDiagMatrix.h, fCMatrix.h, + fCNDArray.h, fCRowVector.h, fCmplxAEPBAL.h, fCmplxCHOL.h, + fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxLU.h, fCmplxQR.h, + fCmplxQRP.h, fCmplxSCHUR.h, fCmplxSVD.h, fColVector.h, + fDiagMatrix.h, fEIG.h, fMatrix.h, fNDArray.h, fRowVector.h, + file-ops.h, file-stat.h, floatAEPBAL.h, floatCHOL.h, + floatGEPBAL.h, floatHESS.h, floatLU.h, floatQR.h, floatQRP.h, + floatSCHUR.h, floatSVD.h, functor.h, glob-match.h, idx-vector.h, + int16NDArray.h, int32NDArray.h, int64NDArray.h, int8NDArray.h, + intNDArray.h, kpse-xfns.h, lo-ieee.h, lo-mappers.h, lo-math.h, + lo-specfun.h, lo-sysdep.h, lo-traits.h, lo-utils.h, mach-info.h, + mx-base.h, mx-defs.h, mx-ext.h, mx-op-defs.h, oct-alloc.h, + oct-cmplx.h, oct-env.h, oct-fftw.h, oct-getopt.h, oct-group.h, + oct-inttypes.h, oct-md5.h, oct-passwd.h, oct-rand.h, + oct-rl-edit.h, oct-rl-hist.h, oct-shlib.h, oct-sort.h, + oct-spparms.h, oct-syscalls.h, oct-time.h, oct-uname.h, + pathlen.h, pathsearch.h, prog-args.h, randgamma.h, randmtzig.h, + randpoisson.h, regex-match.h, sparse-base-chol.h, + sparse-base-lu.h, sparse-sort.h, sparse-util.h, statdefs.h, + str-vec.h, sun-utils.h, sysdir.h, systime.h, syswait.h, + uint16NDArray.h, uint32NDArray.h, uint64NDArray.h, + uint8NDArray.h: Remove Emacs local-variables settings. + +2010-01-20 Jaroslav Hajek + + * boolNDArray.cc (boolNDArray::cumsum): Sum directly in double to + avoid a copy. + +2010-01-20 John W. Eaton + + * dim-vector.h: Style fixes. Remove Emacs local variables block. + Untabify. + +2010-01-20 John W. Eaton + + * Makefile.am (PRIVATE_INCS): New variable. List oct-glob.h + here instead of in INCS. + (liboctave_la_SOURCES): Include $(PRIVATE_INCS) in the list. + + * glob-match.cc (glob_match::match, glob_match::glob): Now const. + Move definitions here from glob-match.h. + +2010-01-20 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_any_r, mx_inline_all_r): New helper + reductors. + (mx_inline_any, mx_inline_all): Call the here in row-wise reduction + with few enough columns. + +2010-01-20 Jaroslav Hajek + + * lo-mappers.h (xmin (double, double), xmax (double, double), + xmin (float, float), xmax (float, float)): Inline definitions. + * lo-mappers.cc (xmin (double, double), xmax (double, double), + xmin (float, float), xmax (float, float)): Remove from here. + * mx-inlines.cc (mx_inline_xmin, mx_inline_xmax): Provide + specializations for real array-scalar and scalar-array cases. + +2010-01-20 Jaroslav Hajek + + * oct-norm.cc (norm_accumulator_p::accum, norm_accumulator_mp::accum): + Call octave_quit here. + (higham_subp): Also here. + +2010-01-20 Jaroslav Hajek + + * mx-op-defs.h (SND_MINMAX_FCN, NDS_MINMAX_FCN, NDND_MINMAX_FCN): + Simplify using mx_inlines machinery. + * dNDArray (min, max): Simplify. + * fNDArray (min, max): Simplify. + * CNDArray (min, max): Simplify. + * fCNDArray (min, max): Simplify. + +2010-01-20 Jaroslav Hajek + + * Array.h: Substitute OCTAVE_QUIT -> octave_quit (). + * CMatrix.cc: Ditto. + * CNDArray.cc: Ditto. + * CSparse.cc: Ditto. + * CmplxGEPBAL.cc: Ditto. + * MArrayN.cc: Ditto. + * MSparse.cc: Ditto. + * Sparse-diag-op-defs.h: Ditto. + * Sparse-op-defs.h: Ditto. + * Sparse-perm-op-defs.h: Ditto. + * Sparse.cc: Ditto. + * Sparse.h: Ditto. + * SparseCmplxQR.cc: Ditto. + * SparseQR.cc: Ditto. + * boolSparse.cc: Ditto. + * bsxfun-defs.cc: Ditto. + * dMatrix.cc: Ditto. + * dNDArray.cc: Ditto. + * dSparse.cc: Ditto. + * dbleGEPBAL.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCNDArray.cc: Ditto. + * fCmplxGEPBAL.cc: Ditto. + * fMatrix.cc: Ditto. + * fNDArray.cc: Ditto. + * file-ops.cc: Ditto. + * floatGEPBAL.cc: Ditto. + * lo-utils.cc: Ditto. + * mx-op-defs.h: Ditto. + * oct-fftw.cc: Ditto. + * oct-norm.cc: Ditto. + * oct-rand.cc: Ditto. + * sparse-dmsolve.cc: Ditto. + +2010-01-20 Jaroslav Hajek + + * bsxfun-defs.cc (BSXFUN_STDOP_DEFS_MXLOOP): Fix reversed min/max + defs. + +2010-01-20 John W. Eaton + + * glob-match.h: Update copyright. + +2010-01-20 John W. Eaton + + * Makefile.am (INCS): Include oct-glob.h in the list. + (LIBOCTAVE_CXX_SOURCES): Include oct-glob.cc in the list. + * oct-glob.h, oct-glob.cc: New files. + * glob-match.cc: (glob_match::match): Move internals to oct-glob.cc. + (glob_match::glob_internal): Move internals to oct-glob.cc. + (single_match_exists): Move to oct-glob.cc. + (glob_match::opts_to_fnmatch_flags): New function. + * glob-match.h Include oct-glob.h. + (glob_match::glob): Call octave_glob to do the real work. + (glob_match::glob_internal): Delete decl. + (glob_match::match (const string_vector&)): Move here from + glob-match.cc. + (glob_match::match (const std::string&)): Call octave_fnmatch to + do the real work. + (glob_match::fnmatch_flags): Rename from flags. + (glob_match::opts_to_fnmatch_flags): New function. + (glob_match::glob_match): Use it. + +2010-01-17 Jaroslav Hajek + + * CMatrix.cc (xgemm): Use octave_idx_type rather than int. + * fCMatrix.cc (xgemm): Ditto. + +2010-01-16 Michael Goffioul + + * oct-time.cc: Avoid to include nonneeded headers from Win32 API, + especially winsock.h. Include unconditionally, as it is + now provided by gnulib, in order to get gettimeofday defined. + +2010-01-15 Jaroslav Hajek + + * Array.cc (Array::insert): Rewrite using assign. + (Array::insert2, Array::insertN): Remove. + * Array.h: Update declarations. Add brief documentation. + +2010-01-15 Jaroslav Hajek + + * Array-b.cc: Inline ascending and descending sort. + (do_bool_partition): New helper template function. + (octave_sort::sort): Provide specializations. + +2010-01-14 Jaroslav Hajek + + * Array.cc (Array::insert (const Array&, const + Array&): Allow less dimensions than indices. + +2010-01-14 Jaroslav Hajek + + * chNDArray.h: Declare relational bsxfun ops. + * chNDArray.cc: Define them. + +2010-01-14 John W. Eaton + + * CMatrix.cc: Fix prototype for zherk. + * fCMatrix.cc: Fix prototype for cherk. + +2010-01-14 John W. Eaton + + * oct-rl-edit.c (octave_rl_set_name): Save arg before setting + rl_terminal_name. + +2010-01-13 John W. Eaton + + * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep (T x)): + Initialize dummy variable. + +2010-01-13 Jaroslav Hajek + + * Array.cc (Array::compute_index): Generalize to the case of + unequal lengths. + +2010-01-13 Jaroslav Hajek + + * dim-vector.h (dim_vector::chop_trailing_singletons): Only uniquify + if really needed. + * Array.h (Array::Array (T*, const dim_vector&)): Call + chop_trailing_singletons. + (Array::Array (const Array&, const dim_vector&, + octave_idx_type...)): Ditto. + (Array::Array (const dim_vector&)): Ditto. + (Array::Array (const dim_vector&, const T&)): Ditto. + (Array::chop_trailing_singletons): Deprecate. + * Array.cc (Array::Array(const Array&, const dim_vector&)): Ditto. + (Array::index (const Array&, ...)): Ditto. + (Array::permute): Don't call deprecate method here. + (Array::assign): Neither here. + +2010-01-11 Rik + + * Makefile.am: Remove unnecessary use of + simple_move_if_change_rule to allow Make to update timestamps. + +2010-01-08 Jaroslav Hajek + + * Array.h (Array::crefT): New helper typedef. + (Array::elem const, Array::xelem const, + Array::checkelem const, Array::operator () const): Return crefT. + (Array::range_error const): Remove overloads. + * Array.cc (Array::range_error const): Remove overloads. + +2010-01-07 John W. Eaton + + * oct-time.cc (octave_time::stamp): Assume gettimeofday is + available and that it takes two arguments. + +2010-01-07 Jaroslav Hajek + + * lo-utils.cc (octave_fgets (FILE *, bool&)): Add OCTAVE_QUIT at the + end. + +2010-01-05 John W. Eaton + + * Makefile.am (AM_CPPFLAGS): Include @CPPFLAGS@ and -I../libgnu + in the list. + +2009-12-30 Jaroslav Hajek + + * idx-vector.cc (idx_vector::maybe_reduce): Implement reduction rule + for subsequent ones () indices. + +2009-12-28 John W. Eaton + + * file-ops.cc (fle_ops::mkdir_internal, + file_ops::mkfifo_internal): New private static functions. + * file-ops.h (file_ops::mkdir, file_ops::mkdir): Move + definitions here from file-ops.cc. Forward to X_internal functions. + +2009-12-26 John W. Eaton + + * file-stat.cc (lstat): Delete replacement function. + (file_fstat::update_internal): Assume fstat is available. + +2009-12-25 John W. Eaton + + * file-ops.cc (file_ops::mkdir): Assume we have an mkdir + function that takes two arguments. + * mkdir.c: Delete. + * Makefile.am (LIBOCTAVE_C_SOURCES): Remove mkdir.c from the list. + +2009-12-25 John W. Eaton + + * oct-md5.cc (oct_md5_result_to_str): New function. + (oct_md5, oct_md5_file): Simplify using gnulib md5 functions and + oct_md5_result_to_str. + + * Makefile.am (INCS): Remove md5.h from the list. + (LIBOCTAVE_C_SOURCES): Remove md5.c from the list. + * md5.c, md5.h: Delete. + +2009-12-19 Rik + + * Makefile.am: Eliminate TOPDIR variable in favor of built-in + automake variables of top_builddir and top_srcdir. + +2009-12-17 John W. Eaton + + * glob-match.h, glob-match.cc (glob_match::glob_internal): + Rename from glob_match::glob and make private. + * glob-match.h (glob_match::glob): Forward to glob_internal. + +2009-12-15 Jaroslav Hajek + + * Array.cc (Array::index (const idx_vector&)): Fix determining of + result dimensions. + +2009-12-15 Jaroslav Hajek + + * Range.cc (Range::elem, Range::checkelem, Range::index): + New methods. + * Range.h: Declare them. + +2009-12-15 Jaroslav Hajek + + * idx-vector.h (idx_vector::loop, idx_vector::bloop): Fix behavior for + masks. + +2009-12-13 Rik + + * Makefile.am: Use DISTCLEANFILES rather than distclean-local rule. + Use PERL variable defined by autoconf rather than direct call. + Use simple_move_if_change rule to reduce useless compiles if + OPTS_INC have not changed. + +2009-12-12 Jaroslav Hajek + + * oct-shlib.h: Remove stray declarations. + +2009-12-11 John W. Eaton + + * oct-shlib.cc (octave_dlopen_shlib::octave_dlopen_shlib): + Print filename along with message from dlerror. + Reverse sense of test. + +2009-12-09 Jaroslav Hajek + + * oct-shlib.h (octave_shlib): Rewrite. + * oct-shlib.cc (octave_shlib): Rewrite. + +2009-12-09 John W. Eaton + + * oct-time.cc (octave_base_tm::strftime): Call nstrftime instead + of my_strftime. + +2009-12-09 John W. Eaton + + * oct-time.cc: Include strftime.h. Don't provide decl for strftime. + (octave_base_tm::strftime): Call my_strftime instead of ::strftime. + * Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/libgnu to the list. + (LINK_DEPS): Add ../libgnu/libgnu.la to the list. + (LIBOCTAVE_C_SOURCES): Remove strftime.c from the list. + * strftime.c: Delete. + +2009-12-08 Michael Goffioul + + * Array-d.cc (Array::is_sorted): Declare as OCTAVE_API. + * Array-f.cc (Array::is_sorted): Ditto. + * lo-sysdep.cc: Undef min and max after including windows.h + +2009-12-05 Jaroslav Hajek + + * Array-d.cc (Array::is_sorted): Optimized specialization. + * Array-f.cc (Array::is_sorted): Ditto. + +2009-12-05 Jaroslav Hajek + + * oct-sort.cc (lookup_binary): Remove. + (octave_sort::lookup (const T*, octave_idx_type, const T&, comp)): + Move code here. + (octave_sort::lookup (const T*, octave_idx_type, const T*, + octave_idx_type, octave_idx_type *, comp)): Remove offset parameter. + Use a simple sequence of lookups. + (octave_sort::lookup (const T*, octave_idx_type, const T*, + octave_idx_type, octave_idx_type *)): Update. + (octave_sort::lookupm, octave_sort::lookupb): Remove. + (octave_sort::lookup_sorted): New overloaded method. + + * Array.cc (Array::lookup (const Array&, sortmode)): Remove + linf & rinf params. Rewrite using is_sorted to check for sortedness, + call octave_sort::lookup_sorted to do the sorted merge. + (Array::lookupm, Array::lookupb): Remove. + (NO_INSTANTIATE_ARRAY_SORT): Update. + +2009-12-05 Jaroslav Hajek + + * Array.cc (sortrows_comparator): Rename to safe_comparator. + (Array::is_sorted): Use it here. + * Array-d.cc: Update. + * Array-f.cc: Update. + * Array-C.cc: Update. + * Array-fC.cc: Update. + +2009-12-03 John W. Eaton + + * Makefile.am (BUILT_NODISTFILES): New variable. + +2009-12-01 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_range_rep::unconvert, + idx_vector::idx_scalar_rep::unconvert, + idx_vector::idx_vector_rep::unconvert, + idx_vector::idx_mask_rep::unconvert): New methods. + (idx_vector::unconvert): Use them here. Add mask output. + * idx-vector.h: Update decls. + +2009-11-28 Jaroslav Hajek + + * dim-vector.h (dim_vector::zero_by_zero): New method. + * idx-vector.h (idx_vector::idx_mask_rep::is_colon_equiv): Fix. + * Array.cc (Array::assign): Minor tweaks. Optimize + A = []; A(1:m,1:n,1:k) = X for all cases. Use a shallow copy + for all colon-equivalent indices. + +2009-11-27 Jaroslav Hajek + + * idx-vector.h (idx_vector::index_class): New member: class_mask. + (idx_vector::idx_mask_rep): New class. + (idx_vector::idx_vector (bool)): Construct idx_mask_rep. + (idx_vector::unmask): New method decl. + * idx-vector.cc (idx_vector::idx_vector (const boolNDArray&)): + Construct idx_mask_rep conditionally. + (idx_vector::unmask): New method. + (idx_vector::unconvert): Make non-const. unmask when called on a mask + vector. + (idx_vector::is_cont_range): Check also for idx_mask_rep. + +2009-11-27 Jaroslav Hajek + + * Array.cc (Array::nnz): New method. + * Array.h: Declare it. + * MArray.h (MArray::nnz): Remove. + * MArrayN.h (MArrayN::nnz): Remove. + * boolNDArray.h (boolNDArray::nnz): Remove. + +2009-11-25 Jaroslav Hajek + + * dbleCHOL.cc (CHOL::init): Output LAPACK's info. Resize matrix if + nonzero. Use smarter copying. + * floatCHOL.cc (FloatCHOL::init): Ditto. + * CmplxCHOL.cc (ComplexCHOL::init): Ditto. + * fCmplxCHOL.cc (FloatComplexCHOL::init): Ditto. + +2009-11-24 Jaroslav Hajek + + * MArrayN.cc (MArrayN::idx_add): New methods. + * MArrayN.h: Declare them. + * MArray.cc, MArray.h: Remove from here. + +2009-11-19 Jaroslav Hajek + + * dim-vector.h (dim_vector::safe_numel): New method. + * Array.h (Array::Array (const dim_vector&), + Array::Array (const dim_vector&, const T&), + Array::Array (T *, const dim_vector&)): Use it here. + * Array.cc (Array::clear (const dim_vector&)): Also here. + (Array::get_size): Remove. + * Array2.h (Array2::get_size): Remove. + * Array3.h (Array3::get_size): Remove. + +2009-11-19 Jaroslav Hajek + + * Array.cc (Array::clear (const dim_vector&)): Use get_size. + +2009-11-19 Jaroslav Hajek + + * lo-mappers.cc (do_erfinv): New static function. + (erfinv (double), erfinv (float)): New mappers. + * lo-mappers.h: Declare them. + +2009-11-18 David Grundberg + + * str-vec.cc (string_vector::list_in_columns): Avoid crash on + empty arguments from list_in_columns. + +2009-11-18 Jaroslav Hajek + + * Sparse.h (read_sparse_matrix): Fix order of tests and reads. + +2009-11-18 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_any_negative, mx_inline_pow): New loops. + (DEFMXMAPPER2X): New macro. + * bsxfun-decl.h (BSXFUN_OP2_DECL): New macro. + * bsxfun-defs.cc (BSXFUN_OP2_DEF, BSXFUN_OP2_DEF_MXLOOP): New macros. + (do_bsxfun_op): Use OCTAVE_QUIT. + * dNDArray.cc (NDArray::all_integers (void)): New method. + (NDArray::any_element_is_negative): Use mx_inline_any_negative. + (bsxfun_pow (const NDArray&, const NDArray&), + bsxfun_pow (const ComplexNDArray&, const NDArray&)): New functions. + * dNDArray.h: Update. + * fNDArray.cc (FloatNDArray::all_integers (void)): New method. + (FloatNDArray::any_element_is_negative): Use mx_inline_any_negative. + (bsxfun_pow (const FloatNDArray&, const FloatNDArray&), + bsxfun_pow (const FloatComplexNDArray&, const FloatNDArray&)): + New functions. + * fNDArray.h: Update. + * CNDArray.cc (bsxfun_pow (const ComplexNDArray&, const + ComplexNDArray&)): New function. + * CNDArray.h: Update. + * fCNDArray.cc (bsxfun_pow (const FloatComplexNDArray&, const + FloatComplexNDArray&)): New function. + * fCNDArray.h: Update. + +2009-11-13 Jaroslav Hajek + + * CNDArray.cc (ComplexNDArray::all_elements_are_real): + Use mx_inline_all_real. + * CMatrix.cc (ComplexMatrix::all_elements_are_real): Ditto. + * fCNDArray.cc (FloatComplexNDArray::all_elements_are_real): + Use mx_inline_all_real. + * fCMatrix.cc (FloatComplexMatrix::all_elements_are_real): Ditto. + * CDiagMatrix.cc (ComplexDiagMatrix::all_elements_are_real): Ditto. + * fCDiagMatrix.cc (FloatComplexDiagMatrix::all_elements_are_real): + Ditto. + * CSparse.cc (SparseComplexMatrix::all_elements_are_real): Ditto. + +2009-11-17 Jaroslav Hajek + + * base-aepbal.h (permuting_vector): Fix lower part swapping. + +2009-11-13 John W. Eaton + + * Makefile.am (liboctave_la_CPPFLAGS): Add @OCTAVE_DLL_DEFS@ to + the list of flags. + +2009-11-13 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_any_nan): Rewrite. + (mx_inline_all_real): New reduction loop. + +2009-11-12 Jaroslav Hajek + + * lo-mappers.cc ( rc_acos, rc_acos, rc_acosh, rc_acosh, rc_asin, + rc_asin, rc_atanh, rc_atanh, rc_log, rc_log, rc_xlog2, rc_log2, + rc_log10, rc_log10, rc_sqrt, rc_sqrt): New mappers. + * lo-mappers.h: Declare them. + + * lo-specfun.cc (rc_lgamma, rc_lgamma, rc_log1p, rc_log1p): New + mappers. + * lo-specfun.h: Declare them. + * Array.h (Array::map): Unroll loop to reduce OCTAVE_QUIT checking. + Provide function-reference overloads. + + * MArray.h (MArray::map): Provide function-reference overloads. + * Array2.h (Array2::map): Ditto. + * MArray2.h (MArray2::map): Ditto. + + * Sparse.h (Sparse::map): Ditto. + * MSparse.h (MSparse::map): Ditto. + + * dNDArray.h (NDArray::map): Remove. + * dNDArray.cc (NDArray::map): Remove. + * fNDArray.h (FloatNDArray::map): Remove. + * fNDArray.cc (FloatNDArray::map): Remove. + * CNDArray.h (ComplexNDArray::map): Remove. + * CNDArray.cc (ComplexNDArray::map): Remove. + * fCNDArray.h (FloatComplexNDArray::map): Remove. + * fCNDArray.cc (FloatComplexNDArray::map): Remove. + + * dMatrix.h (Matrix::map): Remove. + * dMatrix.cc (Matrix::map): Remove. + * fMatrix.h (FloatMatrix::map): Remove. + * fMatrix.cc (FloatMatrix::map): Remove. + * CMatrix.h (ComplexMatrix::map): Remove. + * CMatrix.cc (ComplexMatrix::map): Remove. + * fCMatrix.h (FloatComplexMatrix::map): Remove. + * fCMatrix.cc (FloatComplexMatrix::map): Remove. + + * dRowVector.h (RowVector::map): Remove. + * dRowVector.cc (RowVector::map): Remove. + * fRowVector.h (FloatRowVector::map): Remove. + * fRowVector.cc (FloatRowVector::map): Remove. + * CRowVector.h (ComplexRowVector::map): Remove. + * CRowVector.cc (ComplexRowVector::map): Remove. + * fCRowVector.h (FloatComplexRowVector::map): Remove. + * fCRowVector.cc (FloatComplexRowVector::map): Remove. + + * dColVector.h (ColumnVector::map): Remove. + * dColVector.cc (ColumnVector::map): Remove. + * fColVector.h (FloatColumnVector::map): Remove. + * fColVector.cc (FloatColumnVector::map): Remove. + * CColVector.h (ComplexColumnVector::map): Remove. + * CColVector.cc (ComplexColumnVector::map): Remove. + * fCColVector.h (FloatComplexColumnVector::map): Remove. + * fCColVector.cc (FloatComplexColumnVector::map): Remove. + + * dSparse.h (SparseMatrix::map): Remove. + * dSparse.cc (SparseMatrix::map): Remove. + * CSparse.h (SparseComplexMatrix::map): Remove. + * CSparse.cc (SparseComplexMatrix::map): Remove. + +2009-11-11 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Improve comment about systems + without IEEE floating point format. + +2009-11-11 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_map): New template loop. + (DEFMXMAPPER): New macro. + (DEFMXMAPPER2): Rename from DEFMXMAPPER. + (do_mx_unary_map): New applier. + (mx_inline_real, mx_inline_complex): New loops. + * dNDArray.cc (NDArray::abs, NDArray::isnan, NDArray::isinf, + NDArray::isfinite, real, imag): Use new constructs. + * fNDArray.cc (FloatNDArray::abs, FloatNDArray::isnan, + FloatNDArray::isinf, FloatNDArray::isfinite, real, imag): Ditto. + * CNDArray.cc (ComplexNDArray::abs, ComplexNDArray::isnan, + ComplexNDArray::isinf, ComplexNDArray::isfinite, conj): Use new + constructs. + * fCNDArray.cc (FloatComplexNDArray::abs, FloatComplexNDArray::isnan, + FloatComplexNDArray::isinf, FloatComplexNDArray::isfinite, conj): Use + new constructs. + +2009-11-10 John W. Eaton + + * mx-ops, sparse-mx-ops, vx-ops, vx-ops: + Add comment about updating. + * Makefile.am, config-ops.sh: New files. + * Makefile.in: Delete. + +2009-11-09 Jaroslav Hajek + + * dSparse.h (Sparse::max): Use Array. + * dSparse.cc: Update. + * CSparse.h (Sparse::max): Use Array. + * CSparse.cc: Update. + * dNDArray.h (NDArray::max, NDArray::min, NDArray::cummax, + NDArray::cummin, NDArray::diff): Use dim = -1 as default. + * fNDArray.h (FloatNDArray::max, FloatNDArray::min, FloatNDArray::cummax, + FloatNDArray::cummin, FloatNDArray::diff): Use dim = -1 as default. + * CNDArray.h (ComplexNDArray::max, ComplexNDArray::min, + ComplexNDArray::cummax, ComplexNDArray::cummin, ComplexNDArray::diff): + Use dim = -1 as default. + * fCNDArray.h (FloatComplexNDArray::max, FloatComplexNDArray::min, + FloatComplexNDArray::cummax, FloatComplexNDArray::cummin, + FloatComplexNDArray::diff): Use dim = -1 as default. + * intNDArray.h (intNDArray::max, intNDArray::min, intNDArray::cummax, + intNDArray::cummin, intNDArray::diff): Use dim = -1 as default. + +2009-11-03 Jaroslav Hajek + + * oct-mem.h: Rename octave_ucopy -> copy_or_memcpy, + octave_fill -> fill_or_memset, octave_new -> no_ctor_new, + octave_delete -> no_ctor_delete. + * Array.h: Update. + * Array.cc: Update. + * idx-vector.h: Update. + * idx-vector.cc: Update. + +2009-11-03 Jaroslav Hajek + + * oct-mem.h: New source. + * Makefile.in: Include it. + * Array.h (Array::ArrayRep::ArrayRep (...)): Use octave_new, + octave_ucopy and octave_fill. + (Array::ArrayRep::~ArrayRep): Use octave_delete. + (Array::coerce): Use octave_new. + * Array.cc (Array::fill, rec_resize_helper::do_resize_fill, + Array::resize_fill, rec_permute_helper::do_permute, + Array::delete_elements): Use octave_ucopy and octave_fill. + * idx-vector.h (index_vector::index, index_vector::assign): Use + octave_ucopy. + * idx-vector.cc (index_vector::copy_data): Ditto. + +2009-11-03 Jaroslav Hajek + + * idx-vector.cc (idx_vector::maybe_reduce): Implement (i:k:end, :) + and (i:k:end, p:q) reductions. + +2009-11-02 Jaroslav Hajek + + * mx-inlines.cc (twosum_accum): Remove FLOAT_TRUNCATE. + +2009-10-28 John W. Eaton + + * PermMatrix.cc: Don't include error.h. + +2009-10-27 David Bateman + + * SparsedbleLU.cc (SparseLU::SparseLU (const SparseMatrix&, + const Matrix&, bool), SparseLU::SparseLU (const SparseMatrix&, + const ColumnVector&, const Matrix&, boo, bool, double, bool, + bool)): Fix test for valid pivot tolerance. + * SparseCmplxLU.cc (SparseComplexLU::SparseComplexLU + (const SparseComplexMatrix&, const Matrix&, bool), + SparseComplexLU::SparseComplexLU (const SparseComplexMatrix&, + const ColumnVector&, const Matrix&, boo, bool, double, bool, + bool)): Ditto. + +2009-10-23 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_range_rep::idx_range_rep + (octave_idx_type, octave_idx_type, octave_idx_type)): + Improve checking. + +2009-10-21 John W. Eaton + + * oct-time.h (octave_time::octave_time (time_t t, int us)): + New constructor. + (operator + (const octave_time&, const octave_time&)): New function. + + * file-stat.h (base_file_stat::time_resolution): New function. + +2009-10-20 Jaroslav Hajek + + * bsxfun-decl.h, bsxfun-defs.cc: New sources. + * Makefile.in: Add them. + * dim-vector.h (dim_vector::compute_index, + dim_vector::increment_index): Fix. + * mx-inlines.cc (DEFMXMAPPER, DEFMXLOCALMAPPER): New macros. + (mx_inline_xmin, mx_inline_xmax): New loops. + (mx_inline_fun): Remove. + * oct-inttypes.h (xmin (const octave_int&, const octave_int&), + xmax (const octave_int&, const octave_int&)): + New inline functions. + + * CNDArray.cc: Define bsxfun operations. + * boolNDArray.cc: Ditto. + * dNDArray.cc: Ditto. + * fCNDArray.cc: Ditto. + * fNDArray.cc: Ditto. + * int16NDArray.cc: Ditto. + * int32NDArray.cc: Ditto. + * int64NDArray.cc: Ditto. + * int8NDArray.cc: Ditto. + * uint16NDArray.cc: Ditto. + * uint32NDArray.cc: Ditto. + * uint64NDArray.cc: Ditto. + * uint8NDArray.cc: Ditto. + + * CNDArray.h: Declare bsxfun operations. + * boolNDArray.h: Ditto. + * dNDArray.h: Ditto. + * fCNDArray.h: Ditto. + * fNDArray.h: Ditto. + * int16NDArray.h: Ditto. + * int32NDArray.h: Ditto. + * int64NDArray.h: Ditto. + * int8NDArray.h: Ditto. + * uint16NDArray.h: Ditto. + * uint32NDArray.h: Ditto. + * uint64NDArray.h: Ditto. + * uint8NDArray.h: Ditto. + +2009-10-19 Jaroslav Hajek + + * dim-vector.h (dim_vector::compute_index, + dim_vector::increment_index, dim_vector::cumulative, + dim_vector::cum_compute_index): New methods. + +2009-10-18 Carsten Clark + + * Makefile.in: Remove ArrayN.cc. + +2009-10-18 Jaroslav Hajek + + * Makefile.in: Include base-qr.h and base-qr.cc. + +2009-10-17 Jaroslav Hajek + + * dbleQR.cc: Initialize QR::raw, QR::economy and QR::std. + +2009-10-16 Jaroslav Hajek + + * ArrayN.h: Remove everything, just #define ArrayN Array. + Warn if under gcc. + * ArrayN.cc: Remove. + * Array.cc (operator >>): New operator. + * Array.h: Declare it. + + * Array-C.cc: Remove traces of ArrayN. + * Array-b.cc: Ditto. + * Array-ch.cc: Ditto. + * Array-d.cc: Ditto. + * Array-f.cc: Ditto. + * Array-fC.cc: Ditto. + * CNDArray.cc: Ditto. + * CNDArray.h: Ditto. + * MArrayN.h: Ditto. + * boolNDArray.cc: Ditto. + * boolNDArray.h: Ditto. + * chNDArray.h: Ditto. + * dNDArray.cc: Ditto. + * dNDArray.h: Ditto. + * fCNDArray.cc: Ditto. + * fCNDArray.h: Ditto. + * fNDArray.cc: Ditto. + * fNDArray.h: Ditto. + * intNDArray.cc: Ditto. + * intNDArray.h: Ditto. + * lo-specfun.cc: Ditto. + * lo-specfun.h: Ditto. + + * mx-op-defs.h (DMS_BIN_OP, SDM_BIN_OP): Rewrite. + (DMS_BIN_OPS, SDM_BIN_OPS): Define dm*s and dm/s rather than dm+s and + dm-s which are rather useless. + * mx-ops: Update. + +2009-10-16 Jaroslav Hajek + + * Array.cc (Array::column, Array::page, Array::linearize, + Array::linear_slice): New methods. + * Array.h: Declare them + * ArrayN.h: Forward them. + +2009-10-14 Jaroslav Hajek + + * oct-sort.cc (octave_sort::nth_element): New overloaded method. + * oct-sort.h: Declare it. + * Array.cc (Array::nth_element): New method. + * Array.h: Declare it. + (Array::sort): Use int for dim argument. + * ArrayN.h (ArrayN::nth_element): Wrap. + (ArrayN::sort): Use int for dim argument. + +2009-10-13 Jaroslav Hajek + + * lo-traits.h (equal_types, is_instance, subst_template_param): New + traits classes. + * mx-inlines.cc (op_dble_sum, twosum_accum): New helper funcs. + (mx_inline_dsum, mx_inline_xsum): New reduction loops. + * fNDArray.cc (FloatNDArray::dsum): New method. + * fNDArray.h: Declare it. + * fCNDArray.cc (FloatComplexNDArray::dsum): New method. + * fCNDArray.h: Declare it. + * dNDArray.cc (NDArray::xsum): New method. + * dNDArray.h: Declare it. + * CNDArray.cc (ComplexNDArray::xsum): New method. + * CNDArray.h: Declare it. + * intNDArray.cc (intNDArray::dsum): New method. + * intNDArray.h: Declare it. + +2009-10-12 Jaroslav Hajek + + * base-qr.cc (base_qr::regular): New method. + * base-qr.h: Declare it. + * base-lu.cc (base_lu::regular): New method. + * base-lu.h: Declare it. + +2009-10-12 Jaroslav Hajek + + * base-qr.h: New source. + * base-qr.cc: New source. + * dbleQR.h (QR): Rebase on base_qr. + * dbleQR.cc: Ditto. + * floatQR.h (QR): Rebase on base_qr. + * floatQR.cc: Ditto. + * CmplxQR.h (QR): Rebase on base_qr. + * CmplxQR.cc: Ditto. + * fCmplxQR.h (QR): Rebase on base_qr. + * fCmplxQR.cc: Ditto. + * dbleQRP.h (QR): Update. + * dbleQRP.cc: Ditto. + * floatQRP.h (QR): Update. + * floatQRP.cc: Ditto. + * CmplxQRP.h (QR): Update. + * CmplxQRP.cc: Ditto. + * fCmplxQRP.h (QR): Update. + * fCmplxQRP.cc: Ditto. + +2009-10-08 Jaroslav Hajek + + * PermMatrix.cc (PermMatrix::eye): New method. + * PermMatrix.h: Declare it. + * dbleLU.cc (LU::update, LU::update_piv): New overloaded methods. + * dbleLU.h: Declare them. + * floatLU.cc (FloatLU::update, FloatLU::update_piv): New overloaded + methods. + * floatLU.h: Declare them. + * CmplxLU.cc (ComplexLU::update, ComplexLU::update_piv): New + overloaded methods. + * CmplxLU.h: Declare them. + * fCmplxLU.cc (FloatComplexLU::update, FloatComplexLU::update_piv): + New overloaded methods. + * fCmplxLU.h: Declare them. + +2009-10-07 John W. Eaton + + * mx-inlines.cc (mx_inline_diff): Avoid uninitialized variable warning. + +2009-10-06 Jaroslav Hajek + + * dDiagMatrix.cc (operator *(const DiagMatrix&, const DiagMatrix&)): + Rewrite. + * fDiagMatrix.cc (operator *(const FloatDiagMatrix&, const FloatDiagMatrix&)): + Rewrite. + * CDiagMatrix.cc (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): + Rewrite. + * fCDiagMatrix.cc (operator *(const FloatComplexDiagMatrix&, const + FloatComplexDiagMatrix&)): + Rewrite. + * DiagArray2.h (DiagArray2::diag_length): New method. + * PermMatrix.h (PermMatrix::length): Make consistent with + DiagArray2::length. + +2009-10-05 Jaroslav Hajek + + * base-lu.cc (base_lu::unpack): Unpack getp as well. + +2009-10-05 Jaroslav Hajek + + * PermMatrix.cc (PermMatrix::determinant): Implement a (hopefully) + working algorithm. + +2009-10-05 Jaroslav Hajek + + * dim-vector.h (operator ==): Include fast case. + * base-lu.cc (base_lu::packed, base_lu::unpack): New methods. + (base_lu::L, base_lu::U, base_lu::Y, base_lu::getp): Distinguish + packed vs. unpacked case. + * base-lu.h: Update decls. + (base_lu::l_fact): New member field. + +2009-10-02 Jaroslav Hajek + + * lo-traits.h (strip_template_param): New trait class. + +2009-10-01 Jaroslav Hajek + + * Array.cc (Array::permute): Fast case identity permutation. + +2009-09-27 Jaroslav Hajek + + * oct-cmplx.h: Fix complex-real orderings. + +2009-09-27 Jaroslav Hajek + + * dim-vector.h (dim_vector::redim): Rewrite. + * Array-util.cc (sub2ind): Allow single index case. + +2009-09-26 Jaroslav Hajek + + * dMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. + (operator *(const Matrix&, const Matrix&)): Update. + * fMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. + (operator *(const FloatMatrix&, const FloatMatrix&)): Update. + * CMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. + (operator *(const ComplexMatrix&, const ComplexMatrix&)): Update. + * fCMatrix.cc (xgemm): Use blas_trans_type to indicate transposes. + (operator *(const FloatComplexMatrix&, const FloatComplexMatrix&)): Update. + * dMatrix.h: Update decl. + * fMatrix.h: Update decl. + * CMatrix.h: Update decl. + * fCMatrix.h: Update decl. + +2009-09-23 Jaroslav Hajek + + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const Matrix&, const + Matrix&)): New constructor. + (operator * (Matrix, ComplexMatrix), operator * (ComplexMatrix, + Matrix)): Optimize. + * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix (const FloatMatrix&, const + FloatMatrix&)): New constructor. + (operator * (FloatMatrix, FloatComplexMatrix), operator * (FloatComplexMatrix, + FloatMatrix)): Optimize. + +2009-09-23 Jaroslav Hajek + + * dMatrix.cc (stack_complex_matrix, unstack_complex_matrix): New + static funcs. + (Matrix::solve (..., const ComplexMatrix&, ...)): Use the above funcs. + Improve forwarding. + * fMatrix.cc (stack_complex_matrix, unstack_complex_matrix): New + static funcs. + (FloatMatrix::solve (..., const FloatComplexMatrix&, ...)): Use the + above funcs. Improve forwarding. + +2009-09-23 Jaroslav Hajek + + * mx-defs.h (blas_trans_type): New enum. + (get_blas_char): New inline func. + * dMatrix.cc (Matrix::utsolve, Matrix::ltsolve, Matrix::solve): + Support transt parameter. + * fMatrix.cc (FloatMatrix::utsolve, FloatMatrix::ltsolve, + FloatMatrix::solve): Ditto. + * CMatrix.cc (ComplexMatrix::utsolve, ComplexMatrix::ltsolve, + ComplexMatrix::solve): Ditto. + * fCMatrix.cc (FloatComplexMatrix::utsolve, + FloatComplexMatrix::ltsolve, FloatComplexMatrix::solve): Ditto. + * dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h: Update. + +2009-09-21 Jaroslav Hajek + + * mx-op-defs.h (VS_BIN_OP, SV_BIN_OP, VV_BIN_OP): Simplify. + +2009-09-19 Jaroslav Hajek + + * dNDArray.h (NDArray::matrix_type): New typedef. + * fNDArray.h (FloatNDArray::matrix_type): New typedef. + * CNDArray.h (ComplexNDArray::matrix_type): New typedef. + * fCNDArray.h (FloatComplexNDArray::matrix_type): New typedef. + * boolNDArray.h (boolNDArray::matrix_type): New typedef. + * charNDArray.h (charNDArray::matrix_type): New typedef. + + * dMatrix.h (Matrix::column_vector_type, + Matrix::row_vector_type): New typedefs. + * fMatrix.h (FloatMatrix::column_vector_type, + FloatMatrix::row_vector_type): New typedefs. + * CMatrix.h (ComplexMatrix::column_vector_type, + ComplexMatrix::row_vector_type): New typedefs. + * fCMatrix.h (FloatComplexMatrix::column_vector_type, + FloatComplexMatrix::row_vector_type): New typedefs. + +2009-09-18 John W. Eaton + + * mach-info.cc: Don't include oct-types.h. + +2009-09-18 Jaroslav Hajek + + * Array.h (NoAlias): New template class. + * dRowVector.cc (linspace): Rewrite. + * fRowVector.cc (linspace): Rewrite. + * CRowVector.cc (linspace): Rewrite. + * fCRowVector.cc (linspace): Rewrite. + * dMatrix.cc (linspace): New method. + * dMatrix.h (linspace): Declare it. + * fMatrix.cc (linspace): New method. + * fMatrix.h (linspace): Declare it. + * CMatrix.cc (linspace): New method. + * CMatrix.h (linspace): Declare it. + * fCMatrix.cc (linspace): New method. + * fCMatrix.h (linspace): Declare it. + +2009-09-17 John W. Eaton + + * oct-types.h.in: Delete. + * Makefile.in (BUILT_INCLUDES, DISTFILES): Remove oct-types.h.in + from the list. + (distclean, maintainer-clean): Don't remove oct-types.h + * DAEFunc.h, MatrixType.h, base-aepbal.h, dim-vector.h, + lo-specfun.h, lo-utils.h, mx-op-decl.h, oct-inttypes.h, + randgamma.h, randmtzig.h, randpoisson.h: + Don't include oct-types.h. + +2009-09-16 Jaroslav Hajek + + * oct-rand.cc (octave_rand::do_matrix, do_nd_array, do_vector): + Use Array::clear rather than Array::resize. + +2009-09-06 Jaroslav Hajek + + * dColVector.h (operator *(const Matrix&, const ColumnVector)): + Optimize. + * fColVector.h (operator *(const FloatMatrix&, const + FloatColumnVector)): Optimize. + * CColVector.h (operator *(const ComplexMatrix&, const + ComplexColumnVector)): Optimize. + * fCColVector.h (operator *(const FloatComplexMatrix&, const + FloatComplexColumnVector)): Optimize. + +2009-09-04 Jaroslav Hajek + + * Array.cc (Array::clear (const dim_vector&)): new method. + * Array.h: Declare it. + (Array::clear (octave_idx_type)): New method. + (Array::clear (octave_idx_type, octave_idx_type)): New method. + +2009-09-04 Jaroslav Hajek + + * mx-inlines.cc (DEFMXBOOLOPEQ): New macro. + (mx_inline_and2, mx_inline_or2): New loops. + + * MArray.h (MArray::MArray (const dim_vector&)): New constructor. + (MArray::MArray (const Array&)): Ensure column vector. + (MArray::resize): New method. + * DiagArray2.h (DiagArray2::DiagArray2 (const dim_vector&)): New + constructor. + * MDiagArray2.h (MDiagArray2::MDiagArray2 (const dim_vector&)): New + constructor. + * dColVector.h (ColumnVector::ColumnVector (const dim_vector&)): New + constructor. + * fColVector.h (FloatColumnVector::FloatColumnVector (const + dim_vector&)): New constructor. + * CColVector.h (ComplexColumnVector::ComplexColumnVector (const + dim_vector&)): New constructor. + * fCColVector.h (FloatComplexColumnVector::FloatComplexColumnVector + (const dim_vector&)): New constructor. + * dRowVector.h (RowVector::RowVector (const dim_vector&)): New + constructor. + * fRowVector.h (FloatRowVector::FloatRowVector (const dim_vector&)): + New constructor. + * CRowVector.h (ComplexRowVector::ComplexRowVector (const + dim_vector&)): New constructor. + * fCRowVector.h (FloatComplexRowVector::FloatComplexRowVector (const + dim_vector&)): New constructor. + + * CNDArray.cc (operator *= (const ComplexNDArray, double)): Simplify. + * fCNDArray.cc (operator *= (const FloatComplexNDArray, float)): Simplify. + + * MArray.cc + (operator += (MArray&, const T&)): Simplify. + (operator -= (MArray&, const T&)): Simplify. + (operator *= (MArray&, const T&)): Simplify. + (operator /= (MArray&, const T&)): Simplify. + (operator += (MArray&, const MArray&)): Simplify. + (operator -= (MArray&, const MArray&)): Simplify. + (product (MArray&, const MArray&)): Simplify. + (quotient (MArray&, const MArray&)): Simplify. + (MARRAY_AS_OP): Simplify. + (MARRAY_SA_OP): Simplify. + (MARRAY_AA_OP): Simplify. + (operator - (const MArray&)): Simplify. + + * MArray2.cc + (operator += (MArray2&, const T&)): Simplify. + (operator -= (MArray2&, const T&)): Simplify. + (operator *= (MArray2&, const T&)): Simplify. + (operator /= (MArray2&, const T&)): Simplify. + (operator += (MArray2&, const MArray&)): Simplify. + (operator -= (MArray2&, const MArray&)): Simplify. + (product (MArray2&, const MArray&)): Simplify. + (quotient (MArray2&, const MArray&)): Simplify. + (MARRAY_A2S_OP): Simplify. + (MARRAY_SA2_OP): Simplify. + (MARRAY_A2A2_OP): Simplify. + (operator - (const MArray2&)): Simplify. + + * MArrayN.cc + (operator += (MArrayN&, const T&)): Simplify. + (operator -= (MArrayN&, const T&)): Simplify. + (operator *= (MArrayN&, const T&)): Simplify. + (operator /= (MArrayN&, const T&)): Simplify. + (operator += (MArrayN&, const MArray&)): Simplify. + (operator -= (MArrayN&, const MArray&)): Simplify. + (product (MArrayN&, const MArray&)): Simplify. + (quotient (MArrayN&, const MArray&)): Simplify. + (MARRAY_NDS_OP): Simplify. + (MARRAY_SND_OP): Simplify. + (MARRAY_NDND_OP): Simplify. + (operator - (const MArrayN&)): Simplify. + + * MDiagArray2.cc + (operator += (MDiagArray2&, const MDiagArray2&)): Simplify. + (operator -= (MDiagArray2&, const MDiagArray2&)): Simplify. + (operator *= (MDiagArray2&, T)): Simplify. + (operator /= (MDiagArray2&, T)): Simplify. + (MARRAY_DAS_OP, MARRAY_SDA_OP, MARRAY_DADA_OP): Simplify. + * boolNDArray.cc (mx_el_and_assign, mx_el_or_assign): Simplify. + + * MArray-defs.h (DO_VS_OP, DO_SV_OP, DO_VV_OP, + DO_VS_OP2, DO_VV_OP2, NEGV): Remove. + +2009-09-03 Jaroslav Hajek + + * mx-inlines.cc (DEFMXUNOPEQ): New macro. + (mx_inline_not2, mx_inline_uminus2): New loops. + * boolNDArray.cc (boolNDArray::invert): New method. + * boolNDArray.h: Declare it. + * MArrayN.cc (MArrayN::changesign): New method. + * MArrayN.h: Declare it. + * dNDArray.cc (NDArray::changesign): New method. + * dNDArray.h: Declare it. + * fNDArray.cc (FloatNDArray::changesign): New method. + * fNDArray.h: Declare it. + * CNDArray.cc (ComplexNDArray::changesign): New method. + * CNDArray.h: Declare it. + * fCNDArray.cc (FloatComplexNDArray::changesign): New method. + * fCNDArray.h: Declare it. + * intNDArray.cc (intNDArray::changesign): New method. + * intNDArray.h: Declare it. + +2009-09-02 Jaroslav Hajek + + * oct-cmplx.h: Rewrite the comaprison ops. Use FLOAT_TRUNCATE. + +2009-09-01 Jaroslav Hajek + + * oct-cmplx.h: Correct strict operators in macros. + +2009-08-31 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Abort if floating point format + is not recognized as IEEE. + +2009-08-27 John W. Eaton + + * str-vec.cc, str-vec.h (string_vector::string_vector (const + std::set&)): New constructor. + +2009-08-27 Jaroslav Hajek + + * mx-inlines.cc (DEFCMPLXCMOP): Remove. + * oct-cmplx.h (operator <, operator >): Remove definitions. + (DEF_COMPLEXR_COMP): New macro. Instantiate for <, >, <=, >=. + * mx-op-defs.h (MM_CMP_OP, MS_CMP_OP, SM_CMP_OP, + NDND_CMP_OP, NDS_CMP_OP, SND_CMP_OP): Replace by one-liners. Remove + unused parameters. + (MM_CMP_OPS, MS_CMP_OPS, SM_CMP_OPS, NDND_CMP_OPS, NDS_CMP_OPS, + SND_CMP_OPS): Update. + (NDS_CMP_OP1, NDS_CMP_OPS1, NDS_CMP_OP2, NDS_CMP_OPS2, + SND_CMP_OP1, SND_CMP_OPS1, SND_CMP_OP2, SND_CMP_OPS2): Remove. + * mk-ops.awk: Simplify CMP_OPS branch. + * Sparse-op-defs.h (SPARSE_SMSM_CMP_OPS, SPARSE_SMS_CMP_OPS, + SPARSE_SSM_CMP_OPS, SPARSE_MSM_CMP_OPS, SPARSE_SMM_CMP_OPS): + Update. + + * CNDArray.cc: Update syntax. + * boolNDArray.cc: Ditto. + * chNDArray.cc: Ditto. + * dNDArray.cc: Ditto. + * fCNDArray.cc: Ditto. + * fNDArray.cc: Ditto. + + * int16NDArray.cc: Ditto. + * int32NDArray.cc: Ditto. + * int64NDArray.cc: Ditto. + * int8NDArray.cc: Ditto. + * uint16NDArray.cc: Ditto. + * uint32NDArray.cc: Ditto. + * uint64NDArray.cc: Ditto. + * uint8NDArray.cc: Ditto. + + * CMatrix.cc: Ditto. + * boolMatrix.cc: Ditto. + * chMatrix.cc: Ditto. + * dMatrix.cc: Ditto. + * fCMatrix.cc: Ditto. + * fMatrix.cc: Ditto. + +2009-08-24 Jaroslav Hajek + + * MArray.cc (MArray::product_eq, MArray::quotient_eq): New + methods. + * MArray2.cc (MArray2::product_eq, MArray2::quotient_eq): Ditto. + * MArrayN.cc (MArrayN::product_eq, MArrayN::quotient_eq): Ditto. + * MArray-decl.h (MARRAY_OP_ASSIGN_DECLX): New macro. + (MARRAY_OP_ASSIGN_DECLS, MARRAY_OP_ASSIGN_FWD_DEFS): Include + product_eq and quotient_eq. + (MARRAY_FORWARD_DEFS): Use MARRAY_OP_ASSIGN_FWD_DEFS1. + (MDIAGARRAY2_OPS_FORWARD_DECLS): Don't instantiate + OP= operators for diag matrices. + (MDIAGARRAY2_FORWARD_DEFS): Ditto. + * MArray-defs.h (INSTANTIATE_MDIAGARRAY2_FRIENDS): Ditto. + +2009-08-23 Jaroslav Hajek + + * Array.h (Array::make_unique, Array::~Array, Array::operator =): + Move here to allow inlining. + * Array.cc: Remove from here. + +2009-08-20 Jaroslav Hajek + + * mx-inlines.cc (logical_value): New overloaded template. + (DEFMXBOOL_OP): Use it in definitions. + (mx_inline_not): Also use logical_value. + * mx-op-defs.h (ND_LOGICAL_NAN_CHECK, SC_LOGICAL_NAN_CHECK): Remove + (also from all macros). + + * CMatrix.cc (operator !): Simply call mx_inline_not. + * CNDArray.cc: Ditto. + * dMatrix.cc: Ditto. + * dNDArray.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCNDArray.cc: Ditto. + * fMatrix.cc: Ditto. + * fNDArray.cc: Ditto. + +2009-08-20 Jaroslav Hajek + + * dMatrix.cc (Matrix::operator!): Simplify & check for NaNs. + * fMatrix.cc (FloatMatrix::operator!): Ditto. + * CMatrix.cc (ComplexMatrix::operator!): Ditto. + * fCMatrix.cc (FloatComplexMatrix::operator!): Ditto. + * dNDArray.cc (NDArray::operator!): Ditto. + * fNDArray.cc (FloatNDArray::operator!): Ditto. + * CNDArray.cc (ComplexNDArray::operator!): Ditto. + * fCNDArray.cc (FloatComplexNDArray::operator!): Ditto. + +2009-08-20 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_add, mx_inline_sub, mx_inline_mul, + mx_inline_div, mx_inline_uminus, mx_inline_not, mx_inline_add2, + mx_inline_sub2, mx_inline_mul2, mx_inline_div2, mx_inline_iszero, + mx_inline_notzero, mx_inline_and, mx_inline_or, mx_inline_not_and, + mx_inline_not_or, mx_inline_and_not, mx_inline_or_not, + mx_inline_lt, mx_inline_le, mx_inline_gt, mx_inline_ge, + mx_inline_eq, mx_inline_ne): New templates. + (do_mx_unary_op, do_mm_binary_op, do_sm_binary_op, + do_ms_binary_op, do_mm_inplace_op,do_ms_inplace_op): + New templates. + + * mx-op-defs.h (ND_LOGICAL_NAN_CHECK, SC_LOGICAL_NAN_CHECK): + New macros. + (NDND_BIN_OP, NDS_BIN_OP, SND_BIN_OP): Simplify. + (MM_BIN_OP, MS_BIN_OP, MM_BIN_OP): Simplify. + (NDND_BOOL_OP, NDS_BOOL_OP, SND_BOOL_OP): Simplify. + (MM_BOOL_OP, MS_BOOL_OP, MM_BOOL_OP): Simplify. + (NDND_BOOL_OPS2, NDS_BOOL_OPS2, SND_BOOL_OPS2, + MM_BOOL_OPS2, MS_BOOL_OPS2, SM_BOOL_OPS2): Remove. + * mx-op-decl.h (NDND_BOOL_OPX_DECLS, NDS_BOOL_OPX_DECLS, + SND_BOOL_OPX_DECLS): New macros. + * mk-ops.awk: use _BOOL_OPS rather than _BOOL_OPS2. + + * boolMatrix.cc: Add missing bool op defs. + * boolMatrix.h: Add missing bool op decls. + + + * boolNDArray.cc: Remove unused arg to BOOL_OPS. + * CMatrix.cc: Ditto. + * CNDArray.cc: Ditto. + * ChangeLog: Ditto. + * chMatrix.cc: Ditto. + * chNDArray.cc: Ditto. + * dMatrix.cc: Ditto. + * dNDArray.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCNDArray.cc: Ditto. + * fMatrix.cc: Ditto. + * fNDArray.cc: Ditto. + * int16NDArray.cc: Ditto. + * int32NDArray.cc: Ditto. + * int64NDArray.cc: Ditto. + * int8NDArray.cc: Ditto. + * uint16NDArray.cc: Ditto. + * uint32NDArray.cc: Ditto. + * uint64NDArray.cc: Ditto. + * uint8NDArray.cc: Ditto. + + * CColVector.cc: Update syntax where needed. + * CDiagMatrix.cc: Ditto. + * CMatrix.cc: Ditto. + * CRowVector.cc: Ditto. + * chMatrix.cc: Ditto. + * dColVector.cc: Ditto. + * dDiagMatrix.cc: Ditto. + * dMatrix.cc: Ditto. + * dRowVector.cc: Ditto. + * fCColVector.cc: Ditto. + * fCDiagMatrix.cc: Ditto. + * fCMatrix.cc: Ditto. + * fCRowVector.cc: Ditto. + * fColVector.cc: Ditto. + * fDiagMatrix.cc: Ditto. + * fMatrix.cc: Ditto. + * fRowVector.cc: Ditto. + +2009-08-19 Jaroslav Hajek + + * Array-util.cc (zero_dims_inquire): Add matching ndims case. + +2009-08-19 Jaroslav Hajek + + * MArrayN.cc (operator+=, operator-=): Test matching dimensions first. + * boolNDArray.cc (mx_el_and_assign, mx_el_or_assign): New functions. + * boolNDArray.h: Declare them. + +2009-08-19 Jaroslav Hajek + + * Array.cc (Array::clear): New method. + * Array.h: Declare it. + * MArray-decl.h (MARRAY_OP_ASSIGN_DECLS1, MARRAY_OP_ASSIGN_FWD_DECLS1, + MARRAY_OP_ASSIGN_FRIENDS1, MARRAY_OP_ASSIGN_FWD_DEFS1): New macros. + (MARRAY_OPS_FORWARD_DECLS, MARRAY_OPS_FRIEND_DECLS): Use them. + * MArray-defs.h (MARRAY_OP_ASSIGN_DEFS1): New macro. + (INSTANTIATE_MARRAY_FRIENDS): Use it. + (INSTANTIATE_MARRAY2_FRIENDS): Use it. + (INSTANTIATE_MARRAYN_FRIENDS): Use it. + * MArray.cc (operator+=, operator-=): + Operate out-of-place when this is shared copy. + (operator*=, operator/=): New operator overloads. + * MArray2.cc: Ditto. + * MArrayN.cc: Ditto. + * CNDArray.cc (operator *= (ComplexNDArray&, double), + operator /= (ComplexNDArray&, double)): New operators. + * CNDArray.h: Declare them. + * fCNDArray.cc (operator *= (FloatComplexNDArray&, double), + operator /= (FloatComplexNDArray&, double)): New operators. + * fCNDArray.h: Declare them. + +2009-08-17 John W. Eaton + + * Makefile.in (LINK_DEPS): List LIBS last. + +2009-08-16 Jaroslav Hajek + + * dMatrix.cc, fMatrix.cc, CMatrix.cc, fCMatrix.cc: Add more tests. + * CMatrix.cc (xgemm): Fix vector * matrix case. + * fCMatrix.cc (xgemm): Ditto. + +2009-08-16 Jaroslav Hajek + + * fMatrix.cc, fCMatrix.cc: Make tests use single precision. + +2009-08-16 Jaroslav Hajek + + * CMatrix.cc (xgemm): Fix typo. Add test. + * fCMatrix.cc (xgemm): Ditto. + +2009-08-14 John W. Eaton + + * Makefile.in (LINK_DEPS): Include BLAS_LIBS in the list. + +2009-08-13 John W. Eaton + + * CMatrix.cc, CNDArray.cc, dMatrix.cc, dNDArray.cc, fCMatrix.cc, + fCNDArray.cc, fMatrix.cc, fNDARray.cc, oct-fftw.cc, oct-fftw.h: + Update for new FFTW defines. + + * Makefile.in: Add library-specific CPPFLAGS and LDFLAGS variables + to CPPFLAGS and LDFLAGS for files that use sparse matrices or fftw. + +2009-08-12 Jaroslav Hajek + + * Makefile.in: Include LDFLAGS when linking shared executable. + +2009-08-11 John W. Eaton + + * oct-fftw.h, oct-fftw.cc (octave_fftw_planner): Convert to singleton. + (octave_float_fft_planner): Likewise. + +2009-08-11 John W. Eaton + + * Makefile.in (LINK_DEPS): Use READLINE_LIBS instead of + LIBREADLINE. Also link with TERM_LIBS and DL_LIBS. + +2009-08-11 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_diff): New overloaded template + function. + (get_extent_triplet): Use dim_vector::first_non_singleton. + (do_mx_diff_op): New template function. + * dNDArray.cc (NDArray::diff): New method. + * dNDArray.h: Declare it. + * fNDArray.cc (FloatNDArray::diff): New method. + * fNDArray.h: Declare it. + * CNDArray.cc (ComplexNDArray::diff): New method. + * CNDArray.h: Declare it. + * fCNDArray.cc (FloatComplexNDArray::diff): New method. + * fCNDArray.h: Declare it. + * intNDArray.cc (intNDArray::diff): New method. + * intNDArray.h: Declare it. + +2009-08-10 Jaroslav Hajek + + * dim-vector.h (dim_vector::first_non_singleton): New method. + +2009-08-06 Jaroslav Hajek + + * dim-vector.h (dim_vector): Rewrite. Use single-alloc implementation + aka GCC's basic_string class. + * Array.cc: Use dim_vector::alloc where fitting. + * Array-util.cc: Ditto. + +2009-08-05 John W. Eaton + + * oct-shlib.cc (octave_shl_load_shlib::open): Pass BIND_IMMEDIATE, + not BIND_DEFERRED to shl_load. + (octave_dlopen_shlib::open): Don't pass RTLD_GLOBAL to dlopen. + +2009-08-05 John W. Eaton + + * Makefile.in (LINK_DEPS): Omit $(BLAS_LIBS) from the list. + Include $(RLD_FLAG) in the list. + +2009-08-05 John W. Eaton + + * Makefile.in (LINK_DEPS): Include $(PTHREAD_LIBS) in the list. + +2009-08-04 Kristian Rumberg + + * cmd-edit.cc (gnu_readline::do_get_line_buffer, + default_command_editor::do_get_line_buffer): New functions. + (command_editor::get_line_buffer): New function. + * cmd-edit.h (command_editor::get_line_buffer): Provide decls. + (command_editor::do_get_line_buffer): New pure virtual function. + +2009-07-31 Jaroslav Hajek + + * idx-vector.h (idx_vector::is_range): New method. + (idx_vector::copy_data, idx_vector::unconvert): New method decls. + * idx-vector.cc (idx_vector::copy_data, idx_vector::unconvert): New + methods. + * Array-utils.cc (sub2ind, ind2sub): New functions. + +2009-07-29 John W. Eaton + + * fMatrix.cc (operator >>): Use template function to read value. + * fNDArray.cc (operator >>): Likeise. + * fCMatrix.cc (operator >>): Use template function to read value. + * fCNDArray.cc (operator >>): Likeise. + * dMatrix.cc (operator >>): Use template function to read value. + * dNDArray.cc (operator >>): Likeise. + * CMatrix.cc (operator >>): Use template function to read value. + * CNDArray.cc (operator >>): Likeise. + + * lo-utils.cc, lo-utils.h (octave_read_value): New template + (octave_read_value, octave_read_value): + Provide specializations. + (octave_read_double, octave_read_complex, octave_read_float, + octave_rread_float_complex): Define in terms of template functions. + * Sparse.h (read_sparse_matrix): New template function. + * dSparse.cc (operator >>): Call read_sparse_matrix. + * CSparse.cc (operator >>): Likewise. + * boolSparse.cc (operator >>): Likewise. + * sparse-util.cc, sparse-util.h (sparse_indices_ok): New function. + * Sparse.cc (Sparse::indices_ok, Sparse::SparseRep::indices_ok): + New member functions. + +2009-07-20 John W. Eaton + + * lo-ieee.cc (octave_ieee_init) [__NetBSD__]: Call nan to + initialize Octave_NaN and nanf, to initialize Octave_Float_NaN. + +2009-07-11 John W. Eaton + + * file-ops.cc (file_ops::symlink, file_ops::readlink): + Don't use incorrectly sized OCTAVE_LOCAL_BUFFER. + +2009-07-08 John W. Eaton + + * dim-vector.h (dim_vector::dim_vector_rep::dim_vector_rep + (octave_idx_type, const dim_vector_rep *, int)): + Enforce 2-d objects here. + (dim_vector::dim_vector_rep::dim_vector_rep): Simply copy object. + (dim_vector::resize): Allow N < 2. + +2009-07-03 Jaroslav Hajek + + * Sparse-op-defs.h (SPARSE_ALL_OP): Fix typo. + * dSparse.cc (SparseMatrix::prod): Ditto. + * CSparse.cc (ComplexSparseMatrix::prod): Ditto. + +2009-07-02 Jaroslav Hajek + + * Sparse-diag-op-defs.h (inner_do_add_sm_dm): Rewrite to ensure + ordering of row indices. + +2009-06-30 Jaroslav Hajek + + * oct-sort.cc (octave_sort::lookupb): Fix typo. + +2009-06-29 Jaroslav Hajek + + * oct-sort.cc (octave_sort::lookup_merge): Delete. + (octave_sort::lookup, + octave_sort::lookupm, + octave_sort::lookupb): Rewrite. + +2009-06-26 Michael Goffioul + + * pathsearch.h (class dir_path::static_members): Decorate with + OCTAVE_API. + +2009-06-26 Jaroslav Hajek + + * oct-sort.cc (octave_sort::lookup_merge): Slightly speed-up + the merge case. + +2009-06-26 Jaroslav Hajek + + * oct-sort.cc (octave_sort::lookup_merge): Fix lower-part + recursion. + +2009-06-24 Alexander Barth + + * eigs-base.cc (EigsRealSymmetricMatrix, + EigsRealSymmetricMatrixShift, EigsRealSymmetricFunc, + EigsRealNonSymmetricMatrix, EigsRealNonSymmetricMatrixShift, + EigsRealNonSymmetricFunc, EigsComplexNonSymmetricMatrix, + EigsComplexNonSymmetricMatrixShift, EigsComplexNonSymmetricFunc): + Use octave_idx_type for parameters of type LOGICAL in ARPACK. + +2009-06-22 Jaroslav Hajek + + * chMatrix.cc (charMatrix::charMatrix (const string_vector&)): + Optimize w.r.t. COW of std::string. + +2009-06-18 Jaroslav Hajek + + * oct-sort.cc (lookup_impl): New helper inline function. + (octave_sort::lookup_merge): New private template method. + (octave_sort::lookup): Rewrite. + (octave_sort::lookupm): use lookup_impl. + (octave_sort::lookupb): use lookup_impl. + (out_of_range_pred, out_of_range): Remove. + +2009-06-18 Jaroslav Hajek + + * dMatrix.cc (xgemm): Replace resize() with uninitialized allocations + where appropriate. + * fMatrix.cc (xgemm): Ditto. + * CMatrix.cc (xgemm): Ditto. + * fCMatrix.cc (xgemm): Ditto. + +2009-06-12 Jaroslav Hajek + + * oct-sort.cc (octave_sort::lookupm, octave_sort::lookupb): New + overloaded methods. + * oct-sort.h: Declare them. + * Array.cc (Array::lookupm, Array::lookupb): New methods. + * Array.h: Declare them. + +2009-06-09 Jaroslav Hajek + + * cmd-edit.cc (command_editor::force_default_editor): New static + method. + * cmd-edit.h: Declare it. + +2009-06-09 Jaroslav Hajek + + * lo-mappers.cc (xlog2 (const Complex&, int&), xlog2 (const + FloatComplex&, int&)): Use more robust expression. + +2009-06-07 Jaroslav Hajek + + * Array.cc (Array::find): Avoid allocating excessive memory. Fix + order for backward searches. + +2009-06-02 Jaroslav Hajek + + * Array-C.cc (class DiagArray2::Proxy): Only explicitly + instantiate DiagArray2::Proxy on MSVC. + * Array-d.cc (class DiagArray2::Proxy): Ditto. + * Array-f.cc (class DiagArray2::Proxy): Ditto. + * Array-fC.cc (class DiagArray2::Proxy): Ditto. + +2009-05-26 John W. Eaton + + * pathsearch.h (dir_path::path_sep_char (char), + dir_path::static_members::path_sep_char (char)): New functions. + +2009-05-21 Michael Goffioul + + * Array-C.cc (class DiagArray2::Proxy): Tag with OCTAVE_API. + * Array-d.cc (class DiagArray2::Proxy): Ditto. + * Array-f.cc (class DiagArray2::Proxy): Ditto. + * Array-fC.cc (class DiagArray2::Proxy): Ditto. + * Array.cc (class octave_sort): Ditto. + * CColVector.h (conj, operator*, operator>>, operator<<): Ditto. + * CDiagMatrix.h (class ComplexDiagMatrix, conj, operator*): Ditto. + * CMatrix.h (conj): Ditto. + * CNDArray.h (conj): Ditto. + * PermMatrix.h (class PermMatrix, operator*): Ditto. + * dDiagMatrix.h (class DiagMatrix): Ditto. + * fCColVector.h (conj, operator*, operator>>, operator<<): Ditto. + * fCDiagMatrix.h (class FloatComplexDiagMatrix, conj, operator*): + Ditto. + * fCMatrix.h (conj): Ditto. + * fCNDArray.h (conj): Ditto. + * fDiagMatrix.h (operator*): Ditto. + * oct-locbuf.h (octave_chunk_buffer::octave_chunk_buffer, + octave_chunk_buffer::~octave_chunk_buffer): Ditto. + * oct-inttypes.cc (octave_int_cmp_op::emulate_op): Ditto. + * DET.h (class base_det): Remove OCTAVE_API (cannot be applied on + templates). + * oct-inttypes.cc (octave_int_cmp_op::emulate_op): Ditto. + + * CmplxQR.cc (ComplexQR::insert_col, ComplexQR::delete_col): Copy + volatile variable to avoid MSVC compilation error (cannot pass + volatile variable as const& argument). + * dbleQR.cc (QR::insert_col, QR::delete_col): Ditto. + * fCmplxQR.cc (FloatComplexQR::insert_col, + FloatComplexQR::delete_col): Ditto. + * floatQR.cc (FloatQR::insert_col, FloatQR::delete_col): Ditto. + + * oct-mutex.cc: Exclude pthread.h inclusion under Win32. + + * base-aepbal.h (base_aepbal::operator=): Add missing return + statement. + +2009-05-20 Jaroslav Hajek + + * eigs-base.cc ( + EigsRealSymmetricMatrix, + EigsRealSymmetricMatrixShift, + EigsRealSymmetricFunc, + EigsRealNonSymmetricMatrix, + EigsRealNonSymmetricMatrixShift, + EigsRealNonSymmetricFunc, + EigsComplexNonSymmetricMatrix, + EigsComplexNonSymmetricMatrixShift, + EigsComplexNonSymmetricFunc): Update tests. + +2009-05-21 Jaroslav Hajek + + * CMatrix.cc + (ComplexMatrix::all, ComplexMatrix::any, ComplexMatrix::cumprod, + ComplexMatrix::cumsum, ComplexMatrix::prod, ComplexMatrix::sum, + ComplexMatrix::sumsq): Use explicit template qualifications + to workaround bugs in Intel C++ and MSVC++ compilers. + * CNDArray.cc + (ComplexNDArray::all, ComplexNDArray::any, ComplexNDArray::cumprod, + ComplexNDArray::cumsum, ComplexNDArray::prod, ComplexNDArray::sum, + ComplexNDArray::sumsq): Ditto. + * boolMatrix.cc + (boolMatrix::all, boolMatrix::any): Ditto. + * boolNDArray.cc + (boolNDArray::all, boolNDArray::any): Ditto. + * chMatrix.cc + (charMatrix::all, charMatrix::any): Ditto. + * chNDArray.cc + (charNDArray::all, charNDArray::any): Ditto. + * dMatrix.cc + (Matrix::all, Matrix::any, Matrix::cumprod, + Matrix::cumsum, Matrix::prod, Matrix::sum, + Matrix::sumsq): Ditto. + * dNDArray.cc + (NDArray::all, NDArray::any, NDArray::cumprod, + NDArray::cumsum, NDArray::prod, NDArray::sum, + NDArray::sumsq): Ditto. + * fCMatrix.cc + (FloatComplexMatrix::all, FloatComplexMatrix::any, FloatComplexMatrix::cumprod, + FloatComplexMatrix::cumsum, FloatComplexMatrix::prod, FloatComplexMatrix::sum, + FloatComplexMatrix::sumsq): Ditto. + * fCNDArray.cc + (FloatComplexNDArray::all, FloatComplexNDArray::any, FloatComplexNDArray::cumprod, + FloatComplexNDArray::cumsum, FloatComplexNDArray::prod, FloatComplexNDArray::sum, + FloatComplexNDArray::sumsq): Ditto. + * fMatrix.cc + (FloatMatrix::all, FloatMatrix::any, FloatMatrix::cumprod, + FloatMatrix::cumsum, FloatMatrix::prod, FloatMatrix::sum, + FloatMatrix::sumsq): Ditto. + * fNDArray.cc + (FloatNDArray::all, FloatNDArray::any, FloatNDArray::cumprod, + FloatNDArray::cumsum, FloatNDArray::prod, FloatNDArray::sum, + FloatNDArray::sumsq): Ditto. + * intNDArray.cc + (intNDArray::all, intNDArray::any, + intNDArray::cumsum, intNDArray::sum): Ditto. + +2009-05-20 Jaroslav Hajek + + * Makefile.in: Remove reference to ArrayN-idx.h. + +2009-05-20 Jaroslav Hajek + + * Array-voidp.cc: New source. + * Array.cc (NO_INSTANTIATE_ARRAY_SORT): const T& -> T const & + * Makefile.in: Include it. + +2009-05-15 Jaroslav Hajek + + * Array.cc (Array::instantiation_guard): New function + (INSTANTIATE_ARRAY): Always override it here. + * Array.h: Declare it. + +2009-05-15 Jaroslav Hajek + + * ArrayN-idx.h: Remove file. + * ArrayN.cc: Don't include it. + * MArrayN.cc: Dtto. + +2009-05-09 Jaroslav Hajek + + * Array-util.cc (zero_dims_inquire): Move j++ out of branch. + +2009-05-07 Marco Atzeri + + * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. + +2009-05-05 Robert T. Short + + * file-ops.h (file_ops::tail) New function. + +2009-05-05 Carsten Clark + + * Quad.cc (user_function): Use access_double and assign_double on + SPARC only, not on all Sun systems. + * sun-utils.h: Likewise, define these functions on SPARC only. + +2009-05-05 Jaroslav Hajek + + * Sparse.cc (assign1): Fix an old indexing bug. + +2009-05-04 Carsten Clark + + * Quad.cc (float_user_function): Remove Sun/GCC special case. + +2009-04-16 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_range_rep::idx_range_rep (const + Range&)): Check for positive integer indices. Unify gripes. + +2009-04-15 Jaroslav Hajek + + * Array.cc (rec_permute_helper::blk_trans): Declare as static. + (Array::transpose): Reuse it. + +2009-04-04 Jaroslav Hajek + + * Array.cc (Array::make_unique): Don't economize when unique. + (Array::resize_fill (octave_idx_type, const T&)): Optimize push & + pop operations. + (Array::delete_elements (const idx_vector&)): Do pop operation + using resize. + +2009-03-29 Jaroslav Hajek + + * Array.cc (Array::assign): Remove redundant checks after invalid + resize. + +2009-03-26 Jaroslav Hajek + + * Array.cc (Array::find): Reshape result for Matlab compatibility. + * Array.h (Array): Add friend template declaration. + +2009-03-27 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const + Array&): Use more M*b-compatible behaviour. + +2009-03-26 Jaroslav Hajek + + * dim-vector.h (dim_vector::numel): Add optional argument, simplify. + +2009-03-26 Jaroslav Hajek + + * Array.h (Array::dims): Return a const reference. + (Array::is_vector): New method. + +2009-03-26 Jaroslav Hajek + + * Array.cc (Array::find): New method. + * Array.h: Declare it. + +2009-03-25 John W. Eaton + + * EIG.cc (EIG::init (const Matrix&, bool), + EIG::init (const Matrix&, const Matrix&, bool)): + Avoid volatile declaration for tmp variable. + + * Makefile.in (MATRIX_INC): Add Sparse-diag-op-defs.h and + Sparse-perm-op-defs.h to the list. + +2009-03-25 Jaroslav Hajek + + * oct-inttypes.cc (INT_DOUBLE_BINOP_DECL (*, uint64), + INT_DOUBLE_BINOP_DECL (*, int64)): x -> y where appropriate. + +2009-03-25 Jaroslav Hajek + + * Array.cc (rec_permute_helper::use_blk): New field. + (rec_permute_helper::blk_trans): New method. + (rec_permute_helper::rec_permute_helper): Use smart reductions, + detect possibility of using blocked transpose. + (rec_permute_helper::do_permute): Use blocked transpose if possible. + +2009-03-23 Jaroslav Hajek + + * idx-vector.cc (convert_index(double,...)): Simplify. + +2009-03-21 Jaroslav Hajek + + * Array-d.cc: lo_ieee_isnan -> xisnan. + * Array-f.cc: Ditto. + * oct-inttypes.cc: Ditto. + * oct-inttypes.h: Ditto. + * CDiagMatrix.cc: Add missing include. + * fCDiagMatrix.cc: Ditto. + +2009-03-20 Jaroslav Hajek + + * CColVector.cc, CMatrix.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, + boolSparse.cc, dColVector.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, + dSparse.cc, fCColVector.cc, fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, + fColVector.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, intNDArray.cc: + Allow empty arrays in stream input operators. + +2009-03-20 Jaroslav Hajek + + * Array.h (Array::fastmap): New method. + * dNDArray.cc (NDArray::isnan, NDArray::isinf, NDArray::isfinite): + New methods. + * dNDArray.h: Declare them. + * fNDArray.cc (FloatNDArray::isnan, FloatNDArray::isinf, + FloatNDArray::isfinite): New methods. + * fNDArray.h: Declare them. + * CNDArray.cc (ComplexNDArray::isnan, ComplexNDArray::isinf, + ComplexNDArray::isfinite): New methods. + * CNDArray.h: Declare them. + * fCNDArray.cc (FloatComplexNDArray::isnan, FloatComplexNDArray::isinf, + FloatComplexNDArray::isfinite): New methods. + * fCNDArray.h: Declare them. + * lo-mappers.h (xisnan, xisinf, xfinite): If possible, use definitions + from . + +2009-03-18 Jaroslav Hajek + + * oct-norm.cc (get_eps): Remove that hack. + (higham): Use std::numeric_limits instead. + Include OCTAVE_QUIT. + +2009-03-16 Jason Riedy + + * Sparse.cc (transpose): Eliminate the workspace by computing in + retval.xcidx. + * CSparse.cc (hermitian): Eliminate the workspace by computing in + retval.xcidx. + +2009-03-14 Jaroslav Hajek + + * mx-op-decl.h (NDS_BOOL_OP_DECLS, SND_BOOL_OP_DECLS, NDND_BOOL_OP_DECLS): Support compound binary ops. + * mx-op-defs.h (NDS_BOOL_OPS, SND_BOOL_OPS, NDND_BOOL_OPS): Ditto. Optimize. + * mx-op-defs.h (NDS_CMP_OP, SND_CMP_OP, NDND_CMP_OP): Optimize. + +2009-03-14 Jaroslav Hajek + + * fNDArray.h (FloatMatrix::matrix_value): Fix return type. + * dNDArray.cc (Matrix::matrix_value): Simplify. + * fNDArray.cc (FloatMatrix::matrix_value): Simplify. + * CNDArray.cc (ComplexMatrix::matrix_value): Simplify. + * fCNDArray.cc (FloatComplexMatrix::matrix_value): Simplify. + +2009-03-13 Jaroslav Hajek + + * Range.h (Range::Range (double, double, octave_idx_type)): Remove + constructor body. + * Range.cc: Move it here. Check for invalid range op results. + (all operators): Validate cache for invalid range op results. + * idx-vector.h (idx_vector::index): Optimize zero-step range case. + * idx-vector.cc (idx_vector::maybe_reduce): Always reduce colon in + singleton dimension. + +2009-03-10 Jason Riedy + + * sparse-base-lu.cc (Pr_mat): New member function. Return the row + permutation as a PermMatrix. + (Pc_mat): New member function. Return the col permutation as a + PermMatrix. + + * sparse-base-lu.h (sparse_base_lu): Declare Pc_mat and Pr_mat + member functions. + +2009-03-09 Jason Riedy + + * Sparse-diag-op-defs.h (octave_impl::inner_do_add_sm_dm): New + template function. Implementation for adding sparse and diagonal + matrices. Takes two functional arguments, opa and opd, to + generate both subtraction variants. + (octave_impl::do_commutative_add_dm_sm): New template function. + Ensure A+D and D+A use the same generated code. + (octave_impl::do_add_dm_sm): New template function. Check + arguments for diag + sparse and call inner routine. + (octave_impl::do_sub_dm_sm): New template function. Check + arguments for diag - sparse and call inner routine. + (octave_impl::do_add_sm_dm): New template function. Check + arguments for sparse + diag and call inner routine. + (octave_impl::do_sub_sm_dm): New template function. Check + arguments for sparse - diag and call inner routine. + + * dSparse.h (operator +): Declare overrides for real diag + + sparse. + (operator -): Declare overrides for real diag - sparse, sparse - + diag. + + * dSparse.cc (operator +): Define overrides for real diag + + sparse. + (operator -): Define overrides for real diag - sparse, sparse - + diag. + + * CSparse.h (operator +): Declare overrides for complex and real + combinations of diag + sparse. + (operator -): Declare overrides for complex and real combinations + of diag - sparse, sparse - diag. + + * CSparse.cc (operator +): Define overrides for complex and real + combinations of diag + sparse. + (operator -): Define overrides for complex and real combinations + of diag - sparse, sparse - diag. + +2009-03-08 Jason Riedy + + * Sparse-diag-op-defs.h (octave_impl::do_mul_dm_sm) + (octave_impl::do_mul_sm_dm): New template + functions. Implementations for sparse * diag and diag * sparse. + + * CSparse.h (operator *, trans_mul, herm_mul): Add overloads for + DiagMatrix and ComplexDiagMatrix. + * CSparse.cc (operator *, trans_mul, herm_mul): Implement + operations by calling approprate functions in + Sparse-diag-op-defs.h. + * dSparse.h (operator *, trans_mul): Add overloads for DiagMatrix. + * dSparse.cc (operator *, trans_mul): Implement operations by + calling approprate functions in Sparse-diag-op-defs.h. + +2009-03-12 John W. Eaton + + * oct-inttypes.h (bitshift): Apply mask even if not shifting. + From Seb Astien . + +2009-03-11 Jaroslav Hajek + + * PermMatrix.cc (PermMatrix::power): New method. + * PermMatrix.h: Declare it. + +2009-03-11 Jaroslav Hajek + + * dNDArray.cc (NDArray::NDArray (const charNDArray&)): New + constructor. + * fNDArray.cc (FloatNDArray::FloatNDArray (const charNDArray&)): + Ditto. + * CNDArray.cc (ComplexNDArray::ComplexNDArray (const charNDArray&)): + Ditto. + * fCNDArray.cc (FloatComplexNDArray::FloatComplexNDArray + (const charNDArray&)): Ditto. + + * dNDArray.h (NDArray::NDArray (const charNDArray&)): Declare. + * fNDArray.h (FloatNDArray::FloatNDArray (const charNDArray&)): + Ditto. + * CNDArray.h (ComplexNDArray::ComplexNDArray (const charNDArray&)): + Ditto. + * fCNDArray.h (FloatComplexNDArray::FloatComplexNDArray + (const charNDArray&)): Ditto. + + * dMatrix.cc (Matrix::Matrix (const charMatrix&)): Cast to unsigned + chars. + * fMatrix.cc (FloatMatrix::FloatMatrix (const charMatrix&)): Likewise. + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const charMatrix&)): + Likewise. + * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix + (const charMatrix&)): Likewise. + +2009-03-10 Jason Riedy + + * Sparse-perm-op-defs.h (octinternal_do_mul_colpm_sm): New + template function. Logic for the column permutation * sparse + matrix operator. + (octinternal_do_mul_pm_sm): New template function. Logic for the + permutation matrix * sparse matrix operator. Note that there is + no special row perm * sparse routine; the permutation is inverted + and the col perm routine is called. + (octinternal_do_mul_sm_rowpm): New template function. Logic for + the sparse matrix * row permutation operator. + (octinternal_do_mul_sm_colpm): New template function. Logic for + the sparse matrix * column permutation operator. + (octinternal_do_mul_sm_pm): New template function. Logic for the + sparse matrix * permutation matrix operator. + + * dSparse.h (operator *): Declare sparse * permutation and + permutation * sparse. + * dSparse.cc (operator *): Define sparse * permutation and + permutation * sparse. + + * CSparse.h (operator *): Declare sparse * permutation and + permutation * sparse. + * CSparse.cc (operator *): Define sparse * permutation and + permutation * sparse. + +2009-03-10 Jason Riedy + + * sparse-base-lu.cc (Pc_vec): The column permutation should be + Ufact.cols ()-long, not Lfact.rows ()-long. + +2009-03-10 Jason Riedy + + * dSparse.cc (SparseMatrix::SparseMatrix (const PermMatrix&)): + Fix conversion to add values to the matrix as well as getting + structure correct. + +2009-03-10 John W. Eaton + + * Array.h, ArrayN.h, Bounds.h, CmplxAEPBAL.h, CmplxCHOL.h, + CmplxGEPBAL.h, CmplxHESS.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, + CmplxSVD.h, CollocWt.h, EIG.h, FEGrid.h, LinConst.h, Range.h, + Sparse.h, SparseCmplxQR.h, SparseQR.h, dbleAEPBAL.h, dbleCHOL.h, + dbleGEPBAL.h, dbleHESS.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, + dbleSVD.h, dim-vector.h, fCmplxAEPBAL.h, fCmplxCHOL.h, + fCmplxGEPBAL.h, fCmplxHESS.h, fCmplxQR.h, fCmplxQRP.h, + fCmplxSCHUR.h, fCmplxSVD.h, fEIG.h, floatAEPBAL.h, floatCHOL.h, + floatGEPBAL.h, floatHESS.h, floatQR.h, floatQRP.h, floatSCHUR.h, + floatSVD.h, idx-vector.h, lo-utils.h, oct-inttypes.h, + oct-spparms.h, str-vec.h: Include instead of . + +2009-03-10 Jaroslav Hajek + + * mx-inlines.cc (OP_CUMMINMAX_FCN2): r -> r0 where appropriate. + +2009-03-08 Jaroslav Hajek + + * idx-vector.h (idx_vector::bloop): loop --> bloop. + (idx_vector::loop): New method. + * MArray.cc (MArray::idx_add (cons idx_vector&, T)) + (MArray::idx_add (cons idx_vector&, const MArray&)): New methods. + * MArray.h: Declare them. + +2009-03-05 Jason Riedy + + * Sparse.h (Sparse::elt_type): Remove typedef, replace with: + * Sparse.h (Sparse::element_type): Add typedef to be consistent + with Array.h + * DiagArray2.h (DiagArray2::elt_type): Likewise, removed. + * DiagArray2.h (DiagArray2::element_type): Define by using + Array::element_type. + * intNDArray.h (intNDArray::element_type): Remove, inherited + from MArrayN. + +2009-03-05 Jaroslav Hajek + + * dSparse.h (SparseMatrix::SparseMatrix(const PermMatrix&)): New + constructor. + (SparseMatrix::SparseMatrix(const DiagMatrix&)): Fix implementation. + * CSparse.h (SparseComplexMatrix::SparseComplexMatrix(const ComplexDiagMatrix&)): + Fix implementation. + +2009-03-04 Jaroslav Hajek + + * PermMatrix.h (PermMatrix::elem): Fix comparisons. + +2009-03-03 Jaroslav Hajek + + * lo-mappers.cc (xmin (float, float), xmax (float, float)): Simplify. + +2009-03-02 Jaroslav Hajek + + * mx-inlines.cc: Add missing #include. + +2009-02-25 John W. Eaton + + * Makefile.in: Make maintainer-clean and distclean the same. + +2009-02-25 Jaroslav Hajek + + * oct-inttypes.cc (pow (const octave_int&, const octave_int&)): + Simplify. + +2009-02-23 Jaroslav Hajek + + * oct-inttypes.h (octave_int_cmp_op::mop): Implement as simple + forwarders when OCTAVE_INT_USE_LONG_DOUBLE is not defined. + (octave_int_cmp_op::emulate_mop): New static overloaded template + member function. + * oct-inttypes.cc: Turn the octave_int_cmp_op::mop definitions into + defs for octave_int_cmp_op::emulate_mop. + (INSTANTIATE_INT64_DOUBLE_CMP_OP0): Instantiate + octave_int_cmp_op::emulate_op instead. + +2009-02-23 Jaroslav Hajek + + * dDiagMatrix.cc (DiagMatrix::pseudo_inverse): New method. + * dDiagMatrix.h: Declare it. + * fDiagMatrix.cc (FloatDiagMatrix::pseudo_inverse): New method. + * fDiagMatrix.h: Declare it. + * CDiagMatrix.cc (ComplexDiagMatrix::pseudo_inverse): New method. + * CDiagMatrix.h: Declare it. + * fCDiagMatrix.cc (FloatComplexDiagMatrix::pseudo_inverse): New method. + * fCDiagMatrix.h: Declare it. + +2009-02-20 Jaroslav Hajek + + * oct-sort.h (octave_sort::MergeState::MergeState): New + constructor. + (octave_sort::MergeState::~MergeState): New destructor. + (octave_sort::MergeState::reset, + octave_sort::MergeState::getmem, + octave_sort::MergeState::getmemi): New methods. + (octave_sort::sort, + octave_sort::merge_lo, octave_sort::merge_hi + octave_sort::merge_at): Reflect change. + +2009-02-19 Jaroslav Hajek + + * oct-types.h (sortmode): Move enum here. + * oct-sort.h (octave_sort::ms): Declare as pointer. + (octave_sort::lookup): New overloaded method. + * oct-sort.cc: Reflect change to ms. + (octave_sort::lookup): New overloaded method. + (out_of_range_pred): New helper class. + (out_of_range): New helper function. + * oct-lookup.h: Remove file. + * Array.cc (Array::lookup): New overloaded method. + * Array.h: Declare it. + +2009-02-18 John W. Eaton + + * dbleQR.cc (QR::init, QR::form): Cast int to octave_idx_type in + call to std::max. + * floatQR.cc (FloatQR::init, FloatQR::form): Ditto. + * CmplxQR.cc (ComplexQR::init, ComplexQR::form): Ditto. + * fCmplxQR.cc (FloatComplexQR::init, FloatComplexQR::form): Ditto. + + * dbleQRP.cc (QRP::init): Cast int to octave_idx_type in call to + std::max and as operand to -= operator. + * CmplxQRP.cc (ComplexQRP::init): Ditto. + * floatQRP.cc (FloatQRP::init): Ditto. + * fCmplxQRP.cc (FloatComplexQRP::init): Ditto. + + * CDiagMatrix.cc, CDiagMatrix.h (ComplexDiagMatrix::inverse): + Declare info as octave_idx_type, not int. + * dDiagMatrix.cc, dDiagMatrix.h (DiagMatrix::inverse): Ditto. + * fDiagMatrix.cc, fCDiagMatrix.h (FloatDiagMatrix::inverse): Ditto. + * fCDiagMatrix.cc, fCDiagMatrix.h (FloatComplexDiagMatrix::inverse): + Ditto. + + * dMatrix.cc (Matrix::determinant): + Declare local variables volatile as needed to avoid "maybe + clobbered by vfork" warning from GCC. + * fMatrix.cc (FloatMatrix::determinant): Likewise. + * CMatrix.cc (ComplexMatrix::determinant): Likewise. + * fCMatrix.cc (FloatComplexMatrix::determinant): Likewise. + * dbleQR.cc (QR::update, QR::insert_col, QR::delete_col): Likewise. + * floatQR.cc (FloatQR::update, FloatQR::insert_col, + FloatQR::delete_col): Likewise. + * CmplxQR.cc (ComplexQR::update, ComplexQR::insert_col, + ComplexQR::delete_col): Likewise. + * fCmplxQR.cc (FloatComplexQR::update, FloatComplexQR::insert_col, + FloatComplexQR::delete_col): Likewise. + + * dMatrix.cc (padec, solve_singularity_warning): Delete unused + static variable and function. + * CMatrix.cc (padec, solve_singularity_warning): Ditto. + * fMatrix.cc (padec, solve_singularity_warning): Ditto. + * fCMatrix.cc (padec, solve_singularity_warning): Ditto. + +2009-02-18 Jaroslav Hajek + + * Array.cc (Array::resize (const dim_vector&)): Check for negative + dimensions. + +2009-02-18 Jaroslav Hajek + + * oct-inttypes.cc (pow (const octave_int&, const octave_int&)): + Use octave_int comparisons to avoid warning for unsigned types. + +2009-02-17 Jaroslav Hajek + + * Array.cc (Array::resize (const dim_vector&)): Remove dead branch. + +2009-02-17 Jaroslav Hajek + + * mx-inlines.cc (OP_CUM_FCN, OP_CUM_FCN2, OP_CUM_FCNN): + Add TSRC/TRES parameters. + (mx_inline_cumcount): New function. + * intNDArray.cc (intNDArray::cumsum): New method. + * intNDArray.h: Declare it. + * boolNDArray.cc (boolNDArray::cumsum): New method. + * boolNDArray.h: Declare it. + +2009-02-17 Jaroslav Hajek + + * mx-inlines.cc (OP_CUMMINMAX_FCN, OP_CUMMINMAX_FCN2, + OP_CUMMINMAX_FCNN): New macros. + (mx_inline_cummax, mx_inline_cummin, do_mx_cumminmax_op): + New overloaded template functions. + + * dNDArray.cc (NDArray::cummin, NDArray::cummax): New methods. + * dNDArray.h: Declare them. + + * fNDArray.cc (FloatNDArray::cummin, FloatNDArray::cummax): New + methods. + * fNDArray.h: Declare them. + + * CNDArray.cc (ComplexNDArray::cummin, ComplexNDArray::cummax): New + methods. + * CNDArray.h: Declare them. + + * fCNDArray.cc (FloatComplexNDArray::cummin, + FloatComplexNDArray::cummax): New methods. + * fCNDArray.h: Declare them. + + * intNDArray.cc (intNDArray::cummin, intNDArray::cummax): New methods. + * intNDArray.h: Declare them. + +2009-02-17 Jaroslav Hajek + + * mx-inlines.cc (OP_MINMAX_FCN): Correct behaviour with NaNs. + +2009-02-17 Jaroslav Hajek + + * MArray-defs.h: Move declarative part to MArray-decl.h + * MArray-decl.h: New source. + + * mx-op-defs.h: Move declarative part to mx-op-decl.h. + * mx-op-decl.h: New source. + + * Makefile.in: Include new sources in build. + * mk-ops.awk: Include mx-op-decl.h in headers, mx-op-defs in .cc + files. + + * CMatrix.cc, CMatrix.h, CNDArray.cc, CNDArray.h, MArray.h, MArray2.h, + MArrayN.h, MDiagArray2.h, boolMatrix.cc, boolMatrix.h, boolNDArray.cc, + boolNDArray.h, chMatrix.cc, chMatrix.h, chNDArray.cc, chNDArray.h, + dMatrix.cc, dMatrix.h, dNDArray.cc, dNDArray.h, fCMatrix.cc, + fCMatrix.h, fCNDArray.cc, fCNDArray.h, fMatrix.cc, fMatrix.h, + fNDArray.cc, fNDArray.h, int16NDArray.cc, int16NDArray.h, + int32NDArray.cc, int32NDArray.h, int64NDArray.cc, int64NDArray.h, + int8NDArray.cc, int8NDArray.h, uint16NDArray.cc, uint16NDArray.h, + uint32NDArray.cc, uint32NDArray.h, uint64NDArray.cc, uint64NDArray.h, + uint8NDArray.cc, uint8NDArray.h: Ditto. + +2009-02-16 Jaroslav Hajek + + * Array.cc (Array::assign (const idx_vector& i, + const idx_vector& j,...)): Fix invalid dimension inquiry. + +2009-02-16 Jaroslav Hajek + + * mx-inlines.cc (OP_ROW_SHORT_CIRCUIT): New macro. + (mx_inline_any, mx_inline_all): Override row-reduction case. + (MX_CUMULATIVE_OP, MX_BASE_REDUCTION_OP, MX_REDUCTION_OP, + MX_ANY_OP, MX_ALL_OP, MX_ND_ANY_ALL, MX_ND_REDUCTION, + MX_ND_COMPLEX_OP_REDUCTION, MX_ND_CUMULATIVE_OP, + MX_ND_ANY_EVAL, MX_ND_ALL_EVAL, MX_ND_REAL_OP_REDUCTION): + Remove unused macros. + +2009-02-16 Jaroslav Hajek + + * mx-inlines.cc (OP_RED_FCNN): Use explicit type qualification. + (mx_inline_count): New overloaded template function. + * boolNDArray.h (boolNDArray::sum): Return NDArray. + * boolNDArray.cc (boolNDArray::sum): Return NDArray, use do_mx-red_op. + +2009-02-16 Jaroslav Hajek + + * Array-C.cc, Array-fC.cc: Don't redefine complex comparison. + * Sparse.cc (Sparse::sort): Don't use vec_index. + * Sparse-C.cc, Sparse-d.cc, Sparse-b.cc: Don't reinstantiate + octave_sort, reflect changes. + * sparse-sort.cc: Explicitly instantiate octave_sort for requested + pointer types. + +2009-02-16 Jaroslav Hajek + + * oct-cmplx.h (operator <, operator >): New operators. + * mx-inlines.cc (OP_MINMAX_FCN, OP_MINMAX_FCN2, OP_MINMAX_FCNN): + New macros. + (mx_inline_min, mx_inline_max, do_mx_minmax_op): New overloaded + template functions. + * dNDArray (NDArray::min, NDArray::max): Use do_mx_minmax_op. + * fNDArray (FloatNDArray::min, FloatNDArray::max): Ditto. + * CNDArray (ComplexNDArray::min, ComplexNDArray::max): Ditto. + * fCNDArray (FloatComplexNDArray::min, FloatComplexNDArray::max): + Ditto. + +2009-02-16 Jaroslav Hajek + + * chMatrix.cc (charMatrix::all, charMatrix::any): Use do_mx_red_op. + * chNDArray.cc (charNDArray::all, charNDArray::any): Ditto. + +2009-02-16 John W. Eaton + + * cmd-edit.cc (default_command_editor::do_readline): + Use fputs instead of fprintf. + +2009-02-14 Jaroslav Hajek + + * mx-inlines.cc (OP_RED_FCN, OP_RED_FCN2, OP_RED_FCNN, OP_CUM_FCN, + OP_CUM_FCN2, OP_CUM_FCNN): Include TRET parameter. + (OP_RED_ANYC, OP_RED_ANYR, OP_RED_ALLC, OP_RED_ALLR): New macros. + (is_true, is_false): New template functions. + (mx_inline_any, mx_inline_all): New template functions. + + * dMatrix.cc (Matrix::any, Matrix::all): Use do_mx_red_op and + do_mx_cum_op. + * fMatrix.cc (FloatMatrix::any, FloatMatrix::all): Use do_mx_red_op + and do_mx_cum_op. + * CMatrix.cc (ComplexMatrix::any, ComplexMatrix::all): Use + do_mx_red_op and do_mx_cum_op. + * fCMatrix.cc (FloatComplexMatrix::any, FloatComplexMatrix::all): Use + do_mx_red_op and do_mx_cum_op. + + * dNDArray.cc (NDArray::any, NDArray::all): Use do_mx_red_op and + do_mx_cum_op. + * fNDArray.cc (FloatNDArray::any, FloatNDArray::all): Use do_mx_red_op + and do_mx_cum_op. + * CNDArray.cc (ComplexNDArray::any, ComplexNDArray::all): Use + do_mx_red_op and do_mx_cum_op. + * fCNDArray.cc (FloatComplexNDArray::any, FloatComplexNDArray::all): + Use do_mx_red_op and do_mx_cum_op. + + * intNDArray.cc (intNDArray::any, intNDArray::all): Use do_mx_red_op and + do_mx_cum_op. + + * boolNDArray.cc (boolNDArray::any, boolNDArray::all): Use do_mx_red_op and + do_mx_cum_op. + + * boolMatrix.cc (boolMatrix::any, boolMatrix::all): Use do_mx_red_op and + do_mx_cum_op. + +2009-02-14 Jaroslav Hajek + + * intNDArray.cc: include mx-inlines.cc. + (intNDArray::sum): Use mx_do_red_op (..., mx_inline_sum). + * Range.cc (Range::is_sorted): Add missing return statement. + +2009-02-13 Jaroslav Hajek + + * mx-inlines.cc (OP_RED_SUM, OP_RED_PROD, OP_RED_SUMSQ, OP_RED_SUMSQC, + OP_RED_FCN, OP_RED_FCN2, OP_RED_FCNN, OP_CUM_FCN, OP_CUM_FCN2, + OP_CUM_FCNN): New macros. + (mx_inline_sum, mx_inline_prod, mx_inline_sumsq, mx_inline_cumsum, + mx_inline_cumprod, get_extent_triplet, do_mx_red_op, do_mx_cum_op): + New template functions. + * dMatrix.cc (Matrix::cumprod, Matrix::cumsum, Matrix::prod, + Matrix::sum, Matrix::sumsq): Use do_mx_red_op and do_mx_cum_op. + * fMatrix.cc (FloatMatrix::cumprod, FloatMatrix::cumsum, + FloatMatrix::prod, FloatMatrix::sum, FloatMatrix::sumsq): Use + do_mx_red_op and do_mx_cum_op. + * CMatrix.cc (ComplexMatrix::cumprod, ComplexMatrix::cumsum, + ComplexMatrix::prod, ComplexMatrix::sum, ComplexMatrix::sumsq): Use + do_mx_red_op and do_mx_cum_op. + * fCMatrix.cc (FloatComplexMatrix::cumprod, + FloatComplexMatrix::cumsum, FloatComplexMatrix::prod, + FloatComplexMatrix::sum, FloatComplexMatrix::sumsq): Use do_mx_red_op + and do_mx_cum_op. + +2009-02-12 Jaroslav Hajek + + * oct-inttypes.h (if_else_type): Remove + (octave_int_base::truncate_int): Use if_then_else. + +2009-02-12 John W. Eaton + + * lo-traits.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + + * Array.h (compare_fcn_type): New typedef. + * oct-sort.h (compare_fcn_type): Ditto. + + * oct-sort.h, oct-sort.cc (octave_sort::octave_sort, + octave_sort::set_compare, octave_sort::compare): + Use typedef to simplify decl. + (octave_sort::ascending_compare, + octave_sort::descending_compare): + Use ref_param::type for parameter decl. + + * Array.cc (sort_isnan): Use ref_param::type for parameter decl. + (Array::sort): Use explicit template parameter for sort_isnan calls. + + * Array.cc, Array-C.cc, Array-fC.cc, Array-d.cc, Array-f.cc + (sortrows_comparator): Rename from _sortrows_comparator. Change + all uses. Use typedef for return value to simplify decl. + (sort_isnan): Rename from _sort_isnan. Change all uses. + (NO_INSTANTIATE_ARRAY_SORT): Use typedef to simplify instantiation + of sortrows_comparator. + + * Array-C.cc, Array-fC.cc (sort_isnan, ascending_compare, + descending_compare, nan_ascending_compare, + nan_descending_compare): + +2009-02-11 Jaroslav Hajek + + * oct-sort.cc (octave_sort::is_sorted, octave_sort::sort_rows, + octave_sort::is_sorted_rows): New methods. + * oct-sort.h: Declare them. + + * Array.cc (Array::is_sorted): New method. + (INSTANTIATE_ARRAY_SORT, NO_INSTANTIATE_ARRAY_SORT, + INSTANTIATE_ARRAY_AND_ASSIGN, INSTANTIATE_ARRAY): Move macros here. + * Array.h: Reflect changes. + + * dim-vector.h (dim_vector::is_vector): New method. + * Array-C.cc, Array-fC.cc: Override _sort_isnan, don't check for + NaN in default comparators. Provide NaN-safe comparators, override + _sortrows_comparator. + * Array-d.cc, Array-f.cc: Provide NaN-safe comparators, override + _sortrows_comparator. + * Range.cc (Range::is_sorted): New method. + * Range.h: Declare it. + +2009-02-09 Jaroslav Hajek + + * oct-sort.cc (octave_sort): Rewrite for optimizations. Allow + inlined comparison functor and by-the-way indexed sorting. + * oct-sort.h (octave_sort): Update interface. + * Array.cc (Array::sort): Reflect changes. Use copy & partition + mechanism. + * Array-d.cc, Array-f.cc, Array-C.cc, Array-fC.cc, Array-s.cc, + Array-i.cc: Reflect changes. + +2009-02-05 John W. Eaton + + * file-stat.cc (base_file_stat::is_sock): + Use EXISTS instead of OK in previous change. + + * file-stat.cc (base_file_stat::is_blk, base_file_stat::is_chr, + base_file_stat::is_dir, base_file_stat::is_fifo, + base_file_stat::is_lnk, base_file_stat::is_reg, + base_file_stat::is_sock): Return false if object is not initialized. + From Rafael Laboissiere . + +2009-02-05 Jaroslav Hajek + + * idx-vector.h (idx_vector::idx_colon_rep, + idx_vector::idx_scalar_rep, idx_vector::idx_range_rep, + idx_vector::idx_vector_rep): Declare allocators. + * idx-vector.cc: Define them. + +2009-02-05 Jaroslav Hajek + + * str-vec.h (string_vector::sort): Remove implementation. + * str-vec.cc (string_vector::sort): Move here. Use in-place sorting. + * Array-str.cc: Fix order of header files. + * oct-sort.cc (octave_sort::merge_hi): std::copy -> + std::copy_backward where appropriate. + +2009-02-05 John W. Eaton + + * Array-util.cc (zero_dims_inquire): Eliminate unused variable MATCH. + + * Sparse.cc (assign (Sparse& lhs, const Sparse& rhs)): + Eliminate unused variable N. + + * MArray-f.cc (MArray::norm (float p) const, + MArray::norm (float p) const): Pass P to xnorm. + + * eigs-base.cc (EigsRealNonSymmetricFunc, EigsRealSymmetricFunc) + (EigsComplexNonSymmetricFunc): Avoid unused parameter warning. + * idx-vector.cc (idx_vector::freeze): Likewise. + +2009-02-04 Jaroslav Hajek + + * oct-locbuf.h: Specialize OCTAVE_LOCAL_BUFFER to use chunked + allocation for pointers and const pointers. + +2009-02-03 Benjamin Lindner + + * Makefile.in: Add missing library reference. + +2009-02-03 Jaroslav Hajek + + * Array.cc (Array::sort (octave_idx_type, sortmode)): + Copy array on-the-fly. + (Array::sort (Array &, octave_idx_type, sortmode)): + Copy array on-the-fly, use bare pointers rather than vec_index. + + * Array-d.cc (Array::sort (octave_idx_type, sortmode)): + Copy array on-the-fly. + (Array::sort (Array &, octave_idx_type, sortmode)): + Copy array on-the-fly, use bare pointers rather than vec_index. + + * Array-f.cc (Array::sort (octave_idx_type, sortmode)): + Copy array on-the-fly. + (Array::sort (Array &, octave_idx_type, sortmode)): + Copy array on-the-fly, use bare pointers rather than vec_index. + +2009-02-02 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_fabs_dup, mx_inline_cabs_dup): New funcs. + + * dMatrix.cc (real, imag, Matrix::abs): Simplify. + * fMatrix.cc (real, imag, FloatMatrix::abs): Simplify. + * CMatrix.cc (ComplexMatrix::abs, ComplexMatrix::conj): Simplify. + * fCMatrix.cc (FloatComplexMatrix::abs, FloatComplexMatrix::conj): Simplify. + + * CMatrix.h, fCMatrix.h (conj): Add missing decl. + + * dNDArray.cc (real, imag, NDArray::abs): Simplify. + * fNDArray.cc (real, imag, FloatNDArray::abs): Simplify. + * CNDArray.cc (ComplexNDArray::abs, ComplexNDArray::conj): Simplify. + * fCNDArray.cc (FloatComplexNDArray::abs, FloatComplexNDArray::conj): Simplify. + + * CMatrix.h, fCMatrix.h (conj): New decl. + +2009-01-29 John W. Eaton + + * intNDArray.h (intNDArray:any_element_is_nan): New function. + * boolNDArrah.h (boolNDArray::any_element_is_nan): New function. + * chNDArray.h (charNDArray::any_element_is_nan): New function. + +2009-01-28 John W. Eaton + + * Makefile.in (LIBRARIES, install, uninstall): Use SHLLIBPRE + and SHLBINPRE library prefixes. + From Marco Atzeri . + +2009-01-28 Jaroslav Hajek + + * dMatrix.cc (Matrix::Matrix (const RowVector&)): Use shallow copy. + (Matrix::Matrix (const ColumnVector&)): Ditto. + (Matrix::row): Ditto. + (Matrix::column): Ditto. + + * fMatrix.cc (FloatMatrix::FloatMatrix (const FloatRowVector&)): Use + shallow copy. + (FloatMatrix::FloatMatrix (const FloatColumnVector&)): Ditto. + (FloatMatrix::row): Ditto. + (FloatMatrix::column): Ditto. + + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const ComplexRowVector&)): + Use shallow copy. + (ComplexMatrix::ComplexMatrix (const ComplexColumnVector&)): Ditto. + (ComplexMatrix::row): Ditto. + (ComplexMatrix::column): Ditto. + + * fCMatrix.cc (FloatComplexMatrix::FloatComplexMatrix (const FloatComplexRowVector&)): + Use shallow copy. + (FloatComplexMatrix::FloatComplexMatrix (const FloatComplexColumnVector&)): Ditto. + (FloatComplexMatrix::row): Ditto. + (FloatComplexMatrix::column): Ditto. + +2009-01-27 Benjamin Lindner + + * Makefile.in (LINK_DEPS): Include ARPACK_LIBS and REGEX_LIBS in + the list. + +2009-01-27 Jaroslav Hajek + + * dbleQR.cc (QR::init): Use form. Use local buffers. + Query for optimal block size. + (QR::form): New function. + * dbleQR.h: Declare it. + * dbleQRP.cc (QRP::init):Use form. Use local buffers. + Query for optimal block size. + + * floatQR.cc (FloatQR::init): Use form. Use local buffers. + Query for optimal block size. + (FloatQR::form): New function. + * floatQR.h: Declare it. + * floatQRP.cc (FloatQRP::init):Use form. Use local buffers. + Query for optimal block size. + + * CmplxQR.cc (ComplexQR::init): Use form. Use local buffers. + Query for optimal block size. + (ComplexQR::form): New function. + * CmplxQR.h: Declare it. + * CmplxQRP.cc (ComplexQRP::init):Use form. Use local buffers. + Query for optimal block size. + + * fCmplxQR.cc (FloatComplexQR::init): Use form. Use local buffers. + Query for optimal block size. + (FloatComplexQR::form): New function. + * fCmplxQR.h: Declare it. + * fCmplxQRP.cc (FloatComplexQRP::init):Use form. Use local buffers. + Query for optimal block size. + +2009-01-23 Jaroslav Hajek + + * Array.cc (Array::assign (const idx_vector&, const Array&)): + Optimize assignment to an empty array. + (Array::assign (const idx_vector&, const idx_vector&, const Array&)): + Optimize assignment to an empty array. + +2009-01-22 Jaroslav Hajek + + * Array2.h (Array2::index): Declare resize_ok as bool. + * ArrayN.h (ArrayN::index): Ditto. Declare index vectors as const + refs. + +2009-01-22 Jaroslav Hajek + + * Range.cc (sort_internal): Add missing test. + +2009-01-22 Jaroslav Hajek + + * Array.cc (Array::index (..., bool resize_ok)): + Optimize the all-scalar-indices cases. + +2009-01-22 Jaroslav Hajek + + * dbleQR.h: Optionally declare warn_qrupdate_once. + * dbleQR.cc: Define it. + * (CmplxQR.h, dbleQR.h, fCmplxQR.h, floatQR.h): Declare replacement + methods unconditionally. + * (CmplxQR.cc, dbleQR.cc, fCmplxQR.cc, floatQR.cc): Define + updating replacement methods. + * (CmplxCHOL.h, dbleCHOL.h, fCmplxCHOL.h, floatCHOL.h): Declare + replacement methods unconditionally. + * (CmplxCHOL.cc, dbleCHOL.cc, fCmplxCHOL.cc, floatCHOL.cc): Define + updating replacement methods. + +2009-01-21 Jaroslav Hajek + + * Range.cc ( operator + (double x, const Range& r), + operator + (const Range& r, double x), + operator - (double x, const Range& r), + operator - (const Range& r, double x), + operator * (double x, const Range& r), + operator * (const Range& r, double x)): New operators. + * Range.h: Declare them. + +2009-01-20 John W. Eaton + + * file-stat.h, file-stat.cc (class base_file_stat): New base class. + (class file_stat): Derive from base_file_stat. + (class file_fstat): New class, derived from base_file_stat. + +2009-01-17 Jaroslav Hajek + + * floatQR.h (FloatQR::update, FloatQR::insert_col, + FloatQR::insert_row, FloatQR::delete_col, FloatQR::delete_row, + FloatQR::shift_col): Update interfaces. + + * floatQR.cc: Update external decls for qrupdate routines. + (FloatQR::update, FloatQR::insert_col, FloatQR::insert_row, + FloatQR::delete_col, FloatQR::delete_row, FloatQR::shift_col): Reflect + changes in qrupdate interfaces, implement batch updates. + + * dbleQR.h (QR::update, QR::insert_col, QR::insert_row, + QR::delete_col, QR::delete_row, QR::shift_col): Update interfaces. + + * dbleQR.cc: Update external decls for qrupdate routines. + (QR::update, QR::insert_col, QR::insert_row, QR::delete_col, + QR::delete_row, QR::shift_col): Reflect changes in qrupdate + interfaces, implement batch updates. + + * fCmplxQR.h (FloatComplexQR::update, FloatComplexQR::insert_col, + FloatComplexQR::insert_row, FloatComplexQR::delete_col, + FloatComplexQR::delete_row, FloatComplexQR::shift_col): Update + interfaces. + + * fCmplxQR.cc: Update external decls for qrupdate routines. + (FloatComplexQR::update, FloatComplexQR::insert_col, + FloatComplexQR::insert_row, FloatComplexQR::delete_col, + FloatComplexQR::delete_row, FloatComplexQR::shift_col): Reflect + changes in qrupdate interfaces, + implement batch updates. + + * CmplxQR.h (ComplexQR::update, ComplexQR::insert_col, + ComplexQR::insert_row, ComplexQR::delete_col, ComplexQR::delete_row, + ComplexQR::shift_col): Update interfaces. + + * CmplxQR.cc: Update external decls for qrupdate routines. + (ComplexQR::update, ComplexQR::insert_col, + ComplexQR::insert_row, ComplexQR::delete_col, ComplexQR::delete_row, + ComplexQR::shift_col): Reflect changes in qrupdate interfaces, + implement batch updates. + + * floatCHOL.h (FloatCHOL::update, FloatCHOL::downdate, + FloatCHOL::insert_sym): Update interfaces. + * floatCHOL.cc: Update external decls for qrupdate routines. + (FloatCHOL::update, FloatCHOL::downdate, FloatCHOL::insert_sym, + FloatCHOL::delete_sym, FloatCHOL::shift_sym): Reflect changes in + qrupdate interfaces, + + * CHOL.h (CHOL::update, CHOL::downdate, CHOL::insert_sym): Update + interfaces. + * CHOL.cc: Update external decls for qrupdate routines. + (CHOL::update, CHOL::downdate, CHOL::insert_sym, CHOL::delete_sym, + CHOL::shift_sym): Reflect changes in qrupdate interfaces, + + * fCmplxCHOL.h (FloatComplexCHOL::update, FloatComplexCHOL::downdate, + FloatComplexCHOL::insert_sym): Update interfaces. + * fCmplxCHOL.cc: Update external decls for qrupdate routines. + (FloatComplexCHOL::update, FloatComplexCHOL::downdate, + FloatComplexCHOL::insert_sym, FloatComplexCHOL::delete_sym, + FloatComplexCHOL::shift_sym): Reflect changes in qrupdate interfaces, + + * CmplxCHOL.h (ComplexCHOL::update, ComplexCHOL::downdate, + ComplexCHOL::insert_sym): Update interfaces. + * CmplxCHOL.cc: Update external decls for qrupdate routines. + (ComplexCHOL::update, ComplexCHOL::downdate, ComplexCHOL::insert_sym, + ComplexCHOL::delete_sym, ComplexCHOL::shift_sym): Reflect changes in + qrupdate interfaces, + +2009-01-17 Jaroslav Hajek + + * Array.h (Array): Document internal use of slice_data and + slice_len. + +2009-01-15 John W. Eaton + + * Sparse.cc (Sparse::reshape): Include mismatched dimensions in + error message. + * Array.cc (Array::reshape): Likewise. + From Robert Millan . + +2009-01-14 Jaroslav Hajek + + * Array.h (Array::rep, Array::dimensions): Make protected. + * Array.cc (Array::make_unique): Move implementation here. + (Array::fill): Ditto. + * DiagArray2.h (DiagArray2): Reimplement without abusing + Array internals. + (DiagArray2::operator Array2): New method. + * DiagArray2.cc (DiagArray2): Update methods. + * MDiagArray2.h (MDiagArray2::operator Array2): Simplify. + * PermMatrix.h (PermMatrix): Reimplement without abusing + Array internals. + * PermMatrix.cc (PermMatrix): Update methods. + +2009-01-14 Jaroslav Hajek + + * Array.cc, Array.h (all Array constructors): Handle slice_data and + slice_len. + (Array::Array (const Array&, const dim_vector&, + octave_idx_type, octave_idx_type)): New constructor. + (Array::index): Use shallow copy when index reduces to a contiguous + range. + (Array::make_unique): Rewrite. + (Array::ArrayRep): Delete redundant methods. + (rec_index_helper::is_cont_range): New method. + (Array::maybe_economize): New method. + * DiagArray2.cc (DiagArray2::resize): Fix the mess. + +2008-01-15 Rafael Laboissiere + + * oct-md5.cc: Include . + +2009-01-13 Jaroslav Hajek + + * Array.h (Array::ArrayRep::qsort): Remove. + (Array::qsort): Remove. + * glob-match.cc (glob_match::glob): qsort -> sort. + * str-vec.cc (string_vector::compare): Remove. + * str-vec.h (string_vector::compare): Remove decl. + (string_vector::qsort): Rename to sort, call Array::sort. + +2008-12-23 David Bateman + + * eigs-base.cc: New file with template wrapper for ARPACK. + * Makefile.in (TEMPLATE_SRC): Add it here. + +2008-12-16 Jaroslav Hajek + + * Array.cc (rec_permute_helper): New class. + (Array::permute): Rewrite using the recursive algorithm. + +2008-12-12 David Bateman + + * sparse-base-chol.cc (inverse): Fix inversion based on cholesky + factorization. + +2008-12-12 Jaroslav Hajek + + * oct-locbuf.cc: New source. + * oct-locbuf.h (octave_chunk_buffer): New class. + (octave_local_buffer): Subclass from octave_chunk_buffer for selected + POD types. + +2008-12-11 Jaroslav Hajek + + * mx-op-defs.h (DMDM_BIN_OP): Fix invalid buffer length. + +2008-12-10 Jaroslav Hajek + + * dMatrix.h, dMatrix.cc (Matrix::expm): Remove. + * fMatrix.h, fMatrix.cc (FloatMatrix::expm): Remove. + * CMatrix.h, CMatrix.cc (ComplexMatrix::expm): Remove. + * fCMatrix.h, fCMatrix.cc (FloatComplexMatrix::expm): Remove. + +2008-12-09 Jaroslav Hajek + + * base-aepbal.h: New source. + * dbleAEPBAL.h, dbleAEPBAL.cc: Rebase AEPBAL on base_aepbal. + * floatAEPBAL.h, floatAEPBAL.cc: Rebase FloatAEPBAL on base_aepbal. + * CmplxAEPBAL.h, CmplxAEPBAL.cc: Rebase ComplexAEPBAL on base_aepbal. + * fCmplxAEPBAL.h, fCmplxAEPBAL.cc: Rebase FloatComplexAEPBAL on base_aepbal. + +2008-12-08 Jaroslav Hajek + + * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const + Sparse&)): New constructor. + * idx_vector.h: Declare it. + (idx_vector::idx_vector (const Sparse&)): New constructor. + * idx-vector.cc (idx_vector::idx_vector_rep::idx_vector_rep (const + Array&)): Fix extent calculation. + +2008-12-09 David Bateman + + * Makefile.in (INCLUDES): Add oct-locbuf.h + +2008-12-07 Jaroslav Hajek + + * mx-inlines.cc (mx_inline_fill_vs): New template function. + * mx-op-defs.h (everywhere): Replace int by octave_idx_type. + (MDM_MULTIPLY_OP): Use mx_inline_mul_vs and mx_inline_fill_vs. + (DMM_MULTIPLY_OP): Ditto. + * fDiagMatrix.cc (operator *): Remove redundant ifs. + * fCDiagMatrix.cc (operator *): Remove redundant ifs. + +2008-12-06 Jaroslav Hajek + + * oct-locbuf.h (OCTAVE_LOCAL_BUFFER_INIT): New macro. + +2008-10-29 Jaroslav Hajek + + * oct-locbuf.h: New header file. + * Array-d.cc, Array-f.cc, Array.cc, CMatrix.cc, CNDArray.cc, + CSparse.cc, CmplxCHOL.cc, CmplxGEPBAL.cc, MatrixType.cc, + Sparse-op-defs.h, Sparse.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, + SparseQR.cc, SparsedbleLU.cc, dMatrix.cc, dNDArray.cc, dSparse.cc, + data-conv.cc, dbleCHOL.cc, dbleGEPBAL.cc, fCMatrix.cc, fCNDArray.cc, + fCmplxCHOL.cc, fCmplxGEPBAL.cc, fMatrix.cc, fNDArray.cc, file-ops.cc, + floatCHOL.cc, floatGEPBAL.cc, lo-sysdep.cc, oct-fftw.cc, oct-md5.cc, + oct-rand.cc, regex-match.cc, sparse-dmsolve.cc: Include oct-locbuf.h. + +2008-12-04 Jaroslav Hajek + + * DiagArray2.h (DiagArray2): Inherit Array privately. + (DiagArray2::dim1, dim2, rows, columns, cols, length, + nelem, numel, byte_size, dims): New methods. + (DiagArray2::diag): New method decl. + * DiagArray2.cc (DiagArray2::diag): New method. + * MDiagArray2.h (MDiagArray2::diag): New method. + * dDiagMatrix.cc (DiagMatrix::diag): Remove. + * fDiagMatrix.cc (FloatDiagMatrix::diag): Remove. + * CDiagMatrix.cc (ComplexDiagMatrix::diag): Remove. + * fCDiagMatrix.cc (FloatComplexDiagMatrix::diag): Remove. + + * PermMatrix.h (PermMatrix): Inherit Array privately. + (PermMatrix::dim1, dim2, rows, columns, cols, length, + nelem, numel, byte_size, dims): New methods. + + +2008-12-04 Jaroslav Hajek + + * dDiagMatrix.cc (DiagMatrix::determinant, DiagMatrix::rcond): New + method. + * dDiagMatrix.h: Declare them. + * fDiagMatrix.cc (FloatDiagMatrix::determinant, + FloatDiagMatrix::rcond): New methods. + * fDiagMatrix.h: Declare them. + * CDiagMatrix.cc (ComplexDiagMatrix::determinant, + ComplexDiagMatrix::rcond): New methods. + * CDiagMatrix.h: Declare them. + * fCDiagMatrix.cc (FloatComplexDiagMatrix::determinant, + FloatComplexDiagMatrix::rcond): New methods. + * fCDiagMatrix.h: Declare them. + +2008-12-04 Jaroslav Hajek + + * idx-vector.cc (idx-vector::complement): Add missing delete. + +2008-12-04 Jaroslav Hajek + + * dbleQRP.cc (QRP::QRP): Call DGEQP3 rather than DGEQPF. + * floatQRP.cc (FloatQRP::FloatQRP): Call SGEQP3 rather than SGEQPF. + * CmplxQRP.cc (ComplexQRP::ComplexQRP): Call ZGEQP3 rather than ZGEQPF. + * fCmplxQRP.cc (FloatComplexQRP::FloatComplexQRP): Call CGEQP3 rather than CGEQPF. + +2008-12-03 Jaroslav Hajek + + * PermMatrix.h, PermMatrix.cc: New sources. + * MDiagArray2.cc (MDiagArray2::is_multiple_of_identity): New method. + * MDiagArray2.h (MDiagArray2::is_multiple_of_identity): Declare it. + * idx-vector.cc (idx_vector::is_permutation): New method. + * idx-vector.h (idx_vector::is_permutation): Declare it. + * base-lu.cc (base_lu::getp): New method. + (base_lu::P): Call getp. + (base_lu::Pvec): Call getp. + * base-lu.h (base_lu): Delcare P as PermMatrix. Remove unused template + params. + * dbleQRP.cc (dbleQRP::dbleQRP): Construct a permutation matrix. + (dbleQRP::Pvec): New method. + * dbleQRP.h: Declare new method. Declare P as PermMatrix. + * CmplxQRP.cc (ComplexQRP): Likewise. + * CmplxQRP.h (ComplexQRP): Likewise. + * floatQRP.cc (FloatQRP): Likewise. + * floatQRP.h (FloatQRP): Likewise. + * fCmplxQRP.cc (FloatComplexQRP): Likewise. + * fCmplxQRP.h (FloatComplexQRP): Likewise. + +2008-12-01 Jaroslav Hajek + + * DiagArray2.h (DiagArray2::DiagArray2 (const DiagArray2&)): New template + constructor. + (DiagArray2::elem, xelem, operator ()): Move to header file to + enable inlining. + * DiagArray2.cc (DiagArray2::elem, xelem, operator ()): Remove + implementations. + * MDiagArray2.h (MDiagArray2::MDiagArray2 (const DiagArray2&)): New template + constructor. + (MDiagArray2::nnz): New method. + * MDiagArray2.cc (MDiagArray2::nnz): Implement it. + + * dDiagMatrix.h (DiagMatrix::DiagMatrix (const DiagArray2&)): New template + constructor. + (DiagMatrix::abs): New method decl. + (real (const ComplexDiagMatrix&), imag (const ComplexDiagMatrix&)): + New decls. + * dDiagMatrix.cc (DiagMatrix::abs): New method. + (operator *(const DiagMatrix&, const DiagMatrix&)): Optimize. + (real (const ComplexDiagMatrix&), imag (const ComplexDiagMatrix&)): + New functions. + + * fDiagMatrix.h (FloatDiagMatrix::FloatDiagMatrix (const DiagArray2&)): New template + constructor. + (FloatDiagMatrix::abs): New method decl. + (real (const FloatComplexDiagMatrix&), imag (const FloatComplexDiagMatrix&)): + New decls. + * fDiagMatrix.cc (FloatDiagMatrix::abs): New method. + (operator *(const FloatDiagMatrix&, const FloatDiagMatrix&)): Optimize. + (real (const FloatComplexDiagMatrix&), imag (const FloatComplexDiagMatrix&)): + New functions. + + * CDiagMatrix.h (ComplexDiagMatrix::ComplexDiagMatrix (const DiagArray2&)): New template + constructor. + (ComplexDiagMatrix::abs): New method decl. + (conj (const ComplexDiagMatrix&)): Add missing decl. + (ComplexDiagMatrix::all_elements_are_real): New method decl. + + * CDiagMatrix.cc (CDiagMatrix::abs): New method. + (operator *(const DiagMatrix&, const ComplexDiagMatrix&)): Optimize. + (operator *(const ComplexDiagMatrix&, const DiagMatrix&)): Optimize. + (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): Optimize. + (ComplexDiagMatrix::all_elements_are_real): New method. + + * fCDiagMatrix.h (FloatComplexDiagMatrix::FloatComplexDiagMatrix (const DiagArray2&)): New template + constructor. + (FloatComplexDiagMatrix::abs): New method decl. + (conj (const FloatComplexDiagMatrix&)): Add missing decl. + (FloatComplexDiagMatrix::all_elements_are_real): New method decl. + + * fCDiagMatrix.cc (CDiagMatrix::abs): New method. + (operator *(const FloatDiagMatrix&, const FloatComplexDiagMatrix&)): Optimize. + (operator *(const FloatComplexDiagMatrix&, const FloatDiagMatrix&)): Optimize. + (operator *(const ComplexDiagMatrix&, const ComplexDiagMatrix&)): Optimize. + (FloatComplexDiagMatrix::all_elements_are_real): New method. + + * dSparse.cc (SparseMatrix::SparseMatrix (const DiagMatrix&)): New + constructor. + * dSparse.h (SparseMatrix::SparseMatrix (const DiagMatrix&)): Declare + it. + + * CSparse.cc (SparseComplexMatrix::SparseComplexMatrix (const ComplexDiagMatrix&)): + New constructor. + * CSparse.h (SparseComplexMatrix::SparseComplexMatrix (const ComplexDiagMatrix&)): + Declare it. + * mx-op-defs.h (DMM_MULTIPLY_OP, MDM_MULTIPLY_OP): Optimize. + +2008-11-21 Jarkko Kaleva + + * EIG.h (EIG::EIG (const Matrix& a, const Matrix& b, + bool calc_eigenvectors = true)): New constructor. + (EIG::EIG (const Matrix& a, const Matrix& b, octave_idx_type& info, + bool calc_eigenvectors = true)): New constructor. + (EIG::EIG (const ComplexMatrix& a, const ComplexMatrix& b, + bool calc_eigenvectors = true)): New constructor. + (EIG::EIG (const ComplexMatrix& a, const ComplexMatrix& b, + octave_idx_type& info, bool calc_eigenvectors = true)): New + constructor. + * EIG.cc (EIG::init (const Matrix& a, const Matrix& b, + bool calc_eigenvectors)): New function. + (EIG::init (const ComplexMatrix& a, const ComplexMatrix& b, + bool calc_eigenvectors)): New function. + (EIG::symmetric_init (const Matrix& a, const Matrix& b, + bool calc_eigenvectors)): New function. + (EIG::hermitian_init (const ComplexMatrix& a, const ComplexMatrix& b, + bool calc_eigenvectors)): New function. + * fEIG.h (fEIG::fEIG (const FloatMatrix& a, const FloatMatrix& b, + bool calc_eigenvectors = true)): New constructor. + (fEIG::fEIG (const FloatMatrix& a, const FloatMatrix& b, + octave_idx_type& info, bool calc_eigenvectors = true)): New + constructor. + (fEIG::fEIG (const FloatComplexMatrix& a, const FloatComplexMatrix& b, + bool calc_eigenvectors = true)): New constructor. + (fEIG::fEIG (const FloatComplexMatrix& a, const FloatComplexMatrix& b, + octave_idx_type& info, bool calc_eigenvectors = true)): New + constructor. + (fEIG::init (const FloatMatrix& a, const FloatMatrix& b, + bool calc_eigenvectors)): New function. + (fEIG::init (const FloatComplexMatrix& a, const FloatComplexMatrix& b, + bool calc_eigenvectors)): New function. + (fEIG::symmetric_init (const FloatMatrix& a, const FloatMatrix& b, + bool calc_eigenvectors)): New function. + (fEIG::hermitian_init (const FloatComplexMatrix& a, + const FloatComplexMatrix& b, bool calc_eigenvectors)): New function. + +2008-11-19 Jaroslav Hajek + + * dMatrix.cc (Matrix::determinant), + fMatrix.cc (FloatMatrix::determinant), + CMatrix.cc (ComplexMatrix::determinant), + fCMatrix.cc (FloatComplexMatrix::determinant): + Use atmp(i,i) instead of elem(i,i). + +2008-11-19 Jaroslav Hajek + + * DET.h (base_det::square): New member function. + * dMatrix.cc (Matrix::determinant), + fMatrix.cc (FloatMatrix::determinant), + CMatrix.cc (ComplexMatrix::determinant), + fCMatrix.cc (FloatComplexMatrix::determinant): + Allow taking MatrixType argument. + * dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h: Update decls. + +2008-11-19 Jaroslav Hajek + + * DET.h: New source. + * CmplxDET.cc, CmplxDET.h, dbleDET.cc, dbleDET.h, fCmplxDET.cc, + fCmplxDET.h, floatDET.cc, floatDET.h: Remove. + * Makefile.in: Reflect changes. + * mx-defs.h: Remove DET decls. + * mx-ext.h, dMatrix.h, fMatrix.h, CMatrix.h, fCMatrix.h, + dSparse.h, CSparse.h: Include only DET.h. + * dMatrix.cc (Matrix::determinant), + fMatrix.cc (FloatMatrix::determinant), + CMatrix.cc (ComplexMatrix::determinant), + fCMatrix.cc (FloatComplexMatrix::determinant), + dSparse.cc (SparseMatrix::determinant), + CSparse.cc (SparseComplexMatrix::determinant): Use new class. + +2008-11-18 David Bateman + + * file-ops.cc (std::string file_ops::tilde_expand (const + std::string&)): Check if the string contains a tilde and fast + return if not. + +2008-11-17 John W. Eaton + + * dir-ops.cc (dir_entry::read): Use std::list to + cache names before converting to string_vector. + +2008-11-14 David Bateman + + * Array2.h (Array2 Array2::index): Correct use of + resize_fill_value. + +2008-11-12 Michael Goffioul + + * MArray-C.cc, MArray-d.cc, MArray-f.cc, MArray-fC.cc: Declare + MArray::norm specialization before implicit MArray implicit + instantiation. + * idx-vector.h (class idx_vector::idx_base_rep, class + idx_vector::idx_range_rep, class idx_vector::idx_colon_rep, class + idx_vector::idx_scalar_rep, class idx_vector::idx_vector_rep): Add + OCTAVE_API tag. + * idx-vector.cc (idx_vector::idx_scalar_rep::idx_scalar_rep(T), + idx_vector::idx_vector_rep::idx_vector_rep(const Array&)): Ditto. + * oct-inttypes.cc (octave_int::type_name): Ditto. + * oct-inttypes.cc (powf(const octave_int&,const float&)): Cast 'b' + to double. + * oct-inttypes.h: Undefine min/max. + * oct-norm.h (xnorm, xfrobnorm, xcolnorms, xrownorms): Add OCTAVE_API + tag. + * oct-norm.cc (xnorm, xfrobnorm, xcolnorms, xrownorms): Ditto. + +2008-11-12 Jaroslav Hajek + + * DiagArray2.h (DiagArray2::maybe_delete_elements): Remove + declaration. + +2008-11-09 Jaroslav Hajek + + * oct-norm.cc: Don't include Array.cc. + (column_norms (const MArray2&, ...)): Use std::vector instead of Array for + accumulator containers. Use empty constructor instead of + Array::resize. + (row_norms (const MArray2&, ...)): Ditto. + (column_norms (const MSparse2&, ...)): Ditto. + (row_norms (const MSparse2&, ...)): Ditto. + +2008-10-31 Jaroslav Hajek + + * oct-norm.h: New header file. + * oct-norm.cc: New source. + * CSparse.cc (SparseComplexMatrix::row, SparseComplexMatrix::column): + New member functions. + * CSparse.h (SparseComplexMatrix): Declare them. + * dSparse.cc (SparseMatrix::row, SparseMatrix::column): + New member functions. + * dSparse.h (SparseMatrix): Declare them. + * MArray-C.cc (MArray::norm), + MArray-d.cc (MArray::norm), + MArray-fC.cc (MArray::norm), + MArray-f.cc (MArray::norm): Wrap a call to xnorm. + + * MArray-defs.h (MARRAY_NORM_BODY): Remove. + +2008-11-02 Jaroslav Hajek + + * idx-vector.cc (idx_vector::is_complement): Set resulting extent + correctly. + * Array.cc (Array::delete_elements (int, const idx_vector&)): + Fix check for invalid dim. + +2008-10-31 Jaroslav Hajek + + * idx-vector.h (idx_vector::idx_range_rep::extent): Don't change + extent when len is zero. + * idx-vector.h (idx_vector::idx_range_rep::idx_range_rep (void)): + Create empty range by default. + +2008-10-30 Jaroslav Hajek + + * oct-inttypes.h (octave_int_abs): New function. + (octave_int_arith_base::div): Use octave_int_abs instead of + std::abs. + * oct-inttypes.cc (octave_int_arith_base): Ditto. + +2008-10-28 Jaroslav Hajek + + * Array-C.cc Array-d.cc Array-f.cc Array-fC.cc Array-i.cc Array-s.cc: + Don't use semicolon after INSTANTIATE_ARRAY_ASSIGN. + * Array-util.h (zero_dims_inquire): New declarations. + (is_in, how_many_lgt, short_freeze): Remove declarations. + * Array-util.cc (zero_dims_inquire): New functions. + (is_in, how_many_lgt, short_freeze): Remove functions. + * Array.cc (Array::index, Array::resize_fill, Array::resize, + Array::assign, Array::delete_elements): + Rewrite. + * Array.h (Array::index, Array::resize_fill, Array::resize, + Array::assign, Array::delete_elements): + Rewrite interfaces. + * Array2.h (Array2::resize): Call Array::resize_fill. + * Array3.h (Array3::resize): Call Array::resize_fill. + * ArrayN.h (ArrayN::resize): Remove declarations. + (ArrayN::index): Fix call to resize_fill_value. + * Sparse.cc (assign, assign1): Use zero-based indices. + * chMatrix.h: Include mx-op-defs.h + * dim-vector.h (dim_vector::any_neg, dim_vector::chop_all_singletons, + dim_vector::redim): New member functions. + * idx-vector.cc: Mostly rewrite. + * idx-vector.h: Mostly rewrite. + +2008-10-29 Michael Goffioul + + * lo-specfun.cc (cbesj, cbesy, cbesi, cbesk, cbesh1, cbesh2): Do not + use std::complex::real() and std::complex::imag() as l-value, this is + not supported under MSVC. + +2008-10-28 John W. Eaton + + * lo-specfun.cc: Fix prototypes for the Fortran subroutines cbesh, + cbesi, cbesj, cbesk, and cbesy. + (cbesh, cbesi, cbesj, cbesk, cbesy): Fix calls to Fortran + subroutines. + +2008-10-28 Brian Gough + + * lo-specfun.cc (zbesi): Fix scaling factor for negative alpha. + (cbesi): Likewise. + +2008-10-23 John Swensen + + * oct-shlib.cc (octave_dyld_shlib::open): Call NSLinkEditError to + get better diagnostic if NSLinkModule fails. + +2008-10-23 John W. Eaton + + * oct-shlib.cc (octave_dlopen_shlib::open): Use RTLD_NOW instead + of RTLD_LAZY. + +2008-10-12 Jaroslav Hajek + + * CSparse.cc (ComplexMatrix::expm): Improve inverse preconditioning + according to Marco Caliari. + * dSparse.cc (Matrix::expm): Likewise. + * fCSparse.cc (FloatComplexMatrix::expm): Likewise. + * fSparse.cc (FloatMatrix::expm): Likewise. + +2008-10-10 Jaroslav Hajek + + * sparse-util.h (SparseCholPrint): Change char * argument to const + char *. + * sparse-util.cc (SparseCholPrint): Likewise. + +2008-10-09 Jaroslav Hajek + + * oct-sort.cc (octave_sort::merge_getmem, + octave_sort::merge_freemem): Replace malloc -> new [], free -> + delete []. + (octave_sort::merge_lo, octave_sort::merge_hi): Replace + std::memcpy and std::memmove with std::copy. + +2008-10-08 John W. Eaton + + * Sparse-op-defs.h (SPARSE_SMSM_BOOL_OPS): Duplicate code for scalar + sparse arguments rather than rely on extern function. + +2008-10-08 Jaroslav Hajek + + * oct-inttypes.h (octave_base_int::compute_threshold): Return + exclusive bounds rather than inclusive, be resistant to compiler + optimizations. + (octave_base_int::convert_real): Use exclusive bounds. + +2008-10-07 Jaroslav Hajek + + * oct-inttypes.h (OCTAVE_INT_DOUBLE_BIN_OP): Change octave_int64 to + octave_uint64 where appropriate. + +2008-10-06 David Bateman + + * Sparse-op-defs.h (SPARSE_SMSM_CMP_OPS): Duplicate code for scalar + sparse arguments rather than rely on extern function. + +2008-10-06 John W. Eaton + + * Spasre-op-defs.h: Undo previous change. + +2008-10-01 Jaroslav Hajek + + * oct-inttypes.h (octave_int::one, octave_int::zero): Declare + constants. + * oct-inttypes.cc: Define them. + * oct-inttypes.h: Define mixed operations via long double if possible. + * oct-inttypes.cc: Define alternative implementations for 64-bit + multiplication and mixed operations. + * mx-ops: Instantiate all 64-bit integer operations. + +2008-10-06 Jaroslav Hajek + + * oct-lookup.h: Mark functions inline. Add missing std:: qualifiers. + +2008-10-06 John W. Eaton + + * Sparse.h (Sparse::elt_type): New typedef. + * Sparse-op-defs.h (SPARSE_SMSM_BOOL_OP, SPARSE_MSM_CMP_OP): + Use it to call sparse-matrix/scalar operator instead of attempting + to instantiate mixed-type sparse-matrix/scalar operators. + +2008-10-03 Jaroslav Hajek + + * Array.h (Array::maybe_delete_elements): Remove rfv argument from + declaration. + * Array.cc (Array::maybe_delete_elements): Remove all usages of + rfv. + +2008-10-03 Jaroslav Hajek + + * Array.cc (assignN): Do not call maybe_delete_elements when + for empty matrix. + +2008-09-30 Jaroslav Hajek + + * oct-inttypes.h: Mostly rewrite. + * oct-inttypes.cc: Modstly rewrite. + +2008-09-29 Jaroslav Hajek + + * Array.cc (Array::maybe_delete_elements_2(idx_vector&)): Return on + empty index vector. + +2008-09-26 Jaroslav Hajek + + * Array.cc (assign1, assign2, assignN): Do not call + maybe_delete_elements. + (maybe_delete_elements (Array&)): Call the 1D and 2D + special handlers if possible. + * Sparse.cc (assign1, assign2, assignN): Do not call + maybe_delete_elements. + +2008-09-22 Brian Gough + + * oct-rand.cc (initialize_mersenne_twister): Use separate + initializations for each generator to avoid correlation. + +2008-09-12 Jaroslav Hajek + + * oct-inttypes.h (pow (const octave_int&, const octave_int&)): + +2008-09-19 John W. Eaton + + * Array.cc (assign1, assign2, assignN): + Clear lhs index before throwing error. + (Array::value): Clear index before throwing error. + +2008-09-18 Jaroslav Hajek + + * Array.cc (maybe_delete_elements_2 (idx_vector&)): Fix tests to get + better Matlab compatibility. + (maybe_delete_elements (idx_vector&, idx_vector&)): Fix tests to get + better Matlab compatibility, simplify, gripe on invalid 2-D deletion. + +2008-09-18 Jaroslav Hajek + + * Array.h (Array::coerce): Use octave_idx_type instead of int. + +2008-09-12 Jaroslav Hajek + + * oct-inttypes.h (pow (const octave_int&, const octave_int&)): + Handle negative exponent correctly. + +2008-08-19 David Bateman + + * oct-inttypes.h (template inline T2 + octave_int_fit_to_range (const T1&, const T2&, const T2&), + template inline T octave_int_fit_to_range (const + double&, const T&, const T&), template <> inline T2 + octave_int_fit_to_range (const T1&, const T2&, const T2&), + OCTAVE_S_US_FTR): Check and flag integer trunctation. + (OCTAVE_INT_FIT_TO_RANGE, OCTAVE_INT_FIT_TO_RANGE2): Adapt for the + above change. + (OCTAVE_INT_CONV_FIT_TO_RANGE): New macro for conversion to + integer types. + (octave_int::conv_error_type): New enum to flag conversion and + math warnings. + (octave_int::octave_int (U i), octave_int::octave_int + (double i), octave_int<>::octave_int (const octave_int& i)): + Flag conversion and math errors other than integer truncation. + (octave_int octave_int::operator - (void)): Flag truncation + error. + (static bool get_trunc_flag (void), static bool clear_trunc_flag + (void, static bool trunc_flag)): Delete. + (static int get_conv_flag (void), static bool get_trunc_flag (void), + static bool get_nan_flag (void), static bool get_non_int_flag (void), + static bool get_math_trunc_flag (void), static void + clear_conv_flag (void)): New functions to query and reset + conversion and mathw arning state. + (static int cov_flag): New parameter holding current conversion + and math warning state. Set it to zero. + (template octave_int powf (float, const + octave_int&), template octave_int powf (const + octave_int&, float)): New functions. + +2008-08-12 Jaroslav Hajek + + * lo-ieee.cc (octave_ieee_init): Try to ensure that octave_NaN is + classified as positive by lo_ieee_signbit. + +2008-08-11 Jaroslav Hajek + + * Array.cc (no_op_fcn): New static function. + (Array::hermitian): If fcn is null, set to no_op_fcn. + +2008-08-07 John W. Eaton + + * sprse-base-chol.h, oct-sparse.h: Don't include config.h. + + * cmd-edit.cc, file-ops.h, kpse.cc, oct-env.cc, pathsearch.cc: + Replace all uses of NPOS with std::string::npos. + + * fCmplxLU.h, CmplxLU.h: Fix typo in definition of + multiple-inclusion guard macro. + +2008-08-05 John W. Eaton + + * file-ops.h, file-ops.cc (file_ops::static_members): + New singleton class for static members of file_ops. + + * pathsearch.h, pathsearch.cc (class dir_path::static_members): + New singleton class for static members of dir_path. + + * pathsearch.cc (dir_path::init): Move octave_kpathsea_initialized + here from file scope. + +2008-08-04 John W. Eaton + + * oct-env.cc (octave_env::do_set_program_name, + octave_env::do_base_pathname): Fix usage of + file_ops::dir_sep_chars. + (octave_env::do_make_absolute): Fix usage of + file_ops::dir_sep_chars and file_ops::dir_sep_str. + (octave_env::do_get_home_directory): Fix usage of + file_ops::dir_sep_str. + + * file-ops.h (file_ops::do_is_dir_sep): New function. + (file_ops_::is_dir_sep): Call it. + * file-ops.cc (class file_ops): Make it a proper singleton object. + (file_ops::file_ops): New constructor. + (file_ops::instance_ok): New function. + (file_ops::xdir_sep_char): Now private. No longer static. Rename + from dir_sep_char. + (file_ops::xdir_sep_str): Likewise, from dir_sep_str. + (file_ops::xdir_sep_chars): Likewise, from dir_sep_chars. + (file_ops::dir_sep_char, file_ops::dir_sep_str, + file_ops::dir_sep_chars): New functions. + (file_ops::recursive_rmdir): Fix usage of file_ops::dir_sep_str. + (file_ops::concat): Fix usage of file_ops::dir_sep_char. + + * oct-env.cc (octave_env::instance_ok): Fix typo in error message. + +2008-07-30 John W. Eaton + + * oct-inttypes.h: Style fixes. + +2008-07-30 Jaroslav Hajek + + * oct-inttypes.h (octave_int::trunc_flag): New member static field. + (octave_int::get_trunc_flag, octave_int::clear_trunc_flag): New + member functions. + (octave_int::octave_int (const octave_int&)): set trunc_flag + on truncation. + (SPECIALIZE_WIDENING_CONVERSION): New macro. + (DECLARE_OCTAVE_INT_TYPENAME): New macro. + +2008-07-29 David Bateman + + * lo-ieee.h (LO_IEEE_NA_HW, LO_IEEE_NA_LW, LO_IEEE_NA_FLOAT): + Change definition so cast from single to double and visa versa + maintains NA value. + (LO_IEEE_NA_HW_OLD, LO_IEEE_NA_LW_OLD): Keep old values. + (extern OCTAVE_API int __lo_ieee_is_old_NA (double)): Function to + detect old NA value. + (extern OCTAVE_API double __lo_ieee_replace_old_NA (double)): + Function to replace old NA value with new new. + * lo-cieee.c (int __lo_ieee_is_old_NA (double)): Function to + detect old NA value. + (double __lo_ieee_replace_old_NA (double)): Function to replace + old NA value with new new. + * data-conv.cc (void read_doubles(std::istream&, double *, + save_type, int, bool, octave_mach_info::float_format)): Test if + loaded NA values is the old representation and replace it. + +2008-07-28 Jaroslav Hajek + + * lo-math.h: Ensure log2 is undefined from cmath in C++ mode. + +2008-07-21 Michael Goffioul + + * oct-mutex.h (octave_base_mutex::octave_base_mutex): Initialize + count to 1, not -1. + + * oct-mutex.cc (octave_base_mutex::lock, octave_base_mutex::unlock): + Replace error calls with (*current_liboctave_error_handler). + +2008-07-21 John W. Eaton + + * regex-match.cc (regex_match::init): Initialize err to 0. + +2008-07-19 John W. Eaton + + * oct-mutex.h (class octave_base_mutex): New class. + (class octave_mutex): Don't use union for rep and count. + (octave_mutex::rep): Declare as octave_base_mutex. + (octave_mutex::count): Delete. + (octave_mutex::lock, octave_mutex::unlock): No longer virtual. + (octave_mutex::~octave_mutex): No need to check that rep is + valid or set rep to zero after deleting. + (octave_mutex::operator =): No need to check that rep is valid. + * oct-mutex.cc (octave_w32_mutex, octave_pthread_mutex): Derive + from octave_base_mutex, not octave_mutex. + +2008-07-18 John W. Eaton + + * oct-mutex.h (octave_mutex::octave_mutex (int)): Initialize rep + to 0, not count. + * oct-mutex.cc (octave_mutex::octave_mutex (void)): Set rep->count + to 1 instead of incrementing it. + +2008-07-17 Michael Goffioul + + * dNDArray.cc: Do not include ctor NDArray(Array, + bool, bool) into conditional HAVE_FFTW3 preprocessor statement. + +2008-07-16 John W. Eaton + + * oct-mutex.h (octave_autolock::octave_autolock (void), + octave_autolock (const octave_autolock&), + octave_autolock::operator = (const octave_autolock&)): + Delete definitions. + +2008-07-16 Michael Goffioul + + * cmd-edit.cc (event_hook_lock): New static mutex variable. + (command_editor::event_handler): Lock and copy event_hook_set before + executing handlers. + (command_editor::add_event_hook, command_editor::remove_event_hook): + Autolock event_hook_lock. + +2008-07-15 Michael Goffioul + + * oct-mutex.h, oct-mutex.cc: New files. + * Makefile.in: Add them to appropriate lists. + +2008-07-15 John W. Eaton + + * oct-sort.cc, oct-sort.h (octave_sort::count_run): Declare + descending arg as bool&. + (octave_sort::sort): Pass bool to count_run for descending arg. + +2008-07-11 John W. Eaton + + * dDiagMatrix.cc (DiagMatrix::diag): Return empty ColumnVector if + number of rows or columns is 0. + * fDiagMatrix.cc (FloatDiagMatrix::diag): Likewise. + + * Array-util.cc (is_vector): Avoid GCC warning. + * Array-f.cc (Array::sort): Likewise. + * Array-d.cc (Array::sort): Likewise. + * dbleQR.cc (QR::QR (const Matrix&, const Matrix&)): Likewise. + * CmplxQR.cc (ComplexQR::ComplexQR (const ComplexMatrix&, const + ComplexMatrix&)): Likewise. + * floatQR.cc (FloatQR::FloatQR (const FloatMatrix&, const + FloatMatrix&)): Likewise. + * fCmplxQR.cc (FloatComplexQR::FloatComplexQR (const + FloatComplexMatrix&, const FloatComplexMatrix&)): Likewise. + * Quad.cc (IndefQuad::do_integrate (octave_idx_type&, + octave_idx_type&, float&), FloatIndefQuad::do_integrate, + DefQuad::do_integrate octave_idx_type&, octave_idx_type&, float&, + FloatIndefQuad::do_integrate): Likewise. + + * mx-op-defs.h (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, + SND_BOOL_OP, NDND_BOOL_OP): Detect NaN values. + * Array-util.cc (gripe_nan_to_logical_conversion): New function. + * Array-util.h: Provide decl. + * oct-inttypes.h (xisnan (octave_int)): New function. + * lo-mappers.h (xisnan (bool), xisnan (char)): New inline functions. + + * CMatrix.cc, CNDArray.cc, CSparse.cc, dMatrix.cc, dNDArray.cc, + dSparse.cc, fCMatrix.cc, fCNDArray.cc, fMatrix.cc, fNDArray.cc: + New member function, any_element_is_nan. + * CMatrix.h, CNDArray.h, CSparse.h, dMatrix.h, dNDArray.h, + dSparse.h, fCMatrix.h, fCNDArray.h, fMatrix.h, fNDArray.h: + Provide decl. + +2008-07-10 David Bateman + + * dNDArray.cc (NDArray::NDArray (const Array&, + bool, bool)): New constructor. + * dNDArray.h: Provide decl. + +2008-07-10 Michael Goffioul + + * lo-specfun.h: Fix typo in erff/erfcf declaration. + * lo-specfun.cc: Ditto. Add atanhf implementation. + +2008-06-20 Jaroslav Hajek + + * MatrixType.h: Add missing include statement. + +2008-06-13 Michael Goffioul + + * lo-mappers.cc (arg): Remove ambiguity about atan2(float,float) usage. + * fCmplxDET.cc (FloatComplexDET::initialize10): Likewise, for pow. + +2008-06-11 John W. Eaton + + * so-array.h, so-array.cc, Array-so.cc: Delete. + * Makefile.in: Remove them from the lists. + +2008-06-05 John W. Eaton + + * oct-shlib.cc (octave_base_shlib::remove): Only dereference + counter if iterator is valid. + +2008-06-02 David Bateman + + * fCmplxDET.cc (FloatComplexDET::value_will_overflow, + FloatComplexDET:value_will_underflow): Replace DBL_MIN and DBL_MAX + with FLT_MIN and FLT_MAX. + * floatDET.cc ((FloatDET::value_will_overflow, + FloatDET:value_will_underflow): Ditto. + * lo-cieee.c (__lo_ieee_float_is_NA): Check only a sngle word for + float NA value. + (lo_ieee_float_inf_value): Return correct float Infinity value. + (lo_ieee_float_NA_value): Return correct float NA value. + (lo_ieee_float_NaN_value): Return correct float NaN value. + * lo-ieee.cc (octave_ieee_init): Set float NA value correctly. + * lo-ieee.h (lo_ieee_float): value of union is of type float. + (LO_IEEE_NA_FLOAT): Make NA value a valid float NaN. + (LO_IEEE_NA_FLOAT_LW): Delete. + +2008-06-02 David Bateman + + * fCmplxLU.cc (class FloatComplexLU): Correct error in instantiation. + * floatLU.cc (class FloatLU): ditto. + * floatLU.h (class FloatLU): ditto. + + * floatAEPBAL.cc (octave_idx_type FloatAEPBALANCE::init (const + FloatMatrix&, const std::string&)): Use FloatMatrix to initialize + balancing_mat. + + * Makefile.in (MATRIX_INC): Add fCmplxAEPBAL.h and floatAEPBAL.h. + (MATRIX_SRC): Add fCmplxAEPBAL.cc and floatAEPBAL.cc. + +2008-05-21 David Bateman + + * Quad-opts.in: Handle single precision tolerances. + * Quad.cc (float_user_fcn): New static variable. + (quad_float_fcn_ptr): New typedef. + (qagp, quagi): New QUADPACK decls. + (float_user_function): New function. + (DefQuad::do_integrate, IndefQuad::do_integrate): Float versions. + (FloatDefQuad::do_integrate, FloatIndefQuad::do_integrate): + New functions. + * Quad.h (class Quad): Handle float type. + (class FloatDefQuad, class FloatIndefQuad): New classes. + +2008-05-21 Jaroslav Hajek + + * fCMatrix.h (xgemm): Provide decl. + (xcdotc, csyrk, cherk): New F77 decls. + * fMatrix.cc (xgemm): New function. + (operator * (const FloatMatrix&, const FloatMatrix&)): Simplify. + (get_blas_trans_arg): New function. + * fCMatrix.h (xgemm): Provide decl. + (ssyrk): New F77 decl. + * fCMatrix.cc (xgemm): New function. + (operator * (const FloatComplexMatrix&, const + FloatComplexMatrix&)): Simplify. + (get_blas_trans_arg): New function. + + * dMatrix.cc, CMatrix.cc, Sparse-op-defs.h: Add missing copyright. + + * Sparse-op-defs.h (SPARSE_FULL_MUL): Simplify scalar*matrix case. + Correct indenting. + (SPARSE_FULL_TRANS_MUL): New macro. + (FULL_SPARSE_MUL): Simplify scalar*matrix case. Correct indenting. + Move OCTAVE_QUIT one level up. + (FULL_SPARSE_MUL_TRANS): New macro. + * dSparse.h (mul_trans, trans_mul): Provide decl. + * dSparse.cc (mul_trans, trans_mul): New functions. + * CSparse.h (mul_trans, trans_mul, mul_herm, herm_mul): Provide decl. + * CSparse.cc (mul_trans, trans_mul, mul_herm, herm_mul): New functions. + + * dMatrix.h (xgemm): Provide decl. + * dMatrix.cc (xgemm): New function. + (operator * (const Matrix&, const Matrix&)): Simplify. + (get_blas_trans_arg): New function. + * CMatrix.h (xgemm): Provide decl. + * CMatrix.cc (xgemm): New function. + (operator * (const ComplexMatrix&, const ComplexMatrix&)): Simplify. + (get_blas_trans_arg): New function. + + * MatrixType.cc (matrix_real_probe, matrix_complex_probe): + New template functions. + (MatrixType::MatrixType (const Matrix&), + MatrixType::MatrixType (const FloatMatrix&)): + just call matrix_real_probe. + (MatrixType::MatrixType (const ComplexMatrix&), + MatrixType::MatrixType (const FloatComplexMatrix&)): + just call matrix_complex_probe. + + * MatrixType.cc (MatrixType::MatrixType (matrix_type, bool)): + add missing test for Unknown. + +2008-05-21 David Bateman + + * fCMatrix.cc (float rcond): Replace with float rcon everywhere + to avoid shadowed variable warning + (float ComplexMatrix::rcond (void) const): New method for + reciprocal condition number calculation. + (float ComplexMatrix::rcond (MatrixType &mattype) const): ditto. + * fCMatrix.h (float rcond): Replace with float rcon everywhere + to avoid shadowed variable warning + (float ComplexMatrix::rcond (void) const): New method for + reciprocal condition number calculation. + (float ComplexMatrix::rcond (MatrixType &mattype) const): ditto. + * fMatrix.cc (float rcond): Replace with float rcon everywhere + to avoid shadowed variable warning + (float Matrix::rcond (void) const): New method for + reciprocal condition number calculation. + (float Matrix::rcond (MatrixType &mattype) const): ditto. + * fMatrix.h (float rcond): Replace with float rcon everywhere + to avoid shadowed variable warning + (float Matrix::rcond (void) const): New method for + reciprocal condition number calculation. + (float Matrix::rcond (MatrixType &mattype) const): ditto. + + * Array.cc: Fix transpose tests. + + * CmplxGEBAL.cc (ComplexGEPBALANCE), dbleGEPBAL.cc (GEPBALANCE), + fCmplxGEPBAL.cc (FloatComplexGEPBALANCE), floatGEPBAL.cc + (FloatGEPBALANCE): New class for generalized eigenvalue balancing. + * CmplxGEBAL.h (ComplexGEPBALANCE), dbleGEPBAL.h (GEPBALANCE), + fCmplxGEPBAL.h (FloatComplexGEPBALANCE), floatGEPBAL.h + (FloatGEPBALANCE): Declare them. + * Makefile.in (MATRIX_INC): Include them here. + (MATRIX_SRC): and here. + + * floatAEPBAL.cc (FloatAEPBALANCE), fCmplxAEPBAL.cc + (FloatComplexAEPBALANCE): New classes for single precision + Algebraic eignvalue balancing. + * floatAEPBAL.h (FloatAEPBALANCE), fCmplxAEPBAL.h + (FloatComplexAEPBALANCE): Declare them. + * Makefile.in (MATRIX_INC): Include them here. + (MATRIX_SRC): and here. + + * floatHESS.cc (FloatHESS), fCmplxHESS.cc (FloatComplexHESS): New + classes for single precision Hessenberg decomposition. + * floatHESS.h (FloatHESS), fCmplxHESS.h (FloatComplexHESS): + Declare them. + * Makefile.in (MATRIX_INC): Include them here. + (MATRIX_SRC): and here. + + * floatQR.cc (FloatQR), fCmplxQR.cc (FloatComplexQR): New + classes for single precision QR decomposition. + * floatQR.h (FloatQR), fCmplxQR.h (FloatComplexQR): + Declare them. + * Makefile.in (MATRIX_INC): Include them here. + (MATRIX_SRC): and here. + + * floatQRP.cc (FloatQRP), fCmplxQRP.cc (FloatComplexQRP): New + classes for single precision permuted QR decomposition. + * floatQRP.h (FloatQRP), fCmplxQRP.h (FloatComplexQRP): + Declare them. + * Makefile.in (MATRIX_INC): Include them here. + (MATRIX_SRC): and here. + + * mx-defs (FloatAEPBALANCE, FloatComplexAEPBALANCE, + ComplexGEPBALANCE, FloatGEPBALANCE,FloatComplexGEPBALANCE, + FloatHESS, FloatComplexHESS, FloatQR, FloatComplexQR, QRP, + ComplexQRP, FloatQRP, FloatComplexQRP): Declare classes. + +2008-05-20 David Bateman + + * Array.cc (Array Array::transpose () const): Modify for tiled + transpose to limit the number of cache misses. + (Array Array::hermitian (T (*)(const&)) const): New method + for matrix conjugate transpose. + * Array.h (Array hermitian (T (*)(const&)) const): Declare it. + + * DiagArray2.cc (DiagArray2 DiagArray2::transpose () const): + Specialization for diagonal arrays. + (DiagArray2 DiagArray2::transpose (T (*) (const&)) const): + Ditto. + + * MArray.h (MArray hermitian transpose () const): Ditto. + * MArray2.h (MArray2 hermitian hermitian hermitian transpose () const): Ditto. + (MDiagArray hermitian + + * CMatrix.cc (double rcond): Replace with double rcon everywhere + to avoid shadowed variable warning + (double ComplexMatrix::rcond (void) const): New method for + reciprocal condition number calculation. + (double ComplexMatrix::rcond (MatrixType &mattype) const): ditto. + * CMatrix.h (double rcond): Replace with double rcon everywhere + to avoid shadowed variable warning + (double ComplexMatrix::rcond (void) const): New method for + reciprocal condition number calculation. + (double ComplexMatrix::rcond (MatrixType &mattype) const): ditto. + * dMatrix.cc (double rcond): Replace with double rcon everywhere + to avoid shadowed variable warning + (double Matrix::rcond (void) const): New method for + reciprocal condition number calculation. + (double Matrix::rcond (MatrixType &mattype) const): ditto. + * dMatrix.h (double rcond): Replace with double rcon everywhere + to avoid shadowed variable warning + (double Matrix::rcond (void) const): New method for + reciprocal condition number calculation. + (double Matrix::rcond (MatrixType &mattype) const): ditto. + + * regex-match.cc, regex-match.h: New class for simple regular + expression matching + * Makefile.in (INCLUDES): Add regex-match.h here, and + (LIBOCTAVE_CXX_SOURCES): regex-match.cc here. + +2008-05-19 David Bateman + + * dSparse.cc: Replace some DGBCON with GPBCON where they are + incorrectly used. + +2008-05-13 David Bateman + + * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): + If len is zero size the index vector in the same manner as if len + is not zero. + +2008-05-05 John W. Eaton + + * cmd-edit.cc (command_editor::re_read_init_file, + gnu_readline::do_re_read_init_file): New functions. + * cmd-edit.h (command_editor::re_read_init_file): Provide decl. + (command_editor::do_re_read_init_file): New function. + * oct-rl-edit.c (octave_rl_re_read_init_file): New function. + * oct-rl-edit.h: Provide decl. + +2008-05-05 Rafael Laboissiere + + * oct-rl-edit.c (octave_read_init_file): Simply call rl_read_init_file. + +2008-05-01 John W. Eaton + + * oct-shlib.h (octave_shlib::number_of_functions_loaded): + Return size_t instead of int value. + * oct-shlib.cc (octave_base_shlib::number_of_functions_loaded): + Likewise. + (octave_base_shlib::fcn_names): Now a std::map object. + Adjust all uses. + (octave_base_shlib::fcn_names_iterator, + octave_base_shlib::fcn_names_const_iterator): New typedefs. + (octave_base_shlib::add_to_fcn_names, octave_base_shlib::remove): + Perform reference counting for functions accessed. + +2008-04-30 Jaroslav Hajek + + * lo-mappers.cc (xlog2 (double)): Compute log (2), not log2 (2). + (xlog2 (Complex), xlog2 (double, int&), xlog2 (Complex, int&)): + New functions. + * lo-mappers.h: Provide decls. + +2008-04-25 Michael Goffioul + + * oct-lookup.h (seq_lookup): Do not use output value of fill_n (MSVC + does not support it). + +2008-04-24 Michael Goffioul + + * lo-sysdep.cc (octave_popen2): Don't set PIPE_NOWAIT for parentWrite. + +2008-04-21 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): + Fix for-loop condition. + +2008-04-19 Jaroslav Hajek + + * CmplxCHOL.cc, CmplxQR.cc, dbleCHOL.cc, dbleQR.cc: Fix calls to error() + +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-07 Jaroslav Hajek + + * dbleQR.h, dbleQR.cc (QR::shift_cols): New method. + * CmplxQR.h, CmplxQR.cc (ComplexQR::shift_cols): New method. + * dbleCHOL.h, dbleCHOL.cc (CHOL::insert_sym, CHOL::delete_sym, + CHOL::shift_sym): New methods. + * CmplxCHOL.h, CmplxCHOL.cc (ComplexCHOL::insert_sym, + ComplexCHOL::delete_sym, ComplexCHOL::shift_sym): New methods. + +2008-04-03 John W. Eaton + + * lo-sysdep.cc [__WIN32__ && ! __CYGWIN__]: Include windows.h. + +2008-03-27 Jaroslav Hajek + + * oct-lookup.h: New file. + +2008-03-26 David Bateman + + * Array.cc (assignN): Additional fix for vector assignments. + +2008-03-25 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-25 John W. Eaton + + * lo-mappers.cc (xtrunc): New function. + * lo-mappers.h: Provide decl. + +2008-03-25 Jaroslav Hajek + + * lo-specfun.cc (expm1, log1p): New functions. + * lo-specfun.h: Provide decls. + + * lo-mappers.cc (xroundb): New function. + * lo-mappers.h: Provide decl. + +2008-03-23 David Bateman + + * mx-ops: Definite binary operators for mixed integer array + + array case, except for 64bit cases. + +2008-03-21 David Bateman + + * oct-sparse.h: Add headers for amd.h. + +2008-03-20 David Bateman + + * Array.cc (Array Array::diag (octave_idx_type) const): New + method for diag function. + * Array.h (Array diag (octave_idx_type) const): Declare it. + * Array2.h (Array2 diag (octave_idx_type) const): New method. + * MArray2.h (MArray2 diag (octave_idx_type) const): ditto. + * ArrayN.h (ArrayN diag (octave_idx_type) const): ditto. + * MArrayN.h (MArrayN diag (octave_idx_type) const): ditto. + + * Sparse.cc (Sparse Sparse::diag (octave_idx_type) const): + New method for the diag function. + * Sparse.h (Sparse diag (octave_idx_type) const): Declare it. + * MSparse.h (MSparse diag (octave_idx_type) const): New method. + + * Range.cc (Matrix Range::diag (octave_idx_type) const): + New method for the diag function. + * Range.h (Matrix diag (octave_idx_type) const): Declare it. + + * CDiagMatrix.cc (ComplexColumnVector ComplexDiagMatrix::diag + (void) const): delete. + * dDiagMatrix.cc (ColumnVector DiagMatrix::diag (void) const): delete. + * dDiagMatrix.h (ColumnVector diag (void) const): ditto. + * CMatrix.cc (ComplexColumnVector ComplexMatrix::diag (void) const): + delete. + * CMatrix.h (ComplexColumnVector diag (void) const): ditto. + * dMatrix.cc (ColumnVector Matrix::diag (void) const): ditto. + * dMatrix.h (ColumnVector diag (void) const): ditto. + * boolMatrix.cc (boolMatrix boolMatrix::diag (void) const): ditto. + * boolMatrix.h (boolMatrix diag (void) const): ditto. + * chMatrix.cc (charMatrix charMatrix::diag (void) const): ditto. + * chMatrix.h (charMatrix diag (void) const): ditto. + * intNDArray.cc (intNDArray intNDArray::diag (void) const): ditto. + * intNDArray.h (intNDArray diag (void) const): ditto. + + * CMatrix.cc (ComplexMatrix ComplexMatrix::diag (octave_idx_type) + const): Rewrite in terms of template classes function. + * CMatrix.h (ComplexMatrix diag (octave_idx_type)const ): Change + return type. + * dMatrix.cc (Matrix Matrix::diag (octave_idx_type) const): Rewrite in + terms of template classes function. + * dMatrix.h (Matrix diag (octave_idx_type) const): Change return type. + * boolMatrix.cc (boolMatrix boolMatrix::diag (octave_idx_type) const): + Rewrite in terms of template classes function. + * boolMatrix.h (boolMatrix diag (octave_idx_type) const): Change + return type. + * chMatrix.cc (charMatrix charMatrix::diag (octave_idx_type) + const): Rewrite in terms of template classes function. + + * dSparse.cc (SparseMatrix SparseMatrix::diag (octave_idx_type) const): + Rewrite in terms of template classes function. + * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::diag + (octave_idx_type) const): ditto. + * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::diag + (octave_idx_type) const): ditto. + * intNDArray.cc (intNDArray intNDArray::diag + (octave_idx_type) const): ditto. + + * CNDArray.cc (ComplexNDArray ComplexNDArray::diag + (octave_idx_type) const): New method. + * CNDArray.h (ComplexNDArray diag (octave_idx_type) const): + Declare it. + * dNDArray.cc (NDArray NDArray::diag (octave_idx_type) const): New + method. + * dNDArray.h (NDArray diag (octave_idx_type) const): Declare it. + * chNDArray.cc (charNDArray charNDArray::diag + (octave_idx_type) const): New method. + * chNDArray.h (charNDArray diag (octave_idx_type) const): + Declare it. + + +2008-03-19 John W. Eaton + + * oct-env.cc (octave_env::do_base_pathname): Also handle rooted + relative filenames. + +2008-03-19 David Bateman + + * Array.cc (assignN): If orig_empty allow assignment like + a(1:10,1)=1:10 + + * Sparse.h (template Sparse map (F fcn) + const): New template function. + * MSparse.h (template MSparse map (F fcn) + const): ditto. + * dSparse.cc (SparseMatrix SparseMatrix::map (dmapper) const, + SparseComplexMatrix SparseMatrix::map (cmapper) const, + SparseBoolMatrix SparseMatrix::map (bmapper) const): Rewrite in + terms of the new template functor. + * CSparse.cc (SparseMatrix SparseComplexMatrix::map (dmapper) const, + SparseComplexMatrix SparseComplexMatrix::map (cmapper) const, + SparseBoolMatrix SparseComplexMatrix::map (bmapper) const): ditto. + +2008-03-18 David Bateman + + * lo-specfun.cc (Complex xlgamma (const Complex&)): New function. + * lo-specfun.h (Complex xlgamma (const Complex&)): Declare it. + * randpoison.c (xlgamma): Use lgamma if HAVE_LGAMMA is defined. + + * 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-08 John W. Eaton + + * Sparse.cc (Sparse::index, assign): Likewise. + * Array.cc (Array::index1, Array::index2, Array::indexN, + assign2): Eliminate use of idx_vector::is_one_zero method. + * idx-vector.cc, idx-vector.h + (idx_vector::maybe_convert_one_zero_to_idx, + IDX_VEC_REP::maybe_convert_one_zero_to_idx): Delete unused function. + (IDX_VEC_REP::one_zero): Delete data member. + (IDX_VEC_REP::is_colon_equiv): Delete one_zero check. + (idx_vector::is_one_zero, IDX_VEC_REP::is_one_zero): Delete function. + +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-05 Jaroslav Hajek + + * dbleQR.cc (QR::insert_col, QR::insert_row, + QR::delete_col, QR::delete_row): Use 0-based indexing. + * CmplxQR.cc (ComplexQR::insert_col, ComplexQR::insert_row, + ComplexQR::delete_col, ComplexQR::delete_row): Likewise. + + * dbleCHOL.cc: Small doc and declaration fixes. + * CmplxHOL.cc: Small doc and declaration fixes. + * CmplxQR.cc (ComplexQR::ComplexQR): Adjust code to match dbleQR.cc. + * dbleQR.cc (QR::delete_row): Fix incorrect test. + * CmplxQR.cc (ComplexQR::delete_row): Fix incorrect test. + +2008-03-04 Jaroslav Hajek + + * dbleCHOL.cc (CHOL::set, CHOL::update, CHOL::downdate): + New functions. + * dbleCHOL.h: Provide decls. + * CmplxCHOL.cc (ComplexCHOL::set, ComplexCHOL::update, + ComplexCHOL::downdate): New functions. + * CmplxCHOL.h: Provide decls. + + * dbleQR.cc (QR::update, QR::insert_col, QR::delete_col, + QR::insert_row, QR::delete_row): New methods. + (QR::QR (const Matrix&, const MAtrix&)): New constructor. + * dbleQR.h: Provide decls. + * CmplxQR.cc (ComplexQR::update, ComplexQR::insert_col, + ComplexQR::delete_col, ComplexQR::insert_row, + ComplexQR::delete_row): New methods. + (ComplexQR::ComplexQR (const ComplexMatrix&, const ComplexMAtrix&)): + New constructor. + * CmplxQR.h: Provide decls. + +2008-03-04 Jaroslav Hajek + + * Array-C.cc, Sparse-C.cc: Include oct-sort.cc after definitions + of < and > operators. + +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-27 John W. Eaton + + * oct-rand.cc (class octave_rand): Make it a proper singleton class. + +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-24 John W. Eaton + + * oct-inttypes.h (octave_int_helper): New class. Provide + specializations for signed and unsigned types. + (octave_int::operator >>=, octave_int::abs, + octave_int::signum): Use static functions from + octave_int_helper class. + + * oct-inttypes.h, oct-inttypes.cc (OCTAVE_US_TYPE1_CMP_OP, + OCTAVE_US_TYPE2_CMP_OP): Tag function declarations and definitions + with "template <>". + +2008-02-22 John W. Eaton + + * CSparse.cc, SparseCmplxLU.cc, SparsedbleLU.cc, dSparse.cc, + file-ops.cc, oct-group.cc, oct-shlib.cc, sparse-base-chol.h, + sparse-dmsolve.cc: Use 0 instead of NULL. + +2008-02-22 David Bateman + + * boolSparse.cc (SparseBoolMatrix SparseBoolMatrix::diag + (octave_idx_type) const): New method. + * boolSparse.h (SparseBoolMatrix SparseBoolMatrix::diag + (octave_idx_type) const): Declare it. + + * base-lu.h (lu_type Y (void) const): New method to return + factorization of xGETRF directly. + * sparse-base-lu.cc (template lu_type sparse_base_lu :: Y (void) const): New method + to simulate the retirn of xGETRF. + * sparse-base-lu.h (template lu_type sparse_base_lu :: Y (void) const): Declare it + (SparseMatrix R (void) const): Method to return scaling factors. + * SparsedbleLU.cc: Allow two element pivot thresholding and + scaling. + * SparseCmplxLU.cc: ditto. + * SparsedbleLU.h: Modify constructors to allow passing of two + element pivoting thresholds and flag for scaling + * SparseCmplxLU.h: ditto. + + * base-lu.cc (ColumnVector P_vec (void) const): New method to + return permutations as a vector. + * base-lu.h (ColumnVector P_vec (void) const): Declare it. + * sparse-base-lu.cc (ColumnVector Pr_vec (void) const): New method + return row permutations as a vector. + (ColumnVector Pc_vec (void) const): New method return column + permutations as a vector. + * sparse-base-lu.h (ColumnVector Pr_vec (void) const): Declare it. + (ColumnVector Pc_vec (void) const): Declare it. + + * oct-spparms.cc: Add sym_tol field. + +2008-02-20 David Bateman + + * SparseComplexQR.cc (ComplexMatrix + SparseComplexQR::SparseComplexQR_rep::Q + (void) const): New method. + * SparseComplexQR.h (ComplexMatrix + SparseComplexQR::SparseComplexQR_rep::Q + (void) const): Declare it. + * SparseQR.cc (Matrix SparseQR::SparseQR_rep::Q (void) const): ditto. + * SparseQR.h (Matrix SparseQR::SparseQR_rep::Q (void) const): ditto. + +2008-02-20 John W. Eaton + + * boolNDArray.h (boolNDArray (const Array2&)): Delete. + + * Marray2.h (MArray2 (const Array2&), + MArray2 (const MArray2&)): New templated constructors. + + * Array2.h (Array2 (const Array&), + Array2 (const Array&, const dim_vector&)): + New templated constructors. + + * CColVector.cc (ComplexColumnVector::map): Forward to MArray::map. + * dColVector.cc (ColumnVector::map): ditto. + * CRowVector.cc (ComplexRowVector::map): ditto. + * dRowVector.cc (RowVector::map): ditto. + * CMatrix.cc (ComplexMatrix::map): Forward to MArray2::map. + * dMatrix.cc (Matrix::map): ditto. + + * dNDArray.cc (NDArray::map): New functions. + * dNDArray.h: Provide decls. + + * CNDArray.cc (ComplexNDArray::map): New functions. + * CNDArray.h: Provide decls. + + * MArray2.h (MArray2::map): New function. + * Array2.h (Array2::map): New function. + * MArrayN.h (MArrayN::map): New function. + * ArrayN.h (ArrayN::map): New function. + * Array.h (Array::map): New function. + + * functor.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + +2008-02-20 David Bateman + + * CColVector.h, CColVector.cc (ComplexColumnVector::apply): Remove. + * dColVector.h, dColVector.cc (ColumnVector::apply): ditto. + * CRowVector.h, CRowVector.cc (ComplexRowVector::apply): ditto. + * dRowVector.h, dRowVector.cc (RowVector::apply): ditto. + * CMatrix.h, CMatrix.cc (ComplexMatrix::apply): ditto. + * dMatrix.h, dMatrix.cc (Matrix::apply): ditto. + + * CSparse.cc (apply): Remove. + (map): Replace old mapper code with code taken from ov-mapepr.cc + * CSparse.h (map): Reeclare them. + (dmapper, cmapper, bmapper): typedefs for mapper functions. + * dSparse.cc (apply): Remove. + (map): Replace old mapper code with code taken from ov-mapepr.cc + * dSparse.h (map): Reeclare them. + (dmapper, cmapper, bmapper): typedefs for mapper functions. + + * intNDArray.cc (abs, signum): Two new mapper functions. + * intNDArray.h (abs, signum): Declare them. + * oct-inttypes.h (abs, signum): Mapper functions on scalar integer + base type. + +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-14 John W. Eaton + + * CColVector.cc, CMatrix.cc, CRowVector.cc, CSparse.cc, + CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, + CmplxQR.cc, CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, DASPK.cc, + DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, Quad.cc, + dColVector.cc, dMatrix.cc, dRowVector.cc, dSparse.cc, + dbleAEPBAL.cc, dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, + dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc: + Don't check f77_exception_encountered. + +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 + + * Array.cc (ascending_compare, descending_compare): Remove + non-standard extern in the instantiations. + + * oct-sort.cc: Include and sprinkle with std:: as needed. + + * 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 DGELSD's broken lwork query, as with double. + +2008-02-12 John W. Eaton + + * sparse-sort.cc: Don't explicitly instantiate + class octave_sort, + class octave_sort, or + class octave_sort. + + * Sparse.h (INSTANTIATE_SPARSE_SORT): Delete macro. + * Sparse-C.cc, Sparse-b.cc, Sparse-d.cc: Don't use it. + + * Range.cc (Range::sort_internal): Avoid shadow warning from gcc. + +2008-02-11 John W. Eaton + + * Makefile.in ($(MAKEDEPS)): Skip dependencies if omit_deps is defined. + +2008-02-08 John W. Eaton + + * oct-sort.h (enum sortmode): Eliminate UNDEFINED. Change all + uses of UNDEFINED to ASCENDING. + +2008-02-07 John W. Eaton + + * Range.cc (Range::sort_internal): Rename from sort. New arg, + ASCENDING, with default value of true. + (Range::sort_internal (Array&, bool)): New function. + (Range::sort (octave_idx_type, sortmode) const): New function. + (Range::sort (Array&, octave_idx_type, sortmode) + const): New function. + * Range.h: Fix/provide decls. + + * intNDArray.cc (intNDArray::any (int)): Use != for comparison. + +2008-02-06 John W. Eaton + + * Makefile.in ($(OPTS_INC)): Use mv instead of move-if-change. + (stamp-prereq): Eliminate. + (clean): Don't remove stamp-prereq. + (libraries): Don't depend on stamp-prereq. + (PREREQ): New macro. + ($(MAKEDEPS)): Depend on $(PREREQ), not stamp-prereq. + (distclean): Simplify with $(PREREQ). + (OPT_BASE): New macro. + (OPT_IN): Rename from OPTS_INC_DATA. Define in terms of OPT_BASE. + (OPT_INC): Rename from OPTS_INC. Define in terms of OPT_BASE. + +2008-02-05 John W. Eaton + + * Makefile.in: Unconditionally include $(MAKEDEPS). + Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. + +2008-02-03 Michael Goffioul + + * Array.cc (ascending_compare, descending_compare, + Array::sort): Declare explicit specialization for T=double to + avoid symbol duplication error at link time. + * Array-d.cc (ascending_compare, descending_compare): Declare and + define as nonmember functions, not member functions of Array. + +2008-02-03 John W. Eaton + + * Array-i.cc: Also instantiate Arrays for long long type if it exists. + +2008-02-03 Michael Goffioul + + * Array.cc: Don't include Range.h. + +2008-01-31 David Bateman + + * oct-sort.cc: conversion of int to octave_idx_type where needed + for 64-bit builds. + (IFLT): Allow IFLT macro to be overridden. + * oct-sort.h: conversion of int to octave_idx_type where needed + for 64-bit builds. + (enum sortmode): Type of sort to perform. + (vec_index): Simple class to aid in indexed sorts. + + * Array.h ( Array sort (octave_idx_type, sortmode) const, + Array sort (Array &, octave_idx_type, + sortmode) const): Array sorting methods. + (INSTANTIATE_ARRAY_SORT, NO_INSTANTIATE_ARRAY_SORT): Macros to + instantiate the array sorting methods. + * Array.cc (ascending_compare, descending_compare): New template + functions for generic sort comparison. + ( Array Array::sort (octave_idx_type, sortmode) const, + Array Array::sort (Array &, octave_idx_type, + sortmode) const): Array sorting functions based of octave_sort + class. + * Array-C.cc: Instantiate the complex array sort methods. + (IFLT): New macro to override the one in the + octave_sort class to avoid need for Complex < and > operators. + (static double xabs (const Complex&)): Complex abs function + avoiding std::abs(Inf) returning NaN with some compilers. + (ascending_compare, descending compare): override template + functions for complex comparison. + * Array-d.cc: Instantiate the double array sort methods. + (Array Array::sort (octave_idx_type, + sortmode) const, Array Array::sort + (Array &, octave_idx_type, sortmode) const): + Array sorting functions based of octave_sort using uint64 sorting + on IEE754 doubles, for speed and correct sorting of Inf and NaN. + (ascending_compare, descending compare): override template + functions for double and uint64 comparison. + * Array-b.cc, Array-ch.cc, Array-i.cc, Array-s.cc, Array-str.cc: + Instantiate the array sort methods. + * Array-idx-vec.cc: Null instantiation of array sort methods. + * Array2.h, Array3.h, ArrayN.h (sort): 2, 3 and N-dimensional + versions of the sort methods based on Array::sort. + + * CSparse.cc, dSparse.cc: Remove inclusion of octa-sort.h. + * Sparse.h ( Sparse sort (octave_idx_type, sortmode) const, + Sparse sort (Array &, octave_idx_type, + sortmode) const): Sparse sorting methods. + (INSTANTIATE_ARRAY_SORT): Macro to instantiate the sparse sorting + methods. + * Sparse.cc: replace sort with lsort throughout to avoid shadowing + of new sort method. + (sparse_ascending_compare, sparse_descending_compare): New template + functions for generic sort comparison. + ( Sparse Sparse::sort (octave_idx_type, sortmode) const, + Sparse Sparse::sort (Sparse &, octave_idx_type, + sortmode) const): Sparse sorting functions based of octave_sort + class. + * Sparse-C.cc: Instantiate the complex sparse sort methods. + (IFLT): New macro to override the one in the + octave_sort class to avoid need for Complex < and > operators. + (static double xabs (const Complex&)): Complex abs function + avoiding std::abs(Inf) returning NaN with some compilers. + (sparse_ascending_compare, sparse_descending compare): override + template functions for complex comparison. + * Sparse-d.cc: Instantiate the cdouble sparse sort methods. + (sparse_ascending_compare, sparse_descending compare): override + template functions for double comparison. + * Array-b.cc: Instantiate the sparse sort methods. + +2008-01-25 Jaroslav Hajek + + * idx-vector.h (idx_vector::idx_vector_rep::range_base, + idx_vector::idx_vector_rep::range_step, + idx_vector::idx_vector_rep::range_step): New data members. + (idx_vector::idx_vector_rep::idx_vector_rep): Initialize them. + * idx-vector.cc (IDX_VEC_REP::sort, IDX_VEC_REP::is_colon_equiv, + IDX_VEC_REP::init_state, IDX_VEC_REP::operator =, + IDX_VECTOR_REP::idx_vector_rep): Handle range. + +2008-01-18 Marco Caliari + + * dMatrix.cc (Matrix::expm): Correctly perform reverse permutation. + * CMatrix.cc (ComplexMatrix::expm): Likewise. + +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-18 John W. Eaton + + * dMatrix.cc (solve_singularity_warning): New function. + (Matrix::expm): Pass pointer to solve_singularity_warning to + Matrix::solve method. Exit early if Matrix::solve fails. + Limit sqpow value to avoid overflowing scale factor. + * CMatrix.cc (solve_singularity_warning): New function. + (ComplexMatrix::expm): Pass pointer to solve_singularity_warning to + ComplexMatrix::solve method. Exit early if ComplexMatrix::solve fails. + Limit sqpow value to avoid overflowing scale factor. + From Marco Caliari . + +2008-01-10 Kim Hansen + + * Sparse.cc: New tests for slicing of sparse matrices. + +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. + +2007-12-18 David Bateman + + * Sparse.cc (template Sparse Sparse::index + (idx_vector&, int) const): Fix case indexing of non zero scalar + stored as a sparse matrix. + (template Sparse Sparse::index (idx_vector&, + idx_vector&, int) const): For the non permutated indexing case, + fix link list calculation and use. + +2007-12-17 John W. Eaton + + * Array.cc (Array::indexN): Correctly handle scalar indexed by + N-d array. + +2007-12-17 David Bateman + + * Sparse-op-defs.h (SPARSE_ANY_ALL_OP_ROW_CODE): Use ridx for row + index. + +2007-12-11 John W. Eaton + + * Sparse.cc (Sparse::index (idx_vector&, int) const): + If indexing scalar with empty matrix, return empty array with same + size as index. + +2007-12-10 John W. Eaton + + * NLEqn.h (NLEqn::fval): New data member. Adjust constructors + and assignment operator. + (NLEqn::function_value): New function. + * NLEqn.cc (NLEqn::solve): If solution is successful, compute + function value. + + * file-ops.cc (file_ops::concat): New function. + * file-ops.h: Provide decl. + +2007-12-07 John W. Eaton + + * oct-time.cc (octave_base_tm::init): Only assign t->tm_zone if it + is not 0. + +2007-12-07 David Bateman + + * Sparse-op-defs.h (SPARSE_SMS_CMP_OP, SPARSE_SMS_BOOL_OP, + SPARSE_SSM_CMP_OP, SPARSE_SSM_BOOL_OP, SPARSE_SMSM_CMP_OP, + SPARSE_SMSM_BOOL_OP, SPARSE_BASE_REDUCTION_OP): Use sparse + indexing where possible rather than the elem method. + (SPARSE_REDUCTION_OP_ROW_EXPR, SPARSE_REDUCTION_OP_COL_EXPR, + SPARSE_ANY_ALL_OP_ROW_CODE, SPARSE_ANY_ALL_OP_COL_CODE): + Replace for new version of SPARSE_BASE_REDUCTION_OP. + (SPARSE_ALL_OP): Specialize the initial value, and only treat dim + = 0 directly. + * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::sumsq (int) + const): Replace ROW_EXPR and COL_EXPR functions for new version of + SPARSE_BASE_REDUCTION_OP. + (SparseComplexMatrix SparseComplexMatrix::prod (int) const): + Specialize the initial value, and only treat dim = 0 directly. + * dSparse.cc (SparseMatrix SparseMatrix::sumsq (int) const): + ditto. + (SparseMatrix SparseMatrix::prod (int) const): ditto. + +2007-12-06 John W. Eaton + + * CMatrix.cc (ComplexMatrix::expm): Update pointers to internal + data for npp and dpp after assignments. + * dMatrix.cc (Matrix::expm): Use same method as ComplexMatrix::expm. + +2007-12-04 John W. Eaton + + * Sparse.cc (assign (Sparse&, const Sparse&)): + Do nothing if one index is empty. + +2007-12-04 David Bateman + + * Sparse.cc (assign (Sparse&, const Sparse&)): + Resize matrix as well if one dimension of lhs is zero and the rhs + index exceeds the lhs index. + * Sparse.cc (assign1 (Sparse&, const Sparse&)): + Don't resize to a smaller matrix for empty matrices with a max rhs + index smaller than the non zero lhs index. + +2007-12-04 Michael Goffioul + + * Array-util.h: Tag permute_vector_compare with OCTAVE_API. + +2007-12-03 Moritz Borgmann + + * Array-util.cc (permute_vector_compare): Move here from Array.cc. + * Array-util.h (permute_vector, permute_vector_compare): Provide decls. + * Array.cc (permute_vector, permute_vector_compare): Delete. + +2007-12-03 David Bateman + + * Sparse.cc (template int assign + (Sparse&, const Sparse&)): Only set return matrix size to + rhs values if both no. rows and columns are zero. + +2007-11-30 John W. Eaton + + * oct-sort.cc, oct-sort.h: Style fixes. + + * lo-math.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * Array2.h, ArrayN.h, CmplxDET.cc, DASPK.cc, DASPK.h, DASRT.cc, + DASRT.h, DASSL.cc, DASSL.h, LSODE.cc, LSODE.h, NLEqn.h, Quad.h, + Range.cc, dbleDET.cc, lo-cieee.c, lo-ieee.cc, lo-mappers.cc, + oct-time.cc, oct-time.h, randgamma.c, randmtzig.c, + randpoisson.c: Include lo-math.h instead of cmath or math.h. + * lo-mappers.h: Don't include sunmath.h here. + +2007-11-26 John W. Eaton + + * idx-vector.h (idx_vector::idx_vector_rep (const intNDArray&)): + Eliminate unnecessary second arg from call to tree_to_mat_idx. + + * oct-inttypes.h (operator bool, operator char): Delete. + (bool_value, char_value, double_value, float_value): New functions. + +2007-11-26 David Bateman + + * intNDArray.cc (template intNDArray + intNDArray::max (int) const, template intNDArray + intNDArray::max (ArrayN&, int) const, + template intNDArray intNDArray::min (int) const, + template intNDArray intNDArray::min + (ArrayN&, int) const): New methods for integer + classes. + * intNDArray.h (class intNDArray): Add min/max methods + * mx-op-defs.h (MIXMAX_DECLS, MINMAX_FCNS, SND_MINMAX_FCN, + NDS_MINMAX_FCN, NDND_MINMAX_FCN): New macro for instantiation of + min/max functions. + * int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, + uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h + (MINMAX_DECLS(T)): Declare the min/max functions for integer + types. + * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, + uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc + (MINMAX_FCNS(T)): Instantiate the min/max functions for integer + types. + + * Arrayc.cc (Array::index (idx_vector&, idx_vector&, int, + const T& rfv) const): If ndims != 2 call ND version of index. + +2007-11-14 John W. Eaton + + * oct-inttypes.h (opeator T (void) const): New conversion operator. + + * lo-specfun.cc (zbesi): When alpha is negative, don't limit + correction to half-integer values. From Eric Chassande-Mottin + . + +2007-11-07 Michael Goffioul + + * dMatrix.cc, CMatrix.cc: Help MSVC compiler to resolve + ambiguities related to math functions (in C++ mode). + +2007-11-06 David Bateman + + * intNDArray.cc (intNDArray intNDArray::sum (int) const): + New method. + * intNDarray.h (intNDArray sum (int) const): Declare it. + * boolNDArray.cc (boolNDArray boolNDArray::sum (int) const): + New method. + * boolNDarray.cc (boolNDArray sum (int) const): Declare it. + * MArray-def.h (MARRAY_NORM_BODY): Scale frobenius norm by infinity + norm to avoid issues of over- and underflow. From Rolf Fabian + . + +2007-10-30 David Bateman + + * DASRT-opts.in, LSODE-opts.in: Doc fixes for small book format. + +2007-10-30 John W. Eaton + + * CMatrix.cc (lssolve): Compute size of rwork and iwork arrays. + * dMatrix.cc (lssolve): Compute size of iwork array. + +2007-10-29 David Bateman + + * CMatrix.h (lssolve (const Matrix&, octave_idx_type&, + octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, + octave_idx_type&, octave_idx_type&, double&) const, lssolve + (const ColumnVector&, octave_idx_type&, octave_idx_type&, + double& rcond) const, lssolve (const ComplexColumnVector&, + octave_idx_type&, octave_idx_type&, double& rcond) const): New + declarations. + * CMatrix.cc (lssolve (const Matrix&, octave_idx_type&, + octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, + octave_idx_type&, octave_idx_type&, double&) const, lssolve + (const ColumnVector&, octave_idx_type&, octave_idx_type&, + double& rcond) const, lssolve (const ComplexColumnVector&, + octave_idx_type&, octave_idx_type&, double& rcond) const): New + methods. + (lssolve (const Matrix&, octave_idx_type&, octave_idx_type&, + double&) const, lssolve (const ComplexMatrix&, octave_idx_type&, + octave_idx_type&, double&) const): Also return rcond from the + singular values returned by XGELSD. + * dMatrix.h (lssolve (const Matrix&, octave_idx_type&, + octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, + octave_idx_type&, octave_idx_type&, double&) const, lssolve + (const ColumnVector&, octave_idx_type&, octave_idx_type&, + double& rcond) const, lssolve (const ComplexColumnVector&, + octave_idx_type&, octave_idx_type&, double& rcond) const): New + declarations. + * dMatrix.cc (lssolve (const Matrix&, octave_idx_type&, + octave_idx_type&, double&) const, lssolve (const ComplexMatrix&, + octave_idx_type&, octave_idx_type&, double&) const, lssolve + (const ColumnVector&, octave_idx_type&, octave_idx_type&, + double& rcond) const, lssolve (const ComplexColumnVector&, + octave_idx_type&, octave_idx_type&, double& rcond) const): New + methods. + (lssolve (const Matrix&, octave_idx_type&, octave_idx_type&, + double&) const, lssolve (const ComplexMatrix&, octave_idx_type&, + octave_idx_type&, double&) const): Also return rcond from the + singular values returned by XGELSD. + +2007-10-26 David Bateman + + * dMatrix.cc (Matrix::lssolve): Use xGELSD for rank deficient + matrices to avoid reliability issues with xGELSY. + * CMatrix.cc (ComplexMatrix::lssolve): Likewise. + +2007-10-25 John W. Eaton + + * oct-time.cc (octave_gmtime::init, octave_localtime::init): + Call unix_time on arg instead of relying on conversion operator. + + * oct-time.h (octave_time::double_value): New function. + (octave_time::operator double () const): Delete. + (octave_time::operator time_t () const): Delete. + +2007-10-24 John W. Eaton + + * strptime.c: Also compile if OCTAVE_HAVE_BROKEN_STRPTIME is defined. + +2007-10-23 John W. Eaton + + * CRowVector.cc (operator * const ComplexRowVector&, const + ComplexColumnVector&)): Delete spurious code left from patch. + +2007-10-22 Kim Hansen + + * chMatrix.cc, lo-utils.cc, oct-env.cc, oct-uname.cc, + sparse-sort.cc: Include . + +2007-10-17 John W. Eaton + + * oct-sparse.h: Don't include metis.h. + + * dSparse.cc (SparseMatrix::fsolve): Delete special code for METIS. + * CSparse.cc (SparseComplexMatrix::fsolve): Likewise. + * sparse-base-chol.cc (sparse_base_chol::sparse_base_chol_rep::init): Likewise. + +2007-10-16 John W. Eaton + + * dMatrix.cc (Matrix::inverse): Only check rcond == 0 if the + matrix is hermitian or calc_cond is true. + * CMatrix.cc (ComplexMatrix::inverse): Likewise. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-11 Brian Gough + + * DASSL-opts.in, LSODE-opts.in: Spelling fixes. + +2007-10-10 Olli Saarela + + * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in: Spelling fixes. + +2007-10-10 John W. Eaton + + * LPsolve.h, LPsolve.cc: Delete. + * Makefile.in: Remove them from the INCLUDES and + LIBOCTAVE_CXX_SOURCES lists. + +2007-10-09 John W. Eaton + + * oct-time.cc (octave_strptime::init): Initialize t.tm_mon to -1 + and t.tm_year to INT_MIN before call to oct_strptime. Adjust + values to zero after call if they remain unchanged. + + * dSparse.cc (SparseMatrix::all_elements_are_zero): New function. + * dNDArray.cc (NDArray::all_elements_are_zero): New function. + +2007-10-09 David Bateman + + * oct-time.cc (octave_strptime::init): Only call mktime if mday is + valud and mon and year are also filled in. + + * Array2.h (Array2::Array2(const dim_vector&), + Array2::Array(const dim_vector&, const T&)): Check that + dim_vector is 2 dimensional. + + * Sparse.cc (Sparse Sparse::index (idx_vector&, idx_vector&, + int)): Remove a for loop in the random indexing case at the + expense of maintaining a set of linked lists of indices that point + to the same column in the original matrix. + (int assign (Sparse&, Sparse)): Take a const copy of lhs + and use it on the RHS of expressions to avoid unnecessary calls to + make_unique. + +2007-10-08 David Bateman + + * oct-rl-edit. (typedef rl_quoting_fcn_ptr, rl_dequoting_fcn_ptr, + rl_char_is_quoted_fcn_ptr, rl_command_fcn_ptr): New typedefs + for readline compatible functions. + (octave_rl_redisplay): Redisplay the current line of text. + (octave_rl_newline): Change interface to the same + as used by the equivalent readline function itself. + (octave_rl_filename_quoting_desired, + octave_rl_set_filename_quote_characters, + octave_rl_set_completer_quote_characters, + octave_rl_qet_quoting_function, octave_rl_qet_dequoting_function, + octave_rl_set_char_is_quoted_function): New functions to control + readline filename quoting and line acceptace. + * oct-rl-edit.c (octave_rl_newline): Change interface to the same + as used by the equivalent readline function itself. + (octave_rl_redisplay): Redisplay the current line of text. + (octave_rl_filename_quoting_desired, + octave_rl_set_filename_quote_characters, + octave_rl_set_completer_quote_characters, + octave_rl_qet_quoting_function, octave_rl_qet_dequoting_function, + octave_rl_set_char_is_quoted_function): New functions to control + readline filename quoting and line acceptace. + * cmd-edit.h (typedef quoting_fcn, typedef dequoting_fcn, + typedef char_is_quoted_fcn, user_accept_line_fcn): New typedefs + to map C++ function to readline compatible functions. + (set_filename_quote_characters): New function to set the + characters to if they appear in a filename that force the filename + to be quoted. + (set_completer_quote_characters): The characters that the readline + completion function considers as quotation characters. + (set_quoting_function, set_dequoting_function, + set_char_is_quoted_function, set_user_accept_line_function): + Functions to set the Octave functions to perform quoting and the + acceptance of a line of text by readline. + (get_quoting_function, get_dequoting_function, + get_char_is_quoted_function, get_user_accept_line_function): + Functions to get the above functions. + (accept_line): New method for the command_editor to accept a line + of text. + (file_quoting_desired): Function to set whether readline should + attempt to quote filenames. + (do_set_filename_quoting_characters, + do_set_completer_quote_characters, do_set_quoting_function, + do_set_dequoting_function, do_set_char_is_quoted_function, + do_set_user_accept_line_function, do_get_quoting_function, + do_get_dequoting_function, do_get_char_is_quoted_function, + do_get_user_accept_line_function, do_filename_quoting_desired): + Virtual functions to control the behavior of readline quoting and + acceptance of lines. + (do_accept_line): Virtual function for the accept line function. + * cmd-edit.cc (class gnu_readline do_set_filename_quote_characters, + do_completer_quote_characters, do_set_quoting_function, + do_set_dequoting_function, do_set_char_is_quoted_function, + do_set_user_accept_line_function, do_get_quoting_function, + do_get_dequoting_function, do_get_user_accept_line_function, + do_accept_line, do_filename_quoting_desired, command_quoter, + command_dequoter, command_char_is_quoted, command_accept_line): + New functions in gnu_readline class to control filename quoting + and line acceptance. + (quoting_function, dequoting_function, char_is_quoted_function, + user_accept_line_function): private variable to store functions + supplied for readline quoting and line acceptance. + (gnu_readline::gnu_readline): Also set the new function pointers + to zero. + (gnu_readline::do_newline): Adapt to new octave_rl_newline + interface. + (gnu_readeline::operate_and_get_next): Use new accept_line + function rather than newline. + (default_ommand_editor::do_accept_line): New method. + (class command_editor set_filename_quote_characters, + set_completer_quote_characters, set_quoting_function, + set_dequoting_function, set_char_is_quoted_function, + set_user_accept_line_function, get_quoting_function, + get_dequoting_function, get_user_accept_line_function, + accept_line, filename_quoting_desired): New functions checking + instance before calling virtual function. + + * CMatrix.h, dMatrix.h, boolMatrix.h, chMatrix.h, MArray2.h, + Array2.h: Add dim_vector constructors. + * charNDArray.h (charNDArray (const dim_vector&)): Add missing + const to dim_vector constructors. + * boolMatrix.cc, chMatrix.cc, intNDArray.cc (diag (void), diag + (octave_idx_type)): New methods to constructor diagonal matrices. + * boolMatrix.h, chMatrix.h, intNDArray.h (diag (void), diag + (octave_idx_type)): Declare them. + +2007-10-06 John W. Eaton + + * lo-specfun.cc: (zlgamma): Delete. + (xgamma): Use C library gamma function if available. + (xlgamma): Use C library lgamma function if available. + (xlgamma) [! HAVE_LGAMMA]: Allow calculation for any value of X + other than NaN or Inf. + +2007-10-05 John W. Eaton + + * lo-specfun.cc (zlgamma): New function. + +2007-10-04 John W. Eaton + + * oct-sort.cc (octave_sort::binarysort): Remove register + qualifiers on local variables. + +2007-10-04 Marco Caliari + + * CMatrix.cc (ComplexMatrix::expm): Limit shift to values less + than log(realmax) to avoid issues with NaN. + +2007-10-01 John W. Eaton + + * oct-time.cc (octave_strptime::init): Call mktime to propertly + initialize wday and yday. + From Matthias Drochner . + + * cmd-edit.cc (command_editor::do_decode_prompt_string): Don't + insert extra '\001' when decoding \[ and \]. + +2007-09-26 David Bateman + + * dMatrix.cc (lssolve): Replace the use of xGELSS with xGELSY with + is much faster and no less accurate. + * CMatrix.cc (lssolve): ditto. + +2007-09-25 David Bateman + + * dMatrix.cc (utsolve, ltsolve, fsolve, lssolve): Allow + zero dimensioned matrices. + * CMatrix.cc (utsolve, ltsolve, fsolve, lssolve): ditto. + * dSparse.cc (dsolve, utsolve, ltsolve, bsolve, trisolve, fsolve): + ditto. + * CSparse.cc (dsolve, utsolve, ltsolve, bsolve, trisolve, fsolve): + ditto. + * SparseQR.cc (SparseQR::SparseQR_rep::C, qrsolve): ditto. + * SparseCmplxQR.cc (SparseComplexQR::SparseComplexQR_rep::C, + qrsolve): ditto. + * sparse-dmsolve.cc (dmsolve): ditto. + +2007-09-21 John W. Eaton + + * Array.cc (assign1 (Array&, const Array&, const LT&)): + Also allow resizing empty LHS if it is 1x0 or 0xN. + +2007-09-19 John W. Eaton + + * cmd-edit.cc (command_editor::remove_startup_hook): + Fix cut-and-paste error. + (gnu_readline::set_startup_hook): Only set hook function if new + function is different from the current one. + +2007-09-18 John W. Eaton + + * cmd-edit.h, cmd-edit.cc (command_editor::startup_hook_set, + command_editor::event_hook_set): New static data. + (default_command_editor::set_startup_hook, + gnu_readline::set_startup_hook, + default_command_editor::restore_startup_hook, + gnu_readline_restore_event_hook): + Rename from do_set_startup_hook and do_set_event_hook. + (gnu_readline::operate_and_get_next): Call + command_editor::add_startup_hook, not + command_editor::set_startup_hook. + (command_editor::startup_handler, command_editor::event_handler): + New functions. + (command_editor::add_startup_hook, command_editor::add_event_hook, + command_editor::remove_startup_hook, + command_editor::remove_event_hook): Rename from set_startup_hook + and restore_startup_hook. Handle hook sets here. + * cmd-edit.cc (gnu_history::do_goto_mark): + Call remove_startup_hook instead of restore_startup_hook. + +2007-09-17 John W. Eaton + + * lo-utils.cc (octave_read_complex, octave_read_double): Skip + leading whitespace. + +2007-09-13 John W. Eaton + + * lo-utils.cc (read_inf_nan_na, octave_read_double, + octave_read_complex): Use istream::get instead of >> to read + individual characters. + +2007-09-10 John W. Eaton + + * Array.cc (assign1): Don't call make_unique for invalid assignment. + +2007-09-10 David Bateman + + * Array.h (Array::make_unique): Make public so that the + ::assign functions can access it directly. + * Array.cc (Array::maybe_delete_elements_1(idx_vector&), + Array::maybe_delete_elements_1(idx_vector&), + Array::maybe_delete_elements(idx_vector&, idx_vector&), + Array::maybe_delete_elements(Array&, const T&)): + Use xelem for non const RHS to avoid call to make_unique. + (int assign1 (Array&, const Array&, const LT&)): Use + xelem for LHS and call lhs.make_unique() only once. Special case + the is_colon index case and use Array::xelem(octave_idx_type) + rather than Array::xelem(octave_idx_type,octave_idx_type) and + bring the additional multiplication out of the inner loop. + (int assign2 (Array&, const Array&, const LT&)): ditto. + (int assignN (Array&, const Array&, const LT&)): ditto. + * idx-vector.h (idx_vector::idx_vector_rep::idx_vector_rep + (const Range& r)): Don't use init_state() method but special case + as with a Range can avoid exhaustive search. + +2007-09-07 John W. Eaton + + * Array.cc (Array::fortran_vec): Call make_unique instead of + manipulating rep directly. + + * Array.h (idx, idx_count): Declare mutable. + (Array::set_index, Array::clear_index, Array::value): + Now const. + +2007-09-06 David Bateman + + * Array-util.cc (increment_index): dimensions can have singleton + trailing dimensions. + * Array.h (range_error, xelem, checkelem, elem, operator ()): + Modify use of Array to Array and adjust + where necessary. + * Array.cc (range_error): ditto. + * MArrayN.h (permute, ipermute): ditto. + * ArrayN.h (permute, ipermute): ditto. + * so-array.cc (streamoff_array::compute_index): ditto. + * so-array.h (compute_index): ditto. + * CMattrix.cc (ComplexMatrix::exmpm): ditto. + +2007-08-29 David Bateman + + * dSparse.cc (SparseMatrix SparseMatrix::inverse (MatrixType &, + octave_idx_type&, double&, int, int)): Calculate with LU even for + matrices marked as singular. + * CSparse.cc (SparseComplexMatrix SparseComplexMatrix::inverse ( + MatrixType &, octave_idx_type&, double&, int, int)): ditto. + * dMatrix.cc (Matrix Matrix::inverse (MatrixType &, octave_idx_type&, + double&, int, int)): ditto. If rcond==0 force matrix of infinities. + * dMatrix.cc (ComplexMatrix ComplexMatrix::inverse (MatrixType &, + octave_idx_type&, double&, int, int)): ditto. + +2007-08-27 John W. Eaton + + * oct-env.cc (octave_env::rooted_relative_pathname, + octave_env::do_rooted_relative_pathname): New functions. + * oct-env.h: Provide decls. + +2007-08-24 David Bateman + + * MSparse.h (MSparse& insert (const Sparse&, + const Array&)): New method. + (MSparse (const dim_vector&, octave_idx_type)): Ditto. + * dSparse.h (SparseMatrix& SparseMatrix::insert (const + SparseMatrix&, const Array&)): ditto. + (SparseMatrix (const dim_vector&, octave_idx_type)): ditto. + * dSparse.cc (SparseMatrix& SparseMatrix::insert (const + SparseMatrix&, const Array&)): ditto. + * boolSparse.h (SparseBoolMatrix& SparseBoolMatrix::insert (const + SparseBoolMatrix&, const Array&)): ditto. + * boolSparse.cc (SparseBoolMatrix& SparseBoolMatrix::insert (const + SparseBoolMatrix&, const Array&)): ditto. + * CSparse.h (SparseComplexMatrix& SparseComplexMatrix::insert (const + SparseMatrix&, const Array&), + SparseComplexMatrix& SparseComplexMatrix::insert (const + SparseComplexMatrix&, const Array&)): ditto. + (SparseComplexMatrix (const dim_vector&, octave_idx_type)): ditto. + * CSparse.cc (SparseComplexMatrix& SparseComplexMatrix::insert (const + SparseMatrix&, const Array&), + SparseComplexMatrix& SparseComplexMatrix::insert (const + SparseComplexMatrix&, const Array&)): ditto. + +2007-08-19 David Bateman + + * Sparse.cc (Sparse::permute): Avoid shadowing warning. + +2007-08-14 John W. Eaton + + * Sparse.cc (Sparse::permute): permutation vector is zero based. + Simplify. + (Sparse::reshape): Warn about reshaping to N-d array. + +2007-08-10 Michael Goffioul + + * file-stat.cc (file_stat::update_internal) [__WIN32__]: + Remove trailing dir separator when stat'ing directory except for + root directory. + +2007-07-25 David Bateman + + * Makefile.in: Adjust DISTFILES to allow out of tree "make dist" + to work. + +2007-06-04 David Bateman + + * oct-inttypes.h (octave_int& operator <<= (const T2&), + octave_int& operator >>= (const T2&)): Make shift operators + perform a twos complement arithmetic shift for both signed and + unsigned integers regardless of compiler implementations. + +2007-06-13 Michael Goffioul + + * SparseCmplxQR.cc (OCTAVE_C99_ZERO): For CXSparse 2.2 and greater + use cs_complex_t(0,0) for the complex zero. + + * MArray-ch.cc, MArray-d.cc, MArray-i.cc, MArray-s.cc: + Sprinkle class instantiations with OCTAVE_API as needed. + + * Array.h (INSTANTIATE_ARRAY_ASSIGN, INSTANTIATE_ARRAY, + INSTANTIATE_ARRAY_AND_ASSIGN): New arg, API. Change all uses. + * MArray-defs.h (MARRAY_OP_ASSIGN_DECL, MARRAY_OP_ASSIGN_DECLS, + MARRAY_OP_ASSIGN_FWD_DECLS, MARRAY_OP_ASSIGN_FRIENDS, + MARRAY_OP_ASSIGN_DEFS, MARRAY_UNOP, MARRAY_UNOP_DECLS, + MARRAY_UNOP_FWD_DECLS, MARRAY_UNOP_FRIENDS, MARRAY_UNOP_DEFS, + MARRAY_BINOP_DECL, MARRAY_BINOP_DECLS, MARRAY_AA_BINOP_DECLS, + MDIAGARRAY2_DAS_BINOP_DECLS, MDIAGARRAY2_SDA_BINOP_DECLS, + MDIAGARRAY2_DADA_BINOP_DECLS, MARRAY_BINOP_FWD_DECLS, + MDIAGARRAY2_BINOP_FWD_DECLS, MARRAY_BINOP_FRIENDS, + MDIAGARRAY2_BINOP_FRIENDS, MARRAY_BINOP_DEFS, + MDIAGARRAY2_BINOP_DEFS, MARRAY_OPS_FORWARD_DECLS, + MDIAGARRAY2_OPS_FORWARD_DECLS, MARRAY_OPS_FRIEND_DECLS, + MDIAGARRAY2_OPS_FRIEND_DECLS, INSTANTIATE_MARRAY_FRIENDS, + INSTANTIATE_MARRAY2_FRIENDS, INSTANTIATE_MARRAYN_FRIENDS, + INSTANTIATE_MDIAGARRAY2_FRIENDS): Ditto. + * MSparse-defs.h (SPARSE_OP_ASSIGN_DECL, SPARSE_OP_ASSIGN_DECLS, + SPARSE_OP_ASSIGN_FWD_DECLS, SPARSE_OP_ASSIGN_FRIENDS, + SPARSE_OP_ASSIGN_DEFS, SPARSE_UNOP, SPARSE_UNOP_DECLS, + SPARSE_UNOP_FWD_DECLS, SPARSE_UNOP_FRIENDS, SPARSE_UNOP_DEFS, + SPARSE_BINOP_DECL, SPARSE_BINOP_DECLS, SPARSE_AA_BINOP_DECLS, + SPARSE_BINOP_FWD_DECLS, SPARSE_BINOP_FRIENDS, SPARSE_BINOP_DEFS, + SPARSE_OPS_FORWARD_DECLS, SPARSE_OPS_FRIEND_DECLS, + INSTANTIATE_SPARSE_FRIENDS): Ditto. + * Sparse-op-defs.h (SPARSE_BIN_OP_DECL, SPARSE_CMP_OP_DECL, + SPARSE_BOOL_OP_DECL, SPARSE_SMS_BIN_OP_DECLS, + SPARSE_SMS_CMP_OP_DECLS, SPARSE_SMS_EQNE_OP_DECLS, + SPARSE_SMS_BOOL_OP_DECLS, SPARSE_SSM_BIN_OP_DECLS, + SPARSE_SMS_OP_DECLS, SPARSE_SSM_BIN_OP_DECLS, + SPARSE_SSM_CMP_OP_DECLS, SPARSE_SSM_EQNE_OP_DECLS, + SPARSE_SSM_BOOL_OP_DECLS, SPARSE_SSM_OP_DECLS, + SPARSE_SMSM_BIN_OP_DECLS, SPARSE_SMSM_CMP_OP_DECLS, + SPARSE_SMSM_EQNE_OP_DECLS, SPARSE_SMSM_BOOL_OP_DECLS, + SPARSE_SMSM_OP_DECLS, SPARSE_MSM_BIN_OP_DECLS, + SPARSE_MSM_CMP_OP_DECLS, SPARSE_MSM_EQNE_OP_DECLS, + SPARSE_MSM_BOOL_OP_DECLS, SPARSE_MSM_OP_DECLS, + SPARSE_SMM_BIN_OP_DECLS, SPARSE_SMM_CMP_OP_DECLS, + SPARSE_SMM_EQNE_OP_DECLS, SPARSE_SMM_BOOL_OP_DECLS, + SPARSE_SMM_OP_DECLS): Ditto. + * Sparse.h (INSTANTIATE_SPARSE_ASSIGN, INSTANTIATE_SPARSE, + INSTANTIATE_SPARSE_AND_ASSIGN): Ditto. + * mx-op-defs.h (BIN_OP_DECL, CMP_OP_DECL, NDCMP_OP_DECL, + BOOL_OP_DECL, NDBOOL_OP_DECL, VS_BIN_OP_DECLS, VS_OP_DECLS, + SV_BIN_OP_DECLS, SV_OP_DECLS, VV_BIN_OP_DECLS, VV_OP_DECLS, + MS_BIN_OP_DECLS, MS_CMP_OP_DECLS, MS_BOOL_OP_DECLS, MS_OP_DECLS, + SM_BIN_OP_DECLS, SM_CMP_OP_DECLS, SM_BOOL_OP_DECLS, SM_OP_DECLS, + MM_BIN_OP_DECLS, MM_CMP_OP_DECLS, MM_BOOL_OP_DECLS, MM_OP_DECLS, + NDS_BIN_OP_DECLS, NDS_CMP_OP_DECLS, NDS_BOOL_OP_DECLS, + NDS_OP_DECLS, SND_BIN_OP_DECLS, SND_CMP_OP_DECLS, + SND_BOOL_OP_DECLS, SND_OP_DECLS, NDND_BIN_OP_DECLS, + NDND_CMP_OP_DECLS, NDND_BOOL_OP_DECLS, NDND_OP_DECLS, + SDM_BIN_OP_DECLS, SDM_OP_DECLS, DMS_BIN_OP_DECLS, DMS_OP_DECLS, + MDM_BIN_OP_DECLS, MDM_OP_DECLS, DMM_BIN_OP_DECLS, DMM_OP_DECLS, + DMDM_BIN_OP_DECLS, DMDM_OP_DECLS): Ditto. + +2007-06-12 John W. Eaton + + * dMatrix.cc (Matrix::expm): Special case for scalar arg. + * CMatrix.cc (ComplexMatrix::expm): Likewise. + +2007-06-06 Michael Goffioul + + * file-ops.cc (tilde_find_suffix, isolate_tilde_prefix, + tilde_expand_word): Use file_ops::is_dir_sep instead of comparing + with file_ops::dir_sep_char. + + * MArray-C.cc: Sprinkle with OCTINTERP_API as needed. + +2007-06-04 David Bateman + + * file-ops.cc: Typo. + + * Sparse.cc (Sparse Sparse::reshape): If length of new + dimensions is greater than 2, collapse to 2-D. + +2007-06-02 David Bateman + + * SparseCmplxQR.cc: Changes to support CXSparse 2.2.0. + +2007-05-31 John W. Eaton + + * Array.cc (Array::get_size): Throw std::bad_alloc exception if + the computed size is too large for the size of Octave's index type. + +2007-05-23 John W. Eaton + + * oct-sparse.h: Don't surround included files with extern "C" { ... }. + +2007-05-16 David Bateman + + * dRowVector.cc (linspace): Return second argument if fewer than + two values are requested. + * CRowVector.cc (linspace): Likewise. + +2007-04-27 John W. Eaton + + * lo-mappers.cc (signum (const Complex&)): Special case for (0, 0). + +2007-04-25 John W. Eaton + + * oct-fftw.h (octave_fftw): Tag with OCTAVE_API. + +2007-04-20 John W. Eaton + + * Array.cc (assign1): For x(:) = RHS, require rhs_len == lhs_len, + not rhs_len == 1. + +2007-04-18 Michael Goffioul + + * oct-md5.h (oct_md5, oct_md5_file): Tag decls with OCTAVE_API. + +2007-04-13 John W. Eaton + + * Array.cc (Array::maybe_delete_elements_2): Don't return early + for empty matrix. Only check for colon index equivalence if not empty. + +2007-04-10 John W. Eaton + + * SparseCmplxQR.cc + (SparseComplexQR::SparseComplexQR_rep::SparseComplexQR_rep): + Move GCC_ATTR_UNUSED before the parameter decl. + From Luis Ortiz . + +2007-04-06 John W. Eaton + + * MArray-defs.h (MARRAY_NORM_BODY): New macro. + * MArray.h (MArray::norm): New function. + * MArray.cc: Provide decl. + * MArray-d.cc (MArray::norm): Define double specialization. + * MArray-C.cc (MArray::norm): Define Complex specialization. + +2007-04-04 John W. Eaton + + * Range.cc (Range::nelem_internal): Likewise. + * lo-utils.cc (NINT): Use numeric_limits instead of INT_MAX. + (NINTbig): Use numeric_limits instead of INT_MAX. + From Scott Pakin . + +2007-04-04 David Bateman + + * dMatrix.cc (Matrix::inverse): If calc_cond is true, calculate + the condition number for positive definite matrices. + * CMatrix.cc (ComplexMatrix::inverse): Ditto. + * dbleChol.h (CHOL(const Matrix&, bool)): New arg, calc_cond. + (CHOL(const Matrix&, octave_idx_type&, bool): Ditto. + (octave_idx_type init (const Matrix&, bool)): Ditto. + (CHOL(const CHOL&)): Copy xrcond. + (CHOL& operator = (const CHOL&)): Copy xrcond. + (xrcond): New private data member. + * CmplxCHOL.h (ComplexCHOL(const ComplexMatrix&, bool)): New arg, + calc_cond. + (ComplexCHOL(const ComplexMatrix&, octave_idx_type&, bool): Ditto + (octave_idx_type init (const ComplexMatrix&, bool)): Ditto. + (ComplexCHOL(const ComplexCHOL&)): Copy xrcond. + (ComplexCHOL& operator = (const ComplexCHOL&)): Copy xrcond. + (xrcond): New private data member. + * dbleCHOL.cc (CHOL::init(const Matrix&, bool)): If calc_cond is + true, calculate the condition number with dpocon. + * CmplxCHOL.cc (ComplexCHOL::init(const ComplexMatrix&, bool)): If + calc_cond is true, calculate the condition number with zpocon. + +2007-04-03 John W. Eaton + + * intNDArray.cc (intNDArray): Delete spurious semicolon. + + * CMatrix.cc (ComplexMatrix::tinverse): Use Array and + fortran_vec method instead of OCTAVE_LOCAL_BUFFER to avoid + "maybe clobbered by vfork" warning. + + * Sparse-op-defs.h (SPARSE_CUMSUM): Add braces to avoid ambiguous + if/else. + + * oct-spparms.h (octave_sparse_params): Define copy constructor + and destructor. + + * Array.cc (assignN): Don't resize dimension if corresponding + index is empty. + +2007-04-02 John W. Eaton + + * dMatrix.h (Matrix::inverse): Reinstate versions without + MatrixType argument. + * CMatrix.h (ComplexMatrix::inverse): Likewise. + +2007-03-27 John W. Eaton + + * Makefile.in (DISTDIRS): Delete variable. + (dist): Delete action for DISTDIRS. Use ln instead of $(LN_S). + +2007-03-26 David Bateman + + * MatrixType.cc: Replace all uses of the method + octave_sparse_params::get_key ("bandden") with + octave_sparse_params::get_bandden (void). + (MatrixType::MatrixType (void)): Undo previous change but use + octave_sparse_params::get_bandden (void). + * oct-spparms.cc (get_bandden(void), do_get_bandden(void)): New + methods. + * oct-spparms.h (get_bandden(void), do_get_bandden(void)): + Declare them. + +2007-03-26 Luis Ortiz + David Bateman + + * idx-vector.h.cc (IDX_VEC_REP::idx_vector_rep (const Range&)): + Check that all elements are ints before doing anything. Simplify + calculation of index values. + +2007-03-26 David Bateman + + * Range.cc (Range::all_elements_are_ints): Improve check. + +2007-03-26 John W. Eaton + + * chNDArray.cc, chMatrix.cc: Also generate comparison and bool ops. + * chNDArray.h, chMatrix.h: Provide decls. + +2007-03-24 Luis Ortiz + + * MatrixType.cc (MatrixType::MatrixType (void)): Initialize + sp_bandden to zero for performance reasons as it's not used. + +2007-03-23 David Bateman + + * oct-rand.cc (octave_rand::seed): Seed differently for big and + little endian. + +2007-03-15 John W. Eaton + + * lo-mappers.cc (acos): Use formula similar to what we use for asin. + From Alexander Barth . + +2007-03-12 John W. Eaton + + * oct-inttypes.h (octave_int::octave_int (double)): + New Specialization. Round arg. + (operator / (const octave_int&, const octave_int&)): + Round result before converting type. + +2007-03-07 John W. Eaton + + * Array.cc (assign1): Avoid resizing if there is an error. + + * dMatrix.cc, CMatrix.cc (operator *): Only check + f77_exception_encountered immediately after calls that use F77_XFCN. + + * Array.cc (assign1 (Array&, const Array&, const LT&)): + Only allow resizing empty LHS if it is 0x0. + + * Array.cc (Array::maybe_delete_elements (Array&, + const T&)): Handle case of more indices than dimensions. + (assign (Array&, const Array&, const LT&)): Allow more + cases to be handled by assignN. + (assignN (Array&, const Array&, const LT&)): + Special cases for 2-d array assignments for speed. + Improve handling of scalar RHS and empty indices. + +2007-03-05 David Bateman + + * oct-md5.c (oct_md5_file (const std::string&)): New function. + * oct-md5.h (oct_md5_file (const std::string&)): Declare it. + +2007-03-02 John W. Eaton + + * str-vec.h (string_vector::empty): Return bool, not int. + +2007-03-01 David Bateman + + * md5.h, md5.c: New files from libmd5-rfc sourceforge project for + an independent implementation of RFC1321. + * oct-md5.h, oct-md5: New files for treating std::string class + with MD5. + * Makefile.in (INCLUDES): Add md5.h and oct-md5.h + (LIBOCTAVE_CXX_SOURCES): Add oct-md5.cc + (LIBOCTAVE_C_SOURCES): Add md5.c + +2007-02-27 John W. Eaton + + * Makefile.in (uninstall): Delete files listed in + $(INCLUDES_FOR_INSTALL), instead of $(INCLUDES). + From Thomas Treichl . + +2007-02-27 Michael Goffioul + + * file-ops.cc (file_ops::recursive_rmdir): + Close dir_entry object before calling rmdir. + +2007-02-26 Michael Goffioul + + * Makefile.in: Use $(LN_S) instead of ln or ln -s. + + * sparse-util.h (SparseCholPrint, SparseCholError): + Tag with OCTAVE_API. + +2007-02-18 David Bateman + + * oct-rand.cc (do_old_initialization()): call setcgn(1) prior to + calling setall and reset to the current generator after. + +2007-02-16 John W. Eaton + + * oct-shlib.h (octave_shlib::relative): New data member. + (octave_shlib::mark_relative, octave_shlib::is_relative): + New functions. + +2007-02-16 Michael Goffioul + + * lo-sysdep.cc (octave_popen2): New function to simulate popen2 on + windows platform. + * lo-sysdep.h (octave_popen2): Declare it. + * oct-syscalls.cc (octave_syscalls::popen2): New function. + * oct-syscalls.h (octave_syscalls::popen2): Declare it. + +2007-02-14 John W. Eaton + + * kpse.cc (expand_elt): Omit special treatment for //. + +2007-02-06 John W. Eaton + + * file-ops.cc (file_ops::canonicalize_file_name) [HAVE_REALPATH]: + Don't delete value returned from realpath. + +2007-02-05 Thomas Treichl + + * file-ops.cc (file_ops::canonicalize_file_name): + Provide implementation if realpath function is available. + +2007-01-29 Michael Goffioul + + * oct-fftw.h: Sprinkle with OCTAVE_API as needed. + +2007-01-17 Michael Goffioul + + * lo-sysdep.cc (octave_chdir): Handle directory names like "C:" on + Windows systems. + +2007-01-16 John W. Eaton + + * dSparse.cc: Fix dgbtrf decl for --enable-64. + (SparseMatrix::bsolve): Fix call to dgbtrf for --enable-64 + + * oct-fftw.h (fftw_planner): Provide decl. + +2007-01-11 Michael Goffioul + + * Makefile.in (LINK_DEPS): Include $(CAMD_LIBS) in the list. + +2007-01-10 John W. Eaton + + * oct-sparse.h: Use HAVE_CHOLMOD_CHOLMOD_H, not + HAVE_UMFPACK_CHOLMOD_H for case of "cholmod/cholmod.h". + +2007-01-08 David Bateman + + * oct-sparse.h: Replace sparsesuite with suitesparse and + SPARSESUITE with SUITESPARSE to match upstream name. + +2007-01-05 David Bateman + + * oct-fftw.cc: (octave_fftw_planner::method (void), + octave_fftw_planner (FftwMethod)): New methods to interrogate and + set the FFTW wisdom method used. + (octave_fftw_planner::create_plan) Modify to allow different + methods to be used. + (octave_fftw_planner): Move class definition from here. + * oct-fftw.h (octave_fftw_planner): To here. Add method methods + and FftwMethod enum. + +2007-01-03 David Bateman + + * MSparse.cc (SPARSE_A2A2_OP, SPARSE_A2A2_FCN_1, + SPARSE_A2A2_FCN_1): Modify macros so that scalars stored as + sparse matrices are special cased. + + * Sparse-op-defs.h: Include mx-ops.h to have access to mixed + matrix, sparse matrix operations. + (SPARSE_SMSM_BIN_OP_1, SPARSE_SMSM_BIN_OP_2, SPARSE_SMSM_BIN_OP_3, + SPARSE_SMSM_CMP_OP, SPARSE_SMSM_BOOL_OP, SPARSE_MSM_BIN_OP_1, + SPARSE_MSM_BIN_OP_2, SPARSE_MSM_CMP_OP, SPARSE_MSM_BOOL_OP, + SPARSE_SMM_BIN_OP_1, SPARSE_SMM_BIN_OP_2, SPARSE_SMM_CMP_OP, + SPARSE_SMM_BOOL_OP, SPARSE_SPARSE_MUL, SPARSE_FULL_MUL, + FULL_SPARSE_MUL): Modify macros so that scalars stored as + sparse matrices are special cased. + +2006-12-22 David Bateman + + * boolSparse.cc (SparseBoolMatrix::operator !): Fix off-by-one error. + +2006-12-22 John W. Eaton + + * dim-vector.h (dim_vector::dim_vector): Always start with at + least 2 dimensions. + (dim_vector::resize): Don't allow resizing to fewer than 2 dimensions. + +2006-12-06 Michael Goffioul + + * lo-sysdep.cc (opendir): Avoid passing \\* to FindFirstFile. + + * file-ops.cc (ops::canonicalize_file_name): Provide partial + implementation for Windows. + +2006-12-06 David Bateman + + * dSparse.cc (SparseMatrix::is_symmetric): Faster implementation. + * CSparse.cc (SparseComplexMatrix::is_symmetric): Ditto. + + * dMatrrix.cc (finverse): Old inverse method renamed inverse. + (tinverse): New method for triangular matrices. + (inverse): New function with matrix type probing. + * dMatrix.h (finverse, tinverse, inverse): New and modified + declarations. + * CMatrix.cc: Ditto. + * CMatrix.h: Ditto. + +2006-12-06 John W. Eaton + + * strptime.c (day_of_the_week): Use code from current glibc sources. + +2006-12-05 John W. Eaton + + * lo-utils.cc (octave_read_double): If we see '+' or '-' but not + followed by 'I' or 'i', try reading number after putting + characters back on input stream. + +2006-12-05 Paul Kienzle + + * randpoisson.c (oct_fill_randp): For lambda > 1e8, upper limit of + loop is n, not L. + +2006-11-30 John W. Eaton + + * lo-utils.cc (octave_read_double, read_inf_nan_na): + Also recognize [+-][Ii]nf. + +2006-11-28 David Bateman + + * oct-sparse.h: Allow sparse headers to also be in a sparsesuite + sub-directory. + + * dSparse.cc (SparseMatrix::inverse): Transpose the matrix type as + well when calling tinverse for lower triangular matrices. + * CSparse.cc (SparseComplexMatrix::inverse): + Ditto. + +2006-11-21 John W. Eaton + + * oct-env.cc (do_absolute_pathname): Undo previous change. + +2006-11-20 John W. Eaton + + * oct-env.cc (octave_env::do_absolute_pathname): Also return true + for ".", and names beginning with "./" or "../". + +2006-11-14 Luis F. Ortiz + + * CMatrix.cc, dMatrix.cc: New tests. + +2006-11-13 Michael Goffioul + + * Array-d.cc, dDiagMatrix.h: Sprinkle with OCTAVE_API as needed. + +2006-11-11 John W. Eaton + + * Makefile.in ($(OPTS_INC), mx-ops.h): + Use $(simple-move-if-change-rule) here. + +2006-11-09 David Bateman + + * sparse-base-chol.cc (sparse_base_chol_rep::Q): Cast perms(i) to + octave_idx_type, not int. + +2006-11-08 John W. Eaton + + * dir-ops.cc (dir_entry::read): Avoid rewinddir. + +2006-11-06 John W. Eaton + + * Array.cc (assignN): Exit early if invalid indices are found. + +2006-11-03 Michael Goffioul + + * strftime.c [HAVE_TZNAME]: Tag tzname with OCTAVE_IMPORT. + +2006-11-03 John W. Eaton + + * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. + (DLL_CDEFS): Rename from XTRA_CDEFS. + Substitute OCTAVE_DLL_DEFS, not XTRA_OCTAVE_DEFS. + +2006-10-28 Michael Goffioul + + * oct-shlib.cc: Undefine min and max after including windows.h. + * oct-syscalls.cc (syscalls::pipe (int *)): Avoid infinite recursion. + * lo-sysdep.h: Move opendir, readdir, etc. decls here from + lo-sysdep.cc. + +2006-10-27 John W. Eaton + + * oct-time.cc [! HAVE_STRFTIME]: Declare strftime. + +2006-10-26 Michael Goffioul + + * mx-op-defs.h (NDS_CMP_OP1, NDS_CMP_OPS1, NDS_CMP_OP2, + NDS_CMP_OPS2): New macros. + +2006-10-26 John W. Eaton + + * mx-ops (core-type): New field for integer types. + * mk-ops.awk: Handle core-type for integer comparison ops. + + * lo-cutils.c (octave_strcasecmp, octave-strncasecmp): + Move here from src/cutils.c. + * lo-utils.h: Provide decls. + * strcasecmp.c: Move here from src/strcasecmp.c. + * strncase.c: Move here from src/strncase.c. + * Makefile.in (LIBOCTAVE_C_SOURCES): Add them to the list. + +2006-10-26 Michael Goffioul + + * kpse.cc [! MSVC]: Don't include win32lib.h. + + * Array-C.cc, Array-b.cc, Array-ch.cc, Array-i.cc, Array-util.h, + Array.h, CColVector.h, CMatrix.h, CNDArray.h, CRowVector.h, + CSparse.h, CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, CmplxHESS.h, + CmplxLU.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, CmplxSVD.h, + CollocWt.h, DAE.h, DASPK.h, DASRT.h, DASSL.h, EIG.h, LSODE.h, + MArray-C.cc, MArray-defs.h, MSparse-C.cc, MSparse-d.cc, + MSparse-defs.h, MatrixType.h, NLEqn.h, Quad.h, Range.h, + Sparse-op-defs.h, Sparse.h, SparseCmplxCHOL.h, SparseCmplxLU.h, + SparseCmplxQR.h, SparseQR.h, SparsedbleCHOL.h, SparsedbleLU.h, + boolMatrix.h, boolNDArray.h, boolSparse.h, chMatrix.h, + chNDArray.h, cmd-edit.h, cmd-hist.h, dColVector.h, dDiagMatrix.h, + dMatrix.h, dNDArray.h, dRowVector.h, dSparse.h, data-conv.h, + dbleAEPBAL.h, dbleCHOL.h, dbleDET.h, dbleHESS.h, dbleLU.h, + dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, dir-ops.h, + file-ops.h, file-stat.h, glob-match.h, idx-vector.h, + int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, + lo-cutils.c, lo-ieee.h, lo-mappers.h, lo-specfun.h, lo-utils.h, + mach-info.h, mx-op-defs.h, oct-alloc.h, oct-env.h, oct-group.h, + oct-inttypes.cc, oct-inttypes.h, oct-passwd.h, oct-rand.h, + oct-shlib.h, oct-spparms.h, oct-syscalls.h, oct-time.h, + oct-uname.h, pathsearch.h, prog-args.h, so-array.h, str-vec.h, + uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc, + uint8NDArray.cc: Sprinkle with OCTAVE_API as needed. + +2006-10-26 John W. Eaton + + * oct-inttypes.cc (INSTANTIATE_INTTYPE_BIN_OP): Provide explicit + type qualification for OP. + +2006-10-26 David Bateman + + * Sparse.cc (Sparse::resize_no_fill (octave_idx_type, + octave_idx_type)): Be more careful with the size of the input + matrix, and therefore don't create or read non existent data. + +2006-10-25 John W. Eaton + + * Sparse.cc (assign): Clear lhs index after error. + +2006-10-25 David Bateman + + * Sparse.cc (assign (Sparse&, const Sparse&)): + Fix previous patch so it works. + +2006-10-25 Michael Goffioul + + * glob-match.h (glob_match::glob_match (const std::string&, + unsigned int)): Delete initializer for first arg. + + * lo-sysdep.cc (opendir, readdir, rewinddir, closedir): + New functions. + + * Makefile.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. + + * oct-env.cc (octave_env::do_get_home_directory) [_MSC_VER]: Use + same code as __MINGW32__. + * syswait.h [_MSC_VER]: Define HAVE_WAITPID, WAITPID, and WNOHANG + the same as for __MINGW32__. + + * randpoisson.c: Undefine INFINITE before redefining. + +2006-10-24 David Bateman + + * Sparse.cc (assign (Sparse&, const Sparse&)): Resize the + lhs at the point we know the assignment can succeed if the lhs is + empty. + +2006-10-23 John W. Eaton + + * Array.cc (assign2): Don't require vector assignments to be oriented. + +2006-10-17 John W. Eaton + + * lo-cieee.c: If isnan is not available but _isnan is, then define + isnan to be _isnan, and define HAVE_ISNAN. Likewise for _finite + and _copysign. + +2006-10-17 Michael Goffioul + + * oct-syscalls.cc (syscalls::waitpid): Always declare and define retval. + + * CMatrix.cc (ComplexMatrix::solve): Avoid infinite recursion. + * CSparse.cc (SparseComplexMatrix::insert): Likewise. + + * oct-types.h.in: Include limits.h, for CHAR_BIT. + +2006-10-13 Michael Goffioul + + * Makefile.in: Adapt rules to use $(LIBPRE). + +2006-10-03 David Bateman + + * MatrixType.cc (MatrixType::MatrixType): Avoid crash if np == 0 + or p == 0. + +2006-10-02 John W. Eaton + + * dbleDET.cc (DET::initialize2): Ensure arg to log10 is double. + * CmplxDET.cc (ComplexDET::initialize2): Likewise. + +2006-09-22 David Bateman + + * MatrixType.h (MatrixType::MatrixType(const SparseComplexMatrix&)): + Remove spurious warning. + +2006-09-15 John W. Eaton + + * Array.cc (Array::index (Array&, int, const T&) const): + Handle resizing. + + * intNDArray.h (intNDArray:elt_type): New typedef. + +2006-09-11 John W. Eaton + + * dMatrix.cc (operator * (const Matrix&, const Matrix&))): + Handle M*v and rv*cv special cases. + * CMatrix.cc (operator * (const ComplexMatrix&, const + ComplexMatrix&))): Likewise. + From Luis F. Ortiz . + + * dRowVector.cc (operator * (const RowVector&, const + ColumnVector&)): Call xddot here instead of using a Fortran + function directly. + * CRowVector.cc (operator * (const ComplexRowVector&, const + ComplexColumnVector&)): Call xzdotu here. + +2006-09-05 John W. Eaton + + * chNDArray.cc (charNDArray::any, charNDArray::all): Compare + elements to '\0', not ' '. + +2006-08-25 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Special case for 0x0 arrays. + +2006-08-23 John W. Eaton + + * dMatrix.cc, dMatrix.h (Matrix::save_ascii): Delete function and decl. + * CMatrix.cc, CMatrix.h (ComplexMatrix::save_ascii): Likewise. + +2006-08-22 John W. Eaton + + * CMatrix.cc (ComplexMatrix::save_ascii): New function. + * dMatrix.cc (Matrix::save_ascii): New function. + + * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Correctly detect empty arrays. + If array is empty, return value is same size as array. + (MX_ND_REDUCTION): Correctly detect empty arrays. + If array is empty, produce correctly sized return value. + +2006-08-18 John W. Eaton + + * dMatrix.cc (Matrix::any_element_not_one_or_zero): New function. + * dMatrix.h: Provide decl. + * dNDArray.cc (NDArray::any_element_not_one_or_zero): New function. + * dNDArray.h: Provide decl. + * intNDArray.cc (intNDArray::any_element_not_one_or_zero): + New function. + * intNDArray.h: Provide decl. + + * Array.cc (Array::permute): Only rearrange values if array is + not empty. + +2006-07-26 John W. Eaton + + * dbleDET.cc (DET::initialize10, DET::value_will_underflow, + DET::value_will_overflow): Use xlog2 instead of log2. + (DET::initialize2, DET::initialize10): Use xround instead of round. + (DET::initialize2, DET::value): Use xexp2 instead of exp2. + * CmplxDET.cc (ComplexDET::initialize10, + ComplexDET::value_will_underflow, + ComplexDET::value_will_overflow): Use xlog2 instead of log2. + (ComplexDET::initialize2, ComplexDET::initialize10): + Use xround instead of round. + (ComplexDET::initialize2, ComplexDET::value): + Use xexp2 instead of exp2. + + * lo-mappers.cc (M_LOG10E): Delete unused macro. + (xlog2, xexp2): New functions. + * lo-mappers.h: Provide decls. + +2006-07-22 John W. Eaton + + * Sparse.h (Sparse::mex_get_data, Sparse::mex_get_ir, + Sparse::mex_get_jc): New functions. + +2006-07-21 John W. Eaton + + * oct-inttypes.h (octave_int::mex_get_data): New function. + * Array.h (Array::mex_get_data): New function. + +2006-07-19 John W. Eaton + + * oct-inttypes.h (octave_int::operator bool (void)): New function. + +2006-07-16 John W. Eaton + + * oct-spparms.h, oct-spparms.cc (class octave_sparse_params): + Rename from SparseParams. Use same implementation method as other + singleton classes in Octave. Change all uses of + Voctave_sparse_controls to use static functions from + octave_sparse_params class instead. + + * oct-spparms.h, oct-spparms.cc (SparseParams::set_key, + SparseParams::get_key): Pass std::string arg by const reference, + not const value. + +2006-07-15 John W. Eaton + + * data-conv.cc: Instantiante swap_bytes templates here. + + * MatrixType.cc (MatrixType::MatrixType): + Use complete initializer lists in constructors. + +2006-07-06 John W. Eaton + + * str-vec.cc (string_vector::string_vector (std::list&)): + New constructor. + * str-vec.h: Provide decl. + +2006-07-01 David Bateman + + * dSparse.cc (tinverse): Check for rows with no elements and zero + elements on the diagonal. Allow both Upper and Lower triangular + matrices to be treated. + * CSparse.cc (tinverse): ditto. + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Take into account 64-bit + constant assignment. + +2006-06-30 John W. Eaton + + * lo-sysdep.cc (octave_chdir): Perform tilde expansion here. + * cmd-edit.cc (editor::read_init_file): Ditto. + * dir-ops.cc (dir_entry::open): Ditto. + * file-stat.cc (stat::update_internal): Ditto. + * cmd-hist.cc (command_history::set_file): Ditto. + + * data-conv.cc (data_conv::string_to_data_type): + Correctly handle leading "*". + +2006-06-29 Atsushi Kajita + + * Sparse.cc (Sparse::SparseRep::elem): Avoid out of bounds + array access. + +2006-06-27 John W. Eaton + + * Makefile.in: Finish renaming of OBJECTS -> LIBOCTAVE_OBJECTS. + +2006-06-21 John W. Eaton + + * oct-shlib.cc (octave_dlopen_shlib::close, + octave_shl_load_shlib::close, octave_w32_shlib::close): + Skip do_close_hook if cl_hook is 0. + +2006-06-16 John W. Eaton + + * oct-sort.h: Don't include config.h, lo-mappers.h, or quit.h. + * randmtzig.h: Don't inlcude config.h. + +2006-05-31 David Bateman + + * Array.cc (assignN): Maybe reshape LHS before doing assignment. + +2006-05-23 John W. Eaton + + * oct-types.h.in: Include stdint.h or inttypes.h for integer + typedefs, or define them if those files are not available. + * oct-inttypes.h (octave_int8_t, octave_int16_t, octave_int32_t, + octave_int64_t, octave_uint8_t, octave_uint16_t, octave_uint32_t, + octave_uint64_t): Delete typedefs. Replace all uses of these + types with int8_t, int16_t, etc. + * data-conv.h (TWO_BYTE_INT, FOUR_BYTE_INT, EIGHT_BYTE_INT): + Delete definitions. Replace all uses of these macros with int8_t, + int16_t, etc. + * randmtzig.h: Delete integer typedefs. + +2006-05-18 John W. Eaton + + * EIG.cc (EIG::init): Trap Inf and NaN values here. + From Keith Goodman . + +2006-05-08 David Bateman + + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): fix bug in previous + modification. + +2006-05-09 David Bateman + + * sparse-dmsolve.cc: Remove reference to ov-re-sparse.h, + ov-cx-sparse. and error_state. + * SparseQR.cc, SparseCmplxQR.cc (qrsolve): Return info = -1 on error. + +2006-05-08 David Bateman + + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Set column pointers in + first pass and use to determine which algorithm to use on a + column-by-column basis. + +2006-05-04 David Bateman + + * SparseQR.cc, SparseQR.h, SparseCmplxQR.cc, SparseCmplxQR.h, + sparse-dmsolve.cc : Allow compilation with versions v2.0.0 of + CXSparse or later + +2006-05-03 David Bateman + + * CMatrix.cc (zpotrf, zpocon, zpotrs, ztrcon, ztrtrs): + External declaration of lapack triangular and Cholesky codes. + (ComplexMatrix::utsolve, ComplexMatrix::ltsolve, + ComplexMatrix::fsolve): New private solver codes for + upper, lower and LU/Cholesky solvers. + (ComplexMatrix::solve): New versions for cached matrix + type. Adapt old versions to call new versions + * CMatrix.h (utsolve, ltsolve, fsolve): Declaration of + new solvers. + (solve): New versions for cached matrix type. + * dMatrix.cc (dpotrf, dpocon, dpotrs, dtrcon, dtrtrs): + External declaration of lapack triangular and Cholesky codes. + (Matrix::utsolve, Matrix::ltsolve, + Matrix::fsolve): New private solver codes for + upper, lower and LU/Cholesky solvers. + (Matrix::solve): New versions for cached matrix + type. Adapt old versions to call new versions + * dMatrix.h (utsolve, ltsolve, fsolve): Declaration of + new solvers. + (solve): New versions for cached matrix type. + * CSparse.cc: Replace all uses of SparseType with MatrixType. + * CSparse.h: ditto. + * dSparse.cc: ditto. + * dSparse.h: ditto. + * SparseCmplxCHOL.cc: ditto. + * SparsedbleCHOL.cc: ditto. + * sparse-dmsolve.cc: ditto. + * SparseType.cc, SparseType.h: delete. + * MatrixType.cc: New file for class to cache matrix type, based on + old SparseType class but caching matrix and sparse types. + * MatrixType.h: ditto. + * Makefile.in (MATRIX_INC, MATRIX_SRC): Add MatrixType.h and + MatrixType.cc respectively. Delete SparseType.h and SparseType.cc + respectively. + * mx-base.h: Include MatrixTye.h as header file. + +2006-05-01 John W. Eaton + + * oct-shlib.h (octave_shlib::octave_shlib, octave_shlib::open): + Delete WARN_FUTURE arg. Change all uses. + * oct-shlib.cc (octave_base_shlib::stamp_time): Delete arg. + Change all uses. Use current_liboctave_warning_with_id_handler. + (octave_base_shlib::open): Delete arg. Change all derived classes + and uses. + +2006-04-29 John W. Eaton + + * Array-flags.cc, Array-flags.h: Delete. + * Makefile.in (MATRIX_SRC): Remove Array-flags.cc from the list. + (MATRIX_INC): Remove Array-flags.h from the list. + + * idx-vector.cc (IDX_VEC_REP::freeze): Delete warn_resize arg. + Use current_liboctave_warning_with_id_handler + with warning ID Octave:resize-on-range-error. + * idx-vector.h: Fix decl. + * Array.cc, Sparse.cc: Change all callers. + + * Array.cc (Array::maybe_delete_elements, Array::index2, + assign2, assignN): Use current_liboctave_warning_with_id_handler + with warning ID Octave:fortran-indexing instead of + liboctave_wfi_flag. + * Sparse.cc (assign, Sparse::index): Likewise. + +2006-04-26 John W. Eaton + + * pathsearch.cc (dir_path::path_sep_char, dir_path::path_sep_str): + New static data. + * pathsearch.h: Provide decls. + (dir_path::is_path_sep): New function. + +2006-04-18 John W. Eaton + + * randmtzig.c (randmt, randi53, randi54, randi64, randu32, randu53): + Omit inline from decl. + + * Sparse.cc (Sparse::index): Use std::vector to avoid + local array with variable dimension. + +2006-04-16 John W. Eaton + + * lo-sstream.h: Delete. + * Makefile.in (INCLUDES): Remove it from the list. + + * dim-vector.h (dim_vector::str): Use std::ostringstream directly. + * Sparse.cc (Sparse::range_error): Likewise. + * DASSL.cc (DASSL::error_message): Likewise. + * LSODE.cc (LSODE::error_message): Likewise. + * DASRT.cc (DASRT::error_message): Likewise. + * DASPK.cc (DASPK::error_message): Likewise. + * Array.cc (Array::range_error): Likewise. + + * kpse.cc (kpse_hash): Rename from hash. + (hash_lookup): Call kpse_hash instead of hash. + + * SparseType.cc (SparseType::SparseType): Use std::vector + to avoid local array with variable dimension. + +2006-04-13 David Bateman + + * Sparse.cc (assign (Sparse&, const Sparse&)): + Optimize assignment. + +2006-04-13 John W. Eaton + + * Sparse.cc (assign (Sparse&, const Sparse&)): + Eliminate unnecessary casts. + * SparsedbleLU.cc (SparseLU::SparseLU): Likewise. + + * kpse.cc (fopen): Use reinterpret_cast instead of C-style cast. + (log_search, dir_links): Use static_cast instead of C-style cast. + + * prog-args.cc (args::getopt): Use reinterpret_cast instead of X_CAST. + * oct-alloc.cc (allocator::grow): Likewise. + * CSparse.cc (SparseComplexMatrix::determinant, + SparseComplexMatrix::factorize, SparseComplexMatrix::fsolve): + Likewise. + * SparseCmplxLU.cc (SparseComplexLU::SparseComplexLU): Likewise. + + * oct-sort.cc (roundupsize, octave_sort::merge_getmem): + Use static_cast instead of C-style cast. + * CSparse.cc (SparseComplexMatrix::fsolve): Likewise. + * dSparse.cc (SparseMatrix::fsolve): Likewise. + + * data-conv.cc (LS_DO_WRITE): Use static_cast for value conversion. + Use OCTAVE_LOCAL_BUFFER instead of new/delete. + (LS_DO_READ): Allocate local buffer to avoid pointer tricks. + (write_doubles, read_doubles, LS_DO_WRITE, LS_DO_READ): + Use reinterpret_cast instead of X_CAST. + + * DiagArray2.h (DiagArray2::Proxy::operator&): No need to cast + return value here. + +2006-04-12 Rafael Laboissiere + + * ArrayN.h (ArrayN::ArrayN): Qualify fill with Array base class. + * DiagArray2.h (DiagArray2::DiagArray2): Likewise. + +2006-04-03 David Bateman + + * Sparse.cc (Sparse::resize): Use xcidx rather than cdix, etc + to avoid copy of original matrix. + + * Makefile.in (INCLUDES): Add randgamma.h, randpoisson.h and + randmtzig.h to the list. + (LIBOCTAVE_C_SOURCES): Add randgamma.c, randpoisson.c and + randmtzig.c to the list. + * oct-rand.cc (do_old_initialization): Rename from do_initialization. + (use_old_generators): New variable. + (old_initialized): Rename from initialized. + (new_initialized): New variable. + (oct_init_by_entropy): New function. + (maybe_initialize): Initialize new or old generator depending on + value of use_old_generators. + (octave_rand::state): New functions. + (octave_rand::distribution): Add gamma, exponential and poisson + distributions. + (octave_rand::exponential_distribution, + octave_rand::poisson_distribution, + octave_rand::gamma_distribution): New methods to select + exponential, poisson or gamma distribution. + (octave_rand::scalar, octave_rand::matrix, octave_rand::nd_array, + octave_rand::vector): Add new distributions. + * oct-rand.h: Provide decls for new functions. + (octave_rand::matrix, octave_rand::scalar, octave_rand:: + (octave_rand::scalar, octave_rand::matrix, octave_rand::nd_array, + octave_rand::vector): New arg A, for gamma and poisson distributions. + * randpoisson.c, randpoisson.h, randgamma.c, randmtzig.c, + randmtzig.h: New files. + +2006-03-24 John W. Eaton + + * dSparse.cc (SparseMatrix::bsolve): Integer work vector is + Array, so fortran_vec returns pointer to + octave_idx_type, not pointer to int. + + * CMatrix.cc, CMatrix.h (ComplexMatrix::row (char*), + ComplexMatrix::column (char*)): Delete. + * dMatrix.cc, dMatrix.h (Matrix::row (char*), + Matrix::column (char*)): Delete. + +2006-03-21 David Bateman + + * SparseQR.h: Publish externally used friends. + * SparseCmplxQR.h: ditto. + +2006-03-21 John W. Eaton + + * lo-specfun.cc (betainc): Use F77_XFCN instead of F77_FUNC for + call to xdbetai. + +2006-03-21 David Bateman + + * lo-specfun.cc (xlgamma, xgamma): Trap special values. + (xlgamma): Use F77_XFCN instead of F77_FUNC for call to dlgams. + + * dSparse.cc (solve): Add argument singular_fallback, to allow + fallback to QR solvers to be optional. + * CSparse.cc (solve): Ditto. + * dSparse.h (solve): update declaration for new argument. + * CSparse.h (solve): Ditto. + * sparse-dmsolve.cc (dmsolve): Use singular_fallback argument + to bypass QR solvers when solving the well determined part of + the problem. + +2006-03-17 John W. Eaton + + * str-vec.cc (vector::list_in_columns): New optional arg, width. + +2006-03-16 David Bateman + + * CSparse.cc: Change use of nzmax to nnz to allow automatic + reduction of matrix size, except for a couple of cases where nzmax + is needed. + (zpbcon): Correct declaration of lapack zpbcon function. + (dsolve, utsolve, ltsolve, trisolve, bsolve, factorize, fsolve): Add + an argument to allow the calculation of condition number to be + optional. + (bsolve): Add code for the calculation of the condition number + using zpbcon and zgbcon. + (dsolve): Bug fix for rectangular matrices with sparse RHS. + (utsolve, ltsolve, trisolve, bsolve, fsolve): Mark matrix type as + singular if singularity is detected. + (solve): Use optional argument to disable calculation of + condition number for all but fsolve, for speed. Add code to + allow rectnagular matrices or matrices identified as singular + to be treated. + (lssolve): delete. + (operator *): Don't recast real matrices as complex, but + rather use the macro directly on the real data. + * dSparse.cc: ditto. + * CSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, + fsolve, factorize): Update declaration for new argument to + calculate the condition number. + (lssolve): delete. + * dSparse.h: ditto. + * Msparse.h: Change use of nxmax to nnz to allow automatic + reduction of matrix size, except for a couple of cases where + nzmax is needed. + * Sparse.cc: Change use of nxmax to nnz to allow automatic + reduction of matrix size, except for a couple of cases where + nzmax is needed. + (Sparse::index (idx_vector&, idx_vector&, int) const): + Special case strict permutations for speed. + * Sparse-op-defs.h: Change use of nxmax to nnz to allow automatic + reduction of matrix size, except for a couple of cases where + nzmax is needed. + (SPARSE_SPARSE_MUL, SPARSE_FULL_MUL, FULL_SPARSE_MUL): Update + macros to allow mixed complex/real arguments. + * SparseCmplxQR.cc (OCTAVE_C99_ZERO): New macro for C99 zero + value. + (qrsolve): Use it to zero temporary buffers used bt CXSPARSE. + * SparseType.cc (SparseType::SparseType ()): Correct detection + of permutated triangular matrices to avoid seg-faults. Disable + detection of underdetermined lower and over-determined upper + matrix due to problems with non minimum norm solutions. + * sparse-dmsolve.cc: New file for Dulmage-Mendelsohn solver. + * Makefile.in: add sparse-dmsolve.cc to targets. + +2006-03-15 William Poetra Yoga Hadisoeseno + + * oct-time.cc (octave_strptime::init): Return useful character count. + +2006-03-08 David Bateman + + * SparseCmplxQR.cc: Updates for new upstream CXSPARSE release. Fix for + g++ 4.x stl_vector.h issue with C99 double _Complex type. + * SparseCmplxQR.h: Updates for new upstream CXSPARSE release. + * SparseQR.cc: ditto. + * SparseQR.h: ditto. + * oct-sparse.h: ditto. + * sparse-base-chol.cc (sparse_base_chol<>::sparse_base_chol_rep::init): + Declare info variable as volatile. + + * Sparse.cc (Sparse::transpose (void) const): Accelerate algorithm. + * CSparse.cc (SparseComplexMatrix::transpose (void) const): ditto. + +2006-03-01 John W. Eaton + + * CMatrix.cc (ComplexMatrix::determinant): + Scale result by factors of 2, not 10. + * dMatrix.cc (Matrix::determinant): Likewise. + + * dbleDET.h (DET::DET): Use initializer list. + (DET::coefficient2, DET::coefficient10, DET::exponent2, + DET::exponent10): New functions. + (DET::det): Delete. + (DET::c2, DET::c10, DET::e2, DET::e10, DET::base2): New data members. + Store value internally with double and int instead of 2-element + double vector. + (DET::initialize2, DET::initialize10): Provide decls. + * dbleDET.cc (DET::value_will_overflow, DET::value_will_underflow): + Return bool value, not int. + (DET::initialize2, DET::initialize10): New functions. + + * CmplxDET.h (ComplexDET::ComplexDET): Use initializer list. + (ComplexDET::coefficient2, ComplexDET::coefficient10, + ComplexDET::exponent2, ComplexDET::exponent10): New functions. + (ComplexDET::det): Delete. + (ComplexDET::c2, ComplexDET::c10, ComplexDET::e2, ComplexDET::e10, + ComplexDET::base2): New data members. + Store value internally with Complex and int instead of 2-element + Complex vector. + (ComplexDET::initialize2, ComplexDET::initialize10): Provide decls. + * dbleComplexDET.cc (ComplexDET::value_will_overflow, + ComplexDET::value_will_underflow): Return bool value, not int. + (ComplexDET::initialize2, ComplexDET::initialize10): New functions. + +2006-02-24 John W. Eaton + + * Array.cc (assignN): Clear index before reshaping. + + * Array.h (Array::operator =): Don't set idx to 0 if copying self. + +2006-02-20 David Bateman + + * dSparse.cc (dsolve, utsolve, ltsolve): Remove restriction that + matrix must be square in diagonal, permuted diagonal, triangular + and permuted triangular back/forward substitution code. Change + ambiguous use of no. rows and columns. + * CSParse.cc (dsolve, utsolve, ltsolve): ditto. + * SparseType.cc (SparseType::SparseType(const SparseMatrix&), + SparseType::SparseType(const SparseComplexMatrix&)): Recognize + rectangular diagonal, permuted diagonal, triangular and permuted + triangular matrices. + * Sparse.cc (Sparse::Sparse (octave_idx_type, octave_idx_type, T)): + Treat case where third argument is zero. + +2006-02-15 John W. Eaton + + * kpse.cc: Do define ST_NLINK_TRICK for Cygwin systems. + (do_subdir) [ST_NLINK_TRICK]: Check links != 2 instead of links > 2. + + * getopt.c: Use __CYGWIN__ instead of __CYGWIN32__. + +2006-02-13 David Bateman + + * Makefile.in (LINK_DEPS): Add missing dependencies on colamd, + ccolamd and cxsparse + +2006-02-13 John W. Eaton + + * kpse.cc (kpse_path_iterator::next): Reverse order of tests in + while loop condition. + (kpse_path_iterator::operator =): Declare as private function but + don't define to prevent attempts to use assignment operator. + Don't define ST_NLINK_TRICK for Cygwin systems. + +2006-02-10 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Store in cummulative + product of all dimensions in CP_SZ. + +2006-02-09 John W. Eaton + + * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Store in cummulative + product of all dimensions in CP_SZ. + +2006-02-09 David Bateman + + * SparseQR.cc: new file for real sparse QR class. + * SparseQR.h: declaration. + * SparseCmplxQR.cc: new file for complex sparse QR class. + * SparseCmplxQR.h: declaration. + * dSparse.cc (dinverse,tinverse,inverse): Remove unused input args. + (factorize, fsolve): Enable code code lssolve. + (lssolve): disable unused args, write based in above sparse QR class. + * CSparse.cc (dinverse,tinverse,inverse): Remove unused input args. + (factorize, fsolve): Enable code code lssolve. + (lssolve): disable unused args, write based in above sparse QR class. + * oct-sparse.h: fix location of colamd, ccolamd and metis headers. + Include CXSparse headers. + * Makefile.in (MATRIX_INC): Include SparseQR.h and SparseCmplxQR.h. + (MATRIX_SRC): Include SparseQR.cc and SparseCmplxQR.cc. + +2006-02-08 John W. Eaton + + * Array-util.h (calc_permutated_idx): Delete. + * Array.cc (permute_vector): New data structure. + (permute_vector_compare): New function. + (Array::permute): Rewrite to avoid calc_permutated_index for + improved performance. + +2006-02-04 David Bateman + + * COLAMD: Remove all files, as now unused. + +2006-01-31 John W. Eaton + + * Sparse.h (Sparse::nzmax): New function. + (Sparse::nnz): Rename from nonzero. + Change all uses of old nnz function to be nzmax. Change all uses + of nonzero to be nnz. + (Sparse::nzmx): Rename from nnz (data member). Change all uses. + +2006-01-21 David Bateman + + * sparse-sort.cc (bool octave_sparse_sidxl_comp): 64-bit fix. + (bool octave_idx_vector_comp): New function. + (template class octave_sort): Instantiate + indexed idx_vector sorting function. + * sparse-sort.h (class octave_sparse_sort_idxl): 64-bit fix. + (class octave_idx_vector_sort): New class for indexed idx_vector + sorting. + (bool octave_idx_vector_comp): Declaration. + * Sparse.cc (int assign1(Sparse&, Sparse&)): Treat cases of + unordered LHS indexes in assignment using new octave_idx_vector_sort + class. + (int assign(Sparse&, Sparse&)): ditto. + +2006-01-30 John W. Eaton + + * so-array.h (streamoff_array::nnz): New funtion. + * boolNDArray.h (boolNDArray::nnz): New function. + * MArrayN.h (MArrayN::nnz): New function. + * MArray.h (MArray::nnz): New function. + +2006-01-04 David Bateman + + * Spars-op-defs.h (SPARSE_SPARSE_MUL): Previous change resulted in + elements not being sorted in return matrix. Sort them, and make + solver select between two algorithms to further improve the + performance. + * dSparse.cc: include oct-sort.h. + * CSparse.cc: ditto. + * sparse-sort.cc: Instantiate octave_sort. + +2005-12-28 David Bateman + + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Improved algorithm that is + faster in all cases, and significantly so for low density or small + order problems. + +2005-11-30 John W. Eaton + + * LSODE.cc (LSODE::do_integrate (double)): Resize iwork and rwork + before setting any values in either array. + +2005-11-29 John W. Eaton + + * oct-uname.h, oct-uname.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2005-11-11 John W. Eaton + + * Array.cc (Array::indexN): Simplify. + +2005-11-09 John W. Eaton + + * oct-inttypes.h (octave_int::operator char (void) const): + New conversion op. + +2005-11-01 John W. Eaton + + * Makefile.in (distclean): Also remove oct-types.h. + From Quentin Spencer . + +2005-10-31 David Bateman + + * dSparse.cc, CSparse.cc: Use C++ true/false instead of + preprocessor defined TRUE/FALSE. + +2005-10-30 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Iterate in direction of DIM. + (MX_ND_CUMULATIVE_OP): Likewise. + +2005-10-29 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Avoid increment_index to speed + things up. Simplify. + + * Array.cc (Array::indexN): Simplify. Delete separate special + case for "vector_equivalent". + + * Array-util.cc (vector_equivalent): Arg is now dim_vector. + +2005-10-28 John W. Eaton + + * oct-sparse.h: Fix typo in HAVE_UFSPARSE_UMFPACK_H. + From Quentin Spencer . + + * sparse-base-chol.cc: Use C++ true/false instead of + preprocessor defined TRUE/FALSE. Use 0 instead of NULL. + +2005-10-27 John W. Eaton + + * Array.cc (assignN): Reshape to final size instead of resizing. + +2005-10-26 John W. Eaton + + * oct-sparse.h: New file. + * oct-sparse.h.in: Delete. + +2005-10-26 David Bateman + + * sparse-base-chol.h: Include cholmod specific code in HAVE_CHOLMOD + * sparse-base-chol.cc: ditto. + +2005-10-26 John W. Eaton + + Changes for GCC 4.1, tip from Arno J. Klaassen + : + + * dSparse.h (real (const SparseComplexMatrix&)): + Publish externally used friend function. + (imag (const SparseComplexMatrix&)): Likewise. + + * dColVector.h (real (const ComplexColumnVector&)): + Publish externally used friend function. + (imag (const ComplexColumnVector&)): Likewise. + + * dNDArray.h (real (const ComplexNDArray&)): + Publish externally used friend function. + (imag (const ComplexNDArray&)): Likewise. + + * dMatrix.h (operator * (const ComplexMatrix&)): + Move decl outside class. No need to be friend. + (real (const ComplexMatrix&)): Publish externally used friend function. + (imag (const ComplexMatrix&)): Likewise. + + * CMatrix.h: (operator * (const ColumnVector&, const + ComplexRowVector&)): Move decl outside class. No need to be friend. + (operator * (const ComplexColumnVector&, const RowVector&)): Likewise. + (operator * (const ComplexColumnVector&, const ComplexRowVector& b)): + Likewise. + +2005-10-23 David Bateman + + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Check whether trailing zero + elements need to be removed. + + * oct-sparse.h.in: Include metis headers and some macros for long/int + versions of cholmod. + + * CSparse.cc (tinverse): New private function for the inversion of + an upper triangular matrix. + (dinverse): ditto for diagonal matrices. + (inverse): Add SparseType as an argument. Implement matrix inverse + using tinverse and dinverse. + (fsolve): Use cholmod to implement Cholesky solver. + * CSparse.h (tinverse, dinverse): Declarations + (inverse): Alter declaration to include SparseType. + + * dSparse.cc (tinverse, dinverse, inverse, fsolve): ditto. + * dSparse.h (tinverse, dinverse, inverse): ditto. + + * SparseType.cc: Fix complex constructor for hermitian matrices. + + * sparse-util.cc: New file for sparse utility functions. + * sparse-util.h: New file with declarations of sparse utility + functions. + + * sparse-base-chol.cc: New file with sparse cholesky class based + on cholmod. + * sparse-base-chol.h: New file with declaration of sparse cholesky + class based on cholmod. + + * SparseCmplxCHOL.cc: Instantiate sparse cholesky class for Complex. + * SparseCmplxCHOL.h: Declaration of sparse cholesky class. + + * SparsedbleCHOL.cc: ditto. + * SparsedbleCHOL.h: ditto. + + * Makefile.in (MATRIX_INC): Include sparse-base-chol.h. + (INCLUDES): Include sparse-util.h + (TEMPLATE_SRC): Include sparse-base-chol.cc + (MATRIX_SRC): Include SparseCmplxCHOL.cc and SparsedbleCHOL.cc + +2005-10-12 John W. Eaton + + * oct-env.cc (octave_env::have_x11_display): New function. + * oct-env.h: Provide decl. + +2005-09-29 John W. Eaton + + * file-stat.h (file_stat::mode): New function. + + * file-stat.cc (file_stat::is_blk, file_stat::is_chr, + file_stat::is_dir, file_stat::is_fifo, file_stat::is_lnk, + file_stat::is_reg, file_stat::is_sock): New static functions. + * file-stat.h: Provide decls. + +2005-09-28 John W. Eaton + + * file-ops.cc (file_ops::recursive_rmdir): New function. + * file-ops.h: Provide decl. + +2005-09-19 David Bateman + + * oct-env.cc (octave_env::do_get_home_directory): + Also check HOMEDRIVE under mingw. + + * Makefile.in (LINK_DEPS): Include UFsparse libraries. + +2005-09-16 John W. Eaton + + * oct-syscalls.cc: Include lo-utils.h here. + (octave_syscalls::waitpid): Call octave_waitpid here. + + * lo-cutils.c (octave_waitpid): New function. + * lo-utils.h: Provide decl. Include syswait.h here, not in + oct-syscalls.cc + + + * syswait.h [__MINGW32__]: Define WAITPID here instead of defining + waitpid in src/sysdep.h. Make this header C-compatible. + + * oct-syscalls.cc (octave_syscalls::waitpid): New arg, status. + Change all uses. + +2005-09-15 John W. Eaton + + * Makefile.in (MAKEDEPS_2): Omit unnecessary variable. + + * oct-sparse.h.in: New file. + * Makefile.in (DISTFILES): Include it in the list. + (INCLUDES): Add oct-sparse.h to the list. + +2005-09-15 David Bateman + + * dSparse.cc : Include oct-sparse.h for probed umfpack, colamd etc + headers. Remove include of umfpack.h. + * CSparse.cc : ditto. + * SparsedbleLU.cc : ditto. + * SparseCmplxLU.cc : ditto. + + * COLAMD : Remove colamd files from octave. + * COLAMD.files : delete. + * COLAMD.README : delete. + * Makefile.in: Remove COLAMD. Add LIBGLOB. + (LN_S): Change to DESTDIR before LN_S to avoid lack of symlinks + under mingw. + + * kpse.cc (ENV_SEP, ENV_SEP_STRING): Use SEPCHAR and SEPCHAR_STR + in definition. + * lo-cutils.c (octave_w32_library_search): Call GetProcAddress with + change of cast not allowed under g++ 3.x. + * lo-utils.h (octave_w32_library_search): Declaration. + * oct-env.cc (do_get_home_directory): Also check HOMEPATH under mingw. + * oct-shlib.cc (octave_w32_shlib::search): Use octave_w32_library_search. + +2005-09-07 John W. Eaton + + * cmd-edit.cc (command_editor::do_decode_prompt_string): Update + based on current code in Bash. Handle a few more escape + sequences. Do a better job of decoding \W. + +2005-09-04 David Bateman + + * COLAMD: Update version of colamd to v2.4. + * COLAMD.files: Add colamd_global.c to COLAMD_SRC and second build of + colamd.c for long version. + +2005-08-25 David Bateman + + * Sparse-op-defs.h (FULL_SPARSE_MUL, SPARSE_FULL_MUL): Macro for + mixed sparse/full multiply. + * dSparse.cc (operator *), CSparse.cc (operator *): New operators for + mixed sparse/full multiply. + * dSparse.h (operator *), CSparse.h (operator *): Declaration of + mixed sparse/full multiply operators. + +2005-07-25 Erik de Castro Lopo + + * oct-inttypes.h (OCTAVE_S_US_FTR): Compare <= 0 instead of < 0 to + avoid warnings for unsigned types. + +2005-07-07 John W. Eaton + + * dSparse.cc (SparseMatrix::factorize): Initialize Numeric to 0. + * CSparse.cc (SparseComplexMatrix::factorize:) Likewise. + +2005-06-15 John W. Eaton + + * oct-rl-edit.c (flush_stdout): Rename from no_redisplay. + Flush stdout here. + (octave_rl_clear_screen): Set rl_redisplay_function to flush_stdout. + + * Array.h (Array::resize): Change int args to octave_idx_type. + +2005-06-14 John W. Eaton + + * CMatrix.cc, CNDArray.cc, CSparse.cc, dMatrix.cc, dNDArray.cc, + dSparse.cc, lo-cieee.c, lo-mappers.cc: Change all uses of + octave_is_NaN_or_NA to xisnan. + + * lo-mappers.h (octave_is_NaN_or_NA): Mark with GCC_ATTR_DEPRECATED. + * lo-ieee.h (lo_ieee_is_NaN_or_NA): Likewise. + + * lo-cieee.c (lo_ieee_is_NaN_or_NA): Now just a wrapper for + lo_ieee_isnan. + + * dMatrix.cc (Matrix::too_large_for_float): Only check if abs + value is greater than FLT_MAX. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + * dNDArray.cc (NDArray::too_large_for_float): Ditto. + * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. + + * dMatrix.cc (Matrix::too_large_for_float): Special case Inf + values too. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + + * dNDArray.cc (NDArray::too_large_for_float): Likewise for NaN, + NA, Inf values. + * CNDArray.cc (ComplexNDArray::too_large_for_float): Ditto. + +2005-06-14 David Bateman + + * dMatrix.cc (Matrix::too_large_for_float): Special case NaN and + NA values. + * CMatrix.cc (ComplexMatrix::too_large_for_float): Ditto. + +2005-06-02 John W. Eaton + + * Array.cc (assignN): Try harder to correctly resize previously + empty LHS. + +2005-05-16 David Bateman + + * dSparse.h: Change UMFPACK_LONG_IDX to IDX_TYPE_LONG. + * CSparse.h: ditto. + +2005-05-10 David Bateman + + * dSparse.cc (determinant): Free numeric factorization after + sucessful calculation. + * CSparse.cc (determinant): ditto. + +2005-05-06 John W. Eaton + + * dbleCHOL.cc (CHOL::init): Use xelem instead of elem for indexing + chol_mat. + (chol2mat_internal, chol2mat, CHOL::inverse): New functions. + * dbleCHOL.h (chol2mat_internal, chol2mat, CHOL::inverse): + Provide decls. + + * CmplxChol.cc (ComplexCHOL::init): Use xelem instead of elem for + indexing chol_mat. + (chol2mat_internal, chol2mat, ComplexCHOL::inverse): New functions. + * CmplxCHOL.h (chol2mat_internal, chol2mat, CmplxCHOL::inverse): + Provide decls. + +2005-05-05 John W. Eaton + + * Array.cc (Array::permute): Call chop_trailing_singletons on + retval before return. + +2005-05-04 John W. Eaton + + * cmd-edit.cc (gnu_readline::do_readline): Extract const char* + from prompt outside of INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE block. + +2005-05-02 John W. Eaton + + * Makefile.in (LINK_DEPS): List $(UMFPACK_LIBS) ahead of $(BLAS_LIBS). + From Dmitri A. Sergatskov . + +2005-04-29 David Bateman + + * dSparse.cc (trisolve): Diagonal passed to lapack zptsv is type + double. Correct indexing for upper diagonal elements for sparse + tridiagonal. + * CSparse.cc (trisolve): ditto. + + * CSparse.h (UMFPACK_ZNAME): Define macro to pick version of + UMFPACK for 64-bit. + * CSparse.cc (UMFPACK_ZNAME): Replace all umfpack_zi_* with + UMFPACK_ZNAME(*). + * SparseCmplxLU.cc (UMFPACK_ZNAME): ditto + + * dSparse.h (UMFPACK_DNAME): Define macro to pick version of + UMFPACK for 64-bit. + * dSparse.cc (UMFPACK_DNAME): Replace all umfpack_di_* with + UMFPACK_DNAME(*). + * SparsedbleLU.cc (UMFPACK_DNAME): ditto + + * dSparse.cc (ltsolve, utsolve): Correct permuted upper/lower + triangular back/forward substitution code. + * CSparse.cc (ltsolve, utsolve): ditto. + + * dSparse.cc (solve): Use mattype.type (false) to force messaging + from spparms("spumoni",1). + * CSparse.cc (solve): ditto + + * SparseType.cc (SparseType(void)): Print info for + spparms("spumoni",1). + (SparseType(const matrix_type), SparseType(const matrix_type, const + octave_idx_type, const octave_idx_type*), SparseType(const matrix_type, + const octave_idx_type, const octave_idx_type)): New constructors. + (SparseType (const SparseMatrix&), SparseType (SparseComplexMatrix&)): + Detect row permuted lower triangular and column permuted upper + triangular matrices. Remove one of the permutation vectors.. + + * SparseType.h: Simplify the permutation code. + (SparseType(const matrix_type), SparseType + (const matrix_type, const octave_idx_type, const octave_idx_type*), + SparseType(const matrix_type, const octave_idx_type, + const octave_idx_type)): Declarations. + +2005-04-25 John W. Eaton + + * str-vec.cc (string_vector::delete_c_str_vec): Correctly free + array and its contents. + +2005-04-22 John W. Eaton + + * oct-rl-edit.c (octave_rl_set_terminal_name): Don't cast away + const here now that rl_terminal_name is declared const char*. + +2005-04-21 John W. Eaton + + * Makefile.in (DISTFILES): Include oct-types.h.in in the list. + +2005-04-19 John W. Eaton + + * Array.cc (assignN): Don't crash if the index list is empty. + +2005-04-14 David Bateman + + * SparseCmplxLU.cc: Add flags for incomplete factorization. + * SparsedbleLU.cc: Ditto. + * SparseCmplxLU.h: Definition. + * SparsedbleLU.h: ditto. + + * SparseType.cc (transpose): New function. + * SparseType.h (transpose): Definition. + +2005-04-11 John W. Eaton + + * lo-specfun.cc: Use F77_XFCN instead of F77_FUNC for calls to + fortran code that could end up calling XSTOPX. + +2005-04-10 David Bateman + + * Makefile.in: include oct-types in INCLUDES so that it is + installed + +2005-04-08 John W. Eaton + + * Makefile.in (clean): Use exact filenames instead of *.xxx. + + * Initial merge of 64-bit changes from Clinton Chee: + + 2005-04-07 John W. Eaton + + * MArray-i.cc, Array-i.cc: Instantiate Array and MArray. + + * CSparse.cc, CSparse.h, MSparse.cc, MSparse.h, Sparse-op-defs.h, + Sparse.cc, Sparse.h, SparseCmplxLU.cc, SparseType.cc, + SparseType.h, SparsedbleLU.cc, boolSparse.cc, boolSparse.h, + dSparse.cc, dSparse.h, sparse-base-lu.cc: + Use octave_idx_type instead of int where needed. + + 2005-03-31 Clinton Chee + + * Array-util.cc, Array-util.h, Array.cc,Array.h, Array2.h, + Array3.h, ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, + CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, + CMatrix.h, CNDArray.cc, CNDArray.h, CRowVector.cc, CRowVector.h, + CmplxAEPBAL.cc, CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, + CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, + CmplxSCHUR.cc, CmplxSCHUR.h, CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, + CollocWt.h, DAEFunc.h, DASPK-opts.in,DASPK.cc,DASPK.h, + DASRT-opts.in, DASRT.cc, DASRT.h, DASSL-opts.in, DASSL.cc, + DASSL.h, DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, + FEGrid.h, LPsolve.cc, LPsolve.h, LSODE-opts.in, LSODE.cc, LSODE.h, + MArray-defs.h, MArray.cc, MArray.h, MArray2.cc, MArray2.h, + MArrayN.cc, MDiagArray2.cc, MDiagArray2.h, NLConst.h, NLEqn.cc, + NLEqn.h, Quad.cc, Quad.h, Range.cc,Range.cc, Range.h, base-de.h, + base-lu.cc, base-lu.h, base-min.h, boolMatrix.cc, boolMatrix.h, + boolNDArray.cc, boolNDArray.h, chMatrix.cc, chMatrix.h, + chNDArray.cc, chNDArray.h, dColVector.cc, dColVector.h, + dDiagMatrix.cc, dDiagMatrix.h, dMatrix.cc, dMatrix.h, + dNDArray.cc,dNDArray.cc, dNDArray.h, dRowVector.cc, dRowVector.h, + dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleHESS.cc, + dbleHESS.h, dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, + dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, dim-vector.h, idx-vector.cc, + idx-vector.h, intNDArray.cc, intNDArray.h, lo-specfun.cc, + lo-specfun.h, mach-info.cc, mx-inlines.cc, oct-fftw.cc, + oct-fftw.h, oct-rand.cc, oct-rand.h, so-array.cc, so-array.h, + str-vec.cc, str-vec.h: + Use octave_idx_type instead of int where needed. + + 2005-04-01 John W. Eaton + + * dim-vector.h, lo-utils.h: Include oct-types.h. + + * oct-types.h.in: New file. + + 2005-03-31 Clinton Chee + + * lo-utils.cc (NINTbig): New function. + * lo-utils.h: Provide decl. + +2005-04-06 David Bateman + + * Makefile.in: Link to UMFPACK_LIBS. + +2005-04-05 John W. Eaton + + * Array.cc (assignN): Avoid shadowed declaration in previous change. + +2005-04-01 John W. Eaton + + * Array.cc (assignN): For A(IDX-LIST) = RHS with A previously + undefined, correctly match colons in IDX-LIST with RHS dimensions + when resizing A. When performing the assignment, just check that + the number of elements in RHS matches the number of elements + indexed by IDX-LIST. + +2005-03-30 John W. Eaton + + * lo-mappers.cc (log10, tan, tanh): Delete functions. + * lo-mappers.h (log10, tan, tanh): Delete decls. + + * CColVector.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, + dSparse.cc: Use std:: for Complex functions instead of relying on + wrappers from oct-cmplx.h. + + * oct-cmplx.h: Provide typedef only. + + * DiagArray2.cc (xelem): Don't use initializer for static data. + * DiagArray2.h (DiagArray::Proxy::operator T ()): + Likewise. + +2005-03-26 John W. Eaton + + * cmd-edit.cc (do_readline): Wrap call to ::octave_rl_readline + with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. + +2005-03-15 John W. Eaton + + * Makefile.in (MATRIX_INC): Remove oct-spparms.h from the list. + +2005-03-14 John W. Eaton + + * Makefile.in (DISTFILES): Don't include $(UMFPACK_EXTRAS). + (DISTDIRS): Don't include UMFPACK. + (LIBOCTAVE_OBJECTS): Don't include $(UMFPACK_OBJ). + (UMFPACK_SPECIAL_1, UMFPACK_SPECIAL): No need for special include + flags for these files. + Don't include include $(srcdir)/UMFPACK.files. + Don't include include $(srcdir)/UMFPACK.rules. + + * UMFPACK.README, UMFPACK.files, UMFPACK.patch, UMFPACK.rules: + Delete files. + * UMFPACK: Delete directory tree. + + * dSparse.cc: Include instead of just "umfpack.h". + * CSparse.cc: Likewise. + * SparsedbleLU.cc: Likewise. + * SparseCmplxLU.cc: Likewise. + +2005-03-14 David Bateman + + * CSParse.cc, SparseCmplxLU.cc, SparsedbleLU.cc, dSparse.cc: + Allow compilation to succeed if UMFPACK is not available. + +2005-03-09 John W. Eaton + + * Makefile.in (bin-dist): Delete target. + (BINDISTLIBS, BINDISTFILES): Delete variables. + +2005-03-01 John W. Eaton + + * ODESSA.h, ODESSA.cc, ODESSA-opts.in: Delete. + * Makefile.in: Remove them from the lists. + +2005-02-28 John W. Eaton + + * Makefile.in (LINK_DEPS): Remove -lglob from the list. + +2005-02-27 David Bateman + + * Sparse.cc (Sparse::reshape): Set cidx for the N last elements + in the sparse matrix. + +2005-02-25 John W. Eaton + + Sparse merge. + + 2005-02-13 David Bateman + + * CSparse.cc (SparseComplexMatrix:dsolve, SparseComplexMatrix:utsolve, + SparseComplexMatrix::ltsolve, SparseComplexMatrix::trisolve, + SparseComplexMatrix::bsolve, SparseComplexMatrix:fsolve): Split sparse + solver into separate functions for the diagonal, upper, lower + triangular, tridiagonal, banded and full cases. + (SparseComplexMatrix::solve): rewrite to call the above function. One + version that probes the matrix type and another that assumes the type + is passed. + + * dSparse.cc (SparseMatrix:dsolve, SparseMatrix:utsolve, + SparseMatrix::ltsolve, SparseMatrix::trisolve, + SparseMatrix::bsolve, SparseMatrix:fsolve): Likewise + (SparseMatrix::solve): Likewise + + * CSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, fsolve): + Declaration of new functions + * dSparse.h (dsolve, utsolve, ltsolve, trisolve, bsolve, fsolve): + Likewise + + * CSparse.cc (operator !): Reverse the sense of the test. + * dSpase.cc (operator !): Likewise + + * dSparse.h (type, band_size, is_dense, triangular_row_perm, + triangular_col_perm, sparse_info): Remove matrix type code + * CSparse.h (type, band_size, is_dense, triangular_row_perm, + triangular_col_perm, sparse_info): Likewise + * boolSparse.h (type, band_size, is_dense, triangular_row_perm, + triangular_col_perm, sparse_info): Likewise + * MSparse.h (type, band_size, is_dense, triangular_row_perm, + triangular_col_perm, sparse_info): Likewise + * Sparse.h (type, band_size, is_dense, triangular_row_perm, + triangular_col_perm, sparse_info, matrix_type): Likewise + + * Sparse.cc (type, sparse_info, band_size): Remove type code + + * SparseType.h: New class for the matrix type used in solvers + * SparseType.cc: methods of sparse matrix type class + + * Makefile.in: Add SparseType.cc + + 2005-02-01 David Bateman + + * UMFPACK: Update to version 4.4 + * UMFPACK.patch: Version 4.4 contains most of the previous patch. Only + keep octave specific test files + + 2005-01-23 David Bateman + + * dSparse.cc (SparseMatrix::solve): Include tridiagonal, cholesky + tridiagonal and banded cholesky solvers. Remove calculation of + condition number for banded solvers. + * CSparse.cc (SparseComplexMatrix::solve): ditto. + + * Sparse.h (int type (int) const, bool is_dense (void) const): + new functions. + * MSparse.h (int type (int) const, bool is_dense (void) const): ditto + * dSparse.h (int type (int) const, bool is_dense (void) const): ditto + * CSparse.h (int type (int) const, bool is_dense (void) const): ditto + * boolSparse.h (int type (int) const, bool is_dense (void) const): + ditto + + * Sparse.cc (int Sparse::type (int) const, + bool Sparse::is_dense (void) const): New functions definition + + * Sparse.h (matrix_type typ): Move caching of matrix type to SparseRep, + so it actually is cached, but disable + + * oct-spparms.cc (SparseParams::init_keys): Change spmoni to spumoni + for compatiability + + 2005-01-18 David Bateman + + * Array.cc (Array::insert (const Array&, const Array&)): + Modify calculation of number elements to skip between copied blocks. + + 2005-01-07 David Bateman + + * Sparse.h : Reverse definitions of numel and nelem. + * Sparse.cc (assign1): Use numel and not nelem + * Sparse-op-def.h: Replace all uses of nelem with numel + + 2005-01-07 David Bateman + + * dbleDET.h: Make SparseMatrix a friend of the class DET + * CmplexDET.h: Make SparseComplexMatrix a friend of the class + ComplexDET + * dSparse.cc (SparseMatrix::determinant): Replace use of SparseDET + by DET + * dSparse.h (determinant): ditto + * CSparse.cc (SparseComplexMatrix::determinant): Replace use of + SparseComplexDET by ComplexDET + * CSparse.h (determinant): ditto + * SparsedbleDET.h, SparsedbleDET.cc, SparseCmplxDET.h, + SparseCmplxDET.cc: delete files + * Makefile.in: Delete reference to SparsedbleDET.h, SparsedbleDET.cc, + SparseCmplxDET.h andSparseCmplxDET.cc. + + * CSparse.cc (SparseComplexMatrix::solve): Store matrix type in + local variable to avoid variable shadowing. + * dSparse.cc (SparseMatrix::solve): ditto. + + * boolSparse.cc boolSparse.h CSparse.cc CSparse.h dSparse.cc + dSparse.h MSparse.cc MSparse-C.cc MSparse-d.cc MSparse-defs.h + MSparse.h oct-spparms.cc oct-spparms.h Sparse-b.cc Sparse.cc + Sparse-C.cc SparseCmplxLU.cc SparseCmplxLU.h SparsedbleLU.cc + SparsedbleLU.h Sparse-d.cc Sparse.h Sparse-op-defs.h sparse-sort.cc + sparse-sort.h: Remove additional licensing clause with authors + permission. + + 2004-12-30 John W. Eaton + + * MSparse.cc (SPARSE_A2S_OP_2, SPARSE_SA2_OP_2): + Loop counter is int, not size_t. + + * oct-spparms.cc (SparseParams::operator =): Return *this. + + * Sparse-op-defs.h (SPARSE_SPARSE_MUL): Delete unused variable tmpval. + + * dSparse.cc (operator << (ostream&, const SparseMatrix&), atan2): + Delete unused variables. + (SparseMatrix::solve): Avoid warnings about uninitialized + variables and variables that might be clobbered by longjmp. + + * CSparse.cc (operator << (ostream&, const SparseComplexMatrix&), + min, max): Delete unused variables. + (SparseComplexMatrix::solve): Avoid warnings about uninitialized + variables and variables that might be clobbered by longjmp. + + * Makefile.in (UMFPACK_SPECIAL): Include .d files in the list. + + * Sparse-op-defs.h (SPARSE_SMS_BIN_OP_2, SPARSE_SSM_BIN_OP_2): + Loop counter is int, not size_t. + + * CSparse.cc (SparseComplexMatrix::hermitian): Avoid shadow warnings. + * Sparse.cc (Sparse::Sparse, Sparse::type, assign): Likewise. + + * Sparse.h (Sparse::SparseRep): Order data members and initializer + lists consistently. + + * mx-base.h: Include boolSparse.h, dSparse.h, and CSparse.h. + + 2004-12-29 John W. Eaton + + * COLAMD.files (COLAMD_EXTRAS): New variable. + * UMFPACK.files (UMFPACK_EXTRAS): New variable. + * Makefile.in (DISTFILES): Add $(COLAMD_EXTRAS) and + $(UMFPACK_EXTRAS) to the list. + (DISTDIRS): New variable. + (dist): Handle $(DISTDIRS). + + Merge of sparse code from David Bateman and + Andy Adler . + + * Makefile.in (VPATH): ADD @srcdir@/COLAMD to the list. + + * Makefile.in (MAKEDEPS): Include $(COLAMD_SRC) and $(UMFPACK_SRC) + without directory prefix. + + * Makefile.in (LIBOCTAVE_OBJECTS): Add $(COLAMD_OBJ) and + $(UMFPACK_OBJ) to the list. + + * COLAMD: New directory. + * COLAMD.files: New file. + * Makefile.in: Include COLAMD.files. + (SOURCES): Add $(COLAMD_SOURCES) to the list. + (LIBOCTAVE_OBJECTS): Add $(COLAMD_OBJECTS) to the list. + (INCLUDES): Add $(COLAMD_INCLUDES) to the list. + + * UMFPACK: New directory. + * UMFPACK.patch, UMFPACK.README, UMFPACK.files, UMFPACK.rules: + New files. + * Makefile.in: Include UMFPACK.files and UMFPACK.rules. + (SOURCES): Add $(UMFPACK_SOURCES) to the list. + (LIBOCTAVE_OBJECTS): Add $(UMFPACK_OBJECTS) to the list. + (INCLUDES): Add $(UMFPACK_INCLUDES) to the list. + + * Makefile.in (SPARSE_MX_OP_INC): New variable. + (INCLUDES): Add it to the list. + (SPARSE_MX_OP_SRC): New variable. + (LIBOCTAVE_CXX_SOURCES): Add it to the list. + (distclean): Remove $(SPARSE_MX_OP_INC) and $(SPARSE_MX_OP_SRC). + (stamp-prereq): Depend on $(SPARSE_MX_OP_INC) and $(SPARSE_MX_OP_SRC). + + * sparse-mk-ops.awk, sparse-mx-ops: New files. + * Makefile.in (DISTFILES): Add them to the lists. + + * oct-spparms.h, sparse-sort.h: New files. + * Makefile.in (INCLUDES): Add them to the list. + + * oct-spparms.cc, sparse-sort.cc: New files. + * Makefile.in (LIBOCTAVE_CXX_SOURCES): Add them to the list. + + * sparse-base-lu.cc: New file. + * Makefile.in (TEMPLATE_SRC): Add it to the list. + + * boolSparse.cc, CSparse.cc, dSparse.cc, MSparse.cc, Sparse.cc, + SparseCmplxDET.cc, SparseCmplxLU.cc, SparsedbleDET.cc, + SparsedbleLU.cc: New files. + * Makefile.in (MATRIX_SRC): Add them to the list. + + * boolSparse.h, CSparse.h, dSparse.h, MSparse-defs.h, MSparse.h, + Sparse.h, oct-spparms.h, sparse-base-lu.h, SparseCmplxDET.h, + SparseCmplxLU.h, SparsedbleDET.h, SparsedbleLU.h, + Sparse-op-defs.h: New files. + * Makefile.in (MATRIX_INC): Add them to the appropriate lists. + + * MSparse-d.cc, MSparse-C.cc, Sparse-b.cc, Sparse-d.cc, + Sparse-C.cc: New files. + * Makefile.in (TI_SRC): Add them to the list. + +2005-02-18 John W. Eaton + + * file-ops.cc (file_ops::canonicalize_file_name) [HAVE_RESOLVEPATH]: + Pass current directory to octave_env::make_absolute. + Save value returned from octave_env::make_absolute in local var. + Pass const char*, not std::string as first arg of resolvepath. + Provide decl for resolved_len. + +2005-02-18 John W. Eaton + + * Array.cc (Array::permute): Allow permutation vector longer + than number of dimenensions of permuted matrix. + + * Array.cc (Array::permute): Use zero-based indexing for perm_vec. + * Array-util.cc (calc_permutated_idx): Likewise. + +2005-02-10 David Bateman + + * CNDArray.cc (ComplexNDarray::operator !): Change sense of test. + * CMatrix.cc (ComplexMatrix::operator !): Likewise. + +2005-02-09 John W. Eaton + + * file-ops.cc (file_ops::canonicalize_file_name): New functions. + * file-ops.h: Provide decls. + + * kpse.cc (kpse_tilde_expand): Simply return NAME if it is empty. + +2005-02-08 John W. Eaton + + * Array-util.cc (freeze): Improve error message. + +2005-01-26 David Bateman + + * Array.cc (Array::insert): Handle generic case, not just + special case for fast concatenation. + +2005-01-18 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Delete RET_ELT_TYPE arg. + Change all uses. Use VAL instead of RET_ELT_TYPE when resizing. + + * dNDArray.cc (NDArray::any): NaN does not count as a nonzero value. + * CNDArray.cc (ComplexNDArray::any): Likewise. + +2005-01-18 David Bateman + + * Array.cc (Array::insert (const Array&, const Array&)): + Modify calculation of number elements to skip between copied blocks. + +2005-01-18 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::freeze): Call warning handler, not + error handler, to warn about resizing. + +2004-12-27 Martin Dalecki + + * Array.cc, ArrayN.cc, base-lu.cc, boolMatrix.cc, boolNDArray.cc, + Bounds.cc, CColVector.cc, CDiagMatrix.cc, chMatrix.cc, + chNDArray.cc, CMatrix.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, + CmplxDET.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, + CmplxSCHUR.cc, CmplxSVD.cc, CNDArray.cc, CollocWt.cc, + CRowVector.cc, DASPK.cc, DASRT.cc, DASSL.cc, dbleAEPBAL.cc, + dbleCHOL.cc, dbleDET.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, + dbleQRP.cc, dbleSCHUR.cc, dbleSVD.cc, dColVector.cc, + dDiagMatrix.cc, DiagArray2.cc, dMatrix.cc, dNDArray.cc, + dRowVector.cc, EIG.cc, FEGrid.cc, idx-vector.cc, int16NDArray.cc, + int32NDArray.cc, int64NDArray.cc, int8NDArray.cc, intNDArray.cc, + LinConst.cc, LPsolve.cc, LSODE.cc, MArray2.cc, MArray.cc, + MArrayN.cc, MDiagArray2.cc, NLEqn.cc, oct-alloc.cc, ODES.cc, + ODESSA.cc, Quad.cc, Range.cc, so-array.cc, uint16NDArray.cc, + uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: + Delete #pragma implementation. + + * Array2.h, Array3.h, Array.h, ArrayN.h, base-lu.h, boolMatrix.h, + boolNDArray.h, Bounds.h, CColVector.h, CDiagMatrix.h, chMatrix.h, + chNDArray.h, CMatrix.h, CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, + CmplxHESS.h, CmplxLU.h, CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, + CmplxSVD.h, CNDArray.h, CollocWt.h, CRowVector.h, DASPK.h, + DASRT.h, DASSL.h, dbleAEPBAL.h, dbleCHOL.h, dbleDET.h, dbleHESS.h, + dbleLU.h, dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h, + dColVector.h, dDiagMatrix.h, DiagArray2.h, dim-vector.h, + dMatrix.h, dNDArray.h, dRowVector.h, EIG.h, FEGrid.h, + idx-vector.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, + int8NDArray.h, intNDArray.h, LinConst.h, LPsolve.h, LSODE.h, + MArray2.h, MArray.h, MArrayN.h, MDiagArray2.h, NLConst.h, NLEqn.h, + ODES.h, ODESSA.h, Quad.h, Range.h, so-array.h, uint16NDArray.h, + uint32NDArray.h, uint64NDArray.h, uint8NDArray.h: + Delete #pragma interface. + +2004-12-17 John W. Eaton + + * lo-cieee.c (lo_ieee_signbit): New function. + * lo-ieee.h: Provide decl. + Don't define lo_ieee_signbit as a macro here. + From Orion Poplawski . + +2004-11-18 John W. Eaton + + * int32NDArray.cc (pow): Delete instantiation. + * int16NDArray.cc (pow): Likewise. + * int8NDArray.cc (pow): Likewise. + * uint32NDArray.cc (pow): Likewise. + * uint16NDArray.cc (pow): Likewise. + * uint8NDArray.cc (pow): Likewise. + +2004-11-17 John W. Eaton + + * kpse.cc (str_llist_float, str_llist_add, kpse_var_expand): + Now static. + (DB_ENVS, DB_HASH_SIZE, DB_NAME, ALIAS_NAME, ALIAS_HASH_SIZE, + DEFAULT_TEXMFDBS): Delete unused macros. + + * Array.cc (Array::index): Call generic N-d indexing function + if idx_arg is N-d. + +2004-11-09 David Bateman + + * dNDArray.cc (concat): Delete. + (NDArray::concat): New methods. + * dNDArray.h: Provide decls. + + * CNDArray.cc (concat): Delete. + (ComplexNDArray::concat): New methods. + * CNDArray.h: Provide decls. + + * boolNDArray.cc (concat): Delete. + (boolNDArray::concat): New methods. + * boolNDArray.h: Provide decls. + + * chNDArray.cc (concat): Delete. + (charNDArray::concat): New methods. + * chNDArray.h: Provide decls. + + * oct-inttypes.h (OCTAVE_INT_CONCAT_FN, OCTAVE_INT_CONCAT_DECL): + Delete macros. + + * int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, + uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h + (OCTAVE_INT_CONCAT_DECL): Delete use of macro. + + * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, + uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc + (OCTAVE_INT_CONCAT_FN): Delete use of macro. + + * intNDArray.cc (intNDArray::concat): New method. + * intNDArray.h: Provide decl. + +2004-11-08 John W. Eaton + + * oct-inttypes.cc: New file. + * Makefile.in (TI_SRC): Add it to the list. + * oct-inttypes.h (OCTAVE_US_TYPE1_CMP_OP, OCTAVE_US_TYPE1_CMP_OPS, + OCTAVE_SU_TYPE1_CMP_OP, OCTAVE_SU_TYPE1_CMP_OPS, + OCTAVE_TYPE1_CMP_OPS, OCTAVE_US_TYPE2_CMP_OP, + OCTAVE_US_TYPE2_CMP_OPS, OCTAVE_SU_TYPE2_CMP_OP, + OCTAVE_SU_TYPE2_CMP_OPS, OCTAVE_TYPE2_CMP_OPS): + New macros for comparison operations. Avoid potential + problems with default conversions when comparing signed and + unsigned values. + +2004-11-03 John W. Eaton + + * dMatrix.cc (Matrix::inverse): Return info == -1 for any failure. + * CMatrix.cc (ComplexMatrix::inverse): Likewise. + +2004-10-19 John W. Eaton + + * Array.cc (assignN): Avoid resizing if assignment will fail. + +2004-10-18 John W. Eaton + + * Array.cc (assign2): Save result of squeeze operation. + Squeeze if ndims is > 2, not if length of RHS vector is > 2. + +2004-10-11 David Bateman + + * oct-fftw.cc (class octave_fftw_planner): Add inplace[2] to + flag whether transform in- or out-of-place. + (octave_fftw_planner::octave_fftw_planner): Initialize it. + (octave_fftw_planner::create_plan): Use it. + +2004-09-24 John W. Eaton + + * Array.cc (assign2, assignN): If index is empty, allow RHS to be + any empty matrix, not just []. + +2004-09-23 John W. Eaton + + * mx-ops: Include scalar zero value in type definitions. + Delete zero information from ops section. + * mk-ops.awk: Use type-specific zero info. + + * mx-op-defs.h (MS_BOOL_OP, SM_BOOL_OP, MM_BOOL_OP, NDS_BOOL_OP, + SND_BOOL_OP, NDND_BOOL_OP): Args now include zero values for both + LHS and RHS. + (MS_BOOL_OPS2, SM_BOOL_OPS2, MM_BOOL_OPS2, NDS_BOOL_OPS2, + SND_BOOL_OPS2, NDND_BOOL_OPS2): New macros. + (MS_BOOL_OPS, SM_BOOL_OPS, MM_BOOL_OPS, NDS_BOOL_OPS, + SND_BOOL_OPS, NDND_BOOL_OPS): Define in terms of 2-zero versions. + + * idx-vector.h (idx_vector::idx_vector_rep::idx_vector_rep (const + intNDArray&)): Use explicit as_double () conversion in call to + tree_to_mat_idx. + + * oct-inttypes.h (octave_int::operator float): New conversion. + (pow): Instead of "if (b_val)", use "if (b_val != zero)". + Likewise for the "if (b_val & one)" test. + (operator <<, operator >>): Type of retval is octave_int, not T1. + +2004-09-23 David Bateman + + * oct-inttypes.h (OCTAVE_INT_DOUBLE_CMP_OP, OCTAVE_DOUBLE_INT_CMP_OP): + New macros. Use them to define mixed intX-double and double-intX ops. + +2004-09-22 Federico Zenith + + * DASPK-opts.in, DASRT-opts.in, ODESSA-opts.in: + Fix doc string layout to avoid overfull hbox in printed output. + +2004-09-21 John W. Eaton + + * mach-info.h (octave_mach_info::flt_fmt_native): Delete. + * mach-info.cc (octave_mach_info::string_to_float_format): + For "native", set actual native format. + (octave_mach_info::float_format_as_string): Delete flt_fmt_native case. + +2004-09-17 David Bateman + + * CmplxSCHUR.cc (CmplxSCHUR::init): New arg, calc_unitary to make the + calculation of the unitary matrix optional. + * dbleSCHUR.cc (SCHUR::init): Ditto. + * CmplxSCHUR.h, dbleSCHUR.h: Update decls. + +2004-09-15 David Bateman + + * oct-sort.h (octave_sort::set_compare (bool (*comp) (T, T))): + New function to set the comparison function for the sort. + +2004-09-10 John W. Eaton + + * lo-mappers.cc (xround): Fix typo. + +2004-09-08 John W. Eaton + + * Array.h (Array::~Array): Declare virtual. + + * idx-vector.h (idx_vector::idx_vector): Initialize rep in member + initializaion list. Don't set rep->count since the rep + constructor does that. + +2004-09-07 John W. Eaton + + * data-conv.cc (oct_data_conv::string_to_data_type): Handle dt_logical. + (oct_data_conv::data_type_as_string): Likewise. + + * data-conv.h (oct_data_conv::data_type): Add dt_logical to list. + + * Range.cc (round): Delete unused function. + + * lo-mappers.cc (xround): Rename from round. Change all uses. + If HAVE_ROUND, call round, otherwise fake with floor and ceil. + + * oct-inttypes.h: Include here. + +2004-09-03 David Bateman + + * boolNDArray.cc (boolNDArray::concat, boolNDArray::insert): + New functions for boolean matrix concatenation. + * boolNDArray.h: Provide decls. + +2004-09-03 John W. Eaton + + * oct-inttpes.h (OCTAVE_INT_CMP_OP): Convert operarands to double + to avoid signed/unsigned int comparison problems. + + * mx-ops: Generate CMP and BOOL ops for mixed integer types and + for mixed integer and double types. + + * mk-ops.awk: Output BIN_OP_DECLS, CMP_OP_DECLS, and BOOL_OP_DECLS + separately, and only if needed. + + * oct-inttypes.h (octave_fit_to_range): Use constructor instead of + static_cast for type conversion. + +2004-09-01 John W. Eaton + + * oct-inttypes.h (pow, operator +, operator -, operator *, + operator /): Handle mixed integer/double ops. If op generates a + NaN, set result to 0. + (octave_int::operator - (void)): Convert to double, then negate, + then fit to range. + + * mx-ops: Define integer types. Include declarations for mixed + integer/double ops. + +2004-08-31 John W. Eaton + + * oct-inttypes.h (pow): Args now const reference. + (octave_int::operator *=, octave_int::operator /=, + octave_int::operator <<=, octave_int::operator >>=): + New member functions. + (OCTAVE_INT_BITSHIFT_OP): Delete macro. + (operator >> (const octave_int& x, const T2& y)): + Define in terms of >>=. + (operator << (const octave_int& x, const T2& y)): + Define in terms of <<=. + (bitshift): Operate on octave_int objects, not the values, so + we get proper saturation properties. + +2004-08-31 David Bateman + + * oct-inttypes.h (pow (constT, T)): New template. + + * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, uint8NDArray.cc, + uint16NDArray.cc, uint32NDArray.cc: Instantiate power function. + +2004-08-31 John W. Eaton + + * oct-inttypes.h (octave_int::byte_size): New function. + +2004-08-31 John W. Eaton + + * Makefile.in (EXTRAS): Add intNDArray.cc to the list. + + * data-conv.h (oct_data_conv::data_type): Include sized types. + Explicitly number enum elements. + + * data-conv.cc (oct_data_conv::string_to_data_type (const + std::string&, int&, oct_data_conv::data_type&, + oct_data_conv::data_type&)): New function. + (oct_data_conv::string_to_data_type (const std::string&, int&, + oct_data_conv::data_type&)): New function. + (oct_data_conv::data_type_as_string): New function. + + * dMatrix.cc (read_int, do_read, Matrix::read): Delete. + (write_int, do_write, Matrix::write): Delete. + * dMatrix.h (Matrix::read, Matrix::write): Delete decls. + + * byte-swap.h: Use template functions and specialization. + Change all uses. + (swap_2_bytes, swap_4_bytes, swap_8_bytes): Delete. + +2004-08-30 John W. Eaton + + * oct-inttypes.h (octave_int_fit_to_range): Use template + specializations to avoid warnings about signed/unsigned comparisons. + +2004-08-28 John W. Eaton + + * data-conv.cc (do_float_format_conversion (unsigned char *, + size_t, int, oct_mach_info::float_format)): New function. + (GET_SIZED_INT_TYPE): New macro. + (string_to_data_type): Use it to return sized types corresponding + to Octave array data types. + (strip_spaces): New function. + (do_double_format_conversion, do_float_format_conversion): Pass + from_fmt and to_fmt. Don't always assume the to_fmt is the native + float format. + (do_double_format_conversion, + IEEE_big_double_to_IEEE_little_double, + VAX_D_double_to_IEEE_little_double, + VAX_G_double_to_IEEE_little_double, Cray_to_IEEE_little_double, + IEEE_little_double_to_IEEE_big_double, + VAX_D_double_to_IEEE_big_double, VAX_G_double_to_IEEE_big_double, + Cray_to_IEEE_big_double, IEEE_little_double_to_VAX_D_double, + IEEE_big_double_to_VAX_D_double, VAX_G_double_to_VAX_D_double, + Cray_to_VAX_D_double, IEEE_little_double_to_VAX_G_double, + IEEE_big_double_to_VAX_G_double, VAX_D_double_to_VAX_G_double, + Cray_to_VAX_G_double): + Pass data as void*, not double*. + (do_float_format_conversion, IEEE_big_float_to_IEEE_little_float, + VAX_D_float_to_IEEE_little_float, + VAX_G_float_to_IEEE_little_float, Cray_to_IEEE_little_float, + IEEE_little_float_to_IEEE_big_float, + VAX_D_float_to_IEEE_big_float, VAX_G_float_to_IEEE_big_float, + Cray_to_IEEE_big_float, IEEE_little_float_to_VAX_D_float, + IEEE_big_float_to_VAX_D_float, VAX_G_float_to_VAX_D_float, + Cray_to_VAX_D_float, IEEE_little_float_to_VAX_G_float, + IEEE_big_float_to_VAX_G_float, VAX_D_float_to_VAX_G_float, + Cray_to_VAX_G_float): + Pass data as void*, not float*. + +2004-08-27 John W. Eaton + + * byte-swap.h (swap_bytes): New template versions, with + specializations. + (swap_2_bytes, swap_4_bytes, swap_8_bytes): Delete. + Change all uses. + +2004-08-24 David Bateman + + * chNDArray.cc (concat): Check whether matrix to be inserted is + empty instead of checking final matrix. + * dNDArray.cc (concat): Likewise. + * CNDArray.cc (concat): Likewise. + +2004-08-23 David Bateman + + * dim-vector.h (dim_vector::concat): Correct incrementation for + non-existent dimensions. + +2004-08-09 John W. Eaton + + * idx-vector.h (idx_vector::idx_vector_rep::tree_to_mat_idx + (const octave_int&)): New member function. + (idx_vector::idx_vector_rep::tree_to_mat_idx (double, bool&), + idx_vector::idx_vector_rep::tree_to_mat_idx (int)): + Now member functions instead of static in idx-vector.cc. + (idx_vector::idx_vector_rep::idx_vector_rep (const octave_int&), + idx_vector::idx_vector_rep::idx_vector_rep (const intNDArray&)): + New template constructors. + +2004-08-05 John W. Eaton + + * EIG.cc (EIG::init): Add volatile qualifier to nvr decl. + + * intNDArray.cc (intNDArray::operator !, intNDArray::all, + intNDArray::any): Sprinkle with this-> as needed. + * mx-inlines.cc (MX_ND_REDUCTION, MX_ND_CUMULATIVE_OP): Likewise. + +2004-08-03 John W. Eaton + + * Array.cc (Array::squeeze): Do nothing for 2-d arrays. For + arrays with more than two dimensions and only one non-singleton + dimension, return a column vector. + +2004-07-28 John W. Eaton + + * oct-cmplx.h (pow (const Complex&, const double&): + Convert second arg to complex to avoid libstdc++ bug. + +2004-07-27 John W. Eaton + + * oct-inttypes.h (bitshift): New arg, MASK. + (OCTAVE_INT_BITSHIFT_OP): Bitshift does not saturate. + +2004-07-23 John W. Eaton + + * Array.cc (Array::reshape): Return *this if no change in size. + +2004-07-23 David Bateman + + * Array.cc, Array.h (cat_ra): Delete. + * Array.h, Array-C.cc, Array-d.cc, Array-ch.cc, Array-i.cc + (INSTANTIATE_ARRAY_CAT): Delete. + + * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, + chNDArray.h, intNDArray.cc, intNDArray.h (cat): Delete. + + * Array.cc (Array::insert): Copy data in NDArray version. + + * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, + chNDArray.h (concat): New function used for concatenation that does + an indexed copy of one array into another. + + * dim-vector.h (concat): New function to concatenate dim_vectors. + + * dNDArray.cc, dNDArray.h, CNDArray.cc, CNDArray.h, chNDArray.cc, + chNDArray.h, intNDArray.cc, intNDArray.h (insert): New function for + insertion of one NDArray into another. + + * oct-inttype.cc (OCTAVE_INT_CONCAT_FN, OCTAVE_INT_CONCAT_DECL): New + macros to define the int/uint concatenation functions. + + * uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc + int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc + (OCTAVE_INT_CONCAT_FN): Instantiate the concatenation function . + + * uint8NDArray.h, uint16NDArray.h, uint32NDArray.h, uint64NDArray.h + int8NDArray.h, int16NDArray.h, int32NDArray.h, int64NDArray.h + (OCTAVE_INT_CONCAT_DECL): Declare the int/uint concatentaion + functions. + +2004-07-22 David Bateman + + * oct-sort.h: Don't include oct-obj.h. + + * lo-specfun.cc (is_integer_value): New function. + (zbesj, zbesi, zbesy): Special case negative integer or half + integer orders that cause overflow for small arguments. + +2004-07-12 John W. Eaton + + * oct-inttypes.h (octave_int::nbits): New function. + (bitshift (const octave_int&, int)): New function. + +2004-06-14 John W. Eaton + + * mx-base.h: Include headers for new int types. + + * dNDArray.h, dNDArray.cc (NDArray::NDArray (const boolNDArray&), + NDArray::NDArray (const charNDArray&)): Delete. + (template explicit NDArray (const intNDArray&)): New + constructor. + (NDArray::squeze): Call MArrayN::squeeze, not ArrayN::squeeze. + + * chMatrix.h (CharMatrix::transpose): New forwarding functions for + return type conversion. + + * ComplexNDArray.h, ComplexNDArray.cc + (ComplexNDArray::ComplexNDArray (const ArrayN&), + (ComplexNDArray::ComplexNDArray (const NDArray&), + (ComplexNDArray::ComplexNDArray (const boolNDArray&), + (ComplexNDArray::ComplexNDArray (const charNDArray&)): Delete. + + (ComplexNDArray::squeze): Call MArrayN::squeeze, not ArrayN::squeeze. + + * MArrayN.h: + (template explicit MArrayN::MArrayN (const Array2&), + (template MArrayN::MArrayN (const ArrayN&), + (template explicit MArrayN::MArrayN (const MArray&)): + New constructors. + (ArrayN::reshape, ArrayN::permute, ArrayN::ipermute, + ArrayN::squeeze): + New forwarding functions for return type conversion. + + * ArrayN.h: + (template explicit ArrayN::ArrayN (const Array2&), + (template explicit ArrayN::ArrayN (const ArrayN&), + (template explicit ArrayN::ArrayN (const Array&), + (template explicit ArrayN::ArrayN (const Array&, + const dim_vector&)): New constructors. + (ArrayN::reshape, ArrayN::permute, ArrayN::ipermute, + ArrayN::transpose): + New forwarding functions for return type conversion. + + * Array.h (template Array::Array (const Array&)): + New constructor. + (Array::coerce, Array::byte_size): New functions. + + * Array-i.cc, MArray-i.cc: Instantiate new integer types. + + * oct-inttypes.h, int16NDArray.h, int32NDArray.h, int64NDArray.h, + int8NDArray.h , intNDArray.h, uint16NDArray.h, uint32NDArray.h, + uint64NDArray.h, uint8NDArray.h, int16NDArray.cc, int32NDArray.cc, + int64NDArray.cc, int8NDArray.cc, intNDArray.cc, uint16NDArray.cc, + uint32NDArray.cc, uint64NDArray.cc, uint8NDArray.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2004-06-04 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): New arg, RET_ELT_TYPE. Use + "RET_ELT_TYPE ()" rather than "false" as fill value for retval + resize op. Change all uses. + +2004-06-03 David Bateman + + * Array.cc (assignN): Allow magic colon for dimensions lvalue + greater than the existing number of dimensions in lvalue. + +2004-04-30 David Bateman + + * dim_vector.h (dim_vector::dim_vector_rep::dim_vector_rep): + New arg, fill_value. + (dim_vector::resize): Allow optional fill_value argument. + + * Array.cc (Array::index (Array&, int, const T&)): + Don't chop trailing dimensions of Array if there is + more than one element in idx_vector. Resize the return value to + the size of Array. + + * Array-util.cc (short_freeze): Better freeze of last dimension of + idx_vector that is shorter than a dim_vector. + +2004-04-23 John W. Eaton + + * oct-sort.cc: Don't include oct-obj.h. + +2004-04-22 John W. Eaton + + * Array.cc (Array::index2, Array::indexN): + Don't set invalid dimensions on return value. + +2004-04-21 John W. Eaton + + * mx-inlines.cc (MX_ND_REDUCTION): Chop trailing singletons. + +2004-04-06 David Bateman + + * Array.cc (Array::resize_no_fill (const dim_vector& dv), + Array::resize_and_fill (const dim_vector& dv, const T& val)): + Make their behavior equivalent except for filling vs. not filling. + + * oct-sort.cc: New template class for arbitrary sorting. + * oct-sort.h: Declaration of sort class. + * Makefile: Add them to the appropriate lists. + +2004-04-02 John W. Eaton + + * mx-inlines.cc (MX_ND_CUMULATIVE_OP): Fix off-by-one error. + +2004-04-02 David Bateman + + * lo-specfun.cc (besselj, bessely, besseli, besselk, besselh1, + besselh2, airy, biry, betainc, gammainc, do_bessel): + New N-d array versions. + (SN_BESSEL, NS_BESSEL, NN_BESSEL): New macros. + * lo-specfun.h (besselj, bessely, besseli, besselk, besselh1, + besselh2, airy, biry, betainc, gammainc): Provide decls. + + * dNDArray.cc (NDArray::min, NDArray::max, min, max): + New functions. + * dNDArray.h (NDArray::min, NDArray::max, min, max): Provide decls. + + * CNDArray.cc (ComplexNDArray::min, ComplexNDArray::max, min, max): + New functions. + * CNDArray.h (ComplexNDArray::min, ComplexNDArray::max, min, max): + Provide decls. + +2004-03-17 David Hoover + + * DASPK.cc (DASPK::do_integrate): Always add n*n elements to the + work vector, not just when using a numerical Jacobian. + +2004-03-11 John W. Eaton + + * so-array.cc (SND_CMP_OP, NDS_CMP_OP, NDND_CMP_OP): + Omit empty result args. + + * Array.cc (Array::Array (const Array&, const dim_vector&)): + Move here from Array.h, check that size of array arg is not + smaller than the size defined by the new dimensions. + +2004-03-10 John W. Eaton + + * Array.cc (Array::index2): Allow result to be N-d if indexing + a scalar or vector with an N-d array. + +2004-03-09 John W. Eaton + + * Array.cc (Array::index2): If scalar or vector is indexed by + matrix, return object that is the same size as the index. + + * mx-op-defs.h (NDND_CMP_OP, MM_CMP_OP): Require dimensions to agree. + Eliminate MT_RESULT args. Return value is always size of args. + (MS_CMP_OP, SM_CMP_OP, NDS_CMP_OP, SND_CMP_OP): + Eliminate EMPTY_RESULT arg. + Return value is always size of matrix or N-d array arg. + (TBM, FBM, NBM): Delete unused macros. + +2004-03-05 John W. Eaton + + * Array.cc (Array::maybe_delete_elements): Return immediately + if all LHS dimensions are zero. For one index case, freeze and + sort idx_vec before checking length, and do nothing if + num_to_delete is zero. + (Array::maybe_delete_elements_2): Omit Fortran-indexing warning. + +2004-03-04 David Bateman + + * dNDArray.cc (NDArray::ifourier): Arg is int, not const int. + * CNDArray.cc (ComplexNDArray::ifourier): Likewise. + +2004-03-03 Hans Ekkehard Plesser + + * base-lu.cc (base_lu<>::L): Check bounds before setting diagonal + element. + +2004-03-03 John W. Eaton + + * Range.h (Range::Range): Add cache to member initialization list. + (Range::clear_cache): New private function. + + * Range.h (Range::set_base, Range::set_limit, Range::set_inc): + Use clear cache. Don't do anything if range does not change. + * Range.cc (Range::sort): Likewise. + +2004-03-02 Paul Kienzle + + * Range.cc (Range::matrix_value): Cache result. + (Range::sort): Clear cache. + * Range.h (Range::cache): New data member. + (Range::set_base, Range::set_limit, Range::set_inc): Clear cache. + (Range::print_range): Delete. + +2004-03-02 David Bateman + + * oct-fftw.cc: Only two versions of plan, and avoid endless + changes between them. Faster for small fft's. + (octave_fftw_planner::simd_align, octave_fftw_planner::rsimd_align): + New member variables. + (octave_fftw_planner::ialign, octave_fftw_planner::oalign, + octave_fftw_planner::rialign, octave_fftw_planner::roalign): Delete. + Change all uses. + (CHECK_SIMD_ALIGNMENT): New macro. + (octave_fftw_planner::create_plan): Use it. + +2004-03-01 Petter Risholm + + * Array.cc (Array::insertN): Eliminate N-d indexing. + + * mx-inlines.cc (MX_ND_CAT): Delete macro. + + * dNDArray.h, chNDArray.h, CNDArray.h (cat): Change declaration. + * dNDArray.cc (NDArray::cat): Call new form of cat function. + * chNDArray.cc (charNDArray::cat): Ditto. + * CNDArray.cc (ComplexNDArray::cat): Ditto. + + * Array.h (cat_ra): Return int. Accept idx and move args, not add_dim. + * Array.cc (cat_ra): Speed up implementation by avoiding N-d indexing. + +2004-02-24 John W. Eaton + + * oct-rl-edit.c (octave_rl_set_startup_hook, + octave_rl_get_startup_hook, octave_rl_set_event_hook, + octave_rl_get_event_hook): Omit casts. + * oct-rl-edit.h (rl_startup_hook_fcn_ptr, rl_event_hook_fcn_ptr): + Return value for function pointer typedef is now int. + * cmd-edit.h (command_editor::startup_hook_fcn, + command_editor::event_hook_fcn): Likewise. + * cmd-hist.cc, cmd-hist.h (command_history::goto_mark, + command_history::do_goto_mark, gnu_history::do_goto_mark): + Return type is now int. Return 0. + + * EIG.cc (EIG::init, EIG::symmetric_init): + Query Lapack for workspace size. + +2004-02-23 John W. Eaton + + * Array.cc (Array::resize_and_fill (const dim_vector&, const T&)): + Fix thinko in extending dimensions. + +2004-02-20 John W. Eaton + + * Range.cc (Range::matrix_value, Range::min, Range::max): + Don't compute values beyond the limits of the range. + (operator << (std::ostream&, const Range&)): Likewise. + +2004-02-18 John W. Eaton + + * oct-fftw.cc (octave_fftw_planner::create_plan): + Cast IN and OUT args to ptrdiff_t instead of long before masking. + From Paul Kienzle . + + * Array.cc (Array::insertN (const Array&, int, int)): + Rename from Array::insert. + (Array::insert2 (const Array&, int, int)): + Reinstate old Array::insert function under this name. + (Array::insert (const Array&, int, int)): + New function. Dispatch to insert2 or insertN as appropriate. + +2004-02-17 John W. Eaton + + * oct-fftw.cc (convert_packcomplex_1d, convert_packcomplex_Nd): + Sprinkle with OCTAVE_QUIT. + +2004-02-16 David Bateman + + * oct-fftw.cc (octave_fftw_planner::create_plan, octave_fftw::fftNd): + Add support for FFTW 3.x. Include the ability to + use the real to complex transform for fft's of real matrices + (octave_fftw_planner::create_plan2d): Delete. + (octave_fftw::fft2d): Delete. + (convert_packcomplex_1d, convert_packcomplex_Nd): + New static functions. + * oct-fftw.h: Update decls. + + * dMatrix.cc (Matrix::fourier, Matrix::ifourier, + Matrix::fourier2d, Matrix::ifourier2d): FFT's use real to complex + transforms. 1D FFT of a matrix done as single call rather than + loop. Update for FFTW 3.x + * CMatrix.cc (ComplexMatrix::fourier, ComplexMatrix::ifourier, + ComplexMatrix::fourier2d, ComplexMatrix::ifourier2d): 1D fft of a + matrix done as single call rather than loop. Update for FFTW 3.x. + + * dNDArray.cc (NDArray::fourier, NDArray::ifourier, + NDArray::fourierNd, NDArray::ifouriourNd): New fourier transform + functions for Nd arrays. + * dNArray.h Provide decls. + * CNDArray.cc (ComplexNDArray::fourier, ComplexNDArray::ifourier, + ComplexNDArray::fourierNd, ComplexNDArray::ifouriourNd): New + fourier transform functions for complex Nd arrays. + * CNArray.h: Provide decls. + +2004-02-15 Petter Risholm + + * Array.cc (Array::insert (const Array&, int, int)): + Make it work for N-d arrays. + + * ArrayN.h (ArrayN::insert (const ArrayN& a, int, int)): + New function. + + * CNDArray.cc (ComplexNDArray::insert (const NDArray&, int, int), + ComplexNDArray::insert (const ComplexNDArray&, int, int)): + New functions. + * CNDArray.h: Provide decls. + +2004-02-14 John W. Eaton + + * Makefile.in (LINK_DEPS): Always define. + + * Array.cc (Array::squeeze): Always return an array with at + least two dimensions. + +2004-02-13 Petter Risholm + + * mx-inlines.cc (MX_ND_CAT): New macro. + * dNDArray.cc (NDArray::cat): New function. + * dNDArray.h: Provide decls. + * CNDArray.cc (complexNDArray::cat): New function. + * CNDArray.h: Provide decls. + * chNDArray.cc (charNDArray::cat): New function. + * chNDArray.h: Provide decls. + +2004-02-13 John W. Eaton + + * Array.cc (maybe_delete_elements_2): Allow X(n) = [] for 2-d X. + (Arrayassign2): Also call maybe_delete_elements for single + index when rows and columns or LHS are both greater than 1. + +2004-02-13 Petter Risholm + + * Array.cc (Array::maybe_delete_elements): + Check for index out of bounds. Handle one index. + + * Array.cc (Array::indexN): Use dim_vector (0, 0) instead of + dim_vector (0) to create empty return vector. + +2004-02-07 John W. Eaton + + * Array.cc (Array::assignN): Don't crash if trying to resize a + non-empty LHS when the number of lhs dimensions is less than the + number of indices. Detect error if attempting to resize non-empty + LHS with colon indices. + +2004-02-06 John W. Eaton + + * Array.cc (Array::resize_and_fill): Don't bother to assign any + values unless the length of the new array is greater than 0. + (Array::resize_no_fill): Likewise. + + * Array-util.cc (index_in_bounds): Also return false if ra_idx(i) + is equal to dimensions(i). + + * Array-util.h, Array-util.cc (equal_arrays, any_zero_len, + get_zero_len_size, number_of_elements): + Delete unused functions. + + * Array-util.cc (get_ra_idx): Use dim_vector::numel instead of + number_of_elements function. + * Array.cc (Array::indexN): Likewise. + + * Array.cc (Array::indexN): Use dim_vector::operator == instead + of equal_arrays function. + (Array::index, Array::indexN, Array::assignN) Use + dim_vector::any_zero instead of any_zero_len function. + + * Array.cc (Array::assignN): Eliminate special case for empty index. + Don't skip reshaping and resizing if RHS is empty. + + * Array.cc (Array::assignN): Simplify loop for array assignment. + Move body of MAYBE_RESIZE_ND_DIMS here since it is only used once. + Delete unused variables is_colon and is_colon_equiv. + Correctly resize for expressions like x(:,:,2) = ones(3,3) when + LHS is not yet defined. + Error for resizing if number of indices is less than number of LHS + dimensions. + + * Array.cc (Array::maybe_delete_elements): Maybe warn about + Fortran-style indexing. + +2004-02-05 John W. Eaton + + * Array.cc (Array::assignN): Simplify. + Allow assignments to succeed if number if indices is less than the + number of RHS dimensions. + +2004-02-05 Petter Risholm + + * Array.cc (Array::maybe_delete_elements): Reshape LHS + when number of indices is less than number of dimensions. + + * Array.cc (Array::assignN, Array::maybe_delete_elements): + Remove unsued variable lhs_inc. + + * Array.cc (Array::maybe_delete_elements): Declare idx_is_colon + and idx_is_colon_equiv Array instead of dim_vector. + + * Array.cc (Array::assignN): Compute new dims in a cleaner way. + + * Array.cc (Array::index): Check for frozen_lengths.length () + == n_dims before checking to see if all indices are colon_equiv. + +2004-02-05 John W. Eaton + + * Array.cc (Array::assignN): Require RHS == 0x0 matrix for + deleting elements. + (Array::index): Remove trailing singletons in ra_idx, but leave + at least ndims elements. + +2004-02-05 Petter Risholm + + * Array.cc (Array::assignN): Accept assignment of a vector + oriented differently from the index. + + * dim-vector.h (dim_vector::squeeze): Return value always has at + least two dimensions. + +2004-02-04 John W. Eaton + + * dim-vector.h (dim_vector::squeeze): New function. + (Array::assignN): Use it instead of chop_trailing_singltons for + deciding whether the assignment conforms. + + * Array.cc (Array::assignN): Simplify dimension check by + comparing rhs_dims and frozen_len sans trailing singletons. + +2004-02-03 John W. Eaton + + * idx-vector.cc (tree_to_mat_idx): New arg, conversion_error. + Call error handler and return conversion_error == true if arg is + not integer. + (IDX_VEC_REP::idx_vector_rep): Exit early if conversion_error. + +2004-02-02 John W. Eaton + + * boolNDArray.h (boolNDArray::boolNDArray): Declare dim_vector + reference arg const. + +2004-01-30 John W. Eaton + + * Array-flags.cc: Include Array-flags.h, not Array.h. Doh. + +2004-01-30 Jakub Bogusz + + * Array-flags.h (liboctave_wfi_flag, liboctave_wrore_flag): + Now bool, to match definition in Array-flags.cc. + +2004-01-23 John W. Eaton + + * file-ops.cc: Include instead of for new + definition of OCTAVE_LOCAL_BUFFER. + + * EIG.cc, EIG.h (EIG::init, EIG::symmetric_init, EIG::hermitian_init): + New arg, calc_eigenvectors. + * EIG.h (EIG:EIG): New optional arg, calc_eigenvectors. + Based on patch from David Bateman . + +2004-01-22 John W. Eaton + + * Array.cc (Array::assign2, Array::assignN): + For X(I) = RHS, don't restrict I to fewer elements than X. + + * Array.cc (Array::assign2): Simplify indexing for X(I) = RHS case. + +2004-01-22 Petter Risholm + + * mx-inlines.cc (MX_ND_REDUCTION, MX_ND_CUMULATIVE_OP): + Simplify calculation of number of elements in retval. + + * Array.cc (Array::assignN): Eliminate unnecessray code for + filling when RHS is scalar and dimension lengths agree. + +2004-01-22 John W. Eaton + + * Makefile.in (distclean): Remove mx-ops.h, $(MX_OP_INC), + $(VX_OP_INC), $(MX_OP_SRC), $(VX_OP_SRC), and $(OPTS_INC). + +2004-01-22 Petter Risholm + + * Array.cc (Array::resize_and_fill): Correctly copy old elements. + (Array::assign2): Check for RHS dimensions larger than 2. + +2004-01-21 Petter Risholm + + * Array.h (Array::chop_trailing_singletons): New function. + * Array.cc (Array::assignN): Use it on LHS. + + * Array.cc (Array::assignN): Fix incorrectly nested if statement. + Retrieve scalar element by passin 0 instead of an index array. + Check for singleton dimensions where RHS is matrix or higher dimension. + Make sure index is in bounds. + +2004-01-19 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Ensure that octave_Inf, + octave_NaN, and octav_NA values are always initialized. Check + floating point format, not HAVE_ISINF, HAVE_FINITE, or HAVE_ISNAN + to decide whether to do IEEE initialization. + +2004-01-06 David Bateman + + * CNDArray.cc (ComplexNDArray::any_element_is_inf_or_nan, + ComplexNDArray::all_elements_are_real, ComplexNDArray::all_integers, + ComplexNDArray::too_large_for_float): New functions + + * CNDArray.cc (operator <<, operator >>): New IO operators. + * CNDArray.h: Provide decls. + * dNDArray.cc (operator <<, operator >>): New IO operators. + * dNDArray.h: Provide decls. + +2003-12-10 John W. Eaton + + * mx-ops: Delete bnda x bnda, b x bnda, and bnda x b ops since + they are already defined in boolNDArray.cc. + + * Array-util.cc (get_zero_len_size): Delete. + * Array.cc (Array::index (Array&, int, const T&)): + Handle zero-length result dimensions the same as empty original + indices. + +2003-12-09 John W. Eaton + + * dim-vector.h (dim_vector::chop_trailing_singleton_dims, + dim_vector::dim_vector_rep::chop_trailing_singleton_dims): + New functions. + * Array.cc (ArrayN::indexN): Use it. + (ArrayN::index (Array&, int, const T&)): Likewise. + +2003-11-26 John W. Eaton + + * boolNDArray.cc: Define BOOL ops. Define mixed CMP ops. + * boolNDArray.h: Declare BOOL ops. Declare mixed CMP ops. + +2003-11-25 John W. Eaton + + * mk-ops.awk: Also emit #include "Array-util.h". + + * mx-ops: Add bool, boolMatrix, and boolNDarray types. + Add bnda x bnda, b x bnda, and bnda x b ops. + + * MArray-misc.cc: Delete. + * Makefile.in (MATRIX_SRC): Remove it from the list. + + * Array-util.h, Array-util.cc (gripe_nonconformant): Move here from + MArray.h, MArray2.h, MArrayN.h, and MArray-misc.cc. + +2003-11-24 John W. Eaton + + * dbleQR.cc (QR::init): Use separate pwork pointers. + * CmplxQR.cc (ComplexQR::init): Likewise. + + * oct-group.cc (octave_group::getgrnam): Pass correct args to + two-arg getgrnam version. + + * Array.cc (assignN): Allow single indexing to work. + (Array::range_error (const char*, const Array&)): + Report index values. + + * Array.cc (Array::index): Delete unused arg names. + * ODESSA.cc (odessa_j): Likewise. + * DASRT.cc (ddasrt_f, ddasrt_g): Likewise. + * DASPK.cc (ddaspk_psol): Likewise. + * lo-mappers.cc (imag): Likewise. + * Array-util.cc (get_zero_len_size): Likewise. + * kpse.cc (path_search, path_find_first_of): Likewise. + * cmd-edit.cc (do_generate_filename_completions): Likewise. + + * dim-vector.h (dim_vector::all_ones): New function. + +2003-11-23 John W. Eaton + + * idx-vector.h (idx_vector::orig_empty): Check orig_dims for + zeros, not orig_rows or orig_columns. + (idx_vector::idx_vector_rep::orig_rows): Define using orig_dims. + (idx_vector::idx_vector_rep::orig_columns): Likewise. + + * idx-vector.cc (idx_vector::idx_vector_rep::orig_nr, + (idx_vector::idx_vector_rep::orig_nc): Delete. + + * idx-vector.cc (idx_vector::idx_vector_rep): + Use initialization lists for constructors. + + * Array.cc (Array::indexN): Correctly handle single colon index. + Omit special case for ra_idx.capacity () == 1. + Always allow single index for matrix args with optional warning. + + * idx-vector.h, idx-vector.cc: Convert boolMatrix functions to use + boolNDArray. Likewise, convert Matrix functions to use NDArray. + + * Array-so.cc: New file. Move instantiations here from so-array.h. + * Makefile.in (TI_SRC): Add it to the list. + + * MArray-defs.h (DO_VS_OP2, DO_VV_OP2): Accept args for element + type and the names of the left and right operands. Change all uses. + + * so-array.cc, so-array.h: New files. Move streamoff_array here + from src/ov-streamoff.h and src/ov-streamoff.cc. + +2003-11-20 John W. Eaton + + * MArrayN.cc (operator -=, operator +=): Check dimensions, not + just length. + + * Array2.h, Array3.h, DiagArray2.h, DiagArray2.cc, MDiagArray2.h, + ArrayN.h: Add this-> or Base:: qualifiers for references to + non-dependent member functions and data as needed. + + * DiagArray2.h, DiagArray2.cc: Delete unused code. + + * Array2.h (Array2::operator =): Don't copy dimensions here. + * Array3.h (Array3::operator =): Likewise. + * DiagArray2.h (DiagArray2::operator =): Likewise. + Include Array.h, not Array2.h. + +2003-11-19 John W. Eaton + + * str-vec.cc (list_in_columns): Fix previous change. + + * dim-vector.h (dim_vector::num_ones): New function. + * Array.cc (maybe_delete_elements): Use it instead of + num_ones (const Array&). + + * Array.cc (assignN): Omit dubious check of singleton dimensions. + + * dNDArray.cc (NDArray::all_elements_are_int_or_inf_or_nan, + NDArray::any_element_is_inf_or_nan, NDArray::too_large_for_float): + New functions. + * dNDArray.h: Provide decls. + + * dMatrix.h (Matrix::any_element_is_negative, + Matrix::any_element_is_inf_or_nan, Matrix::too_large_for_float, + Matrix::all_elements_are_int_or_inf_or_nan, Matrix::all_integers): + Simplify. + + * dNDArray.cc (NDArray::abs): Make it work for N-d arrays. + * CNDArray.cc (ComplexNDArray::abs): Likewise. + + * dNDArray.cc (real, imag): New functions. + * dNDArray.h: Provide decls. + +2003-11-18 John W. Eaton + + * Makefile.in (TEMPLATE_SRC): Move MArrayN.cc here from MATRIX_SRC. + +2003-11-15 John W. Eaton + + * Array.h (Array::resize (int, const T&)): Reinstate. + * MArray.h (resize): Delete. + * MArray2.h (resize): Delete. + * DASRT.cc (DASRT::integrate): Use resize, not resize_and_fill. + * ODESSA (ODESSA::integrate): Likewise. + +2003-11-14 John W. Eaton + + * Makefile.in (dist): Depend on stamp-prereq. + +2003-11-12 John Eaton + + * mach-info.c (oct_mach_info::init_float_format) [CRAY]: + Kluge to make it work. + + * lo-ieee.cc (octave_ieee_init): Set octave_Inf, octave_NaN, and + octave_NA to DBL_MAX if native float format is vaxd, vaxg, or cray. + + * cmd-edit.cc (gnu_readline::do_generate_filename_completions, + default_command_editor::do_generate_filename_completions, + command_editor::generate_filename_completions): New functions. + * cmd-edit.h: Provide decls. + * oct-rl-edit.c (octave_rl_filename_completion_function): New + function. + * oct-rl-edit.h: Provide decl. + +2003-11-11 John W. Eaton + + * Array.h (INSTANTIATE_ARRAY_ASSIGN, INSTANTIATE_ARRAY_AND_ASSIGN, + INSTANTIATE_ARRAY): New macros. + * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-i.cc, + Array-idx-vec.cc, Array-s.cc, Array-str.cc, ODESSA.cc: Use them. + + * Array.h (Array::ipermute): New function. + +2003-11-11 Petter Risholm + + * Array.cc (Array::permute): New function. + * Array.h: Provide decl. + + * Array-util.cc (calc_permutated_idx): New function. + * Array-util.h: Provide decl. + +2003-11-10 John W. Eaton + + * Array.cc (Array::index2): Return value has orientation of + indexed value if indexing a vector with a bool matrix. + + * ArrayN.h (ArrayN::get_size): Delete. + + * Array.cc, ArrayN.cc, dNDArray.cc, CNDArray.cc, boolNDArray.cc, + chNDArray.cc: Include Array-util.h instead of ArrayN-inline.h. + + * ArrayN-inline.h: Delete. + * Array-util.h, Array-util.cc: New files, from ArrayN-inline.h. + * Makefile.in: Fix the appropriate lists. + + * Array.cc, Array.h, ArrayN.h, CMatrix.cc, CNDArray.h, + CRowVector.cc, CmplxQR.cc, CollocWt.h, DASPK.h, DASRT.h, DASSL.h, + FEGrid.cc, LP.h, LSODE.h, MArrayN.h, ODE.h, ODES.h, ODESSA.cc, + boolNDArray.h, chNDArray.h, dMatrix.cc, dNDArray.h, dRowVector.cc, + dbleQR.cc, kpse.cc, oct-rl-hist.c, str-vec.cc, str-vec.h: + Avoid -Wshadow warnings. + +2003-11-08 John Eaton + + * Array.h (Array::nil_rep): Qualify return type with typename. + + * mk-ops.awk: Delete elements of bool_headers array individually. + +2003-11-07 John W. Eaton + + * Array.cc (maybe_delete_elements): Rename arg idx to ra_idx. + +2003-10-31 Petter Risholm + + * mx-inlines.cc (MX_ND_CUMULATIVE_OP): New macro. + + * CNDArray.cc, CNDArray.h (ComplexNDArray::cumsum, + ComplexNDArray::cumprod): Return ComplexNDArray. Handle N-d arrays. + * dNDArray.cc, dNDArray.h (NDArray::cumsum, NDArray::cumprod): + Return NDArray. Handle N-d arrays. + +2003-10-31 John W. Eaton + + * LSODE.cc (LSODE::do_integrate): Avoid name conflict on systems + that upcase Fortran names by calling dlsode instead of lsode. + + * ODESSA.cc (ODESSA::do_integrate): Avoid name conflict on systems + that upcase Fortran names by calling dodessa instead of odessa. + + * file-ops.cc (file_ops::symlink): Cope with systems that expect + non-const args for symlink system call. + (file_ops::readlink): Likewise, for readlink. + + * DASRT.cc (DASRT::integrate): Fix typo in Fortran function name. + +2003-10-30 John W. Eaton + + * mach-info.h (oct_mach_info): Prefix enum elements with flt_fmt_. + Change all uses. + +2003-10-29 Petter Risholm + + * dNDArray.cc (NDArray::cumprod, NDArray::cumsum, NDArray::prod, + NDArray::sum, NDArray::sumsq, NDArray::abs): New functions. + * dNDArray.h: Provide decls. + * CNDArray.cc (ComplexNDArray::cumprod, ComplexNDArray::cumsum, + ComplexNDArray::prod, ComplexNDArray::sum, ComplexNDArray::sumsq, + ComplexNDArray::abs): New functions. + * CNDArray.h: Provide decls. + + * mx-inlines.cc (MX_ND_REDUCTION): Rename from MX_ND_ANY_ALL. + Generalize to handle other reduction operations. + (MX_ND_REAL_OP_REDUCTION, MX_ND_COMPLEX_OP_REDUCTION, + MX_ND_ALL_ANY_REDUCTION): New macros. + +2003-10-29 John W. Eaton + + * Array.cc (Array::reshape): New function. + * Array.h: Provide decl. + + * dim-vector.h (dim_vector::numel): New function. + + * dim-vector.h (dim_vector_rep::dim_vector_rep (int, const + dim_vector&)): Correctly handle case of n < dv->ndims. + +2003-10-28 John W. Eaton + + * dim-vector.h (dim_vector::any_zero): New function. + (dim_vector::str): New default arg, sep. + + * Array.h (Array::numel): New function. + +2003-10-27 Petter Risholm + + * mx-inlines.cc (MX_ND_ALL_EXPR, MX_ND_ANY_EXPR, + MX_ND_ALL_EVAL, MX_ND_ANY_EVAL, MX_ND_ALL_ANY): New macros. + * dNDArray.h (NDArray::all, NDArray::any): Return type now boolNDArray. + * CNDArray.h (ComplexNDArray::all, ComplexNDArray::any): Likewise. + * boolNDArray.h (boolNDArray::all, boolNDArray::any): Likewise. + * chNDArray.h (charNDArray::all, charNDArray::any): Likewise. + * dNDArray.cc (NDArray::all, NDArray::any): Make them work. + * CNDArray.cc (ComplexNDArray::all, ComplexNDArray::any): Likewise. + * boolNDArray.cc (boolNDArray::all, boolNDArray::any): Likewise. + * chNDArray.cc (charNDArray::all, charNDArray::any): Likewise. + +2003-10-27 John W. Eaton + + * Array.cc (Array::resize_and_fill): Allow number of dimensions + to change. From Petter Risholm . + + * oct-rand.cc, CColVector.cc, CMatrix.cc, CRowVector.cc, + CmplxAEPBAL.cc CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, + CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, CollocWt.cc, DASPK.cc, + DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, ODESSA.cc, + Quad.cc, dColVector.cc, dMatrix.cc, dRowVector.cc, dbleAEPBAL.cc, + dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, + dbleSCHUR.cc, dbleSVD.cc, lo-specfun.cc: + Use new F77 arg macros in declarations of external Fortran + subroutines and for calling them. + +2003-10-25 John W. Eaton + + * Array.cc (Array::resize_no_fill (const dim_vector&)): + Allow number of dimensions to change. + (Array::resize_no_fill (int, int)): Require ndims to be 0 or 2. + (Array::resize_and_fill (int, int, const T&)): Likewise. + (Array::resize_no_fill (int, int, int)): Require ndims to be 0 or 3. + (Array::resize_and_fill (int, int, int, const T&)): Likewise. + (Array::transpose): Require ndims to be 2. + (Array::index2): Likewise. + (Array::index (idx_vector&, idx_vector&, int, const T&)): Likewise. + (Array::maybe_delete_elements_2): Likewise. + (Array::maybe_delete_elements (idx_vector&, idx_vector&)): Likewise. + (Array::index1): Use resize_and_fill. + (MAYBE_RESIZE_ND_DIMS): Likewise. + + * ODESSA.cc (ODESSA::integrate): Use resize_and_fill for x_s_out. + + * MArray2.h (MArray2::resize (int, int)): New function. + (MArray2::resize (int, int, const T&)): New function. + + * MArray.h (MArray::resize (int)): New function. + (MArray::resize (int, const T&)): New function. + + * DASRT.cc (DASRT::integrate): Use resize_and_fill for jroot. + + * DASPK-opts.in: Use single-arg resize for initial condition + heuristics. + + * dim-vector.h (class dim_vector): Now reference counted. + (dim_vector_rep::elem): Use assert to check that index is in bounds. + +2003-10-23 John W. Eaton + + * Array.cc (Array::squeeze): Delete redundant retval decl. + + * mx-cdm-cm.cc, mx-cdm-cm.h, mx-cdm-cs.cc, mx-cdm-cs.h, + mx-cdm-dm.cc, mx-cdm-dm.h, mx-cdm-m.cc, mx-cdm-m.h, mx-cdm-s.cc, + mx-cdm-s.h, mx-cm-cdm.cc, mx-cm-cdm.h, mx-cm-dm.cc, mx-cm-dm.h, + mx-cm-m.cc, mx-cm-m.h, mx-cm-s.cc, mx-cm-s.h, mx-cs-cdm.cc, + mx-cs-cdm.h, mx-cs-dm.cc, mx-cs-dm.h, mx-cs-m.cc, mx-cs-m.h, + mx-dm-cdm.cc, mx-dm-cdm.h, mx-dm-cm.cc, mx-dm-cm.h, mx-dm-cs.cc, + mx-dm-cs.h, mx-dm-m.cc, mx-dm-m.h, mx-dm-s.cc, mx-dm-s.h, + mx-m-cdm.cc, mx-m-cdm.h, mx-m-cm.cc, mx-m-cm.h, mx-m-cs.cc, + mx-m-cs.h, mx-m-dm.cc, mx-m-dm.h, mx-ops.h, mx-s-cdm.cc, + mx-s-cdm.h, mx-s-cm.cc, mx-s-cm.h, mx-s-dm.cc, mx-s-dm.h, + vx-ccv-cv.cc, vx-ccv-cv.h, vx-ccv-s.cc, vx-ccv-s.h, vx-crv-rv.cc, + vx-crv-rv.h, vx-crv-s.cc, vx-crv-s.h, vx-cs-cv.cc, vx-cs-cv.h, + vx-cs-rv.cc, vx-cs-rv.h, vx-cv-ccv.cc, vx-cv-ccv.h, vx-cv-cs.cc, + vx-cv-cs.h, vx-rv-crv.cc, vx-rv-crv.h, vx-rv-cs.cc, vx-rv-cs.h, + vx-s-ccv.cc, vx-s-ccv.h, vx-s-crv.cc, vx-s-crv.h: Delete. These + files are now automatically generated. + + * Makefile.in ($(VX_OP_INC), $(VX_OP_SRC), $(MX_OP_INC), + $(MX_OP_SRC)): Generate lists with new mk-ops.awk script. + Add rules to generate these files and mx-ops.h. + (stamp-prereq): Depend on these files. + + * mx-ops, vx-ops, mk-ops.awk: New files. + * Makefile.in (DISTFILES): Add them to the list. + +2003-10-17 John W. Eaton + + * NDArray.cc (NDArray::NDArray (const boolNDArray), + NDArray::NDArray (const charNDArray)): New constructors. + (NDArray::operator !): New function. + Provide NDS_CMP_OPS, NDS_BOOL_OPS, SND_CMP_OPS, SND_BOOL_OPS, + NDND_CMP_OPS, NDND_BOOL_OPS. + + * CNDArray.cc (ComplexNDArray::ComplexNDArray (const NDArray&), + ComplexNDArray::ComplexNDArray (const boolNDArray&), + ComplexNDArray::ComplexNDArray (const charNDArray&)): + New constructors. + (ComplexNDArray::operator !): New function. + Provide NDS_CMP_OPS, NDS_BOOL_OPS, SND_CMP_OPS, SND_BOOL_OPS, + NDND_CMP_OPS, NDND_BOOL_OPS. + + * ArrayN.h (resize (const dim_vector&)): Fix typo. + + * boolNDArray.cc (boolNDArray::operator !): New function. + Provide NDND_CMP_OPS. + + * MArrayN.cc (operator +=, operator -=): New functions. + Provide product and quotient functions. + + * MArray-misc.cc (gripe_nonconformant (const char *, dim_vector&, + dim_vector&)): New function. + + * dim-vector.h (dim_vector::str, dim_vector::all_zero, + operator ==, operator !=): New functions. + * ArrayN.cc (operator <<): Use dim_vector::str here. + + * Array.cc (Array::resize_no_fill, Array::resize_and_fill): + No need to save old dimensions. + + * oct-rand.cc (MAKE_RAND_ND_ARRAY): New macro. + (octave_rand::nd_array): New function. + * oct-rand.h (octave_rand::nd_array): Provide decl. + + * mx-op-defs.h (NDCMP_OP_DECL, NDBOOL_OP_DECL, NDS_BIN_OP_DECLS, + NDS_BIN_OP, NDS_BIN_OPS, NDS_CMP_OP_DECLS, NDS_CMP_OP, + NDS_CMP_OPS, NDS_BOOL_OP_DECLS, NDS_BOOL_OP, NDS_BOOL_OPS, + NDS_OP_DECLS, SND_BIN_OP_DECLS, SND_BIN_OP, SND_BIN_OPS, + SND_CMP_OP_DECLS, SND_CMP_OP, SND_CMP_OPS, SND_BOOL_OP_DECLS, + SND_BOOL_OP, SND_BOOL_OPS, SND_OP_DECLS, NDND_BIN_OP_DECLS, + NDND_BIN_OP, NDND_BIN_OPS, NDND_CMP_OP_DECLS, NDND_CMP_OP, + NDND_CMP_OPS, NDND_BOOL_OP_DECLS, NDND_BOOL_OP, NDND_BOOL_OPS, + NDND_OP_DECLS): New macros. + * mx-cm-m.h, mx-cm-s.h, mx-cs-m.h, mx-m-cm.h, mx-m-cs.h, + mx-s-cm.h, mx-cm-m.cc, mx-cm-s.cc, mx-cs-m.cc, mx-m-cm.cc, + mx-m-cs.cc, mx-s-cm.cc: Use them. + + * mx-defs.h (class NDArray, class ComplexNDArray, class + boolNDArray, class charNDArray): New forward decls. + +2003-10-15 John W. Eaton + + * Array.cc (assign2): No error (but don't do anything either) for + expressions like x([],j) = scalar. + +2003-10-09 John W. Eaton + + * Array.cc (assignN): Allow lhs(:) = scalar. + + * CNDArray.cc (ComplexNDArray::increment_index): New function. + * dNDArray.cc (NDArray::increment_index): Likewise. + * boolNDArray.cc (boolNDArray::increment_index): Likewise. + * chNDArray.cc (charNDArray::increment_index): Likewise. + + * dim-vector.h (rows, cols): Delete unused data members. + + * Array.cc (Array::get_size): Fix thinko. + +2003-10-08 John W. Eaton + + * Array.cc (Array::squeeze): New function. + * CNDArray.h (ComplexNDArray::squeeze): Likewise. + * dNDArray.h (NDArray::squeeze): Likewise. + * boolNDArray.h (boolNDArray::squeeze): Likewise. + * chNDArray.h (charNDArray::squeeze): Likewise. + +2003-10-06 Petter Risholm + + * Array.cc (ArrayN::indexN): New definition. + * Array.h (Array::indexN): Provide decl. + * Array.cc (ArrayN::index (idx_vector&, int, const T&): + Call indexN if more than 2 indices. + (ArrayN::index (Array&, int, const T&)): + Make it (mostly) work. + * ArrayN-inline.h (number_of_elements, get_ra_idx, short_freeze): + New functions. + +2003-10-02 John W. Eaton + + * cmd-edit.cc (do_readline): Pass eof to octave_fgetl. + * lo-utils.cc (octave_fgets, octave_fgetl): New overloaded + versions with eof arg. + +2003-09-20 John W. Eaton + + * Array.h (dimensions): Now public. + template + (assign (Array&, const Array&, const LT&), + assign1 (Array&, const Array&, const LT&), + assign2 (Array&, const Array&, const LT&), + assignN (Array&, const Array&, const LT&), + resize_no_fill (int), + resize_no_fill (int, int), + resize_no_fill (int, int, int), + resize_no_fill (const dim_vector&), + resize_and_fill (int, const T&), + resize_and_fill (int, int, const T&), + resize_and_fill (int, int, int, const T&), + resize_and_fill (const dim_vector&, const T&)): Now public. + + * Array.cc: Include . + +2003-09-19 John W. Eaton + + * Array.cc: Merge Array-idx.h. + * Array-idx.h: Delete. + + * chNDArray.h, chNDArray.cc, boolNDArray.h, boolNDArray.cc: New files. + + * Array.h, Array-idx.h, Array.cc: Fold all N-d functionality here. + Turn inheritance hierarchy upside down (2-d and 3-d arrays are now + just special cases of the general purpose N-d Array object). + + * dim-vector.h: New file. Use dim_vector objects instead of + ints or Array objects to represent the size of Array + objects. + + * MArray-defs.h (INSTANTIATE_MARRAYN_FRIENDS): New macro. + + * Array2-idx.h, Array3-idx.h, Array2.cc, Array3.cc: Delete. + + * mx-base.h: Include NDArray header files. + + * MArray-C.cc, MArray-d.cc: Also instantiate ArrayN objects. + + * Array-C.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-i.cc, + Array-s.cc: Also instantiate ArrayN objects. + Don't instantiate assign funcitons for Array2 objects. + + * CDiagMatrix.cc (ComplexDiagMatrix::diag): Signal error with + liboctave_error_handler, not cerr. + * CMatrix.cc (ComplexMatrix::diag): Likewise. + * dDiagMatrix.cc (DiagMatrix::diag): Likewise. + * dMatrix.cc (Matrix::diag): Likewise. + + * Array-flags.cc, Array.cc, Array.h, Array2.h, Array3.h, ArrayN.h: + Omit checks for HEAVYWEIGHT_INDEXING. + +2003-09-12 John W. Eaton + + * mx-base.h: Include CNDarray.h. Include dNDArray.h, not NDArray.h. + + * CNDARray.h, CNDArray.cc: New files. + * Makefile.in: Add them to the appropriate lists. + + * dNDArray.h: Rename from NDArray.h. + * dNDArray.cc: Rename from NDArray.cc. + * Makefile.in: Rename them here too. + +2003-09-10 Petter Risholm + + * mx-base.h: Include NDArray.h, not ArrayN.h. + + * MArrayN.cc, MArrayN.h, NDArray.h, NDArray.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2003-09-09 David Bateman + + * lo-specfun.cc (zbesj, zbesy, zbesi, zbesk, zbesh1, zbesh2, airy, + biry): Always request scaled results from AMOS functions and + perform reverse scaling on results if scaled result not requested + by user. + +2003-09-04 John W. Eaton + + * lo-specfun.cc (xlgamma): Require nonnegative argument. + +2003-09-09 John W. Eaton + + * Array-d.cc: Instantiate assign functions. + +2003-09-09 Petter Risholm + + * ArrayN-idx.h (vector_equivalent, equal_arrays): New functions. + (get_elt_idx): Index ra_idx correctly. + + * ArrayN-inline.h (index_in_bounds): Index is also condidered in + bounds if it is exactly on the bound. + + * ArrayN.cc (ArrayN::maybe_delete_dims): New function. + * ArrayN.h: Provide decl. + + * ArrayN.h (ArrayN::ArrayN (const Matrix&)): New constructor. + + * idx-vector.h (idx_vector::orig_dims): New member variable. + (idx_vector::idx_vector_rep::orig_dimensions): New function. + (idx_vector::orig_dimensions): New function. + +2003-09-04 John W. Eaton + + * lo-specfun.cc (xlgamma): Require nonnegative argument. + +2003-09-04 Petter Risholm + + * ArrayN-idx.h (maybe_delete_elements): Implement function. + (is_in, how_many_lgt, all_ones): New functions. + +2003-09-03 John W. Eaton + + * Makefile.in (MATRIX_INC): Add ArrayN-inlines.h to the list. + +2003-09-03 Petter Risholm + + * ArrayN-inline.h: New file. + (index_in_bounds, increment_index): Move here. + * ArrayN.cc: From here. + + * ArrayN.h (maybe_delete_elements): New arg, resize_fill_value. + * ArrayN-idx.h (assign): New function. + +2003-08-28 John W. Eaton + + * lo-specfun.cc (zbesj, zbesy, zbesi, zbesk, airy, biry): + Also zero imaginary part of result if real part of input value is + zero. + +2003-07-30 Heine Kolltveit + + * mx-base.h: Include ArrayN.h. + +2003-30-07 Heine Kolltveit + + * ArrayN.cc (operator <<): Corrected output. + +2003-07-30 John W. Eaton + + * ArrayN.cc (increment_index): New arg, start_dimension. + +2003-07-29 Heine Kolltveit + + * ArrayN.cc (operator <<): Improve output readability. + +2003-07-29 Petter Risholm + + * ArrayN.cc (ArrayN::resize (const Array&, const T&)): + * ArrayN.cc (ArrayN::resize (const Array&)): + Initialize old_len before changing size. + +2003-07-29 John W. Eaton + + * Makefile.in (install-lib): Use $(INSTALL), not + $(INSTALL_PROGRAM) for $(SHLLIB) files. + +2003-07-25 John W. Eaton + + * lo-mappers.cc (xmin, xmax): Handle NaN in a Matlab-compatible + way. Handle NA in an R-compatible way. + + * lo-cieee.c (lo_ieee_is_NaN_or_NA): Also check for lo_ieee_is_NA. + (lo_ieee_is_NA): Don't call isnan unless HAVE_ISNAN is defined. + + * lo-mappers.h (octave_is_NA (const Complex&)): Provide decl. + (octave_is_NaN_or_NA (const Complex&)): Likewise. + + * dMatrix.cc (Matrix::row_min, Matrix::row_max, + Matrix::column_min, Matrix::column_max): Ignore NaNs. + * CMatrix.cc (ComplexMatrix::row_min, ComplexMatrix::row_max, + ComplexMatrix::column_min, ComplexMatrix::column_max): Likewise. + +2003-07-11 John W. Eaton + + * Array2-idx.h (assign (Array2&, const Array2&, const LT&)): + Pass true for resize_ok arg to freeze. + * Array-idx.h (assign (Array&, const Array&, const LT&)): + Likewise. + + * idx-vector.cc (IDX_VEC_REP::freeze): New arg, warn_resize; + resize_ok arg is now bool. + * idx-vector.h (idx_vector::freeze): Likewise. + + * Array-flags.cc, Array-flags.h (liboctave_wrore_flag): + Rename from liboctave_rre_flag. Now bool. + (liboctave_wfi_flag): Now bool. + + * Array2-idx.h (MAYBE_RESIZE_LHS): Don't check liboctave_rre_flag. + +2003-07-11 Russell Standish + + * Array.h (resize_fill_value): Now a top-level template function. + Accept object as argument. Change all uses. + +2003-07-09 John W. Eaton + + * Array-flags.cc, Array-flags.h (liboctave_pcv_flag): Delete. + + * Array2-idx.h (Array2::index): Use liboctave_wfi_flag, not + liboctave_dfi_flag. + (assign): Likewise. For indexed assignments like X(I) = RHS with + X undefined or empty, always create a row vector. + + * Array-flags.cc (liboctave_wfi_flag): Rename from liboctave_dfi_flag. + * Array-flags.h (liboctave_wfi_flag): Ditto. + +2003-06-24 John W. Eaton + + * Array2-idx.h (Array2::index (idx_vector&, int, const T&)): + Magic colon indexing always produces an object with one column. + +2003-06-21 Paul Kienzle + + * kpse-xfns.h (NAME_BEGINS_WITH_DEVICE): Arg is std::string, not char*. + + * lo-ieee.h (signbit): Eliminate redundant extern "C" decl. + +2003-06-18 John W. Eaton + + * dMatrix.cc (any_element_is_negative): If new optional arg + neg_zero is true, also return true for negative zero. + +2003-06-16 John W. Eaton + + * DASSL.cc (DASSL::do_integrate): Set liw to 21 + n, not 20 + n. + Handle step limit. + * DASSL-opts.in: New option for step limit. + +2003-06-16 Per Persson + + * oct-shlib.cc: Include mach-o/dyld.h, not Mach-O/dyld.h. + +2003-06-16 John W. Eaton + + * DASRT.cc (DASRT::integrate): Set liw to 21 + n, not 20 + n. + Store step limit in iwork(20), not iwork(18). + +2003-05-16 Paul Kienzle + + * oct-rand.cc: Use liboctave's clock layer instead of the system clock. + +2003-05-14 John W. Eaton + + * Makefile.in: Handle DESTDIR. + + * kpse.cc (kpse_path_iterator::next): Skip consecutive colons here. + (kpse_path_iterator::set_end): Don't miss last element when not + followed by a colon. + +2003-05-11 John W. Eaton + + * Array-idx.h (Array::index): Fix off-by-one error. + +2003-05-07 John W. Eaton + + * kpse.cc (kpse_absolute_p): Fix typo in translation. + (find_first_of): Also do an absolute search on each + name before looking in the path. + +2003-05-04 John W. Eaton + + * kpse.cc (dir_list_add): Ensure that directory ends with a + directory separator. + +2003-04-30 John W. Eaton + + * pathsearch.cc: Include kpse.cc here. + + * kpse.cc: All functions are now static. Massive surgery to + condense kpathsearch library to a single file of just the + essentials for Octave and convert to using C++ strings (no more + calls to malloc, very few calls to new, so there should be much + less potential for introducing memory leaks now). + + * Makefile.in (EXTRAS): Move kpse.cc here from + LIBOCT_PATHSEARCH_CXX_SOURCES. + + * kpse.h, kpse-config.h: Delete. + * Makefile.in (INCLUDES): Delete them from the list. + +2003-04-26 John W. Eaton + + * str-vec.cc (string_vector::append (const std::string&), + string_vector::append (const string_vector&)): New methods. + +2003-04-24 John W. Eaton + + * kpse.cc, kpse.h: Replace fn_type with std::string. + + * lo-ieee.h (lo_ieee_signbit): Provide signbit decl for MinGW systems. + + * kpse.cc (xclosedir): Don't define or declare for Windows. + (READABLE): Now a static function to avoid warnings from MinGW + compiler. + +2003-04-23 John W. Eaton + + * kpse.cc: Move most functions from kpse-xfns.c here and make + static. Include most of kpse-xfns.h directly, removing + unnecessary bits. + + * dMatrix.cc (Matrix::pseudo_inverse): Now const. + * CMatrix.cc (ComplexMatrix::pseudo_inverse): Likewise. + +2003-04-18 John W. Eaton + + * getopt.c, getopt1.c, getopt.h: Move here from kpathsea. + * Makefile.in: Add them to the appropriates lists. + + * oct-getopt.c: Include "getopt.h", not . + + * Makefile.in (liboctave.$(LIBEXT), liboctave.$(SHLEXT)): Adjust + for new locations of kpathsea objects. + Delete kpathsea targets. + + * pathsearch.cc (dir_path::set_program_name): Delete. + + * kpse.cc: New file. + * Makefile.in (LIBOCT_PATHSEARCH_CXX_SOURCES): Add it to the list. + + * kpse.c: New file. + * Makefile.in (LIBOCT_PATHSEARCH_C_SOURCES): Add it to the list. + + * kpse.h, kpse-config.h, kpse-xfns.h: New files. + * Makefile.in (INCLUDES): Add them to the list. + + * oct-kpse.h: Delete. + * Makefile.in (INCLUDES): Delete it from the list. + +2003-04-07 John W. Eaton + + * dbleSVD.h (SVD::SVD, SVD::operator =): Also copy type_computed. + * CmplxSVD.h (ComplexSVD::ComplexSVD, ComplexSVD::operator =): + Likewise. + From Quentin H. Spencer . + +2003-03-03 John W. Eaton + + * oct-getopt.c: Include , not "getopt.h". + +2003-02-21 John W. Eaton + + * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Handle systems with or + without placement delete. + + * CMatrix.cc (ComplexMatrix::all_elements_are_real): Don't lose -0 + imaginary parts. + + * lo-ieee.h (lo_ieee_signbit): New macro. + +2003-02-18 David Bateman + + * dMatrix.cc (Matrix::inverse, Matrix::determinant, Matrix::solve): + Use Lapack instead of Linpack. + * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::determinant, + ComplexMatrix::solve): Likewise. + + * dMatrix.cc (Matrix::determinant, Matrix::inverse): New arg, + calc_cond. If 0, skip condition number calculation. + * CMatrix.cc (ComplexMatrix::determinant, ComplexMatrix::inverse): + Likewise. + + * CmplxLU.cc (ComplexLU::ComplexLU): Allow non-square matrices. + * dbleLU.cc (LU::LU): Likewise. + * base-lu.cc (base_lu::L), base_lu::U, base_lu::P): Likewise. + +2002-10-31 John W. Eaton + + * octave.test/arith/prod-4.m, octave.test/arith/sum-4.m: + +2003-02-14 John W. Eaton + + * Array2-idx.h (Array2::index): Fix thinko. + Additional compatibility fix. + +2003-02-13 Arno Klaassen + + * Array2-idx.h, Array2.cc, Array2.h, Array3.cc, Array3.h, + ArrayN.cc, ArrayN.h, DiagArray2.cc, DiagArray2.h, MDiagArray2.h: + Sprinkle with Array:: as necessary for gcc 3.4. + +2003-02-13 John W. Eaton + + * Array2-idx.h (Array2::index (idx_vector&, int, const T&)): + Compatibility fix. + +2003-02-10 John W. Eaton + + * CColVector.cc (ComplexColumnVector::extract_n): New function. + * CRowVector.cc (ComplexRowVector::extract_n): Likewise. + * CMatrix.cc (ComplexMatrix::extract_n): Likewise. + * dColVector.cc (ColumnVector::extract_n): Likewise. + * dRowVector.cc (RowVector::extract_n): Likewise. + * dMatrix.cc (Matrix::extract_n): Likewise. + + * CColVector.cc (ComplexColumnVector::insert): Improve efficiency + with make_unique and xelem. + * CRowVector.cc (ComplexRowVector::insert): Likewise. + * CMatrix.cc (ComplexMatrix::insert, ComplexMatrix::fill, + ComplexMatrix::extract, ComplexMatrix::row, + ComplexMatrix::column): Likewise. + * dColVector.cc (ColumnVector::insert): Likewise. + * dRowVector.cc (RowVector::insert): Likewise. + * dMatrix.cc (Matrix::insert, Matrix::fill, Matrix::extract, + Matrix::row, Matrix::column): Likewise. + +2003-01-30 John W. Eaton + + * lo-mappers.cc (imag (double)): Return 0.0 for all args, even NaN. + +2003-01-28 John W. Eaton + + * CMatrix.cc, dMatrix.cc: Move min and max functions here, from + src/DLD-FUNCTIONS/minmax.cc, and make them extern. + * CMatrix.h, dMatrix.h: Provide decls. + +2003-01-24 John W. Eaton + + * oct-rand.h, oct-rand.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2003-01-23 John W. Eaton + + * Array2-idx.h (Array2::index): Fix off-by-one error. + +2003-01-16 Mumit Khan + + * oct-syscalls.cc: Include signal.h. + +2003-01-10 John W. Eaton + + * oct-syscalls.cc (octave_syscalls::kill): New function. + * oct-syscalls.h: Provide decl. + + +2003-01-06 John W. Eaton + + * dMatrix.cc (Matrix::read): Set size and return immediately if + there is nothing to read. + +2003-01-05 John W. Eaton + + * lo-cutils.c: Define _XOPEN_SOURCE. + +2003-01-04 John W. Eaton + + * getopt.h: Update to version from kpathsearch, so we will install + the version that we are using. + + * getopt.c, getopt1.c: Delete. + (INCLUDES): Delete them from the list. We'll get these files from + kpathsearch. + + * Makefile.in (liboctave.$(LIBEXT)): Link directly to + ../kpathsea/STATIC/*.o. + (liboctave.$(SHLEXT)): Link directly to ../kpathsea/SHARED/*.o. + +2003-01-03 John W. Eaton + + * dMatrix.cc (read_int, write_int): Avoid warnings about + unreachable code. + + * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Define operator delete + to correspond to placement new operator. + + * dbleDET.cc (DET::value_will_overflow): We want det[1], not det[2]. + (DET::value_will_underflow): Likewise. + * CmplxDET.cc (ComplexDET::value_will_overflow): Likewise. + (ComplexDET::value_will_underflow): Likewise. + + * Makefile.in (distclean): Also remove stamp-prereq. + + * Array2-idx.h (Array2::assign): If assignment conforms but the + RHS and index are empty matrices, don't do anything. + +2002-12-26 John W. Eaton + + * pathsearch.cc (make_retval, free_c_array, make_c_names, + delete_c_names): New helper functions. + (dir_path::find_first_of): New function. + (dir_path::find_all_first_of): Likewise. + * pathsearch.h: Provide decls. + + * oct-kpse.c (octave_kpse_path_find_first_of): New function. + (octave_kpse_all_path_find_first_of): Likewise. + * oct-kpse.h: Provide decls. + +2002-12-19 John W. Eaton + + * ODESSA.cc (ODESSA::integrate): Handle maxord. + * ODESSA-opts.in: Likewise. + + * LSODE.cc (ODESSA::integrate): Handle maxord. + * LSODE-opts.in: Likewise. + +2002-12-18 John W. Eaton + + * ODESSA.cc (ODESSA::ODESSA): Initialize "initialized" data member + in all constructors. + + * Makefile.in (liboctave.$(SHLEXT)): Include $(LIBKPATHSEA) here. + (LINK_DEPS): Not here. + +2002-12-06 John W. Eaton + + * str-vec.cc (string_vector::compare): New static member function. + * str-vec.h: Provide decl. + (string_vector::sort): Use it. + (str_vec_compare): Delete static function. + + * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): Also declare and define + a placement operator new. + +2002-12-03 John W. Eaton + + * Matrix.h: Include mx-ops.h too. + * mx-ops.h: New file. + +2002-11-20 John W. Eaton + + * DASRT.cc, DASRT.h, Array.cc, ArrayN.h, Array.h, Array2.cc, + Array2.h, Array3.cc, Array3.h, Bounds.cc, Bounds.h, CRowVector.h, + CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, CMatrix.h, + CRowVector.cc, CColVector.h, ChangeLog, CmplxAEPBAL.cc, + CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, + CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, + CmplxQR.h, CmplxQRP.cc, ArrayN.cc, CmplxQRP.h, CmplxSCHUR.cc, + CmplxSCHUR.h, CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, dMatrix.cc, + CollocWt.h, EIG.h, DASSL.cc, FEGrid.h, DASSL.h, DiagArray2.cc, + DiagArray2.h, EIG.cc, FEGrid.cc, LSODE.cc, LPsolve.cc, LPsolve.h, + LSODE.h, LinConst.cc, LinConst.h, MArray.h, MArray.cc, MArray2.cc, + MArray2.h, MDiagArray2.cc, MDiagArray2.h, Range.cc, NLConst.h, + NLEqn.cc, Range.h, NLEqn.h, Quad.cc, dbleQR.h, Quad.h, base-lu.cc, + base-lu.h, boolMatrix.cc, boolMatrix.h, dColVector.cc, + dColVector.h, dDiagMatrix.cc, dDiagMatrix.h, dMatrix.h, + dRowVector.cc, dRowVector.h, dbleAEPBAL.cc, dbleAEPBAL.h, + dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, dbleDET.h, dbleHESS.cc, + dbleHESS.h, dbleLU.cc, dbleLU.h, dbleQR.cc, dbleQRP.cc, dbleQRP.h, + dbleSCHUR.cc, dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, + idx-vector.h, oct-alloc.cc, CColVector.cc, DASPK.h, DASPK.cc, + ODESSA.h, ODES.h, ODESSA.cc, ODES.cc, chMatrix.h, chMatrix.cc: + Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of + "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)". + +2002-11-15 John W. Eaton + + * oct-shlib.cc (octave_dlopen_shlib::open): Use RTLD_GLOBAL too. + From Remy Bruno + +2002-11-14 John W. Eaton + + * lo-specfun.cc: Use F77_FUNC instead of F77_XFCN for calls to + fortran code that should run fast enough that it is not worth all + the setup costs of F77_XFCN. + + * Quad.cc (user_function): Surround body of function with + BEGIN_INTERRUPT_WITH_EXCEPTIONS, END_INTERRUPT_WITH_EXCEPTIONS. + * ODESSA.cc (odessa_f, odessa_j, odessa_b): Likewise. + * NLEqn.cc (hybrd1_fcn, hybrj1_fcn): Likewise. + * LSODE.cc (lsode_f, lsode_j): Likewise. + * DASSL.cc (ddassl_f, ddassl_j): Likewise. + * DASRT.cc (ddasrt_f, ddasrt_j, ddasrt_g): Likewise. + * DASPK.cc (ddaspk_f, ddaspk_psol, ddaspk_j): Likewise. + +2002-11-11 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Check defined (__osf__) instead + of ! defined (linux). + +2002-11-09 Per Persson + + * oct-shlib.cc (octave_dyld_shlib): New class. + (make_shlib): Instantiate octave_dyld_shlib. + +2002-11-06 John W. Eaton + + * CMatrix.cc, dMatrix.cc: Sprinkle with OCTAVE_QUIT. + + * ODESSA.cc (odessa_f, odessa_j, odessa_b): Abort on error. + + * Array.h: Include here. + +2002-11-01 John W. Eaton + + * DASPK.cc (DASPK::do_integrate): Resize rwork and iwork before + using them. Accept inequality contraint option of 0. Assign + pabs_tol and prel_tol before calling DASPK. Don't redeclare + abs_tol and rel_tol. + + * cmd-edit.h (command_editor::filename_completion_desired): New + static function. + (command_editor::do_filename_completion_desired): New virtual function. + * oct-rl-edit.c (octave_rl_filename_completion_desired): New function. + * oct-rl-edit.h: Provide decl. + + * Array2.cc (Array2::get_size): #define MALLOC_OVERHEAD to + avoid OS X linker bug. + * ArrayN.cc (ArrayN::get_size): Likewise. + +2002-10-31 John W. Eaton + + * ODESFunc.h (ODESFunc::ODES_fsub, ODESFunc::ODES_bsub, + ODESFunc::ODES_jsub): Reorder args for consistency with other + solvers. + * ODESSA.cc: Fix all callers. + + * mx-inlines.cc (MX_BASE_REDUCTION_OP): Also return scalar + MT_RESULT if nr == 1 && nc == 0 && dim == -1 (i.e., + sum(zeros(1,0)) returns 0, not [](1x0)). + +2002-10-30 John W. Eaton + + * Makefile.in (LINK_DEPS): Include $(FLIBS) here too. + +2002-10-29 John W. Eaton + + * DASRT.cc (DASRT::integrate): Fix computation of lrw + (ddasrt_f): Combine loops. + + * NLEqn.cc (NLEqn::solve): Return current estimate of solution + instead of empty vector if user termninates iteration. + +2002-10-28 John W. Eaton + + * lo-utils.cc (read_inf_nan_na, octave_read_double, + octave_read_complex, octave_write_double, octave_write_complex): + New functions. + * CMatrix.cc (operator << (std::ostream&, const ComplexMatrix&)): + Use octave_write_complex. + (operator >> (std::istream&, const ComplexMatrix&)): + Use octave_read_complex. + * dMatrix.cc (operator << (std::ostream&, double)): + Use octave_write_double. + (operator >> (std::istream&, double)): Use octave_read_double. + +2002-10-25 John W. Eaton + + * oct-kpse.c (octave_kpse_clear_dir_cache): Delete. + * oct-kpse.h: Delete decl. + * pathsearch.cc (dir_path::init): Delete unnecessary call to + ::octave_kpse_clear_dir_cache. + +2002-10-24 John W. Eaton + + * lo-sstream.h: Undef HAVE_SSTREAM if using a version of g++ + earlier than 3.0. + + * Makefile.in (LINK_DEPS): Include $(LIBKPATHSEA) here. + (liboctave.$(SHLEXT)): Not here. + +2002-10-17 Paul Kienzle + + * oct-shlib.cc (octave_w32_shlib): New class to support Windows. + +2002-10-16 John W. Eaton + + * Makefile.in (install-lib): Don't bother with versions for + $(SHLBIN) files. + +2002-10-16 Paul Kienzle + + * Makefile.in (LIB_DEPS): Include $(LIBS). + +2002-10-14 John W. Eaton + + * lo-cieee.c: Move everything but lo_ieee_init here. + (lo_ieee_Inf_value, lo_ieee_NA_value, lo_ieee_NaN_value): + New functions. + + * Makefile.in (install): No need to use cd to create links. + (LINK_DEPS): Include $(LIBOCTAVE_LFLAGS) before list of libraries. + +2002-10-14 Paul Kienzle + + * Makefile.in: Merge liboctave with liboct-readline and + liboct-pathsearch. + Use link dependencies for shared libs if INCLUDE_LINK_DEPS. + (libraries): Depend on versioned library. + (liboctave.$(SHLEXT), liboctave.$(SHLEXT_VER)): Reverse actions -- + build unversioned library, symbolic link adds version info. + (install, uninstall): Handle link and load forms of the library + separately. + +2002-10-11 John W. Eaton + + * oct-time.cc: Use OCTAVE_USE_WINDOWS_API instead of __WIN32__ and + __CYGWIN__. + + * file-ops.cc (file_ops::dir_sep_char, file_ops::dir_sep_str, + file_ops::dir_sep_chars): New static functions to replace + OCTAVE_DIR_SEP_CHAR, OCTAVE_DIR_SEP_STR, OCTAVE_DIR_SEP_CHARS. + + * oct-env.cc (octave_env::do_set_program_name): + Use file_ops::dir_sep_chars instead of OCTAVE_DIR_SEP_CHARS. + (octave_env::do_base_pathname): Likewise. + (octave_env::do_make_absolute): Likewise. + + * oct-env.cc (octave_env::do_make_absolute): + Use file_ops::dir_sep_str instead of OCTAVE_DIR_SEP_STR. + (octave_env::do_get_home_directory): Likewise. + + * file-ops.cc (is_dir_sep): Use dir_sep_chars instead of embedding + that information here too. + (tilde_find_suffix, isolate_tilde_prefix, tilde_expand_word): + Use file_ops::dir_sep_char instead of OCTAVE_DIR_SEP_CHAR. + + * file-ops.h: Use OCTAVE_HAVE_WINDOWS_FILESYSTEM and + OCTAVE_HAVE_POSIX_FILESYSTEM instead of __WIN32__ and __CYGWIN__. + +2002-10-09 John W. Eaton + + * oct-env.h (octave_env::current_directory): Now mutable. + (octave_env:do_getcwd): Now const. + + * file-ops.h, file-ops.cc (file_ops::is_dir_sep): New function. + (OCTAVE_DIR_SEP_CHAR, OCTAVE_DIR_SEP_STR, OCTAVE_DIR_SEP_CHARS, + OCTAVE_CURRENT_DIR_STR): New macros. + * oct-env.cc (is_dir_sep): Delete. + (octave_env::do_base_pathname): Look for OCTAVE_DIR_SEP_CHARS, not '/'. + (octave_env::do_set_program_name): Likewise. + (octave_env::do_polite_directory_format): Use file_ops::is_dir_sep + instead of checking for '/'. + (octave_env::pathname_backup): Likewise. + (octave_env::do_absolute_pathname): Likewise. + (octave_env::do_make_absolute): Likewise. + If dot_path is empty, use getcwd to set current_dir. + (octave_env::do_get_home_directory): Use OCTAVE_DIR_SEP_STR + instead of "/". + +2002-10-07 Paul Kienzle + + * lo-cutils.c: On non-Posix Windows systems, include winsock.h. + +2002-10-07 Paul Kienzle + + * oct-env.cc (octave_env::do_absolute_pathname): Recognize + absolute path names under MinGW as well. + +2002-10-07 John W. Eaton + + * oct-env.cc: Include too. + +2002-10-04 John W. Eaton + + * oct-env.cc (octave_env::do_absolute_pathname): Handle Windows + filenames. + (octave_env::do_make_absolute): Check for absolute name with + do_absolute_path. + (octave_env::do_chdir): Likewise. + (is_dir_sep): New function. + +2002-10-03 Paul Kienzle + + * oct-time.cc (octave_time::stamp): Better resolution for Windows + systems. + +2002-10-02 John W. Eaton + + * dMatrix.cc (Matrix::read): Clean up error handling logic. + +2002-09-30 John W. Eaton + + * file-ops.cc (file_ops::mkdir): Handle one-arg mkdir here. + + * lo-specfun.cc (acosh): Call xdacosh, not dacosh. + +2002-09-27 Per Persson + + * oct-group.cc (octave_group::octave_group): Dont' forget to set + gr_gid too. + +2002-09-27 John W. Eaton + + * lo-mappers.cc (xisnan, xfinite, xisinf): Simply forward to + lo_ieee_* functions. + * Makefile.in (LIBOCTAVE_C_SOURCES): Add lo-cieee.c to the list. + * lo-ieee.cc (lo_ieee_double): Rename from ieee_double. + (LO_IEEE_NA_HW, LO_IEEE_NA_LW): Rename from NA_HW and NA_LW. + * lo-cieee.c: New file. + [SCO] (isinf, isnan): Move here from lo-ieee.cc. + * lo-ieee.h: Now all extern "C". + (lo_ieee_isnan, lo_ieee_finite, lo_ieee_isinf): Move here from + lo-mappers.cc and rename from xisnan, xfinite, xisinf. + + * lo-ieee.cc (lo_ieee_hw, lo_ieee_low): Rename from hw and lw. + Now extern. + +2002-09-26 John W. Eaton + + * Array.cc, Array.h, Array2.cc, Array2.h, Array3.cc, Array3.h, + ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, + CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, + CMatrix.h, CRowVector.cc, CRowVector.h, CmplxAEPBAL.cc, + CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, + CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, + CmplxQR.h, CmplxQRP.cc, CmplxQRP.h, CmplxSCHUR.cc, CmplxSCHUR.h, + CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DAE.cc, + DASPK.cc, DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, + DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, FEGrid.h, + LPsolve.cc, LPsolve.h, LSODE.cc, LSODE.h, LinConst.cc, LinConst.h, + MArray.cc, MArray.h, MArray2.cc, MArray2.h, MDiagArray2.cc, + MDiagArray2.h, NLConst.h, NLEqn.cc, NLEqn.h, ODES.cc, ODES.h, + ODESSA.cc, ODESSA.h, Quad.cc, Quad.h, Range.cc, Range.h, + base-lu.cc, base-lu.h, boolMatrix.cc, boolMatrix.h, chMatrix.cc, + chMatrix.h, dColVector.cc, dColVector.h, dDiagMatrix.cc, + dDiagMatrix.h, dMatrix.cc, dMatrix.h, dRowVector.cc, dRowVector.h, + dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, + dbleDET.h, dbleHESS.cc, dbleHESS.h, dbleLU.cc, dbleLU.h, + dbleQR.cc, dbleQR.h, dbleQRP.cc, dbleQRP.h, dbleSCHUR.cc, + dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, idx-vector.h, + oct-alloc.cc: + If __GNUG__, use pragma interface/implementation. Allow this to + be turned off by defining NO_PRAGMA_INTERFACE_IMPLEMENTATION. + +2002-09-26 Paul Kienzle + + * file-ops.cc (file_ops::readlink): Don't declare buffer if + system readlink function is not available. + + * lo-mappers.cc (xerf, xerfc): Delete. + * lo-mappers.h (xerf, xerfc): Delete decls. + + * lo-mappers.cc: Remove unused #define M_PI. + * lo-specfun.cc: Add #define M_PI if needed. + +2002-09-23 John W. Eaton + + * cmd-edit.cc (do_decode_prompt_string): Cope with possibility + that geteuid doesn't exist. + + * LP.h: Rename LP class to octave_LP. + LPsolve.h: Change all uses. + + * file-ops.cc, oct-passwd.cc oct-syscalls.cc oct-group.cc: Remove + incorrect token-pasting op. + + * statdefs.h [! S_ISLNK]: undef HAVE_LSTAT instead of trying to + define lstat. + +2002-09-19 John W. Eaton + + * Array.cc, Array.h, Array2.cc, Array2.h, Array3.cc, Array3.h, + ArrayN.cc, ArrayN.h, Bounds.cc, Bounds.h, CColVector.cc, + CColVector.h, CDiagMatrix.cc, CDiagMatrix.h, CMatrix.cc, + CMatrix.h, CRowVector.cc, CRowVector.h, CmplxAEPBAL.cc, + CmplxAEPBAL.h, CmplxCHOL.cc, CmplxCHOL.h, CmplxDET.cc, CmplxDET.h, + CmplxHESS.cc, CmplxHESS.h, CmplxLU.cc, CmplxLU.h, CmplxQR.cc, + CmplxQR.h, CmplxQRP.cc, CmplxQRP.h, CmplxSCHUR.cc, CmplxSCHUR.h, + CmplxSVD.cc, CmplxSVD.h, CollocWt.cc, CollocWt.h, DAE.cc, + DASPK.cc, DASPK.h, DASRT.cc, DASRT.h, DASSL.cc, DASSL.h, + DiagArray2.cc, DiagArray2.h, EIG.cc, EIG.h, FEGrid.cc, FEGrid.h, + LPsolve.cc, LPsolve.h, LSODE.cc, LSODE.h, LinConst.cc, LinConst.h, + MArray.cc, MArray.h, MArray2.cc, MArray2.h, MDiagArray2.cc, + MDiagArray2.h, NLConst.h, NLEqn.cc, NLEqn.h, ODES.cc, ODES.h, + ODESSA.cc, ODESSA.h, Quad.cc, Quad.h, Range.cc, Range.h, + base-lu.cc, base-lu.h, boolMatrix.cc, boolMatrix.h, chMatrix.cc, + chMatrix.h, dColVector.cc, dColVector.h, dDiagMatrix.cc, + dDiagMatrix.h, dMatrix.cc, dMatrix.h, dRowVector.cc, dRowVector.h, + dbleAEPBAL.cc, dbleAEPBAL.h, dbleCHOL.cc, dbleCHOL.h, dbleDET.cc, + dbleDET.h, dbleHESS.cc, dbleHESS.h, dbleLU.cc, dbleLU.h, + dbleQR.cc, dbleQR.h, dbleQRP.cc, dbleQRP.h, dbleSCHUR.cc, + dbleSCHUR.h, dbleSVD.cc, dbleSVD.h, idx-vector.cc, idx-vector.h, + oct-alloc.cc: + Use USE_PRAGMA_INTERFACE_IMPLEMENTATION instead of __GNUG__ + to decide whether to use the interface/implementation pragmas. + +2002-09-08 John W. Eaton + + * Makefile.in (INCLUDES): Add lo-sstream.h to the list. + +2002-08-17 Mumit Khan + + * CmplxCHOL.h, CollocWt.h, cmd-edit.h, oct-shlib.h: Don't use + qualified names. + +2002-08-17 John W. Eaton + + * Array.h, Array2-idx.h, DiagArray2.cc, Array2.cc, Array3.cc, + ArrayN.cc: Add typename where needed. + + * DASPK.cc: Include lo-sstream.h and use macros instead of using + strstream classes directly. + * DASRT.cc: Likewise. + * DASSL.cc: Likewise. + * LSODE.cc: Likewise. + * ODESSA.cc: Likewise. + + * cmd-hist.cc: Don't include . + * oct-shlib.cc: Likewise. + + * lo-sstream.h: New file. + +2002-08-16 John W. Eaton + + * LSODE.h (rel_tol, abs_tol, px, pabs_tol, piwork, prwork, itol): + New data members. + (LSODE::sanity_checked): Delete unused data member. + + * DASPKL.h (initialized, abs_tol, rel_tol, px, pxdot, pabs_tol, + prel_tol, pinfo, piwork, prwork): New data members. + * DASSL.h (DASSL): Likewise. + + * DASRT.h (DASRT::sanity_checked): Delete unused data member. + + * DASRT.cc (DASRT::integrate (double)): Better handling of + initialization, changes in options, etc. + * DASPK.cc (DASPK::do_integrate): Likewise. + * DASSL.cc (DASSL::do_integrate): Likewise. + * LSODE.cc (LSODE::do_integrate): Likewise. + +2002-08-15 John W. Eaton + + * DAEFunc.h (DAEFunc::reset): New data member. + * DAERTFunc.h (DAERTFunc::reset): Likewise. + + * base-de.h (base_diff_eqn::set_stop_time): Force restart here. + (base_diff_eqn::clear_stop_time): Likewise. + + * DASSL.cc (DASSL::do_integrate (double)): Handle more optoins. + * DASPK.cc (DASPK::do_integrate (double)): Likewise. + +2002-08-15 Paul Kienzle + + * DASPK-opts.in, DASPK.h: Move include to .in file. + * DASRT-opts.in, DASRT.h: Likewise. + * DASSL-opts.in, DASSL.h: Likewise. + * LSODE-opts.in, LSODE.h: Likewise. + * NLEqn-opts.in, NLEqn.h: Likewise. + * ODESSA-opts.in, ODESSA.h: Likewise. + +2002-08-14 John W. Eaton + + * LSODE.cc (LSODE::error_message): Also return current T on + failures when that makes sense. + * DASSL.cc (DASSL::error_message): Likewise. + * DASRT.cc (DASRT::error_message): Likewise. + * DASPK.cc (DASPK::error_message): Likewise. + * ODESSA.cc (ODESSA:error_message): Likewise. + + * Makefile.in (liboct-pathsearch.$(SHLEXT_VER)): Link to + $(LIBKPATHSEA) here. + +2002-08-08 John W. Eaton + + * lo-ieee.cc (lo_ieee_is_NA): New function. + (lo_ieee_is_NaN_or_NA): New function. + (octave_NA): New global value. + (octave_ieee_init): Initialize it. + * lo-mappers.cc (octave_is_NA): New function. + (octave_is_NaN_or_NA): New function. + (xisnan): Return false if NaN looks like a missing value. + (xisnan (const Complex&)): Use xisnan here. + +2002-08-02 John W. Eaton + + * CMatrix.h (ComplexMatrix::all, ComplexMatrix::any, + ComplexMatrix::cumprod, ComplexMatrix::cumsum, + ComplexMatrix::prod, ComplexMatrix::sum, ComplexMatrix::sumsq): + Default value for dim is -1, not 0. + * dMatrix.h (Matrix::all, Matrix::any, Matrix::cumprod, + Matrix::cumsum, Matrix::prod, Matrix::sum, Matrix::sumsq): Likewise. + * boolMatrix.h (boolMatrix:all, boolMatrix::any): Likewise. + * chMatrix.h (charMatrix::all, charMatrix::any): Likewise. + + * mx-inlines.cc (MX_ANY_ALL_OP_ROW_CODE, MX_ANY_ALL_OP_COL_CODE): + New macros. + (MX_ANY_ALL_OP): Define MX_ANY_ALL_OP using them and + MX_BASE_REDUCTION_OP. + (MX_CUMULATIVE_OP): Fix spelling. Change all uses. + +2002-08-01 John W. Eaton + + * chMatrix.h, chMatrix.cc (charMatrix::any, charMatrix::all): + Return boolMatrix, not Matrix. + + * mx-inlines.cc (MX_ANY_ALL_OP, MX_ALL_OP, MX_ANY_OP): New macros. + * dMatrix.cc (Matrix::any): Replace guts with MX_ANY_OP. + (Matrix::all): Replace guts with MX_ALL_OP. + * CMatrix.cc (ComplexMatrix::any): Replace guts with MX_ANY_OP. + (ComplexMatrix::all): Replace guts with MX_ALL_OP. + * boolMatrix.cc (boolMatrix::any): Replace guts with MX_ANY_OP. + (boolMatrix::all): Replace guts with MX_ALL_OP. + * chMatrix.cc (charMatrix::any): Replace guts with MX_ANY_OP. + (charMatrix::all): Replace guts with MX_ALL_OP. + + * dMatrix.h (Matrix::any): New arg, dim. + (Matrix::all): Likewise. + * CMatrix.h (ComplexMatrix::any): Likewise. + (ComplexMatrix::all): Likewise. + * boolMatrix.h (boolMatrix::any): Likewise. + (boolMatrix::all): Likewise. + * chMatrix.h (charMatrix::any): Likewise. + (charMatrix::all): Likewise. + + * Makefile.in: Use $@-t instead of $@.t. + +2002-07-25 John W. Eaton + + * lo-specfun.cc (gammainc): New arg, err, for scalar version. + Use it in matrix versions to avoid spewing multiple errors. + Call xgammainc instead of dgamit. + +2002-07-22 John W. Eaton + + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const boolMatrix&)): + Get rows and columns right in loop. + (ComplexMatrix::ComplexMatrix (const charMatrix&)): Likewise. + +2002-07-19 John W. Eaton + + * DASPK.cc (DASPK::do_integrate): Allow array tolerances. + * DASRT.cc (DASRT::integrate): Likewise. + * DASSL.cc (DASSL::do_integrate): Likewise. + + * Quad.cc: Don't pass tolerances in constructors. + + * DASPK-opts.in, DASRT-opts.in, DASSL-opts.in, LSODE-opts.in, + NLeqn-opts.in, ODESSA-opts.in, Quad-opts.in: New files. + * DASPK-opts.h, DASRT-opts.h, DASSL-opts.h, LSODE-opts.h, + NLeqn-opts.h, ODESSA-opts.h, Quad-opts.h: Generate automatically + from corresponding .in files. + * LSODE.h, Quad.h: Replace options class definitions with included + file. + * Makefile.in (OPTS_INC_SRC, OPTS_INC): New variables, new rule to + create OPTS_INC files from OPTS_INC_SRC files. + (stamp-prereq): New target. + (libraries): Depend on stamp-prereq. + Include stamp-prereq along with $(MAKEDEPS). + +2002-07-17 John W. Eaton + + * base-de.h (base_diff_eqn::istate): New data member. + (base_diff_eqn::integration_state): New member function. + * LSODE.h, LSODE.cc, ODESSA.h, ODESSA.cc: Delete corresponding + data members and functions. + * DASPK.h, DASRT.h, DASSL.h: Delete idid data member. + * DASPK.cc, DASRT.cc, DASSL.cc: Use istate instead of idid. + +2002-07-16 John W. Eaton + + * base-de.h (base_diff_eqn::stop_time, + base_diff_eqn::stop_time_set, base_diff_eqn::restart, + base_diff_eqn::integration_error): New data members. + (base_diff_eqn::set_stop_time, base_diff_eqn::clear_stop_time, + base_diff_eqn::force_restart, base_diff_eqn::integration_ok, + base_diff_eqn::error_message): New member functions. + * LSODE.h, LSODE.cc, DASSL.h, DASSL.cc, DASPK.h, DASPK.cc, + DASRT.h, DASRT.cc, ODESSA.h, ODESSA.cc: Delete corresponding data + members and functions. + + * DASRT.h (DASRT::set_ng, DASRT::get_ng): Delete + * DASRT.cc (DASRT::DASRT): Set ng here. + (DASRT::integrate): Don't forget to set nn. + + * DAEFunc.h (DAEFunc): Jacobian function now follows format of DASSL. + * DASSL.cc (ddassl_j): Make it work. + * DASPK.cc (ddaspk_j): Likewise. + + * DAE.cc: Delete. + + * DAERT.h, DAERTFunc.h, DASRT.h, DASRT.cc: New files for DAE + solving with root finding. + * Makefile.in: Add them to the appropriate lists. + + * base-dae.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * DAE.h (DAE): Derive from base_diff_alg_eqn, not base_diff_eqn. + +2002-07-10 John W. Eaton + + * ODE.h: Move integrate and do_integrate method declarations and + definitions here. + * base-de.h: From here. + + * ODES.h, ODES.cc, ODESFunc.h, ODESSA.h, ODESSA.cc: New files. + * Makefile.in: Add them to the appropriate lists. + (LIBOCTAVE_CXX_SOURCES): + +2002-07-02 John W. Eaton + + * NLEqn.cc (NLEqn::error_message): New function. + * NLEqn.h (NLEqn::solution_state, NLEqn::solution_ok): New functions. + +2002-07-01 John W. Eaton + + * lo-utils.cc (octave_fgetl): New function. + * cmd-edit.cc (do_readline): Use it instead of octave_fgets. + +2002-05-24 John W. Eaton + + * LSODE.cc (LSODE::error_message): New function. + * LSODE.h: Provide decl. + (LSODE::integration_state): New function. + (LSODE::integration_ok): New function. + +2002-05-23 John W. Eaton + + * LSODE.cc (LSODE_options::x_integration_method): New data member. + (LSODE_options::set_integration_method, + LSODE_options::integration_method): New functions. + + * LSODE.h (LSODE_options::x_absolute_tolerance): Now Array. + Change all uses. + (LSODE_OPTIONS::absolute_tolerance): Return Array, not double. + (LSODE_OPTIONS::set_absolute_tolerance (const Array&)): + New function. + + * Array.h (Array::fortran_vec): New const version. + +2002-05-22 John W. Eaton + + * cmd-edit.cc (gnu_readline::history_search_backward): New function. + (gnu_readline::history_search_forward): Likewise. + (gnu_readline::gnu_readline): Use them instead of passing pointers + to extern "C" functions to octave_rl_ad_defun. + +2002-05-22 Mumit Khan + + * DASPK.cc (ddaspk_psol): Return value. + * oct-rl-edit.c: Use /* ... */ to comment. + +2002-05-20 John W. Eaton + + * DASSL.h (DASSL_options::init): Undo previous change. + (DASSL_options::set_absolute_tolerance): Likewise. + * LSODE.h (LSODE_options::init): Likewise. + (LSODE_options::set_absolute_tolerance): Likewise. + + * DASPK.h (DASPK_options::init): Use default absolute tolerance of + sqrt(eps), not eps^2. + DASPK_options::set_absolute_tolerance): Likewise. + +2002-05-17 Mumit Khan + + * Array.h (Array::resize_fill_value): Return default initialized + object. + +2002-05-14 John W. Eaton + + * oct-rl-edit.c (OCTAVE_RL_SAVE_STRING): New macro. + (octave_rl_set_name, octave_rl_set_basic_quote_characters): Use it. + (octave_rl_set_basic_word_break_characters, + octave_rl_set_completer_word_break_characters): New functions. + * oct-rl-edit.h: Provide decls. + * cmd-edit.cc (gnu_readline::do_set_basic_word_break_characters, + gnu_readline::do_set_completer_word_break_characters): New functions. + (command_editor::set_basic_quote_characters, + command_editor::set_completion_append_character): New static functions. + * cmd-edit.h: Provide decls. + (command_editor::do_set_basic_word_break_characters, + command_editor::do_set_completer_word_break_characters): + New virtual functions. + + * CMatrix.h, boolMatrix.h, chMatrix.h, dMatrix.h + (resize_fill_value): New static function. + + * Array-idx.h (Array::index): New args, resize_ok and + resize_fill_value. + * Array2-idx.h (Array2::index): Likewise. + * ArrayN-idx.h (ArrayN::index): Likewise. + + * Array2.cc (Array::print_info): New function. + * Array2.h: Provide decl. + + * Array.cc (Array::print_info): New function. + * Array.h: Provide decl. + +2002-05-03 John W. Eaton + + * idx-vector.h (idx_vector::idx_vector (int)): New function. + (idx_vector_rep::idx_vector_rep (int)): New decl. + * idx-vector.cc (idx_vector_rep::idx_vector_rep (int)): New function. + + * Array.h (Array::resize_fill_value (void)): New static function. + (assign (Array&, const Array&)): Use it. + * Array2.h (assign (Array2&, const Array2&)): Use it. + * ArrayN.h (assign (ArrayN&, const ArrayN&)): Use it. + +2002-05-02 Cai Jianming + + * Array3.h (Array3::checkelem): Improve error message. + * ArrayN.h (ArrayN::range_error): Likewise. + * DiagArray2.cc (DiagArray2::checkelem): Likewise. + * DiagArray2.cc (DiagArray2::operator ()): Likewise. + +2002-04-30 John W. Eaton + + * DASSL.h (DASSL_options::init): Undo previous change. + (DASSL_options::set_absolute_tolerance): Likewise. + +2002-04-27 John W. Eaton + + * DASPK.h, DASPK.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2002-04-23 John W. Eaton + + * Array2-idx.h (Array2::index (idx_vector&, idx_vector&) const): + Simplify indexing when one or both of the indices are empty. + +2002-04-11 John W. Eaton + + * DASSL.h (DASSL_options::init): Set absolute tolerance to eps ^ 2. + (DASSL_options::set_absolute_tolerance): Likewise. + * LSODE.h (LSODE_options::init): Likewise. + (LSODE_options::set_absolute_tolerance): Likewise. + +2002-04-03 Steven G. Johnson + + * f2c-main.c (MAIN_, MAIN__): Delete. Use F77_DUMMY_MAIN instead. + * file-stat.cc (file_stat::update_internal, file_stat::copy): + Use HAVE_STRUCT_STAT_ST_RDEV instead of HAVE_ST_RDEV. + Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of HAVE_ST_BLKSIZE. + Use HAVE_STRUCT_STAT_ST_BLOCKS instead of HAVE_ST_BLOCKS. + * file-stat.h: Likewise. + * oct-time.cc (octave_time::octave_time, octave_base_tm::strftime, + octave_base_tm::init, octave_strptime::init): Use HAVE_TM_ZONE + instead of HAVE_STRUCT_TM_TM_ZONE. + * strftime.c: Likewise. + * lo-specfun.cc, mach-info.cc, CColVector.cc, CMatrix.cc, + CRowVector.cc, CmplxAEPBAL.cc, CmplxCHOL.cc, CmplxHESS.cc, + CmplxLU.cc, CmplxQR.cc, CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, + CollocWt.cc, DASSL.cc, EIG.cc, LSODE.cc, NLEqn.cc, Quad.cc, + dColVector.cc, dMatrix.cc, dRowVector.cc, dbleAEPBAL.cc, + dbleCHOL.cc, dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, + dbleSCHUR.cc, dbleSVD.cc: Use F77_FUNC instead of F77_FCN. + +2002-04-02 Paul Kienzle + + * CmplxQR.cc (ComplexQR::init): Use economy QR decomposition + internally when the user requests it. + * CmplxQRP.cc (ComplexQRP::init): Ditto. + * dbleQR.cc (QR::init): Ditto. + * dbleQRP.cc (QRP::init): Ditto. + +2002-02-22 John W. Eaton + + * oct-fftw.cc (octave_fftw::fft2d): Avoid having to find a + definition for NULL by passing 0 as the last arg to fftwnd_one. + (octave_fftw::ifft2d): Likewise. + +2002-02-22 Paul Kienzle + + * lo-mappers.cc (arg): Simply call atan2 (0.0, x). + +2001-12-17 John W. Eaton + + * data-conv.cc (LS_DO_READ): Don't do anything unless len > 0. + (LS_DO_WRITE): Likewise. + +2001-11-16 John W. Eaton + + * mx-inlines.cc (MX_CUMMULATIVE_OP): New macro. + * CMatrix.cc (ComplexMatrix::cumprod, ComplexMatrix::cumsum): Use it. + * dMatrix.cc (Matrix::cumprod, Matrix::cumsum): Likewise. + + * mx-inlines.cc (MX_REDUCTION_OP, MX_REDUCTION_OP_COL_EXPR, + MX_REDUCTION_OP_ROW_EXPR): New macros. + * dMatrix.cc (Matrix::prod, Matrix::sum): Use MX_REDUCTION_OP. + * CMatrix.cc (ComplexMatrix::prod, ComplexMatrix::sum): Likewise. + + * mx-inlines.cc (MX_BASE_REDUCTION_OP): New macro. + DIM == -1 now means no orientation for vector sums. + * dMatrix.cc (ComplexMatrix::sumsq): Use it. + * CMatrix.cc (ComplexMatrix::sumsq): Likewise. + +2001-11-08 John W. Eaton + + * Range.cc (Range::nelem_internal): Special case ranges that must + have zero elements. + +2001-11-06 John W. Eaton + + * Makefile.in: Split out readline and pathsearch functionality + into separate liboct-readline and liboct-pathsearch libraries. + + * oct-rl-edit.c (octave_rl_clear_screen): Call rl_clear_screen, + not _rl_clear_screen. Temporarily redefine rl_redisplay_function + to do nothing for this call to rl_clear_screen. + +2001-10-08 John W. Eaton + + * DASSL.cc (ddassl_f): Handle IRES returned from user supplied + function. + * DAEFunc.h (DAERHSFunc): Add IRES to prototype. + +2001-06-07 John W. Eaton + + * dMatrix.cc (Matrix::inverse, Matrix::solve, Matrix::determinant, + Matrix::inverse): Handle the case of rcond being a NaN the same as + a signular matrix. From "Jianming" . + * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::solve, + ComplexMatrix::determinant, ComplexMatrix::inverse): Likewise. + +2001-05-31 John W. Eaton + + * chMatrix.cc (charMatrix::row_as_string): New parameter, raw. + + * Array-i.cc, Array-s.cc, Array-d.cc, Array-ch.cc, Array-C.cc, + Array-b.cc: Instantiate three arg assign functions. + + * ArrayN.cc (assign (ArrayN&, const ArrayN&, const LT&)): + New arg, resize_fill_value. + * ArrayN.h: Provide declaration. + (assign (ArrayN&, const ArrayN&): Define here by calling + three arg version. + + * Array3.cc (assign (Array3&, const Array3&, const LT&)): + New arg, resize_fill_value. + * Array3.h: Provide declaration. + (assign (Array3&, const Array3&): Define here by calling + three arg version. + + * Array2.cc (assign (Array2&, const Array2&, const LT&)): + New arg, resize_fill_value. + * Array2.h: Provide declaration. + (assign (Array2&, const Array2&): Define here by calling + three arg version. + + * Array.cc (assign (Array&, const Array&, const LT&)): + New arg, resize_fill_value. + * Array.h: Provide declaration. + (assign (Array&, const Array&): Define here by calling + three arg version. + +2001-05-17 John W. Eaton + + * pathsearch.cc (dir_path::set_program_name): Set the environment + variables SELFAUTOLOC, SELFAUTODIR, SELFAUTOPARENT, and TEXMFDBS + to the empty string. + +2001-05-15 John W. Eaton + + * Array2.h (Array2::operator = (const Array2&)): + Don't check for rep != a.rep. + +2001-05-02 Mumit Khan + + * oct-fftw.h, oct-fftw.cc: New files. + * Makefile.in (INCLUDES, SOURCES): Add new files. + * CMatrix.cc (ComplexMatrix::{fourier, ifourier, fourier2d, + ifourier2d}): Use fftw if available. + * dMatrix.cc (Matrix::{fourier, ifourier, fourier2d, ifourier2d}): + Likewise. + +2001-04-25 John W. Eaton + + * Makefile.in (install-lib): Don't use mk-libdir-link. + (install-inc): Don't use mk-includedir-link. + +2001-02-28 John W. Eaton + + * lo-cutils.c (octave_gethostname): New function. + * lo-utils.h: Provide declaration. + * oct-env.cc (octave_env::do_get_host_name): + Call octave_gethostname, instead of gethostname. + + * lo-cutils.c (gethostname): Define here. + * lo-sysdep.cc: Not here. + +2001-02-07 John W. Eaton + + * lo-cutils.c: Don't declare strptime. + (oct_strptime): Cast return type of strptime to char*. + +2001-02-06 John W. Eaton + + * oct-rl-edit.c (octave_rl_newline): Call rl_newline with two args. + (octave_rl_set_name): call rl_re_read_init_file with two args. + (octave_rl_read_init_file): Ditto. + (octave_rl_clear_undo_list): Call rl_free_undo_list, not + free_undo_list. + (octave_rl_completion_matches): Call rl_completion_matches, not + completion_matches. + (octave_rl_enable_paren_matching): New function. + (octave_rl_set_blink_matching_paren_flag): Delete. + (octave_rl_get_blink_matching_paren_flag): Delete. + + * lo-mappers.h, lo-mappers.cc (log10 (const Complex&), + tanh (const Complex&)): Declare and define if not + CXX_ISO_COMPLIANT_LIBRARY. + +2001-02-05 John W. Eaton + + * lo-mappers.h (tanh (const Complex&)): Only declare if not + CXX_ISO_COMPLIANT_LIBRARY. + +2001-02-05 Mumit Khan + + * lo-mappers.cc (tanh (const Complex&)): Only define if not + CXX_ISO_COMPLIANT_LIBRARY. + + * Makefile.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Use to create + archive libraries containing templates. + + * ArrayN-idx.h (freeze, all_ok, any_orig_empty, any_zero_len, + get_zero_len_size, all_colon_equiv): Inline. + (ArrayN::index): Rename idx to arr_idx. + * ArrayN.cc (ArrayN::index, ArrayN::compute_index, + ArrayN::get_size, ArrayN::range_error, ArrayN::range_error, + increment_index, ArrayN::resize, ArrayN::insert): Likewise. + +2001-02-05 John W. Eaton + + * lo-mappers.h, lo-mappers.cc (tan (const Complex&), + log10 (const Complex&)): Delete. + + * oct-cmplx.h: Define forwarding functions for real, imag, abs, + arg, norm, conj, polar, cos, cosh, exp, log, log10, pow, sin, + sinh, sqrt, tan, and tanh. + +2001-01-31 John W. Eaton + + * file-ops.cc, help.cc, load-save.cc, pr-output.cc, utils.cc: + Add std:: namespace qualifier as needed. + + * mx-inlines.cc: Rename all functions with mx_inline_ prefix. + Change all uses to match. + +2001-01-29 John W. Eaton + + * lo-cutils.c: Don't delcare strptime. + +2001-01-02 John W. Eaton + + * CMatrix.cc (operator * (const ComplexMatrix&, const ComplexMatrix&): + Return correct size result for empty matrix case. + +2000-12-15 John W. Eaton + + * lo-mappers.cc (xmin (const Complex&, const Complex& y): + If args are equal in magnitude, return first arg instead of + second. + +2000-12-13 John W. Eaton + + * Range.cc (Range::nelem_internal): Call tfloor, not round, but + then try harder to compute correct number of elements. + + * dMatrix.cc (Matrix::lssolve): Ask DGELSS for size of work vector. + * CMatrix.cc (ComplexMatrix::lssolve): Likewise, for ZGELSS. + +2000-12-09 John W. Eaton + + * Range.cc (Range::nelem_internal): Call round here, not tfloor. + Rename n_intervals to be n_elt. + + * strptime.c: Surround everything after including config.h in + #ifndef HAVE_STRPTIME ... #endif. + +2000-11-29 John W. Eaton + + * Array-idx.h (assign): When resizing, cast fill value to LT. + * Array2-idx.h (MAYBE_RESIZE_LHS): Likewise. + +2000-11-28 John W. Eaton + + * MArray-defs.h: Protect against multiple inclusion. + +2000-11-20 John W. Eaton + + * data-conv.h (enum save_type): Move LS_U_LONG and LS_LONG to the + end of the list, to be compatible with previous versions of Octave. + +2000-11-16 Paul Kienzle + + * oct-time.cc (DEFINE_SET_INT_FIELD_FCN): Don't check limits here, + since mktime is supposed to `normalize' the results for us. + +2000-10-31 Paul Kienzle + + * Array2.cc (Array2::transpose): Avoid copy for empty matrices + and vectors. Use xelem for faster access to elements when copying. + +2000-10-18 John W. Eaton + + * CMatrix.cc (ComplexMatrix::cumsum, ComplexMatrix::cumprod): + Correct indexing for operation across rows. + * dMatrix.cc (Matrix::cumsum, Matrix::cumprod): Likewise. + +2000-10-12 Paul Kienzle + + * Array2-idx.h (Array2::index (idx_vector&)): Avoid copying + elements if arg is a colon. + +2000-10-12 Cai Jianming + + * dMatrix.cc (Matrix::cumprod (int) const): New arg, DIM. + (Matrix::cumsum (int) const): Likewise. + (Matrix::prod (int) const): Likewise. + (Matrix::sum (int) const): Likewise. + (Matrix::sumsq (int) const): Likewise. + * CMatrix.cc (ComplexMatrix::cumprod (int dim) const): Likewise. + (ComplexMatrix::cumsum (int) const): Likewise. + (ComplexMatrix::prod (int) const): Likewise. + (ComplexMatrix::sum (int) const): Likewise. + (ComplexMatrix::sumsq (int) const): Likewise. + +2000-10-10 John W. Eaton + + * Array2-idx.h (Array2::index (idx_vector&)): Correctly set + size if Array::index returns an empty array. + +2000-08-02 John W. Eaton + + * file-ops.cc (file_ops::link, file_ops::symlink, + file_ops::readlink): New functions. + +2000-08-01 John W. Eaton + + * Array2-idx.h (Array2::index (idx_vector&)): If a scalar is + indexed, always return an object the same size as the index arg. + + * oct-time.cc (octave_base_tm::strftime): Return empty string for + empty format. + +2000-07-25 John W. Eaton + + * lo-cutils.c (oct_strptime): New function. + * oct-time.cc (octave_strptime::init): Call it instead of strptime. + Don't declare strptime. Don't define _XOPEN_SOURCE or _BSD_SOURCE. + +2000-07-18 John W. Eaton + + * oct-time.cc: Comment out _BSD_SOURCE and _XOPEN_SOURCE definitions. + + * Makefile.in (MATRIX_INC): Add ArrayN-idx.h to the list. + +2000-06-29 John W. Eaton + + * dMatrix.h (read_int): Provide declaration. + +2000-06-29 James R. Van Zandt + + * data-conv.cc (read_doubles): Handle EIGHT_BYTE_INT cases. + (write_doubles): Ditto. + * data-conv.h: Ditto. + (enum save_type): New values, LS_U_LONG and LS_LONG. + +2000-06-27 John W. Eaton + + * boolMatrix.h: Declare MM_CMP_OPS here. + * boolMatrix.cc: Define them here. + +2000-06-08 John W. Eaton + + * Array2-idx.h (assign): Allow x(bool) = RHS to succeed if x is + previously undefined and set size of x to size of bool index. + * idx-vector.cc (IDX_VEC_REP::maybe_convert_one_zero_to_idx): + Allow z_len to be zero. + (IDX_VEC_REP::freeze): If z_len is zero, set frozen_at_z_len to len. + If frozen, don't assert that frozen_at_z_len == z_len. + +2000-05-20 John W. Eaton + + * oct-rl-edit.c (octave_rl_clear_screen): Call _rl_clear_screen + instead of rl_clear_screen. + +2000-05-11 John W. Eaton + + * Array-d.cc: Instantiate ArrayN here too. + * Array-idx-vec.cc, ArrayN-idx.h, ArrayN.cc, ArrayN.h: New files. + * Makefile.in: Add them to the appropriate lists. + +2000-04-06 John W. Eaton + + * Array.cc (Array::operator =): Don't set max_indices to 1 here. + +2000-03-23 John W. Eaton + + * lo-sysdep.h: octave_chdir returns int, not bool. + +2000-03-21 John W. Eaton + + * Makefile.in (liboctave.$(SHLEXT)): Delete target + before rebuilding. + +2000-03-21 Ben Sapp : + + * Makefile.in (liboctave.$(LIBEXT)): New target. + (libraries): Depend only on library targets, not archive members. + +2000-03-17 John W. Eaton + + * Makefile.in: (objects): New target. + + * lo-cutils.c: New file. + * Makefile.in (SOURCES): Add it to the list. + * lo-utils.h: Declare octave_qsort here. + * Array.h (Array::qsort): Use it here. + +2000-03-08 John W. Eaton + + * oct-time.cc: Include and , if available. + +2000-02-18 John W. Eaton + + * oct-rl-hist.c (octave_history_list): Do something when not + printing line numbers. Fix reallocation of retval. + +2000-02-11 John W. Eaton + + * Makefile.in (install-inc): Install files in + $(octincludedir)/octave. + (uninstall): Remove them from the correct directory too. + + * oct-time.cc: Temporarily define _BSD_SOURCE and _XOPEN_SOURCE if + they are not already defined. + +2000-02-08 John W. Eaton + + * CRowVector.cc, CRowVector.h, CColVector.cc, CColVector.h: + Delete declarations and definitions of mixed-type vector-vector ops. + +2000-02-07 John W. Eaton + + * CMatrix.h, CMatrix.cc: Add lssolve methods for real-valued RHS + matrix and vector objects. + + * mx-op-defs.h (DMM_BIN_OP): Explicitly request conversion to + return type from second arg type. + (MDM_BIN_OP): Likewise, for first arg type. + + * dMatrix.cc (Matrix::fourier, Matrix::ifourier, + Matrix::fourier2d, Matrix::ifourier2d): Likewise. + + * EIG.cc (EIG::symmetric_init, EIG::hermitian_init): Explicitly + request ColumnVector to ComplexColumnVector, and Matrix to + ComplexMatrix conversions. + + * CmplxAEPBAL.cc (ComplexAEPBALANCE::init): Give balancing_mat its + initial value using ComplexMatrix constructor. + + * CColVector.cc (product, quotient, + operator * (const DiagMatrix&, const ComplexColumnVetor&)): + Fix type of returned value. + * CDiagMatrix.cc (ComplexDiagMatrix::row, + ComplexDiagMatrix::column, ComplexDiagMatrix::inverse): Likewise. + + * Array.h, CColVector.h, CDiagMatrix.h, CMatrix.h, CRowVector.h, + MArray.h, MDiagArray2.h, dColVector.h, dDiagMatrix.h, dMatrix.h, + dRowVector.h: Declare some constructors explicit, to disallow + potentially problematic automatic type conversions. + +2000-02-05 John W. Eaton + + * vx-rv-crv.h, vx-cv-ccv.h, vx-crv-rv.h, vx-ccv-cv.h, + vx-rv-crv.cc, vx-cv-ccv.cc, vx-crv-rv.cc, vx-ccv-cv.cc: + More new files. + * Makefile.in: Add them to the appropriate lists. + + * vx-ccv-s.h, vx-crv-s.h, vx-cs-cv.h, vx-cs-rv.h, vx-cv-cs.h, + vx-rv-cs.h, vx-s-ccv.h, vx-s-crv.h, vx-ccv-s.cc, vx-crv-s.cc, + vx-cs-cv.cc, vx-cs-rv.cc, vx-cv-cs.cc, vx-rv-cs.cc, vx-s-ccv.cc, + vx-s-crv.cc:, New files. + * Makefile.in: Add them to the appropriate lists. + + * CRowVector.h, CRowVector.cc, CColVector.h, CColVector.cc: + Delete scalar by vector and vector by scalar binary ops. + + * MArray-defs.h: More new macros to handle MDiagArray operators. + * dDiagMatrix.h, CDiagMatrix.h: Use the op-forwarding macros. + +2000-02-04 John W. Eaton + + * oct-rl-edit.c (octave_rl_set_event_hook): Take address of + rl_event_hook before casting to void **. + (octave_rl_set_startup_hook): Likewise, for rl_startup_hook. + + * MArray-defs.h: Many new macros to make declaration and + definition of operators more consistent. + + * MArray.h, MArray2.h, dColVector.h, dRowVector.h, CColVector.h, + CRowVector.h, dMatrix.h, CMatrix.h: Use them. + +2000-02-03 John W. Eaton + + * dMatrix.cc (Matrix::ifourier): Cast divisor to double. + (Matrix::ifourier2d): Likewise. + * CMatrix.cc (ComplexMatrix::ifourier): Likewise. + (ComplexMatrix::ifourier2d): Likewise. + + * Array.h (Array::ArrayRep::qsort): Cast len to size_t. + +2000-02-01 John W. Eaton + + * oct-rl-edit.c, oct-rl-edit.h: New files for interface to GNU + readline library. + * Makefile.in: Add them to the appropriate lists. + + * oct-rl-hist.c, oct-rl-hist.h: New files for interface to GNU + readline history library. + * Makefile.in: Add them to the appropriate lists. + + * data-conv.cc (LS_DO_WRITE): Cast arg to ostream::write to char*. + (LS_DO_READ): Likewise, for istream::read. + (write_doubles): Likewise. + (read_doubles): Likewise. + + * oct-env.cc (octave_env::do_polite_directory_format): + Use operator== and substr method to do limited-length string + comparison. + + * Array2-idx.h, Array-idx.h: Avoid shadowing warnings for idx. + + * Quad.h: Use do_integrate as name of pure virtual function. + + * base-de.h: Use tt instead of t as arg names. + Add method with tcrit arg. + + * DAE.h, DAE.cc: Likewise, also xx for x. + + * DASSL.cc (dassl_fcn_ptr, dassl_jac_ptr): New typedefs. + * LSODE.cc: lsode_fcn_ptr, lsode_jac_ptr): Ditto. + * Quad.cc (quad_fcn_ptr): Ditto. + * NLEqn.cc (hybrd1_fcn_ptr, hybrj1_fcn_ptr): Ditto. + + * oct-getopt.h, oct-getopt.c: New files for interface to getopt. + * Makefile.in: Add them to the appropriate lists. + + * oct-kpse.h, oct-kpse.c: New files for interface to kpathsearch. + * Makefile.in: Add them to the appropriate lists. + + * dMatrix.cc (write_int, read_int): No longer declared static. + + * CDiagMatrix.h: Delete decls for friend operators that are + handled by MDiagArray2 class. Move others outside class decl and + strip friend status. + * dDiagMatrix.h: Likewise. + + * MArray.h: Delete decls for friend operators inside class decl. + * MArray2.h: Ditto. + * MDiagArray2.h: Ditto. + + * MArray-defs.h (DO_VS_OP,, DO_SV_OP, DO_VV_OP, NEGV): Pass all + necessary parameters. Don't allocate memory in the macro. Change + all uses. + + * dMatrix.h (class Matrix): Delete `friend class' decls. + * CMatrix.h (class ComplexMatrix): Ditto. + + * mx-op-defs (MS_BOOL_OP, MS_BOOL_OPS, SM_BOOL_OP, SM_BOOL_OPS, + MM_BOOL_OP, MM_BOOL_OPS, MDM_MULTIPLY_OP, MDM_BIN_OPS, + DMM_MULTIPLY_OP, DMM_BIN_OPS): Pass zero constant as final arg, to + avoid type conflicts. Change all uses. + + * strptime.c (__mon_yday): Fix size of array decl. + + * mx-inlines.cc: Use `xnot' instead of `not' for function name. + + * chMatrix.cc (charMatrix::row_as_string): Delete extraneous + default value for second arg. + + * Array2.cc (Array2::resize): Add Array:: qulaifier to + references to ArrayRep. + +2000-01-31 John W. Eaton + + * Array.h (Array::ArrayRep): Now protected, not private. + + * All source files: Include iostream, fstream, strstream, + etc. as needed instead of using forward declarations for these + classes. Add std:: qualifier as needed. + +2000-01-30 John W. Eaton + + * oct-time.cc: Declare strptime extern "C". + +2000-01-29 John W. Eaton + + * oct-time.cc [! HAVE_STRPTIME]: Provide declaration. + +2000-01-28 John W. Eaton + + * Array2.h (Array2::get_size): Now protected instead of private. + * Array3.h, Array3.cc: Use it in constructors and resize methods + to get total size to be allocated. + + * DASSL.cc (DASSL::integrate): Declare do_restart and save_output + as bool, not int. + +2000-01-26 John W. Eaton + + * Array2-idx.h (assign (Array2& lhs, const Array2& rhs)): + Allow A(idx) = RHS if idx is a boolean index with the same shape + as A, even when do_fortran_indexing is not enabled. + (Array2::index (idx_vector& idx) const): Likewise, for A(idx). + +2000-01-25 John W. Eaton + + * dMatrix.cc (Matrix::solve (...)): Add new variant with + function pointer as final arg. Passed function (if any) will be + called for singularity errors. + * CMatrix.cc (ComplexMatrix::solve (...)): Likewise. + + * dMatrix.cc (Matrix::pseudo_inverse): Use economy SVD. + * CMatrix.cc (ComplexMatrix::pseudo_inverse): Likewise. + + * lo-ieee.cc (octave_ieee_init): Don't include sunmath.h. + No longer bother with infinity or quiet_nan. + + * Array2.cc (Array2::get_size): New function. + (Array2::Array2, Array2::resize): Use it. + +2000-01-23 John W. Eaton + + * Array2-idx.h (Array2::maybe_delete_elements (idx_vector&)): + New function. + (assign (Array2& lhs, const Array2& rhs)): + Use it when indexing with one arg instead of faking a second one. + (Array2::maybe_delete_elements (idx_vector&, idx_vector&)): + Return empty matrices with the correct dimensions for A(:,:) = [] + and also A(:,idx) = [], and A(idx,:) = [] when idx enumerates all + rows or columns. + + * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Recognize a bool + vector that is all true values with a length equal to n as colon + equivalent. + +2000-01-22 John W. Eaton + + * strptime.c: Only include langinfo.h if _LIBC is defined. + +2000-01-21 A. Scottedward Hodel + + * CMatrix.cc (ComplexMatrix::expm): Apply permutation and scaling + operations directly in step 2 and reverse step 2. + * dMatrix.cc (Matrix::expm): Apply permutation and scaling + operations directly in step 2 and reverse step 2. + +2000-01-20 John W. Eaton + + * oct-time.h, oct-time.cc (octave_strptime): New class. + + * strptime.c: New file, from glibc 2.1.2. + * Makefile.in (SOURCES): Add strptime.c to the list. + +2000-01-11 John W. Eaton + + * MArray.h (MArray &)): New constructor. + +2000-01-10 John W. Eaton + + * pathsearch.cc (dir_path::all_directories): Avoid dereferencing + NULL directory list returned from kpse_element_dirs + +1999-12-08 John W. Eaton + + * dbleLU.cc (LU::LU): Call DGETRF directly instead of calling DGESV. + * CmplxLU.cc (ComplexLU::ComplexLU): Likewise, call ZGETRF + directly, instead of calling ZGESV. + +1999-11-18 John W. Eaton + + * data-conv.cc (init_sized_type_lookup_table): New function. + (string_to_data_type): Use it to improve lookup of data types. + +1999-11-16 John W. Eaton + + * dMatrix.cc (is_symmetric): Move here from Array2.cc. + * Array2.h (is_symmetric): Delete declaration. + +1999-11-10 John W. Eaton + + * oct-env.cc (do_get_user_name): Reverse sense of test. + +1999-11-07 John W. Eaton + + * oct-time.cc (Fstrftime): Undo previous change. + (octave_time::octave_time (const octave_base_tm&)): Likewise. + +1999-11-03 John W. Eaton + + * dbleSVD.cc (SVD::init): Let DGESVD determine work space requirement. + * CmplxSVD.cc (ComplexSVD::init): Likewise, for complex version. + + * dbleSCHUR.cc (SCHUR::init): IWORK is always referenced by dgeesx. + Don't forget to pass length of third string argument to dgeesx. + + * CmplxSCHUR.cc (ComplexSCHUR::init): Don't forget to pass length + of third string argument to zgeesx. + +1999-11-02 John W. Eaton + + * DiagArray2.cc (DiagArray2::operator () (int, int)): + On errors, simply return `T ()'. + (DiagArray2::checkelem (int, int)): Likewise. + +1999-11-02 A. Scottedward Hodel + + * dMatrix.cc (Matrix::expm): Do balancing here instead of using + AEPBALANCE class. + * CMatrix.cc (ComplexMatrix::expm): Likewise. + +1999-10-29 John W. Eaton + + * oct-shlib.cc, oct-shlib.h: New files. + * Makefile.in (INCLUDES, SOURCES): Add them to the lists. + +1999-10-26 John W. Eaton + + * CRowVector.cc (linspace): Allow npoints == 1 if x1 == x2. + * dRowVector.cc (linspace): Ditto. + + * oct-time.cc (Fstrftime): Don't save or delete tm_zone. + (octave_time::octave_time (const octave_base_tm&)): Likewise. + +1999-10-21 John W. Eaton + + * DASSL.cc (DASSL::do_integrate (double)): If we have a function + to evaluate the Jacobian, set info(4), not iwork(4). + Set rwork(1) to the maximum step size, not rwork(2). + +1999-10-14 John W. Eaton + + * oct-time.cc: Include . + +1999-10-13 John W. Eaton + + * cmd-edit.h (command_editor::do_resize_terminal): New function. + * cmd-edit.cc (command_editor::resize_terminal): New function. + (gnu_readline::do_resize_terminal): New function. + +Fri Sep 3 12:39:17 1999 John W. Eaton + + * lo-mappers.cc: Include ieeefp.h and sunmath.h if we have them. + * lo-ieee.c: Likewise. + Delete extern "C" declarations for infinity and quiet_nan. + +Fri Aug 20 07:58:00 1999 John W. Eaton + + * mx-inlines.cc (VS_OP, SV_OP, VV_OP): Delete `extern template' decls. + (VS_OP_FCN, SV_OP_FCN, VV_OP_FCN): Declare template functions + `inline', not `static inline'. + + * idx-vector.cc (intcmp): Declare args as const void *, not int *, + then cast to const int * to compare. + +Fri Jul 16 11:23:51 1999 John W. Eaton + + * DAEFunc.h: Remove useless preprocessor conditional. + +Thu Jul 15 14:10:33 1999 John W. Eaton + + * cmd-edit.cc (command_editor::do_decode_prompt_string): + Use octave_time object instead of time_t. + + * file-stat.h (file_stat::fs_atime, file_stat::fs_mtime, + file_stat::fs_ctime): Now octave_time objects. + (file_stat::atime, file_stat::mtime, file_stat::ctime): + Return octave_time objects. + (file_stat::is_newer): Args are now octave_time objects instead of + time_t. + + * oct-time.h (octave_time::as_double): Delete. + (octave_time::operator double ()): New function. + (octave_time::operator time_t ()): New function. + (octave_time::ctime): New function. + (octave_base_tm::strftime): Renamed from format_as_string. + (octave_base_tm::asctime): New function. + (operator == (const octave_time&, const octave_time&), + operator != (const octave_time&, const octave_time&), + operator < (const octave_time&, const octave_time&), + operator <= (const octave_time&, const octave_time&), + operator > (const octave_time&, const octave_time&), + operator >= (const octave_time&, const octave_time&)): + New comparison functions. + + * strftime.c: Move here from src directory. + * Makefile.in (SOURCES): Add it to the list. + + * oct-time.h (octave_time::octave_time (time_t)): New constructor. + +Wed Jul 14 17:38:07 1999 John W. Eaton + + * oct-time.h, oct-time.cc: New files. + * Makefile.in (INCLUDES, SOURCES): Add them to the lists. + + * systime.h: Move here from src directory. + * Makefile.in (INCLUDES): Add it to the list. + +Mon Jul 12 22:34:34 1999 John W. Eaton + + * mx-defs.h (b_d_Mapper, b_c_Mapper): New typedefs. + * dMatrix.cc (Matrix::map (b_d_Mapper)): New function. + * CMatrix.cc (ComplexMatrix::map (b_c_Mapper)): New function. + * lo-mappers.cc (xisinf, xisnan, xfinite): Return bool, not double. + + * lo-mappers.cc (xmin, xmax): New functions to correctly handle NaNs. + +Mon May 10 07:45:11 1999 John W. Eaton + + * MArray-defs.h (DO_VV_OP2): Fix macro definition to use arg. + +Wed May 5 20:06:10 1999 John W. Eaton + + * Array2-idx.h (Array2index (idx_vector& idx)): Always return a + column vector for A(:), for compatibility with Matlab. + +Fri Apr 23 11:52:23 1999 John W. Eaton + + * LSODE.cc (LSODE::do_integrate (double)): Don't forget to set + iopt when there are optional inputs in rwork or iwork. + +Fri Mar 26 11:26:32 1999 John W. Eaton + + * Makefile.in (libraries): Use the libfoo.a(objects) method of + creating static libs. + +Thu Mar 4 02:17:04 1999 James Macnicol + + * data-conv.cc (oct_data_conv::string_to_data_type): Handle uint16 + and uint32 data types. + +Thu Mar 4 01:51:37 1999 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Don't use __alpha__-specific code + for Linux. Remove old Linux-specific code. + +Tue Jan 19 09:34:55 1999 John W. Eaton + + * dMatrix.cc (operator * (const ColumnVector& v, const RowVector& a)): + Don't require lengths to be equal. + * CMatrix.cc (operator * (const ComplexColumnVector& v, const + ComplexRowVector& a)): Likewise + +Tue Nov 24 23:38:19 1998 Eric Norum + + * statdefs.h: Only define mode_t if not already defined. + +Tue Nov 24 17:24:52 1998 john + + * lo-specfun.cc (airy, biry): Set imaginary part of result to zero + when appropriate. + +Mon Nov 23 09:57:05 1998 John W. Eaton + + * cmd-edit.cc (gnu_readline::gnu_readline): Set terminal name + before calling rl_initialize. + +Tue Nov 17 23:47:24 1998 John W. Eaton + + * lo-specfun.cc (besselh, airy, biry): New functions. + Update Bessel function support to use library by D. E. Amos. + +Thu Nov 12 17:44:15 1998 John W. Eaton + + * cmd-edit.h (command_editor::readline): Add new variation that + allows EOF information to be passed back to caller. + + * dMatrix.cc (Matrix::read): Do the right thing for EOF when + amount of data to read is unspecified. + +Tue Nov 10 07:53:15 1998 John W. Eaton + + * oct-alloc.h (DECLARE_OCTAVE_ALLOCATOR): New macro. + (DEFINE_OCTAVE_ALLOCATOR): Ditto. + + * byte-swap.h (swap_bytes, swap_2_bytes, swap_4_bytes, swap_8_bytes): + Add volatile qualifier to void* arg. + Cast volatile void* arg to volatile char*. + +Mon Nov 9 08:28:31 1998 John W. Eaton + + * cmd-edit.h (command_editor::do_set_event_hook): New function. + (command_editor::do_restore_event_hook): Ditto. + * cmd-edit.cc (command_editor::set_event_hook): Ditto. + (command_editor::restore_event_hook): Ditto. + (gnu_readline::do_set_event_hook): Ditto. + (gnu_readline::do_restore_event_hook): Ditto. + (gnu_readline::previous_event_hook): New data member. + (gnu_readline::gnu_readline): Initialize previous_event_hook. + +Mon Nov 2 13:36:04 1998 John W. Eaton + + * Makefile.in (BINDISTLIBS): Don't include .$(SHLEXT_VER) in name. + + * Makefile.in (stmp-pic): New target. + ($(PICOBJ)): Depend on stmp-pic, not pic. + (clean): Remove stmp-pic + + * Makefile.in: Undo previous change to avoid optmization when + compiling lo-ieee.cc. + +Sun Nov 1 10:10:40 1998 John W. Eaton + + * lo-mappers.cc (xfinite): Define in terms of xfinite for real and + imaginary parts. + (xisinf): Define in terms of xisinf for real and imaginary parts. + +Thu Oct 29 18:57:50 1998 John W. Eaton + + * boolMatrix.cc (boolMatrix::operator !): New function. + +Fri Oct 23 21:46:20 1998 John W. Eaton + + * pathsearch.h (dir_path::default_path): New data member. + * pathsearch.cc (dir_path::init): Use it. + + * Makefile.in: Avoid optmization when compiling lo-ieee.cc. + +Fri Oct 16 01:08:30 1998 John W. Eaton + + * chMatrix.cc (charMatrix::extract): New function. + (charMatrix::charMatrix (char c)): New constructor. + +Tue Oct 13 22:11:08 1998 John W. Eaton + + * cmd-edit.h: (command_editor::do_read_init_file): New function. + * cmd-edit.cc (command_editor::read_init_file): New function. + (gnu_readline::do_read_init_file): Likewise. + +Fri Sep 25 14:26:44 1998 John W. Eaton + + * oct-env.cc (octave_env::do_get_home_directory): + If HOME can't be found, set it to "/". + (octave_env::do_get_user_name) + If user name can't be found, set it to "unknown". + (octave_env::do_get_host_name) + If host name can't be found, set it to "unknown". + + * pathsearch.h (dir_path::rehash): New function. + * pathsearch.cc (dir_path::init): Clear kpathsea's internal + diretcory cache before doing initialization. + +Thu Sep 24 13:23:25 1998 John W. Eaton + + * dMatrix.cc (Qzval): Delete. + (qzhes, qzit, qzval): Delete F77_FCN declarations. + * dMatrix.h (Qzval): Delete declaration. + + * dbleGEPBAL.h, dbleGEPBAL.cc: Delete. + * Makefile.in (MATRIX_INC, MATRIX_SRC): Delete them from the lists. + * mx-ext.h: Don't include dbleGEPBAL. + + * lo-ieee.cc (octave_ieee_init): For now, use X_CAST instead of + static_cast. + +Fri Sep 4 10:58:22 1998 John W. Eaton + + * dMatrix.cc (Matrix::read): Skip after reading, not before. + From: Dr.-Ing. Torsten Finke . + +Wed Sep 2 09:50:21 1998 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): For Linux on arm, don't rely on + HUGE_VAL and NAN. + +Wed Aug 26 15:04:57 1998 John W. Eaton + + * Array2-idx.h (assign (Array2& lhs, const Array2& rhs)): + Handle x(i) = scalar for do_fortran_indexing == 1. + +Thu Jul 30 00:34:10 1998 John W. Eaton + + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const charMatrix&)): + Alloctate space before attempting to use it. + (ComplexMatrix::ComplexMatrix (const boolMatrix&)): Likewise. + +Mon Jun 22 17:04:27 1998 Tomislav Goles + + * EIG.cc (EIG::init): Move invariant code outside loop. + +Thu Jun 18 11:08:23 1998 John W. Eaton + + * MArray2.cc (MARRAY_A2A2_OP): If operands are empty, make result + have the same size as the operands. + +Thu May 28 10:41:04 1998 John W. Eaton + + * DASSL.cc (DASSL::do_integrate): If an exception occurs in the + call to ddassl, set integration_error to 1 before calling the + error handler and returning. + * LSODE.cc (LSODE::do_integrate): Likewise. + +Wed May 27 13:46:30 1998 John W. Eaton + + * Array2-idx.h (assign): Allow A([],[]) = scalar and, if + do_fortran_indexing is set, A([]) = scalar. + * Array-idx.h (assign): Allow A([]) = scalar. + +Thu May 14 11:50:24 1998 John W. Eaton + + * mx-op-defs.h (MDM_MULTIPLY_OP): Compute result if dm_nc > 0, not + if dm_nc == 0. + +Thu Apr 23 16:15:37 1998 John W. Eaton + + * pathsearch.h (dir_path::p_orig): New field. + * pathsearch.cc (dir_path::init): Perform variable and tilde + expansion on the original path here. + (dir_path::find_all): Don't do anything if not initialized. + +Tue Apr 14 14:41:30 1998 John W. Eaton + + * Array2-idx.h (index): Allow x(:) even when do_fortran_indexing + is not set. + (index): Allow x = zeros (2, 0); x(1,:) to work. + + * lo-specfun.cc (gammainc): Use dgamit to compute + (\int_0^x exp(-t) t^(a-1) dt)/gamma(a), not just + \int_0^x exp(-t) t^(a-1) dt. + +Wed Apr 8 22:50:44 1998 John W. Eaton + + * Array-C.cc, Array-b.cc, Array-ch.cc, Array-i.cc, Array-d.cc, + Array-s.cc: Change return types of all `assign' explicit + instantiations to be int, not void, to match the template decl in + Array.h. + +Mon Apr 6 00:27:06 1998 John W. Eaton + + * lo-specfun.cc (gammainc): Reorder args in call to xdgami. + +Thu Feb 19 01:16:38 1998 John W. Eaton + + * lo-specfun.cc (xgamma, xlgamma): Define here. + * lo-mappers.cc: Not here. + + * lo-specfun.h: Declare xgamma and xlgamma here. + * lo-mappers.h: Not here. + + * lo-specfun.h: Never declare gamma or lgamma. + +Tue Feb 10 16:14:36 1998 John W. Eaton + + * Array-idx.h (assign): Allow A([]) = X to succeed if X is an + empty matrix of any dimension. + +Thu Feb 5 02:12:38 1998 John W. Eaton + + * oct-syscalls.cc (octave_syscalls::vfork): New function. + + * lo-specfun.cc: Don't include dbleBessel.h. + + * Makefile.in (INCLUDES): Delete oct-math.h from the list. + + * dir-ops.h (dir_entry::operator bool ()): Return bool, not void*. + * file-stat.h (file_stat::operator bool ()): Likewise. + * idx-vector.h (idx_vector::operator bool ()): Likewise. + * oct-group.h (octave_group::operator bool ()): Likewise. + * oct-passwd.h (octave_passwd::operator bool ()): Likewise. + + * data-conv.cc (IEEE_little_double_to_IEEE_big_double): + Don't cast arg in call to swap_8_bytes. + (IEEE_big_double_to_IEEE_little_double): Ditto + (IEEE_big_float_to_IEEE_little_float): Don't cast arg in call to + swap_4_bytes. + (IEEE_little_float_to_IEEE_big_float): Ditto + + * oct-alloc.cc (grow): Use X_CAST, not static_cast. + * prog-args.cc (prog_args::getopt): Likewise. + * dMatrix.cc (read_int, do_read, write_int, do_write): Likewise. + * cmd-edit.cc (gnu_readline::do_set_completion_function): Likewise. + * data-conv.cc (LS_DO_READ, LS_DO_WRITE, read_doubles, write_doubles): + Likewise. + + * byte-swap.h (swap_bytes, swap_2_bytes, swap_4_bytes, + swap_8_bytes): Declare ptr arg as void*, then use cast. + +Mon Feb 2 01:42:56 1998 John W. Eaton + + * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). + Use $(mk-libdir-link). + + * file-stat.cc (file_stat::update_internal): Use stat and lstat, + not SAFE_STAT and SAFE_LSTAT. + (lstat): New function, defined if HAVE_LSTAT is not defined. + * safe-xstat.hin, safe-xstat.cin: Delete. + * Makefile.in: Delete rules for safe-stat.h, safe-stat.c, + safe-lstat.h, and safe-lstat.cc. + +Fri Jan 30 23:48:43 1998 John W. Eaton + + * chMatrix.cc (charMatrix::all, charMatrix::any): New functions. + +Tue Jan 20 16:30:00 1998 John W. Eaton + + * dMatrix.cc (Matrix::expm): Skip trace normalization step if the + trace is negative. + * CMatrix.cc (ComplexMatrix::expm): Skip trace normalization if + the real part of the trace is negative. + +Mon Jan 19 16:01:59 1998 John W. Eaton + + * dMatrix.cc (Matrix::expm): Call xdlange instead of dlange. + * CMatrix.cc (ComplexMatrix::expm): Call xzlange instead of zlange. + + * Array2-idx.h (assign): Allow operations like a = 1; a(2:3) = [1;2] + to succeed. + +Thu Dec 18 14:53:45 1997 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::sort): Don't do anything unless len > 1. + (make_uniq): Likewise. + +Fri Dec 12 10:58:33 1997 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Check for linux before __alpha__. + +Sun Nov 30 14:59:12 1997 John W. Eaton + + * lo-mappers.cc: Include cmath and lo-specfun.h, not oct-math.h. + + * lo-specfun.h, lo-specfun.cc: New files. + * Makefile.in (INCLUDES, SOURCES): Add them to the lists. + + * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c, + oct-math.h: Delete. + * Makefile.in (SOURCES): Delete them from the list. + +Wed Nov 26 20:02:13 1997 John W. Eaton + + * lo-sysdep.cc (octave_getcwd): Prefer getcwd over getwd. + +Wed Nov 19 02:30:04 1997 Mumit Khan + + Changes to make support egcs snapshots that implement explicit + specification of template functions according to CD2. + + * MArray.h: If NEED_TEMPLATE_FCN_SPECS is defined, add explicit + template function specs for template friends. + * MArray2.h: Likewise. + * MDiagArray2.h: Likewise. + +Thu Nov 13 21:57:16 1997 John W. Eaton + + * CMatrix.cc (sumsq): Compute equivalent of sum (x .* conj (x)) + +Thu Oct 2 17:13:02 1997 Mumit Khan + + * CRowVector.cc (linspace): Removed attempt for implicit conversion + to complex(int) instead of complex(double). + + * lo-mappers.cc (atanh): Ditto. + +Thu Jul 31 22:13:54 1997 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::sort): New function. + * idx-vector.h (idx_vector::sort): Ditto. + * Array2-idx.h (Array2::maybe_delete_elements): Use it before + trying to delete elements specified by the index vectors. + +Fri Jul 25 17:31:26 1997 John W. Eaton + + * dMatrix.cc (Matrix::lssolve): Increase lwork by factor of 16. + * CMatrix.cc (ComplexMatrix::lssolve): Ditto. + +Thu Jul 24 14:32:48 1997 John W. Eaton + + * file-ops.cc (tilde_expand_word): Fix off-by-one error. + +Wed Jul 9 19:40:23 1997 John W. Eaton + + * lo-sysdep.cc (octave_getcwd): If getwd is available, use it. + Call error handler if we can't find the current directory. + +Mon Jul 7 21:14:41 1997 John W. Eaton + + * lo-mappers.cc (xisnan (double)): Return only 1 or 0. + (xfinite (double)): Ditto. + + * dbleQR.cc (QR::init): Don't forget to initialize Q when type is raw. + * CmplxQR.cc (ComplexQR::init): Ditto. + +Sun Jun 15 21:06:37 1997 John W. Eaton + + * lo-mappers.cc (acos (const Complex&)): Select branch that is + compatible with Matlab. + +Tue Jun 10 10:58:05 1997 John W. Eaton + + * Array2-idx.h: Correctly handle empty matrices indexed by a + single colon. + +Fri Jun 6 04:27:40 1997 John W. Eaton + + * lo-mappers.cc (xlgamma): Use F77_XFCN function to call dlgams. + (xgamma): Likewise, for calling xdgamma. + + * FSQP.h, NPSOL.h, QPSOL.h, FSQP.cc, NPSOL.cc, QPSOL.cc: Delete + * Makefile.in (INCLUDES, SOURCES): Remove them from the lists. + + * file-ops.cc (file_ops::tilde_expand): Steal more code from bash + to do better job expanding tildes. + + * str-vec.cc (string_vector::string_vector (const char * const *): + Use temporary variable to compute length. + +Thu Jun 5 01:44:43 1997 John W. Eaton + + * Makefile.in: Make building of static library optional. + (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. + + * Makefile.in (stamp-picdir): Delete. + (pic): New target. Don't worry so much about creating pic + directory only when it is really needed. + (stamp-interp): Delete. + (libraries): New target. Depend on shared library directly. + +Wed Jun 4 00:08:55 1997 John W. Eaton + + * pathsearch.h, pathsearch.cc (dir_pat::set_program_name): + New static function. + +Mon Jun 2 12:44:14 1997 John W. Eaton + + * lo-mappers.cc (fix): Use floor and ceil instead of casting to int. + +Thu May 22 16:20:43 1997 John W. Eaton + + * cmd-edit.h, cmd-edit.cc: Rename set_paren_string_delimiters to + set_basic_quote_characters, to match new version of readline. + + * cmd-edit.cc (do_restore_terminal_state): Call readline function + for restoring terminal state through rl_deprep_term_function, now + declared in readline.h + (rl_deprep_terminal): Delete declaration. + +Wed May 21 16:30:25 1997 John W. Eaton + + * Makefile.in (install-in): Use new mk-includedir-link macro. + (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. + +Thu May 15 11:46:42 1997 John W. Eaton + + * cmd-edit.cc (command_editor::increment_current_command_number): + New static function. + +Mon May 12 02:14:13 1997 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Make it work when + the vector is not sorted. + + * CMatrix.cc (ComplexMatrix::operator !): Return boolMatrix. + * dMatrix.cc (Matrix::operator !): Likewise + +Wed May 7 21:14:06 1997 John W. Eaton + + * oct-syscalls.h, oct-syscalls.cc: New files. + + * cmd-edit.h, cmd-edit.cc: Handle completion function. + + * str-vec.h, str-vec.cc (string_vector::uniq): New function. + +Tue May 6 00:52:02 1997 John W. Eaton + + * Makefile.in (INCLUDES_FOR_INSTALL): New variable. + (install-inc): Use it. + + * file-ops.h, file-ops.cc (tempnam): Add DIR and PREFIX args. + Handle errors and missing functions consistently. + + * oct-group.h, oct-group.cc: New files. + + * oct-passwd.cc: Handle errors and missing functions consistently. + + * str-vec.h, str-vec.cc (c_str_vec, delete_c_str_vec): New functions. + +Mon May 5 17:53:01 1997 John W. Eaton + + * file-ops.cc: (file_ops::tilde_expand): Use new octave_passwd class. + * oct-env.cc (octave_env::do_get_user_name): Likewise. + + * oct-passwd.h, oct-passwd.cc: New files. + +Sun May 4 22:17:08 1997 John W. Eaton + + * statdefs.h: Only include sys/types.h if HAVE_SYS_STAT_H is defined. + + * mach-info.h, mach-info.cc: Add missing const qualifiers. + (instance_ok ()): New function. + + * glob-match.h, glob-match.cc: Rename from oct-glob.h, oct-glob.cc. + + * cmd-hist.h, cmd-hist.cc: Make it work without GNU readline. + + * lo-utils.h, lo-utils.cc (strsave, octave_putenv): Move here from + src/utils.h and src/utils.cc. + (octave_fgets): New function, extracted from src/input.cc. + + * cmd-edit.h, cmd-edit.cc: New files. Provide wrapper class for + GNU readline, and allow Octave to work without GNU readline. + + * lo-sysdep.h, lo-sysdep.cc: New files for miscellaneous + system-dependent functions. + + * oct-env.h, oct-env.cc: New files for process environment stuff. + + * file-stat.h, file-stat.cc: New files. Extract file_stat class + from file-ops.h and file-ops.cc and move here. + + * file-ops.h, file-ops.cc: Wrap functions in struct. Move + tilde_expand functions here from src/dirfns.cc. + +Fri May 2 19:50:12 1997 John W. Eaton + + * pathlen.h: New file, from ../src. + +Tue Apr 29 04:39:01 1997 John W. Eaton + + * Array2-idx.h (Array2::maybe_delete_elements): Prevent + out-of-bounds indexing of the index array. + * Array-idx.h (Array::maybe_delete_elements): Likewise. + +Fri Mar 28 15:37:09 1997 John W. Eaton + + * LSODE.h (x_step_limit): New field. + (LSODE_options::init): Initialize it. + (LSODE_options::copy): Copy it. + (LSODE_options::set_step_limit, LSODE_options::step_limit): + New functions. + (LSODE::working_too_hard): Delete. + * LSODE.cc (LSODE::do_integrate): Handle step limit. + +Wed Mar 26 15:31:57 1997 John W. Eaton + + * MArray-b.cc: Delete. + * Makefile.in: Delete it from the lists. + + * boolMatrix.h (class bboolMatrix): Derive from Array2, not + MArray2, since most of the numeric ops don't really make sense. + +Tue Mar 25 17:37:25 1997 John W. Eaton + + * boolMatrix.cc (boolMatrix::all, boolMatrix::any): New functions. + + * dMatrix.cc (Matrix::all, Matrix::any): Return boolMatrix. + * CMatrix.cc (ComplexMatrix::all, ComplexMatrix::any): Likewise. + + * idx-vector.h (idx_vector::idx_vector_rep::freeze, + idx_vector::freeze): Delete prefer_zero_one arg. + * Array-idx.h, Array2-idx.h: Change all callers. + + * Array-flags.h, Array-flags.cc (liboctave_pzo_flag): Delete. + + * mx-op-defs.h: New file for operator definitions. + * mx-cdm-cm.h, mx-cdm-cs.h, mx-cdm-dm.h, mx-cdm-m.h, mx-cdm-s.h, + mx-cm-cdm.h, mx-cm-dm.h, mx-cm-m.h, mx-cm-s.h, mx-cs-cdm.h, + mx-cs-dm.h, mx-cs-m.h, mx-dm-cdm.h, mx-dm-cm.h, mx-dm-cs.h, + mx-dm-m.h, mx-dm-s.h, mx-m-cdm.h, mx-m-cm.h, mx-m-cs.h, mx-m-dm.h, + mx-s-cdm.h, mx-s-cm.h, mx-s-dm.h, mx-cdm-cm.cc, mx-cdm-cs.cc, + mx-cdm-dm.cc, mx-cdm-m.cc, mx-cdm-s.cc, mx-cm-cdm.cc, mx-cm-dm.cc, + mx-cm-m.cc, mx-cm-s.cc, mx-cs-cdm.cc, mx-cs-dm.cc, mx-cs-m.cc, + mx-dm-cdm.cc, mx-dm-cm.cc, mx-dm-cs.cc, mx-dm-m.cc, mx-dm-s.cc, + mx-m-cdm.cc, mx-m-cm.cc, mx-m-cs.cc, mx-m-dm.cc, mx-s-cdm.cc, + mx-s-cm.cc, mx-s-dm.cc: + New files for mixed-type operations. + * Makefiles.in: Add them to the appropriate lists. + + * mx-inlines.cc: Add bool by bool EQ ops. + + * idx-vector.h, idx-vector.cc: Add constructors for bool and + boolMatrix types. + (idx_vector::maybe_convert_one_zero_to_idx, + idx_vector::idx_vector_rep::maybe_convert_one_zero_to_idx): + Delete second arg, prefer_zero_one. Change all callers. + + * boolMatrix.h, boolMatrix.cc: New files. + * mx-base.h: Include boolMatrix.h here. + * mx-defs.h: Provide forward declaration for boolMatrix here. + + * chMatrix.h, chMatrix.cc: Delete unused junk. + + * dMatrix.h, CMatrix.h: Delete friend declarations for operator+, + operator-, operator*, product, and quotient functions. + Add constructor for boolMatrix type. + * dMatrix.cc, CMatrix.cc: Delete operator+, operator-, operator*, + product, and quotient functions. + + * CDiagMatrix.h: Delete friend declarations for operator+, + operator-, and product functions. + * CDiagMatrix.h: Delete operator+, operator-, and product functions. + + * Array-b.cc: Also instantiate 2d and 2d diagonal arrays. + +Fri Mar 14 00:29:46 1997 John W. Eaton + + * EIG.cc (EIG::hermitian_init (const ComplexMatrix&)): New function. + (EIG::init (const ComplexMatrix&)): Call it if arg is hermitian. + (EIG::symmetric_init (const Matrix&)): New function. + (EIG::init (const Matrix&)): Call it if arg is symmetric. + + * CMatrix.cc (ComplexMatrix::is_hermitian): New function. + +Thu Mar 13 17:04:26 1997 John W. Eaton + + * Array2.cc (is_symmetric): New function. + * Array2.h (is_square): New function. + +Wed Mar 12 16:59:49 1997 John W. Eaton + + * Makefile.in (install-strip): New target. + +Mon Mar 10 22:34:22 1997 John W. Eaton + + * CmplxCHOL.cc, CmplxHESS.cc, CmplxLU.cc, CmplxQR.cc, + CmplxQRP.cc, CmplxSCHUR.cc, CmplxSVD.cc, EIG.cc, dbleCHOL.cc, + dbleHESS.cc, dbleLU.cc, dbleQR.cc, dbleQRP.cc, dbleSCHUR.cc, + dbleSVD.cc: Don't include mx-inlines.cc. + + * mx-inlines.cc: Abuse the preprocessor to eliminate lots of + duplicate code. + +Sun Mar 9 03:44:52 1997 John W. Eaton + + * dbleQR.h (QR): Delete extra comma at end of list. + + * prog-args.cc (prog_args::getopt): Add missing const in cast. + + * dbleSVD.h (SVD::type): Delete extra comma at end of list. + + * idx-vector.h (idx_vector): Delete unnecessary idx_vector:: and + idx_vecotr_rep:: qualifiers. + + * Array.h (class Array): Delete unnecessary Array:: qualifiers. + + * data-conv.h (save_type): Delete extra comma at end of list. + + * CMatrix.cc, FEGrid.cc, Range.cc, dMatrix.cc, data-conv.cc, + dir-ops.cc, file-ops.h, idx-vector.cc, idx-vector.h, lo-ieee.cc, + lo-mappers.cc, oct-alloc.cc: Use `static_cast (val)' instead of + old C-style `(T) val' casts. + +Thu Mar 6 20:20:01 1997 John W. Eaton + + * dMatrix.cc (operator >>): Return if an error occurs instead of + just breaking out of the innermost loop. + * CMatrix.cc (operator >>): Likewise. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Fri Feb 28 20:11:23 1997 John W. Eaton + + * CmplxQR.cc (ComplexQR::init): New function. + (ComplexQR::ComplexQR): Use it. Use initializer list too. + * CmplxQRP.cc (ComplexQRP::init): New function. + Get sizes right in all cases. + (ComplexQR::ComplexQRP): Use it. Use initializer list too. + + * dbleQR.cc (QR::init): New function. + (QR::QR): Use it. Use initializer list too. + * dbleQRP.cc (QRP::init): New function. + Get sizes right in all cases. + (QR::QRP): Use it. Use initializer list too. + +Wed Feb 26 15:46:28 1997 John W. Eaton + + * mach-info.cc (oct_mach_info::string_to_float_format): + Recognize "vaxg", not "vax_g". + +Fri Feb 21 16:07:56 1997 John W. Eaton + + * Array2-idx.h (Array2::maybe_delete_elements): Use correct + dimension in check for colon equivalent index. + * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): A single-element + index whose value is 0 is also colon eqivalent for n == 1. + + * lo-ieee.cc (octave_ieee_init): Reorder #ifdef stuff to put + system-specific tests first. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Wed Feb 19 09:42:30 1997 John W. Eaton + + * lo-ieee.cc: D'oh, it's `extern "C"', not `#extern "C"'. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Version 2.0.3 released. + +Fri Feb 14 16:23:47 1997 John W. Eaton + + * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. + +Thu Feb 13 14:35:19 1997 John W. Eaton + + * Makefile.in (stamp-prereq): Depend on stamp-picdir. + (all): Don't depend on stamp-prereq or stamp-picdir. + (liboctave.a, stamp-shared): Do depend on stamp-prereq. + (stamp-picdir): Silence noise about making pic. + (stamp-shared): Use $(SH_LD) $(SH_LDFLAGS) instead of $(CXX) -shared. + + * Array2-idx.h (Array2::index (idx_vector&, idx_vector&)): + Fix typo in last change. + + * CColVector.cc (ComplexColumnVector::map (d_c_mapper)): + Convert from friend (moved from dColVector.cc). + * CMatrix.cc (ComplexMatrix::map (d_c_mapper)): + Likewise (moved from dMatrix.cc). + * CRowVector.cc (ComplexRowVector::map (d_c_mapper)): + Likewise (moved from dRowVector.cc). + + * dColVector.cc (ColumnVector::map (d_d_mapper)): Convert from friend. + * dMatrix.cc (Matrix::map (d_d_mapper)): Likewise. + * dRowVector.cc (RowVector::map (d_d_mapper)): Likewise. + * CColVector.cc (ComplexColumnVector::map (c_c_mapper)): Likewise. + * CMatrix.cc (ComplexMatrix::map (c_c_mapper)): Likewise. + * CRowVector.cc (ComplexRowVector::map (c_c_mapper)): Likewise. + + * dColVector.cc (ColumnVector::apply): Rename from map, return *this. + * dMatrix.cc (Matrix::apply): Likewise. + * dRowVector.cc (RowVector::apply): Likewise. + * CColVector.cc (ComplexColumnVector::apply): Likewise. + * CMatrix.cc (ComplexMatrix::apply): Likewise. + * CRowVector.cc (ComplexRowVector::apply): Likewise. + +Tue Feb 11 19:44:28 1997 John W. Eaton + + * lo-ieee.cc: Declare quiet_nan() and infinity(). + +Mon Feb 10 01:17:45 1997 John W. Eaton + + * file-ops.cc (oct_unlink (const string&, string&)): + New two-arg version. + (oct_rmdir (const string&, string&)): New two-arg version. + (oct_mkdir (const string&, mode_t, string&)): New three-arg version. + (oct_mkfifo (const string&, mode_t, string&)): New three-arg version. + (oct_rename (const string&, const string&, string&)): + New three-arg version. + +Fri Feb 7 13:15:55 1997 John W. Eaton + + * idx-vector.h (idx_vector::orig_empty): New function. + + * Array2-idx.h (Array2::index (idx_vector&, idx_vector&)): + Don't always resize to [](0x0) if one of the indices is empty or + zero. + +Sun Feb 2 22:33:44 1997 John W. Eaton + + * cmd-hist.cc (command_history::read): New arg, must_exist. + Set line_in_file here too. + (command_history::read_range): New arg, must_exist. + +Fri Jan 31 09:21:57 1997 John W. Eaton + + * f2c-main.c: Change C++-style comments to C-style comments. + +Tue Jan 28 10:46:02 1997 John W. Eaton + + * Makefile.in (install-inc): Create a relative symbolic link. + +Mon Jan 27 15:52:27 1997 John W. Eaton + + * Version 2.0.2 released. + +Sat Jan 25 22:36:21 1997 John W. Eaton + + * Makefile.in (bin-dist): New target. + +Wed Jan 22 16:18:53 1997 John W. Eaton + + * dbleSVD.cc (SVD::init): Work around apparent dgesvd() bug. + * CmplxSVD.cc (ComplexSVD::init): Work around apparent zgesvd() bug. + +Mon Jan 20 18:44:11 1997 John W. Eaton + + * chMatrix.cc (charMatrix::charMatrix (const string&)): + If the number of columns is zero, also set the number of rows to zero. + (charMatrix::charMatrix (const char *)): Likewise. + +Tue Jan 7 00:16:57 1997 John W. Eaton + + * Version 2.0.1 released. + +Sun Jan 5 12:07:45 1997 John W. Eaton + + * dMatrix.cc (Matrix::read): Correctly compute the number of + columns for resizing when the number of rows is specified but the + number of columns is not. + +Wed Dec 18 16:18:58 1996 John W. Eaton + + * Range.cc (operator -): New function. + + * lo-ieee.cc: Include on all systems that have it. + +Fri Dec 13 02:01:32 1996 John W. Eaton + + * Array2-idx.h (assign): Delay resizing left hand side until we + know if the assignment conforms. + +Tue Dec 10 01:43:09 1996 John W. Eaton + + * Version 2.0 released. + +Fri Dec 6 14:41:15 1996 John W. Eaton + + * Array2-idx.h (assign): If index is a colon, set number of + elements to the lhs dimension if the lhs dimension is greater than + zero. Otherwise, set it to the rhs dimension. + + * Version 1.94. + + * Array2-idx.h (assign): Test for rhs scalar case first. + If index is colon, set number of elements to lhs dimension, not + rhs dimension. + +Thu Dec 5 13:05:18 1996 John W. Eaton + + * sun-utils.h: Don't declare MAIN_ or MAIN__ here. + * sun-utils.cc: Delete. + * f2c-main.c: New file + + * Makefile.in: Fix file name lists. + + * CMatrix.cc (lssolve): Don't redeclare retval, resize it. + +Wed Dec 4 12:24:24 1996 John W. Eaton + + * dMatrix.cc (Qzval): Don't try to use same memory three times. + Create result using Complex constructor, not multiplication. + Order elements as they are returned from Eispack. + +Mon Dec 2 00:26:41 1996 John W. Eaton + + * lo-ieee.cc (octave_ieee_init): Kluge for octave_Inf on SCO. + Only include nan.h if SCO is defined. Define _IEEE before + including it and undefine it afterward. + [SCO] (isnan): Don't mistake Inf as NaN. + + * Array-idx.h (assign): Only resize if assignment conforms. + +Wed Nov 20 01:00:40 1996 John W. Eaton + + * Makefile.in (INCLUDES): Delete lo-error.h. + * lo-error.h: Delete (moved to libcruft/misc). + + * Version 1.93. + +Tue Nov 19 23:07:45 1996 John W. Eaton + + * oct-glob.cc (glob_match::match): Don't expect our flag values to + be the same as they are in fnmatch.h. + + * f77-fcn.c, f77-fcn.h: Move to libcruft/misc directory. + + * Makefile.in (INCLUDES): Delete f77-fcn.h. + (SOURCES): Delete f77-fcn.c. + +Fri Nov 15 13:47:34 1996 John W. Eaton + + * lo-ieee.h: [SCO]: Declare isinf and isnan. + +Thu Nov 14 00:06:53 1996 John W. Eaton + + * Version 1.92. + +Wed Nov 13 11:19:22 1996 John W. Eaton + + * cmd-hist.cc (command_history::add): Ignore empty input lines, or + lines that have only carriage return or newline. + + * lo-ieee.cc (isnan, isinf): Provide functions for SCO. + +Tue Nov 12 11:11:21 1996 John W. Eaton + + * idx-vector.cc (idx_is_inf_or_nan): New function. + (IDX_VEC_REP::idx_vector_rep): Use it. + +Sun Nov 10 17:09:24 1996 John W. Eaton + + * str-vec.h, str-vec.cc: Add constructors to make string vectors + from vectors of C strings. + + * oct-glob.h, oct-glob.cc (glob_match): Allow pat to be a string + vector. + (glob_match::match): Allow match string to be a string vector. + (glob_match::glob): New function. + + * chMatrix.cc (charMatrix::row_as_string): New arg, strip_ws. + + * Array-b.cc: New file. + * Makefile.in (TI_SRC): Add it to the list. + +Fri Nov 8 18:09:12 1996 John W. Eaton + + * file-ops.cc: Change #include "" to #include <> for safe-lstat.h + and safe-stat.h, to avoid getting them from $srcdir when we really + want the version from the build directory. (Maybe this should be + done for all the include files, not just those that are + auto-generated? Hmm.) + +Thu Nov 7 10:45:11 1996 John W. Eaton + + * Version 1.91. + + * Array3.cc (Array3::resize): Make it work. + +Wed Nov 6 22:44:33 1996 John W. Eaton + + * oct-alloc.h, oct-alloc.cc: New files. + * Makefile.in: Add them to the lists. + +Mon Nov 4 21:49:51 1996 John W. Eaton + + * dbleQRP.cc (QRP::QRP): Don't pass tmp data to unsafe constructor. + * CmplxQRP.cc (ComplexQRP::ComplexQRP): Ditto. + +Sun Nov 3 15:45:37 1996 John W. Eaton + + * file-ops.cc (file_stat::is_blk, file_stat::is_chr, + file_stat::is_dir, file_stat::is_fifo, file_stat::is_lnk, + file_stat::is_reg, file_stat::is_sock): Just return false if the + underlying macro is not defined. + + * oct-math.h (lgamma, gamma): Delete declarations. + (asinh, acosh, atanh, erf, erfc): Declare arg types too. + Protect declarations with #ifdef HAVE_*. + +Wed Oct 30 11:42:58 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + + * cmd-hist.cc: Only include fcntl.h if HAVE_FCNTL_H. + + * Matrix-ext.cc: Include , not . + + * CMatrix.cc, cmd-hist.cc, file-ops.cc, file-ops.h, filemode.c, + mkdir.c, rename.c, rmdir.c, safe-xstat.cin, statdefs.h, sysdir.h, + tempname.c, utils.cc: Only include sys/types.h if HAVE_SYS_TYPES_H. + + * Array3.h (T Array3::checkelem): Return T() for bogus value, + since that is now accepatble syntax, even for built-in types. + * Array2.h (T Array2::checkelem): Likewise + +Sat Oct 26 23:37:34 1996 John W. Eaton + + * file-ops.cc (mkfifo) [! HAVE_MKFIFO]: Just print an error + message and return -1. + +Fri Oct 25 01:24:51 1996 John W. Eaton + + * str-vec.h (str_vec_compare): Declare args as const void *, then + cast them to const string * in the body of the function. + + * file-ops.cc (file_stat::mode_as_string): Explicitly construct + string from buf. + + * Array3.h (Array3::checkelem): Tag bogus return value with + GCC_ATTRIBUTE_UNUSED. + * Array2.h (Array2::checkelem): Likewise. + +Thu Oct 24 19:40:36 1996 John W. Eaton + + * Quad.h (Quad): Define virtual destructor. + +Tue Oct 15 11:34:48 1996 John W. Eaton + + * CMatrix.cc (ComplexMatrix::all_elements_are_real): new function. + +Sun Oct 13 11:19:00 1996 John W. Eaton + + * sun-utils.h: Conditionally declare MAIN__ too. Declare MAIN_ + and MAIN__ extern "C". + * sun-utils.cc: Include sun-utils.h here. Delete extern "C" stuff. + +Sat Oct 12 12:40:00 1996 John W. Eaton + + * MArray-misc.cc: New file. + * Makefile.in (MATRIX_SRC): Add it to the list. + + * mx-inlines.cc (equal): Return bool, not int. + + * idx-vector.h (idx_vector (double)): New constructor. + + * chMatrix.h, chMatrix.cc, CMatrix.h, CMatrix.cc, dMatrix.h, + dMatrix.cc, dDiagMatrix.h, dDiagMatrix.cc, dRowVector.h, + dRowVector.cc, dColVector.h, dColVector.cc, CColVector.h, + CColVector.cc, CDiagMatrix.h, CDiagMatrix.cc, CRowVector.h, + CRowVector.cc: Logical operators return bool, not int. + + * CMatrix.h, CMatrix.cc (ComplexMatrix::any_element_is_inf_or_nan): + New function. + + * dMatrix.h, dMatrix.cc (Matrix::any_element_is_negative, + Matrix::any_element_is_inf_or_nan, Matrix::abs, + Matrix::all_elements_are_inf_or_nan): New functions. + + * Range.h, Range.cc (Range::all_elements_are_ints): New function. + + * MArray.cc, MArray2.cc, MDiagArray2.cc: Call gripe_nonconformant + for errors. Simplify macros by converting FCN to string for error + messages. + + * Array-idx.h (Array::index): New function. Don't call + clear_index() here. + (Array::value): Call it, do call clear_index() here. + * Array2-idx.h (Array::value, Array::index): Likewise, for + one and two arg index functions. + +Tue Sep 17 21:21:16 1996 John W. Eaton + + * DAEFunc.h: Delete #pragma interface since there is no longer a + separate implementation file. + +Tue Aug 20 17:38:46 1996 John W. Eaton + + * Makefile.in (stamp-picdir): Only create a pic subdirectory if + SHARED_LIBS is true AND CPICFLAG or CXXPICFLAG is not empty. + + * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Rename arg sort to + sort_uniq. If sort_uniq is nonzero, sort the elements and make + them uniq. + + * CMatrix.cc (ComplexMatrix::row_max, ComplexMatrix::row_min, + ComplexMatrix::column_max, ComplexMatrix::column_min): + Rewrite. Also return index as a reference arg. + (ComplexMatrix::row_max_loc, ComplexMatrix::row_min_loc, + ComplexMatrix::column_max_loc, ComplexMatrix::column_min_loc): + Delete. + + * dMatrix.cc (Matrix::row_max, Matrix::row_min, + Matrix::column_max, Matrix::column_min): + Rewrite. Also return index as a reference arg. + (Matrix::row_max_loc, Matrix::row_min_loc, + Matrix::column_max_loc, Matrix::column_min_loc): Delete. + +Fri Aug 9 05:01:04 1996 John W. Eaton + + * dMatrix.cc (Matrix::row_min, Matrix::row_min_loc, + Matrix::row_max, Matrix::row_max_loc, Matrix::column_min, + Matrix::column_min_loc, Matrix::column_max, + Matrix::column_max_loc): Ignore leading NaNs. + * CMatrix.cc (ComplexMatrix::row_min, ComplexMatrix::row_min_loc, + ComplexMatrix::row_max, ComplexMatrix::row_max_loc, + ComplexMatrix::column_min, ComplexMatrix::column_min_loc, + ComplexMatrix::column_max, ComplexMatrix::column_max_loc): Ignore + leading NaNs. + +Thu Aug 8 16:04:17 1996 John W. Eaton + + * QPSOL.cc (QPSOL::do_minimize): Insert linear constraint bounds + starting at n, not 0. + +Sat Jul 27 02:54:44 1996 John W. Eaton + + * dMatrix.cc (Matrix::Matrix (const RowVector&), + Matrix::Matrix (const ColumnVector&)): New constructors. + + * CMatrix.cc (ComplexMatrix::ComplexMatrix (const RowVector&), + ComplexMatrix::ComplexMatrix (const ColumnVector&), + ComplexMatrix::ComplexMatrix (const ComplexRowVector&), + ComplexMatrix::ComplexMatrix (const ComplexColumnVector&)): + New constructors. + + * chMatrix.cc (charMatrix::charMatrix (const string_vector&)): + New constructor. + +Wed Jul 24 16:39:16 1996 John W. Eaton + + * LSODE.cc (do_integrate): Check to make sure that the state and + derivative vectors are the same size. + * DASSL.cc (do_integrate): Likewise. + +Sun Jul 14 17:30:37 1996 John W. Eaton + + * dMatrix.cc (Matrix::read, Matrix::write): Convert to use + iostreams and handler data format conversions. Delete old methods + that used stdio. + + * data-conv.h, data-conv.cc (oct_data_conv): New class. + +Fri Jul 12 13:52:44 1996 John W. Eaton + + * mach-info.h: Rename from float-fmt.h. + * mach-info.cc: Rename from float-fmt.cc. + Handle machine information using a singlton class. + * Makefile.in: Update appropriate lists. + +Tue Jul 9 11:49:10 1996 John W. Eaton + + * Array-flags.cc: Provide definitions for the flags even if + OCTAVE_SOURCE is not defined. + + * Array.h, Array2.h, Array3.h: BOUNDS_CHECKING now affects + operator(), not elem(). + * Array3.h: Move indexing methods here from Array3.cc. + +Mon Jun 24 02:30:05 1996 John W. Eaton + + * Array3.cc (checkelem): Fix typo in call to Array2::elem(). + + * Makefile.in (install-lib): Use INSTALL_PROGRAM instead of + INSTALL_DATA for shared libs. + +Thu Jun 6 09:59:06 1996 John W. Eaton + + * Quad.cc: Include lo-error.h here too. + +Mon May 27 12:41:07 1996 John W. Eaton + + * file-ops.h: Include sys/types.h here. + +Wed May 22 00:20:24 1996 John W. Eaton + + * chMatrix.cc (charMatrix::transpose): Provide definition. + + * Array-idx.h (maybe_delete_elements): Correctly compute number of + elements in result. + * Array2-idx.h (maybe_delete_elements): Likewise for number of + rows and columns in result. + +Tue May 21 23:46:09 1996 John W. Eaton + + * dbleQR.cc (QR::QR): Don't create result from to-be-deleted data. + * CmplxQR.cc (ComplexQR::ComplexQR): Likewise. + +Fri May 17 03:06:02 1996 John W. Eaton + + * Makefile.in (install-inc): Install in octincludedir, not includedir. + +Sun May 12 03:40:01 1996 John W. Eaton + + * Makefile.in (uninstall): Also delete shared library. + Split install into install-libs and install-includes. + (install-inc): If linkdir is a directory, leave it alone. + + * sun-utils.cc (MAIN__): Define for Linux/ELF systems. + +Thu May 2 20:19:01 1996 John W. Eaton + + * Array-idx.h (assign): Handle A(:) = X for A undefined or empty. + * Array2-idx.h (assign): Likewise. + +Tue Apr 30 05:43:06 1996 John W. Eaton + + * Array2.cc (Array2::range_error): New functions. + + * Array.h (class Array): elem() and operator() are now + equivalent, and do bounds checking by default. + * Array2.cc (class Array2): Likewise. + +Sat Apr 6 21:26:11 1996 John W. Eaton + + * Makefile.in (maintainer-clean, distclean): Also delete + stamp-picdir, stamp-shared, and pic directory. + (stamp-prereq): New target. + +Fri Mar 29 13:44:13 1996 John W. Eaton + + * NPSOL.h (NPSOL_options::set_option (const char *, int)): + New function. + + * Array.h, Array.cc (Array::range_error ()): New functions. + * Array.h (Array::checkelem): Use them. + + * base-lu.h, base-lu.cc: Parameterize based on types of matrix + elements too. + * dbleLU.h, dbleLU.cc, CmplxLU.h, CmplxLU.cc: Change to match. + + * MDiagArray2.h (MDiagArray2 (const MArray& a)): Delete. + + * Makefile.in (distclean): Delete so_locations, which is created + on DEC Alpha systems. + +Sat Mar 23 04:02:53 1996 John W. Eaton + + * Array.h (HEAVYWEIGHT_INDEXING): Do define this here if it is not + already defined. + +Fri Mar 22 23:53:58 1996 John W. Eaton + + * pathsearch.cc: Include config.h. + +Wed Mar 20 04:54:03 1996 John W. Eaton + + * Array2-idx.h (assign (Array2&, const Array2&)): Don't + allow M(I, J) = scalar if I or J is empty. + + * Array-idx.h: Delete Array2 and Array3 code (now in Array2-idx.h + and Array3-idx.h). + +Thu Mar 7 10:20:12 1996 John W. Eaton + + * lo-error.h: Make comments C friendly. + +Sun Mar 3 14:04:32 1996 John W. Eaton + + * Array2.h (make_unique): Move all indexing functions here. + * Array2.cc: From here. + + * Array.h, Array2.h (NO_BOUNDS_CHECKING): New macro to control + whether operator() calls elem or checkelem. + + * Array.h (make_unique): New private function. + Move all indexing functions here. + * Array.cc: From here. + + * pathsearch.cc (dir_path::find_all): Index tmp, don't dereference + it too. + + * Array-d.cc, Array-ch.cc, Array-C.cc, Array-s.cc, Array-str.cc, + Array-i.cc, MArray-i.cc, MArray-s.cc, MArray-d.cc, MArray-ch.cc, + MArray-C.cc: Include config.h. + + * Array.h, Array2.h, DiagArray2.h, Array3.h: + Don't define HEAVYWEIGHT_INDEXING here. + +Sat Mar 2 18:39:35 1996 John W. Eaton + + * base-lu.h, base-lu.cc: New files. + * Makefile.in: Add them to the appropriate lists. + * dbleLU.h, dbleLU.cc, CmplxLU.h, Cmplx.cc: Derive from base_lu. + +Fri Mar 1 08:30:58 1996 John W. Eaton + + * Array2.h, Array3.h, DiagArray2.h: New files, extracted from Array.h + * Array2-idx.h, Array3-idx.h: New files, extracted from Array-idx.h + * Array2.cc, Array3.cc, DiagArray2.cc: New files, from Array.cc. + * MArray2.h, MDiagArray2.h: New files, extracted from MArray.h. + * MArray2.cc, MDiagArray2.cc, MArray-defs.h: New files, from MArray.cc. + + * MArray.h (INSTANTIATE_MARRAY_FRIENDS): New macro. + (INSTANTIATE_MARRAY2_FRIENDS): Likewise. + (INSTANTIATE_MDIAGARRAY_FRIENDS): Likewise. + * MArray-C.cc, MArray-ch.cc, MArray-c.cc, MArray-i.cc, MArray-s.cc: + Simplify using new macros. + +Mon Feb 26 03:04:29 1996 John W. Eaton + + * Makefile.in (install): If $(includedir) ends in version string, + make link to name that does not include version info. + + * lo-ieee.cc: Include here. + +Fri Feb 16 20:52:34 1996 John W. Eaton + + * lo-ieee.cc, lo-ieee.h: New files. + * lo-mappers.cc, lo-mappers.h: New files. + * lo-utils.cc, lo-utils.h: New files. + * Makefile.in: Add them to the appropriate lists. + +Thu Feb 15 22:02:17 1996 John W. Eaton + + * dMatrix.cc (all_integers, too_large_for_float): New functions. + * CMatrix.cc (all_integers, too_large_for_float): New functions. + + * byte-swap.h, data-conv.h, data-conv.cc, float-fmt.h, + float-fmt.cc: New files. + * Makefile.in: Include them in the appropriate lists. + +Wed Feb 14 01:49:47 1996 John W. Eaton + + * dMatrix.cc (Qzval): New function. + +Tue Feb 13 12:41:54 1996 John W. Eaton + + * NPSOL.cc (NPSOL_options::set_option): Arg key is now string, not + char*. + + * DASSL.h, DASSL.cc: Do better management of temporary workspace. + Use F77_XFCN to call Fortran subroutine. + * dColVector.cc, CColVector.cc: Likewise. + * dRowVector.cc, CRowVector.cc: Likewise. + * NPSOL.h, NPSOL.cc: Likewise. + * CmplxCHOL.cc: Likewise. + * dbleCHOL.cc: Likewise. + * CMatrix.cc: Likewise. + * dMatrix.cc: Likewise. + * QPSOL.cc: Likewise. + * LSODE.cc: Likewise. + +Sun Feb 11 14:14:26 1996 John W. Eaton + + * dbleHESS.cc (HESS::init): Dimension of tau is n-1, not n+1. + + * dbleSCHUR.h, dbleSCHUR.cc: Do better management of temporary + workspace. Use F77_XFCN to call Fortran subroutine. + * CmplxAEPBAL.h, CmplxAEPBAL.cc: Likewise. + * CmplxSCHUR.h, CmplxSCHUR.cc: Likewise. + * dbleGEPBAL.h, dbleGEPBAL.cc: Likewise. + * dbleAEPBAL.h, dbleAEPBAL.cc: Likewise. + * CmplxHESS.h, CmplxHESS.cc: Likewise. + * CmplxSVD.h, CmplxSVD.cc: Likewise. + * dbleHESS.h, dbleHESS.cc: Likewise. + * dbleSVD.h, dbleSVD.cc: Likewise. + * EIG.h, EIG.cc; Likewise. + * CollocWt.cc: Likewise. + * NLEqn.cc: Likewise. + * Quad.cc: Likewise. + +Sat Feb 10 12:14:59 1996 John W. Eaton + + * dbleLU.h, dbleLU.cc: Do better management of temporary workspace. + Use F77_XFCN to call Fortran subroutine. + * CmplxLU.h, CmplxLU.cc: Ditto. + * dbleQR.h, dbleQR.cc: Ditto. + * CmplxQR.h, CmplxQR.cc: Ditto. + * dbleQRP.h, dbleQRP.cc: Ditto. + * CmplxQRP.h, CmplxQRP.cc: Ditto. + + * dir-ops.h (dir_entry::dir): Declare as void*, not DIR*. + (struct DIR): delete forward declaration. + (dir_entry::operator = (const dir_entry$)): Protect against + copying same object. + * dir-ops.cc: Cast dir appropriately. + +Fri Feb 9 16:12:44 1996 John W. Eaton + + * lo-error.cc: Moved to libcruft/misc. + * Makefile.in: Delete it from the list. + + * f77-fcn.c (f77_context, f77_exception_encountered): Delete + definitions (they have been moved to libcruft/misc/f77-extern.cc). + + * Array-flags.h: New file. + * Array-idx.h: Include it here. + * Makefile.in (MATRIX_INC): Add it to the list. + + * Array-flags.cc: Renamed from Array-ext.cc. + (liboctave_dfi_flag): Renamed from dfi_flag. + (liboctave_pcv_flag): Renamed from pcv_flag. + (liboctave_pzo_flag): Renamed from pzo_flag. + (liboctave_rre_flag): Renamed from rre_flag. + * Array-idx.h: Change all uses of dfi_flag, etc. + * Makefile.in (MATRIX_SRC): Change file name here too. + + * Makefile.in (LIBOCTAVE_LFLAGS, LIBOCTAVE_LIBS): New variables. + (stamp-shared): Use them here. + +Tue Feb 6 09:53:41 1996 John W. Eaton + + * cmd-hist.cc (command_history::ignore_entries): Delete default + argument value. + +Mon Feb 5 12:07:50 1996 John W. Eaton + + * CmplxAEPBAL.h, CmplxCHOL.h, CmplxDET.h, CmplxHESS.h, CmplxLU.h, + CmplxQR.h, CmplxQRP.h, CmplxSCHUR.h, CmplxSVD.h, dbleAEPBAL.h, + dbleCHOL.h, dbleDET.h, dbleGEPBAL.h, dbleHESS.h, dbleLU.h, + dbleQR.h, dbleQRP.h, dbleSCHUR.h, dbleSVD.h: + Clean up constructors, assigment operator. + +Sun Feb 4 03:12:04 1996 John W. Eaton + + * NPSOL.cc (do_minimize): Use F77_XFCN to call npsol. + Check f77_exception_encountered on return. + + * f77-fcn.c (f77_exception_encountered): New variable. + (F77_XFCN): Set it. + * f77-fcn.h: Provide declaration. + + * QPSOL.h (QPSOL_options::set_options): Renamed from copy(). + + * NPSOL.h (NPSOL_options::set_options): Renamed from copy(). + + * NLEqn.h (NLEqn_options::set_options): New function. + * Quad.h (Quad_options::set_options): Likewise. + + * LP.h (class LP): Add accessors for LP data. + + * NLEqn.h (NLEqn::n): Delete. + + * NLEqn.h (class NLEqn::n): Likewise. + + * NLP.h (class NLP): Add accessors for NLP data. + + * NPSOL.h (class NPSOL_options): Move constructors, set, and + access functions here. + * NPSOL.cc.cc: From here. + + * QLD.h (class QLD): Add destructor definition. + * Objective.h (class Objective): Likewise. + * ODEFunc.h (class ODEFunc): Likewise. + * NLFunc.h (class NLFunc): Likewise. + * NLEqn.h (class NLEqn): Likewise. + * NLConst.h (class NLConst): Likewise. + * LinConst.h (class LinConst): Likewise. + * LSODE.h (class LSODE_options): Likewise. + * CollocWt.h (class CollocWt): Likewise. + * Bounds.h (class Bounds): Likewise. + + * QLD.cc (QLD::set_default_options): Delete. + + * QP.h (QP): Add accessors for QP data. + Add copy constructor, operator =, and destructor definitions. + + * Range.h, Quad.h, QP.h, QLD.h, Objective.h, NLP.h, NLFunc.h, + NLConst.h, LinConst.h, LSODE.h, LP.h, FEGrid.h, EIG.h, DASSL.h, + DAEFunc.h, CollocWt.h, Bounds.h: + Clean up constructors, assigment operator. + + * dRowVector.cc (RowVector::transpose): Use magic of reference + counting to avoid duplicating the data immediately. + * dColVector.cc (ColumnVector::transpose): Likewise. + * CRowVector.cc (ComplexrowVector::transpose): Likewise. + * CColVector.cc (ComplexColumnVector::transpose): Likewise. + +Sat Feb 3 01:02:36 1996 John W. Eaton + + * prog-args.h (prog_args::option_argument): New enum. + + * f77-fcn.h: Rename from f77-uscore.h. + (F77_XFCN_ERROR, F77_XFCN): New macros. + * f77-fcn.c: New file. + * Makefile.in (SOURCES): Add it to the list. + + * ODEFunc.h: Clean up. + + * DASSL.cc, DASSL.h: New files. + * Makefile.in: Add them to the appropriate lists. + + * LSODE.cc, LSODE.h: New files. + * Makefile.in: Add them to the appropriate lists. + + * ODE.cc: Delete. + * Makefile.in (SOURCES): Remove from list. + + * base-de.h, DAE.cc: New files. + * Makefile.in: Add them to the appropriate lists. + * ODE.h: Only define interface for ODE classes. + * DAE.h: Only define interface for ODE classes. + + * LPsolve.cc (do_minimize): Print sorry not implemented message. + (LPsolve::set_default_options)): Delete + * LPsolve.h (class LPsolve): Add operator =, copy constructor, and + destructor. + + * LP.h (class LP): Add operator =, copy constructor, and destructor. + + * QPSOL.h (QPSOL::QPSOL (const QPSOL&)): New constructor. + (QPSOL::operator =): Call base class operator = instead of assuming + we know what to copy. + + * base-min.h (size): New function. + + * NLP.h (NLP::size): Delete. + (NLP::NLP (const NLP&)): New constructor. + (NLP::operator =): Call base class operator = instead of assuming + we know what to copy. + + * NPSOL.h, NPSOL.cc (NPSOL::option): Delete. + (class NPSOL): Add operator = and destructor. + + * NPSOL.h: Add NPSOL_options() to list of constructor initalizers. + +Fri Feb 2 22:52:55 1996 John W. Eaton + + * Makefile.in (liboctave.a): Depend on $(PICOBJ). + +Wed Jan 31 05:29:25 1996 John W. Eaton + + * dMatrix.cc (Givens, Sylvester, Matrix::expm): New functions. + * CMatrix.cc (Givens, Sylvester, ComplexMatrix::expm): Ditto. + +Mon Jan 29 00:00:12 1996 John W. Eaton + + * prog-args.h, prog-args.cc: New files. + * Makefile.in: Add them to lists. + + * getopt.h, getopt.c, getopt1.c: New files. + * Makefile.in: Add them to the lists. + + * oct-term.h, oct-term.cc: New files. + * Makefile.in: Add them to the lists. + + * str-vec.cc: New file. + * Makefile.in (SOURCES): Add it to the list. + + * file-ops.cc (oct_tmpnam): Move here from src/utils.cc. + + * tempname.c, tempnam.c: Move here from src directory. + * Makefile.in: Add to lists. + +Sun Jan 28 23:06:19 1996 John W. Eaton + + * cmd-hist.h, cmd-hist.cc: New files. + * Makefile.in: Add them to lists. + +Thu Jan 25 20:36:05 1996 John W. Eaton + + * oct-glob.h, oct-glob.cc: New files. + * Makefile.in: Add them to lists. + +Wed Jan 24 01:55:08 1996 John W. Eaton + + * pathsearch.h, pathsearch.cc: New files. + * Makefile.in: Add them to lists. + + * dir-ops.h, dir-ops.cc: New files. + * sysdir.h: Move here from src directory. + * Makefile.in: Add them to lists. + + * Array.h (Array::qsort): Return *this, not void. + * str-vec.h (string_vector::qsort): Likewise. + + * chMatrix.cc (row_as_string): Resize result to eliminate + unnecessary NULs. + +Tue Jan 23 00:40:58 1996 John W. Eaton + + * safe-xstat.hin, safe-xstat.cin, statdefs.h, file-ops.h, + file-ops.cc, filemode.c, mkdir.c, rmdir.c, rename.c: + Files moved here from src directory. + * Makefile.in: Add them to lists. Include appropriate rules. + + * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: + Use pointers, not references (this is C code!). + + * oct-math.h: New file. + * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: + Files moved here from src directory. + * Makefile.in: Add them to lists. + +Sun Jan 21 22:53:37 1996 John W. Eaton + + * idx-vector.cc (make_uniq): Fix major brain-o. + + * CmplxSCHUR.h, CmplxSCHUR.cc, dbleSCHUR.h, dbleSCHUR.cc: + Convert to use string class instead of char*. + + * str-vec.h, Array-str.cc: New files. + + * Array.h (Array::qsort): New function. + +Fri Jan 12 01:45:10 1996 John W. Eaton + + * Array.h: Nest ArrayRep class inside Array class. + Refer to ArrayRep, not ArrayRep. + Move all ArrayRep functions inline. + Don't declare other Array classes as friends of ArrayRep. + * Array.cc: Delete ArrayRep functions. + * Array-idx.h: Refer to ArrayRep, not ArrayRep. + + * Array-C.cc, Array-ch.cc, Array-d.cc, Array-i.cc, Array-s.cc: + Don't instantiate ArrayRep objects. + +Wed Jan 10 04:40:21 1996 John W. Eaton + + * chMatrix.cc (charMatrix::charMatrix (const string&)): + New constructor. + +Tue Jan 9 04:44:56 1996 John W. Eaton + + * dbleGEPBAL.cc (GEPBALANCE::init): Use string instead of char* + for balance_job arg. + * dbleAEPBAL.cc (AEPBALANCE::init): Likewise. + * CmplxAEPBAL.cc (ComplexAEPBALANCE::init): Likewise. + + * chMatrix.cc (row_as_string): Return string, not const char*. + +Mon Jan 8 03:20:01 1996 John W. Eaton + + * Makefile.in (clean): If $(SHARED_LIBS), also remove shared libs. + + * chMatrix.cc (row_as_string): Undo previous change. + +Sun Jan 7 19:50:16 1996 John W. Eaton + + * chMatrix.cc (row_as_string): Do memory management here. Caller + is expected to save string if necessary. + +Sat Jan 6 19:28:20 1996 John W. Eaton + + * Array.h (class DiagArray): Enable nested Proxy class for all + platforms. + + * Array.cc (Array::operator = (const Array&)): If rep == + a.rep, don't mess with count. + * Array.h (Array2& operator = (const Array2&)): Likewise, + don't do anything if reps are the same. + (Array3& operator = (const Array3&) + + * Array.h (ArrayRep::operator = (const ArrayRep&)): + Declare private with no definition to prevent misuse. + + * Array.cc (Array2::insert (const Array2&, int, int)): + Get range check right. + * dMatrix.cc (Matrix::insert (const RowVector&, int, int)): Ditto. + (Matrix::insert (const ColumnVector&, int, int)): Ditto. + (Matrix::insert (const DiagMatrix&, int, int)): Ditto. + * CMatrix.cc (ComplexMatrix::insert (const Matrix&, int, int)): Ditto. + (ComplexMatrix::insert (const RowVector&, int, int)): Ditto. + (ComplexMatrix::insert (const ColumnVector&, int, int)): Ditto. + (ComplexMatrix::insert (const DiagMatrix&, int, int)): Ditto. + (ComplexMatrix::insert (const ComplexRowVector&, int, int)): Ditto. + (ComplexMatrix::insert (const ComplexColumnVector&, int, int)): Ditto. + (ComplexMatrix::insert (const ComplexDiagMatrix&, int, int)): Ditto. + * dRowVector.cc (RowVector::insert (const RowVector&, int)): Ditto. + * dColVector.cc + (ColumnVector::insert (const ColumnVector&, int)): Ditto. + * CRowVector.cc + (ComplexRowVector::insert (const RowVector&, int)): Ditto. + (ComplexRowVector::insert (const ComplexRowVector&, int)): Ditto. + * CColVector.cc + (ComplexColumnVector::insert (const ColumnVector&, int)): Ditto. + (ComplexColumnVector::insert (const ComplexColumnVector&, int)): Ditto. + + * dMatrix.cc (Matrix::insert (const DiagMatrix&, int, int)): + Also fill in zeros, not just the diagonal. + + * CDiagMatrix.cc (ComplexDiagMatrix::fill (double, int, int)): + Use END parameter properly. + (ComplexDiagMatrix::fill (const Complex&, int, int)): Ditto. + * dDiagMatrix.cc (DiagMatrix::fill (double, int, int)): Ditto. + + * Array.h (ArrayRep::ArrayRep (void)): Set count to 1 here. + (ArrayRep::ArrayRep (T *, int)): Likewise. + * Array.cc (ArrayRep::ArrayRep (const ArrayRep&)): + Don't copy count. Set it to 1. + (ArrayRep::ArrayRep (int)): Set count to 1 here. + + * Array.h (Array::Array (T *, int)): After constructing rep, + don't set rep->count to 1 here (now handled by ArrayRep + constructors). + (Array::Array (void)): Ditto. + (Array::Array (int)): Ditto. + (Array::T& elem (int)): Ditto. + * Array-idx.h (Array::maybe_delete_elements (idx_vector&)): Ditto. + (Array2::maybe_delete_elements (idx_vector&, idx_vector&)): Ditto. + * Array.cc: (Array::Array (int, const T&)): Ditto. + (Array::resize (int)): Ditto. + (Array::resize (int, const T&)) :Ditto. + (Array::fortran_vec (void)): Ditto. + (Array2::resize (int, int)): Ditto. + (Array2::resize (int, int, const T&)): Ditto. + (DiagArray::resize (int, int)): Ditto. + (DiagArray::resize (int, int, const T&)): Ditto. + +Sun Dec 31 21:23:26 1995 John W. Eaton + + * Array-ch.cc: Rename from Array-c.cc. + * MArray-ch.cc: Rename from MArray-c.cc. + * chMatrix.cc: Rename from cMatrix.cc. + * chMatrix.h: Rename from cMatrix.h. + * Makefile.in (TI_SRC): Use new names here. + * mx-base.h: Likewise. + +Fri Dec 29 21:45:00 1995 John W. Eaton + + * Makefile.in: Handle shared libraries. + +Thu Dec 28 14:18:34 1995 John W. Eaton + + * CRowVector.cc (operator * (ComplexRowVector, ComplexMatrix)): + Correctly compute length of return value. Correct rows and + columns in zgemv call. + * dRowVector.cc (operator * (RowVector, Matrix)): Likewise. + +Tue Dec 26 00:37:57 1995 John W. Eaton + + * Makefile.in (stamp-picdir): New target. + (all): Depend on it. + +Sun Dec 24 03:10:41 1995 John W. Eaton + + * Makefile.in (INCLUDES): Remove QLD.h. + (SOURCES): Remove QLD.cc. + +Wed Dec 20 00:43:46 1995 John W. Eaton + + * dMatrix.cc (Matrix::inverse): New arg, force. + If force is nonzero, invert even if matrix is singular. + (ComplexMatrix::inverse): Likewise. + + * dRowVector.cc, mx-inlines.cc, dMatrix.cc, dDiagMatrix.cc, + dColVector.cc,MArray-C.cc, CmplxDET.cc, CRowVector.cc, CMatrix.cc, + CDiagMatrix.cc, CColVector.cc, Array-C.cc, CmplxDET.h, CMatrix.h: + Include "oct-cmplx.h" instead of . + + * mx-defs.h: Include oct-cmplx.h in place of forward declaration + for class Complex. + + * oct-cmplx.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + + * idx-vector.cc (IDX_VEC_REP::idx_vector_rep): Don't redeclare len. + (IDX_VEC_REP::maybe_convert_one_zero_to_idx): Don't redeclare count. + (IDX_VEC_REP::freeze): Don't redeclare max_val and min_val. + (intcmp, sort_data, make_uniq, copy_data, IDX_VEC_REP::print): + Avoid g++ bugs. + +Tue Nov 14 14:24:16 1995 John Eaton + + * Array-idx.h (maybe_delete_elements): Give useful error message. + + * dbleSCHUR.cc, dbleSVD.cc: Include iostream.h. + +Mon Nov 13 08:35:07 1995 John Eaton + + * CDiagMatrix.cc (inverse): Return retval, not *this. + * dDiagMatrix.cc (inverse): Use same method as for Complex case. + +Sat Nov 4 05:06:12 1995 John Eaton + + * Array.h, Array.cc, Array-idx.h [HEAVYWEIGHT_INDEXING]: Keep + index vector object with Array, not ArrayRep. + +Fri Nov 3 06:52:38 1995 John Eaton + + * Array-idx.h (assign (Array2&, const Array2&): Don't fail + if index is a colon and resizing is maybe needed. + +Tue Oct 31 17:40:01 1995 John Eaton + + * idx-vector.cc (IDX_VEC_REP::is_colon_equiv): Don't return true + if we have a vector of 1's. + + * Array-idx.h (assign (Array2&, Array2&): If lhs has no + current orientation, require index and rhs to conform unless + do_fortran_indexing flag is set. + +Sun Oct 15 23:32:08 1995 John Eaton + + * Array-d.cc, Array-C.cc, mx-base.h, mx-inlines.cc, dDiagMatrix.h, + CDiagMatrix.h, CMatrix.cc, CMatrix.h, dMatrix.h, mx-defs.h, + cMatrix.h, MArray.cc, MArray.h, MArray-i.cc, MArray-c.cc, + MArray-s.cc, Array.h, Array.cc, Array-c.cc, Array-i.cc, + Array-s.cc, cMatrix.cc, Array-idx.h, dMatrix.cc: + Massive changes to support additional data types. Only charMatrix + is currently used in Octave. + +Thu Oct 12 02:22:36 1995 John Eaton + + * Array.cc (Array2::insert (Array2&, int, int): New function. + * CMatrix.cc (ComplexMatrix::insert (ComplexMatrix&, int, int): + Simply call Array2 version. + * dMatrix.cc (Matrix::insert (Matrix&, int, int): Similarly, just + call Array2 version. + + * Array-C.cc, Array-d.cc: Instantiate new assign functions too. + + * Array.h, Array.cc: Massive overhaul to support new way of + handling indexing. + * idx-vector.h, idx-vector.cc: Likewise. + * Array-ext.cc, Array-idx.h: New files. + * Makefile.in: Add them to the appropriate lists. + +Wed Oct 11 00:49:58 1995 John Eaton + + * Range.cc (nelem_internal): Use tfloor here, not round. + +Sun Oct 8 18:21:02 1995 John Eaton + + * idx-vector.h, idx-vector.cc: New files, moved from ../src. + * Makefile.in (SOURCES, INCLUDES): Include them in the lists. + +Sat Oct 7 19:07:02 1995 John Eaton + + * CMatrix.cc (pseudo_inverse): Avoid bogus g++ warning. + + * Array.h: Move simple member functions here. + * Array.cc: From here. + +Fri Oct 6 00:36:04 1995 John Eaton + + * Range.cc (tfloor, tceil, round): New static functions. + (Range::nelem_internal): Rewrite to use better method. + + * dbleSVD.h (SVD::type): New item, sigma_only. + (type_computed): New var. + * dbleSVD.cc (left_singular_matrix, right_singular_matrix): + Handle possible error condition. + (init): Allow for SVD::sigma_only, save type computed. + * CmplxSVD.cc (left_singular_matrix, right_singular_matrix): + Handle possible error condition. + (init): Allow for SVD::sigma_only, save type computed. + +Wed Oct 4 15:33:35 1995 John Eaton + + * Nearly all non-matrix .h and .cc files: + Move short function bodies into class declarations for inlining. + Generally clean up. + + * base-min.h: New file. + * LP.h (class LP): Derive from base_minimizer. + * QLP.h (class QLP): Derive from base_minimizer. + * NLP.h (class NLP): Derive from base_minimizer. + * Makefile.in (INCLUDES): Add base-min.h to the list. + + * Makefile.in (SOURCES): Delete DAEFunc.cc, LP.cc, NLConst.cc, + NLFunc.cc, Objective.cc and QP.cc from list. + +Tue Sep 26 04:14:23 1995 John Eaton + + * dbleSCHUR.cc (select_ana): Remove name of unused parameter. + (SCHUR::SCHUR): Delete unused parameter ord. + * CmplxSCHUR.h (ComplexSCHUR::CmplxSCHUR): Likewise. + + * CRowVector.cc + (ComplexRowVector::operator+ (const Complex&, const RowVector&), + (ComplexRowVector::operator- (const Complex&, const RowVector&), + (ComplexRowVector::operator* (const Complex&, const RowVector&), + (ComplexRowVector::operator/ (const Complex&, const RowVector&)): + Actually do something. + + * dMatrix.cc (Matrix::lssolve (ComplexMatrix&)): Use dummy vars. + (Matrix::lssolve (ComplexMatrix&, int&)): Likewise. + (Matrix::lssolve (ComplexMatrix&, int&, int&)): Likewise. + + * Quad.cc (Quad_options::Quad_options (double, double)): New function. + * (Quad::Quad (integrand_fcn, double, double): Properly initialize + tolerances. + + * DAE.cc (ddassl_f, ddassl_j): Remove names of unused parameters. + * LPsolve.cc (LPsolve::minimize): Likewise. + * NPSOL.cc (NPSOL::option, npsol_confun, npsol_objfun): Likewise. + * ODE.cc (lsode_f, lsode_j): Likewise. + * QPSOL.cc (qphess): Likewise. + +Fri Sep 22 04:14:51 1995 John Eaton + + * dMatrix.cc: Include . + + * Array.cc: Try harder to avoid warnings from gcc in functions + that return bogus values after calling the error handler. + +Thu Sep 14 00:56:00 1995 John Eaton + + * Makefile.in: Use `ifndef omit_deps', not `ifndef $(omit_deps)'. + + * Makefile.in (TEMPLATE_SRC): Add Array-i.cc to the list. + +Tue Aug 22 00:41:06 1995 John Eaton + + * DAE.cc (dassl_f): Add UNUSED attribute for unused parameters. + (dassl_j): Likewise. + + * DAE.cc, NLEqn.cc, NPSOL.cc, ODE.cc, CColVector.cc, CMatrix.cc, + dColVector.cc, dMatrix.cc, CmplxLU.cc, dbleLU.cc, QPSOL.cc, + Array.cc, CollocWt.cc, FEGrid.h, LinConst.h: + Update for change in for loop variable scope for gcc 2.7.0. + +Mon Aug 21 19:34:53 1995 John Eaton + + * Makefile.in: Only include dependency files if $(omit_deps) is + not set. + +Mon May 1 13:26:00 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) + + * dbleSCHUR.h dbleSVD.h dbleQRP.h dbleQR.h dbleHESS.h dbleLU.h + dbleCHOL.h dbleGEPBAL.h dbleAEPBAL.h dbleDET.h dDiagMatrix.h + dColVector.h dMatrix.h dRowVector.h Quad.h Range.h QPSOL.h QLD.h + ODEFunc.h QP.h Objective.h NPSOL.h ODE.h NLEqn.h NLFunc.h + NLConst.h LinConst.h LPsolve.h LP.h FSQP.h FEGrid.h EIG.h + DAEFunc.h CollocWt.h DAE.h CmplxSVD.h CmplxQRP.h CmplxSCHUR.h + CmplxHESS.h CmplxDET.h CmplxLU.h CmplxQR.h CmplxCHOL.h + CmplxAEPBAL.h CRowVector.h CDiagMatrix.h Bounds.h CColVector.h + CMatrix.h dbleSCHUR.cc dbleSVD.cc dbleQRP.cc dbleQR.cc + dbleGEPBAL.cc dbleLU.cc dbleHESS.cc dbleDET.cc dbleCHOL.cc + dbleAEPBAL.cc dColVector.cc dRowVector.cc dMatrix.cc + dDiagMatrix.cc QPSOL.cc Range.cc Quad.cc QP.cc ODEFunc.cc QLD.cc + Objective.cc NLEqn.cc ODE.cc NPSOL.cc NLFunc.cc LPsolve.cc + NLConst.cc LinConst.cc FSQP.cc FEGrid.cc LP.cc DAE.cc EIG.cc + CollocWt.cc DAEFunc.cc CmplxSVD.cc CmplxSCHUR.cc CmplxQRP.cc + CmplxLU.cc CmplxQR.cc CmplxHESS.cc CmplxDET.cc CmplxCHOL.cc + CmplxAEPBAL.cc CRowVector.cc CColVector.cc CMatrix.cc + CDiagMatrix.cc Bounds.cc MArray.h MArray.cc Array.cc Array.h + NLP.h: Use pragma interface/implementation. Don't surround + contents in extern "C++". + * lo-error.h sun-utils.h: Don't surround contents in extern "C++". + +Tue Apr 11 10:59:24 1995 John Eaton + + * f77-uscore.h (F77_FCN): Allow for possibility of uppercase + identifiers. + * utils.cc dbleSVD.cc dbleSCHUR.cc dbleQRP.cc dbleQR.cc dbleLU.cc + dbleHESS.cc dbleGEPBAL.cc dbleAEPBAL.cc dRowVector.cc + dColVector.cc QLD.cc CmplxSVD.cc CmplxCHOL.cc CmplxHESS.cc + CmplxQR.cc CmplxQRP.cc QPSOL.cc CmplxAEPBAL.cc CmplxLU.cc + CmplxSCHUR.cc dMatrix.cc CColVector.cc CRowVector.cc dbleCHOL.cc + CollocWt.cc NLEqn.cc EIG.cc DAE.cc ODE.cc CMatrix.cc NPSOL.cc + Quad.cc: Change usage of F77_FCN to match new definition + + * utils.cc dbleSVD.cc dbleSCHUR.cc dbleQRP.cc dbleQR.cc dbleLU.cc + dbleHESS.cc dbleGEPBAL.cc dbleAEPBAL.cc dRowVector.cc + dColVector.cc QLD.cc CmplxSVD.cc CmplxCHOL.cc CmplxHESS.cc + CmplxQR.cc CmplxQRP.cc QPSOL.cc CmplxAEPBAL.cc CmplxLU.cc + CmplxSCHUR.cc dMatrix.cc CColVector.cc CRowVector.cc dbleCHOL.cc + CollocWt.cc NLEqn.cc EIG.cc DAE.cc ODE.cc CMatrix.cc NPSOL.cc + Quad.cc: Where appropriate, declare Fortran subroutines to take + args by reference instead of pointer. Change all callers. + +Sun Apr 9 20:11:56 1995 John Eaton + + * MArray.h (MArray2::~MArray2, MDiagArray::~MDiagArray): New + functions. Make += and -= operators friend functions. + + * Array.h (Array2::~Array2, Array3::~Array3, + DiagArray::~DiagArray): New functions. + +Wed Apr 5 21:21:13 1995 John Eaton + + * Makefile.in (EXTRAS): Don't distribute mx-kludge.cc. + (MATRIX_INC): Don't distribute mx-kludge.h. + + * CColVector.h CColVector.cc CDiagMatrix.h CDiagMatrix.cc + CMatrix.h CMatrix.cc CRowVector.h CRowVector.cc dColVector.h + dColVector.cc dDiagMatrix.h dDiagMatrix.cc dMatrix.h dMatrix.cc + dRowVector.h dRowVector.cc: + Derive classes from MArray, MArray2, and MDiagArray, not Array, + Array2, and DiagArray2. + Don't use functions defined in mx-kludge.cc for arithmetic + like-type operations on arrays. + + * MArray.cc: Use the classes defined here like-type mathematical + operations on Array objects. Abuse CPP more. + * Makefile.in (TEMPLATE_SRC): Add it to the list. + (EXTRAS): Delete it from this list. + + * MArray-C.cc, MArray-d.cc: New files. + * Makefile.in (TI_SRC): Add them to the list. + +Tue Apr 4 14:13:46 1995 John Eaton + + * mx-kludge.cc: Abuse CPP even more. + +Mon Apr 3 21:05:30 1995 John Eaton + + * Objective.h (objective_function): Add missing const. + (gradient_function): Likewise. + + * CColVector.h CColVector.cc CDiagMatrix.h CDiagMatrix.cc + CMatrix.h CMatrix.cc CRowVector.h CRowVector.cc dColVector.h + dColVector.cc dDiagMatrix.h dDiagMatrix.cc dMatrix.h dMatrix.cc + dRowVector.h dRowVector.cc: + Reorganize to declare and define friends where they should be, + based on the use of private constructors. + +Fri Mar 31 10:09:40 1995 John Eaton + + * CRowVector.h (linspace): Add declaration. + * dRowVector.h (linspace): Likewise. + + * dMatrix.cc (Matrix::inverse, Matrix::determinant, Matrix::solve): + Force result of rcond + 1.0 to be stored. + * CMatrix.cc (ComplexMatrix::inverse, ComplexMatrix::determinant, + ComplexMatrix::solve): Likewise. + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/scripts-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/scripts-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,17465 @@ +2011-04-13 David Bateman + + * plot/colstyle.m : New function. + * plot/module.mk plot_FCN_FILES) : Add it here. + +2011-04-12 Ben Abbott + + * miscellaneous/getappdata.m: If no property name is provided, return + a structure representing the appdata. + +2011-04-12 Marco Caliari + + * general/quadgk.m: Fix problem with -Inf bound on integral (bug + #33055). + +2011-04-11 Ben Abbott + + * miscellaneous/getappdata.m: If appdata propery does not exist, return + an empty matrix. + +2011-04-08 Rik + + * linear-algebra/cond.m, linear-algebra/expm.m, linear-algebra/logm.m, + linear-algebra/null.m, linear-algebra/orth.m, linear-algebra/rank.m, + linear-algebra/rref.m: Improve docstrings. + +2011-04-06 Rik + + * miscellaneous/pack.m: Improve docstring. + +2011-04-06 Rik + + * signal/module.mk: Make spectral density helper functions private. + (rectangle_sw, rectangle_lw, triangle_sw, triangle_lw) + +2011-04-06 Rik + + * optimization/fminunc.m, plot/isocolors.m, plot/isonormals.m: + Clean up operator and function indices. + +2011-04-04 Rik + + * miscellaneous/symvar.m, miscellaneous/warning_ids.m, + optimization/fminunc.m: Spellcheck documentation for 3.4.1 release. + +2011-04-04 Rik + + * @ftp/mget.m, audio/loadaudio.m, audio/playaudio.m, audio/record.m, + audio/saveaudio.m, general/circshift.m, general/cumtrapz.m, + general/dblquad.m, general/quadgk.m, general/quadl.m, + general/shiftdim.m, general/triplequad.m, geometry/convhull.m, + geometry/delaunay3.m, geometry/dsearch.m, geometry/dsearchn.m, + geometry/tsearchn.m, geometry/voronoi.m, image/brighten.m, + io/textscan.m, miscellaneous/getappdata.m, + miscellaneous/namelengthmax.m, miscellaneous/rmappdata.m, + miscellaneous/setappdata.m, miscellaneous/swapbytes.m, + miscellaneous/symvar.m, miscellaneous/warning_ids.m, + pkg/private/get_forge_pkg.m, plot/clabel.m, plot/colorbar.m, + plot/cylinder.m, plot/daspect.m, plot/linkprop.m, plot/pbaspect.m, + plot/plotyy.m, plot/private/__add_default_menu__.m, plot/sphere.m, + plot/subplot.m, plot/view.m, polynomial/polyreduce.m, + polynomial/ppder.m, polynomial/ppint.m, signal/periodogram.m, + sparse/colperm.m, sparse/nonzeros.m, sparse/spaugment.m, + sparse/speye.m, sparse/treelayout.m, sparse/treeplot.m, + statistics/base/kurtosis.m, statistics/base/mean.m, + statistics/base/meansq.m, statistics/base/median.m, + statistics/base/mode.m, statistics/base/moment.m, + statistics/base/ranks.m, statistics/base/skewness.m, + statistics/base/statistics.m, statistics/base/var.m, time/datenum.m, + time/datetick.m, time/now.m: Grammarcheck m-files for 3.4.1 release. + +2011-04-04 Rik + + * deprecated/module.mk, general/module.mk: Deprecate perror, strerror + functions. + +2011-04-02 Rik + + * statistics/base/prctile.m, statistics/base/quantile.m: Improve + docstrings. + +2011-03-31 Rik + + * pkg/module.mk, pkg/pkg.m, pkg/private/get_forge_pkg.m: Add + documentation for '-forge' option (bug #32464). Make get_forge_pkg + a private function. + +2011-03-31 Marco Caliari + + * sparse/spdiags.m: Treat empty vector (1x0 or 0x1) the same as diag(). + +2011-03-31 Rik + + * statistics/base/cor.m: Increase tolerance of %!tests using random + data to guarantee passage. + +2011-03-31 Rik + + * deprecated/module.mk, deprecated/cquad.m: Add deprecated entry for + cquad() pointing to quadcc(). + +2011-03-31 Rik + + * statistics/base/cor.m: Fix operation with only single input + (bug #32961) + +2011-03-29 John W. Eaton + + * special-matrix/wilkinson.m: Update test for 'wilkinson(1)' to reflect + changes to diag(). + +2011-03-29 Michael Creel + + * statistics/base/ols.m: Fix erroneous degrees of freedom when + computing the covariance estimator (closes: bug #32892). + +2011-03-28 Rik + + * linear-algebra/cross.m, plot/ishold.m, signal/fftfilt.m: Improve + docstrings. + +2011-03-26 Robert T. Short + + * signal/ifftshift.m: Add tests. + +2011-03-26 Robert T. Short + + * signal/fftshift.m: Add tests. + +2011-03-21 Rik + + * signal/ifftshift.m: Fix bug #32873, ifftshift fails. + +2011-03-19 Rik + + * general/module.mk, statistics/base/module.mk: Move runlength.m + to statistics/base directory. + * statistics/base/runlength.m: Add input validation and tests. + Improve docstring. + +2011-03-19 Rik + + * statistics/models/logistic_regression.m: Do not split function + declaration with line continuation. + * statistics/models/private/logistic_regression_likelihood.m, + statistics/models/private/logistic_regression_derivatives.m: Make + helper functions private. + * statistics/models/module.mk: Make helper functions private. + +2011-03-19 Rik + + * plot/isocolors.m, plot/isonormals.m, plot/isosurface.m: Improve + docstrings. + +2011-03-19 Rik + + * miscellaneous/dump_prefs.m: Close @deftypefn macro left open. + +2011-03-19 Rik + + * miscellaneous/dump_prefs.m: Improve docstring. + +2011-03-19 Rik + + * plot/daspect.m, plot/pbaspect.m: Use newline between @deftypefnx + macros to get correct appearance. + +2011-03-19 Ben Abbott + + * plot/patch.m: Add demo. + * geometry/trisurf.m: Set default edgecolor as Matlab does. Add demos. + +2011-03-18 Rik + + * plot/uigetdir.m, plot/uigetfile.m, plot/uimenu.m, plot/uiputfile.m: + Improve docstrings. Check for error conditions (missing FLTK, wrong + number of arguments) at top of code. + +2011-03-18 Rik + + * general/curl.m, general/divergence.m, linear-algebra/cross.m: + Update seealso cross references. + +2011-03-18 Rik + + * help/get_first_help_sentence.m: Improve docstring. Add tests. + +2011-03-17 Rik + + * scripts/sparse/svds.m: Fix bug #32818, nonconformant arguments + in svds. + +2011-03-17 Rik + + * io/fileread.m: Add seealso reference to sscanf. + +2011-03-05 Ben Abbott + + * plot/colorbar.m: Allow location to be specified as a property. + +2011-03-03 Rik + + * miscellaneous/bunzip2.m, miscellaneous/bzip2.m, + miscellaneous/gunzip.m, miscellaneous/gzip.m, miscellaneous/unpack.m, + miscellaneous/untar.m, miscellaneous/unzip.m: Improve docstrings + + * miscellaneous/tar.m, miscellaneous/zip.m: Check for invalid arguments + at the top, rather than bottom, of code. + +2011-03-03 Rik + + * miscellaneous/gzip.m: Use same functional form as bzip, zip, etc. + * miscellaneous/private/__xzip__.m: Allow use of character arrays of + filenames. + * miscellaneous/unpack.m: Allow use of character arrays of filenames. + Add capability for gunzip to work recursively on a directory. + Fix bug where unzip returned the archive name in addition to the list + of files unzipped. + +2011-03-03 Rik + + * deprecated/module.mk, general/module.mk: Deprecate is_duplicate_entry. + +2011-03-03 Rik + + * miscellaneous/movefile.m: Fix copy&paste bug affecting Windows + platform. (bug #32443) + +2011-03-02 Rik + + * statistics/distributions/unidcdf.m, + statistics/distributions/unidinv.m, statistics/distributions/unidpdf.m, + statistics/distributions/unidrnd.m: Correctly refer to distribution as + discrete uniform in docstring. + +2011-03-02 Konstantinos Poulios + + * plot/subplot.m: Remove redundant calls. + For gnuplot set "activepositionproperty" to "position" always. + +2011-03-01 Rik + + * general/isscalar.m, general/isvector.m: Use modern warning function + rather than deprecated built-in variable to set warning state. + +2011-02-28 Rik + + * general/iscolumn.m, general/isrow.m: Add 2 new utility functions + to check for row or column vector. + +2011-02-28 Rik + + * sparse/treeplot.m: Use 'o' plot style as default for nodes + +2011-02-27 Rik + + * special-matrix/pascal.m: Fix incorrect statement in documentation + for pascal.m. Bug #32523. + +2011-02-26 Andy Buckle + + * testfun/demo.m, testfun/example.m: Allow command forms of example + and demo. + +2011-02-26 Robert T. Short + + * polynomial/polyval.m: Compute offset/normalization only when needed. + +2011-02-26 Robert T. Short + + * polynomial/polyval.m: Minor simplification in polynomial evaluation. + +2011-02-22 Rik + + * general/bitcmp.m, general/bitget.m, general/bitset.m, + miscellaneous/license.m, special-matrix/pascal.m, + statistics/base/quantile.m, statistics/tests/cor_test.m, + strings/substr.m: Uppercase variables in error strings. + +2011-02-25 Jordi Gutiérrez Hermoso + + * miscellaneous/warnings_ids.m: Add a warning description for + Matlab-style short-circuiting + +2011-02-24 Ben Abbott + + * plot/subplot.m: Document using INDEX as a vector. + +2011-02-24 Robert T. Short + + * polynomial/polyval.m: Properly evaluate constant polynomials. + +2011-02-24 John W. Eaton + + * strings/strchr.m: Avoid implicit string to number conversion. + Bug #32546. From Kim Hansen . + +2011-02-22 Ben Abbott + + * plot/subplot.m: Use new looseinset property introduced by changeset + 12467. Decrease spacing between subplots rows / columns. Clean up and + add comments. + +2011-02-22 Rik + + * io/strread.m, plot/whitebg.m, strings/regexptranslate.m, + testfun/runtests.m: Use single quotes around regexp patterns. + +2011-02-20 Karsten Trulsen + + * signal/fftshift.m: Fix broken function. Bug 32442. + +2011-02-21 Carlo de Falco + + * pkg/get_forge_pkg.m: Fix typo in new PCRE style regular expression. + +2011-02-20 Thomas Weber + + * miscellaneous/warning_ids.m: Document + Octave::autoload-relative-file-name warning. + +2011-02-19 Rik + + * io/dlmwrite.m, pkg/get_forge_pkg.m, plot/__gnuplot_ginput__.m, + plot/__go_draw_axes__.m, testfun/runtests.m: Use PCRE regular + expressions to simplify scripts. + +2011-02-19 Ben Abbott + + * plot/__print_parse_opts__.m, plot/private/__ghostscript__.m: Improve + warnings when shell utilties are missing. + +2011-02-19 Thorsten Meyer + + * general/interp1.m: Fix tests according to spline update of + changeset 07e102029d2a (see bug 31780) + +2011-02-17 Kai Habel + + * plot/private/__add_default_menu__.m: Rename fltk_gui_mode here + as well. + +2011-02-16 Ben Abbott + + * plot/subplot.m: Decrease spacing between subplots rows / columns. + Clean up and add comments. + +2011-02-16 Thorsten Meyer + + * statistics/base/mean.m: Fix tests according to changeset 0f21f258aa17. + +2011-02-15 Konstantinos Poulios + + * plot/__fltk_print__.m: Forward pipeline to drawnow instead of + invoking a process here. Bug #32319. + +2011-02-14 Rik + + * plot/semilogxerr.m, plot/semilogyerr.m, special-matrix/pascal.m, + special-matrix/rosser.m, special-matrix/wilkinson.m: Add missing + commas in @seealso macro. + +2011-02-14 David Bateman + + * testfun/test.m: More explicit error message when source of a + dynamically linked function is not found. Bug #30341. + +2011-02-14 David Bateman + + * plot/private/__scatter__.m: Correctly set the facevertexcdata and + faces properties in the patch objects. Bug #31801. + +2011-02-14 Marco Caliari + + * polynomial/spline.m: Allow length(x) == 2 and unsorted x values. + +2011-02-13 Konstantinos Poulios + + * plot/legend.m: Ignore outerposition. + +2011-02-10 Ben Abbott + + * plot/legend.m, plot/plotyy.m, plot/sombrero.m, plot/shading.m, + plot/text.m: Modify demo scripts to allow conventient conversion + to Matlab compatible syntax. + +2011-02-10 John W. Eaton + + * statistics/base/mean.m: Also accept logical values. + +2011-02-10 Carlo de Falco + + * linear-algebra/gmres.m: New file implementing the GMRES + iterative method for solving linear systems. + +2011-02-08 Ben Abbott + + * plot/__go_draw_axes__.m: Properly set fontspec for legends. + +2011-02-05 David Bateman + + * plot/legend.m: Allow the location and orientation to be set + without modifiying the legend keys. + * plot/legend.m: Add padding to legend positions. Fix for + outerposition for southeastoutside and southwestoutside. + Bug #32374. + +2011-02-06 Ben Abbott + + * plot/legend.m: Align legends to plot box, add demo. Bug 32373. + * plot/legend.m: "legend off" should delete the legend object. + +2011-02-06 David Bateman + + * plot/legend.m : Delete old legend before probing the position and + outerposition. Reshape lpos correct if the legend locqtion is + "southeast". Bug #32343. + +2011-02-06 Ben Abbott + + * plot/legend.m: Add demo for replacing existing legend. + +2011-02-06 John W. Eaton + + * general/circshift.m: New tests. + +2011-02-05 Rik + + * miscellaneous/version.m, path/matlabroot.m: Correct spelling. + +2011-02-05 Rik + + * help/help.m, linear-algebra/onenormest.m, plot/graphics_toolkit.m, + plot/pie3.m, plot/view.m, signal/periodogram.m: Grammarcheck docstrings. + +2011-02-05 Ben Abbott + + * plot/legend.m: Add demo for inline keys created by two plot commands. + +2011-02-05 David Bateman + + Bug #32022 and #32343. + + * plot/legend.m (updatelegend): Don't flip plots when resetting the + legend. Use unwind_protect to ensure that the resursive flag is reset + in case of an error. + (getlegenddata): Remove this function and replace its use with the + function __getlegenddata__. + * plot/privata/__getlegenddata__.m: New function + * plot/module.mk (plot_PRIVATE_FCN_FILES): Add it here. + * plot/private/__plt__.m: Set initial values of hlgnd and tlgnd + if a legend exists already. + +2011-02-02 Rik + + * sparse/svds.m: Use testif to only run some sparse tests when + necessary libraries are installed. + +2011-02-01 Ben Abbott + + * plot/__gnuplot_has_feature__.m: Don't throw an error if gnuplot + isn't installed. + +2011-02-01 John W. Eaton + + * plot/scatter3.m: Pass h to set, not ax. + +2011-01-31 John W. Eaton + + * plot/private/__axis_label__.m: Don't call __fltk_redraw__. + +2011-01-31 John W. Eaton + + * plot/__fltk_ginput__.m: Remove line that should have been + removed in previous change. + +2011-01-31 Rik + + * plot/private/__gnuplot_has_terminal__.m: Simplify regular expression + to eliminate word-boundary assertion. + +2011-01-30 Rik + + * deprecated/module.mk, optimization/module.mk: Deprecate glpkmex + function. + +2011-01-30 John W. Eaton + + * plot/__gnuplot_drawnow__.m: Rename from gnuplot_drawnow.m + Update doc string and error message with new name. + * plot/module.mk (plot_FCN_FILES): Update list. + +2011-01-30 Petr Mikulik + + * plot/__fltk_ginput__.m (ginput_aggregator): New arg, button. + Change all uses. + (ginput_keypressfcn): Save keypress info. + +2011-01-29 Rik + + * plot/gnuplot_binary.in: Improve docstring + +2011-01-29 Rik + + * general/accumarray.m: Add seealso reference to accumdim. + +2011-01-29 Rik + + * set/powerset.m: Improve docstring. + +2011-01-29 Rik + + * miscellaneous/copyfile.m, miscellaneous/movefile.m, + miscellaneous/tempname.m: Improve docstrings + +2011-01-29 Rik + + * deprecated/module.mk, image/module.mk: Deprecate saveimage.m. + +2011-01-29 Rik + + * optimization/glpkmex.m: Add seealso reference to glpk. + +2011-01-29 Rik + + * miscellaneous/compare_versions.m: Allow only "==" equality operator. + Add input validation tests. Improve docstring. + + * miscellaneous/ver.m, miscellaneous/version.m, path/matlabroot.m: + Improve docstring. + +2011-01-29 Ben Abbott + + * miscellaneous/edit.m: As most editors open their own window, change + mode to "async". + +2011-01-28 Ben Abbott + + * plot/__fltk_print__.m, plot/print.m: Fix {eps,ps,pdf}latexstandalone + printing for fltk, bug 32262. + +2011-01-28 John W. Eaton + + * sparse/svds.m: Use "test" instead of "testif HAVE_ARPACK". + +2011-01-27 Rik + + * plot/whitebg.m: Improve docstring. + +2011-01-27 Rik + + * geometry/trimesh.m, geometry/triplot.m, geometry/trisurf.m: Add + undocumented function trisurf to documentation. Update seealso + strings. + +2011-01-27 John W. Eaton + + * general/rat.m: Move @seealso inside @deftypefn in docstring. + +2011-01-27 Kai Habel + + * plot/uigetfile.m, plot/uiputfile.m, plot/uigetdir.m: Check + for __fltk_uigetfile__. + +2011-01-27 John W. Eaton + + * Makefile.am (check-missing-semicolon): New rule. + +2011-01-26 Rik + + * scripts/general/interp1.m, scripts/general/interp2.m, + scripts/general/interp3.m, scripts/general/interpn.m: Use em-dash + rather than en-dash. + * scripts/miscellaneous/mkoctfile.m: Use @code to prevent option + turning to en-dash. + +2011-01-26 John W. Eaton + + * mkdoc: Untabify. + + * mkdoc, gethelp.cc: Strip trailing whitespace. + +2011-01-26 John W. Eaton + + * general/curl.m: Simplify processing of outptut values. + +2011-01-26 Olaf Till + + * pkg/pkg.m: Export environment variables MKOCTFILE and + OCTAVE_CONFIG for configure and make, to configure also OCTAVE. + +2011-01-24 John W. Eaton + + * audio/lin2mu: Doc fix. + + * audio/mu2lin.m: Doc fix. + For compatibility with Matlab, change default for N to be 8. + +2011-01-22 Rik + + * miscellaneous/info.m: Use reference to bug tracker rather than + octave-dev mailing list. + +2011-01-22 Ben Abbott + + * plot/meshc.m: Add note: gnuplot does not support filled 3D patches, + or mixing non-filled contours with filled surfaces. + * plot/subplot.m: Set "box" to "on" by default (same as Matlab). + * plot/cylinder.m: Remove console output from demo. + +2011-01-22 Konstantinos Poulios + + * plot/plotyy.m: Set box property to off to allow both y-axes colors + to be visible for OpenGL backends. + +2011-01-22 John W. Eaton + + * plot/private/__scatter__.m: Don't accept "filled" as a color. + * plot/scatter.m: Doc fix. + Bug #32204. + +2011-01-21 Konstantinos Poulios + + * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Setting axis label + color from axis color. + +2011-01-20 Jordi Gutiérrez Hermoso + + * image/imshow.m: Fix handling of clim and display_range so that + images are more faithfully reproduced. + +2011-01-20 Rik + + * scripts/image/imshow.m, scripts/image/saveimage.m, + scripts/io/dlmwrite.m, scripts/io/strread.m, + scripts/miscellaneous/license.m, scripts/optimization/glpk.m, + scripts/plot/refreshdata.m, scripts/plot/shading.m, + scripts/plot/slice.m, scripts/plot/surfl.m, scripts/plot/uimenu.m, + scripts/statistics/base/mean.m, scripts/statistics/base/moment.m, + scripts/strings/isstrprop.m: Prevent doubled quotes around @table + items in Info. + +2011-01-20 Rik + + * mkdoc: Mark all scripts as coming from 'scripts/' directory + in Texinfo '@c func location' comments. + +2011-01-20 Rik + + * scripts/linear-algebra/condest.m, + scripts/linear-algebra/onenormest.m, scripts/linear-algebra/qzhess.m, + scripts/polynomial/polyfit.m, scripts/special-matrix/pascal.m: Use + non-breaking spaces between certain adjectives and their linked nouns + in docstrings + +2011-01-20 Rik + + * image/imread.m, image/imwrite.m, signal/periodogram.m, + strings/isstrprop.m: Use @nospell macro on certain words in docstring. + +2011-01-20 John W. Eaton + + * @ftp/loadobj.m, @ftp/saveobj.m, audio/record.m, + general/accumarray.m, general/accumdim.m, general/arrayfun.m, + general/bicubic.m, general/curl.m, general/divergence.m, + general/gradient.m, general/interp2.m, general/rat.m, + image/imagesc.m, io/strread.m, io/textscan.m, + linear-algebra/krylov.m, miscellaneous/getappdata.m, + miscellaneous/isappdata.m, miscellaneous/rmappdata.m, + miscellaneous/setappdata.m, miscellaneous/what.m, + optimization/qp.m, path/savepath.m, pkg/pkg.m, + plot/__fltk_print__.m, plot/__gnuplot_print__.m, + plot/__go_draw_axes__.m, plot/__print_parse_opts__.m, + plot/axis.m, plot/caxis.m, plot/cla.m, plot/clabel.m, + plot/clf.m, plot/colorbar.m, plot/cylinder.m, plot/daspect.m, + plot/gnuplot_drawnow.m, plot/meshc.m, plot/newplot.m, + plot/orient.m, plot/pbaspect.m, plot/plotyy.m, plot/print.m, + plot/private/__actual_axis_position__.m, + plot/private/__axis_label__.m, plot/private/__bar__.m, + plot/private/__clabel__.m, plot/private/__errplot__.m, + plot/private/__ezplot__.m, plot/private/__ghostscript__.m, + plot/private/__patch__.m, plot/private/__pie__.m, + plot/private/__quiver__.m, plot/private/__scatter__.m, + plot/private/__stem__.m, plot/private/__tight_eps_bbox__.m, + plot/refresh.m, plot/spinmap.m, plot/subplot.m, plot/surfc.m, + plot/uigetfile.m, polynomial/polyout.m, sparse/spaugment.m, + sparse/svds.m, sparse/treeplot.m, statistics/base/histc.m, + statistics/distributions/hygecdf.m, + statistics/distributions/hygeinv.m, statistics/tests/manova.m, + strings/deblank.m, testfun/runtests.m: Add missing semicolons. + +2011-01-20 John W. Eaton + + * deprecated/cellidx.m, deprecated/dmult.m, + deprecated/intwarning.m, deprecated/str2mat.m, general/curl.m, + general/divergence.m, general/gradient.m, geometry/griddata.m, + help/gen_doc_cache.m, io/dlmwrite.m, miscellaneous/getappdata.m, + miscellaneous/isappdata.m, miscellaneous/rmappdata.m, + miscellaneous/setappdata.m, miscellaneous/unpack.m, + optimization/lsqnonneg.m, optimization/pqpnonneg.m, + pkg/get_forge_pkg.m, pkg/pkg.m, plot/__fltk_print__.m, + plot/__gnuplot_get_var__.m, plot/__gnuplot_open_stream__.m, + plot/__gnuplot_print__.m, plot/daspect.m, + plot/gnuplot_drawnow.m, plot/pbaspect.m, + plot/private/__errplot__.m, plot/private/__fltk_file_filter__.m, + plot/private/__ghostscript__.m, plot/uigetfile.m, + plot/uiputfile.m, polynomial/polyaffine.m, sparse/pcg.m: + Style fixes for error and warning messages. + +2011-01-20 John W. Eaton + + * @ftp/dir.m, @ftp/mget.m, @ftp/mput.m, ChangeLog, + audio/lin2mu.m, audio/setaudio.m, audio/wavread.m, + audio/wavwrite.m, deprecated/autocor.m, deprecated/autocov.m, + deprecated/betai.m, deprecated/create_set.m, + deprecated/dispatch.m, deprecated/gammai.m, + deprecated/intwarning.m, deprecated/replot.m, elfun/cosd.m, + elfun/sind.m, elfun/tand.m, general/accumarray.m, + general/accumdim.m, general/arrayfun.m, general/bicubic.m, + general/bitcmp.m, general/bitget.m, general/bitset.m, + general/cart2pol.m, general/cart2sph.m, general/cell2mat.m, + general/celldisp.m, general/circshift.m, general/cplxpair.m, + general/cumtrapz.m, general/curl.m, general/dblquad.m, + general/deal.m, general/del2.m, general/divergence.m, + general/flipud.m, general/gradient.m, general/idivide.m, + general/int2str.m, general/interp1.m, general/interp2.m, + general/interp3.m, general/interpft.m, general/interpn.m, + general/isdir.m, general/loadobj.m, general/logspace.m, + general/num2str.m, general/pol2cart.m, general/polyarea.m, + general/quadgk.m, general/quadl.m, general/quadv.m, + general/randi.m, general/rat.m, general/repmat.m, + general/rot90.m, general/rotdim.m, general/saveobj.m, + general/shift.m, general/sortrows.m, general/sph2cart.m, + general/structfun.m, general/subsindex.m, general/trapz.m, + general/triplequad.m, geometry/convhull.m, geometry/delaunay.m, + geometry/delaunay3.m, geometry/delaunayn.m, geometry/dsearch.m, + geometry/dsearchn.m, geometry/griddata3.m, geometry/griddatan.m, + geometry/inpolygon.m, geometry/rectint.m, geometry/trimesh.m, + geometry/trisurf.m, geometry/tsearchn.m, geometry/voronoi.m, + help/__makeinfo__.m, help/__strip_html_tags__.m, help/doc.m, + help/gen_doc_cache.m, help/get_first_help_sentence.m, + help/help.m, help/lookfor.m, help/print_usage.m, help/type.m, + image/autumn.m, image/bone.m, image/brighten.m, image/cool.m, + image/copper.m, image/flag.m, image/gmap40.m, image/gray.m, + image/hot.m, image/hsv.m, image/hsv2rgb.m, image/image.m, + image/imread.m, image/imshow.m, image/imwrite.m, + image/ind2rgb.m, image/jet.m, image/ntsc2rgb.m, image/ocean.m, + image/pink.m, image/prism.m, image/rainbow.m, image/rgb2hsv.m, + image/rgb2ind.m, image/rgb2ntsc.m, image/spring.m, + image/summer.m, image/winter.m, io/dlmwrite.m, io/fileread.m, + io/strread.m, io/textread.m, linear-algebra/cond.m, + linear-algebra/condest.m, linear-algebra/cross.m, + linear-algebra/expm.m, linear-algebra/isdefinite.m, + linear-algebra/krylov.m, linear-algebra/logm.m, + linear-algebra/normest.m, linear-algebra/onenormest.m, + linear-algebra/rref.m, linear-algebra/subspace.m, + miscellaneous/ans.m, miscellaneous/bincoeff.m, + miscellaneous/bunzip2.m, miscellaneous/bzip2.m, + miscellaneous/computer.m, miscellaneous/copyfile.m, + miscellaneous/debug.m, miscellaneous/edit.m, + miscellaneous/getappdata.m, miscellaneous/getfield.m, + miscellaneous/gunzip.m, miscellaneous/gzip.m, + miscellaneous/isappdata.m, miscellaneous/ls.m, + miscellaneous/mkoctfile.m, miscellaneous/movefile.m, + miscellaneous/namelengthmax.m, miscellaneous/orderfields.m, + miscellaneous/private/__xzip__.m, miscellaneous/rmappdata.m, + miscellaneous/setappdata.m, miscellaneous/substruct.m, + miscellaneous/swapbytes.m, miscellaneous/tar.m, + miscellaneous/unimplemented.m, miscellaneous/unpack.m, + miscellaneous/untar.m, miscellaneous/unzip.m, + miscellaneous/ver.m, miscellaneous/warning_ids.m, + miscellaneous/what.m, miscellaneous/zip.m, + optimization/__all_opts__.m, optimization/fminbnd.m, + optimization/fminunc.m, optimization/fsolve.m, + optimization/fzero.m, optimization/glpk.m, + optimization/lsqnonneg.m, optimization/optimget.m, + optimization/pqpnonneg.m, optimization/qp.m, optimization/sqp.m, + path/pathdef.m, path/savepath.m, pkg/pkg.m, + plot/__fltk_ginput__.m, plot/__gnuplot_ginput__.m, + plot/__gnuplot_has_feature__.m, plot/__gnuplot_open_stream__.m, + plot/__gnuplot_print__.m, plot/__go_draw_axes__.m, + plot/__go_draw_figure__.m, plot/__marching_cube__.m, + plot/__next_line_color__.m, plot/__next_line_style__.m, + plot/__plt_get_axis_arg__.m, plot/__print_parse_opts__.m, + plot/area.m, plot/axis.m, plot/bar.m, plot/barh.m, plot/caxis.m, + plot/cla.m, plot/clabel.m, plot/colorbar.m, plot/comet.m, + plot/comet3.m, plot/compass.m, plot/contour.m, plot/contour3.m, + plot/contourc.m, plot/cylinder.m, plot/daspect.m, + plot/diffuse.m, plot/ellipsoid.m, plot/errorbar.m, + plot/ezcontour.m, plot/ezcontourf.m, plot/ezmesh.m, + plot/ezmeshc.m, plot/ezplot.m, plot/ezplot3.m, plot/ezpolar.m, + plot/ezsurf.m, plot/ezsurfc.m, plot/feather.m, plot/findobj.m, + plot/fplot.m, plot/gnuplot_drawnow.m, plot/gtext.m, plot/hist.m, + plot/hold.m, plot/ishghandle.m, plot/isocolors.m, + plot/isonormals.m, plot/isosurface.m, plot/isprop.m, + plot/legend.m, plot/loglog.m, plot/loglogerr.m, plot/meshc.m, + plot/meshz.m, plot/ndgrid.m, plot/orient.m, plot/pareto.m, + plot/patch.m, plot/pbaspect.m, plot/pcolor.m, plot/peaks.m, + plot/pie.m, plot/pie3.m, plot/plot.m, plot/plot3.m, + plot/plotmatrix.m, plot/plotyy.m, plot/polar.m, plot/print.m, + plot/private/__actual_axis_position__.m, + plot/private/__axis_label__.m, plot/private/__bar__.m, + plot/private/__clabel__.m, plot/private/__contour__.m, + plot/private/__errplot__.m, plot/private/__ezplot__.m, + plot/private/__fltk_file_filter__.m, + plot/private/__ghostscript__.m, + plot/private/__gnuplot_has_terminal__.m, + plot/private/__patch__.m, plot/private/__pie__.m, + plot/private/__pltopt__.m, plot/private/__quiver__.m, + plot/private/__scatter__.m, plot/private/__stem__.m, + plot/private/__tight_eps_bbox__.m, plot/quiver.m, + plot/quiver3.m, plot/refreshdata.m, plot/rose.m, plot/saveas.m, + plot/scatter.m, plot/scatter3.m, plot/semilogx.m, + plot/semilogxerr.m, plot/semilogy.m, plot/semilogyerr.m, + plot/shading.m, plot/slice.m, plot/specular.m, plot/sphere.m, + plot/stairs.m, plot/stem.m, plot/stem3.m, plot/subplot.m, + plot/surface.m, plot/surfc.m, plot/surfl.m, plot/surfnorm.m, + plot/uigetdir.m, plot/uigetfile.m, plot/uimenu.m, + plot/uiputfile.m, plot/view.m, plot/waitforbuttonpress.m, + plot/whitebg.m, plot/xlim.m, plot/ylim.m, plot/zlim.m, + polynomial/mkpp.m, polynomial/mpoles.m, polynomial/pchip.m, + polynomial/poly.m, polynomial/polyaffine.m, + polynomial/polyderiv.m, polynomial/polyfit.m, + polynomial/polyreduce.m, polynomial/polyval.m, + polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, + polynomial/ppval.m, polynomial/residue.m, polynomial/roots.m, + polynomial/spline.m, polynomial/unmkpp.m, set/ismember.m, + set/private/validargs.m, set/setdiff.m, set/setxor.m, + set/union.m, set/unique.m, signal/arma_rnd.m, signal/fftconv.m, + signal/fftshift.m, signal/filter2.m, signal/freqz.m, + signal/ifftshift.m, signal/unwrap.m, sparse/bicgstab.m, + sparse/cgs.m, sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, + sparse/spaugment.m, sparse/spdiags.m, sparse/speye.m, + sparse/spfun.m, sparse/sprand.m, sparse/sprandn.m, + sparse/sprandsym.m, sparse/spstats.m, sparse/spy.m, + sparse/svds.m, sparse/treelayout.m, sparse/treeplot.m, + specfun/bessel.m, specfun/betaln.m, specfun/factor.m, + specfun/legendre.m, specfun/nchoosek.m, specfun/nthroot.m, + specfun/primes.m, specfun/reallog.m, specfun/realpow.m, + specfun/realsqrt.m, special-matrix/hadamard.m, + special-matrix/invhilb.m, special-matrix/magic.m, + special-matrix/pascal.m, special-matrix/toeplitz.m, + startup/__finish__.m, statistics/base/cov.m, + statistics/base/histc.m, statistics/base/iqr.m, + statistics/base/kendall.m, statistics/base/kurtosis.m, + statistics/base/mean.m, statistics/base/meansq.m, + statistics/base/median.m, statistics/base/mode.m, + statistics/base/moment.m, statistics/base/ols.m, + statistics/base/prctile.m, statistics/base/qqplot.m, + statistics/base/quantile.m, statistics/base/ranks.m, + statistics/base/run_count.m, statistics/base/skewness.m, + statistics/base/statistics.m, statistics/base/std.m, + statistics/base/studentize.m, statistics/base/var.m, + statistics/distributions/betainv.m, + statistics/distributions/betapdf.m, + statistics/distributions/betarnd.m, + statistics/distributions/binoinv.m, + statistics/distributions/binornd.m, + statistics/distributions/cauchy_cdf.m, + statistics/distributions/cauchy_inv.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/exprnd.m, + statistics/distributions/fcdf.m, + statistics/distributions/frnd.m, + statistics/distributions/gamrnd.m, + statistics/distributions/lognrnd.m, + statistics/distributions/nbincdf.m, + statistics/distributions/nbininv.m, + statistics/distributions/nbinpdf.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/normrnd.m, + statistics/distributions/poissrnd.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/tpdf.m, + statistics/distributions/trnd.m, + statistics/distributions/unifcdf.m, + statistics/distributions/unifrnd.m, + statistics/distributions/wblrnd.m, + statistics/tests/bartlett_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, + statistics/tests/kruskal_wallis_test.m, + statistics/tests/t_test_regression.m, strings/blanks.m, + strings/dec2base.m, strings/dec2hex.m, strings/findstr.m, + strings/index.m, strings/isstrprop.m, strings/mat2str.m, + strings/regexptranslate.m, strings/str2num.m, strings/strchr.m, + strings/strjust.m, strings/strmatch.m, strings/strsplit.m, + strings/strtok.m, strings/untabify.m, testfun/assert.m, + testfun/demo.m, testfun/example.m, testfun/fail.m, + testfun/speed.m, testfun/test.m, time/datenum.m, time/datestr.m, + time/datetick.m, time/datevec.m, time/etime.m: + Strip trailing whitespace. + + * statistics/distributions/betapdf.m: Untabify. + +2011-01-20 Petr Mikulik + + * plot/uigetdir.m: Use correct variable name for argument check. + Remove unneeded white spaces. + * plot/uigetfile.m, plot/uiputfile.m: Remove unneeded white spaces. + Bug #32190. + +2011-01-20 John W. Eaton + + * plot/ginput.m, plot/gnuplot_drawnow.m, plot/uiputfile.m, + plot/subplot.m, plot/axis.m, plot/colorbar.m, + plot/__print_parse_opts__.m, plot/uigetdir.m, + plot/__fltk_print__.m, plot/print.m, plot/__gnuplot_print__.m, + plot/uigetfile.m, plot/private/__actual_axis_position__.m: + Update for backend -> graphics_toolkit change. + + * plot/graphics_toolkit.m: Rename from backend.m. + * plot/module.mk (plot_FCN_FILES): Update list. + +2011-01-19 Rik + + * general/curl.m, general/divergence.m, io/strread.m, + miscellaneous/mkoctfile.m, plot/bar.m, plot/errorbar.m, plot/hist.m, + plot/mesh.m, plot/surf.m, polynomial/polyaffine.m: Correct spelling + in docstrings. + +2011-01-19 John W. Eaton + + * help/help.m: New option --list. Bug #31905. + +2011-01-19 John W. Eaton + + * io/strread.m: Avoid PCRE-ism in regexp. Bug #32066. + +2011-01-17 Rik + + * audio/wavread.m, deprecated/spqr.m, elfun/lcm.m, general/bitget.m, + general/curl.m, general/divergence.m, general/interp3.m, + general/quadv.m, geometry/delaunayn.m, geometry/griddata.m, + help/help.m, io/textread.m, io/textscan.m, linear-algebra/cond.m, + miscellaneous/mkoctfile.m, miscellaneous/orderfields.m, + miscellaneous/run.m, miscellaneous/setappdata.m, plot/axis.m, + plot/caxis.m, plot/daspect.m, plot/ellipsoid.m, plot/errorbar.m, + plot/gnuplot_binary.in, plot/hist.m, plot/hold.m, plot/ishold.m, + plot/legend.m, plot/mesh.m, plot/pbaspect.m, plot/pie3.m, plot/print.m, + plot/private/__add_default_menu__.m, plot/scatter.m, plot/scatter3.m, + plot/shg.m, plot/slice.m, plot/surf.m, plot/surfl.m, plot/uigetdir.m, + plot/uigetfile.m, plot/uimenu.m, plot/uiputfile.m, plot/view.m, + set/unique.m, signal/periodogram.m, sparse/pcg.m, sparse/pcr.m, + sparse/spfun.m, specfun/legendre.m, + statistics/distributions/poisspdf.m, statistics/distributions/wblpdf.m, + strings/strjust.m, strings/untabify.m, testfun/assert.m, + testfun/demo.m, testfun/example.m, testfun/fail.m, testfun/test.m: + Grammarcheck m-files for 3.4 release. + +2011-01-17 Rik + + * general/dblquad.m, general/quadgk.m, general/quadl.m, + general/quadv.m, general/triplequad.m: Improve docstring with seealso + links to quadcc. + +2011-01-17 John W. Eaton + + * miscellaneous/isdeployed.m: New function. + * miscellaneous/module.mk (miscellaneous_FCN_FILES): Add it to + the list. Bug #32151. + +2011-01-17 John W. Eaton + + * miscellaneous/inputname.m: Use __varval__ to lookup ".argn." + instead of "argn". + +2011-01-16 Ben Abbott + + * plot/print.m: For DOS, connect the pipe to ghostscript (bug 31967), + and redirect to NUL instead of /dev/null. + +2011-01-16 John W. Eaton + + * gethelp.cc (main): Write function name along with file name in + comment. + +2011-01-16 David Bateman + + * plot/__go_draw_axes__.m: Use "{}" as the default font. + +2011-01-15 Rik + + * scripts/help/doc.m, scripts/help/which.m, + scripts/miscellaneous/comma.m, scripts/miscellaneous/ls.m, + scripts/miscellaneous/paren.m, scripts/miscellaneous/semicolon.m, + scripts/pkg/pkg.m: Eliminate @deffn macros. + +2011-01-15 John W. Eaton + + * deprecated/krylovb: Move here from linear-algebra. + * deprecated/module.mk (deprecated_FCN_FILES): + Include krylovb.m in the list. + * linear-algebra/module.mk (linear_algebra_FCN_FILES): + Remove krylovb.m from the list. + +2011-01-14 Rik + + * general/postpad.m, general/prepad.m: Improve docstring. + +2011-01-14 Rik + + * ploynomial/polyaffine.m: Improve docstring. + +2011-01-14 Rik + + * general/interp1.m, general/interp2.m, polynomial/mkpp.m, + polynomial/pchip.m, polynomial/ppder.m, polynomial/ppint.m, + polynomial/ppjumps.m, polynomial/ppval.m, polynomial/spline.m, + polynomial/unmkpp.m: Improve docstrings + +2011-01-14 Rik + + * miscellaneous/flops.m: Delete function which was unimplemented + in Octave and has been removed from Matlab since version 5. + +2011-01-14 Rik + + * specfun/nthroot.m: Add Seealso references to docstring. + +2011-01-14 Rik + + * miscellaneous/module.mk: Remove texas_lotto.m from build system. + +2011-01-14 Rik + + * miscellaneous/texas_lotto.m: Remove Easter Egg function. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2011-01-13 Michael Godfrey + + * plot/contourc.m: Correct one argument case. + +2011-01-12 John W. Eaton + + * strings/mat2str.m: Handle logical arguments. New tests. + Bug #32102. + +2011-01-10 John W. Eaton + + * linear-algebra/expm.m: Validate nargin. New tests. + +2011-01-10 John W. Eaton + + * linear-algebra/logm.m: Handle scalar and diagonal matrix + arguments specially. Call logm_pade_pf only if m > 1. New tests. + Special case suggested by Marco Caliari . + +2011-01-10 John W. Eaton + + * general/private/__isequal__.m: Use builtin ("struct", ...) to + convert objects to a structs to avoid possible overloading of + the struct function. Bug #32071. + +2011-01-09 Rik + + * plot/orient.m, statistics/tests/kolmogorov_smirnov_test.m, + strings/strtrunc.m: Correct failing tests due to change in + capitalization of error strings from previous changeset. + +2011-01-09 Rik + + * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, audio/saveaudio.m, + audio/wavwrite.m, deprecated/split.m, deprecated/values.m, + general/accumarray.m, general/bitcmp.m, general/cell2mat.m, + general/circshift.m, general/curl.m, general/divergence.m, + general/genvarname.m, general/interpft.m, general/interpn.m, + general/nextpow2.m, general/polyarea.m, general/repmat.m, + general/rot90.m, general/rotdim.m, general/shiftdim.m, + general/strerror.m, general/trapz.m, geometry/griddata.m, + geometry/griddata3.m, geometry/griddatan.m, geometry/rectint.m, + image/brighten.m, image/colormap.m, image/contrast.m, image/imagesc.m, + image/imfinfo.m, image/imread.m, linear-algebra/commutation_matrix.m, + linear-algebra/condest.m, linear-algebra/cross.m, + linear-algebra/duplication_matrix.m, linear-algebra/isdefinite.m, + linear-algebra/vech.m, miscellaneous/bincoeff.m, miscellaneous/cast.m, + miscellaneous/compare_versions.m, miscellaneous/fileparts.m, + miscellaneous/license.m, miscellaneous/private/__xzip__.m, + miscellaneous/substruct.m, miscellaneous/unpack.m, miscellaneous/xor.m, + optimization/sqp.m, pkg/get_forge_pkg.m, plot/backend.m, + plot/contourc.m, plot/cylinder.m, plot/hidden.m, plot/hold.m, + plot/orient.m, plot/private/__interp_cube__.m, plot/refreshdata.m, + plot/subplot.m, plot/surface.m, plot/surfnorm.m, plot/text.m, + plot/uimenu.m, polynomial/mkpp.m, polynomial/pchip.m, + polynomial/polyfit.m, polynomial/ppval.m, signal/arch_fit.m, + signal/arch_rnd.m, signal/arch_test.m, signal/arma_rnd.m, + signal/autoreg_matrix.m, signal/bartlett.m, signal/blackman.m, + signal/diffpara.m, signal/durbinlevinson.m, signal/fftfilt.m, + signal/fractdiff.m, signal/hamming.m, signal/hanning.m, signal/hurst.m, + signal/sinetone.m, signal/synthesis.m, signal/unwrap.m, + sparse/spaugment.m, specfun/factor.m, specfun/factorial.m, + specfun/legendre.m, specfun/nthroot.m, specfun/primes.m, + special-matrix/hadamard.m, special-matrix/magic.m, + statistics/distributions/betacdf.m, statistics/distributions/betainv.m, + statistics/distributions/betapdf.m, statistics/distributions/betarnd.m, + statistics/distributions/binocdf.m, statistics/distributions/binoinv.m, + statistics/distributions/binopdf.m, statistics/distributions/binornd.m, + statistics/distributions/cauchy_cdf.m, + statistics/distributions/cauchy_inv.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2cdf.m, statistics/distributions/chi2inv.m, + statistics/distributions/chi2pdf.m, statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_cdf.m, + statistics/distributions/discrete_inv.m, + statistics/distributions/discrete_pdf.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/empirical_cdf.m, + statistics/distributions/empirical_inv.m, + statistics/distributions/empirical_pdf.m, + statistics/distributions/empirical_rnd.m, + statistics/distributions/expcdf.m, statistics/distributions/expinv.m, + statistics/distributions/exppdf.m, statistics/distributions/exprnd.m, + statistics/distributions/fcdf.m, statistics/distributions/finv.m, + statistics/distributions/fpdf.m, statistics/distributions/frnd.m, + statistics/distributions/gamcdf.m, statistics/distributions/gaminv.m, + statistics/distributions/gampdf.m, statistics/distributions/gamrnd.m, + statistics/distributions/geocdf.m, statistics/distributions/geoinv.m, + statistics/distributions/geopdf.m, statistics/distributions/geornd.m, + statistics/distributions/hygecdf.m, statistics/distributions/hygeinv.m, + statistics/distributions/hygepdf.m, statistics/distributions/hygernd.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/laplace_rnd.m, + statistics/distributions/logistic_rnd.m, + statistics/distributions/logncdf.m, statistics/distributions/logninv.m, + statistics/distributions/lognpdf.m, statistics/distributions/lognrnd.m, + statistics/distributions/nbincdf.m, statistics/distributions/nbininv.m, + statistics/distributions/nbinpdf.m, statistics/distributions/nbinrnd.m, + statistics/distributions/normcdf.m, statistics/distributions/norminv.m, + statistics/distributions/normpdf.m, statistics/distributions/normrnd.m, + statistics/distributions/poisscdf.m, + statistics/distributions/poissinv.m, + statistics/distributions/poisspdf.m, + statistics/distributions/poissrnd.m, + statistics/distributions/stdnormal_cdf.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/tcdf.m, statistics/distributions/tinv.m, + statistics/distributions/tpdf.m, statistics/distributions/trnd.m, + statistics/distributions/unidrnd.m, statistics/distributions/unifcdf.m, + statistics/distributions/unifinv.m, statistics/distributions/unifpdf.m, + statistics/distributions/unifrnd.m, statistics/distributions/wblcdf.m, + statistics/distributions/wblinv.m, statistics/distributions/wblpdf.m, + statistics/distributions/wblrnd.m, statistics/distributions/wienrnd.m, + statistics/models/logistic_regression.m, statistics/tests/anova.m, + statistics/tests/chisquare_test_homogeneity.m, + statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, + statistics/tests/hotelling_test.m, statistics/tests/hotelling_test_2.m, + statistics/tests/kolmogorov_smirnov_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, + statistics/tests/manova.m, statistics/tests/mcnemar_test.m, + statistics/tests/prop_test_2.m, statistics/tests/sign_test.m, + statistics/tests/t_test.m, statistics/tests/t_test_2.m, + statistics/tests/t_test_regression.m, statistics/tests/u_test.m, + statistics/tests/var_test.m, statistics/tests/welch_test.m, + statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, + statistics/tests/z_test_2.m, strings/blanks.m, strings/index.m, + strings/strtrunc.m, strings/validatestring.m, time/addtodate.m, + time/datenum.m, time/datetick.m, time/datevec.m: Use uppercase for + variable names in error() strings to match Info documentation. + + * general/interp2.m, image/imshow.m, image/ind2rgb.m, + image/saveimage.m, io/dlmwrite.m, io/strread.m, io/textscan.m, + linear-algebra/expm.m, linear-algebra/krylov.m, linear-algebra/logm.m, + miscellaneous/delete.m, miscellaneous/run.m, plot/__marching_cube__.m, + sparse/bicgstab.m, sparse/cgs.m, strings/strmatch.m, + testfun/rundemos.m, testfun/runtests.m: Rewrite error string + + * @ftp/ftp.m, help/gen_doc_cache.m, miscellaneous/unix.m, + plot/__gnuplot_open_stream__.m, plot/private/__add_default_menu__.m, + polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, + signal/periodogram.m: Correct use of @deftypefn macro + + * miscellaneous/paren.m: Space @deffnx macro for readability + +2011-01-09 Rik + + * general/arrayfun.m, general/blkdiag.m, general/structfun.m, + image/imagesc.m, linear-algebra/cond.m, linear-algebra/condest.m, + linear-algebra/expm.m, linear-algebra/logm.m, + linear-algebra/onenormest.m, linear-algebra/qzhess.m, + optimization/glpk.m, optimization/glpkmex.m, polynomial/poly.m, + sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, sparse/spaugment.m, + sparse/spdiags.m, sparse/svds.m: Use uppercase 'A' to refer to matrix + argument. + + * io/dlmwrite.m: Use uppercase 'M' to refer to matrix argument. + + * io/textscan.m: Use uppercase 'C' to refer to Cell Array output. + Improve docstring. + + * signal/unwrap.m: Use 'x' instead of 'a' for vector input argument. + +2011-01-09 Rik + + * general/bicubic.m, general/nargchk.m, general/nargoutchk.m, + linear-algebra/krylov.m, linear-algebra/krylovb.m, + linear-algebra/normest.m, linear-algebra/null.m, linear-algebra/orth.m, + linear-algebra/rank.m: Use common names for variables in documentation + and code. + +2011-01-09 Rik + + * audio/loadaudio.m, audio/mu2lin.m, audio/saveaudio.m, + general/accumdim.m, general/bitget.m, general/bitset.m, general/del2.m, + general/isequal.m, general/isequalwithequalnans.m, general/logspace.m, + general/repmat.m, general/strerror.m, general/structfun.m, + geometry/delaunayn.m, geometry/dsearchn.m, image/ind2gray.m, + image/ind2rgb.m, image/rgb2ind.m, io/csvread.m, io/csvwrite.m, + linear-algebra/rref.m, linear-algebra/subspace.m, + linear-algebra/trace.m, miscellaneous/dir.m, miscellaneous/dos.m, + miscellaneous/menu.m, miscellaneous/perl.m, miscellaneous/unix.m, + path/savepath.m, plot/allchild.m, plot/diffuse.m, plot/fplot.m, + plot/refreshdata.m, plot/specular.m, plot/subplot.m, + polynomial/polyreduce.m, set/ismember.m, signal/arch_fit.m, + signal/arch_rnd.m, signal/arch_test.m, signal/diffpara.m, + signal/fftfilt.m, signal/filter2.m, signal/sinetone.m, + signal/spectral_xdf.m, signal/stft.m, signal/synthesis.m, + sparse/spfun.m, sparse/spones.m, sparse/spstats.m, sparse/treelayout.m, + sparse/treeplot.m, specfun/isprime.m, + statistics/distributions/expcdf.m, statistics/distributions/expinv.m, + statistics/distributions/exppdf.m, statistics/distributions/exprnd.m, + statistics/distributions/poisscdf.m, + statistics/distributions/poissinv.m, + statistics/distributions/poisspdf.m, + statistics/distributions/poissrnd.m, + statistics/tests/chisquare_test_independence.m, + statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, + statistics/tests/t_test_regression.m, strings/base2dec.m, + strings/dec2base.m, strings/regexptranslate.m, strings/strjust.m, + strings/strmatch.m, time/asctime.m, time/datenum.m: + Use common names for variables in documentation and code. + + * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, @ftp/delete.m, + @ftp/dir.m, @ftp/ftp.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/mput.m, + @ftp/rename.m, @ftp/rmdir.m, general/chop.m, geometry/dsearch.m, + signal/spencer.m, specfun/primes.m, time/etime.m: Use common names for + variables in documentation and code. Improve docstring + + * elfun/acot.m, elfun/acoth.m, elfun/acsc.m, elfun/acsch.m, + elfun/asec.m, elfun/asech.m, elfun/cot.m, elfun/coth.m, elfun/csc.m, + elfun/csch.m, elfun/sec.m, elfun/sech.m: Use common names for variables + in documentation and code. Change output variable to 'y' rather than + 'w'. + + * miscellaneous/bunzip2.m, miscellaneous/gunzip.m, + miscellaneous/unpack.m, miscellaneous/untar.m, miscellaneous/unzip.m: + Use common names for variables in documentation and code. Use default + on input argument to simplify input validation. + + * general/accumarray.m: Use common names for variables in + documentation, code and tests. + + * geometry/inpolygon.m: Use common names for variables in + documentation, code and tests. Improve docstring. + + * general/bitcmp.m: Use common names for variables in documentation and + code. Switch tests to %!test blocks rather than %!shared variables and + %!asserts for clarity. + + * general/int2str.m: Switch to input variable name 'n' rather than 'x'. + + * general/isdir.m: Switch to input variable name 'f' rather than 'x'. + Switch output variable to 'retval' rather than 'y'. + + * general/perror.m: Switch to input variable name 'funcname' rather + than 'name'. Use common names for variables in documentation and + code. + + * general/rot90.m: Switch to input variable name 'A' rather than 'x'. + Break very long %!assert line into multiple asserts for readability. + + * general/sortrows.m: Use common names for variables in documentation + and code. Break very long %!assert line into multiple asserts for + readability. + + * geometry/voronoin.m: Switch to input variable name 'options' rather + than 'opt'. + + * help/lookfor.m: Switch to input variable name 'arg2' rather than + 'extra'. + + * image/brighten.m: Switch to input variable name 'arg1' rather than + 'm'. Eliminate CamelCase in output variable 'Rmap'. + + * image/rgb2hsv.m: Switch to variable name 'hsv_map' rather than + 'hsval'. + + * image/saveimage.m: Switch to input variable name 'fname', rather than + 'file'. Use common names for variables in documentation and code. + + * io/strread.m, io/textread.m, io/textscan.m: Switch to input variable + name 'format' rather than 'formatstr' + + * miscellaneous/run.m: Switch to input variable 'script' rather than + 's'. + + * miscellaneous/ver.m: Switch to input variable 'package' rather than + 'pack'. Use default on input argument to simplify input validation. + + * plot/saveas.m: Switch to input variable 'fmt' rather than 'ext'. + Improve docstring. + + * plot/title.m: : Switch to input variable 'string' rather than 'title'. + + * plot/uigetdir.m: Improve docstring. Re-order input validation. + Eliminate unnecessary use of cellfun to compare strings. + + * polynomial/polyder.m, polynomial/polyderiv.m: Switch ouput variable + name 'r' to 'd'. Improve docstring. + + * polynomial/polyint.m: Switch input variable name 'c' to 'p'. + + * signal/fftconv.m: Switch input variable names to 'x','y' instead of + 'a','b' for vectors. + + * signal/fftshift.m, signal/ifftshift.m: Switch input variable name to + 'x' instead of 'v'. + + * sparse/etreeplot.m: Switch input variable name to 'A' rather than + 'tree' for matrix. + + * specfun/factor.m: Use common names for variables in documentation and + code. Uncomment and re-instate test code. + + * statistics/distributions/cauchy_cdf.m, + statistics/distributions/cauchy_inv.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m: Switch to input variables + 'location','scale' rather than 'lambda','sigma'. + + * statistics/tests/manova.m: Switch to input variable 'x' rather than + 'y'. + + * strings/untabify.m: Switch to input variable 'dblank' rather than + 'db'. + + * time/datestr.m: Improve docstring + + * time/weekday.m: Switch to input variable name 'format' rather than + 'form'. Improve docstring. + +2011-01-08 John Hunt + + * plot/legend.m, plot/private/__plt__.m: legend with more than two + inline keys (bug 31991). Add/modifyy demos. + +2011-01-07 John W. Eaton + + * general/private/__isequal__.m: Compare objects as if they are + structures. Bug #32071. + +2011-01-07 John W. Eaton + + * linear-algebra/logm.m: Style fixes. + +2011-01-06 John W. Eaton + + * optimization/optimset.m: Remove "i" option from call to + lookup. Bug #31392. + +2011-01-05 Rik + + * general/isa.m: Add tests against logical values. + +2011-01-04 Rik + + * testfun/demo.m: Add newline to error output for better formatting. + +2011-01-03 Rik + + * statistics/base/center.m, statistics/base/corrcoef.m, + statistics/base/kendall.m, statistics/base/mean.m, + statistics/base/meansq.m, statistics/base/skewness.m, + statistics/base/studentize.m, statistics/base/var.m, + statistics/base/run_count.m, statistics/base/ranks.m: Improve input + validation. Add function tests. Improve docstring. + + * statistics/base/moment.m, statistics/base/prctile.m, + statistics/base/spearman.m, statistics/base/std.m : Improve input + validation. Add input validation tests. Improve docstring. + + * statistics/base/cloglog.m: Add function tests. + + * statistics/base/cor.m: Replace with call to corrcoef, now only an + alias. + + * statistics/base/cov.m: Add normalization option. Improve input + validation. Add function tests. Improve docstring. + + * statistics/base/cut.m: Use lowercase variable names. Improve + docstring. + + * statistics/base/histc.m, statistics/base/median.m: Use same variable + name in documentation and in function. Add input validation tests. + Improve docstring. + + * statistics/base/iqr.m, statistics/base/mode.m: Add input validation + tests. Improve docstring. + + * statistics/base/kurtosis.m: Return same class as input variable. Add + input validation tests. Improve docstring. + + + * statistics/base/logit.m, statistics/base/range.m: Add function tests. + Improve docstring. + + * statistics/base/mahalanobis.m: Use lower case variable names. + Improve input validation. Add input validation tests. + + * statistics/base/ols.m, statistics/base/gls.m: Use isargout to only + calculate necessary outputs. Use lowercase variable names. Add + functional tests. Improve docstring. + + * statistics/base/ppplot.m: Add input validation tests. + + * statistics/base/qqplot.m: Add ability to call "XXXinv" or "XXX_inv" + functions. Improve input validation. Improve docstring. + + * statistics/base/quantile.m: Use defaults for input arguments to + simplify code. Improve input validation. Add input validation tests. + Improve docstring. + + * statistics/base/statistics.m: Use lowercase variable names. Improve + input validation. Add input validation tests. Improve docstring. + + * statistics/base/table.m: Switch from deprecated function 'values' to + 'unique'. Add input validation tests. Improve docstring. + +2011-01-02 Ben Abbott + + * plot/legend.m: Only one legend per axes (bug 32022). Add / modify + demos to test addional features. + +2010-12-31 Rik + + * general/is_duplicate_entry.m , general/isdir.m, general/isscalar.m, + general/issquare.m, general/isvector.m, linear-algebra/isdefinite.m, + linear-algebra/ishermitian.m, linear-algebra/issymmetric.m, + miscellaneous/isappdata.m, miscellaneous/ismac.m, miscellaneous/ispc.m, + miscellaneous/isunix.m, plot/isfigure.m, plot/ishold.m, plot/isprop.m, + set/ismember.m, specfun/isprime.m, strings/isletter.m, + time/is_leap_year.m : Improve docstring + * general/isa.m: Improve docstring. Change function variable name to + match documentation variable name. + * strings/isstrprop.m: Improve docstring. Change function variable + name to match documentation variable name. Add new test cases. + +2010-12-31 Rik + + * plot/module.mk: Add isprop.m to list of function files for Automake. + +2010-12-31 Kai Habel + + * general/curl.m, general/divergence.m: New functions. + * general/module.mk: Add new file to list. + * miscellaneous/unimplemented.m: Remove curl and divergence from list. + +2010-12-31 Ben Abbott + + * plot/scatter3.m: Grid on by default for 3D plots. + +2010-12-30 Ben Abbott + + * plot/contour3.m, plot/mesh.m, plot/meshc.m, plot/surfc.m: Grid on + by default for 3D plots. + * plot/surfc.m, plot/meshc.m: Place contour for meshc/surfc at + zlim(1). + * plot/__go_draw_axes__.m: Tweak vertical alignment of text objects + for gnuplot to favor eps/ps output. + +2010-12-29 Ben Abbott + + * plot/text.m: New demo for 3D plot and text with verticalalignment. + * plot/__go_draw_axes__.m: Enable vertical alignment of text objects + for gnuplot. + +2010-12-28 Ben Abbott + + * plot/private/__plt__.m: Fix to allow inline legend keys. Bug 31991. + +2010-12-28 Rik + + * image/autumn.m, image/bone.m, image/cool.m, image/copper.m, + image/flag.m, image/gray.m, image/hot.m, image/hsv.m, image/jet.m, + image/ocean.m, image/pink.m, image/prism.m, image/rainbow.m, + image/spring.m, image/summer.m, image/white.m, image/winter.m: Use + same variable name for documentation and function call. Change demo + code to explicitly use colormap size. Update docstring. + + * image/gmap40.m: Use same variable name for documentation and function + call. Change demo code to use colormap size of 6 rather than 64. + Update docstring. + +2010-12-28 Ben Abbott + + * plot/legend.m: Add demo to legend for inline key. + +2010-12-27 Ben Abbott + + * plot/text.m: Add demo for text rotation and alignment. + +2010-12-26 Michael Godfrey + + * specfun/legendre.m: Add @tex blocks to docstring. + +2010-12-24 Rik + + * testfun/test.m: Use 'Command' for deftype in docstring. + +2010-12-24 Rik + + * audio/setaudio.m: Re-write docstring. + +2010-12-23 Soren Hauberg + + * signal/detrend.m: Also accept polynomial order as a string + ("constant" or "linear") for compatibility with Matlab. + +2010-12-22 Konstantinos Poulios + + * plot/private/__axis_label__.m: Trigger fltk graphics redraw + immediately after setting an axis label. + +2010-12-22 John W. Eaton + + * optimization/optimset.m, optimization/optimget.m, + optimization/__all_opts__.m: Consistently use lower case for + storing and searching option names. + +2010-12-22 John W. Eaton + + * statistics/base/skewness.m: Make returned value have the same + class as the input. + +2010-12-21 John W. Eaton + + * time/datevec.m: Style fixes. + +2010-12-20 Ben Abbott + + * plot/__fltk_print__.m: Update figure for FLTK printing. Bug #31884. + +2010-12-19 John W. Eaton + + * miscellaneous/run.m: Use source to execute script. + +2010-12-18 Ben Abbott + + * plot/view.m: Return azimuth and elevation for nargin == 0. + +2010-10-28 Rik + + * deprecated/module.mk, sparse/module.mk, deprecated/sphcat.m, + deprecated/spvcat.m: Deprecate sphcat and spvcat functions. + +2010-12-17 John W. Eaton + + * plot/comet3.m: New function. + * plot/module.mk: Add comet3.m to the list + * miscellaneous/unimplemented.m: Remove comet3 from the list. + +2010-12-17 John W. Eaton + + * plot/comet.m: Use __plt_get_axis_arg__ to extract axis + argument. Only switch to specified axis temporarily. + +2010-12-16 Ben Abbott + + * miscellaneous/unimplemented.m: Remove isprop() from list of + unimplemented functions. + * plot/isprop.m: New function. + +2010-12-16 Olaf Till + + * optimization/sqp.m: Fix indexing error in sqp bounds selection. + +2010-12-14 Doug Stewart + + * plot/bar.m: Improve the docstring. + +2010-12-14 John W. Eaton + + * plot/private/__quiver__.m: Use high contrast color black for arrows + in quiver3 plots. Bug #31802. + +2010-12-14 Rik + + * plot/compass.m, plot/errorbar.m, plot/legend.m, plot/rose.m, + plot/scatter.m, plot/scatter3.m, plot/stairs.m: Assign data used in + demo plots for reproducibility between runs. + +2010-12-13 Rik + + * statistics/median.m: Add NaN test case from bug #29930. + +2010-12-13 Rik + + * general/isequalwithequalnans.m: Add test case from bug #31239. + +2010-12-13 Ben Abbott + + * plot/__print_parse_opts__.m: Fix indexing bug for varargin. + Bug #31862. + +2010-12-13 Rik + + * statistics/distributions/betapdf.m: Add test for large values of + alpha and beta. + +2010-12-13 Rik + + * strings/strmatch.m: Add test with null search pattern. + +2010-12-13 Doug Stewart + + * plot/hist.m: Improved the help section. + +2010-12-13 Kai Habel + + * plot/private/__add_default_menu__.m: New function. + * plot/figure.m: Call __add_default_menu__ function. + * plot/module.mk: Add new file to list. + +2010-12-13 Rik + + * optimization/sqp.m: Change docstring to refer to x0 as the initial + seed vector. + +2010-12-13 Olaf Till + + * optimization/sqp.m: Remove never violated Inf bounds from + computation in function for inequality constraints (bug + #31742). Remove non-functional check for inequality constraints + being +Inf in each iteration. + +2010-12-12 Jaroslav Hajek + + * optimization/optimget.m: Use explicit toupper conversion rather than + lookup(..., "i"). + * optimization/optimset.m: Ditto. + * miscellaneous/parseparams.m: Ditto. + +2010-12-12 Kai Habel + + * plot/view.m: Fix bugs with respect to number if inputs and argument + handling. + +2010-12-12 Kai Habel + + * plot/view.m: Make view more compatible. Allow cartesian + coordinates and axes handle arguments. + +2010-12-10 Ben Abbott + + * io/strread.m: Don't require space between format specifiers. + +2010-12-10 Rik + + * testfun/speed.m: Eliminate line continuation in function definition. + +2010-12-10 Kai Habel + + * plot/private/__pie__.m: Add missing slice option to pie and + pie3 function. + * plot/pie.m, plot/pie3.m: Add new demo. + +2010-12-10 Thorsten Meyer + + * statistics/tests/kolmogorov_smirnov_test.m: Add tests. + +2010-12-09 John W. Eaton + + * plot/private/__pie__.m: Provide diagnositc for invalid + optional arguments. Use caller name instead of __pie__ in error + messages. + +2010-12-09 John W. Eaton + + * statistics/tests/kolmogorov_smirnov_test.m: Try both DIST_cdf + and DISTcdf functions. Always use feval to call CDF function. + Bug #31838. + +2010-12-09 John W. Eaton + + * plot/__go_draw_axes__.m: Set major and grid linewidths from + axis linewidth property. Bug #31755. + +2010-12-09 Rik + + * plot/__print_parse_opts__.m: Convert print resolution from char to + double. Fixes Bug #31834. + +2010-12-09 Rik + + * plot/private/__pie__.m: Allow logical indices for 'explode' variable. + +2010-12-09 Kai Habel + + * plot/pie3.m, plot/private/__pie__.m: New functions. + * plot/pie.m: Move __pie__ function to plot/private, in order to + be used by pie and pie3. + * miscellaneous/unimplemented.m: Remove pie3.m from list of + unimplemented functions. + +2010-12-09 John W. Eaton + + * time/datestr.m: Don't call localtime (mktime (tm)) to fill in + missing elements of time strcture. Bug #31079. + +2010-12-08 Ben Abbott + + * plot/fill.m: Fix bug that implies nextplot = "add". + * image/imshow.m: Flip y-axis. + +2010-12-08 John W. Eaton + + * strings/strmatch.m: Avoid passing length of zero to strncmp. + Bug #31774. + +2010-12-07 John W. Eaton + + * general/repmat.m: Handle special case of replicating scalar + using an index vector containing zeros. Bug #31775. + +2010-12-06 Rik + + * plot/plot.m: Eliminate present tense in first sentence of docstring. + +2010-12-06 Rik + + * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Add additional calling + form to docstring which returns handle (h) + +2010-12-06 Rik + + * scripts/testfun/speed.m: Overhaul documentation string. + +2010-12-03 Ben Abbott + + * plot/private/__stem__.m: Create a baseline for each stem hggroup. + * plot/__go_draw_axes__.m: If not set, then unset the gnuplot + {tblr}margins. Needed when using subplots with differing + activepositionproperty. + +2010-12-03 Konstantinos Poulios + + * plot/pbaspect.m, plot/daspect.m: Fix handling of input array of + length 2. + +2010-12-02 Ben Abbott + + * image/image.m: Only flip y-axis if nextplot property equal + "replace". Fixes bug 31745. + * plot/contour3.m: Modify demo to avoid clipping mesh. Fixes bug + 31744. + * plot/fill.m: Allow multiple filled polygons. Fixes bug 31750. + * plot/subplot.m: Add suppport for "align" and "replace" options. + Partial fix for bug 31610. + +2010-11-26 John W. Eaton + + * pkg/pkg.m: Append directories to EXEC_PATH instead of + prepending them. Use pathsep instead of ":". + + * miscellaneous/copyfile.m, miscellaneous/movefile.m, + miscellaneous/ls_command.m, plot/__print_parse_opts__.m: + Search PATH for programs, not EXEC_PATH. + + * plot/print.m: Refer to PATH, not EXEC_PATH in error messages. + * plot/__print_parse_opts__.m: Likewise. + +2010-11-25 Kai Habel + + * (plot/uimenu.m): Simplify code, add further check. + * (plot/uigetdir.m, plot/uigetfile.m, plot/uiputfile.m): + Fix error messages. + +2010-11-25 John W. Eaton + + * time/datetick.m: Add missing semicolon. + +2010-11-21 Rik + + * optimization/sqp.m: Use correct stopping tolerance in documentation. + +2010-11-21 Kai Habel + + * (plot/uigetdir.m, plot/private/__fltk_file_filter__.m:): Check if + file argument is a valid path, don't use fileparts in this case. + +2010-11-21 Ben Abbott + + * plot/__go_draw_axes__.m: Fix plot titles so they are visible for + gnuplot 4.4.x (31711). + * general/cell2mat.m: Return empty matrix for empty cell. + +2010-11-21 Kai Habel + + * (plot/uigetfile.m, plot/uiputfile.m): Set default directory to pwd. + +2010-11-21 Kai Habel + + * plot/uigetdir.m, plot/uigetfile.m, plot/uiputfile.m, + plot/private/__fltk_file_filter__.m: New files. + * plot/module.mk: Add new files. + * miscellaneous/unimplemented.m: Remove uigetdir.m, uigetfile.m, + and uiputfile.m from list of unimplemented functions. + +2010-11-20 Rik + + * plot/gnuplot_drawnow.m: Remove spurious line causing 'ans=1' to be + returned when printing plots. + +2010-11-19 Ben Abbott + + * plot/__gnuplot_has_feature__.m: Since there is not gnuplot 4.3.x + release, replace reference to version 4.3 with 4.4. + +2010-11-18 Ben Abbott + + * plot/text.m: Ensure text position property is set after units + property. + * plot/__go_draw_axes__.m: Fix bug setting zscale to yscale (31693). + +2010-11-18 Christos Dimitrakakis + + * statistics/distributions/betapdf.m: Use lgamma to compute + normalising constant in log space in order to handle large + parameters a and b. Ensure correct values at x == 0 or x == 1. + +2010-11-18 Ben Abbott + + * plot/__print_parse_opts__.m: For tests, allow __print_parse_opts__ + to run with no inputs. + +2010-11-17 Ben Abbott + + * general/subsindex.m: Fix typo in doc-string. + +2010-11-17 John W. Eaton + + * strings/strchr.m: Style fixes. + +2010-11-17 Kim Hansen + + * strings/strchr.m: New tests. + +2010-11-16 Ben Abbott + + * miscellaneous/unimplemented.m: Update unimplemented functions list. + +2010-11-15 Rik + + * plot/saveas.m: Add function name to error messages. Use semicolons + to prevent unnecessary output. Use common terms 'ext' for extension + and 'filename' for filename in docstring. + +2010-11-15 Kai Habel + + * plot/saveas.m: New file. + * plot/module.mk: Add saveas.m + * plot/__print_parse_opts__.m: Parse arguments correctly when first + argument is a figure handle. + * plot/print.m: Add saveas to seealso entry. + +2010-11-14 Michael Goffioul + + * plot/print.m: Use "del" instead of "delete" in DOS shell, and + replace forward slashes with backslashes. + * plot/__gnuplot_print__.m: Likewise. + +2010-11-14 Jaroslav Hajek + + * optimization/__all_opts__.m: Ensure that the array is always + case-insensitively sorted. + +2010-11-13 John W. Eaton + + * plot/gnuplot_drawnow.m (have_non_legend_axes): New function. + Use it to avoid errors if there are no axes. + * plot/legend.m: Avoid indexing beyond end of varargin array. + +2010-11-10 John W. Eaton + + * gethelp.cc: Eliminate special case for __DECCXX. + +2010-11-10 John W. Eaton + + * scripts/deprecated/dispatch.m: Don't set warning state in tests. + +2010-11-10 John W. Eaton + + * deprecated/dispatch.m: Deprecate dispatch function. + * deprecated/module.mk (deprecated_FCN_FILES): Add it to the list. + +2010-11-09 John W. Eaton + + * help/help.m: Call missing_function_hook with output argument + and print message here. + * miscellaneous/unimplemented.m: Return message if nargout > 0. + Fixes bug #31597. + +2010-11-08 Ben Abbott + + * plot/__go_draw_axes__.m: Check for z/y/zdata before converting + negative values to NaNs. Bug fix for changeset 11201. + * plot/daspect.m: Fix demo using both daspect and pbaspect. + +2010-11-08 David Bateman + + * plot/__go_draw_axes__.m: Remove foreground color earlier. + * plot/__go_draw_figure__.m: Don't set the foreground color here. + +2010-11-08 Rik + + * sparse/sprand.m: Add input validation to function. + +2010-11-08 Ben Abbott + + * plot/private/__bar__.m: Permit bar() to be called with scalar inputs. + * plot/__go_draw_axes__.m, plot/axis.m: Set proper tight axis limits + for log scale. + +2010-11-07 David Bateman + + * plot/legend.m: Remove call to drawnow. + + * plot/__go_draw_axes__.m: Pass the legend axes as a structure. + Test whether the legend axis has any children before using it. + * plot/__go_draw_figure.m: Setup a fake axis to handle multi-parent + legend axes and delete this fake axiss when we're done with it. + * plot/gnuplot_drawnow.m: Don't cound legend axes when decidong if + multiplot should be used or not. + * plot/legend.m: Handle correctly plotyy as a multi-parented axis. + Reuse existing legend axis if possible. Setup listeners to propagate + changes in the lines to the legend. Setup listeners that handle the + properties that need to legend to be recreated. + * plot/plotyy.m: Cross-references the axes of the plotyy in the userdata + of the axes. + +2010-11-07 Konstantinos Poulios + + * plot/colorbar.m: Make colorbar function aware of dataaspect settings. + +2010-11-06 Marco Caliari + + * polynomial/spline.m: Fit a parabola for input with 3 + elements (bug #31098). + +2010-11-04 Rik + + * plot/__fltk_ginput__.m: Use semicolons to prevent internal + function evaluations being output to screen. + +2010-11-04 Rik + + * plot/module.mk: Add __fltk_ginput__.m to list of scripts + +2010-11-04 Rik + + * Makefile.am: Update check-m-sources target to include generated + function files. + +2010-11-04 Rik + + * general/accumarray.m, general/accumdim.m, general/blkdiag.m, + general/cell2mat.m, general/common_size.m, + general/private/__isequal__.m, general/private/__splinen__.m, + geometry/voronoi.m, io/textscan.m, miscellaneous/private/__xzip__.m, + pkg/pkg.m, plot/axis.m, plot/pareto.m, plot/private/__patch__.m, + statistics/base/mode.m, strings/deblank.m, strings/strcat.m, + strings/strmatch.m, strings/strtrim.m, strings/untabify.m: + Reverse previous changeset. Use all lower case for "uniformoutput" + option. + +2010-11-03 Rik + + * general/accumdim.m, general/cell2mat.m, general/common_size.m, + general/structfun.m, pkg/pkg.m, strings/untabify.m: Use CamelCase + for 'UniformOutput' option to cellfun. + +2010-11-03 Rik + + * scripts/plot/plotyy.m, scripts/plot/xlim.m, scripts/plot/ylim.m, + scripts/plot/zlim.m: Fix typos in docstring and demo string. + +2010-11-03 Rik + + * general/common_size.m, miscellaneous/private/__xzip__.m, + miscellaneous/what.m, plot/pareto.m, plot/private/__patch__.m: + Use function handle as input to cellfun rather than quoted function + name or anonymous function wrapper. + +2010-11-03 Konstantinos Poulios + + * plot/axis.m: Making 'axis equal' equivalent to 'daspect([1,1,1])'. + +2010-11-03 Konstantinos Poulios + + * plot/private/__actual_axis_position__.m: Remove temporary + calculation of plotboxratio for the gnuplot backend when + dataaspectratiomode, xlimmode and ylimmode are all set to manual. + Now this case is handled in src/graphics.cc . + +2010-11-03 Konstantinos Poulios + + * plot/axis.m: Leave zlim unchanged during "axis tight" on 2D plots + +2010-11-03 Ben Abbott + + * plot/private/__patch__.m: Don't index an empty array; bug introduced + by changeset 11175. + +2010-11-03 Ben Abbott + + * miscellaneous/getappdata.m, miscellaneous/isappdata.m, + miscellaneous/rmappdata.m, miscellaneous/setappdata.m: + Add new appdata function. + +2010-11-01 David Bateman + + * plot/__private__/__contour__.m: Use __go_patch__ rather than patch + to avoid the cost of the patch callback functions. Ensure that the + properties that are normally set by patch are correctly set in the + call to __go_patch__. + +2010-11-01 Ben Abbott + + * plot/axis.m: Exclude hggroup {x,y,z}data properties when determing + tight axis limits. + +2010-10-31 Rik + + * strings/base2dec.m, strings/bin2dec.m, strings/dec2base.m, + strings/dec2bin.m, strings/dec2hex.m, strings/hex2dec.m: + Improve docstrings, use more descriptive variable names, + add more tests for functions used to convert between bases. + +2010-10-31 Konstantinos Poulios + + * plot/__go_draw_axes__.m: Removing deprecated code handling the case + of both plotboxaspectratiomode and dataaspectratiomode set to manual + for the gnuplot backend. Now this case is handled already in + src/graphics.cc where xlim, ylim, zlim are recalculated if necessary. + +2010-10-30 Gunnar Farnebäck + + * strings/dec2base.m: Update algorithm to handle numbers up to 2^64-1. + +2010-10-28 Rik + + * deprecated/module.mk, signal/module.mk, deprecated/autocov.m, + deprecated/autocor.m: Deprecate autocov and autocor functions. + +2010-10-27 David Bateman + + * plot/__go_draw_axes__.m: Don't attempt to plot patch outlines if + the marker property is set to none. + +2010-10-28 Ben Abbott + + * plot/daspect.m, plot/pbaspect.m: Add demos setting both data and + plotbox aspect ratios. + +2010-10-27 David Bateman + + * plot/private/__patch__.m (setdata, setvertexdata): If argments are + repeated, take the last argument only into account. Set cdata and + facevertexcdata properties always. + +2010-10-26 Kai Habel + + * plot/uimenu.m: Add simple demo + +2010-10-25 David Bateman + + * statistics/distributions/discrete_pdf.m: Sort values before calling + the lookup function. + +2010-10-25 Kai Habel + + * plot/uimenu.m: New function + * plot/__go_draw_figure__.m: Ignore uimenu objects for gnuplot + backend + * plot/module.mk (plot_FCN_FILES): Add it to the list. + +2010-10-24 Rik + + * miscellaneous/compare_versions.m, plot/ylabel.m, plot/ylim.m, + plot/zlabel.m, plot/zlim.m: Docstring improvements. + +2010-10-24 Rik + + * specfun/module.mk, deprecated/module.mk, deprecated/betai.m, + deprecated/gammai.m, deprecated/is_global.m: Deprecate betai, + gammai, and is_global functions. + +2010-10-23 John W. Eaton + + * strings/untabify.m, strings/strjust.m, io/strread.m: + Docstring fixes. + +2010-10-23 John W. Eaton + + * statistics/distributions/nbinrnd.m: Use | instead of || in + argument to find. + + * deprecated/intwarning.m, general/bicubic.m, general/postpad.m, + general/prepad.m, general/private/__splinen__.m, + general/shift.m, miscellaneous/swapbytes.m, pkg/pkg.m, + plot/clabel.m, plot/colorbar.m, plot/fill.m, plot/legend.m, + plot/plotmatrix.m, plot/plotyy.m, plot/private/__clabel__.m, + plot/private/__ezplot__.m, plot/private/__quiver__.m, + plot/subplot.m, signal/unwrap.m, statistics/base/histc.m, + statistics/base/iqr.m, statistics/base/kurtosis.m, + statistics/base/mode.m, statistics/base/ranks.m, + statistics/base/run_count.m, statistics/base/skewness.m, + statistics/base/statistics.m, statistics/base/studentize.m, + statistics/distributions/exprnd.m, + statistics/distributions/frnd.m, + statistics/distributions/geornd.m, + statistics/distributions/lognrnd.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/poissrnd.m, + statistics/distributions/trnd.m, + statistics/distributions/wblrnd.m, strings/strcat.m, + time/datestr.m, time/datetick.m: Break lines before && and ||, + not before. + +2010-10-23 John W. Eaton + + * io/strread.m: Docstring fixes. + +2010-10-23 John W. Eaton + + * io/is_valid_file_id.m: Ensure that FID is a scalar before + calling fopen to get info. New tests. + +2010-10-23 John W. Eaton + + * io/is_valid_file_id.m: New function. + * io/module.mk (io_FCN_FILES): Add it to the list. + +2010-10-23 Ben Abbott + + * io/textscan.m, miscellaneous/unimplemented.m, io/module.mk: + New function. + +2010-10-22 Ben Abbott + + * plot/legend.m: Trivial fix to allow legend handle to be returned. + +2010-10-21 John W. Eaton + + * statistics/base/quantile.m: Fix typo in previous change. + +2010-10-21 Rik + + * statistics/distributions/wblcdf.m, statistics/distributions/wblinv.m, + statistics/distributions/wblpdf.m, statistics/distributions/wblrnd.m: + Fix reversed documentation for shape and scale parameters. + +2010-10-21 Ben Abbott + + * io/strread.m: Improve compatibility with Matlab. + +2010-10-21 John W. Eaton + + * general/private/__isequal__.m: Style fixes. + +2010-10-20 Iain Murray + + * general/private/__isequal__.m: Fix bug #31239 where + isequalwithequalnans is incorrect. + +2010-10-20 Rik + + * polynomial/conv.m: Remove redundant test. + * signal/fftconv.m: Add tests used by conv.m code. + +2010-10-20 Olaf Till + + * optimization/optimset.m: Use cell2struct instead of struct to + handle cell arrays as options. + +2010-10-20 John W. Eaton + + * io/strread.m, optimization/sqp.m, plot/daspect.m, + plot/pbaspect.m, plot/gnuplot_drawnow.m, plot/isocolors.m, + plot/isonormals.m, plot/legend.m, plot/print.m, + plot/private/__interp_cube__.m, plot/__fltk_print__.m, + plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, + statistics/base/quantile.m: Style fixes. + +2010-10-19 John W. Eaton + + * strings/module.mk (strings_FCN_FILES): Include + strings/untabify.m in the list. + * strings/untabify.m: Escape { and } characters in docstring. + +2010-10-19 Ben Abbott + + * strings/strjust.m: Add "untabify" and "strrep" to @seealso{} in the + doc-string. + +2010-10-18 Thorsten Meyer + + * general/gradient.m, linear-algebra/normest.m, + plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, + plot/daspect.m, plot/gnuplot_drawnow.m, plot/pbaspect.m, + plot/print.m, signal/periodogram.m: + Style fix, replace end by endfor. + +2010-10-18 Marco Caliari + + * polynomial/polyval.m: Use Horner's method. + +2010-10-18 John W. Eaton + + * plot/__go_draw_axes__.m: Always use gnuplot to display images. + * image/image.m: Delete references to image_viewer. + * image/image_viewer.m: Delete obsolete function. + * image/module.mk (image_FCN_FILES): Remove image/image_viewer.m + from the list. + +2010-10-18 Gunnar Farneback + + * general/interp2.m: Fix input checks for cubic + interpolation (bug #31352, part 1). + +2010-10-18 Ben Abbott + + * plot/print.m: Add examples to the docstring. + +2010-10-18 John W. Eaton + + * plot/private/__errplot__.m: Remove debugging statement from + previous change. + +2010-10-17 John W. Eaton + + * miscellaneous/edit.m: Use version 3 in GPL notice. + + * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, + @ftp/delete.m, @ftp/dir.m, @ftp/display.m, @ftp/ftp.m, + @ftp/loadobj.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/mput.m, + @ftp/rename.m, @ftp/rmdir.m, @ftp/saveobj.m, + help/__makeinfo__.m, help/__strip_html_tags__.m, + help/gen_doc_cache.m, help/get_first_help_sentence.m, + help/help.m, help/lookfor.m, help/print_usage.m, + help/private/__additional_help_message__.m, help/type.m, + help/which.m, io/fileread.m, io/strread.m, io/textread.m, + pkg/get_forge_pkg.m, plot/__gnuplot_has_feature__.m, + plot/__gnuplot_open_stream__.m, plot/__marching_cube__.m, + plot/cla.m, plot/comet.m, plot/daspect.m, plot/isocolors.m, + plot/isonormals.m, plot/isosurface.m, plot/pbaspect.m, + plot/private/__interp_cube__.m, plot/private/__ghostscript__.m, + plot/private/__tight_eps_bbox__.m, + plot/private/__gnuplot_has_terminal__.m, + polynomial/polyaffine.m, sparse/svds.m, strings/strsplit.m: + Use Octave copyright notice instead of generic "This program is + free software" notice. + +2010-10-18 Ben Abbott + + * strings/untabify.m: New function to untabify text. + +2010-10-17 Ben Abbott + + * plot/mesh.m, plot/surf.m: Include the 4th input (color) in the + docstring. + +2010-10-16 Ben Abbott + + * plot/private/__errplot__.m, plot/errorbar.m: Allow line and marker + types to be set. + +2010-10-14 John W. Eaton + + * special-matrix/rosser.m: New tests. + * special-matrix/wilkinson.m: Fix error message. New tests. + * special-matrix/pascal.m: Error if T is out of range. + New tests. + +2010-10-14 John W. Eaton + + * set/unique.m: Remove check for issparse existence since it is + now a built-in function. + +2010-10-14 Ben Abbott + + * strings/strjust.m: Clarify that justification applies to spaces and + null characters. + +2010-10-09 Ben Abbott + + * plot/__go_draw_axes__.m: Enable linetypes for gnuplot. + +2010-10-09 John W. Eaton + + * statistics/distributions/geornd.m, + * statistics/distributions/hygecdf.m, + * statistics/distributions/hygeinv.m, + * statistics/distributions/poissrnd.m, + * statistics/distributions/wblrnd.m: + Use || instead of | and && instead of & in IF conditions + involving scalars. + +2010-10-09 John W. Eaton + + * plot/__fltk_ginput__.m: Use || instead of | in IF condition. + +2010-10-08 Ben Abbott + + * image/image.m, plot/__go_draw_axes__.m: Do not store flipped image + property values when x/ydata descends. + +2010-10-07 John W. Eaton + + * signal/periodogram.m: Fix parse errors. + +2010-10-07 John W. Eaton + + * time/datevec.m: Use endfunction to mark end of primary + function and subfunctions. + +2010-10-07 Rik + + * polynomial/conv.m: Improve docstring. + * signal/fftconv.m: Improve docstring and error messages. + +2010-10-07 John W. Eaton + + * polynomial/conv.m: Handle optional third argument. New + tests. Update doc string. + +2010-10-06 Ben Abbott + + * image/image.m: Allow x/ydata to imply a flip of the image. + Modify demos. + +2010-10-05 Carlo de Falco + + * general/quadv.m: Fix help string and add a test for vector + valued functions. + +2010-10-04 Shai Ayal + + * image/image.m (__img__): Use __image_pixel_size__ to calculate + limits + +2010-09-28 John P. Swensen + + * image/imwrite.m: Call __magick_format_list__ to get list of + accepted formats. + +2010-09-28 Rik + + * linear-algebra/logm.m, plot/legend.m, signal/periodogram.m: + Untabify scripts. + +2010-09-27 Rik + + * io/dlmwrite.m: Replace non-POSIX '\d' regex pattern. + + * miscellaneous/edit.m, path/savepath.m, + plot/__gnuplot_get_var__.m, + plot/private/__gnuplot_has_terminal__.m, plot/refreshdata.m, + plot/whitebg.m, testfun/runtests.m, time/datestr.m: + Use single quotes for regular expression patterns when possible. + + * miscellaneous/ls.m, plot/__gnuplot_ginput__.m, + plot/__go_draw_axes__.m, plot/private/__ezplot__.m, + testfun/test.m: Remove uses of shorthand character classes + within list operators which is unsupported by POSIX regex. + + * pkg/get_forge_pkg.m: Select desired output from regexp + rather than ignoring most outputs. + +2010-09-28 Ben Abbott + + * plot/__print_parse_opts__.m: Fix test. + +2010-09-27 Jaroslav Hajek + + * elfun/lcm.m: Simplify. + +2010-09-27 Ben Abbott + + * plot/__print_parse_opts__.m: Properly crop eps image and fix tests. + + * plot/__go_draw_axes__.m, plot/private/__ezplot__.m, + testfun/test.m: Remove uses of shorthand character classes + within list operators which is unsupported by POSIX regex. + + * pkg/get_forge_pkg.m: Select desired output from regexp + rather than ignoring most outputs. + +2010-09-26 Rik + + * testfun/runtests.m (has_tests): Recode to remove requirement for PCRE. + Bug #31025. + +2010-09-25 Ben Abbott + + * plot/__print_parse_opts__.m: Recongize gs devices {eps/pdf/ps}write. + +2010-09-23 John W. Eaton + + * miscellaneous/bug_report.m: Display information about how to + submit bug reports instead of creating and mailing a bug report. + +2010-09-22 Ben Abbott + + * plot/private/__ghostscript__.m, plot/print.m: When appending, delete + temporay files at the end of the ghostscript pipeline. + +2010-09-21 Ben Abbott + + * plot/__fltk_print__.m, plot/private/__ghostscript__.m, + plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, + plot/print.m: Print via a pipeline. + +2010-09-20 Ben Abbott + + * plot/legend.m: Index location cellstr to obtain a string. + +2010-09-19 Ben Abbott + + * plot/colorbar.m, plot/axis.m, + plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: + Special treatment activepositionproperty = outerposition for the + gnuplot backend. This allows the gnuplot key to be placed outside + the plotbox. + * plot/private/__plt__.m: Trivial fix for recent legend changeset. + * plot/legend.m: Treat line, patch, and surface objects differetly. + * plot/__go_draw_axes__.m: Remove left over debug code. + * miscellaneous/mkoctfile.m: Change help text to be consistent with + the shell version. + +2010-09-18 David Bateman + + * plot/__go_draw_axes__.m: Modify legend code to use data from legend + axes. + * plot/__go_draw_figure__.m: Draw draw figure axes, but pass their + data to the axis they are associated with. + * plot/__get_plt_axes_arg__.m: Ignores axes tagged with "legend". + * plot/legend.m: Rewrite to use line and text primitives in a seperate + axis. + * plot/plot3.m: Support old legend format (eg "-;title'") with new + legend code. + * plot/private/__plt__.m: Ditto. + +2010-09-16 Ben Abbott + + * plot/__go_draw_axes__.m: Ensure text objects have units of "data". + +2010-09-16 John Swensen + + * imwrite.m: Accept more image formats. + +2010-09-16 Jaroslav Hajek + + * signal/periodogram.m: Support additional inputs: + win, nfft, Fs, range. Thanks to Alois Schlögl. + +2010-09-13 Ben Abbott + + * plot/gnuplot_drawnow.m: Use new function __gnuplot_has_terminal__(). + * plot/private/__gnuplot_has_terminal__.m: New function. + +2010-09-13 Jaroslav Hajek + + * general/common_size.m: Partially rewrite using cellindexmat. + +2010-09-13 Jaroslav Hajek + + * general/accumarray.m: Use @vec instead of @(x) x(:) for faster call. + +2010-09-11 Jaroslav Hajek + + * pkg/get_forge_pkg.m: Allow underscores in pkg names. + +2010-09-08 Ben Abbott + + * plot/__fltk_print__.m, plot/private/__ghostscript__.m, + plot/__gnuplot_print__.m, plot/__print_parse_opts__.m, + plot/print.m: Consolidate gs code into print.m. + * plot/colorbar.m, plot/axis.m, + plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: + Revert treatment of activepositionproperty from the gnuplot backend. + * image/image.m: Fix axis limits for single dimension images, add + demo. + +2010-09-07 David Bateman + + * plot/plotyy.m: Don't add the __plotyy_axes__ property to the + axes handles if iit already exists. + +2010-09-06 Petr Mikulik + + * geometry/griddata.m: Allow x, y to be vectors, and z a matrix. + +2010-09-03 David Bateman + + * geometry/delaunay.m: Allow the delaunay function to treat + matrices of the same size for compatibility. + +2010-09-03 Ben Abbott + + * image/image.m: Matlab compatible axis limits, add demo. + +2010-09-01 Jaroslav Hajek + + * io/dlmwrite.m: Don't fclose if file ID is supplied. + +2010-09-01 Jaroslav Hajek + + * io/dlmwrite.m: Support file IDs. + +2010-07-07 David Bateman + + * miscellaneous/what.m: Off by one error. + + * plot/__go_draw_axes__.m: Improve matlab compatibility for "." + marker. + +2010-08-31 Ben Abbott + + * plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m, + plot/axis.m, plot/colorbar.m, plot/daspect.m, plot/plotyy.m, + plot/subplot.m: Treatment of activepositionproperty for gnuplot. + * plot/__go_draw_axes__.m: Missing part of last changeset. + * plot/__go_draw_axes__.m: Fix specification of pointtype for patches + (bug introduced in rev 2f9de135e7f9). + +2010-08-30 Ben Abbott + + * plot/__go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'. + +2010-08-27 Ben Abbott + + * plot/colorbar.m, * plot/__go_draw_axes__.m, + plot/private/__actual_axis_position__.m: Don't pass figure handle to + __calc_dimensions__. + * plot/private/__ghostscript__.m: Don't set anti-aliasing options for + vector formats. + * plot/__print_parse_opts__.m: Fix tests. + +2010-08-27 Jordi Gutiérrez Hermoso + + * plot/__go_draw_axes__.m (__calc_dimensions__): Delete. + * plot/__actual_axis_position__.m (__calc_dimensions__): Delete. + +2010-08-27 Pascal A. Dupuis + + * plot/hold.m: If arg is axis handle, get corresponding figure + handle from axis parent property. + +2010-08-27 Ben Abbott + + * plot/__gnuplot_print__.m: Properly restore fontsize after eps output. + * plot/plotyy.m: Modified demo for changeset 10912 9abc67b4bd4f. + * plot/__fltk_print__.m, plot/__go_draw_axes__.m, + plot/__go_draw_figure__.m, plot/__gnuplot_print__.m, + plot/gnuplot_drawnow.m, plot/print.m, plot/private/__ghostscript__.m, + plot/private/__tight_eps_bbox__.m: Unify gnuplot printing with the + the fltk backend. Turn figure background color off when printing. + Improve the axes font spacing for most gnuplot terminals. + +2010-08-26 Ben Abbott + + * plot/__go_draw_axes__.m: For yaxislocation == 'right' associate text + position with 'second' coordinate system. + +2010-08-25 Ben Abbott + + * plot/__go_draw_axes__.m: Revert erroneous portion of changeset + 10910 40cf7cc4ea62. + +2010-08-24 Ben Abbott + + * plot/private/__actual_axis_position__.m, plot/__go_draw_axes__.m: + Properly interpret plotboxaspectratio when 3D objects are viewed as 2D. + * plot/colorbar.m: Add demo. + +2010-08-23 Jaroslav Hajek + + * general/interp2.m: Don't use bicubic for consistency (can't handle + non-grid interpolation). + +2010-08-17 Rik + + * general/randi.m: Add IMAX check for class "single" numbers. + +2010-08-15 Rik + + * general/randi.m: Add new script for random integers. + * general/module.mk: Add randi to build file list. + * miscellaneous/unimplemented.m: Remove randi from unimplemented list. + +2010-08-15 Rik + + * image/imwrite.m: Allow writing of 1-bit (B&W) images. + Improve documentation string. Add input validation tests. + +2010-08-13 Ben Abbott + + * plot/__print_parse_opts__.m: Double quote paths with spaces. + +2010-08-11 Rik + + * set/unique.m: Handle corner case where sparse matrix is actually full. + +2010-08-10 Rik + + * set/unique.m: Check whether outputs are used before calculating. + +2010-08-10 Rik + + * statistics/base/module.mk, deprecated/module.mk, + statistics/base/values.m, deprecated/values.m: Deprecate values.m + +2010-08-08 Rik + + * miscellaneous/unimplemented.m: Add newlines to format output for + easier reading. Format all lines < 80 characters. Remove + 'whitebg' function from unimplemented list. + +2010-08-08 Rik + + * @ftp/PKG_ADD: Remove temporary build file from hg version control. + +2010-08-09 Ben Abbott + + * plot/__print_parse_opts__.m: Default pstex suffix should be '.ps'. + +2010-08-08 Rik + + * Makefile.am: Create .DOCSTRINGS quietly and avoid screen clutter + during build. + +2010-08-08 Rik + + * Makefile.am: Run do_subst macro quietly without cluttering screen + during build. + +2010-08-08 Ben Abbott + + * plot/print.m: Include 'colormap' when converting RGB to mono. + +2010-08-07 Ben Abbott + + * plot/__fltk_print__.m: When running pstoedit, crop eps file after it + is created. Correctly check error status. + +2010-08-06 Jaroslav Hajek + + * general/cell2mat.m: Allow cells of struct arrays. + +2010-08-05 Ben Abbott + + * plot/__print_parse_opts__.m, plot/__fltk_print__.m: Don't warn on + absence of fig2dev or pstoedit until they are needed. + * plot/__print_parse_opts__.m, plot/__fltk_print__.m: Add epslatex, + pslatex, and pdflatex output for fltk backend. Use the gs png16m device + instead of png256. + * plot/print.m: Modify texinfo. Add unwind_protect block. + +2010-08-01 Marco Caliari + + * general/bicubic.m: Fix bug #30400 when bicubic called with small + numbers of arguments. + +2010-08-04 Jaroslav Hajek + + * general/sortrows.m: Don't actually permute the rows if not + requested. + +2010-08-04 Ben Abbott + + * plot/print.m, plot/__print_parse_opts__.m, plot/__gnuplot_print__.m, + plot/private/__ghostscript__.m: plot/__fltk_print__.m: Add ps and pdf + output for fltk backend, improved use of ghostscript, and minor + improvements. + +2010-08-01 Rik + + * deprecated/intwarning.m, general/arrayfun.m, general/cplxpair.m, + general/interp1.m, general/interpn.m, general/quadgk.m, + general/structfun.m, image/image_viewer.m, io/strread.m, + miscellaneous/warning_ids.m, optimization/lsqnonneg.m, pkg/pkg.m, + plot/__marching_cube__.m, plot/bar.m, plot/contourc.m, plot/errorbar.m, + plot/ezplot.m, plot/isocolors.m, plot/isonormals.m, plot/isosurface.m, + plot/stem.m, plot/stem3.m, polynomial/compan.m, polynomial/ppval.m, + signal/arch_rnd.m, sparse/pcg.m, sparse/svds.m, + special-matrix/invhilb.m, statistics/distributions/wblcdf.m, + testfun/assert.m, testfun/demo.m, testfun/speed.m: + Grammarcheck documentation. Add @noindent lines and ensure line + length is less than 80. + +2010-08-01 Martin Helm + + * plot/isosurface.m: Swap rows and columns of matrix in call to + meshgrid. + +2010-08-01 Rik + + * plot/print.m: Update documentation string. Change to active voice. + +2010-07-30 Rik + + * Makefile.am: add .DOCSTRINGS to the DISTCLEANFILES list + +2010-07-29 Ben Abbott + + * plot/print.m, plot/__print_parse_opts__.m, plot/__fltk_print__.m, + plot/__gnuplot_print__.m: Improved printing for the fltk backend. + * plot/private/__ghostscript__.m, plot/private/__tight_eps_bbox__.m: + New files to support printing. + +2010-07-29 Jaroslav Hajek + + * linear-algebra/expm.m: Special-case scalars and diagonal matrices. + Suggested by M. Caliari. + +2010-07-26 Rik + + * linear-algebra/logm.m: Improve documentation string. Add GPL header. + Add additional test block. + +2010-07-28 Jaroslav Hajek + + * linear-algebra/logm.m: Rewrite. Thanks to M. Caliari and R. T. Guy. + +2010-07-26 Rik + + * deprecated/complement.m, deprecated/intwarning.m, general/arrayfun.m, + general/circshift.m, general/colon.m, general/common_size.m, + general/del2.m, general/flipdim.m, general/fliplr.m, general/flipud.m, + general/idivide.m, general/interp1.m, general/interp2.m, + general/interp3.m, general/interpn.m, general/loadobj.m, + general/quadgk.m, general/rat.m, general/saveobj.m, general/shiftdim.m, + geometry/delaunayn.m, image/image_viewer.m, image/imfinfo.m, + io/csvread.m, io/csvwrite.m, io/strread.m, linear-algebra/condest.m, + linear-algebra/housh.m, linear-algebra/onenormest.m, + linear-algebra/qzhess.m, miscellaneous/bincoeff.m, + miscellaneous/compare_versions.m, miscellaneous/computer.m, + miscellaneous/edit.m, miscellaneous/fileattrib.m, + miscellaneous/getfield.m, miscellaneous/license.m, miscellaneous/ls.m, + miscellaneous/parseparams.m, miscellaneous/swapbytes.m, + miscellaneous/ver.m, miscellaneous/warning_ids.m, + optimization/fminbnd.m, optimization/fminunc.m, optimization/fsolve.m, + optimization/fzero.m, optimization/glpk.m, optimization/lsqnonneg.m, + optimization/pqpnonneg.m, optimization/qp.m, optimization/sqp.m, + path/pathdef.m, pkg/pkg.m, plot/__marching_cube__.m, plot/axis.m, + plot/colorbar.m, plot/contourc.m, plot/contourf.m, plot/cylinder.m, + plot/ezplot.m, plot/isocolors.m, plot/isonormals.m, plot/legend.m, + plot/print.m, plot/refreshdata.m, plot/slice.m, plot/subplot.m, + plot/surfl.m, polynomial/compan.m, polynomial/mpoles.m, + polynomial/poly.m, polynomial/polyaffine.m, polynomial/polyfit.m, + polynomial/polygcd.m, polynomial/polyout.m, polynomial/residue.m, + polynomial/roots.m, polynomial/unmkpp.m, set/union.m, signal/filter2.m, + signal/stft.m, sparse/spdiags.m, specfun/bessel.m, specfun/beta.m, + specfun/betaln.m, specfun/nchoosek.m, specfun/nthroot.m, + specfun/perms.m, special-matrix/hadamard.m, special-matrix/hankel.m, + special-matrix/hilb.m, special-matrix/invhilb.m, + special-matrix/toeplitz.m, special-matrix/vander.m, + statistics/base/cloglog.m, statistics/base/cor.m, + statistics/base/corrcoef.m, statistics/base/kendall.m, + statistics/base/kurtosis.m, statistics/base/logit.m, + statistics/base/mean.m, statistics/base/median.m, + statistics/base/quantile.m, statistics/base/skewness.m, + statistics/base/std.m, statistics/base/var.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/wblcdf.m, statistics/tests/cor_test.m, + statistics/tests/hotelling_test_2.m, strings/bin2dec.m, + strings/cstrcat.m, strings/dec2bin.m, strings/dec2hex.m, + strings/findstr.m, strings/hex2dec.m, strings/index.m, + strings/isstrprop.m, strings/regexptranslate.m, strings/rindex.m, + strings/strcat.m, strings/substr.m, testfun/demo.m, time/asctime.m, + time/clock.m, time/ctime.m, time/date.m, time/datenum.m, + time/is_leap_year.m: Grammarcheck documentation of m-files. + Add newlines between @items for readability. + +2010-07-26 Ben Abbott + + * general/interp1.m: When absent set X equal to the inices of Y. + * general/interpn.m: Convert interpolation vectors of non-equal + length to nd-arrays. + +2010-07-26 Soren Hauberg + + * image/image.m: Replace parenthesis with curly bracket in Texinfo. + +2010-07-25 Rik + + * image/image.m: Always reverse 'ydir' property when displaying images. + +2010-07-19 Rik + + * help/__makeinfo__.m: Add support to process @nopsell macro. + Fix bug when more than one @seealso block exists. + +2010-07-19 Rik + + * general/repmat.m: Add seealso to new repelems function. + +2010-07-19 Jaroslav Hajek + + * specfun/nchoosek.m: Optimize. + +2010-07-18 Rik + + * @ftp/ftp.m, @ftp/mget.m, audio/lin2mu.m, audio/loadaudio.m, + audio/mu2lin.m, audio/playaudio.m, audio/saveaudio.m, + audio/wavwrite.m, deprecated/create_set.m, + deprecated/intwarning.m, deprecated/lchol.m, + deprecated/spchol.m, deprecated/spdiag.m, deprecated/spfind.m, + deprecated/splchol.m, deprecated/splu.m, deprecated/spmax.m, + deprecated/spmin.m, deprecated/spqr.m, deprecated/weibcdf.m, + deprecated/weibrnd.m, general/accumarray.m, general/bitset.m, + general/colon.m, general/deal.m, general/del2.m, + general/genvarname.m, general/gradient.m, general/interp1.m, + general/interp2.m, general/interp3.m, general/interpft.m, + general/interpn.m, general/nargchk.m, general/nargoutchk.m, + general/nextpow2.m, general/num2str.m, general/pol2cart.m, + general/polyarea.m, general/prepad.m, general/quadgk.m, + general/quadl.m, general/quadv.m, general/rat.m, + general/repmat.m, general/shiftdim.m, general/structfun.m, + general/trapz.m, geometry/convhull.m, geometry/delaunay.m, + geometry/delaunay3.m, geometry/delaunayn.m, geometry/dsearch.m, + geometry/dsearchn.m, geometry/griddata.m, geometry/trimesh.m, + geometry/triplot.m, geometry/trisurf.m, geometry/voronoi.m, + geometry/voronoin.m, help/__makeinfo__.m, help/gen_doc_cache.m, + help/get_first_help_sentence.m, help/print_usage.m, help/type.m, + image/brighten.m, image/colormap.m, image/image.m, + image/imagesc.m, image/imfinfo.m, image/imshow.m, + image/imwrite.m, image/ind2rgb.m, io/dlmwrite.m, io/fileread.m, + io/strread.m, io/textread.m, linear-algebra/cond.m, + linear-algebra/condest.m, linear-algebra/ishermitian.m, + linear-algebra/onenormest.m, miscellaneous/bzip2.m, + miscellaneous/dir.m, miscellaneous/dos.m, miscellaneous/edit.m, + miscellaneous/gzip.m, miscellaneous/mkoctfile.m, + miscellaneous/orderfields.m, miscellaneous/parseparams.m, + miscellaneous/perl.m, miscellaneous/unix.m, + miscellaneous/unpack.m, miscellaneous/version.m, + miscellaneous/zip.m, optimization/fminbnd.m, + optimization/fminunc.m, optimization/fsolve.m, + optimization/glpk.m, optimization/glpkmex.m, + optimization/lsqnonneg.m, optimization/optimget.m, + optimization/optimset.m, optimization/pqpnonneg.m, + optimization/private/__fdjac__.m, optimization/qp.m, + pkg/get_forge_pkg.m, pkg/pkg.m, plot/__fltk_print__.m, + plot/__gnuplot_print__.m, plot/ancestor.m, plot/area.m, + plot/axes.m, plot/axis.m, plot/bar.m, plot/barh.m, plot/box.m, + plot/caxis.m, plot/cla.m, plot/clabel.m, plot/close.m, + plot/colorbar.m, plot/comet.m, plot/compass.m, plot/contour.m, + plot/contour3.m, plot/contourc.m, plot/contourf.m, + plot/cylinder.m, plot/ellipsoid.m, plot/ezcontour.m, + plot/ezcontourf.m, plot/ezmesh.m, plot/ezmeshc.m, plot/ezplot.m, + plot/ezplot3.m, plot/ezpolar.m, plot/ezsurf.m, plot/ezsurfc.m, + plot/feather.m, plot/figure.m, plot/fill.m, plot/findall.m, + plot/findobj.m, plot/fplot.m, plot/gcbo.m, plot/grid.m, + plot/hggroup.m, plot/hidden.m, plot/line.m, plot/meshgrid.m, + plot/ndgrid.m, plot/pareto.m, plot/patch.m, plot/pcolor.m, + plot/peaks.m, plot/pie.m, plot/plotmatrix.m, plot/plotyy.m, + plot/print.m, plot/private/__actual_axis_position__.m, + plot/quiver.m, plot/quiver3.m, plot/refresh.m, plot/rose.m, + plot/scatter.m, plot/scatter3.m, plot/shading.m, plot/slice.m, + plot/specular.m, plot/sphere.m, plot/subplot.m, plot/surfl.m, + plot/surfnorm.m, plot/text.m, plot/title.m, plot/view.m, + plot/whitebg.m, plot/xlabel.m, plot/xlim.m, plot/ylabel.m, + plot/ylim.m, plot/zlabel.m, plot/zlim.m, polynomial/compan.m, + polynomial/mkpp.m, polynomial/mpoles.m, polynomial/pchip.m, + polynomial/ppder.m, polynomial/ppint.m, polynomial/ppjumps.m, + polynomial/ppval.m, polynomial/spline.m, set/intersect.m, + set/powerset.m, set/setdiff.m, set/setxor.m, set/union.m, + set/unique.m, signal/fftshift.m, signal/filter2.m, + signal/ifftshift.m, sparse/bicgstab.m, sparse/cgs.m, + sparse/etreeplot.m, sparse/gplot.m, sparse/pcg.m, sparse/pcr.m, + sparse/spdiags.m, sparse/speye.m, sparse/sprand.m, + sparse/sprandn.m, sparse/sprandsym.m, sparse/spstats.m, + sparse/spy.m, sparse/treelayout.m, sparse/treeplot.m, + specfun/bessel.m, specfun/legendre.m, specfun/pow2.m, + statistics/base/center.m, statistics/base/histc.m, + statistics/base/kendall.m, statistics/base/meansq.m, + statistics/base/prctile.m, statistics/base/quantile.m, + statistics/base/range.m, statistics/base/std.m, + statistics/base/table.m, statistics/distributions/betacdf.m, + statistics/distributions/betarnd.m, + statistics/distributions/binornd.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/empirical_rnd.m, + statistics/distributions/exprnd.m, + statistics/distributions/fcdf.m, + statistics/distributions/frnd.m, + statistics/distributions/gamrnd.m, + statistics/distributions/geornd.m, + statistics/distributions/hygernd.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/laplace_rnd.m, + statistics/distributions/logistic_rnd.m, + statistics/distributions/lognrnd.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/normrnd.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/tcdf.m, + statistics/distributions/trnd.m, + statistics/distributions/unidrnd.m, + statistics/distributions/unifcdf.m, + statistics/distributions/unifrnd.m, + statistics/distributions/wblcdf.m, + statistics/distributions/wblrnd.m, + statistics/tests/kolmogorov_smirnov_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, + statistics/tests/wilcoxon_test.m, strings/base2dec.m, + strings/index.m, strings/mat2str.m, strings/strchr.m, + strings/substr.m, strings/validatestring.m, testfun/assert.m, + testfun/example.m, testfun/fail.m, testfun/speed.m, + testfun/test.m, time/calendar.m, time/date.m, time/datenum.m, + time/datetick.m, time/datevec.m: + Grammarcheck documentation of m-files. + +2010-07-17 Rik + + * audio/lin2mu.m, general/common_size.m, general/interp1.m, + general/interp2.m, general/interpn.m, general/quadl.m, + geometry/dsearchn.m, geometry/voronoi.m, geometry/voronoin.m, + image/hsv2rgb.m, image/imread.m, image/rgb2hsv.m, + linear-algebra/commutation_matrix.m, linear-algebra/condest.m, + linear-algebra/expm.m, linear-algebra/krylov.m, + linear-algebra/onenormest.m, miscellaneous/perl.m, + plot/linkprop.m, plot/plot.m, plot/print.m, plot/stem3.m, + signal/diffpara.m, signal/stft.m, sparse/pcg.m, sparse/pcr.m, + specfun/primes.m, special-matrix/hadamard.m, special-matrix/hankel.m, + special-matrix/invhilb.m, special-matrix/pascal.m, + special-matrix/rosser.m, special-matrix/toeplitz.m, + special-matrix/vander.m, special-matrix/wilkinson.m, + testfun/speed.m: Spellcheck documentation. + +2010-07-15 Jaroslav Hajek + + * general/flipdim.m: Suuport flipping about trailing singleton + dimension. + +2010-07-14 Ben Abbott + + * plot/__gnuplot_print__.m: Fix broken options "-orientation", + "-special_flag", "-debug_file", "-tight_flag", and "-printer". + +2010-07-14 Rik + + * linear-algebra/normest.m: Improve documentation. Add better input + validation. Use same variable names in code as in documentation. + +2010-07-14 Marco Caliari + + * linear-algebra/normest.m: Set the "state" of the random number + generator to trace(A). + +2010-07-12 Jaroslav Hajek + + * general/cell2mat.m: Optimize so as to minimize the number of + concats. + +2010-07-12 John W. Eaton + + * general/display.m: Print usage message if nargin != 1. + Bug #30421. + +2010-07-09 Thorsten Meyer + + * general/interp2.m: improve input argument handling and + allow not equally spaced griddata (bug #29601) + +2010-07-08 Jaroslav Hajek + + * general/accumarray.m: Fix incorrect handling of nondefault fill + values in min/max reductions of integers. + +2010-07-07 David Bateman + + * __next_line_color__.m: Allow conditional initialisation of the + color_rotation variable. + * __next_line_style__.m: Allow conditional initialisation of the + style_rotation variable. + * hold.m: Support "hold all". + * newplot.m: Conditionally initialisation the line style and color + based on the __hold_all__ axes property. + +2010-07-04 Soren Hauberg + + * polynomial/deconv.m: ensure that the orientation of the third + input to 'filter' matches the orientation of 'y'. + +2010-07-02 Rik + + * audio/wavread.m: Correctly handle non-word aligned data chunks. + (bug #30309). + +2010-06-16 Rik + + * plot/stairs.m: Add additional calling forms to documentation. + +2010-06-24 John W. Eaton + + * plot/private/__plt__.m: Replace usage message with error. + * plot/loglog.m, plot/plot.m, plot/polar.m, plot/semilogx.m, + plot/semilogy.m: Call print_usage if no args are supplied. + Add additional calling forms to documentation. + +2010-06-24 Shai Ayal + + * plot/print.m: convert to wrapper for backend specific print functions + * plot/__gnuplot_print__.m: New gnuplot specific print function, + largely based on the former print.m + * plot/__fltk_print__.m: New fltk specific print function + * plot/__print_parse_opts__.m: New option parser for print + functions, largely based on the former print.m + * plot/module.mk: Add new m-files here + +2010-06-23 David Bateman + + * whitebg.m: New function. + * module.mk (plot_FCN_FILES): Add it here. + * __go_draw_figure__.m: Set the border color to the inverse of the + background color. + +2010-06-17 Brad Froehle + + * sparse/spy.m: Fix typo. + +2010-06-16 Rik + + * set/union.m: Remove seealso reference to deprecated function. + +2010-06-16 Rik + + * @ftp/dir.m, @ftp/ftp.m, @ftp/mget.m, @ftp/mput.m, @ftp/rename.m, + deprecated/fstat.m, general/accumdim.m, general/interp1.m, + linear-algebra/ishermitian.m, linear-algebra/issymmetric.m, + miscellaneous/substruct.m, optimization/fminbnd.m, + optimization/fsolve.m, plot/bar.m, plot/daspect.m, plot/pbaspect.m, + plot/print.m, polynomial/mkpp.m, polynomial/ppval.m, set/union.m, + signal/unwrap.m, specfun/nthroot.m: Periodic grammar check of + documentation to ensure a common format. + +2010-06-14 Rik + + * plot/image.m: Flip data, rather than y-axis, for images. (bug #30033) + +2010-06-12 Ben Abbott + + * plot/scatter.m: New demo. + * plot/private/__scatter__.m: Properly set default value markersize + and marker type. + +2010-06-12 Rik + + * plot/scatter.m: Add new calling forms of function to documentation. + +2010-06-10 Ben Abbott + + * plot/private/__scatter__.m, plot/scatter.m: Honor Matlab color + settings. + * general/prepad.m: Fix typo 'dimm' -> 'dim'. + +2010-06-10 Jaroslav Hajek + + * linear-algebra/vec.m: Remove (make built-in). + * linear-algebra/module.mk: Update. + +2010-06-09 Rik + + * general/flipdim.m, general/accumdim.m: Use > 1 test to find + first non-singleton dimension rather than != 1. + +2010-06-08 Rik + + * general/cumtrapz.m, general/postpad.m, general/prepad.m, + general/shift.m, general/trapz.m, signal/unwrap.m: Use common + method to find first non-singleton dimension. + +2010-06-08 Rik + + * general/rotdim.m: Modify function to use same variable names + as documentation. + +2010-06-08 Rik + + * general/cart2pol.m, general/cart2sph.m, general/pol2cart.m, + general/sph2cart.m: Add option to operate on column matrix of + coordinates. + +2010-06-08 Rik + + * general/arrayfun.m, general/cart2pol.m, general/cart2sph.m, + general/idivide.m, general/logspace.m, general/sph2cart.m, + general/structfun.m, image/imagesc.m, io/csvread.m, io/csvwrite.m, + linear-algebra/cond.m, linear-algebra/condest.m, + linear-algebra/isdefinite.m, linear-algebra/null.m, + linear-algebra/orth.m, miscellaneous/list_primes.m, + optimization/fminunc.m, optimization/fzero.m, path/matlabroot.m, + plot/axis.m, plot/plot.m, plot/semilogx.m, plot/semilogxerr.m, + plot/semilogy.m, plot/semilogyerr.m, plot/stem.m, polynomial/poly.m, + polynomial/polyder.m, polynomial/polyderiv.m, polynomial/polyfit.m, + polynomial/polyout.m, polynomial/polyval.m, set/ismember.m, + sparse/spfun.m, specfun/betaln.m, statistics/base/mean.m, + statistics/base/median.m, statistics/base/mode.m, statistics/base/ols.m, + statistics/base/ranks.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/wblpdf.m: Improve documentation strings + +2010-06-07 Jaroslav Hajek + + * pkg/pkg.m: Support pkg list -forge. + +2010-06-07 Jaroslav Hajek + + * pkg/get_forge_pkg.m: New function. + * pkg/module.mk: Add it here. + * pkg/pkg.m: Support -forge switch for auto-downloading OctaveForge + packages. + +2010-06-03 Alois Schlögl + + * signal/arch_test.m, statistics/tests/bartlett_test.m, + statistics/tests/chisquare_test_homogeneity.m, + statistics/tests/chisquare_test_independence.m, + statistics/tests/manova.m, statistics/tests/mcnemar_test.m, + statistics/tests/run_test.m, statistics/distributions/chi2pdf.m: + Replace calls to obsolete chisquare_cdf with chi2cdf. + +2010-06-03 Rik + + * plot/private/__plt__.m: Add newline to usage message. + +2010-06-02 Rik + + * optimization/sqp.m: Overhaul sqp code. + Guarantee equivalent results if sqp called with or wihout bounds + (bug #29989). Simplify input option handling and add %tests + to check validation code. Rewrite documentation string. + +2010-06-01 Rik + + * optimization/fminbnd.m: Remove unused persistent variable. + +2010-06-01 Rik + + * plot/private/__contour__.m: Correctly size X and Y when only Z + specified (bug #30002). + +2010-05-31 Rik + + * specfun/legendre.m: Orient row vector correctly (bug #29997). + Add input validation for negative values and %tests to check + validation routines. + +2010-05-30 Rik + + * sparse/svds.m: Overhaul code. + Return smallest singular values if sigma == 0 (Bug #29721). + Avoid calculating U and V matrices unless requested. + Correctly handle zero matrix input. + Improve documentation string. + +2010-05-26 Rik + + * statistics/base/histc.m, statistics/base/iqr.m, + statistics/base/kurtosis.m, statistics/base/mode.m, + statistics/base/ranks.m, statistics/base/run_count.m, + statistics/base/skewness.m, statistics/base/statistics.m, + statistics/base/studentize.m: Improve validation of input arguments. + +2010-05-26 Jaroslav Hajek + + * specfun/isprime.m: Fix and further optimize. + +2010-05-26 Rik + + * plot/legend.m: Improve documentation string. + +2010-05-26 Rik + + * sparse/svds.m: Check struct input arguments. Overhaul documentation. + +2010-05-26 Ben Abbott + + * plot/legend.m: Key labels for specified objects. + * plot/ancestor.m: Support vectors of handles. + +2010-05-26 Rik + + * sparse/svds.m: Initialize ARPACK starting vector in svds test code. + Bug #29721. + +2010-05-25 Ben Abbott + + * polynomial/spline.m: Ignore NaNs within input vectors. + +2010-05-25 Jaroslav Hajek + + * specfun/primes.m: Use logical masks rather than numeric. + * specfun/isprime.m: Rewrite using isprime. + +2010-05-25 Jaroslav Hajek + + * miscellaneous/unimplemented.m: Don't mention onCleanup (supported). + +2010-05-25 Jaroslav Hajek + + * statistics/base/median.m: Ensure NaNs where needed. Simplify first + non-singleton dimension computation. + +2010-05-24 Rik + + * general/private/__isequal__.m, image/image.m, + statistics/base/ranks.m: Replace calls to deprecated functions. + +2010-05-23 Rik + + * image/imshow.m: Scale image point color according to colormap. + Bug #29926. + +2010-05-16 Rik + + * plot/semilogx.m, plot/semilogy.m: Plot minor ticks for semilog plots. + +2010-05-16 Rik + + * audio/loadaudio.m, audio/playaudio.m, audio/saveaudio.m, + audio/wavread.m, general/bicubic.m, general/bitcmp.m, general/bitget.m, + general/bitset.m, general/cplxpair.m, general/del2.m, + general/gradient.m, general/interp2.m, general/interp3.m, + general/interpn.m, general/postpad.m, general/prepad.m, + general/private/__splinen__.m, image/image_viewer.m, image/imagesc.m, + image/saveimage.m, linear-algebra/expm.m, linear-algebra/krylov.m, + miscellaneous/edit.m, miscellaneous/private/__xzip__.m, + miscellaneous/what.m, optimization/glpk.m, optimization/optimset.m, + optimization/pqpnonneg.m, path/pathdef.m, plot/__go_draw_axes__.m, + plot/__marching_cube__.m, plot/gnuplot_drawnow.m, plot/ishold.m, + plot/isocolors.m, plot/isonormals.m, plot/print.m, + plot/private/__add_datasource__.m, plot/private/__color_str_rgb__.m, + plot/private/__errplot__.m, plot/private/__interp_cube__.m, + plot/shading.m, plot/specular.m, polynomial/deconv.m, + polynomial/polyint.m, polynomial/ppint.m, set/powerset.m, + signal/arch_fit.m, signal/arch_test.m, signal/durbinlevinson.m, + special-matrix/hadamard.m, statistics/distributions/unidrnd.m, + statistics/distributions/unifinv.m, + statistics/models/logistic_regression.m, strings/strjust.m, + testfun/rundemos.m, testfun/runtests.m, testfun/test.m, time/datenum.m: + Print name of function in error() string messages. + +2010-05-16 Rik + + * plot/contourc.m, plot/private/__contour__.m, + plot/surface.m, plot/surfnorm.m: Check input + arguments for size and type (bug #29861). + +2010-05-13 John W. Eaton + + * help/help.m: Avoid unnecessary use of varargout. + +2010-05-13 Qianqian Fang + + * miscellaneous/tempdir.m: Add filesep to end of tempdir (bug #29864). + +2010-05-11 Jaroslav Hajek + + * io/textread.m: Fix typo. + +2010-05-08 David Gesswein + + * io/dlmwrite.m: Correctly set output precision (#29870). + +2010-05-12 Jordi Gutiérrez Hermoso + + * help/help.m: Allow docstring to be returned as output, and + correct docstring. + +2010-05-08 Rik + + * testfun/test.m: Don't abort testing when skipping a testif block + +2010-05-05 Rik + + * statistics/tests/cor_test.m, statistics/tests/t_test.m, + statistics/tests/t_test_2.m, statistics/tests/t_test_regression.m, + statistics/tests/welch_test.m: Replace deprecated function calls. + Patch provided by Alois Schlögl. + +2010-05-02 Rik + + * linear-algebra/cond.m: Add TeX equation to documentation + +2010-05-02 Peter van den Biggelaar + + * plot/close.m: No error on "close([])". + +2010-05-01 Ben Abbott + + * plot/__go_draw_axes__.m: Remove gnuplot errorbar code. + +2010-04-30 Ben Abbott + + * plot/loglogerr.m, plot/semilogxerr.m, plot/semilogyerr.m: + Add demos. + * plot/private/__errplot__.m: Fix bug parsing errorbar style. + * plot/private/__errplot__.m: Implement errorbars in the Matlab style. + +2010-04-29 Ben Abbott + + * plot/errorbar.m: Modify demo. + * plot/private/__errplot__.m: Fix bug for boxxy errorbar. + * plot/errorbar.m: Add demos. + +2010-04-27 David Bateman + + * plot/private/__errplot__.m: Update the marker in a seperate + listener function. + +2010-04-27 Rik + + * plot/private/__go_draw_axes__.m: Use "." for marker when plotting + with errorbars. (bug #29057) + +2010-04-27 Ben Abbott + + * plot/private/__errplot__.m: Add missing semicolon line terminations. + +2010-04-27 David Bateman + + * plot/private/__default_plot_options_.m: New option errorstyle. + * plot/private/__pltopt__.m: Use errorstyle here seperately from + the linestyle so that both can be set. + * plot/private/__errcomm__.m: Allow for the fact that matrices + to __errplot__ with return a vector of handles. + * plot/private/__errplot__.m: Allow for default linestyles. + + * plot/private/__errplot__.m: Set the errorbar marker to "none". + +2010-04-26 David Bateman + + * plot/bar.m: Document the use of the colormap for the color of + the bars. + + * plot/private/__errplot__.m: Allow x, box and xy errorbars with + different syntax. + + * plot/private/__errplot__.m: Allow matlab style linestyles, and + support setting the markers. + +2010-04-24 David Bateman + + * plot/private/__patch__.m: Correct order of calling setdata and + setvertexdata. + +2010-04-25 Ben Abbott + + * plot/__go_draw_figure__.m: Hidden axes may have visible children. + +2010-04-24 Ben Abbott + + * plot/print.m: Set figure color property to 'none' when printing. + +2010-04-24 David Bateman + + * plot/__go_draw_axes__.m: Correct fill of diamond markers + +2010-04-24 Ben Abbott + + * plot/__go_draw_axes__.m: Consistent placement of axes for ps vs + other gnuplot terminals. + +2010-04-23 Ben Abbott + + * plot/colorbar.m: Fix colorbar() bugs for manual plotboxaspectratio. + * plot/axis.m: For 'axis normal' restore plotboxaspectratio. + +2010-04-23 John W. Eaton + + * gethelp.cc (extract_help_text): Use C++ static_cast instead of + C-style cast. + +2010-04-23 Rik + + * audio/loadaudio.m, audio/mu2lin.m, audio/playaudio.m, + audio/saveaudio.m, audio/wavread.m, audio/wavwrite.m, + deprecated/cellidx.m, deprecated/intwarning.m, + deprecated/lchol.m, deprecated/spatan2.m, deprecated/spchol.m, + deprecated/spchol2inv.m, deprecated/spcholinv.m, + deprecated/spcumprod.m, deprecated/spcumsum.m, + deprecated/spdet.m, deprecated/spdiag.m, deprecated/spfind.m, + deprecated/spinv.m, deprecated/spkron.m, deprecated/splchol.m, + deprecated/split.m, deprecated/splu.m, deprecated/spmax.m, + deprecated/spmin.m, deprecated/spprod.m, deprecated/spqr.m, + deprecated/spsum.m, deprecated/spsumsq.m, elfun/lcm.m, + general/bicubic.m, general/cell2mat.m, general/circshift.m, + general/cplxpair.m, general/cumtrapz.m, general/dblquad.m, + general/del2.m, general/gradient.m, general/idivide.m, + general/int2str.m, general/interp1.m, general/interp2.m, + general/interp3.m, general/interpn.m, general/isa.m, + general/num2str.m, general/postpad.m, general/prepad.m, + general/private/__isequal__.m, general/quadgk.m, + general/quadl.m, general/quadv.m, general/rat.m, + general/rotdim.m, general/shift.m, general/sortrows.m, + general/structfun.m, general/trapz.m, geometry/griddata.m, + geometry/griddata3.m, geometry/inpolygon.m, geometry/rectint.m, + geometry/trimesh.m, geometry/triplot.m, geometry/trisurf.m, + geometry/voronoi.m, help/doc.m, help/help.m, help/which.m, + io/dlmwrite.m, io/strread.m, linear-algebra/condest.m, + linear-algebra/cross.m, linear-algebra/krylov.m, + linear-algebra/null.m, linear-algebra/onenormest.m, + linear-algebra/orth.m, linear-algebra/rank.m, + linear-algebra/rref.m, miscellaneous/bincoeff.m, + miscellaneous/cast.m, miscellaneous/compare_versions.m, + miscellaneous/copyfile.m, miscellaneous/dir.m, + miscellaneous/dump_prefs.m, miscellaneous/edit.m, + miscellaneous/fileattrib.m, miscellaneous/fileparts.m, + miscellaneous/fullfile.m, miscellaneous/license.m, + miscellaneous/ls.m, miscellaneous/ls_command.m, + miscellaneous/mkoctfile.m, miscellaneous/movefile.m, + miscellaneous/orderfields.m, miscellaneous/perl.m, + miscellaneous/run.m, miscellaneous/substruct.m, + miscellaneous/swapbytes.m, miscellaneous/tar.m, + miscellaneous/unpack.m, miscellaneous/what.m, + miscellaneous/zip.m, optimization/fminunc.m, + optimization/fsolve.m, optimization/glpk.m, optimization/qp.m, + optimization/sqp.m, path/pathdef.m, path/savepath.m, pkg/pkg.m, + plot/__gnuplot_get_var__.m, plot/__gnuplot_ginput__.m, + plot/__go_draw_axes__.m, plot/__next_line_color__.m, + plot/__next_line_style__.m, plot/__plt_get_axis_arg__.m, + plot/ancestor.m, plot/area.m, plot/axes.m, plot/axis.m, + plot/box.m, plot/cla.m, plot/clabel.m, plot/clf.m, plot/close.m, + plot/colorbar.m, plot/comet.m, plot/compass.m, plot/contourf.m, + plot/cylinder.m, plot/ellipsoid.m, plot/feather.m, plot/fill.m, + plot/findobj.m, plot/fplot.m, plot/gnuplot_drawnow.m, + plot/grid.m, plot/gtext.m, plot/hidden.m, plot/hist.m, + plot/hold.m, plot/ishold.m, plot/isonormals.m, + plot/isosurface.m, plot/legend.m, plot/linkprop.m, plot/meshz.m, + plot/newplot.m, plot/pareto.m, plot/pie.m, plot/plot3.m, + plot/plotmatrix.m, plot/plotyy.m, plot/polar.m, + plot/private/__actual_axis_position__.m, + plot/private/__add_datasource__.m, + plot/private/__axes_limits__.m, plot/private/__axis_label__.m, + plot/private/__bar__.m, plot/private/__clabel__.m, + plot/private/__contour__.m, plot/private/__errcomm__.m, + plot/private/__errplot__.m, plot/private/__ezplot__.m, + plot/private/__patch__.m, plot/private/__plt__.m, + plot/private/__pltopt__.m, plot/private/__quiver__.m, + plot/private/__scatter__.m, plot/private/__stem__.m, + plot/refreshdata.m, plot/ribbon.m, plot/rose.m, plot/slice.m, + plot/sombrero.m, plot/sphere.m, plot/stairs.m, plot/subplot.m, + plot/surf.m, plot/surface.m, plot/surfl.m, plot/surfnorm.m, + plot/text.m, plot/view.m, polynomial/polyderiv.m, + polynomial/polygcd.m, polynomial/polyout.m, polynomial/spline.m, + set/intersect.m, set/setdiff.m, set/setxor.m, signal/unwrap.m, + sparse/pcg.m, sparse/pcr.m, sparse/spaugment.m, + sparse/spconvert.m, sparse/sprand.m, sparse/sprandsym.m, + sparse/svds.m, sparse/treelayout.m, sparse/treeplot.m, + specfun/nchoosek.m, specfun/primes.m, special-matrix/toeplitz.m, + statistics/base/iqr.m, statistics/base/kurtosis.m, + statistics/base/qqplot.m, statistics/base/quantile.m, + statistics/base/ranks.m, statistics/base/run_count.m, + statistics/base/skewness.m, statistics/base/statistics.m, + statistics/base/studentize.m, statistics/base/var.m, + statistics/distributions/betapdf.m, + statistics/distributions/betarnd.m, + statistics/distributions/binocdf.m, + statistics/distributions/binoinv.m, + statistics/distributions/binornd.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/exprnd.m, + statistics/distributions/fcdf.m, + statistics/distributions/finv.m, + statistics/distributions/fpdf.m, + statistics/distributions/frnd.m, + statistics/distributions/gampdf.m, + statistics/distributions/gamrnd.m, + statistics/distributions/geornd.m, + statistics/distributions/hygepdf.m, + statistics/distributions/laplace_inv.m, + statistics/distributions/lognrnd.m, + statistics/distributions/nbincdf.m, + statistics/distributions/nbininv.m, + statistics/distributions/nbinpdf.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/normrnd.m, + statistics/distributions/poissinv.m, + statistics/distributions/poissrnd.m, + statistics/distributions/tinv.m, + statistics/distributions/tpdf.m, + statistics/distributions/trnd.m, + statistics/distributions/unidrnd.m, + statistics/distributions/unifrnd.m, + statistics/distributions/wblpdf.m, + statistics/distributions/wblrnd.m, strings/cstrcat.m, + strings/deblank.m, strings/findstr.m, strings/isstrprop.m, + strings/regexptranslate.m, strings/strtok.m, testfun/assert.m, + testfun/example.m, testfun/fail.m, testfun/rundemos.m, + testfun/runtests.m, testfun/speed.m, testfun/test.m, + time/datestr.m, time/weekday.m: Untabify. + +2010-04-23 Rik + + * geometry/griddata.m, geometry/griddatan.m, geometry/tsearchn.m: + Replace nan with NaN for nice visual cue. + +2010-04-23 Rik + + * optimization/gplot.m: Eliminate parsing error for NaN inside + of matrix declaration. + +2010-04-22 Rik + + * optimization/sqp.m: Return correct value (101) on succes. + Fixes bug #29577. + +2010-04-22 Rik + + * optimization/glpk.m: Eliminate repmat (Inf, x , y) and just + use Inf (x,y). + +2010-04-22 Rik + + * general/rat.m, sparse/gplot.m, strings/base2dec.m, + geometry/triplot.m, optimization/sqp.m, optimization/qp.m, + statistics/base/run_count.m, statistics/base/ranks.m: + Eliminate NaN*ones and Inf*ones constructs and just use Nan() + and Inf(). + +2010-04-19 Ben Abbott + + * plot/colorbar.m: Allow 'peer' option to be specified. + * plot/colorbar.m: Consistent treatment of plotboxaspectratio, and + add listener for plotboxaspectratiomode. + * plot/axis.m: Consistent treatment of plotboxaspectratio. + * plot/__go_draw_axes__.m: Consistently determine axes position. + +2010-04-17 Ben Abbott + + * plot/private/__actual_axis_position__.m: Fix bug when restoring + figure position property to its original value. + +2010-04-16 David Bateman + + * plot/__go_draw_figure__.m: Pass bg_is_set to __go_draw_axes__. Don't + unset the background figure color. + * plot/__go_draw_axes__.m: Unset the background figure color here. + + * statistics/distributions/*: Replace constructs like "NaN * one()" + with "NaN()" and "Inf * ones ()" with "Inf()". + +2010-04-15 David Bateman + + * statistics/distributions/discrete_pdf.m: Reimplement using lookup. + * statistics/distributions/discrete_inv.m: Reimplement using lookup. + * statistics/distributions/discrete_cdf.m: typo in last patch. + +2010-04-15 Jaroslav Hajek + + * statistics/distributions/stdnormal_cdf.m: Calculate using erfc. + +2010-04-13 David Bateman + + * statistics/discrete_cdf.m: Reimplement using lookup. + +2010-04-13 Shai Ayal + + * plot/__fltk_ginput__.m: New functions, implement ginput for + fltk backend. + +2010-04-13 Jaroslav Hajek + + * sparse/spalloc.m: Remove. + * sparse/module.mk: Update. + +2010-04-16 Ben Abbott + + * plot/plotyy.m: Add listener for dataaspectratiomode. + +2010-04-12 Ben Abbott + + * plot/loglog.m: Minor ticks on by default for loglog plots. + * plot/__plt_get_axis_arg__.m, plot/newplot.m: Respect the nextplot + property value of 'new' for axes and 'replacechildren' for axes and + figures. + +2010-04-10 Ben Abbott + + * plot/__go_draw_figure__.m: Don't set background for non-visible axes. + +2010-04-07 John W. Eaton + + * testfun/runtests.m: New function. + * testfun/module.mk (testfun_FCN_FILES): Add it to the list. + +2010-02-19 Rik + + * statistics/cut.m: Modify cut to use the same decision criteria + as histc when deciding whether a data point is inside or outside + interval. + +2010-04-02 Marc Vinyals + + * signal/arma_rnd.m: fix typo in test. + +2010-04-02 Marc Vinyals + + * signal/arma_rnd.m: fix typo in test. + +2010-03-30 Jaroslav Hajek + + * specfun/factor.m: Use rem to check divisibility. + +2010-03-27 Ben Abbott + + * plot/__go_draw_figure__.m: Untabify. + * plot/print.m: Provide default suffixes & validate hardcopy format. + +2010-03-27 Jaroslav Hajek + + * optimization/fzero.m: Handle the breakdown if initial bracketing + contains an exact root. Improve docstring. + +2010-03-26 Jaroslav Hajek + + * miscellaneous/module.mk: Add unimplemented.m here. + +2010-03-25 Ben Abbott + + * general/cell2mat.m: Add test for cells of cells. + +2010-03-24 Petr Mikulik + + * plot/__go_draw_axes__.m: Unset logscale also for unused gnuplot + axis locations. + +2010-03-24 Jaroslav Hajek + + * help/help.m: Maybe warn about unimplemented Matlab functions. + +2010-03-24 Jaroslav Hajek + + * miscellaneous/unimplemented.m: New function. + +2010-03-24 Jaroslav Hajek + + * general/cell2mat.m: Support cells of cells. + +2010-03-23 John W. Eaton + + * plot/refreshdata.m: Don't use cell2mat on cell array of cell arrays. + +2010-03-22 Soren Hauberg + + * image/gmap40.m, image/hot.m, image/hsv2rgb.m, image/image.m, + image/image_viewer.m, image/imfinfo.m, image/imread.m, image/imshow.m, + image/saveimage: Detabify. + +2010-03-21 Soren Hauberg + + * general/quadv.m: Replace 'quadl' with 'quadv' in help text. + +2010-03-20 Soren Hauberg + + * general/interp2.m: For nearest neighbour interpolation ceil + (instead of floor) at the center of the data intervals to be + compatible with Matlab. Add test. + * general/interpn.m: Ditto. + +2010-03-19 Jaroslav Hajek + + * strings/strmatch.m (strtrimr): Rewrite for correct behavior. + Add test. + +2010-03-18 Petr Mikulik + + * plot/print.m: Add '-append' option. + +2010-03-18 Ben Abbott + + * plot/print.m: print.m: Detabify. + +2010-03-16 Jaroslav Hajek + + * general/nthroot.m: Remove. + * general/module.mk: Update. + * specfun/nthroot.m: New source. + * specfun/module.mk: Update. + +2010-03-16 Jaroslav Hajek + + * miscellaneous/intwarning.m: Deprecate. + +2010-03-11 Jaroslav Hajek + + * strings/index.m: Make it a wrapper for strfind. + +2010-03-11 Jaroslav Hajek + + * strings/strchr.m: Optimize. + +2010-03-05 Soren Hauberg + + * pkg/pkg.m (write_index): include classes in autogenerated + INDEX files. + +2010-03-05 Soren Hauberg + + * plot/fplot.m: Ensure that 'limits' is a 2 or 4 vector, and + that 'fn' is a function. + +2010-03-05 Jaroslav Hajek + + * testfun/test.m: Support catching warnings and errors by IDs. + +2010-03-05 Jaroslav Hajek + + * general/accumdim.m: Optimize the summation case. + +2010-03-05 Jaroslav Hajek + + * general/accumdim.m: New function. + +2010-03-05 Jaroslav Hajek + + * optimization/fzero.m: Avoid division by zero. + +2010-03-04 Jaroslav Hajek + + * optimization/fminbnd.m: Fix tests. + +2010-03-04 Jaroslav Hajek + + * optimization/fminbnd.m: Fix termination tolerances. + +2010-03-02 Jaroslav Hajek + + * polynomial/convn.m: Remove. + * polynomial/module.mk: Update. + +2010-02-28 John W. Eaton + + * set/unique.m: If the argument is sparse and we are not + operating on rows and we don't need indices, convert nonzero + elements to a full matrix and work on that instead, converting + back to sparse when done. + +2010-02-28 John W. Eaton + + * set/unique.m: Return 0x1 arrays for empty arrays with some + nonzero dimensions. Return object with the same class as the + argument. New tests. + +2010-02-27 Liam Groener + + * time/datetick.m: Fix 'keepticks' bug, and untabify. + +2010-02-25 Jaroslav Hajek + + * strings/str2double.m: Remove. + +2010-02-24 John W. Eaton + + * plot/private/__contour__.m (get_lvl_eps): New function. + Handle case of single level value. Use sqrt (eps) instead of 1e-6. + (update_text, add_patch_children): Use it. + +2010-02-19 Rik + + * optimization/fzero.m: Add test for discontinuity at the end. + +2010-02-18 John W. Eaton + + * image/imfinfo.m: Don't handle file time stamp here. + +2010-02-17 Jaroslav Hajek + + * statistics/base/center.m: Convert integer inputs to doubles. + +2010-02-17 Jaroslav Hajek + + * general/interp2: Slightly optimize linear interpolation. + +2010-02-12 Jaroslav Hajek + + * general/interp2: Remove debug stub. + +2010-02-12 Jaroslav Hajek + + * optimization/optimget.m: Simplify. + +2010-02-11 Jaroslav Hajek + + * miscellaneous/parseparams.m: Extend to allow direct parsing of + options. + +2010-02-10 Jaroslav Hajek + + * optimization/fminbnd.m: Undocument impossible info values. + * optimization/fzero.m: Ditto. + + * optimization/fzero.m: Make default TolX consistent with fminbnd. +2010-02-10 Jaroslav Hajek + + * optimization/fminbnd.m: New function. + * optimization/module.mk: Add it here. + * optimization/fzero.m: Make default TolX consistent with fminbnd. + +2010-02-10 Jaroslav Hajek + + * general/private/__isequal__.m: Remove list-related stub. + +2010-02-09 John W. Eaton + + * image/imshow.m: Allow logical values for images. + +2010-02-09 Jaroslav Hajek + + * general/accumarray.m: Use != instead of diff to compare indices in + dense case. Set explicit mode in sparse case to aid optimization. + +2010-02-09 Jaroslav Hajek + + * miscellaneous/menu.m: Use sscanf rather than eval. + +2010-02-09 Jaroslav Hajek + + * miscellaneous/substruct.m: Vectorize. + +2010-02-08 Jaroslav Hajek + + * general/accumarray.m: Document complexity. + +2010-02-08 Jaroslav Hajek + + * general/accumarray.m: Add new test that also forces index cache + generation for faster sorting. + +2010-02-08 Jaroslav Hajek + + * general/accumarray.m: 1 more small fix. + +2010-02-06 Jaroslav Hajek + + * general/accumarray.m: Small fixes. + +2010-02-05 Jaroslav Hajek + + * general/accumarray.m: Rewrite. Split sparse and dense case. Treat + cell-valued subs efficiently. Optimize dense case for @sum, @max and + @min. Optimize the @(x){x} reduction. Add tests. + +2010-02-04 Jaroslav Hajek + + * miscellaneous/dir.m: Fix month passed to datenum. + +2010-02-03 Jaroslav Hajek + + * general/private/__isequal__.m: Handle function handles. + +2010-02-01 David Bateman + + * plot/__go_draw_axes__.m (get_old_gnuplot_color): Remove as + no longer used (for gnuplot 4.0). + + * plot/private/__scatter__.m: Treat "flat" colored patches as + a single patch. + * plot/__go_draw_axes__.m: If a patch object is flat, treat its + outline with the gnuplot "palette". + +2010-01-30 Thorsten Meyer + + * statistics/tests/kruskal_wallis_test.m: Replace chisquare_cdf + by chi2cdf. + +2010-01-29 Ben Abbott + + * plot/axis.m, plot/__go_draw_axes__.m, plot/colorbar.m, + plot/isocolors.m, plot/isonormals.m, plot/isosurface.m, + plot/plotyy.m, plot/polar.m, plot/surfl.m, + plot/private/__actual_axis_position.m: + Replace dataaspectratio and dataaspectratiomode properties with + plotboxaspectratio and plotboxaspectratio properties. + +2010-01-29 John W. Eaton + + * polynomial/compan.m, polynomial/conv.m, polynomial/deconv.m, + polynomial/mpoles.m, polynomial/polyderiv.m, + polynomial/polygcd.m, polynomial/polyout.m, + polynomial/polyreduce.m, polynomial/polyval.m, + polynomial/polyvalm.m, polynomial/residue.m: + Point to polyint in @seealso, not polyinteg. + + * deprecated/module.mk (deprecated_FCN_FILES): + Remove delete files from the list. + + * 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/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/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/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/weibull_cdf.m, + deprecated/weibull_inv.m, deprecated/weibull_pdf.m, + deprecated/weibull_rnd.m, deprecated/wiener_rnd.m: + Delete functions deprecated in version 3.0.0. + + * deprecated/weibcdf.m, deprecated/weibinv.m, + deprecated/weibpdf.m, deprecated/weibrnd.m: + Note that Matlab still has these functions, so they probabl + should not be removed with other functions deprecated in 3.0.0. + +2010-01-28 Ben Abbott + + * plot/daspect.m, plot/pbaspect.m: New functions. + +2010-01-28 John W. Eaton + + * general/Makefile.am (general_FCN_FILES): Add chop.m to the list. + +2010-01-28 John W. Eaton + + * deprecated/isstr.m, deprecated/clg.m, deprecated/setstr.m: + Note that Matlab still has these functions, so they probabl + should not be removed with other functions deprecated in 3.0.0. + +2010-01-27 Thorsten Meyer + + * plot/gnuplot_drawnow.m: Add "emf" to the list of enhanced + terminals for the gnuplot backend. + +2010-01-26 John W. Eaton + + * general/chop.m: New function. + +2010-01-26 Jaroslav Hajek + + * optimization/fsolve.m: Support TypicalX, autoscale only if + AutoScaling is on, off by default. Fix default tolerances. + * optimization/fminunc.m: Support TypicalX, autoscale only if + AutoScaling is on, off by default Fix default tolerances.. + * optimization/private/__fdjac__.m: Accept typicalx as a parameter. + +2010-01-26 Jaroslav Hajek + + * optimization/pqpnonneg.m: If Cholesky update failed, switch off + updating but continue. + +2010-01-26 Jaroslav Hajek + + * pkg/pkg.m: More complement -> setdiff changes. + +2010-01-23 Jaroslav Hajek + + * pkg/pkg.m: Use setdiff rather than complement. + +2010-01-20 John W. Eaton + + * gethelp.cc: Untabfy. + +2010-01-20 Ben Abbott + + * plot/__go_draw_figure__.m: Reverse order axes are drawn. + +2010-01-20 David Bateman + + * plot/private/__contour__.m: Set default linestyle if pltopt returns + an empty style. + +2010-01-20 John W. Eaton + + * time/datetick.m: Make form arg optional. + From Philip Nienhuis . + +2010-01-20 David Bateman + + * plot/__go_draw_axes__.m: Correct an error in drawing of patch + objects where unrequested markers were drawn. + + * plot/__go_draw_figure__.m: Also plot white foreground and + background colors. + * plot/plotyy.m: Set axes colors to "none". + + * plot/__go_draw_axes__.m (next_marker): Remove and all uses of + this function. + Partially respect the markeredgecolor and markerfacecolor properties. + * plot/private/__color__str_rgb__.m: New function + * plot/module.mk: Add it here. + * plot/__next_line_style__.m: New function selected next line style + using the axes linestyleorder property. + * plot/__next_line_color.m: Increment next line style here. + * plot/newplot.m: Reset next line style here. + * plot/module.mk: Add __next_line_style__.m here. + * plot/plot3.m: Use __next_line_style__ here. + * plot/private/plt.m: And here. + * plot/private/stem.m: And here. + * plot/private/scatter.m: And here. Correctly handle nargin == 3. Use + matlab compatible edgecolor, markeredgecolor and markerfacecolor + property values. + * plot/private/pltopt.m: Remove "@" marker as an option. + * plot/private/__default_plot_options__.m: Default plot options + are empty signalling that __next_line_color__ and + __next_line_style should be used. + +2010-01-19 Jaroslav Hajek + + * general/structfun.m: Error when invalid options are specified. + +2010-01-19 Jaroslav Hajek , Thorsten Meyer + + * general/structfun.m: Correctly support multiple arguments with + non-uniform output. Correct test for non-uniform output. + +2010-01-19 Jaroslav Hajek + + * help/print_usage.m: Try determining whether called from top level. + If not, don't print additional help and enable backtrace instead. + +2010-01-18 John W. Eaton + + * testfun/test.m: Undo previous change. + +2010-01-18 David Grundberg + + * testfun/test.m: Append endfunction to function test blocks. + +2010-01-17 Thorsten Meyer + + * general/celldisp.m: Add example, add demo. + + * general/structfun.m, miscellaneous/getfield.m, + miscellaneous/orderfields.m, miscellaneous/setfield.m, + miscellaneous/substruct.m: Update documentation string. + +2010-01-16 David Bateman + + * plot/__go_draw_axes__.m (next_marker): New function to find a + new marker. Use it to support the "@" marker. + * plot/private/__pltopt__.m: Don't convert "@" marker ro "+"; + +2010-01-15 David Bateman + + plot/__go_draw_figure__.m: Respect the figure and axes color + properties. + +2010-01-14 David Bateman + + * plot/__go_draw_axes__.m: Fix for markerfacecolor and + markeredgecolor for unfillable points like '+'. + +2010-01-14 Jaroslav Hajek + + * io/fileread.m: Add missing semicolon. + +2010-01-14 Jaroslav Hajek + + * strings/strcmpi.m: Remove. + * strings/strncmpi.m: Remove. + * strings/module.mk: Update. + +2010-01-13 John W. Eaton + + * miscellaneous/inputname.m: Use isvarname instead of regexp. + +2010-01-13 John W. Eaton + + * miscellaneous/inputname.m: Return "" if argument name is not a + valid identifier. Update docstring. + +2010-01-12 David Bateman + + * plot/__go_draw_axes_.m: Allow patch markerfacecolor and + markeredgecolor properties to be used and set the marker colors + appropriately. + +2010-01-12 Jaroslav Hajek + Ben Barrowes + + * set/private/validargs.m: New function. + * set/module.mk: Add it here. + * set/ismember.m: Use it here. + * set/intersect.m: Ditto. + * set/union.m: Ditto. + * set/setdiff.m: Ditto. + * set/setxor.m: Ditto. + +2010-01-11 Rik + + * Makefile.am: Update DOCSTRINGS rules to avoid + simple_move_if_change_rule and allow Make to update timestamps. + +2010-01-11 Jaroslav Hajek + + * plot/private/__scatter__.m: Use patch objects instead of lines, + switch at 100 points. + +2010-01-11 Jaroslav Hajek + + * plot/private/__scatter__.m: Fix typos. + +2010-01-11 Jaroslav Hajek + + * io/fileread.m: New source. + +2010-01-10 Jaroslav Hajek + + * plot/private/__scatter__.m: Use alternative strategy for larger + point sets. + +2010-01-06 Ben Abbott + + * optimization/qp.m: Add missing semicolon. + +2010-01-11 Ben Barrowes + + * set/: allow set scripts to handle cell inputs + +2010-01-05 Jaroslav Hajek + + * optimization/qp.m: Supply default values on request and register + options. + +2010-01-05 John W. Eaton + + * qp.m: Allow linear term and constraint arguments to be + optional. + +2010-01-05 Joshua Redstone + + * qp.m: Handle optimset options struct argument. + +2010-01-04 Jaroslav Hajek + + * strings/strmatch.m: Optimize. + +2010-01-04 Jaroslav Hajek + + * strings/strrep.m: Remove. + * strings/module.mk: Update. + +2010-01-02 Jaroslav Hajek + + * optimization/fsolve.m: Support old style jacobian passing. + +2010-01-01 Jaroslav Hajek + + * set/powerset.m: New function. + * set/module.mk: Include it. + +2009-12-30 Jaroslav Hajek + + * general/common_size.m: Use named function rather than a handle. + +2009-12-29 Jaroslav Hajek + + * set/complement.m: Deprecate. + +2009-12-28 Jaroslav Hajek + + * strings/strcat.m: Further simplify. + +2009-12-27 Jaroslav Hajek + + * general/common_size.m: Optimize. + +2009-12-27 Jaroslav Hajek + + * strings/strcat.m: Vectorize. + +2009-12-26 Jaroslav Hajek + + * miscellaneous/xor.m: Optimize. + +2009-12-25 Jaroslav Hajek + + * general/issquare.m: Do not check type. + * linear-algebra/issymmetric.m: Strengthen test. + * linear-algebra/ishermitian.m: Strengthen test. + +2009-12-25 Jaroslav Hajek + + * strings/strfind.m: Remove. + * strings/module.mk: Update. + +2009-12-24 Jaroslav Hajek + + * strings/strjust.m: Rewrite. + +2009-12-23 Jaroslav Hajek + + * strings/strjust.m: Special-case string and empty argument. + +2009-12-19 Rik + + * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake + variables of top_builddir and top_srcdir. + +2009-12-18 Rik + + * Makefile.am: Use Automake syntax to build helper program gethelp + +2009-12-17 Rik + + * testfun/test.m: Add newline to message output. + +2009-12-14 John W. Eaton + + * specfun/isprime.m: Produce logical result. Error if nargin > 1. + New tests. + +2009-12-14 John W. Eaton + + * help/__makeinfo__.m: Use fullfile to concatenate file name + components. Use hyphens instead of underscores in tmp file name. + +2009-12-14 Jaroslav Hajek + + * help/__makeinfo__.m: Use P_tmpdir to create temporary file. + +2009-12-09 Rik + + * polynomial/module.mk: Correct typo and distribute newly + created ppder.m. + +2009-12-13 Jaroslav Hajek + + * ppder.m: New function. + * ppint.m: New function. + * ppjumps.m: New function. + +2009-12-09 Rik + + * Makefile.am: remove install-images target and use automake + syntax to distribute image data. + +2009-12-11 John W. Eaton + + * Makefile.am (DOCSTRINGS): Use $(cp_update_rule) instead of + cp -a --update. + +2009-12-09 Rik + + * Makefile.am: Copy DOCSTRINGS from srcdir to builddir if it does not + exist. Enables VPATH builds. + +2009-12-08 Petr Mikulik + + * plot/gnuplot_drawnow.m: Prune prompt lines from dumb terminal output. + * plot/__go_draw_figure__.m: Add missing 'unset multiplot' to restore + hotkey and mouse functionality for 2D plots. + +2009-12-09 Rik + + * Makefile.am: Distribute DOCSTRINGS in tar.gz file. + * mkdoc: Pass current directory, "./", when running mkdoc on + local files. + +2009-12-07 Jaroslav Hajek + + * general/interp1q.m: Use more optimal code. + +2009-12-08 John W. Eaton + + * Makefile.am (DOCSTRINGS): Depend on $(GEN_FCN_FILES) instead + of $(FCN_FILES_IN). Pass $(GEN_FCN_FILES) to mkdoc instead of + $(FCN_FILES_IN). Use mv instead of $(simple_move_if_change_rule). + (EXTRA_DIST): Include $(GEN_FCN_FILES) in the list. + +2009-12-07 Jaroslav Hajek + + * general/interp1.m: Allow discontinuities (jumps) for the + "nearest" and "linear" methods. Document the feature and add a + few tests. + +2009-12-06 Rik + + * Makefile.am: Distribute DOCSTRINGS so that documentation will + not require rebuild after merely untarring a distribution. + * mkdoc: Change output to refer to mfiles as "scripts/..." rather than + "$srcdir/...". Otherwise, distributed DOCSTRINGS file will not match + DOCSTRINGS created under a VPATH build and documentation will be + unnecessarily rebuilt. + +2009-12-05 Jaroslav Hajek + + * set/ismember.m: Simplify. + +2009-12-03 John W. Eaton + + * audio/wavwrite.m: Delete generated a.wav file after each test. + + * Makefile.am (DIRSTAMP_FILES, DISTCLEANFILES): New variables. + (DOCSTRINGS): Also depend on $(FCN_FILES_IN). Pass + $(FCN_FILES_IN) to mkdoc instead of $(GEN_FCN_FILES). Tell mkdoc + to look for $(FCN_FILES_IN) files in $(srcdir), not build + directory. + (DISTCLEANFILES): New variable. + Don't silence dirstamp, DOCSTRINGS, $(GEN_FCN_FILES), and PKG_ADD + rules. + + * audio/module.mk, deprecated/module.mk, elfun/module.mk, + help/module.mk, general/module.mk, geometry/module.mk, + image/module.mk, io/module.mk, linear-algebra/module.mk, + miscellaneous/module.mk, @ftp/module.mk, optimization/module.mk, + path/module.mk, pkg/module.mk, plot/module.mk, + polynomial/module.mk, set/module.mk, signal/module.mk, + sparse/module.mk, specfun/module.mk, special-matrix/module.mk, + startup/module.mk, statistics/base/module.mk, + statistics/distributions/module.mk, statistics/models/module.mk, + statistics/tests/module.mk, strings/module.mk, testfun/module.mk, + time/module.mk: Append to DIRSTAMP_FILES. + +2009-12-02 Rik + + * image/imread.m: Run test case only if underlying GraphicMagick + library exists. + +2009-12-02 John W. Eaton + + * help/module.mk: Fix typo in previous change. + +2009-12-01 John W. Eaton + + * help/module.mk (help_PRIVATE_FCN_FILES): New list. + (help_FCN_FILES): Remove new private functions from the list. + Include $(help_PRIVATE_FCN_FILES) in the list. + * help/private/__additional_help_message__.m: Rename from + help/__additional_help_message__.m. + + * statistics/base/module.mk (statistics_base_FCN_FILES): + Remove statistics/base/__quantile__.m from the list. + * statistics/base/__quantile__.m: Now a subfunction of + statistics/base/quantile.m. + * statistics/base/quantile.m: Remove redundant tests. + + * miscellaneous/__xzip__.m: Comment out tests until we have a way + to test private functions directly. + + * general/isequal.m, general/isequalwithequalnans.m: + Convert tests from __isequal__. + + * optimization/module.mk (optimization_PRIVATE_FCN_FILES): New list. + (optimization_FCN_FILES): Remove new private functions and new + subfunctions from the list. Include + $(optimization_PRIVATE_FCN_FILES) in the list. + + * optimization/private/__fdjac__.m: Rename from + optimization/__fdjac__.m. + + * optimization/__dogleg__.m: Now a subfunction of path/fsolve.m. + * optimization/__doglegm__.m: Now a subfunction of path/fminunc.m. + + * general/module.mk (general_PRIVATE_FCN_FILES): New list. + (general_FCN_FILES): Remove new private functions from the list. + Include $(general_PRIVATE_FCN_FILES) in the list. + + * general/private/__isequal__.m: Rename from general/__isequal__.m. + * general/private/__splinen__.m: Rename from general/__splinen__.m. + + * image/module.mk (image_FCN_FILES): Remove image/__img__.m and + image/__img_via_file__.m from the list. + + * image/__img__.m: Now a subfunction of image/image.m. + * image/__img_via_file__.m: Now a subfunction of image_viewer.m. + + * path/module.mk (path_FCN_FILES): Remove path/__extractpath__.m + from the list. + + * path/__extractpath__.m: Now a subfunction of path/pathdef.m. + + * miscellaneous/module.mk (miscellaneous_PRIVATE_FCN_FILES): New list. + (miscellaneous_FCN_FILES): Remove __xzip__.m from the list. + Include $(miscellaneous_PRIVATE_FCN_FILES) in the list. + + * miscellaneous/private/__xzip__.m: Rename from + miscellaneous/__xzip__.m. + +2009-12-01 David Bateman + + * @ftp/ftp.m: Treat empty constructor and construction from + another FTP object. + * @ftp/loadobj.m: Allow and remove the matlab specific fields + of FTP objects allowing matlab FTP objects to be loaded in Octave. + * @ftp/display.m: user -> username. + +2009-12-01 John W. Eaton + + * plot/module.mk (plot_PRIVATE_FCN_FILES): New list. + (plot_FCN_FILES): Include $(plot_PRIVATE_FCN_FILES) in the list. + Remove new private functions and new subfunctions from the list. + + * plot/private/__actual_axis_position__.m: Rename from + plot/__actual_axis_position__.m. + * plot/private/__add_datasource__.m: Rename from + plot/__add_datasource__.m. + * plot/private/__axes_limits__.m: Rename from plot/__axes_limits__.m. + * plot/private/__axis_label__.m: Rename from plot/__axis_label__.m. + * plot/private/__bar__.m: Rename from plot/__bar__.m. + * plot/private/__clabel__.m: Rename from plot/__clabel__.m. + * plot/private/__contour__.m: Rename from plot/__contour__.m. + * plot/private/__default_plot_options__.m: Rename from + plot/__default_plot_options__.m. + * plot/private/__errcomm__.m: Rename from plot/__errcomm__.m. + * plot/private/__errplot__.m: Rename from plot/__errplot__.m. + * plot/private/__ezplot__.m: Rename from plot/__ezplot__.m. + * plot/private/__interp_cube__.m: Rename from plot/__interp_cube__.m. + * plot/private/__line__.m: Rename from plot/__line__.m. + * plot/private/__patch__.m: Rename from plot/__patch__.m. + * plot/private/__plt__.m: Rename from plot/__plt__.m. + * plot/private/__pltopt__.m: Rename from plot/__pltopt__.m. + * plot/private/__quiver__.m: Rename from plot/__quiver__.m + * plot/private/__scatter__.m: Rename from plot/__scatter__.m. + * plot/private/__stem__.m: Rename from plot/__stem__.m. + + * plot/__pltopt1__.m: Now a subfunction of plot/__pltopt__.m. + + * plot/__bars__.m: Now a subfunction of plot/__bar__.m. + * plot/__bar__.m (bars): Rename from __bars__. + (__bar__): Call bars insteaad of __bars__. + + * plot/__area__.m: Now a subfunction of plot/area.m. + + * plot/__plr1__.m, plot/__plr2__.m: Now subfunctions of polar.m. + + * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, + plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2sv__.m, + plot/__plt2vm__.m, plot/__plt2vs__.m, plot/__plt2vv__.m: + Now subfunctions of __plt__.m. + +2009-11-30 John W. Eaton + + * mkdoc: Handle classes in function names. + +2009-11-27 David Bateman + + * @ftp/ascii.m, @ftp/binary.m, @ftp/cd.m, @ftp/close.m, + @ftp/delete.m, @ftp/dir.m, @ftp/display.m, @ftp/ftp.m, + @ftp/loadobj.m, @ftp/mget.m, @ftp/mkdir.m, @ftp/module.mk, + @ftp/mput.m, @ftp/rename.m, @ftp/rmdir.m, @ftp/saveobj.m: New files + * Makefile.am: Add the @ftp to the build. + +2009-11-26 Jaroslav Hajek + + * linear-algebra/cross.m: Avoid doing indexing twice. + +2009-11-26 Jaroslav Hajek + + * linear-algebra/normest.m: Randomize initial vector. + +2009-11-26 Jaroslav Hajek + + * linear-algebra/dot.m: Remove. + * linear-algebra/module.mk: Update. + +2009-11-26 Jaroslav Hajek + + * optimization/qp.m: Fix matrix tests. + * optimization/condest.m: Ditto. + * optimization/krylov.m: Ditto. + +2009-11-26 Jaroslav Hajek + + * sparse/normest.m: Move to linear-algebra. + * linear-algebra/normest.m: Simplify. Don't form A'*A explicitly. + +2009-11-25 Jaroslav Hajek + + * linear-algebra/isdefinite.m: Use Cholesky factorization. + +2009-11-24 Jaroslav Hajek + + * general/issymmetric.m: Move to linear-algebra. + * general/isdefinite.m: Ditto. + * linear-algebra/issymmetric.m: Use 0 as default tolerance. Optimize + this case. Check for symmetry, not hermitianness. + * linear-algebra/ishermitian.m: New function. + * linear-algebra/isdefinite.m: Use ishermitian instead of issymmetric. + +2009-11-24 Jaroslav Hajek + + * general/cellidx.m: Deprecate. + +2009-11-24 Jaroslav Hajek + + * general/issquare.m: Change to return consistent result for empty + matrices. + +2009-11-24 Jaroslav Hajek + + * general/cell2mat.m: Check type of all elements. Slightly optimize. + Add tests. + +2009-11-24 Jaroslav Hajek + + * general/accumarray.m: Use num2cell instead of mat2cell. Use repmat. + +2009-11-20 Jaroslav Hajek + + * script/miscellaneous/getfield: Deblank field names, gripe on invalid + index. + * script/miscellaneous/setfield: Rewrite using subsasgn. + +2009-11-22 Michael Goffioul + + * plot/print.m: Properly set the default ghostscript_binary + under Windows. Modify the search for the ghostscript binary + so that it works for Win32, mingw, Cygwin, and Unix systems. + +2009-11-20 Jaroslav Hajek + + * strings/dec2base.m: Fix division. + +2009-11-20 Lukas Reichlin + + * linear-algebra/krylov.m: Add missing swap routine. + +2009-11-20 Jaroslav Hajek + + * general/__isequal__.m: Check for isnumeric|islogical. + * testfun/assert.m: Ditto. + +2009-11-19 Jaroslav Hajek + + * specfun/perms.m: Avoid recursion. Simplify assignments. Allow empty + vectors. + +2009-11-19 Jaroslav Hajek + + * specfun/erfinv.m: Remove. + * specfun/module.mk: Update. + +2009-11-18 Ben Abbott + + * plot/orient.m: Flip papersize and paperposition when orientation + changes. Add support for 'tall' option. Add tests. + +2009-11-18 Jaroslav Hajek + + * io/textread.m: strncmp->strcmpi. + +2009-11-14 Jaroslav Hajek + + * linear-algebra/expm.m: Fix typo. + +2009-11-11 John W. Eaton + + * miscellaneous/intwarning.m: Doc fix. + +2009-11-11 John W. Eaton + + * plot/stairs.m (__stairs__): Correct nargin check. New demos. + From Jakub Kasse . + +2009-11-11 John W. Eaton + + * help/help.m (help): Return immediately after calling do_contents. + (do_contents): Find all matching directories, not just the first. + Call get_help_text_from_file to avoid looking in path. + Handle printing here. + +2009-11-10 John W. Eaton + + * Makefile.am, audio/module.mk, deprecated/module.mk, + elfun/module.mk, general/module.mk, geometry/module.mk, + help/module.mk, image/module.mk, io/module.mk, + linear-algebra/module.mk, miscellaneous/module.mk, + optimization/module.mk, path/module.mk, pkg/module.mk, + plot/module.mk, polynomial/module.mk, set/module.mk, + signal/module.mk, sparse/Makefile.in, specfun/Makefile.in, + special-matrix/Makefile.in, startup/Makefile.in, + statistics/Makefile.in, statistics/base/module.mk, + statistics/distributions/module.mk, statistics/models/module.mk, + statistics/tests/module.mk, strings/module.mk, testfun/module.mk, + time/module.mk: New files. + * Makefile.in, move-if-change, configure.ac, audio/Makefile.in, + deprecated/Makefile.in, elfun/Makefile.in, general/Makefile.in, + geometry/Makefile.in, help/Makefile.in, image/Makefile.in, + io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, optimization/Makefile.in, + path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, set/Makefile.in, signal/Makefile.in, + skip-autoheader, sparse/module.mk, specfun/module.mk, + special-matrix/module.mk, startup/module.mk, + statistics/base/Makefile.in, statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: + Delete. + * mk-pkg-add: Rename from mkpkgadd. + * mkdoc, mk-pkg-addd: Operate on explicit lists of files instead + of directory names. + * mkdoc: Skip files not ending in .m. + +2009-11-10 Ben Abbott + + * plot/__go_draw_axes__.m: No 'with linestyle' when linestyle == 'none'. + +2009-11-09 Jaroslav Hajek + + * general/arrayfun.m: Fix nargout=0 case. + +2009-11-08 Petr Mikulik + + * plot/gnuplot_drawnow.m: Support gnuplot's dumb terminal. + +2009-11-02 Stefan Hepp + + * plot/gnuplot_drawnow.m (gnuplot_default_term): Don't set term to + x11 unless DISPLAY is set. + +2009-11-02 Jaroslav Hajek + + * general/interp1.m: Simplify. + +2009-11-02 Jaroslav Hajek + + * polynomial/mkpp.m: Improve Matlab compatibility. + * polynomial/ppval.m: Ditto. + * polynomial/unmkpp: Update. + * polynomial/pchip.m: Update and optimize. + * polynomial/spline.m: Update. + * general/__splinen__.m: Update. + +2009-10-23 Jaroslav Hajek + + * general/tril.m, general/triu.m: Remove sources. + * general/Makefile.in: Update. + +2009-10-20 Soren Hauberg + + * general/interp2.m: improved error checking and support for bicubic + interpolation when X and Y are meshgrid format. + +2009-10-22 Jaroslav Hajek + + * general/interp1.m: Perform optimizations, improve code (use switch + instead of multiple ifs). + * polynomial/pchip.m: Employ more optimized formulas (from SLATEC). + +2009-10-22 Soren Hauberg + + * image/autumn.m, image/bone.m, image/cool.m, image/copper.m, + image/flag.m, image/gmap40.m, image/gray.m, image/hot.m, + image/hsv.m, image/jet.m, image/ocean.m, image/pink.m, + image/prism.m, image/rainbow.m, image/spring.m, image/summer.m, + image/white.m, image/winter.m: Add demos. + +2009-10-20 Soren Hauberg + + * general/interp2.m: improved error checking and support for bicubic + +2009-10-19 Soren Hauberg + + * io/strread.m, io/textread.m: New functions. + +2009-10-20 Jaroslav Hajek + + * statistics/base/center.m: Rewrite using bsxfun. + +2009-10-15 David Bateman + + * plot/__go_draw_axes__.m: Allow line and surface markerfacecolor + and markeredgecolor properties to be used and set the marker colors + appropriately. + +2009-10-14 Jaroslav Hajek + + * statistics/base/median.m: Rewrite using nth_element. + +2009-10-01 John W. Eaton + + * image/__img__.m: Adjust xlim and ylim correctly. + +2009-10-01 John W. Eaton + + * Makefile.in (plot/gnuplot_binary.m): New rule. + (DOCSTRINGS): Depend on plot/gnuplot_binary.m. + (ALL_M_FILES): Define with =, not :=. + +2009-10-01 Jaroslav Hajek + + * geometry/griddata.m: Fix handling vector xi, yi. + +2009-09-30 Jaroslav Hajek + + * general/arrayfun.m: Simplify. + +2009-09-30 John W. Eaton + + * mkdoc: Work on list of file names instead of a directory. + * Makefile.in (ALL_M_FILES): Don't strip directories. + Also search build directory if it is different from $(srcdir). + Pass $(ALL_M_FILES) to mkdoc. + +2009-09-30 Michael D. Godfrey + + * plot/clabel.m: Spelling fix. + * plot/newplot.m: Update docstring. + +2009-09-28 John W. Eaton + + * general/sortrows.m: Also use old algorithm for sparse matrices. + +2009-09-21 Jaroslav Hajek + + * set/union.m: Fix docstring. + * set/setxor.m: Fix docstring. + +2009-09-16 Jaroslav Hajek + + * general/randperm.m: Remove. + * general/Makefile.in: Update. + +2009-09-15 John W. Eaton + + * confiugre.ac: Rename from configure.in + * Makefile.in: Rename all instances of configure.in to + configure.ac. + +2009-09-11 Jaroslav Hajek + + * optimization/Makefile.in: Include __doglegm__.m. + +2009-09-11 Jaroslav Hajek + + * optimization/fminunc.m: Simplify damped BFGS calculation. + +2009-09-09 Tatsuro Matsuoka + + * plot/gnuplot_drawnow.m: Avoid flickering windows by avoding + 'set multiplot' / 'unset multiplot' for gnuplot's windows and + wxt terminals. + +2009-09-06 Jaroslav Hajek + + * optimization/__dogleg__.m: Revert to revision 22c8272af34b. + * optimization/__doglegm__.m: New source. + * optimization/fminunc.m: Use it. + +2009-09-08 John W. Eaton + + * io/dlmwrite.m: Fix typo. + +2009-09-06 Jaroslav Hajek + + * optimization/fsolve.m: Change initial TR step strategy. + * optimization/fminunc.m: Change initial TR step strategy. + +2009-09-08 Jaroslav Hajek + + * optimization/fminunc.m: Correct extra output params handling. + +2009-09-06 Jaroslav Hajek + + * optimization/fsolve.m: Update initial factor. + * optimization/fminunc.m: Update initial factor. + +2009-09-06 Jaroslav Hajek + + * general/arrayfun.m: Fix test. + +2009-09-05 John W. Eaton + + * plot/hold.m: Correctly toggle hold state. Set both figure and + axes "nextplot" property when turning hold state on. + * plot/ishold.m: Check figure and axes nextplot properties. + Accept axes or figure handle argument. + +2009-09-01 Christophe Tournery + + * audio/wavread.m: Rename data_size from obsolete ck_size. + +2009-08-31 David Bateman + + * general/quadgk.m: More care with the interval length and + convergence of contour integrals. + +2009-08-29 John W. Eaton + + * time/datestr.m: Add missing semicolon. + +2009-08-17 Jaroslav Hajek + + * general/int2str.m: Convert to double before calling log10. + +2009-08-26 E. Joshua Rigler + + * time/datestr.m: Set tm.isdst to -1 before calling mktime. + +2009-08-25 John W. Eaton + + * plot/__gnuplot_open_stream__.m: Save pid in __plot_stream__ property. + * plot/gnuplot_drawnow.m: Wait for gnuplot subprocess when printing. + From Ben Abbott , Rob Mahurin , and + Dmitri Sergatskov . + +2009-08-22 David Bateman + + * plot/__add_datasource__.m: Correct test for "datasource" argument + * plot/__countour__.m: Add edgecolor properties and make it an alias + for linecolor with the value "auto" being "flat" for the edgecolor. + +2009-08-17 John W. Eaton + + * help/print_usage.m: Make it work again if an argument is given. + +2009-08-17 Jaroslav Hajek + + * help/print_usage: Allow calling from methods. + +2009-08-11 Jaroslav Hajek + + * general/diff.m: Remove. + * general/Makefile.in: Update. + +2009-08-07 Jaroslav Hajek + + * general/flipdim.m: Fix omitted check. + +2009-08-07 Jaroslav Hajek + + * general/flipdim.m: Simplify. + +2009-08-07 Olli Saarela + + * plot/__gnuplot_ginput__.m: If read fails to return data, sleep + before trying again. + +2009-08-06 John W. Eaton + + * plot/compass.m, plot/feather.m: Simplify argument processing. + +2009-08-06 John W. Eaton + + * statistics/base/std.m: Correctly work along singleton dimension. + From Christoph Ellenberger . + +2009-08-06 Jaroslav Hajek + + * geometry/griddata.m: Optimize. + +2009-08-06 Olaf Till + + * geometry/griddata.m: Linearize arrays. + +2009-08-04 Pieter Eendebak + + * set/setxor.m: Added test for cell arrays of strings. + +2009-08-05 Olli Saarela + + * plot/__gnuplot_get_var__.m: If read fails to return data, sleep + before trying again. + +2009-08-04 Pieter Eendebak + + * set/setxor.m: Support cell arrays of strings. + +2009-08-03 Jaroslav Hajek + + * general/sub2ind.m: Remove source. + * general/ind2sub.m: Remove source. + * general/Makefile.in: Update. + +2009-08-02 Ben Abbott + + * plot/gnuplot_drawnow.m: Avoid the flickering x11 window seen with + rapid replots by avoidng setting multiplot mode. This fix only + functions for a single axes with no image objects. + * plot/__go_draw_figure__.m: Move 'set multiplot' to gnuplot_drawnow. + +2009-07-31 Jaroslav Hajek + + * general/common_size: Optimize. + +2009-07-29 Ben Abbott + + * plot/__go_draw_axes__.m: Fix ticklabels specified as 2D character + array. + * plot/__go_draw_axes__.m: Ignore fontnames for the Lua-TikZ terminal. + * plot/gnuplot_drawnow.m: Support the gnuplot terminal Lua-TikZ. + * plot/print.m: Support the gnuplot terminal Lua-TikZ. + +2009-07-29 Jaroslav Hajek + + * plot/gnuplot_binary.m: Fix typo. + +2009-07-27 Jaroslav Hajek + + * optimization/fzero.m: Use "global" parameter in str2func. + * optimization/fsolve.m: Ditto. + * optimization/fminunc.m: Ditto. + +2009-07-24 John W. Eaton + + * plot/gnuplot_binary.in: Accept arguments in addition to program name. + * plot/__gnuplot_open_stream__.m: Pass additional args to gnuplot. + +2009-07-23 Ben Abbott + + * plot/legend.m: Add an hggroup demo using bar(). Include clf() + in each demo. + +2009-07-23 John W. Eaton + + * image/imread.m: Fix test. + + * plot/legend.m: Process arguments in order, child objects in + reverse. Remove special case for single label. New demos. + +2009-07-23 Thorsten Meyer + + * testfun/assert.m: Fix string comparison bug. + +2009-07-20 Jaroslav Hajek + + * testfun/assert.m: Use less strict checking for exact matches. + +2009-07-17 John W. Eaton + + * plot/__go_draw_axes__.m: Use "layer" property to decide whether + to send "set border front" or "set border layerdefault" to plot + stream. Don't send "set border front" to plot stream for image data. + +2009-07-15 Robert T. Short + + * polynomial/conv.m: Fix Matlab incompatibility. New tests. + +2009-07-09 John W. Eaton + + * plot/axis.m: Return 4-element vector for 2-d view. + From David Woodburn . + + * sparse/nonzeros.m: Always return a column vector. New tests. + +2009-06-25 Ben Abbott + + * plot/gnuplot_drawnow.m: Apply feature 'wxt_has_size'. + * plot/__gnuplot_has_feature__.m: Add feature 'wxt_has_size' for + gnuplot >= 4.3.0. + +2009-06-24 Ben Abbott + + * plot/__go_draw_figure__.m: Modify the implicit margin when gnuplot's + output is landscape. + * plot/gnuplot_drawnow.m: Simplify handling of the figure's paper + properties, and rely upon listeners for units conversion. Minor code + improvements. + * plot/print.m: Reimplement -landscape and -portrait to modify the + properties papersize and paperposition. Produce compatible results + when paperpositionmode=='auto'. Simplfy units conversion and + restoration of initial figure properties. + +2009-06-24 Marco Caliari + + * general/repmat.m: Call kron, not spkron. + +2009-06-24 Alexander Mamonov + + * plot/plot3.m: Correctly compute offsets for property/value pairs. + +2009-06-23 Alexander Mamonov + + * image/imread.m: New test. + +2009-06-22 Ben Abbott + + * plot/grid.m: Add missing semi-colon. Allow grid to be toggled + on/off for each axis independently. Gnuplot requires that minor + ticks accompany minor ticks. Add demo. + * plot/__go_draw_axes__.m: For {x,y,z}scale == 'log' use 10 minor + ticks. + +2009-06-22 John W. Eaton + + * statistics/base/var.m: Return zero for scalar case. Handle + empty arguments in a Matlab compatible way. New tests. + +2009-06-19 Jaroslav Hajek + + * set/ismember.m: Properly handle NaNs. Fix test. + +2009-06-18 Ben Abbott + + * plot/__go_draw_axes__.m: Change the default x11 fontspec from '*,0' + to ',0' to avoid delays searching the fontpath for a font named '*'. + +2009-06-18 Daniel Gualberto + + * polynomial/mpoles.m: Fix infinite loop for a multiplicity of + poles at zero. Test added. + +2009-06-17 Bertrand Roessli + + * plot/axis.m: Fix bug for 'axis tight' with multiple surface plots, + add demo. + +2009-06-15 Ben Abbott + + * plot/quiver.m: Add 'clf' to demos. + * plot/plotyy.m: Consider dataaspectratiomode before changing + dataaspectratio. + +2009-06-14 Ben Abbott + + * plot/plotyy.m: Fix compatibility with subplot, add listeners for + dataaspectratio, and add a demo. + +2009-06-14 Eric Chassande-Mottin + + * plot/plotyy.m: Correct behavior when there is no currentfigure. + +2009-06-14 Jaroslav Hajek + + * set/ismember.m: Reimplement using lookup & unique. + +2009-06-11 Ben Abbott + + * plot/print.m: Fix logic associated with 'have_ghostscript'. + * plot/gnuplot_drawnow.m: Add support for pdfcairo and pngcairo + terminals. Minor code improvements. + * plot/print.m: Associate '-mono' with devices ps, ps2, eps, & eps2. + Have '-mono' render all objects in monochrome. + For pdf or png output, favor gnuplot's cairo terminals. + +2009-06-10 Marco Caliari + + * plot/hold.m: Add demo including a hggroup. + * plot/__go_draw_axes__.m: Fix order when pushing group children onto + the axes kid list. + * general/quadgk.m: Better waypoint transform. + +2009-06-09 David Bateman + + * general/quadgk.m: Add test case and fixed doubly infinite + waypoint transform for x = 0 case. + +2009-06-09 Marco Caliari + + * general/quadgk.m: Fix doubly infinite transformation to the finite + interval. + +2009-06-08 Ben Abbott + + * plot/axis.m: Fix bug for 'axis tight' with multiple lines, modify + demo. + +2009-06-07 Thorsten Meyer + + * testfun/assert.m: Fix texinfo bug. + +2009-06-04 Ben Abbott + + * plot/__go_draw_axes__.m: Change strncmpi(scale,'lo') to + strcmp(scale,'log'). + * plot/__go_draw_axes__.m: For log-scale axes use format '10^{%T}'. + +2009-06-03 Ben Abbott + + * plot/colorbar.m: Colorbar 'handlevisibility' should be 'on'. + Add additional demos which illustrate problems with the present + implementation. + * plot/__gnuplot_has_feature__.m: Change version for + "x11_figure_position" from ">=4.3.0" to ">=4.2.5". + * plot/__scatter__.m: If the color spec is empty, set using + __next_line_color__. + * plot/scatter3.m: Add demos. + +2009-06-03 Jaroslav Hajek + + * polynomial/polyfit.m: Fix test. + +2009-06-02 Rafael Laboissiere + + * help/doc.m: In test, look also for the gzipped version of the + info_file + +2009-05-29 John W. Eaton + + * plot/__gnuplot_get_var__.m: Insert missing semicolon. + +2009-05-28 Ben Abbott + + * plot/__go_draw_axes__.m: Set x2range when xaxislocation=='top' + and set y2range when yaxislocation=='right'. Simplify support + for ticklabel separator '|'. + * plot/__go_draw_figure__.m: Change 'autoscale fix' to + 'autoscale keepfix'. + * plot/colorbar.m: Add demos. + +2009-05-28 Ben Abbott + + * plot/__go_draw_axes__.m: Add support for ticklabel separator '|'. + +2009-05-28 Jaroslav Hajek + + * sparse/bicgstab.m: Improve preconditioning; avoid explicit inverse. + * sparse/cgs.m: Improve preconditioning; avoid explicit inverse. + +2009-05-28 Radek Salac + + * sparse/bicgstab.m: New output when calling without arguments. + Time optimization - remove certain checks linked to + preconditioner which are unacceptably slow. + * sparse/cgs.m: New output when calling without arguments. + Time optimization - remove certain checks linked to + preconditioner which are unacceptably slow. Rename internal + variable to match bicgstab. + +2009-05-27 Rik Wehbring + + * plot/axis.m: Update documentation to reflect addition of + "tight" option. + +2009-05-27 Rik Wehbring + + * ismember.m: Update examples to remove incorrect reference to + residue function. + +2009-05-27 John W. Eaton + + * image/imwrite.m: Convert indexed images to RGB before calling + __magick_write__. + + * image/imshow.m: In demo, convert image to rgb before scaling + components. Use imread instead of loadimage. + +2009-05-26 Ben Abbott + + * plot/__go_draw_axes__.m: Fix rendering of overlaping images and + line objects. Add demos as well. + +2009-05-27 S�ren Hauberg + + * geometry/delaunay.m: Support cellstr's as options. + +2009-05-27 Jaroslav Hajek + + * plot/imshow.m: Fix handling of indexed images. + +2009-05-26 S�ren Hauberg + + * help/__makeinfo__.m: Support several @seealso's in one text. + +2009-05-26 John W. Eaton + + * plot/colorbar.m: Downcase location argument. + +2009-05-26 Carlo de Falco + + * pkg/pkg.m: Add "version" field to the structure returned by "pkg + describe". + +2009-05-25 Ben Abbott + + * plot/__go_draw_axes__.m: Properly render TeX symbols for x11, when + using the anonymous fontname="*". + +2009-05-24 Benjamin Lindner + + * plot/gnuplot_drawnow.m: single-quote output name to allow backslash + characters as filesep under windows + * plot/print.m: Support ps->pdf using ghostscript under windows, check + for %GSC% environment variable. + +2009-05-24 Benjamin Lindner + + * plot/__gnuplot_version__.m: quote gnuplot_binary to allow spaces + in file name + +2009-05-22 John W. Eaton + + * general/interp3.m: Don't require interpolation grid to have same + size as data. From Kris Thielemans . + +2009-05-19 Carlo de Falco + + * pkg/pkg.m: Fix a bug when quering only one non installed package + with "pkg describe". + +2009-05-14 Jaroslav Hajek + + * optimization/__fdjac__.m: Support central differences. + * optimization/fsolve.m: Support central differences. Add FinDiffType + option. + * optimization/fminunc.m: Ditto. + +2009-05-17 Rik Wehbring + + * *.m: Simplify Texinfo documentation in .m scripts by removing + redundant @iftex calls + +2009-05-17 Jaroslav Hajek + + * optimization/fminunc.m: Improve TR updating strategy. + * optimization/fsolve.m: Ditto. + +2009-05-15 John W. Eaton + +v * general/nargchk.m: Don't generate error if output is struct. + Uncomment some additional tests. + From Alois Schloegl + +2009-05-14 Jaroslav Hajek + + * optimization/fminunc.m: Import the step adaptation strategy + improvements from fsolve. + +2009-05-08 Ben Abbott + + * plot/__gnuplot_has_feature__.m: Add feature "key_has_font_properties". + * plot/__go_draw_axes__.m: Have legend inherit the axis font-name/size. + +2009-05-04 Peter O'Gorman + + * miscellaneous/tar.m, miscellaneous/unpack.m: + Pass "xvf" to tar instead of "-x -v -f". + +2009-04-30 Ben Abbott + + * plot/__gnuplot_has_feature__.m: Change version for + "x11_figure_position", >4.2.4 to >=4.3.0. + +2009-04-30 Ben Abbott + + * plot/gnuplot_drawnow.m: For figure position, treat 'wxt' as 'x11'. + +2009-04-30 Jaroslav Hajek + + * statistics/base/range.m: Fix behavior when dim is specified. + +2009-04-28 Ben Abbott + + * plot/print.m: Fix typo: 'gswin23c' -> 'gswin32c'. Suppress stderr + when printing. New sub-function: fix_eps_bbox(). Add option, "-tight", + to replace the gnuplot bbox with a tight bbox for eps-files. + +2009-04-23 Ben Abbott + + * plot/print.m: Use Ghostscript rather than ImageMagick's 'convert'. + Support printing to non-postscript printers. Do not change the output + filename when using Ghostscript. When using lpr to print the output, + send it without filtering (unix), or as if it were binary (pc). + +2009-04-22 Robert T. Short + + * general/isa.m: Correctly report multiple layers of class hierarchy. + +2009-04-20 John W. Eaton + + * special-matrix/vander.m: Update tests. + +2009-04-20 Jaroslav Hajek + + * special-matrix/vander.m: Allow second argument. + * special-matrix/polyfit.m: Simplify. + +2009-04-17 Rik + + * plot/__marching_cube__.m: Correct help Texinfo so manual will compile + +2009-04-16 Marco Caliari + + * toeplitz.m: Treat separately the sparse case. + +2009-04-14 Thomas Treichl + + * plot/__marching_cube__.m: Add help text. + * plot/isonormals.m: Add help text and tests. + +2009-04-14 David Bateman + + * plot/__patch__.m: Set default facecolor to [0,1,0]. + +2009-04-12 Aravindh Krishnamoorthy + + * special-matrix/hadamard.m: Fix a documentation mistake. + +2009-04-14 Jaroslav Hajek + + * polynomial/polyaffine.m: New function. + * polynomial/polyscale.m: Remove. + * polynomial/polytrans.m: Remove. + +2009-04-12 Ben Abbott + + * plot/__gnuplot_open_stream__.m: New function. + * plot/__gnuplot_get_var__.m: If not open, open the gnuplot plot stream. + * plot/gnuplot_drawnow.m: Replace internal function open_gnuplot_stream + with new __gnuplot_open_stream__. + +2009-04-11 David Bateman + + * geometry/trisurf.m: New file. + * geometry/Makefile.in (SOURCES): Add it here. + * geometry/trimesh.m: Convert to using 3D patches. + * plot/__go_draw_axes__.m: Allow 3D filled triangular patches. + * plot/__patch__.m: Rewrite to allow update of dependent variables + with listener functions amongst themselves. + * plot/patch.m: Add 3D demo. Update the documentation. + +2009-04-11 Martin Helm + + * plot/__interp_cube__.m, plot/__marching_cube__.m, isocolors.m, + isonnormals.m, isosurface.m: New files. + * plot/Makefile.in (SOURCES): Add them here. + +2009-04-11 Jaroslav Hajek + + * set/intersect.m: Add missing branch. + +2009-04-10 Ben Abbott + + * plot/print.m: If no pdf support in gnuplot, then "convert" from + postscript to pdf. For gnuplot 4.2.x use "convert", if it is present, + to produce pdf output. Only render a full page for ps/pdf output. + Rename variable, "size" to "canvas_size". Reformat help text to + eliminate unintended spaces. Minor improvements to the code. + * plot/gnuplot_drawnow.m: Place canvas size at the end of the terminal + spec, and remove trailing semicolon. Minor improvments to the code. + * plot/__gnuplot_get_var__.m: If fifo fails to open, try 2nd time. + +2009-04-08 Jaroslav Hajek + + * special-matrix/vander.m: Optimize. + +2009-04-07 Ben Abbott + + * plot/Makefile.in: Remove __gnuplot_default_font__.m from SOURCES. + +2009-04-06 Ben Abbott + + * plot/__gnuplot_get_var__.m: Correct misleading error messages, and + remove dangling/commented code. + * plot/__gnuplot_default_font__.m: Remove file from archive. + * plot/__go_draw_axes__.m, plot/__go_draw_figure__.m: Allow + fontsize to be specified for all terminals with fontname == "*". + +2009-04-06 Jaroslav Hajek + + * polynomial/polyscale.m: New function. + * polynomial/polytrans.m: New function. + +2009-04-06 Jaroslav Hajek + + * special-matrix/pascal.m: Fix, optimize & extend. + +2009-04-06 Jaroslav Hajek + + * linear-algebra/vech.m: Optimize. + +2009-04-06 Jaroslav Hajek + + * special-matrix/toeplitz.m: Optimize. + +2008-04-03 David Bateman + + * plot/__scatter__.m: correct indexing of cdata.x + +2009-04-03 Jaroslav Hajek + + * optimization/fminunc.m: New function. + * optimization/Makefile.in: Update. + * optimization/__dogleg__: Allow general quadratics. + +2009-04-02 Ben Abbott + + * plot/__go_draw_axes__.m: Include gnuplot command termination when + plotting image. + +2009-04-02 Ben Abbott + + * plot/__go_draw_axes__.m: Fix title placement for gnuplot 4.2.x. + +2009-04-02 Jaroslav Hajek + + * optimization/fsolve.m: Fix test. + +2009-03-30 Ben Abbott + + * plot/__go_draw_axes__.m: New subfunction create_fontspec(). Allow + fontsize to be specified when the fontname is anonymous. + +2009-03-30 Ben Abbott + + * plot/__gnuplot_default_font__.m: New function: determine gnuplot's + terminal dependent default font. + * plot/__go_draw_figure__.m: Substitute gnuplot default font when + "fontname" = "*". + +2009-03-29 John W. Eaton + + * testfun/Makefile.in (SOURCES): Add rundemos.m to the list. + +2009-03-29 Ben Abbott + + * plot/print.m: For eps output the bounding box should represent the + figure's position. + +2009-03-28 Ben Abbott + + * plot/gnuplot_drawnow.m: Always set figure property "__plot_stream__" + to the active gnuplot steam. Permits __gnuplot_get_var__ to return to + proper result for all gnuplot streams. + +2009-03-27 Ben Abbott + + * plot/__go_draw_axes__.m: Properly position the title for 3D plots + when using the gnuplot (v4.3+) backend. + +2009-03-27 Jaroslav Hajek + + * linear-algebra/expm.m: Fix order of outputs from balance. + +2009-03-25 Kai Habel + + * general/gradient.m: Fix calculation for more than two + dimensions. Change interpretation of vector arguments from + spacing to coordinates. New tests. + +2009-03-25 John W. Eaton + + * mkdoc: Pass full file name to gethelp. + * gethelp.cc (main): Handle second argument. Write comment with + full file name to output. + +2009-03-24 Ben Abbott + + * plot/gnuplot_drawnow.m: When printing, pass scalar plot_stream + to __gnuplot_draw_figure__, and close all plot streams when done. + +2009-03-24 John W. Eaton + + * general/isa.m: Handle parent classes. + +2009-03-23 Ben Abbott + + * plot/gnuplot_drawnow.m: Check that gnuplot has internal variable + "GPVAL_TERMINALS". + * plot/__gnuplot_has_feature__.m: Add "variable_GPVAL_TERMINALS". + +2009-03-21 Ben Abbott + + * plot/gnuplot_drawnow.m: Verify the gnuplot terminal is supported. + * plot/__gnuplot_get_var__.m: Add function to get gnuplot variables. + * plot/print.m: Restore the behavior for option -S,. + +2009-03-19 Jaroslav Hajek + + * optimization/fsolve.m (guarded_eval): Simplify & fix missing + semicolon. + +2009-03-17 Jaroslav Hajek + + * optimization/__fdjac__.m: Pass in fvec to save one evaluation. + * optimization/fsolve.m: Avoid redundant reevaluation when using + FD jacobians. Document how it can be done with user jacobians. Make + first iteration special and call outputfcn after it. Skip updates + unless two successful iterations have occured. + * optimization/__dogleg__.m: Add missing alpha in the zero-gradient + case. + * optimization/fsolve.m: Remove autodg (not used), simplify. + +2009-03-14 Jaroslav Hajek + + * statistics/base/var.m: a -> x. + +2009-03-13 Jaroslav Hajek + + * statistics/base/mean.m: Simplify. + * statistics/base/meansq.m: Optimize. + * statistics/base/center.m: Fix behvaior with vectors, simplify. + * statistics/base/std.m: Simplify using `center'. + * statistics/base/var.m: Ditto. + * statistics/base/cov.m: Ditto. + +2009-03-13 Jaroslav Hajek + + * general/repmat.m: Use subscript pairs rather than forming Kronecker + products. + +2009-03-11 Ben Abbott + + * plot/__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing + each axis. Set ticklabels when the ticklabels are empty and when + ticklabelmode=="manual". + +2009-03-11 Marco Caliari + + * plot/axis.m: Implement "square" and "equal" options, conditional + on how octave positions gnuplot axes. Place the "title()" and + "axis()" commands after "plot()" in the demos. + +2009-03-09 Ben Abbott + + * plot/__go_draw_axes__.m (do_tics): Fix typo (xaxislocation -> + yaxislocation). + +2009-03-09 John W. Eaton + + * help/lookfor.m (search_cache): Also match function names. + + * pkg/pkg.m, help/gen_doc_cache.m, help/lookfor.m: + Use doc-cache instead of DOC for doc cache file. + +2009-03-09 Jaroslav Hajek + + * general/accumarray.m: Reorder tests. Call either "sparse" or + __accumarray_sum__ for the default summation case. + * statistics/base/histc.m: Reimplement using lookup & accumarray. + +2009-03-08 S�ren Hauberg + + * statistics/base/histc.m: New function. + +2009-03-06 Ben Abbott + + * plot/__go_draw_axes__.m: Preserve the order of axes' children + when pruning the handles for the {x,y,z}labels and title. + * plot/legend.m: Change demo to add colors to lines. This change + reveals the problem (above) with the ordering of the axes' children. + +2009-03-05 Jaroslav Hajek + + * linear-algebra/condest.m: Use lu rather than splu. Use relative tols + for tests. + +2009-03-05 John W. Eaton + + * deprecated/spdiag.m: Ensure sparse result. + +2009-03-05 Ben Abbott + + * plot/__go_draw_axes__.m: Preserve column vector orientation for + the axes children while removing the axis label & title handles. + +2009-03-03 Jaroslav Hajek + + * polynomial/polyval.m: Implement using Horner scheme. + +2009-03-03 Ben Abbott + + * plot/gnuplot_drawnow.m: Fix unintended shift of plot image for + the gnuplot postscript+eps terminal. + +2009-03-02 Jaroslav Hajek + + * pkg/pkg.m (fix_depends): Fix & simplify splitting the string. + +2009-03-02 Thorsten Meyer + + * set/complement.m, set/union.m: Remove reference to deprecated + function create_set. + +2009-03-01 Ben Abbott + + * plot/__go_draw_axes__.m: Do not render axis labels twice when + their handles are visible, but do render objects with hidden + handles. + +2009-03-01 Ben Abbott + + * general/num2str.m: Trivial bug fix. Recent switch from split() + to strsplit() produced cells rather than character data. + +2009-03-01 Ben Abbott + + * plot/colorbar.m: Bug fix. Allow hidden colorbars to be deleted, + and replace existing colorbar when a new one is created. Additional + demos are included to verify these behaviors. + +2009-02-28 Ben Abbott + + * plot/__actual_axis_position__.m: Include file missed in prior + changeset. + +2009-02-28 Ben Abbott + + * plot/print.m, plot/gnuplot_drawnow.m: Add compatible support for + specificying resolution of bitmap terminals, "-r". + + * plot/gnuplot_drawnow.m: Check that canvas size is only specified + one time. + + * plot/gnuplot_drawnow.m, plot/__go_draw_figure__.m: Support papersize, + paperposition properties. Accommodate gnuplot's implicit margins for + postscript terminals. Remove internal function get_canvassize(). + + * plot/gnuplot_drawnow.m: + Terminate gnuplot "set term ..." with semicolon. + Specify vector terminals sizes in floating point. + Rename internal function isbackend() to output_to_screen(). + Rename internal function gnuplot_term() to gnuplot_default_term(). + Rename internal function isbitmap() to term_units_are_pixels(). + Minor changes for coding conventions. + + * plot/__actual_axis_position__.m, Makefile.in: New function to + determine position of rendered axes, including the effect of the + aspect ratio. + * plot/__gnuplot_has_feature__.m: Add new feature + "screen_coordinates_for_{lrtb}margin". + * plot/__go_draw_axes__.m, plot/colorbar.m: Enable axes to be + positioned using {lrtb}margins. + * plot/colorbar.m: Add to, and modify, demos. + + * plot/print.m: Remove non-functional/commented code. + * plot/__go_draw_figure__.m: Remove non-functional code. + * plot/__gnuplot_has_feature__.m: Remove non-functional code. + + * plot/quiver3.m: Add "clf" and "colormap(jet(64))" to demo. + +2009-02-27 John W. Eaton + + * set/complement.m: Call unique, not create_set. + * set/unique.m: Style fix for docstring. + * deprecated/create_set.m: Move here from set/create_set.m. + Always return a row vector, as documented. + + * set/Makefile.in (SOURCES): Remove create_set.m from the list. + * deprecated/Makefile.in (SOURCES): Add create_set.m to the list. + + * general/num2str.m: Call strsplit instead of split. + + * strings/strsplit.m: Style fixes. + +2009-02-27 Jaroslav Hajek + + * strings/strsplit.m: Check also nargin. + +2009-02-26 John W. Eaton + + * deprecated/split.m: Add warning, not about version. + +2009-02-26 Jaroslav Hajek + + * strings/strsplit.m: New function. + * strings/split.m: Move to deprecated/. + * strings/Makefile.in: Update. + * deprecated/Makefile.in: Update. + + * general/int2str.m: Use strsplit instead of split. + * general/num2str.m: Ditto. + * help/__makeinfo__.m: Ditto. + * help/lookfor.m: Ditto. + * miscellaneous/compare_versions.m: Ditto. + * miscellaneous/tar.m: Ditto. + * miscellaneous/unpack.m: Ditto. + * miscellaneous/what.m: Ditto. + * miscellaneous/zip.m: Ditto. + * pkg/pkg.m: Ditto. + * strings/strtok.m: Ditto. + * testfun/rundemos.m: Ditto. + +2009-02-25 John W. Eaton + + * Makefile.in (distclean maintainer-clean): Remove tags and TAGS + in distclean target. + +2009-02-25 Jaroslav Hajek + + * help/lookfor.m: Vectorize the path splitting using mat2cell. + Extract new path elements using setdiff. + +2009-02-25 John W. Eaton + + * plot/pie.m: Use numel to check sizes of X and LABELS instead of + using size_equal. From Andy Buckle . + + * help/lookfor.m: Split original path into cell array and compare + elements with strcmp. Suppress warnings and errors when getting + help text from function files. + +2009-02-24 John W. Eaton + + * help/gen_doc_cache.m: Don't compress output file. By default, + write to DOC, not DOC.gz. Don't save empty cache. + + * help/lookfor.m: Use doc_cache_file to get location of DOC file. + +2009-02-24 Jason Riedy + + * pkg/pkg.m (generate_lookfor_cache): Generate a DOC file for each + directory. + + * help/gen_doc_cache.m: Call __makeinfo__, not makeinfo. + +2009-02-24 Jaroslav Hajek + + * optimization/fsolve.m: Update niter after each iteration, not just + a succesful one. + +2009-02-08 Thorsten Meyer + + * configure.in: AC_SUBST ac_config_files + + * Makefile.in: Add make targets for configuration files + and config.status. + +2009-02-23 John W. Eaton + + * plot/fplot.m: Fix nargin check. + From Joel Parker . + +2009-02-20 Steffen Groot + + * plot/__patch__.m: Correct indexing of varargin. + +2009-02-20 Jaroslav Hajek + + * linear-algebra/dmult.m: Remove. + * linear-algebra/Makefile.in: Update. + * deprecated/dmult.m: Move here; revert to the 3.0.x version. + * deprecated/Makefile.in: Update. + * statistics/models/logistic_regression_derivatives.m: Replace dmult + by diagonal matrices. + +2009-02-19 Ben Abbott + + * plot/gnuplot_drawnow.m: Only send figure position info to gnuplot + when the plot stream is first opened. Revert usage of hidden axes + to store prior figure "position" property. + +2009-02-19 John W. Eaton + + * general/__isequal__.m, general/__splinen__.m, image/__img__.m, + image/__img_via_file__.m, miscellaneous/__xzip__.m, + optimization/__all_opts__.m, optimization/__dogleg__.m, + optimization/__fdjac__.m, path/__extractpath__.m, + plot/__add_datasource__.m, plot/__area__.m, + plot/__axes_limits__.m, plot/__axis_label__.m, plot/__bar__.m, + plot/__bars__.m, plot/__clabel__.m, plot/__contour__.m, + plot/__default_plot_options__.m, plot/__errcomm__.m, + plot/__errplot__.m, plot/__ezplot__.m, + plot/__gnuplot_has_feature__.m, plot/__gnuplot_version__.m, + plot/__go_close_all__.m, plot/__go_draw_axes__.m, + plot/__go_draw_figure__.m, plot/__line__.m, + plot/__next_line_color__.m, plot/__patch__.m, plot/__plr1__.m, + plot/__plr2__.m, plot/__plt1__.m, plot/__plt2__.m, + plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, + plot/__plt2vv__.m, plot/__plt__.m, plot/__plt_get_axis_arg__.m, + plot/__pltopt1__.m, plot/__pltopt__.m, plot/__quiver__.m, + plot/__scatter__.m, plot/__stem__.m, startup/__finish__.m, + statistics/base/__quantile__.m: Consistent doc strings for + internal fucntions. + +2009-02-18 Ben Abbott + + * plot/subplot.m: Fix unintended deletion of axes. + +2009-02-18 Frederick Umminger + + * audio/wavread.m: Improve search for data chunks. + +2009-02-18 Ivan Sutoris + + * miscellaneous/edit.m: Expand documentation about editor mode. + +2009-02-18 John W. Eaton + + * plot/__gnuplot_version__.m: Don't use regexp to extract version + number. + +2009-02-18 John W. Eaton + + * plot/gnuplot_drawnow.m (gnuplot_set_term): + Adjust nargin checks for new signature. + +2009-02-17 Ben Abbott + + * plot/contourc.m: Convert demo to test. + * plot/surfnorm.m: Add another demo. + * plot/surfnorm.m, plot/pareto.m: Add "colormap(jet)" to 1st demo. + * plot/plotyy.m, plot/patch.m, plot/pareto.m, plot/legend.m, + plot/fill.m, plot/comet.m, plot/colorbar.m, plot/clabel.m: + Replace "close all" with "clf" in demo. + +2009-02-17 Ben Abbott + + * plot/gnuplot_drawnow.m: Only close the gnuplot window and send + position/size info when the figure's position property has changed. + (gnuplot_set_term): New arg, NEW_STREAM. Change all uses. + (open_gnuplot_stream): Delete unused output ENHANCED. + +2009-02-17 John W. Eaton + + * plot/plotyy.m: Handle case of existing figure with no axes. + +2009-02-16 John W. Eaton + + * help/__makeinfo__.m: Rename from help/makeinfo.m. Delete tmp file. + * help/Makefile.in (SOURCES): Add __makeinfo__.m, delete makeinfo.m. + * help/get_first_help_sentence.m, help/help.m, help/lookfor.m, + help/print_usage.m: Call __makeinfo__ instead of makeinfo. + * help/__strip_html_tags__.m, help/__additional_help_message__.m: + Doc fix. + +2009-02-16 Ben Abbott + + * plot/shading.m: No new figure windows for the demos. + * plot/surfl.m: Clear figure before running demos. + +2009-02-16 Jaroslav Hajek + + * linear-algebra/expm.m: Fix invalid unscaling. + * help/which.m: Do not add "function" here. + * optimization/fsolve.m: Update comments. + +2009-02-16 John W. Eaton + + * help/help.m: Shorten default help text. + +2009-02-15 John W. Eaton + + * help/doc.m, help/help.m, help/lookfor.m, help/type.m, + help/which.m, image/colormap.m, miscellaneous/delete.m, + miscellaneous/dir.m, miscellaneous/edit.m, + miscellaneous/intwarning.m, miscellaneous/ls.m, + miscellaneous/mex.m, miscellaneous/mkoctfile.m, + miscellaneous/run.m, miscellaneous/what.m, path/savepath.m, + pkg/pkg.m, plot/axis.m, plot/box.m, plot/caxis.m, plot/cla.m, + plot/close.m, plot/colorbar.m, plot/grid.m, plot/hidden.m, + plot/hold.m, plot/legend.m, plot/orient.m, plot/print.m, + plot/shading.m, plot/title.m, plot/xlabel.m, plot/ylabel.m, + plot/zlabel.m, testfun/demo.m, testfun/example.m, testfun/fail.m, + testfun/rundemos.m, testfun/test.m: + Delete "PKG_ADD: mark_as_command" directive. + + * edit.m: Avoid command-style function call syntax when + assigning results in tests. + + * deprecated/mark_as_rawcommand.m, deprecated/unmark_rawcommand.m, + deprecated/israwcommand.m, deprecated/mark_as_command.m, + deprecated/unmark_command.m, deprecated/iscommand.m: + New functions. + * deprecated/Makefile.in (SOURCES): Add them to the list. + +2009-02-15 Ben Abbott + + * plot/subplot.m: Compatible placement of subplots. + +2009-02-13 Ben Abbott + + * plot/__go_draw_axes__.m: Respect axes ticklength property. + +2009-02-12 John W. Eaton + + * general/sortrows.m: Call __sort_rows_idx__, not __sortrows_idx__. + +2009-02-12 Soren Hauberg + + * help/gen_doc_cache.m: Change API so we only handle one directory per + call to this function. + +2009-02-12 Soren Hauberg + + * help/lookfor.m: Adapt to new cache scheme. + +2009-02-11 Jaroslav Hajek + + * general/sortrows.m: Employ __sortrows_idx__ when applicable, + gripe for sparse matrices. + +2009-02-11 John W. Eaton + + * miscellaneous/news.m: Look in octetcdir for NEWS file. + +2009-02-09 Jaroslav Hajek + + * general/interp2.m: Added support for pchip bicubic interpolation. + Also simplified code and added support for natural extrapolation via + "extrap". + +2009-02-09 John W. Eaton + + * miscellaneous/Makefile.in (SOURCES): Include __xzip__.m in the list. + + * testfun/rundemos.m: Error if fopen fails. + +2009-02-08 John W. Eaton + + * Makefile.in (install install-strip): Don't install ls-R file. + (uninstall): Don't uninstall ls-R file. + +2009-02-06 Jaroslav Hajek + + * optimization/fsolve.m: Document support for complex holomorphic + systems. Improve guarded evaluation. + +2009-02-05 John W. Eaton + + * miscellaneous/news.m: Use puts instead of printf. + +2009-02-05 Thomas D. Dean + + * polynomial/polyout.m: Replace com2str with num2str, and minor + style changes. + +2009-02-04 John W. Eaton + + * help/which.m: Still print something sensible if type is empty. + +2009-02-04 Soren Hauberg + Thomas Treichl + + * miscellaneous/Makefile.in (SOURCES): Add bzip2.m to the list. + +2009-02-04 Frederick Umminger + + * signal/freqz.m: Ensure causal phase response. + Handle long input correctly. + +2009-02-04 Petr Mikulik + + * plot/__go_draw_axes__.m: Pass "interpolate 0, 0" to gnuplot + instead of "interpolate 4, 4". + +2009-02-04 John W. Eaton + + * audio/wavwrite.m, deprecated/splu.m, general/bitcmp.m, + general/fliplr.m, general/flipud.m, general/genvarname.m, + general/nargchk.m, general/nargoutchk.m, general/quadgk.m, + general/rot90.m, geometry/griddata.m, geometry/rectint.m, + geometry/voronoi.m, geometry/voronoin.m, + help/__strip_html_tags__.m, image/brighten.m, image/imfinfo.m, + image/imread.m, linear-algebra/cond.m, linear-algebra/condest.m, + linear-algebra/dmult.m, linear-algebra/dot.m, + linear-algebra/expm.m, linear-algebra/housh.m, + linear-algebra/onenormest.m, linear-algebra/subspace.m, + miscellaneous/compare_versions.m, optimization/__all_opts__.m, + optimization/optimget.m, pkg/pkg.m, plot/__bar__.m, + plot/__plr2__.m, plot/ribbon.m, plot/slice.m, polynomial/pchip.m, + polynomial/roots.m, set/unique.m, signal/fractdiff.m, + signal/hurst.m, specfun/beta.m, specfun/legendre.m, + statistics/base/__quantile__.m, statistics/base/quantile.m, + statistics/tests/cor_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, strings/base2dec.m, + strings/dec2base.m, strings/strcat.m, strings/validatestring.m, + time/addtodate.m: Style fixes. + +2009-02-04 Jaroslav Hajek + + * optimization/fsolve.m: remove redundant line. + +2009-02-03 Jaroslav Hajek + + * optimization/Makefile.in: Add missing source. + +2009-02-02 Rob Mahurin + + * general/interpft.m: Increase tolerance in tests, for FFTPACK. + +2009-02-03 Jaroslav Hajek + + * optimization/__all_opts__.m: Yield empty list in recursive calls. + mlock to avoid unloading. + +2009-01-30 John W. Eaton + + * optimization/PKG_ADD: Delete. + * optimization/fsolve.m, optimization/fzero.m, + optimization/lsqnonneg.m: Use PKG_ADD: comment to call __all_opts__. + +2009-01-30 Jaroslav Hajek + + * optimization/__all_opts__.m: New source. + * optimization/optimset.m: Implement checking for registered options. + * optimization/optimget.m: Ditto. + * optimization/fsolve.m: Fix misspelled option. + * optimization/PKG_ADD: New startup file. + +2009-01-30 Kai Habel + + * plot/__go_draw_axes__.m: Add support for transparent surfaces. + * plot/__gnuplot_has_feature__.m: Add feature 'transparent_surface', + Require gnuplot 4.3 for transparent patches and surfaces. + +2009-01-30 Benjamin Lindner + + * time/datestr.m: Convert YYYY to %Y instead of %C%y. + Convert [Dd][Dd] to %d instead of %e. + +2009-01-30 Ben Abbott + + * plot/print.m: Use __gnuplot_has_feature__ instead of + compare_versions. + + * plot/gnuplot_drawnow.m: Respect x11 figure position property. + +2009-01-29 John W. Eaton + + * miscellaneous/fileparts.m: Match all possible file separators. + +2009-01-29 Kai Habel + + * plot/__go_draw_axes__.m: Add support for transparent patches. + +2009-01-29 S�ren Hauberg + + * help/help.m, help/print_usage.m, help/get_first_help_sentence.m: + print sensible error message when function is found but not documented. + + * help/help.m: Allow displaying 'Contents.m' files. + +2009-01-29 Kai Habel + + * plot/Makefile.in (SOURCES): Include diffuse.m, specular.m, and + surfl.m in the list. + +2009-01-28 Ben Abbott + + * plot/gnuplot_drawnow.m: Style fixes. + + * plot/__gnuplot_has_feature__.m: New file, checks for supported + feature. + +2009-01-28 Jaroslav Hajek + + * optimization/fsolve.m: Don't use pivoting at all (for the time + being). + +2009-01-28 Jaroslav Hajek + + * optimization/fsolve.m: Use more adaptive rescaling. + Put back the default tolerances based on machine eps respecting + the used precision. Partially reflect this in the default optimset + values. + +2009-01-28 Jaroslav Hajek + + * miscellaneous/ordefields.m: Use indexed assignment instead of a + loop. Fix for multidimensional cases. + +2009-01-27 John W. Eaton + + * general/arrayfun.m, image/imwrite.m, plot/axis.m, plot/clf.m, + plot/ribbon.m, plot/gnuplot_drawnow.m, plot/cla.m, set/unique.m: + Use endif or endfor instead of "end". + + * path/savepath.m: Call command_line_path instead of commandlinepath. + +2009-01-27 Jason Riedy + + * miscellaneous/orderfields.m: Really fix the indexing for struct + arrays. + +2009-01-27 Carlo de Falco + + * polynomial/spline.m: Doc fix. + +2009-01-27 S�ren Hauberg + + * general/gradient.m: Handle computing the gradient of a function + handle. + +2009-01-27 Jaroslav Hajek + + * optimization/lsqnonneg.m: Reimplement using QR updating for + square and overdetermined systems. + +2009-01-27 Jaroslav Hajek + + * optimization/fsolve.m: Provide default values on request. + Adjust some defaults. + * optimization/fzero.m: Ditto. + * optimization/optimset.m: Query optimal values via the M*b way. + +2009-01-26 Jason Riedy + + * miscellaneous/orderfields.m: Also avoid loop for non-empty structs. + +2009-01-17 Jaroslav Hajek + + * optimization/fsolve.m: Disable Broyden updates for sparse jacobians. + +2009-01-17 Jaroslav Hajek + + * optimization/__fsolve_defopts__.m: Remove. + * optimization/Makefile.in: Reflect change. + +2009-01-17 Jaroslav Hajek + + * optimization/__fdjac__.m: Fix setting up h. + * optimization/fsolve.m: Allow underdetermined systems. Use QR for + large enough square and overdetermined systems, with pivoting in the + first step. Simplify options. Adjust defaults - make TR radius + tolerance less stringent. Support DisplayFcn. + +2008-12-24 Ben Abbott + + * path/savepath.m: Respect cmd-line and env paths. + +2009-01-24 Ben Abbott + + * sparse/svds.m: svds.m: skip tests if ARPACK is missing. + +2009-01-23 S�ren Hauberg + + * help/type.m: Make 'type X' work, when X is the name of a variable. + +2009-01-22 John W. Eaton + + * help/which.m: New function. + * help/Makefile.in (SOURCES): Add it to the list. + + * help/help.m: Also display location of the file before the help text. + * help/print_usage: Also display additional help text. + * help/__additional_help_message__.m: Return message instead of + displaying it. + +2009-01-22 S�ren Hauberg + + * help: New directory. + * configure.in (AC_CONFIG_FILES): Add help/Makefile to the list. + * Makefile.in (SUBDIRS): Add it to the list. + * help/__additional_help_message__.m, help/__strip_html_tags__.m, + help/gen_doc_cache.m, help/get_first_help_sentence.m, help/help.m, + help/lookfor.m, help/makeinfo.m, help/print_usage.m, help/type.m: + New functions. + * help/Makefile.in (SOURCES): Add them to the list. + * help/doc.m: Move here from miscellaneous/doc.m. + * miscellaneous/Makefile.in (SOURCES): Remove doc.m from the list. + * miscellaneous/pkg.m: Generate documentation cache during install. + +2009-01-22 Jaroslav Hajek + + * optimization/fsolve.m: Undo the last change. + +2009-01-18 Thorsten Meyer + + * miscellaneous/doc.m: Add test for existence of info file. + +2009-01-21 John W. Eaton + + * plot/__axis_label__.m: Set properties in existing axis label + object instead of creating a new text object. + * plot/ylabel.m: Don't set rotation property here. + * plot/title.m: Don't set horizontalalignment property here. + + * plot/ylabel.m: Insert rotation property in varargin before + passing it on to __axis_label__. + * plot/__axis_label__.m: Don't set rotation for ylabel here. + + * plot/title.m: Insert horizontalalignment property in varargin + before passing it on to __axis_label__. + +2009-01-21 Jaroslav Hajek + + * strings/strchr.m: New function. + * strings/Makefile.in: Add it. + +2009-01-20 Jaroslav Hajek + + * optimization/fsolve.m: Only use qrupdate if available. + +2009-01-20 John W. Eaton + + * general/postpad.m: Doc fix. + * general/prepad.m: Doc fix. + * image/pink.m: Spelling fix. + * image/hsv.m: Doc fix. + From Francesco Potorti` . + + * testfun/assert.m: Use isfield instead of struct_contains. + +2009-01-17 Ben Abbott + + * general/cart2sph.m, cart2pol.m, sph2cart.m pol2cart.m: + Permit scalars when transforming coordinates. + +2009-01-17 Steven Verstoep + + * plot/__quiver__.m: __quiver__.m: Fix auto-size of (x,y) coord. + +2009-01-16 Daniel J Sebald + + * plot/gnuplot_drawnow.m: Fix for handling options. + +2009-01-16 Daniel J Sebald + + * plot/legend.m: Fix legend order for both horizontal and + vertical string cell. + +2008-01-15 Ben Abbott + + * plot/grid.m: Document handle argument. + +2009-01-15 Peter L. S�ndergaard + + * general/nargoutchk.m: Doc fix. + * general/nargchk.m: Improve compatibility. New tests. + +2008-01-15 Rafael Laboissiere + + * gethelp.cc: Include . + +2009-01-14 Ben Abbott + + * plot/__go_draw_axes__.m (ticklabel_to_cell): New function. + Use it to handle non-cell ticklabels. + +2009-01-14 S�ren Hauberg + + * general/diff.m, general/logspace.m, general/nextpow2.m, + linear-algebra/commutation_matrix.m, + linear-algebra/duplication_matrix.m, linear-algebra/expm.m, + miscellaneous/bincoeff.m, miscellaneous/list_primes.m, + optimization/fsolve.m, plot/subplot.m, polynomial/pchip.m, + polynomial/polyout.m, polynomial/residue.m, polynomial/spline.m, + signal/freqz.m, signal/sinc.m, specfun/beta.m, specfun/betaln.m, + specfun/nchoosek.m, specfun/pow2.m, special-matrix/hankel.m, + special-matrix/hilb.m, special-matrix/invhilb.m + special-matrix/sylvester_matrix.m, special-matrix/toeplitz.m, + special-matrix/vander.m, statistics/base/gls.m, + statistics/base/kendall.m, statistics/base/kurtosis.m, + statistics/base/mean.m, statistics/base/median.m, + statistics/base/ols.m, statistics/base/skewness.m, + statistics/distributions/kolmogorov_smirnov_cdf.m: + Use ifnottex instead of ifinfo. + +2009-01-14 John W. Eaton + + * linear-algebra/expm.m: + + * optimization/fsolve.m: Doc fix. + + * plot/__go_draw_axes__.m: Scale markersize by 1/3, not 1/6. + + * io/dlmwrite.m: Use '%c' format for character data. + +2009-01-13 John W. Eaton + + * general/repmat.m: Handle negative row or column dimension. + + * elfun/lcm.m, general/accumarray.m, general/bicubic.m, + general/cellidx.m, general/cplxpair.m, general/dblquad.m, + general/gradient.m, general/interp1.m , general/pol2cart.m, + general/quadgk.m, general/quadv.m, general/repmat.m, + general/structfun.m, geometry/griddata.m, geometry/inpolygon.m, + image/brighten.m, image/hsv2rgb.m, image/imread.m, + image/imwrite.m, linear-algebra/dmult.m, + linear-algebra/onenormest.m, miscellaneous/getfield.m, + miscellaneous/setfield.m, miscellaneous/what.m, + optimization/fsolve.m, optimization/fzero.m, + optimization/lsqnonneg.m, optimization/qp.m, pkg/pkg.m, + plot/__area__.m, plot/__clabel__.m, plot/__stem__.m, plot/axis.m, + plot/colorbar.m, plot/contour3.m, plot/findall.m, plot/findobj.m, + plot/fplot.m, plot/grid.m, plot/hist.m, polynomial/convn.m, + polynomial/polyreduce.m, set/intersect.m, set/setxor.m, + set/union.m, signal/arch_fit.m, signal/durbinlevinson.m, + signal/fftshift.m, signal/freqz_plot.m, signal/ifftshift.m, + signal/spectral_adf.m, sparse/bicgstab.m, sparse/cgs.m, + sparse/gplot.m, sparse/normest.m, sparse/pcg.m, sparse/pcr.m, + sparse/spy.m, sparse/svds.m, sparse/treelayout.m, + sparse/treeplot.m, specfun/primes.m, special-matrix/hadamard.m, + statistics/base/center.m, statistics/base/quantile.m, + statistics/base/ranks.m, statistics/base/std.m, + statistics/distributions/hygepdf.m, + statistics/tests/kruskal_wallis_test.m, strings/index.m, + strings/mat2str.m, strings/str2double.m, strings/strrep.m, + testfun/assert.m, testfun/example.m, testfun/fail.m, + testfun/speed.m, testfun/test.m: Style fixes. + + * audio/wavread.m, general/__splinen__.m, general/bicubic.m, + general/rat.m, linear-algebra/expm.m, linear-algebra/krylov.m, + linear-algebra/onenormest.m, miscellaneous/edit.m, + optimization/__dogleg__.m, pkg/pkg.m, plot/__errplot__.m, + plot/__go_draw_axes__.m, plot/__stem__.m, plot/findobj.m, + set/ismember.m, signal/arma_rnd.m, signal/freqz.m, signal/stft.m, + sparse/pcg.m, sparse/sprandsym.m, sparse/treelayout.m, + specfun/factor.m, specfun/nchoosek.m, specfun/primes.m, + statistics/base/quantile.m, statistics/base/values.m, + strings/findstr.m, strings/str2double.m, strings/strrep.m, + testfun/assert.m, testfun/fail.m, testfun/speed.m, testfun/test.m, + time/datestr.m, time/datevec.m: Comment style fixes. + +2009-01-13 Daniel J Sebald + + * set/unique.m: Fix for vertical array inputs. + +2009-01-12 John W. Eaton + + * optimization/fzero.m, optimization/fsolve.m: Style fixes. + Use strcmpi to compare options. + +2009-01-12 Thorsten Meyer + + * strings/strvcat.m: Remove. + * strings/Makefile.in (SOURCES): Remove strvcat.m. + +2009-01-12 John W. Eaton + + * plot/diffuse.m, plot/surfl.m, plot/specular.m: Style fixes. + +2009-01-11 Jaroslav Hajek + + * general/sortrows.m: Fix invalid `{x:y} = z' assignment. + * miscellaneous/orderfields.m: Ditto. + * miscellaneous/what.m: Ditto. + * pkg/pkg.m: Ditto. + * plot/ndgrid.m: Ditto. + * strings/strcat.m: Ditto. + +2009-01-09 Kai Habel + + * plot/surfl.m: New function + * plot/diffuse.m: Ditto. + * plot/specular.m: Ditto. + +2009-01-05 John W. Eaton + + * mkdoc: Set defaults for FIND and PERL. Check usage. + +2009-01-01 Thorsten Meyer + + * miscellaneous/__xzip__.m: Fix error messages, add tests. + +2008-12-26 Thorsten Meyer + + * general/int2str.m, general/num2str.m, strings/base2dec.m, + strings/blanks.m, strings/cstrcat.m, strings/findstr.m, + strings/isstrprop.m, strings/mat2str.m, strings/regexptranslate.m, + strings/split.m, strings/str2double.m, strings/str2num.m, + strings/strcat.m, strings/strcmpi.m, strings/strfind.m, + strings/strjust.m, strings/strmatch.m, strings/strncmpi.m, + strings/strrep.m, strings/strtok.m, strings/strtrim.m, + strings/strtrunc.m, strings/strvcat.m, strings/substr.m: + Fix documentation strings, add examples, references and tests. + * general/int2str.m: Add missing semicolon. + * strings/regexptranslate.m: add nargin check. + * strings/str2double.m: fix nargin check. + +2008-12-29 David Bateman + + * goemetry/voronoi.m: Speed up and handle dense grids. + +2008-12-28 Jaroslav Hajek + + * miscellaneous/delete.m: Allow filename globs. Display warnings if + operation fails. + +2008-12-26 Francesco Potortì + + * general/prepad.m: Add reference to postpad. + + * miscellaneous/bincoeff.m: Make reference to nchoosek. + + * general/postpad.m: Use @seealso. Add reference to resize. + + * statistics/base/statistics.m: Correct help string. + + * plot/hist.m: Doc string now mentions matrix input argument. + Correct error message. + +2008-12-30 Ben Abbott + + * plot/__contour__.m: __contour__.m: correct order of patches + +2008-12-30 Ben Abbott + + * plot/__contour__.m: __contour__.m: correct order of patches + +2008-12-24 Doug Stewart + + * plot/grid.m: Handle "minor" option. + +2008-12-24 John W. Eaton + + * testfun/test.m: Print "has no tests" message if there are demos + but no tests instead of printing PASSES 0 out of 0 tests. + +2008-12-23 David Bateman + + * sparse/svds.m: New function. + * sparse/Makefile.in (SOURCES): Add it here. + +2008-11-21 Radek Salac + + * sparse/bicgstab.m: New function. + * sparse/Makefile.in (SOURCES): Add it here. + +2008-12-18 Daniel J Sebald + + * time/datevec.m (__date_vfmt2sfmt__): New helper function. + (datevec): Avoid repeated parsing of the format string. + * set/unique.m: Only check for options if nargin > 1. + +2008-12-15 Jaroslav Hajek + + * optimization/lsqnonneg.m: Preprocess using QR for over-determined + systems. Simplify & fix indexing. Use left division for step problem. + Fix output args. + +2008-12-13 Francesco Potort� + + * specfun/nchoosek.m: Check for input arguments, signal loss of + precision, correctly handle k==0 and k==n cases, add proper tests. + +2008-12-11 Jaroslav Hajek + + * optimization/fsolve.m: Optionally allow pivoted qr factorization. + +2008-12-10 Jaroslav Hajek + + * linear-algebra/expm.m: New source. + +2008-12-09 Jaroslav Hajek + + * specfun/nchoosek.m: Use a recursionless approach. + +2008-12-09 Jaroslav Hajek + + * general/repmat.m: Optimize & simplify the scalar & 2d matrix case. + +2008-12-07 Thorsten Meyer + + * strings/lower.m: Remove. + * strings/upper.m: Remove. + * strings/Makefile.in: Remove lower.m, upper.m. + +2008-12-02 Thorsten Meyer + + * strings/str2mat.m: Make it a simple wrapper around + char() and move it to deprecated/str2mat.m, remove + obsolete tests, move remaining test to src/strfns.cc (Fchar). + * strings/Makefile.in: Remove str2mat.m. + * deprecated/Makefile.in: Add str2mat.m. + * strings/strvcat.m: Remove reference to str2mat. + +2008-11-28 David Bateman + + * plot/__go_draw_axes__.m: Set two point clipping mode to be on. + +2008-11-26 Francesco Potortì + + * specfun/nchoosek.m: Set max_recursion_depth and use a subfunction. + +2008-11-29 Thorsten Meyer + + * miscellaneous/gzip.m: Remove @seealso reference to __xzip__, + improve tests. + * miscellaneous/bzip2.m: Remove @seealso reference to __xzip__, + fix handling of output argument, add test. + * miscellaneous/__xzip__.m: Improve error messages, fix cleanup + of temporary directories, remove tab characters + +2008-11-24 Ben Abbott + + * plot/legend.m: Correct ording of legend labels. + +2008-11-24 Ben Abbott + + * plot/__go_draw_axes__.m: Correct order for rendering children. + +2008-11-21 Radek Salac + + * sparse/cgs.m, sparse/treelayout.m: New functions. + * sparse/Makefile.in (SOURCES): Add them here. + +2008-11-14 David Bateman + + * plot/__go_draw_axes__.m (do_tics_1): Support the minorick properties + of the axis object. + +2008-11-14 Ben Abbott + + * plot/gnuplot_drawnow.m: Add support of properites to gp backend. + +2008-11-13 John W. Eaton + + * statistics/distributions/chi2rnd.m: Fix another missing semicolon. + From sven.mattisson@insatnet.nu. + +2008-11-12 David Bateman + + * plot/__quiver__.m: Only autoscale if more than one element to + plot. Modify callbacks for change in order of children. + * plot/__stem__.m: Modify callbacks for change in order of children. + +2008-11-10 John W. Eaton + + * polynomial/spline.m: Delete debugging statements. From + Sebastian Sch�ps . + +2008-11-07 Thorsten Meyer + + * mkdoc: do not remove white space before @ within @example + environment + +2008-11-05 Thorsten Meyer + + * plot/subplot.m: fix texi bug + +2008-11-04 Thorsten Meyer + + * miscellaneous/unpack.m: return directly after recursive handling + of cell-strings + +2008-11-03 Ben Abbott + + * plot/__go_draw_axes__.m: xticklabel should accept a numeric vector. + +2008-09-28 Jaroslav Hajek + + * optimization/__fdjac__.m: New function file. + * optimization/__dogleg__.m: New function file. + * optimization/fsolve.m: New function file. + * optimization/Makefile.in: Include the new sources. + +2008-09-28 Jaroslav Hajek + + * optimization/fzero.m: Replace tabs by spaces. + +2008-09-28 Jaroslav Hajek + + * optimization/fzero.m: Simplify exception handling. + +2008-10-31 Jaroslav Hajek + + * optimization/fzero.m: New function file. + * optimization/Makefile.in: Add it. + +2008-10-31 Jaroslav Hajek + + * optimization/optimset.m: Don't include empty options in option + structure. + * optimization/optimget.m: New function file. + * optimization/Makefile.in: Add it. + * optimization/lsqnonneg.m: Query options using optimget. + +2008-10-31 Jaroslav Hajek + + * linear-algebra/__norm__.m: Remove. + +2008-10-25 Thorsten Meyer + + * miscellaneous/bzip2.m, miscellaneous/__xzip__.m: new commands. + * miscellaneous/gzip.m: change to use __xzip__ for actual compression, + add tests. + +2008-10-31 David Bateman + + * plot/__contour__.m: Exclude infinite values when calculating contour + levels. + * plot/clabel.m: Close previous plots in demos to avoid pollution + between other plot demos. + * plot/plotyy.m: Ditto. + +2008-10-30 David Bateman + + * plot/legend.m: Add support for the "left" and "right" options. + * plot/__go_draw_axes__.m: If the axes property keyreverse is set, + reverse the key and labelling text. + + * plot/__clabel__.m, plot/clabel.m: New functions. + * plot/Makefile.in (SOURCES): Add them here. + * plot/__contour__.m: Rewrite to use contour groups. + * plot/contourf.m: Call __contour__ instead of using specific code. + * plot/contour.m, plot/contour3.m: Minor modification to allow for + new interface to __contour__. + +2008-10-29 Thorsten Meyer + + * set/create_set.m, set/ismember.m, set/union.m, set/complement.m: + Fix @seealso references to deprecated function intersection. + * polynomial/polyvalm.m, polynomial/polyout.m, + polynomial/polyint.m, polynomial/polygcd.m, + deprecated/polyinteg.m: Remove "and" from @seealso string. + * specfun/betaln.m: Change @seealso reference from deprecated + betai to betainc. + * plot/plot.m, plot/xlabel.m, plot/ylabel.m, plot/zlabel.m, + plot/plot3.m: Fix @seealso references to ylabel and zlabel. + * general/issymmetric.m, image/imagesc.m, specfun/realpow.m, + polynomial/polyfit.m, time/eomday.m: Remove @seealso references to + non-existent functions. + +2008-10-29 John W. Eaton + + * plot/cla.m: In test, set visible off when creating figure. + +2008-10-28 Gabriele Pannocchia + + * optimization/qp.m: Convert bounds of the form b <= x <= b and + constraints of the form b <= A*x <= b to equality constraints. + +2008-10-27 S�ren Hauberg + + * plot/ellipsoid.m: Check nargin == 6, not nargin == 5. + +2008-10-22 Ben Abbott + + * plot/cla.m: Fix error when no children to clear. + + * plot/findobj.m: Allow handle to be empty. + +2008-10-22 John W. Eaton + + * plot/allchild.m: Move call to get showhiddenhandles outside of + unwind_protect block. + +2008-10-22 David Bateman + + * plot/refreshdata.m: Modify demo so that "y" is evaluated in the + "caller" workspace. + + * plot/__errplot__.m: Add errorbar series objects. + * plot/errbar.m: Add some demos. + + * plot/__add_line_series__.m: Remove + * plot/Makefile.in (SOURCES): Remove it here too. + * plot/__add_datasource__.m: Allow for more than one character in + source name. + * plot/refreshdata.m: Ditto. + * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vv__.m, + plot/__plt2vs__.m, plot3.m: Remove previous line series changes. + * plot/__scatter__.m: Add scatter series objects and data sources. + * plot/legend.m: Update type in loop and remove debugging messages. + +2008-10-21 Ben Abbott + + * specfun/legendre.m: Warn once on under/overflow. + + * plot/clf.m: Improve Matlab compatibility. + +2008-10-21 John W. Eaton + + * plot/quiver3.m: Turn hold off after demo. + + * plot/newplot.m: Delete stray debugging code. + + * plot/gnuplot_drawnow.m: Pass handle to __go_draw_figure__, not + struct. Use get instead of examining struct fields directly. + * plot/__go_draw_figure__.m: First arg is now handle, not figure + object struct. Use get instead of examining struct elements + directly. Use allhild instead of looking at children field of + figure object struct. + +2008-10-20 Ben Abbott + + * plot/orient.m: Fix syntax error. + +2008-10-20 David Bateman + + * testfun/rundemos.m: Pause between files, as demo itself doesn't. + + * plot/fill.m, plot/quiver.m: Quiet the demos. + * plot/stair.m: Treat a line style argument correctly. + +2008-10-20 John W. Eaton + + * plot/surfnorm.m: Save and restore hold state. + From Daniel J. Sebald and + Ben Abbott . + +2008-10-20 Ben Abbott + + * plot/closereq.m: Respect property tag. + + * plot/__stem__.m: Respect new ordering of children when setting + baseline. + + * plot/orient.m, plot/print.m: Properly validate figure handle. + + * plot/hold.m, plot/comet.m: Properly validate axes handle. + + * plot/__go_draw_axes__.m: Fix for binary xfer of suface plots. + +2008-10-20 David Bateman + + * plot/plotyy.m: Test that an axes handle actually is one before + setting it. + +2008-10-17 David Bateman + + * plot/__plt_get_axis_arg__.m: Exclude non-numeric and root figure + from potential axis handles. + * plot/colorbar.m: Remove debug output. + * plot/comet.m: Close plot before demo + * plot/contourc.m: No output if nargout == 0. + +2008-10-16 David Bateman + + * plot/subplot.m: Allow for column vector of children for figure. + +2008-10-16 John W. Eaton + + * testfun/rundemos.m: New function. + +2008-10-16 Ben Abbott + + * plot/contourf.m: Correct order of patch object handles. + +2008-10-16 David Bateman + + * plot/colorbar.m (colorbar:resetaxis): Uncomment the reseting of + the axes. + + * plot/newplot.m: Don't preserve axes properties here, but rather + do it in the graphics handle code so that the preservation can be + done after callbacks are executed. + + * plot/__go_draw_axes__.m: If current plot is an image, don't flag + the plot as binary, as the binary specification is already in the + "usingclause". + + * plot/__go_draw_figure__.m: Always use multiplot and create an + enclosing axis to ensure bounding box of postscript is correct. + +2008-10-16 Ben Abbott + + * plot/__go_draw_axes__.m (do_tics_1): New arg, interpreter. + (do_tics): Pass interpreter to do_tics_1. + +2008-10-15 David Bateman + + * general/colon.m: Small typo. + * general/loadobj.m: Ditto. + +2008-10-14 Ben Abbott + + * plot/__go_draw_axes__.m (do_tics_1): New args, fontname and fontsize. + Pass fontspec for tic marks to gnuplot. + (do_tics): Pass axes fontname and fontsize to do_tics_1. + + * plot/newplot.m: Perserve fontangle, fontname, fontsize, + fontunits, fontweight, position, outerposition, and + activepositionproperty axes properties when replacing plot. + +2008-10-15 Daniel J. Sebald + + * plot/__go_draw_axes__.m: Make previous change work for surface + plots. + +2008-10-14 Daniel J. Sebald + + * plot/__go_draw_axes__.m: Send binary data to gnuplot. + +2008-10-13 Ben Abbott + + * plot/__go_draw_axes__.m: Fix concatenation of handles. + +2008-10-12 David Bateman + + * general/colon..m: New function. + * general/Makefile.in (SOURCES): Add it here. + +2008-10-10 David Bateman + + * image/__img__.m: Manually set the limits of th eimage + * plot/__go_draw_axes__.m: Base window position in the axis + position property and not the outerposition property. Remove + colorbar code based on the gnuplot colorbox. Allow images to be a + vector to support image based colorbars. Also check labelmode for + manual tics. + * plot/__go_draw_figure__.m: Remove gnuplot colorbox based + colorbar code. + * plot/colorbar.m: Rewrite to use an image and callbacks to link + it to the principal axis. + * plot/legend.m: Support an axis handle as the first + argument. Support hggroups. + * plot/pareto.m: Don't support an axis handle as the first + argument as the plotyy command in fact needs two axis handles. + * plot/plotyy.m: Rewrite to use listeners and callbacks to + synchronize the two axes. + * plot/subplot.m: Also skip axes that are tagged as being a + colorbar. Don't break in search of overlapping axes to delete. Set + both the position and the outerposition. + +2008-10-09 Ben Abbott + + * plot/__axis_label__.m: Inherit font properties from axes. + +2008-10-09 David Bateman + + * general/loadobj.m, general/saveobj.m, general/display: New functions + * general/Makefile.in (SOURCES): Add then here. + +2008-10-08 John W. Eaton + + * miscellaneous/fileparts.m: Handle "/file" properly. + Improve compatibility. + +2008-10-07 Ben Abbott + + * plot/cla.m: New function. + * plot/Makefile.in (SOURCES): Add it to the list. + +2008-10-07 John W. Eaton + + * miscellaneous/delete.m: Pass array of handles to __go_delete__. + +2008-10-06 John W. Eaton + + * plot/__add_datasource__.m, plot/__axes_limits__.m, + plot/__bar__.m, plot/__bars__.m, plot/__contour__.m, + plot/__go_draw_axes__.m, plot/__go_draw_figure__.m, + plot/__patch__.m, plot/__quiver__.m, plot/__scatter__.m, + plot/__stem__.m, plot/ancestor.m, plot/axis.m, plot/box.m, + plot/caxis.m, plot/close.m, plot/colorbar.m, plot/fill.m, + plot/findobj.m, plot/grid.m, plot/hidden.m, plot/hold.m, + plot/ishold.m, plot/legend.m, plot/linkprop.m, plot/orient.m, + plot/plotmatrix.m, plot/shading.m: Use case-insensitive comparison + for properties. Misc style fixes. + +2008-10-06 Ben Abbott + + * plot/orient.m: Figure handle must be scalar. + * plot/hold.m: Axis handle must be scalar. + * plot/axes.m: Axis handle must be scalar. + * plot/__plt_get_axis_arg__.m: Handle must be scalar. + + * miscellaneous/delete.m: Permit a vector of handles to be deleted. + +2008-10-02 John W. Eaton + + * pkg/pkg.m (configure_make): Handle filenames with spaces. + +2008-10-02 Benjamin Lindner + + * pkg.m (configure_make): Enclose building directory in quotes. + +2008-10-02 Ben Abbott + + * plot/__go_draw_axes__.m: Remove depdenence on gnuplot version. + +2008-09-30 Jaroslav Hajek + + * string/split.m: New tests. + +2008-09-30 Ben Abbott + + * plot/__go_draw_axes__.m: Fix interpolation of facecolors. + + * plot/shading.m: New demo. + +2008-09-29 John W. Eaton + + * plot/__go_draw_axes__.m: Eliminate have_newer_gnuplot variable. + + * plot/__gnuplot_version__.m: Also include patchlevel. + +2008-09-29 Ben Abbott + + * polynomial/deconv.m: Fix row/col orientation & length of output. + + * polynomial/conv.m: Correct row/col orientation of output. + +2008-09-27 Ivan Sutoris + + * optimization/sqp.m: Document additional parameters. + +2008-09-26 David Bateman + + * general/subsindex.m: Dummy subsindex function for help string + and to throw error for use outside of a class + * general/Makefile.in (SOURCES): Include it here. + +2008-09-26 John W. Eaton + + * image/imfinfo.m: Delete temporary file. + +2008-09-25 S�ren Hauberg + + * image/imread.m, image/imwrite.m: Doc fix. + +2008-09-24 John W. Eaton + + * plot/fplot.m: Call axis after calling plot. + +2008-09-24 S�ren Hauberg + + * image/imfinfo.m: New function. + * image/Makefile.in (SOURCES): Add it to the list. + +2008-09-24 Ben Abbott + + * strings/strcat.m: Improve Matlab compatibility for non-character + data. + +2008-09-24 John W. Eaton + + * general/interpft.m: Increase tolerance in tests. + +2008-09-23 Francesco Potorti` + + * plot/pcolor.m: Improve doc string. + +2008-09-22 Ben Abbott + + * plot/comet.m: New file. + * plot/Makefile.in (SOURCES): Add it here. + +2008-09-22 David Bateman + + * plot/plotmatrix.m: New function. + * plot/Makefile.in (SOURCES): Add it here. + + * general/quadgk.m: No function count in quadgk and so don't try and + print it when given trace argument. + +2008-09-18 Jaroslav Hajek + + * general/blkdiag.m: Skip assignment if rhs is empty. + +2008-09-18 Kris Thielemans + + * image/imshow.m: Fix for display_range. + + * general/interpn.m: Fixe for extrapval and documentation of + extrapval. + +2008-09-17 David Bateman + + * time/datetick.m: New function. + * time/Makefile.in (SOURCES): Add it here. + * time/datestr.m: More careful check for datevec format with 6 + column arguments. + * plot/__go_draw_axes__ (do_tics_1): Use %.15g format rather than + %g format. Also use manual mode if xlabelmode is manual. + + * general/cell2mat.m: Backout previous change. Special case 2D + case for speed. + +2008-09-11 David Bateman + + * general/cell2mat.m: Improve the speed. + +2008-09-09 John W. Eaton + + * time/datestr.m: Convert format and use strftime to do most of + the actual conversion. + +2008-09-08 Tatsuro MATSUOKA + + * plot/plot.m: Doc fix. + +2008-09-08 Mark van Rossum + + * statistics/distributions/binornd.m: Handle zero values of n + correctly. + +2008-09-08 Kai Habel + + * plot/contourf.m: Fix case for equal-sized matrices + of X and Y. + +2008-09-02 David Bateman + + * plot/__add_datasource__.m: Fix indexing of varargin. + + * plot/__line__.m: Remove empty clause fof if/then/else test + * plot/plot3.m: Correctly plot matrices. + +2008-08-31 Michael Goffioul + + * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, + plot/__plt2vv__.m: Do not call "set" with empty arguments. + +2008-08-29 David Bateman + + * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, + plot/__plt2vv__.m, plot/plot3.m, plot/__area__.m, plot/__bars__.m, + plot/__quiver__.m, plot/__stem__.m, plot/stairs.m : + Pass additional prop/val pairs to hggroup rather than underlying + objects. If a baseline existings specifically associate it with + the parent of the created hggroup to allow things like "stem(..., + 'parent', hg)" to work correctly. + * plot/hold.m: If currentaxes if figure doesn't exist, create it. + + * plot/plot3.m: Pass hline to __add_line_series__. + * plot/__add_datasource__.m: Fix off by one error. + +2008-08-28 David Bateman + + * plot/__add_line_series__.m, plot/ishghandle.m, plot/linkprop.m, + plot/refresh.m, plot/refreshdata.m: New functions + * Makefile.in (SOURCES): Add them here. + + * plot/__area__.m, plot/__bars__.m, plot/__quiver__.m, + plot/__stem__.m, plot/stairs.m, plot/stem.m: Add data sources. + + * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2sv__.m, plot/__plt2vm__.m, plot/__plt2vs__.m, + plot/__plt2vv__.m, plot/plot3.m: Add line series and data sources. + +2008-08-28 Martin Weiser + + * plot/scatter3.m: Doc fix. + +2008-08-26 John W. Eaton + + * plot/hold.m: If hold is applied to a figure, set state for all + child axes objects. + +2008-08-26 Michael Goffioul + + * plot/backend.m: New function to handle backend switch. + * plot/Makefile.in: Add it. + +2008-08-26 David Bateman + + * plot/__area__.m: Use __next_line_color__ rather than fixed set + of colors. Convert to use area series objects. + * plot/area.m: Update documentation to correspond to + the area series usage. + * plot/__bar.m: Pass the original rather than scaled width to + __bars__. + * plot/__bars__.m: Convert to use bar series objects. + * plot/bar.m, plor/barh.m: Update documentation to correspond to + the bar series usage. + * plot/__quiver__.m: Convert to use quiver series objects. Change + the default scaling and arrowsize for compatibility. + * plot/quiver.m: Update documentation to correspond to + the quiver series usage. + * plot/stairs.m: Convert to use stair series objects. + * plot/stem.m: Don't include baseline in xlim calculation. Correct + test of whether baseline xdata needs updating in the update_xlim + callback. + +2008-08-25 Thomas L. Scofield + + * image/imwrite.m: Add ras and tiff to the list of accepted formats. + Handle parameter-value options. Untabify. + +2008-08-25 David Bateman + + * plot/__stem__.m: Use property inheritance and don't explicitly + call drawnow. + + * plot/__go_draw_axes__.m: Respect the "visible" property of object and + don't draw them if the object is not visible. + + * plot/__stem__.m: Convert to use stem series object. + * plot/stem.m, plot/stem3.m: Update documentation to correspond to + the stem series usage. + +2008-08-22 John W. Eaton + + * statistics/distributions/chi2rnd.m: Fix missing semicolon. + +2008-08-21 John W. Eaton + + * plot/__go_draw_axes__.m: Fix test for have_data. + (__gnuplot_write_data__): Write "Inf Inf\n" if all data pairs + contain NaN values. + +2008-08-21 Thomas Treichl + + * optimization/sqp.m: Increase test script tolerance. + +2008-08-21 David Bateman + + * plot/ezplot.m : New function. + * plot/Makefile.in (SOURCES): Add ezplot.m to the list. + * plot/__ezplot__.m: Adapt to allow for use with the ezplot function. + +2008-08-20 Jaroslav Hajek + + * pkg/pkg.m (configure_make): Pass handle to is_architecture_dependent + directly. + +2008-08-20 David Bateman + + * plot/__go_draw_axes__.m: Don't set pm3d implicit if the plot + contains a surface. Fixes things like meshc(peaks()). + +2008-08-19 Jaroslav Hajek + + * optimization/glpk.m: Fix invalid call to zeros. + +2008-08-19 David Bateman + + * miscellaneous/intwarning.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it here. + + * statistics/base/ranks.m: Doc fix. + +2008-08-08 John W. Eaton + + * general/Makefile.in (SOURCES): Add cellidx.m to the list. + +2008-08-07 John W. Eaton + + * gethelp.cc: Delete definition of NPOS. + +2008-08-04 John W. Eaton + + * strings/strtok.m: Include TAB, LF, VT, FF, and CR in default + list of delim characters. Update tests. + +2008-07-29 Thomas Treichl + + * general/arrayfun.m: Minor bug fixes, update help text and tests + +2008-07-29 John W. Eaton + + * plot/axis.m (__get_tight_lims__): Use strcat instead of []. + Don't fail if data is not a vector. + +2008-07-29 David Bateman + + * general/cellidx.m: reinclude from control toolbox, as used by + print command. Replace is_signal_list with iscellstr. + * general/quadqk.m, linear-algebra/planeror.m, + miscellaneous/namelengthmax.m, specfun/realpow.m: Miscellaneous + documentation fixes. + + * control, finance, quaternion: Remove directories and all of the + files they contain. + * Makefile.in: Remove all references to the above directories. + * configure.in: ditto. + +2008-07-28 Ben Abbott + + * plot/hold.m: Clarify help text. + + * specfun/reallog.m: Fix help string. + +2008-07-28 David Bateman + + * strings/regexptranslate.m: Add real documentation. + + * plot/contourf.m: Allow X,Y to be unequal vectors. + + * plot/shading.m: Clarify help string. + + * general/genvarname.m: Trivial documentation fix. + +2008-07-28 John W. Eaton + + * image/imwrite.m: New function. + * image/Makefile.in (SOURCES): Add it to the list. + +2008-07-24 Ben Abbott + + * time/datestr.m: New xtest. + +2008-07-21 Michael Goffioul + + * plot/closereq.m: Use first gcbf to get the handle of the figure to + be closed. + * plot/close.m: Call __go_execute_callback__. + +2008-07-17 John W. Eaton + + * general/fliplr.m: Fix usage test. + * testfun/test.m: Fix usage tests. + +2008-07-17 Jaroslav Hajek + + * statistics/base/cov.m: Fix test that should no longer work. + +2008-07-16 Michael Goffioul + + * plot/gcbo.m, plot/gcbf.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the list. + +2008-07-16 John W. Eaton + + * deprecated/loadimage.m: New file. + * deprecated/Makefile.in (SOURCES): Add it to the list. + * image/loadimage.m: Delete. + * image/Makefile.in (SOURCES): Remove it from the list. + * image/imread.m: Incorporate loadimage functionality here. + Simplify. + * image/imshow.m: Call imread, not loadimage. + + * image/__img__.m: Set clim for true-color integer data. + + * image/imshow.m: Don't convert integer true-color data to double. + + * plot/__go_draw_axes__.m: Recognize 3-d cdata as a true-color image. + +2008-07-14 John W. Eaton + + * image/Makefile.in (SOURCES): Add imread.m to the list. + +2008-07-14 Thomas L. Scofield + + * image/imread.m: New file from Octave Forge. + +2008-07-10 Jaroslav Hajek + + * set/unique.m: Implement 'first' and 'last', some simplifications. + * set/union.m: Implement output indices. + * set/intersect.m: Implement 'rows'. + * set/setdiff.m: Implement output indices. + * set/setxor.m: Implement 'rows' and output indices. + Add tests and adjust docs in all of the above. + +2008-06-11 John W. Eaton + + * set/ismember.m: Fix fail tests. + + * general/rat.m: Properly initialize steps when all elements of + input array are integers. Append spaces as necessary when + building character array. + +2008-06-05 Jaroslav Hajek + + * plot/__go_draw_axes__.m: Use fprintf for formatted output. + +2008-06-04 Michael Goffioul + + * plot/__go_draw_axes__.m: Support hggroup objects. + * plot/hggroup.m: New file. + * plot/Makefile.in: Handle it. + +2008-06-02 David Bateman + + * miscellaneous/debug.m: New file.. + * Makefile.in (SOURCES): Add it to the list. + + * general/interp1q.m: Remove spaces between functions and args in + []. Fix test code to actually test interp1q. + +2008-06-02 Jaroslav Hajek + + * strings/strcat.m: Add tests. + +2008-06-02 Kim Hansen + + * strings/mat2str.m: Change is_complex to iscomplex, add tests, add + missing ; + +2008-05-20 David Bateman + + * miscellaneous/single.m: Remove. + * Makefile.in (SOURCES): Remove it here as well. + +2008-05-20 David Bateman + + * general/interp1q.m: New function. + * general/Makefile.in (SOURCES): Add it here. + +2008-05-20 Bill Denney + + * time/datenum.m: Allow mixed scalar and vector/matrix input. + New tests. + +2008-05-19 John W. Eaton + + * general/isa.m: Fix tests. + +2008-05-13 Bill Denney + + * general/isa.m: Use persistent cell arrays to hold class names + instead of multiple strcmp calls. + +2008-05-12 David Bateman + + * control/base/__stepimp__.m, control/base/bode_bounds.m, + control/base/damp.m, control/base/dlqr.m, control/base/lsim.m, + control/base/tzero.m, control/hinf/hinfsyn.m, + control/hinf/is_dgkf.m, control/system/d2c.m, + control/system/is_controllable.m, control/system/is_detectable.m, + control/system/is_stabilizable.m, control/system/is_stable.m, + control/system/sysconnect.m, general/bicubic.m, + general/cplxpair.m, general/isdefinite.m, general/issymmetric.m, + general/quadgk.m, general/quadl.m, general/quadv.m, + geometry/delaunayn.m, linear-algebra/krylov.m, + linear-algebra/null.m, linear-algebra/onenormest.m, + linear-algebra/orth.m, linear-algebra/rank.m, + linear-algebra/rref.m, optimization/qp.m, optimization/sqp.m, + polynomial/polygcd.m, polynomial/residue.m, sparse/normest.m, + specfun/erfinv.m, statistics/distributions/betainv.m, + statistics/distributions/gaminv.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/tests/manova.m: Modify calls to eps to allow for single + precision types. + + * general/isa.m: Also treat "float: and "numeric" as the class + argument. + + * general/dblquad.m, general/quadgk.m, general/quadv.m, + general/triplequad.m: New functions. + + * testfun/assert.m: Allow assert(cond, errmsg, ...) and + assert(cond, msgid, errmsg, ...) syntax for compatibility. + +2008-05-09 Thomas Weber + + * miscellaneous/news.m: Replace deprecated isstr call. + +2008-05-06 David Bateman + + * miscellaneous/symvar.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + +2008-05-04 John W. Eaton + + * miscellaneous/dbstack.m: Delete. + * miscellaneous/Makefile.in (SOURCES): Remove it from the list. + +2008-05-03 Rafael Laboissiere + + * linear-algebra/cond.m, miscellaneous/version.m, + miscellaneous/version.m, plot/feather.m, plot/__bar__.m, + plot/compass.m, plot/__quiver__.m, plot/__scatter__.m: Use ischar + instead of deprecated isstr. + +2008-05-01 David Bateman + + * plot/plot.m: Remove documentation of 'L' option. + * plot/stairs.m: Allow axis handles, properties and linespecs to + be passed. + +2008-04-30 John W. Eaton + + * elfun/acot.m, elfun/acsc.m, elfun/acsch.m, elfun/asec.m, + elfun/asech.m, specfun/pow2.m: Fix tests. + +2008-04-30 Jaroslav Hajek + + * specfun/log2.m: Delete. + * specfun/Makefile.in (SOURCES): Delete it from the list. + +2008-04-29 David Bateman + + pkg/pkg.m: Also set archprefix with the -local and -global options. + +2008-04-29 Jonathan Stickel + + * statistics/distributions/tcdf.m, statistics/distributions/tinv.m: + Doc fix. + +2008-04-25 John W. Eaton + + * miscellaneous/dbstack.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + +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 S�ren 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-15 David Bateman + + * plot/__patch__.m: Fix for NaN values in faces of patches. + +2008-04-14 David Bateman + + * plot/rose.m: Add missing comment mark that causes issues with + octave-forge function referencing. + * deprecated/lchol.m, deprecated/splchol.m: Fix texinfo errors. + +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/lchol.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/spatan2.m, deprecated/spchol.m, + deprecated/spchol2inv.m, deprecated/spcholinv.m, + deprecated/spcumprod.m, deprecated/spcumsum.m, deprecated/spdet.m, + deprecated/spdiag.m, deprecated/spfind.m, deprecated/spinv.m, + deprecated/spkron.m, deprecated/splchol.m, deprecated/splu.m, + deprecated/spmax.m, deprecated/spmin.m, deprecated/spprod.m, + deprecated/spqr.m, deprecated/spsum.m, deprecated/spsumsq.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 John W. Eaton + + * strings/Makefile.in (SOURCES): Add isstrprop.m to the list. + + * Makefile.in, audio/Makefile.in, control/Makefile.in, + * Makefile.incontrol/base/Makefile.in, control/hinf/Makefile.in, + * Makefile.incontrol/obsolete/Makefile.in, + * Makefile.incontrol/system/Makefile.in, control/util/Makefile.in, + * Makefile.indeprecated/Makefile.in, elfun/Makefile.in, + * Makefile.infinance/Makefile.in, general/Makefile.in, + * Makefile.ingeometry/Makefile.in, image/Makefile.in, + * Makefile.inio/Makefile.in, linear-algebra/Makefile.in, + * Makefile.inmiscellaneous/Makefile.in, optimization/Makefile.in, + * Makefile.inpath/Makefile.in, pkg/Makefile.in, plot/Makefile.in, + * Makefile.inpolynomial/Makefile.in, quaternion/Makefile.in, + * Makefile.inset/Makefile.in, signal/Makefile.in, + * Makefile.insparse/Makefile.in, specfun/Makefile.in, + * Makefile.inspecial-matrix/Makefile.in, startup/Makefile.in, + * Makefile.instatistics/Makefile.in, statistics/base/Makefile.in, + * Makefile.instatistics/distributions/Makefile.in, + * Makefile.instatistics/models/Makefile.in, + * Makefile.instatistics/tests/Makefile.in, strings/Makefile.in, + * Makefile.intestfun/Makefile.in, time/Makefile.in + * Makefile.in(check-m-sources): New target. + +2008-04-04 Bill Denney + + * optimization/lsqnonneg.m: Use optimset, correctly index + Z and P in main loop. + +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-03 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/lchol.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/spatan2.m, deprecated/spchol.m, + deprecated/spchol2inv.m, deprecated/spcholinv.m, + deprecated/spcumprod.m, deprecated/spcumsum.m, deprecated/spdet.m, + deprecated/spdiag.m, deprecated/spfind.m, deprecated/spinv.m, + deprecated/spkron.m, deprecated/splchol.m, deprecated/splu.m, + deprecated/spmax.m, deprecated/spmin.m, deprecated/spprod.m, + deprecated/spqr.m, deprecated/spsum.m, deprecated/spsumsq.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. + + * deprecated/splchol.m deprecated/lchol.m deprecated/spfind.m + deprecated/spchol.m deprecated/spmin.m deprecated/spmax.m + deprecated/spdet.m deprecated/splu.m deprecated/spqr.m + deprecated/spatan2.m deprecated/spchol2inv.m + deprecated/spcholinv.m deprecated/spcumprod.m deprecated/spdiag.m + deprecated/spinv.m deprecated/spcumsum.m deprecated/spprod.m + deprecated/spsum.m deprecated/spsumsq.m: New files + * deprecated/Makefile.in (SOURCES): Add them here. + +2008-04-03 Ben Abbott + + * sparse/spaugment.m: Increase test script tolerance. + +2008-04-02 John W. Eaton + + * deprecated/Makefile.in (SOURCES): Add spkron.m to the list. + + * general/Makefile.in (SOURCES): Add runlength.m to the list. + +2008-04-02 Bill Denney + + * optimization/lsqnonneg.m: New function. + * optimization/Makefile.in (SOURCES): Add it to the list. + +2008-04-02 David Bateman + + * sparse/spaugment.m: New function + * sparse/Makefile.in (SOURCES): Add it here. + + * plot/__gnuplot_ginput__.m: Use the gnuplot stream itself for + communication rather than a chat file if mkfifo is not available. + * plot/gnuplot_drawnow.m: Open stream with popen2 to allow two way + communication with the gnuplot process. + +2008-04-01 Richard Bovey + + * general/sortrows.m: Handle negative column arguments. + +2008-04-01 Julian Schnidder + + * miscellaneous/perl.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + +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. + + * plot/gtext.m: New function to place text on a plot. + * plot/waitforbuttonpress.m: New function. + * plot/Makefile.in (SOURCES): Add them to the list. + * plot/__gnuplot_ginput__.m: Bug fix for nargin==1. Workaround for + missing mkfifo under Windows. + * plot/ginput.m: Eliminate setting of n. + + * plot/ginput.m: New function. + * plot/__gnuplot_ginput__.m: New function based on a version of + ginput.m from Petr Mikulik . + * plot/Makefile.in (SOURCES): Add them to the list. + +2008-03-31 Dmitri A. Sergatskov + + * miscellaneous/run.m: Fix check for existence of file. + +2008-03-27 Jaroslav Hajek + + * general/lookup.m: Remove (lookup moved to DLD-FUNCTIONS). + * general/Makefile.in (SOURCES): Delete lookup.m from the list. + * general/interp1.m, general/interp2.m, general/interpn.m, + polynomial/ppval.m: Fix buggy lookup calls. + * general/interp1.m: New test. + +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-28 Julian Schnidder + + * miscellaneous/info.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + +2008-03-27 S�ren Hauberg + + * plot/xlim.m, plot/ylim.m, plot/zlim.m, strings/strtrim.m: + Doc fixes. + +2008-03-27 David Bateman + + * plot/__plt2__.m: Test if args are empty first so that + plot(zeros(1,0),zeros(1,0)) works as expected. + + * plot/plotyy.m: The axis handle is a two element vector and + so needs special treatment. Call newplot for the second axis. + +2008-03-27 Bill Denney + + * time/datenum.m: Allow vector inputs in any orientation. + + * strings/validatestring.m: New function. + * strings/Makefile.in (SOURCES): Add it to the list. + + * general/nargoutchk.m: New function. + * general/Makefile.in (SOURCES): Add it to the list. + + * general/genvarname.m: New function. + * general/Makefile.in (SOURCES): Add it to the list. + + * time/addtodate.m: New function. + * time/Makefile.in (SOURCES): Add it to the list. + + * geometry/rectint.m: Vectorize and add more tests. + +2008-03-27 John W. Eaton + + * plot/__axis_label__.m: Use name of caller in error message. + +2008-03-27 David Bateman + + * linear-algebra/planerot.m: Givens rotation function. + +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. + + * control/hinf/h2syn.m, general/__splinen__.m, general/gradient.m, + geometry/inpolygon.m, geometry/trimesh.m, geometry/triplot.m, + image/imagesc.m, io/csvread.m, io/csvwrite.m, + miscellaneous/edit.m, miscellaneous/tempname.m, plot/fill.m, + plot/patch.m, plot/ribbon.m, plot/surface.m, polynomial/mkpp.m, + polynomial/pchip.m, polynomial/spline.m, set/unique.m: + Texinfo fixes. + +2008-03-26 Jaroslav Hajek + + * linear-algebra/dmult.m: Handle scaling along arbitrary dimension. + +2008-03-26 S�ren Hauberg + + * polynomial/convn.m: New tests. + +2008-03-20 Ben Abbott + + * statistics/base/statistics.m: Calculate median and quantiles in + a manner consistent with method #7 used by GNU R. + * statistics/base/__quantile__.m, statistics/base/quantile.m, + statistics/base/prctile.m: New functions. + * statistics/base/Makefile.in (SOURCES): Add them to the list. + +2008-03-25 S�ren Hauberg + + * polynomial/convn.m: New function. + * polynomial/Makefile.in (SOURCES): Add it to the list. + +2008-03-25 David Bateman + + * image/contrast.m: New function. + * image/Makefile.in (SOURCES): Add it to the list. + +2008-03-24 Thomas Weber + + * pkg/pkg.m: Allow installation of already extracted packages. + +2008-03-24 David Bateman + + * general/idivide.m: New function. + * general/Makefile.in (SOURCES): Add it to the list. + + * miscellaneous/namelengthmax.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + + * strings/regexptranslate.m: New function. + * strings/Makefile.in (SOURCES): Add it to the list. + +2008-03-21 David Bateman + + * specfun/reallog.m, specfun/realpow.m, specfun/realsqrt.m: + New functions. + * specfun/Makefile.in (SOURCES): Add them to the list. + +2008-03-20 David Bateman + + * general/tril.m, general/triu.m: Fail if input is a structure. + + * miscellaneous/cast.m: Also allow cast to "char". + + * general/rotdim.m: Ensure k is an integer scale. + + * general/circshift.m: If matrix is empty fast return. + +2008-03-20 Jaroslav Hajek + + * linear-algebra/subspace.m: Check number of arguments, number + of dimensions of arguments and matching dimensions. + +2008-03-19 Jaroslav Hajek + + * linear-algebra/subspace.m: New function. + * linear-algebra/subspace.m: New function. + +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 Jaroslav Hajek + + * statistics/distributions/exppdf.m, + statistics/distributions/expcdf.m, + statistics/distributions/expinv.m, + statistics/distributions/exprnd.m: Doc fix. + +2008-03-19 David Bateman + + * statistics/base/mode.m: Fix for row vectors. + + * plot/__scatter__.m: Modify for change of markersize in + __go_draw_axes__.m and for compatibility. + * plot/__go_draw_axes__.m: Don't divide the marker size by 6 + twice. + * plot/scatter3.m: Doc fix. + +2008-03-18 Ben Abbott + + * specfun/beta.m: Fix for negative inputs. + +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. + + * io/csread.m, io/csvwrite.m, io/dlmwrite.m: Style fixes. + +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. + +2008-03-11 David Bateman + + * io/dlmwrite.m, io/csvread.m, io/csvwrite.m: Files ported from + octave-forge. + * io/Makefile.in (SOURCES): Add them here. + +2008-03-07 John W. Eaton + + * plot/contourf.m: Set axes layer property to "top". + + * plot/__go_draw_axes__.m: Handle tickdir property. + +2008-03-06 John W. Eaton + + * plot/hist.m: Avoid temporaries. + Allow matrix arguments when number of bins > 30. + From Robert S. Mahurin . + + * plot/ChangeLog: Handle axes linewidth property. + + * plot/__go_draw_axes__.m: Adjust markersize by a factor of 1/6. + + * general/interpn.m: New test. + +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-03-04 John W. Eaton + + * plot/print.m: Fix oops in applying last change. + +2008-03-04 Bill Denney + + * plot/allchild.m, plot/findall.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the list. + + * geometry/rectint.m: New function. + * geometry/Makefile.in (SOURCES): Add it to the list. + +2008-03-04 Michael Goffioul + + * pkg/pkg.m (pkg:configure_make): Make it work with recent changes in + isspace handling with cell arrays of strings. + +2008-03-04 Ben Abbott + + * polynomial/polyfit.m: Modified tests to respect a relative tolerance. + + * plot/print.m: Accept a figure handle as an optional input. + +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_old_gnuplot_color): New subfunction. + Use it to replace repeated if/elseif blocks. + +2008-02-28 Kai Habel + + * plot/__go_draw_axes__.m: If facecolor property of a surface is + "none", don't use pm3d mode and set linestyle correctly. + +2008-02-25 Ben Abbott + + * control/system/zpout.m, finance/irr.m, general/int2str.m, + general/num2str.m, miscellaneous/bug_report.m, + miscellaneous/copyfile.m, miscellaneous/dir.m, + miscellaneous/edit.m, miscellaneous/fullfile.m, + miscellaneous/mkoctfile.m, miscellaneous/movefile.m, + miscellaneous/tempdir.m, miscellaneous/unpack.m, + path/__extractpath__.m, pkg/pkg.m, plot/__ezplot__.m, + plot/__go_draw_axes__.m, plot/legend.m, plot/print.m, + signal/spectral_adf.m, signal/spectral_xdf.m, + statistics/tests/z_test.m, statistics/tests/z_test_2.m, + strings/Makefile.in, strings/strcat.m, strings/strvcat.m, + testfun/assert.m, testfun/demo.m, testfun/speed.m, + testfun/test.m: Use cstrcat instead of strcat. + + * strings/strcat.m: New compatible version. + + * strings/cstrcat.m: Rename from strings/strcat.m. + +2008-02-25 John W. Eaton + + * strings/isstrprop.m: New file. + +2008-02-25 Ryan Hinton + + * miscellaneous/unpack.m: Use "-f -" args for tar. + +2008-02-24 John W. Eaton + + * specfun/log2.m: Ensure returned value of F strictly less than 1. + From Dave Hawthorne . + +2008-02-22 Ben Abbott + + * specfun/legendre.m: Doc fix. + +2008-02-22 David Bateman + + * sparse/pcg.m, sparse/spdiags, spstats.m: Remove references to + spdiag. + +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 Marco Caliari + + * specfun/legendre.m: Accept normalization options ("sch", "norm"), + and improve stability for higher orders. + +2008-02-20 John W. Eaton + + * strings/strcat.m: Detect cellstr args. + +2008-02-20 David Bateman + + * sparse/colperm.m, sparse/nonzero.m, sparse/spdiags.m, + sparse/spfun.m, sparse/spones.m, sparse/sprand.m, + sparse/sprandn.m, sparse/sprandsym.m, sparse/spy.m: Use generic + version of find rather than spfind. + +2008-02-19 Ben Abbott + + * miscellaneous/edit.m: New option EDITINPLACE. Prefer file list + rather than path list. Return option structure with "get all". + + * polynomial/polyfit.m: Use QR decomposition. Handle + normalization option. + * polynomial/polyval.m: Normalize dependent variable. Optionally + generate 50% prediction intervals. + + * miscellaneous/ver.m: Include package version information in + output. Improve consistency with Matlab. + +2008-02-19 John W. Eaton + + * pkg/pkg.m: Style fixes. + +2008-02-19 Carlo de Falco + + * pkg/pkg.m: Handle 'describe' command. + (parse_pkg_idx, print_package_description): New subfunctions. + +2008-02-19 Bill Denney + + * time/datestr.m: Avoid confusion for datenum vectors that are 6 + elements wide. + +2008-02-18 David Bateman + + * general/rem.m, general/mod.m: Treat integer types correctly. + +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-12 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-02-08 David Bateman + + * plot/__contour__.m: Respect the graphic handle options that are + passed. + * plot/__go_draw_axes__.m: Respect the linewidth for patch objects. + +2008-02-01 Dave Goel + + * signal/arch_rnd.m: Correctly index E and Y vectors. + +2008-02-01 Bill Denney + + * time/weekday.m: Allow vector inputs and speed up. + * time/eomday.m: Return column vector for column vector inputs. + +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-29 John W. Eaton + + * strings/str2double.m: Delete unused variable FLAG_OCTAVE. + +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 Alexander Barth + + * general/interpn.m: Compatibility fix. Don't ndgrid vector + abscissa. + +2008-01-25 David Bateman + + * general/__splinen__.m: Treat mixed orientation vectors. + * plot/__scatter__.m: Remove NaN values from data. + * plot/__patch__.m: Vectorize treatment of trailing NaN values. + +2008-01-25 Thomas Weber + + * linear-algebra/trace.m: Test cases for non 2-d args. + +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-22 Thomas Weber + + * linear-algebra/cond.m, linear-algebra/trace.m: + Move tests here from test/test_linalg.m. + + * general/diff.m, general/fliplr.m, general/flipud.m, + general/logspace.m, general/rot90.m, general/shift.m, general/tril.m, + general/triu.m, linear-algebra/vec.m, linear-algebra/vech.m, + special-matrix/hankel.m, special-matrix/hilb.m, + special-matrix/invhilb.m, special-matrix/sylvester_matrix.m, + special-matrix/toeplitz.m, special-matrix/vander.m: + Move tests here from test/test_matrix.m. + + * general/isscalar.m, general/issquare.m, general/isvector.m: + Move tests here from test/test_number.m. + + * deprecated/polyinteg.m, polynomial/compan.m, polynomial/conv.m, + polynomial/deconv.m, polynomial/poly.m, polynomial/polyderiv.m, + polynomial/polyfit.m, polynomial/polyreduce.m, polynomial/polyval.m, + polynomial/polyvalm.m, polynomial/roots.m: + Move tests here from test/test_poly.m. + + * signal/unwrap.m: + Move tests here from test/test_signal.m. + + * statistics/base/corrcoef.m, statistics/base/cov.m, + statistics/base/kurtosis.m, statistics/base/mahalanobis.m, + statistics/base/mean.m, statistics/base/median.m, + statistics/base/skewness.m, statistics/base/std.m: + Move tests here from test/test_stats.m. + + * general/int2str.m, general/num2str.m, strings/bin2dec.m, + strings/blanks.m, strings/deblank.m, strings/dec2bin.m, + strings/dec2hex.m, strings/findstr.m, strings/hex2dec.m, + strings/index.m, strings/rindex.m, strings/split.m, strings/str2mat.m, + strings/str2num.m, strings/strcat.m, strings/strrep.m, + strings/substr.m: + Move tests here from test/test_string.m. + + * miscellaneous/computer.m, miscellaneous/ls.m, + miscellaneous/version.m, time/asctime.m, time/clock.m, time/ctime.m, + time/date.m, time/etime.m, time/is_leap_year.m: + Move tests here from test/test_system.m. + +2008-01-22 Schloegl Alois + + * specfun/erfinv.m: Replace z_old and z_new by a single variable z. + Simplify initial checks on argument values. + +2008-01-22 Michael Goffioul + + * plot/gnuplot_drawnow.m: New function corresponding to the + implementation of the gnuplot-based graphics backend (derived from + drawnow.m). + * plot/drawnow.m: Deleted (converted to C++). + +2008-01-15 Rolf Fabian + + * linear-algebra/__norm__.m: Only scale if inf norm is finite. + New tests. + +2008-01-18 John W. Eaton + + * optimization/sqp.m: End each function with endfunction. + +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-17 John W. Eaton + + * path/savepath.m: Print newline before initial comment line. + Double up single quote characters. + * path/__extractpath__.m: Return just the path as a string. + Undo single quote character doubling. + + * path/pathdef.m: Avoid eval. Simplify. + + * path/pathdef.m: Use fullfile instead of concatenating with filesep. + * path/__extractpath__.m, path/savepath.m: Use unwind_protect to + avoid possible file descriptor leak. + +2008-01-17 Ben Abbott + + * path/savepath.m: Warn if modified file is not explicitly specified. + * startup/main-rcfile: Call atexit ("__finish__"). + +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. + + * startup/Makefile.in (SOURCES): Add __finish__.m to the list. + (install install-strip, uninstall): Handle function files. + +2008-01-16 Ben Abbott + + * startup/__finish__.m: New file. + * path/__extractpath__.m, path/matlabroot.m, + path/pathdef.m: New files. + * path/Makefile.in (SOURCES): Add them to the list. + +2008-01-15 Thomas Weber + + * special-matrix/vander.m: Vectorize. New test. + + * elfun/acot.m, elfun/acoth.m, elfun/acsc.m, elfun/acsch.m, + elfun/asec.m, elfun/asech.m, elfun/cot.m, elfun/coth.m, + elfun/csc.m,elfun/csch.m, elfun/lcm.m, elfun/sec.m, elfun/sech.m, + general/rem.m, miscellaneous/bincoeff.m, miscellaneous/xor.m, + specfun/beta.m, specfun/log2.m, specfun/pow2.m: + Move tests here from test/test_arith.m. + +2008-01-15 John W. Eaton + + * linear-algebra/__norm__.m: Use sum(abs(x),2), not sum(abs(x.')). + +2008-01-15 Michael Goffioul + + * plot/drawnow.m, plot/__go_draw_figure__.m, plot/__go_draw_axes__.m: + Call __get__ instead of get. + +2008-01-15 Ben Abbott + + * linear-algebra/__norm__.m: Avoid divide by zero error for + Frobenius norm if matrix is all zeros. Use transpose instead of + hermitian operator. + +2008-01-14 Bill Denney + + * plot/axis.m: Correctly handle "tight" and "image" options. + +2008-01-14 S�ren Hauberg + + * image/hsv2rgb.m, image/ntsc2rgb.m, image/rgb2hsv.m, + image/rgb2ntsc.m: Also accept images as input. + + * image/gray2ind.m: Handle image type other than double. + Improve error checking and documentation. + +2008-01-14 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. + + * optimization/sqp.m: Fix function definitions in test code. + +2008-01-12 John W. Eaton + + * plot/gnuplot_binary.in: New file. + * plot/gnuplot_binary.m: Delete. + * plot/Makefile.in (SOURCES): Remove gnuplot_binary.m from the list. + (SOURCES_IN, GEN_M): New macros. + (DISTFILES): Include $(SOURCES_IN) in the list. + (FCN_FILES): Include $(GEN_M) in the list. + (all): Depend on $(GEN_M). + ($(GEN_M): %.m : $(TOPDIR)/Makeconf): New pattern rule. + (distclean): Also remove $(GEN_M). + +2008-01-11 John W. Eaton + + * optimization/sqp.m: New test from example in doc string. + +2008-01-10 Ben Abbott + + * polynomial/mpoles.m: Avoid cases where poles could be assigned + to more than one multiplicity group. + +2008-01-10 John W. Eaton + + * plot/gnuplot_binary.m: New file. + * plot/Makefile.in (SOURCES): Add it to the list. + +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-04 Muthiah Annamalai + + * general/sub2ind.m, general/ind2sub.m: Doc fix. + +2008-01-04 S�ren Hauberg + + * set/create_set.m, set/union.m: Accept "rows" argument. + +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 David Bateman + + * ezcontourf.m, ezcontour.m, ezmeshc.m, ezmesh.m, ezplot3.m, + __ezplot__.m, ezpolar.m, ezsurfc.m, ezsurf.m: New functions. + * Makefile.in (SOURCES): Add to the sources. + +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. + +2007-12-21 S�ren Hauberg + + * image/imshow.m: Accept empty value for display_range. + +2007-12-20 Michael Goffioul + + * pkg/pkg.m: Add .lib as architecture-dependent suffix. + +2007-12-19 S�ren Hauberg + + * image/imshow.m: Store uint8 images as doubles. Handle default + display ranges correctly. + +2007-12-19 Alexander Barth + Peter A. Gustafson + + * plot/contourc.m: Allow usage of irregular spaced x, y data. + +2007-12-19 John W. Eaton + + * miscellaneous/edit.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + +2007-12-19 Michael Goffioul + + * plot/__bar__.m: Handle "basevalue" option. + * plot/__bars__.m: New arg, base_value. + +2007-12-17 David Bateman + + * plot/rose.m, plot/feather.m, plot/compass.m: New functions + * plot/Makefiles (SOURCES): Add them to the sources + * plot/polar.m: Set the x and y limits to the maximum polar + radius. Set the axes to be square. + * plot/__go_draw_axes__.m: Allow {x|y}axislocation to be "zero" + and print axis at zero if this is used. + + * plot/__go_draw_axes__.m: Use "set pm3d explicit" so that + contours can overlay pcolor plots. Priveldge no hidden line + removal when there are multiple objects in the plot. + +2007-12-17 Peter A. Gustafson + + * plot/__go_draw_axes__.m: Fix mirrored tics and borders for + set (gca (), "[xy]axislocation", "{right|top}", "box", "off"). + +2007-12-17 Ben Abbott + + * miscellaneous/run.m: Replace script with f when looking for + file to run. + +2007-12-14 David Bateman + + * plot/contour3.m, plot/__contour__.m: Handle linespec. + * plot/contour.m: Doc fix. + * plot/__go_draw_axes__.m (case "patch"): Include "lt" in lt string. + Include linetype in withclause. + + * plot/__go_draw_axes__.m (__calc_dimensions__): New function. + Use it to determine dimensions. Consolidate all 3-d settings. + +2007-12-13 John W. Eaton + + * image/imshow.m: Turn axis visibility off. + Don't scale true color images. + * image/image.m: Set axis layer property to "top". + +2007-12-12 John W. Eaton + + * image/loadimage.m: Avoid calling eval. Avoid calling exist. + + * plot/pie.m: Avoid calling "exist". + + * linear-algebra/condest.m: Use nargin instead of size(varargin,2). + Condense argument processing logic. Allow 6 arguments. + Use issquare. Avoid calling "exist". + + * plot/__go_draw_axes__.m: Handle the axes layer property. + +2007-12-12 David Bateman + + * plot/ellipsoid.m: Port from octave-forge, editing for style. + * plot/Makefile.in (SOURCES): Add to the sources. + +2007-12-11 John W. Eaton + + * plot/surf.m: Set xgrid, ygrid, and zgrid on here. + * plot/surface.m: Not here. + + * plot/__go_draw_axes__.m: Always use "set grid front". Send a + subsequent "unset grid" if there is no grid. + + * plot/__go_draw_axes__.m: Include "front" in "set label" options. + + * plot/surface.m: Don't set facecolor property in call to + __go_surface__. + + * plot/__plt2vs__.m, plot/__plt2sv__.m: New functions. + * plot/__plt2__.m: Handle scalar-vector and vector-scalar cases. + +2007-12-11 Kai Habel + + * plot/__patch__.m: Fix typo. Improve argument checking, so that a + color string is not taken as z value. + + * plot/slice.m: Remove unused variable, set xgrid, ygrid, and + zgrid to "on" and box to "off" for used axes. + + * plot/__go_draw_axes__.m, plot/plot3.m, plot/ribbon.m, + plot/slice.m: Use size_equal(var1,var2,...) when possible. + +2007-12-11 David Bateman + + * miscelleaneous/fullfile.m: Ignore empty arguments. + + * sparse/spstats.m: Drop argument to Fsparse to force mutation. + * statistics/base/mode.m: Ditto. + + * plot/__plt_get_axis_arg__.m: Ignore integer valued handles as + object handles are all now non integer. + +2007-12-10 John W. Eaton + + * plot/sombrero.m, plot/peaks.m: Use surf instead of mesh. + + * general/issymmetric.m: Use ' instead of .' for compatibility + with previous versions of Octave. + * general/ishermitian.m: Delete. + * general/Makefile.in (SOURCES): Remove ishermitian.m from the list. + + * plot/fplot.m: In N is not specified, increase initial number of + points from 3 and 5 to 5 and 8. + + * signal/detrend.m: Move tests here from test/test_signal.m. + Loosen tolerance on first test from 10*eps to 20*eps. + + * finance/rate.m: Don't request info from fsolve. + +2007-12-10 Michael Goffioul + + * plot/__line__.m: Pass initial property/value pairs to __go_line__. + * plot/surface.m: Pass initial property/value pairs to __go_surface__. + +2007-12-10 David Bateman + + * image/image.m: Rewritten to allow trailing properties to be + passed to underlying image object. + * image/__img__.m: Pass additional arguments to __go_image__. + * plot/__patch__.m: Don't set clim, rely on autoscaling. + +2007-12-10 John W. Eaton + + * plot/__go_draw_axes__.m: If we have a grid, send "set grid + front" to gnuplot. + +2007-12-10 David Bateman + + * plot/__go_draw_axes__.m: Issue "set view map" for pcolor, and "set + border front" from images. + * plot/__go_draw_figure__.m: Issue "set autoscale fix" for gnuplot. + * plot/pcolor.m: Set axis "box" property. + * plot/title.m, plot/xlabel.m, plot/ylabel.m, plot/xlabel.m: + Mark as commands. + +2007-12-07 David Bateman + + * plot/surf.m: Don't set facecolor property. + +2007-12-06 John W. Eaton + + * plot/print.m: Pass mono to drawnow. + * plot/drawnow.m: New arg, mono. Pass it to __go_draw_figure__. + * plot/__go_draw_figure__.m: New arg, mono. Pass it to __go_draw_axes. + * plot/__go_draw_axes__.m: New arg, mono. If mono is true, + disable color specifications. + + * general/issymmetric.m: Move tests here from test/test_number.m + +2007-12-06 Jason Riedy + + * general/issymmetric.m: To keep its argument sparse and the + function quick, use the infinity norm rather than the 2-norm. + Also measure the symmetric part rather than the Hermitian part. + * general/ishermitian.m: New file. Measure the Hermitian part. + * general/Makefile.in: Add ishermitian.m to SOURCES. + +2007-12-04 John W. Eaton + + * plot/__go_draw_axes__.m: Omit "font \"NAME,SIZE\"" in gnuplot + text and label commands if font is "*". + + * linear-algebra/krylov.m: Doc fixes. + From Marco Caliari . + +2007-12-04 Kai Habel + + * plot/shading.m: Use __plt_get_axis_arg__ for optional axes argument. + Add "## PKG_ADD: mark_as_command axis" line. + +2007-12-03 John W. Eaton + + * contour.m, contour3.m, contourc.m, contourf.m, cylinder.m, + fplot.m, plot3.m, plotyy.m, quiver3.m, scatter.m, scatter3.m, + slice.m, sombrero.m, stairs.m, stem.m, stem3.m: + Generate demos from examples. + +2007-12-03 David Bateman + + * testfun/test.m: Disable "testif" test block to avoid spurious + skipped test for "make check". Avoid printing variables for + skipped tests. + + * testfun/test.m: Add "testif" type to allow for conditional tests. + + * plot/plotyy.m: Use activepositionproperty property of axes + object. Set second axis color to "none". + * plot/__go_draw_axes__.m: Respect the activepositionproperty + property of the axis objects. + +2007-12-03 Thomas Treichl + + * linear-algebra/condest.m: Loosen tolerance in test. + +2007-12-02 John W. Eaton + + * plot/__go_draw_axes__.m: Remove unnecessary call to + get_data_limits. + +2007-11-30 John W. Eaton + + * plot/__go_draw_axes__.m: Don't compute data or axis limits. + (get_data_limits, get_axis_limits): Delete. + +2007-11-30 David Bateman + + * plot/__scatter__.m: Avoid out of bounds varargin element access. + + * plot/__go_draw_axes__.m (do_tics_1): regexprep the cell array of + tick labels rather than one by one on the labels themselves. + * plot/pareto.m: Bug in numerical labels fixed. Bug in search for + 95% crossing fixed. + +2007-11-29 David Bateman + + * plot/pareto.m: New file. + * plot/Makefile.in (SOURCES): Add it to the sources. + * plot/__go_draw_axes__.m (do_tics1): Replace "%" with "%%" in tic + marks to avoid gnuplot error about formating. More colorspec to + after the tics. + * plot/plotyy.m: More generic check for appropriate axis color. + + * plot/__stem__.m: New file based on old stem.m expanded to treat + 2- and 3-D. + * plot/stem3.m: New function. + * plot/Makefile.in (SOURCES): Add them to the sources. + * plot/stem.m: Adapt to use __stem__. + +2007-11-29 John W. Eaton + + * plot/contour.m, plot/contour3.m, plot/fill.m, plot/patch.m, + plot/surf.m, plot/surface.m: Don't return handle value unless + requested. + + * plot/patch.m: Omit isnan check on handle returned from + __plt_get_axis_arg__. + + * plot/__plt_get_axis_arg__.m: Don't fail if current figure exists + but has no axes. + +2007-11-28 David Bateman + + * __plt_get_axis_handle__.m: Also allow hggroup and return axes + ancestor. If leading argument is logical set variable nogca to see + if gca() should be called if there is no active handle found. + * __bar__.m, caxis.m, scatter.m, contourf.m, __axes_limits__.m, + fill.m, surf.m, meshz.m, axis.m, pie.m, contour.m, + quiver.m, area.m, grid.m, cylinder.m, contour3.m, surface.m, + patch.m, scatter3.m, plot.m, sphere.m, quiver3.m, plotyy.m, + xlabel.m, ylabel.m, surfnorm.m, zlabel.m: Adapt to use + __plt__get_axis_arg__ to find axis handle. + * polar.m: Typo. + +2007-11-28 John W. Eaton + + * plot/__go_draw_axes__.m (get_data_limits): Delete unused arg TX. + +2007-11-28 Michael Goffioul + + * plot/drawnow.m: Fix typo. + +2007-11-27 David Bateman + + * plot/errorbar.m, plot/loglog.m, plot/loglogerr.m, plot/polar.m, + plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, + plot/semilogyerr.m: Treat an axis handle as the first argument. + + * plot/meshz.m: New function. + * plot/Makefile.in (SOURCES): Add it to the list. + * plot/surface.m: Allow surface to accept an axis handle as the + first argument. + * plot/meshc.m: Extract z from the the surface object rather than + varargin so that we can rely on code in surface to treat leading + axis handles. + + * plot/__go_draw_axes__.m: Add nomirror to "set ytics" and "set + y2tics" in the case of a plotyy plot. + * plot/plotyy.m: ensure the position property is set correct for + the second axis, by setting it after the plot itself. In the case + of a plot that returns multiple handles, base the color selection + on the first. + +2007-11-27 Kai Habel + + * plot/__go_draw_axes__.m: Set quadrilateral color according to + z-value of vertex 'c3'. + +2007-11-27 John W. Eaton + + * image/image.m: Allow nargin == 0 case to work again. + +2007-11-27 David Bateman + + * plot/__go_draw_figure__.m: Force a multiplot mode with a + colorbar, to ensure that the colorbar is on the canvas for png and + postscipt outputs. + +2007-11-26 David Bateman + + * sparse/spstats.m, statistics/base/mode.m: More care with sparse + return values. + + * plot/plotyy.m: New function + * plot/Makefile.in (SOURCES): Add it here. + * plot/__go_draw_axes__.m: Force axis margins for plotyy. Set text + color for {x|y|z}label and {x|y|z}tics. Also force the label of + {x|y}label to respect the axis position. + * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: Accept an axis + handle as the first argument. + + * pkg/pkg.m (pkg:install): When loading the installed packages + index into installed_pkgs_lst and not descriptions.. + + * plot/quiver3.m, plot/surfnorm.m, plot/__quiver__.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the sources. + * plot/quiver.m: Modify to use __quiver__.m. + + * plot/hist.m: Avoid saturation when the x values are in an + inetger type. + +2007-11-26 Jason Riedy + + * linear-algebra/condest.m, linear-algebra/onenormest.m: New + functions. + * linear-algebra/Makefile.in (SOURCES): Add them to the sources. + +2007-11-26 David Bateman + + * plot/__go_draw_axes__.m: Prevent the cbrange from being of zero + extent. + + * plot/colorbar.m: New function. + * plot/Makefile.in (SOURCES): Add it to the sources. + * plot/__go_draw_axes__.m: Calculate the colorbar position, + precalculate the clim, set pm3d except for mesh. + * plot/__contour__.m: Don't scale the contours to clim, but rather + save the real values so that colorbar corresponds to the contour + levels. + + * plot/stem.m: Set marker color the same as the line color. Draw + a single discontinous line object for the stems. + + * plot/sphere.m: New function ported from JHandles. + * plot/Makefile.in (SOURCES): Add it to the sources. + + * plot/__go_draw_axes__.m: Pass the have_newer_gnuplot arg to + __maybe_munge_text__. Use it to reforce fontname for gnuplot 4.0 + to get enhanced mode to work correctly for the X11 terminal. + + * plot/imagesc.m, plot/image.m: Scale colormap to image and not + the reverse. Allow an axes handle to be passed and/or returned. + * plot/__go_draw_axes__.m: Autoscale colormap for images. + + * plot/__go_draw_axes__.m: Add depthorder flag to "set pm3d" to + sort surface patches by their depth and not the order they are + rendered in. + + * plot/__patch__.m: Set clim correctly. + * plot__go_draw_axes__.m: Allow patch objects to have markers, and + the marker color is determined by the cmap. + * plot/scatter.m: New function to 2D scatter plots. + * plot/scatter3.m: New function to 3D scatter plots. + * plot/__scatter__.m: Support function for scatter plots + * Makefile.in (SOURCES): Ad dnew functions here. + + * plot/drawnow.m (open_gnuplot_stream, init_gnuplot_stream): + Return whether the terminal supports enhanced text or not. + (drawnow:enhanced_term): New sub-function to determine if terminal + supports enhanced mode. + * plot/__go_draw_figure__.m: Accept enhanced flag and pass to + __go_draw_axes__. + * plot/__go_draw_axes__.m: Accept enhanced flag and munge text if + needed to support the enhanced mode. + * plot/print.m: Remove "enhanced" option as this is now treated in + drawnow.m. + + * plot/caxis.m: New function to control the color axis limits. + * plot/Makefile.in (SOURCES): Include it. + * plot/axis.m: Allow the first argument to be an axes handle. + * plot/__go_draw_axes__.m: Move the setting of the caxis, also + autoscale caxis for patches. If any(isinf(clim)) don't set the + caxis limits. + + * image/gmap40.m: New gnuplot 4.0 specific colormap fucntion. + * image/Makefile.in (SOURCES): Include it. + * plot/__bar__.h: Allow axis handles to be passed. Set the color + of the bars for the colormap. + * plot/bar.m, plot/barh.m: Document that axis handles can be + passed. + * plot/__contour.m: Avoid possible divide by zero error. + * plot/contour.m: Missing semicolon. + * plot/surface.m: Don't attempt to set additional arguments if + there are none. + * plot/Makefile.in (SOURCES): Include __bars__.m + +2007-11-19 Michael Goffioul + + * plot/__bar__.m: put bar creation code into separate function + to allow easy hook up from other graphic backends + + * plot/__bars__.m: new function containing bar creation code + +2007-11-26 Alexander Barth + + * general/accumarray.m: Correct dimension check. + +2007-11-26 John W. Eaton + + * polynomial/residue.m: Prepad along second dimension. + From Doug Stewart . + +2007-11-26 Kai Habel + + * plot/cylinder.m, plot/slice.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the list. + +2007-11-14 Michael Goffioul + + * plot/patch.m: Handle arg may also be hggroup object. + Use ancestor to find parent axes object. + +2007-11-14 David Bateman + + * plot/__contour__.m: Treat unclosed contours by adding NaN to + flag to patch that it is not closed. Allow z to take string + arguments and use it to flag that the contours are placed at the + z level of the contour itself. + * plot/__go_draw_axes__.m: Treat hidden line removal in patch + objects as well. Let hidden removal take precedence in case of a + conflict. + * plot/surface.m: Allow surface to treat handles being passed or + returned. Any additional arguments arr used to set the surface + handle. + * plot/contour3.m: New function + * plot/Makefile.in (SOURCES): Add it to the sources. + +2007-11-14 John W. Eaton + + * specfun/bessel.m: Update doc string from + src/DLD-FUNCTIONS/besselj.cc. + +2007-11-12 David Bateman + + * plot/contour.m: Allow handles to be passed and returned. Split + the countour function itself into __contour__.m to be shared with + surfc and meshc. + * plot/__contour__.m: New file + * plot/Makefile.in (SOURCES): Add it to the sources. + * plot/__go_draw_axes.m: For patch objects don't attempt to patch + the face or edge if the facecolor or edge color are marked as + "none". Allow the edgecolor to be determined by the cdata in the + same manner as the facecolor. Fail if facecolor is not "none" and + a 3-D plot is desired, rather than ignoring zdata. Make the + storage of 3D/4D data consistent between line, surface and patch + objects. + * plot/meshc.m: Use new __contour__.m to plot the contours. + * plot/surfc.m: Use new __contour__.m to plot the contours. + + * plot/__go_draw_axes__.m (get_fontname_and_size): + Handle fontweight and fontangle properties. + +2007-11-12 Kai Habel + + * plot/spinmap.m, plot/ribbon.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the list. + +2007-11-12 John W. Eaton + + * plot/__go_draw_axes__.m (get_fontname_and_size): New subfunction. + Use it to avoid duplicated code. + +2007-11-12 David Bateman + + * plot/title.m: Fix return value for nargout > 0. + + * plot/__go_draw_axes.m: Allow the font and fontsize to be + specified for the title, xlabel, ylabel and text objects. + + * plot/__go_draw_axes.m: Allow arbitrary colormaps with gnuplot + 4.0 and surface plots. + +2007-11-12 Michael Goffioul + + * plot/__patch__.m: Fix computation of faces when patch is defined + with X/Y/Z data. + +2007-11-09 John W. Eaton + + * plot/__go_draw_axes__.m: Correct test for have_data. + Correct logic in setting palette data. + + * audio/wavread.m, control/base/__bodquist__.m, + control/base/dare.m, control/base/dlqr.m, control/hinf/h2norm.m, + control/system/c2d.m, control/system/is_detectable.m, + control/system/is_signal_list.m, control/system/is_stabilizable.m, + control/system/tfout.m, general/isdefinite.m, + linear-algebra/krylov.m, miscellaneous/compare_versions.m, + optimization/glpk.m, path/savepath.m, plot/findobj.m, + plot/shading.m, polynomial/mpoles.m, polynomial/polyint.m, + signal/freqz.m, signal/hurst.m, sparse/spfun.m, sparse/spones.m, + sparse/spstats.m, testfun/assert.m, testfun/fail.m, + testfun/test.m: Use specific end keywords. + + * plot/surfc.m, plot/meshc.m: Don't change view if hold is on. + +2007-11-09 Kai Habel + + * plot/mesh.m, plot/pcolor.m, plot/surf.m, plot/surface.m: + Don't change view if hold is on. + +2007-11-09 David Bateman + + * plot/hidden.m: New function. + * plot/Makefile.in (SOURCES): Add it here. + * plot/meshc.m, plot/mesh.m: Set facecolor to White for hidden + line removal. + * plot/__go_draw_axes__.m: If facecolor is white flag hidden line + removal and if it is "none" don't do hidden line removal. + + * plot/legend.m: Also allow labels for surface and patch types. + * plot/__bar__.m: Split into separate patch pbjects to allow + setting of the legend. + * plot/__go_draw_axes__.m: Set titlespec from keylabel for patch + objects as well. + + * plot/area.m, plot/__area__.m: New functions + * plot/Makefile.in (SOURCES): Add them to the list of files. + + * plot/patch.m: Correctly handle case of axis handle as first arg. + +2007-11-09 Joseph P. Skudlarek + + * sparse/spdiags.m: Tweak documentation entries to match other uses. + +2007-11-08 John W. Eaton + + * control/base/dcgain.m, control/base/dre.m, + control/base/impulse.m, control/base/step.m, + control/system/dmr2d.m, control/system/ord2.m, + control/system/sys2ss.m, control/system/sysdimensions.m, + control/system/sysgetsignals.m, control/system/sysout.m, + control/system/tfout.m, control/system/ugain.m, + control/system/zpout.m, control/util/strappend.m: + Don't fail with usage message if nargout is too large. + + * control/hinf/h2syn.m, control/hinf/hinf_ctr.m, + control/hinf/hinfnorm.m, control/hinf/hinfsyn.m, + control/hinf/hinfsyn_chk.m, control/hinf/is_dgkf.m, + control/hinf/wgt1o.m, control/obsolete/dezero.m, + control/obsolete/dlqg.m, control/obsolete/minfo.m, + control/obsolete/packsys.m, control/obsolete/qzval.m, + control/obsolete/rotg.m, control/obsolete/series.m, + control/obsolete/swapcols.m, control/obsolete/swaprows.m, + control/obsolete/syschnames.m, control/obsolete/unpacksys.m, + control/system/__syschnamesl__.m, + control/system/__syscont_disc__.m, + control/system/__sysdefioname__.m, control/system/__sysgroupn__.m, + control/system/__tf2sysl__.m, control/system/__zp2ssg2__.m, + control/system/abcddim.m, control/system/buildssic.m, + control/system/c2d.m, control/system/cellidx.m, + control/system/d2c.m, control/system/dmr2d.m, + control/system/fir2sys.m, control/system/is_abcd.m, + control/system/is_controllable.m, control/system/is_detectable.m, + control/system/is_digital.m, control/system/is_observable.m, + control/system/is_stabilizable.m, control/system/is_stable.m, + control/system/jet707.m, control/system/listidx.m, + control/system/parallel.m, control/system/ss.m, + control/system/ss2sys.m, control/system/ss2zp.m, + control/system/starp.m, control/system/sys2ss.m, + control/system/sys2tf.m, control/system/sys2zp.m, + control/system/sysadd.m, control/system/sysappend.m, + control/system/sysconnect.m, control/system/syscont.m, + control/system/sysdimensions.m, control/system/sysdisc.m, + control/system/sysdup.m, control/system/sysgetsignals.m, + control/system/sysgroup.m, control/system/sysmin.m, + control/system/sysmult.m, control/system/sysout.m, + control/system/sysprune.m, control/system/sysreorder.m, + control/system/sysscale.m, control/system/syssetsignals.m, + control/system/syssub.m, control/system/sysupdate.m, + control/system/tf.m, control/system/tf2ss.m, + control/system/tf2sys.m, control/system/tfout.m, + control/system/zp.m, control/system/zp2ss.m, + control/system/zp2sys.m, control/system/zp2tf.m, + control/system/zpout.m, control/util/__outlist__.m, + control/util/__zgpbal__.m, control/util/axis2dlim.m, + control/util/prompt.m, control/util/sortcom.m, + control/util/zgfmul.m, control/util/zgfslv.m, + control/util/zginit.m, control/util/zgreduce.m, + control/util/zgrownorm.m, control/util/zgscal.m: Style fixes. + +2007-11-08 David Bateman + + * plot/quiver.m: Fix arrowheads. + +2007-11-07 Ben Abbott + + * set/ismember.m: Call cell_ismember to handle cellstr args. + Handle "rows" argument. New tests. + (cell_ismember): New function. + +2007-11-07 John W. Eaton + + * control/base/__bodquist__.m, control/base/__freqresp__.m, + control/base/__stepimp__.m, control/base/are.m, + control/base/ctrb.m, control/base/damp.m, control/base/dare.m, + control/base/dcgain.m, control/base/dgram.m, control/base/dlqr.m, + control/base/dre.m, control/base/impulse.m, control/base/lqe.m, + control/base/lqg.m, control/base/lqr.m, control/base/lsim.m, + control/base/ltifr.m, control/base/nichols.m, + control/base/nyquist.m, control/base/obsv.m, control/base/place.m, + control/base/rlocus.m, control/base/step.m, control/base/tzero.m: + Style fixes. + +2007-11-07 Muthiah Annamalai + + * control/base/bode_bounds.m, control/base/dgram.m, + control/base/dlyap.m, control/base/freqchkw.m, + control/base/gram.m, control/base/place.m, + control/hinf/hinf_ctr.m, control/hinf/hinfsyn_chk.m, + control/hinf/hinfsyn_ric.m, control/system/is_sample.m, + control/system/is_signal_list.m, control/system/ss2tf.m, + control/system/sys2fir.m, control/system/sysgettsam.m, + control/system/sysgettype.m, control/system/sysreorder.m, + control/system/tf2sys.m, control/system/zp2tf.m, + control/util/axis2dlim.m, control/util/swap.m, + control/util/zgfmul.m, control/util/zgfslv.m, + control/util/zginit.m, control/util/zgreduce.m, + control/util/zgrownorm.m, control/util/zgscal.m, + control/util/zgsgiv.m, control/util/zgshsr.m, general/isa.m, + geometry/inpolygon.m, linear-algebra/housh.m, + miscellaneous/compare_versions.m, miscellaneous/inputname.m, + miscellaneous/run.m, quaternion/qconj.m, + quaternion/qcoordinate_plot.m, quaternion/qderiv.m, + quaternion/qderivmat.m, quaternion/qinv.m, quaternion/qmult.m, + quaternion/qtrans.m, quaternion/qtransvmat.m, signal/fractdiff.m, + signal/freqz_plot.m, signal/periodogram.m, signal/rectangle_lw.m, + signal/rectangle_sw.m, signal/sinc.m, signal/triangle_lw.m, + signal/triangle_sw.m, signal/yulewalker.m, sparse/colperm.m, + sparse/etreeplot.m, sparse/nonzeros.m, sparse/spalloc.m, + sparse/spones.m, sparse/spy.m, specfun/isprime.m, + statistics/distributions/empirical_cdf.m, + statistics/distributions/empirical_inv.m, + statistics/distributions/empirical_pdf.m, + statistics/models/logistic_regression_derivatives.m, + statistics/models/logistic_regression_likelihood.m: Check nargin. + +2007-11-07 David Bateman + + * general/gradient.m: Correctly convert deltax and deltay scalar + values are scalars to vectors. + + * plot/__go_draw_axes__.m: Fix surfaces for gnuplot 4.0 and for + the meshc.m function. + * plot/meshc.m: Also use the surface function. + + * plot/meshc.m, plot/quiver.m, plot/surfc.m, : New files. + * plot/Makefile.in (SOURCES): Add them to the list. + Also add pcolor.m, shading.m, surf.m, and surface.m to the list. + +2007-11-07 Michael Zeising + + * audio/wavwrite.m, audio/wavwrite.m: Correct sample scaling. + +2007-11-07 John W. Eaton + + * plot/__go_draw_axes__.m: Also set have_data to false if any of + the data limits are infinite. + (get_data_limits): Don't do anything if xdat or tx are empty. + (get_axis_limits): Don't do anything if min_val or max_val are + infinite. + +2007-11-06 David Bateman + + * plot/hist.m: Pass any additional arguments to bar for + treatment. Create a default x value that is always a vector. + +2007-11-06 Thomas Treichl + + * pkg/pkg.m.m: Check for environment variables CC, CXX, AR, RANLIB + when calling ./configure and add quotes to preserve spaces. + +2007-11-06 Kai Habel + + * plot/pcolor.m, plot/shading.m, plot/surf.m, plot/surface.m: + New files. + * plot/mesh.m: Call surface to do the real work. + * plot/__go_draw_axes__.m: Use pm3d mode to handle new surface + properties. + + * image/colormap.m: Also return current colormap if nargout and + nargin are both 0. + +2007-11-05 Michael Goffioul + + * startup/inputrc: Delete key bindings starting with \340 code. + +2007-11-05 David Bateman + + * linear-algebra/__norm__.m: Scale frobenius norm by infinity norm + to avoid issues of over- and underflow. From Rolf Fabian + . + +2007-11-02 Olli Saarela + + * time/asctime.m, general/structfun.m: Fix broken @examples in + help texts. + +2007-11-02 Kai Habel + + * plot/bar.m, plot/barh.m: Doc fix. + +2007-10-31 John W. Eaton + + * plot/__go_draw_axes__.m: Call undo_string_escapes on obj.keylabel. + +2007-10-31 Michael goffioul + + * plot/subplot.m: Ignore legend objects when parsing existing axes + objects and legend objects are implemented with a separate axes + object. + +2007-10-30 David Bateman + + * control/base/DEMOcontrol.m: Doc fixes for small book format. + + * plot/__go_draw_axes__.m (do_linestyle_command): + Use point type 0 for ".". + +2007-10-26 John W. Eaton + + * image/imshow.m: Improve compatibility. + * image/image.m: Return handle if nargou > 0. + + * pkg/pkg.m: Delete PKG_ADD directive for autoloading packes. + +2007-10-25 John W. Eaton + + * miscellaneous/compare_versions.m: Style fixes. + +2007-10-24 John W. Eaton + + * image/saveimage.m: Use functional form of save instead of eval. + Use -text instead of -ascii. + + * plot/__go_draw_axes__.m: Handle visible = "off" for axes objects. + +2007-10-23 Peter A. Gustafson + + * plot/legend.m: Also extract location string from varargin (lost + when 2007-10-08 patch was applied). + +2007-10-23 David Bateman + + * plot/xlim.m, plot/ylim.m, plot/zlim.m, plot/__axes_limits__.m, + miscellaneous/what.m: New functions + * plot/Makefile.in, miscellaneous/Makefile.in (SOURCES): Add new + functions. + +2007-10-22 David Bateman + + * miscellaneous/cputime.m, time/tic.m, time/toc.m: Delete. + * miscellaneous/Makefile.in (SOURCES): remove cputim.m + * time/Makefile.in (SOURCES): Remov tic.m and toc.m + +2007-10-19 Kai Habel + + * plot/contourf.m: New function. + * plot/Makefile.in (SOURCES): Add it to the list. + +2007-10-19 John W. Eaton + + * plot/subplot.m: Doc fix. + +2007-10-19 David Bateman + + * plot/__bar__.m, plot/fill.m: Call newplot as needed. + +2007-10-17 Carlo de Falco + + * plot/print.m: Handle -textspecial and -textnormal flags for fig + output. + +2007-10-15 S�ren Hauberg + + * general/rat.m, sparse/pcg.m, sparse/pcr.m, optimization/sqp.m, + statistics/models/logistic_regression.m, polynomial/polygcd.m, + control/system/ss.m, signal/arch_rnd.m, control/system/ss2sys.m, + control/system/syssetsignals.m, control/base/lqg.m, + strings/str2double.m, control/system/sysscale.m, + control/hinf/hinfdemo.m, general/cplxpair.m: + Make help text fit on pages when using smallbook. + +2007-10-15 David Bateman + + * plot/print.m: Call drawnow before printing to ensure the plot is + on the screen. + + * testfun/test.m: In error/warning blocks test for an error before + a warning to avoid unexpected failures. + +2007-10-15 Kim Hansen i + + * testfun/assert.m: Correct documentation of absolution versus + relative error tolerance and add tests. + +2007-10-14 David Bateman + + * pkg/pkg.m (pkg:configure_make): Treat case of no files to install in + src directory. + * plot/Makefile.in (SOURCES): Add fill.m. + +2007-10-13 David Bateman + + * plot/__patch__.m: Allow multiple patches to be defined and + return a single patch object. Allow Faces/Vertices form of + patch. Flag failure so the patch can call print_usage. + * plot/patch.m: Update help string for Faces/Vertices + call. Respect the fail flag returned by __patch__. Add demo code + that tests the functionality of patch. + * plot/__go_draw_axes__.m: Treat an array of patches in a single + patch object. + * plot/fill.m: New function. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-11 John W. Eaton + + * plot/__go_draw_axes__.m (get_axis_limits): + Return lim = [] if logscale and no positive values. + (__go_draw_axes__): Skip plotting if computed axis limits are empty. + Set initial min and min positive values to Inf, max values to -Inf. + (get_data_limits): Correctly handle xminp when no positive values + are found. + +2007-10-11 Ben Abbott + + * polynomial/residue.m: New optional input for pole multiplicity. + Doc fix. Fix tests. + +2007-10-11 Thomas Treichl + + * toplev.cc (Foctave_config_info): Add field "mac". + + * miscellaneous/ismac.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to the list. + * miscellaneous/ispc.m, miscellaneous/isunix.m: Doc fix. + +2007-10-11 Arno Onken + + * statistics/distributions/hygernd.m: Allow size to be specified + as a scalar. Handle three argument case. Allow T, M, and N to be + scalars or matrices of a common size. + +2007-10-11 Brian Gough + + * control/csrefcard.lt, control/system/is_detectable.m, + control/system/sysgroup.m, geometry/voronoin.m, + miscellaneous/dir.m, sparse/pcg.m, sparse/treeplot.m, + statistics/base/mode.m, statistics/distributions/betarnd.m, + statistics/distributions/binornd.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/exprnd.m, + statistics/distributions/frnd.m, + statistics/distributions/gamrnd.m, + statistics/distributions/geornd.m, + statistics/distributions/laplace_rnd.m, + statistics/distributions/logistic_rnd.m, + statistics/distributions/lognrnd.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/normrnd.m, + statistics/distributions/poissrnd.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/trnd.m, + statistics/distributions/unifrnd.m, + statistics/distributions/wblrnd.m: Spelling fixes. + +2007-10-10 Thomas Treichl + + * time/tic.m: New optional output value. + + * general/int2str.m: Doc fix. + +2007-10-10 Arno Onken + + * statistics/distributions/hygecdf.m, + statistics/distributions/hygeinv.m, + statistics/distributions/hygepdf.m, + statistics/distributions/hygernd.m: + Swap order of T and M args for compatibility. + +2007-10-10 Olli Saarela + + * control/hinf/hinfsyn.m, control/hinf/wgt1o.m, + control/system/buildssic.m, control/system/c2d.m, + control/system/d2c.m, control/system/ord2.m, control/system/ss.m, + control/system/ss2sys.m, control/system/ss2tf.m, + control/system/syscont.m, control/system/sysdimensions.m, + control/system/sysdisc.m, control/system/sysmult.m, + control/system/sysrepdemo.m, control/system/tf2ss.m, elfun/lcm.m, + finance/fv.m, general/cumtrapz.m, general/gradient.m, + general/interp1.m, general/interp2.m, general/interp3.m, + general/interpft.m, general/interpn.m, general/polyarea.m, + general/rat.m, general/structfun.m, general/trapz.m, + geometry/tsearchn.m, image/rgb2hsv.m, linear-algebra/krylov.m, + miscellaneous/ans.m, miscellaneous/gzip.m, optimization/glpk.m, + optimization/sqp.m, plot/findobj.m, plot/legend.m, plot/peaks.m, + plot/plot3.m, plot/stem.m, polynomial/deconv.m, + polynomial/pchip.m, polynomial/spline.m, polynomial/unmkpp.m, + sparse/pcr.m, sparse/spalloc.m, sparse/spconvert.m, + specfun/factor.m, specfun/legendre.m, statistics/base/mean.m, + statistics/base/meansq.m, statistics/base/var.m, + statistics/tests/chisquare_test_independence.m, + statistics/tests/t_test.m, statistics/tests/u_test.m, + strings/dec2base.m, strings/mat2str.m, testfun/speed.m, + testfun/test.m: Spelling fixes. + +2007-10-10 Ben Abbott + + * polynomial/mpoles.m: Return indx = ordr(indx), not indx(ordr). + +2007-10-10 John W. Eaton + + * general/num2str.m: Always allow for sign for automatically + computed format widths. + +2007-10-09 David Bateman + + * plot/patch.m: Accept a handle as the first argument. + +2007-10-09: Kim Hansen + + * general/repmat.m: Handle sparse input. Add tests. + +2007-10-09 John W. Eaton + + * audio/wavwrite.m: Accept arguments in compatible order. + +2007-10-08 David Bateman + + * general/interp2.m: Relax test for values outside the grid to + allow monotonically decreasing abscissa as well. + +2007-10-08 Ben Abbott + + * polynomial/residue.m: Doc fix. Add tests. Restore multiplicity + as output parameter. + +2007-10-08 Peter A. Gustafson + + * plot/__go_draw_axes__.m, plot/legend.m: + Handle compatible position specifiers as strings. + +2007-10-08 John Swensen + + * general/num2str.m: Eliminate extra whitespace in output. + * strings/strtrim.m: New function. + * strings/Makefile.in (SOURCES): Add it to the list. + +2007-10-06 John W. Eaton + + * polynomial/residue.m: New test from test/test_poly.m. + +2007-10-06 S�ren Hauberg + + * image/saveimage.m: Handle saving color images without a colormap. + * image/__img_via_file__.m: Add missing semicolon. + +2007-10-06 Bill Denney + + * general/__splinen__.m, general/isscalar.m, general/rat.m, + strings/dec2base.m: Use numel(x) instead of prod(size(x)). + +2007-10-06 Francesco Potorti` + + * plot/print.m: Handle svg output type. Accept new -S option to + specify size for PNG and SVG output types. + +2007-10-05 Ben Abbott + + * polynomial/mpoles.m: New function. + * polynomial/residue.m: Modified to behave in reciprocal + manner. No longer compute 4th output, "e". No longer accept + tolerance input. Explicitly set tolerance parameter to 0.001. + Respect maximum relative difference in poles when determining + their multiplicity. Use mpoles to determine the multiplicity of + poles. + +2007-10-05 Peter A. Gustafson + + * plot/__go_draw_axes__.m: Add cbrange to the plot stream + for surface plots. + +2007-10-05 John W. Eaton + + * plot/__next_line_color__.m: Get color_rotation from axes + colororder property. + +2007-10-03 John W. Eaton + + * miscellaneous/dir.m: Handle symbolic links in compatible way. + Use S_ISDIR (st.mode) instead of checking st.modestr(1) == "d". + + * linear-algebra/Makefile.in (SOURCES): Rename norm.m to __norm__.m. + * linear-algebra/__norm__.m: Rename from norm.m. Eliminate + special for __vnorm__. + +2007-10-03 Quentin Spencer + + * linear-algebra/norm.m: Special case vector 1-norm and 2-norm. + +2007-10-03 David Bateman + + * pkg/pkg.m (is_architecture_dependent): New function to identify + if a file is architecture dependent based on a list of file + extensions. + (configure_make): Simplify the search for architecture dependent + files based on this function. + (load_pakages_and_dependencies): Also look for bin directory in + the architecture dependent directory. + +2007-10-03 John W. Eaton + + * miscellaneous/dir.m: Create empty struct with field names. + Include datenum in struct. + +2007-10-02 David Bateman + + * miscellaneous/ls.m: If nargout return string array of files + returned by ls. + +2007-10-01 John W. Eaton + + * plot/__go_draw_axes__.m: Use %.15e instead of %.15g when setting + range values. + +2007-10-01 David Bateman + + * linear-algebra/norm.m: Inline the isvector(x) calculation for + speed with small vectors. + * pkg/pkg.m (archprefix): Set using octave_config_info("libexecdir") + rather than OCTAVE_HOME(). + +2007-09-30 Ben Abbott + + * plot/findobj.m: New function. + * plot/Makefile.m (SOURCES): Add it to SOURCES. + +2007-09-26 David Bateman + + * pkg/pkg.m: Add second argument to setting for prefix for + architecture dependent files. Use throughout. + (pkg:issuperuser): New function, use through to check for + root user. + (pkg:getarchprefix): function to give the archiecture dependent + prefix for a package. + (pkg:getarchdir): New function giving location of architetcure + dependent directory. Use through out. + (pkg:install): Treat architecture dependent directory separately + as in might not be a sub-directory of the package directory. + (pkg:uninstall): ditto. + (pkg:create_pkgadddel): Check for global or local install for + architecture dependent directory. + (pkg:finish_installation): ditto. + (pkg:write_INDEX): ditto. + (pkg:load_packages_and_dependencies): ditto. + (pkg:copy_files): ditto. Add step to copy architecture dependent + files to a new location if user is root. + (pkg:rm_rf): Check if file or directory exists before removing. + (pkg:dirempty): Check if directory exists before checking. + + * plot/___patch__.m: Allow face colors to be passed as strings + + * plot/__plt_get_axis_arg__.m: Treat case of empty "varargin" + needed for calls to "hold" without an argument. + +2007-09-21 John W. Eaton + + * optimization/sqp.m: Fix typo. + + * plot/__go_draw_axes__.m (do_tics_1): Use %g, not %.15g here. + +2007-09-21 Luther Tychonievich + + * control/hinf/h2norm: Compute d*d', not d'*d. + +2007-09-21 Thomas Weber + + * statistics/distributions/Makefile.in (SOURCES): Add unidcdf.m, + unidpdf.m and unidinv.m + +2007-09-18 John W. Eaton + + * plot/__go_draw_axes__.m: Use %.15g throughout. + (do_tics_1): Set numeric axes formats to "%.15g". + +2007-09-18 David Bateman + + * plot/__go_draw_axes__.m (__gnuplot_write_data__): Use %e instead + of %g when writing data. + +2007-09-17 John W. Eaton + + * plot/__go_draw_axes__.m: Omit linestyle clause for errorbar plots. + +2007-09-14 Ulrich Tipp + + * miscellaneous/bincoeff.m: Fix calculation of bincoeff (n, k) for + noninteger N with N-K < 1. + +2007-08-04 Jean-Francois Cardoso + + * strings/index.m: Correct for strings differing after the third + position (bug reported by Maude Martin). + +2007-09-13 John W. Eaton + + * plot/__default_colormap__.m: Delete. + * plot/Makefile (SOURCES): Remove from the list. + +2007-09-13 Christof Zeile + + * pol2cart.m: Make it work with mixed scalar/nonscalar arguments. + +2007-09-10 David Bateman + + * plot/__go_draw_axes__.m: Allow gnuplot 4.0 with patches, but + limit the selection of colors in the same way as for lines. + * plot/__patch__.m: Allow matrix arguments with one patch per + column. + * plot/__bar__.m: Adapt to use "patch". + +2007-09-06 John W. Eaton + + * plot/drawnow.m (drawnow): New arg, debug_file. + (init_plot_stream): Split from open_plot_stream. + * plot/print.m: Accept -debug=FILE argument. + +2007-09-06 David Bateman + + * general/celldisp.m: New function. + * general/Makefile.in (SOURCES): Add celldisp.m. + * miscellaneous/swapbytes.m: New function. + * miscellaneous/gzip.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add swapbytes.m and gzip.m. + +2007-09-05 David Bateman + + * general/structfun.m: New function. + * general/Makefile.in (SOURCES): Add it to sources. + * miscellaneous/run.m: New function. + * miscellaneous/Makefile.in (SOURCES): Add it to sources. + * statistics/base/mode.m: New function. + * statistics/base//Makefile.in (SOURCES): Add it to sources. + +2007-09-05 John W. Eaton + + * miscellaneous/orderfields.m: Use numel instead of length. + +2007-09-05 Michael goffioul + + * miscellaneous/orderfields.m: Handle empty structs. + +2007-09-05 John W. Eaton + + * plot/__go_draw_axes__.m: Consistently index PARAMETRIC with + DATA_IDX. + +2007-09-04 David Bateman + + * general/isdir.m: Return a logical value. + +2007-09-04 David Bateman + + * statistics/distributions/chi2pdf.m, + statistics/distributions/chi2cdf.m, + statistics/distributions/chi2inv.m: Modifiy the call to the gamma + distribution functions to account for inverse of scale factor in + gamma functions. + +2007-09-01 John W. Eaton + + * plot/Makefile.in (SOURCES): Add ancestor.m to the list. + +2007-09-01 David Bateman + + * polynomial/polyint.m: New function like polyinteg but with + explicit integration constant. + * polynomial/polyinteg.m: Remove. + * polynomial/Makefile.in (SOURCES): Add polyint.m and remove + polyinteg.m. + * deprecated/polyinteg.m: Move version here. + * deprecated/Makefile.in (SOURCES): Add polyinteg.m. + + * geometry/voronoi.m: Add large box around data to get a good + approximation of the rays to infinity. + +2007-08-31 Michael goffioul + + * plot/axes.m: Allow parent to be specified when creating axes + objects. Support non-figure parents. + +2007-08-31 John W. Eaton + + * plot/ancestor.m: New function, adapted from Octave Forge. + +2007-08-31 S�ren Hauberg + + * polynomial/polygcd.m: Better layout of example. + * polynomial/compan.m: Remove unnecessary check. + * polynomial/roots.m: Added example to help text. + * polynomial/polyderiv.m: Change 'polyder' to 'polyderiv' in help text. + * polynomial/poly.m: Added example to help text. + +2007-08-30 John W. Eaton + + * optimization/qp.m: Increase maxit to 200. + +2007-08-30 David Bateman + + * geometry/inpolygon.m: New file. + * geometry/Makefile.in (SOURCES): Add inpolygon.m. + +2007-08-29 Peter A. Gustafson + + * plot/__go_draw_axes__.m: Disable linetype in do_linestyle_command. + +2007-08-24 David Bateman + + * plot/__go_draw_axes__.m: Treat text color property. + +2007-08-24 John W. Eaton + + * plot/subplot.m, plot/plot.m, plot/grid.m: + Use p = get (h, "prop") instead of obj = get (h); p = obj.prop. + + * miscellaneous/movefile.m: Separate second and third args and + use p1 and p2, not f1 and f2 when constructing arguments for + calls to system. From Michael Goffioul . + +2007-08-24 Michael Goffioul + + * set/intersect.m: Make it work with cell arrays of strings. + +2007-08-24 David Bateman + + * geometry/convhull.m, geometry/delaunay.m, geometry/delaunay3.m, + geometry/griddata.m, geometry/voronoi.m, geometry/voronoin.m: New + functions ported from octave-forge. + * geometry/delaunayn.m, geometry/dsearch.m, geometry/dsearchn.m, + geometry/griddata3.m, geometry/griddatan.m, geometry/trimesh.m, + geometry/triplot.m, geometry/tsearchn.m: + New functions. + * geometry/voronoi.m: Remove duplicate edges from Voronoi diagram. + * geometry/Makefile.in (SOURCES): Add functions above. + * configure.in (AC_CONFIG_FILES): Add new file geometry/Makefile. + +2007-08-23 John W. Eaton + + * pkg/pkg.m: Avoid using installed_packages for both function and + variable name. + +2007-08-23 David Bateman + + * plot/plot.m: Allow first arg to be axes handle. + +2007-08-22 David Bateman + + * control/base/nichols.m: Correct for misnamed variable, and ensure + outputs are returned only if requested. + +2007-08-22 Donald Parsons + + * control/base/nichols.m: Fix typo. + +2007-08-13 John W. Eaton + + * plot/meshgrid.m: Use repmat instead of multiplication. + +2007-08-10 Peter A. Gustafson + + * plot/__go_draw_axes__.m: Add axes position to the usingclause, + use axes position in each appropriate gnuplot set statement. + +2007-08-10 John W. Eaton + + * image/Makefile.in (DISTFILES): Also include $(IMAGES) in the list. + (install install-strip): Use $(IMAGES), not $(IMAGE_FILES_NO_DIR). + (uninstall): Use $(IMAGES), not $(IMAGE_FILES_NO_DIR). + (IMAGE_FILES, IMAGE_FILES_NO_DIR): Delete obsolete variables. + +2007-08-10 Kai Habel + + * plot/patch.m, plot/__patch__.m: New files. + * plot/Makefile.in (SOURCES): Add them to the list. + +2007-08-07 John W. Eaton + + * path/savepath.m: Use single quotes for argument to PATH command + that is inserted in file. + +2007-07-27 John W. Eaton + + * plot/drawnow.m: Only set default value for term if GNUTERM is + not set in the environment. + +2007-07-25 David Bateman + + * Makefile.in, audio/Makefile.in, control/Makefile.in, + control/base/Makefile.in, control/hinf/Makefile.in, + control/obsolete/Makefile.in, control/system/Makefile.in, + control/util/Makefile.in, deprecated/Makefile.in, + elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, + image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, optimizaton/Makefile.in, + path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, quaternion/Makefile.in, + set/Makefile.in, signal/Makefile.in, sparse/Makefile.in, + specfun/Makefile.in, special-matrix/Makefile.in, + startup/Makefile.in, statistics/Makefile.in, + statistics/base/Makefile.in, statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: + Adjust DISTFILES to allow out of tree "make dist" to work. + +2007-07-25 John W. Eaton + + * plot/__plt2__.m: Return [](0x1) if both X and Y are empty. + +2007-07-24 David Bateman + + * image/flag.m: New colormap function. + * images/Makefile.in: Include it in SOURCES. + + * image/autumn.m image/bone.m image/cool.m image/copper.m + image/hot.m image/hsv.m image/jet.m image/pink.m image/prism.m + image/rainbow.m image/spring.m image/summer.m image/white.m + image/winter.m, image/brighten.m: Use isscalar and not is_scalar. + * image/gray.m, image/ocean.m: Use the same means of finding the + number of colormap elements as the other colormap functions. + +2007-07-24 Kai Habel + + * plot/__go_draw_axes__.m: Handle patch. + +2007-07-23 David Bateman + + * general/rat.m: New function for ration approximation imported + from octave-forge. + * general/del2.m: New function for discrete laplacian operator. + * general/Makefile.in: Include rat.m and del2.m in SOURCES. + + * image/autumn.m image/bone.m image/cool.m image/copper.m + image/hot.m image/hsv.m image/jet.m image/pink.m image/prism.m + image/rainbow.m image/spring.m image/summer.m image/white.m + image/winter.m, image/brighten.m: Port image functions from + octave-forge. + * image/Makefile.in: Add ported functions to SOURCES. + * image/gray.m, image/ocean.m: Don't set the colormap for + compatibility with matlab. + + * plot/meshc.m, plot/peaks.m: Port plotting function from + octave-forge + * plot/Makefile.in: Add ported functions to SOURCES. + * plot/__go_draw_axes__.m: Set the palette for the surfaces if + using gnuplot 4.2 or greater. + +2007-07-23 Claudio Belotti + + * general/cart2sph.m: Fix unbalanced paranthesis. + +2007-07-19 David Bateman + + * plot/fplot.m: More compatible version. + +2007-07-18 Michael Goffioul + + * plot/clf.m: Check for valid handle before deleting. + + * plot/figure.m: Pass "figure" property/value pairs directly to + __go_figure__ instead of using regular "set" call. + +2007-07-18 Paul Kienzle + + * plot/drawnow.m: Prefer GNUTERM to DISPLAY when choosing terminal + type for gnuplot. + +2007-07-18 John W. Eaton + + * plot/__go_draw_axes__.m: Unconditionally send "unset label" to + gnuplot for each set of axes. + +2007-07-18 David Bateman + + * statistics/distributions/gamcdf.m, statistics/distributions/gaminv.m, + statistics/distributions/gampdf.m, statistics/distributions/gamrnd.m, + statistics/distributions/expcdf.m, statistics/distributions/expinv.m, + statistics/distributions/exppdf.m, statistics/distributions/exprnd.m: + Use standard scale factor rather than one on the scale factor for + compatibility. + + * deprecated/gamma_cdf.m, deprecated/gamma_inv.m, + deprecated/gamma_pdf.m, deprecated/gamma_rnd.m, + deprecated/exponential_cdf.m, deprecated/exponential_inv.m, + deprecated/exponential_pdf.m, deprecated/exponential_rnd.m: + Preserve backward compatibility. + +2007-07-17 Michael Goffioul + + * pkg/pkg.m (pkg:installed_packages): Use findstr rather than regexp + to avoid issues with regexp special characters in the path strings. + +2007-07-06 David Bateman + + * general/accumarray.m: New function to create an array by + accumulating the elements. + +2007-06-29 Marcus W. Reble + + * optimization/sqp.m (sqp): New args, lb, ub, maxiter, and tolerance. + (fdjac): Set nx outside of if block. + (cf_ub_lb, cigrad_ub_lb): New subfunctons. + +2007-06-28 Michael Goffioul + + * plot/subplot.m: Add 'ishandle' check when parsing the existing axes. + + * plot/axis.m: Also set "visible" property when setting axes to + on/off. + +2007-06-27 Michael Goffioul + + * image/colormap.m: Only return colormap if nargout > 0. + Mark as command. + +2007-06-25 John W. Eaton + + * plot/drawnow.m, plot/__go_draw_axes__.m: Use strcmpi instead of + strcmp for selected property comparisons. + +2007-06-25 S�ren Hauberg + + * image/imshow.m: Fix check for colormap arguments. + +2007-06-25 Joel Keay + + * plot/drawnow.m: Handle GNUTERM=aqua if DISPLAY is not set. + +2007-06-25 S�ren Hauberg + + * statistics/base/median.m: Update help text to mention 'dim' + argument, and note that the data should be sorted for the + definition of the median to be correct. + + * statistics/base/std.m: Add missing square to definition of + standard deviation. + + * statistics/base/cov.m: Add definition of covariance to the help text. + + * statistics/base/kurtosis.m, statistics/base/skewness.m, + statistics/base/std.m: + Note that \bar{x} is the mean value of x in the help text. + + * specfun/nchoosek.m: Add alternative definition of the binomial + coefficient to the help text. + + * specfun/perms.m, statistics/base/values.m: Add example in help text. + + * statistics/base/var.m: Put N in @math in help text. + + * statistics/base/qqplot.m, statistics/base/ppplot.m, + statistics/tests/kolmogorov_smirnov_test.m: + Write about possible values of 'dist' in help text. + + * statistics/base/corrcoef.m, statistics/base/cor.m: + Add definition of correlation to the help text. + + * statistics/base/logit.m, statistics/base/kendall.m, + statistics/base/cloglog.m, statistics/tests/hotelling_test_2.m, + statistics/distributions/wblcdf.m, statistics/distributions/wblpdf.m: + TeXification of help text. + + * statistics/tests/hotelling_test.m: Write T^2 in @math in help text. + + * statistics/tests/var_test.m, statistics/tests/welch_test.m: + Add missing @var's to help text. + + * statistics/models/logistic_regression.m: Fix typos in help text. + + * statistics/distributions/kolmogorov_smirnov_cdf.m: Fix TeX part + of help text. + + * statistics/distributions/unidinv.m: Add a missing 'discrete' to + help text. + + * statistics/distributions/unidpdf.m, + statistics/distributions/discrete_pdf.m: + Replace 'pDF' with 'PDF' in help text. + +2007-06-25 John W. Eaton + + * strings/substr.m: Use offset consistently in code and doc string. + From Rafael Laboissiere . + +2007-06-25 Pete Gustafson + + * plot/__go_draw_axes__.m: Handle units for text objects. + +2007-06-25 John W. Eaton + + * plot/__go_draw_axes__.m: Handle char arrays for tic labels. + Recycle tic labels if necessary. From Juhani Saastamoinen + . + +2007-06-20 John W. Eaton + + * strings/index.m: Allow strings to be empty. + From Hartmut Wziontek + + * plot/__go_draw_axes__.m (do_tics_1): Fix typo (xtic -> tics). + +2007-06-19 Vittoria Rezzonico + + * sparse/pcg.m: Allow the preconditioner to be passed as two + separate matrices. + +2007-06-19 David Bateman + + * plot/axis.m: Prefer to use legend rather than the older Octave + only ";;" legend syntax. + * polynomial/mkpp.m: ditto. + * polynomial/pchip.m: ditto. + * signal/freqz_plot.m: ditto. + * sparse/gplot.m: ditto. + * sparse/treeplot.m: ditto. + +2007-06-19 John W. Eaton + + * plot/__go_draw_axes__.m (do_tics, do_tics_1): New functions. + (__go_draw_axes__): Call do_tics to handle tic marks. + +2007-06-18 S�ren Hauberg + + * general/interp1.m, general/interp2.m, general/interp3.m, + general/interpn.m: Replace, NaN with NA. Use isna instead of == + to check for NA. + +2007-06-18 S�ren Hauberg + + * optimization/glpk.m: TeXified the help text. + * optimization/qp.m: TeXified the help text. + * optimization/sqp.m: TeXified the help text. + +2007-06-16 S�ren Hauberg + + * plot/legend.m: Replace 'vargin' with 'varargin'. + +2007-06-15 John W. Eaton + + * plot/__go_draw_axes__.m: Only attempt label rotation if + have_newer_gnuplot is true. + +2007-06-15 Pete Gustafson + + * plot/__go_draw_axes__.m Handle rotation arg for axis labels. + * plot/__axis_label__.m Assign ylabel default rotation property + to 90, all others 0. + + * plot/__errplot__.m: Set ifmt from fmt.linestyle. + * plot/__go_draw_axes__.m: Removed undefined tx from call to + get_data_limits. + * plot/__plotopt1__.m: Intercept and strip format string when + called by __errplot__. + +2007-06-15 John W. Eaton + + * testfun/test.m: Also return number of expected failures. + +2007-06-14 John W. Eaton + + * set/ismember.m: Mark two tests known to fail with xtest. + + * plot/__go_draw_axes__.m: Handle text rotation property. + +2007-06-14 Paul Kienzle + + * testfun/test.m: Add xtest support for tests known to fail. + +2007-06-14 Sebastian Schubert + + * plot/print.m: Handle pstex, pslatex, epslatex, and + epslatexstandalone terminals. + +2007-06-14 David Bateman + + * general/__splinen__.m: Check also for ND vectors. Fix for N > 2, + as permutation of results was incorrect. + * general/interp1.m: Add demo on second derivative + * general/interpn.m: Convert "y" to vectors for __splinen__ + call. Add 3D demo. Fix typos + * general/interp3.m: Fix typos. Correct permutation for use of + interpn. + * polynomial/mkpp.m: Correction for matrices of 3 or more dimensions. + +2007-06-13 John W. Eaton + + * miscellaneous/mkoctfile.m: Quote args too. + +2007-06-13 Michael Goffioul + + * miscellaneous/mkoctfile.m: Quote script name for call to system. + +2007-06-12 Michael Goffioul + + * plot/__pltopt1__.m: Set linestyle to "none" instead of "". + Set have_linestyle to true if two character linestyle is found. + +2007-06-12 David Bateman + + * general/Makefile.in (SOURCES): Include __spline__.m, interp3.m + and interpn.m. + + * pkg/pkg.m (pkg:load_package_dirs): Check for field "loaded" in + structure before using it. + +2007-06-12 David Bateman + + * general/interp1.m: Change examples to use new graphics interface. + * general/__splinen__.m: New support function for N-dimensional + spline interpolation. + * general/bicubic.m: Allow definition of extrapolation + value. Adapt tests to use new graphics interface + * general/interp2.m: Call __splinen__ for 2-D spline + interpolation. Make the lookup table code only be called for + linear and nearest methods. + * general/interpn.m: New function for N-dimensional, linear, nearest + and spline interpolation. + * general/interp3.m: New function for 3-dimensional, linear, nearest + and spline interpolation. + * polynomial/spline.m: Change examples to use new graphics interface. + +2007-06-12 Steve M. Robbins + + * statistics/tests/wilcoxon_test.m: Error if N <= 25. + +2007-06-12 S�ren Hauberg + + * plot/fplot.m: If function is inline, vectorize it. + +2007-06-10 David Bateman + + * pkg/pkg.m (pkg:installed_packages): truncate start of package + directory if need to, so that it fits on a line. + +2007-06-07 David Bateman + + * pkg/pkg.m (pkg): For rebuild target, force package order in + saved file so that dependent packages are loaded first, and if + nargout==0 don't return any arguments. + (pkg:install): Only load packages that are marked autoload after + install. Various fixes. Save in order. + (pkg:uninstall): Save in order + (pkg:load_packages): Use load_package_and_dependencies to load + packages. + (pkg:save_order): New function to sort package list with dependent + packages first. + (pkg:load_packages_and_dependencies): New function to load both a + list of packages and their dependencies. + (pkg:load_package_dirs): New function that returns a vector of the + indexes into the installed package list indicating the packages to + load and the order to load them in to respect the dependencies. + +2007-06-03 S�ren Hauberg + + * plot/axes.m: Eliminate redundant else clause. + +2007-06-03 David Bateman + + * polynomial/spline.m: Add a small tolerance to spline tests. + * pkg/pkg.m: Protect against multiple actions being define. + +2007-06-01 David Bateman + + * pkg.m (pkg:is_superuser): Remove function used in one place and + incorporate into main pkg function. + (pkg:install): Check for existence of files to install before + globbing and warn the user if they don't exist. + +2007-05-31 David Bateman + + * miscellaneous/copyfile.m: Split copying of multiple files to a + directory over several copy command to limit the line length. + * miscellaneous/movefile.m: Ditto. + + * pkg.m: Add build option to allow binary Octave packages to be + built from source packages. Probe absolute path of prefix, global + and local lists. Use strcat, rather that [] for strings. + (pkg:build): New function to binary binary package. + (pkg:absolute_pathname): Use fileattrib to probe absolute path. + (pkg:repackage): Package binary Octave package from installation. + (pkg:create_pkgadddel): Extract PKG_ADD and PKG_DEL directives + from m-files into main installation directory. + (pkg:shell): Suppress verbose messages from shell and only display + them with the verbose flag. + (pkg:installed_packages): Also include the loaded flag in the + local and global packages. + (pkg:uninstall): On uninstall, only rmpath the package if it is + flagged as loaded. + +2007-05-31 Michael Goffioul + + * pkg.m (pkg:load_packages): Correctly load a mix of packages + with and without architecture dependent directories. + (pkg:installed_packages): Probe the global_list file even if it is + the same as the local_list. + +2007-05-29 John W. Eaton + + * sparse/spy.m: Set axis to "ij" mode. + +2007-05-24 John W. Eaton + + * set/ismember.m: Quote first arg of "fail" tests. + +2007-05-24 David Bateman + + * pkg/pkg.m (pkg:rebuild): Thinko in rebuild logic. + +2007-05-22 David Bateman + + * pkg/pkg.m: Use rethrow(lasterror()) throughout rather than + error(lasterr()(8:end)). + (pkg:install): Warning for empty packages being removed. Suppress + spurious output. Warning rather than error for uninstalling a + package that is not installed to avoid RPM issue. + (pkg:configure_make): Fix for parsing of src/FILES. Don't create + inst or architecture dependent directory if it exists. + +2007-05-22 Thomas Weber + + * ChangeLog, control/system/is_stabilizable.m, general/bicubic.m, + image/ind2gray.m, image/saveimage.m, plot/box.m, plot/grid.m, + signal/freqz.m: Fix typos. + +2007-05-21 David Bateman + + * pkg/pkg.m: Add rebuild target, and -local, -global option to + force installation location. + (rebuild): New subfunction to rebuild package database from + installed packages. Also allows changing of autoload status + (install): Warn use if attempting to install from non existent + file. + (issuperuser): Use 'geteuid() == 0' instead of 'strcmp (getenv( + "USER", "root"))' for root test. + +2007-05-21 Michael Goffioul + + * miscellaneous/copyfile.m: check for cp.exe on Windows platforms + and replace "\" characters with "/". + * pkg/pkg.m: Use shell rather than system throughout. Replace "\" + characters with "/" throughout. + (shell): New subfunction that wraps system and is careful with the + shell on windows platforms. + (configure_make): Explictly pass complier etc to configure + process. + (issuperuser): Force default to global install for Windows machines. + +2007-05-19 Kristan Onu + + * plot/Makefile.in (SOURCES): Remove hbar.m and add barh.m. + +2007-05-18 David Bateman + + * pkg/pkg.m (install): More verbosity. + (configure_make): Ditto. + (create_pkgadddel): Install in architecture dependent directory if + it exists to address issues with autoload/mfilename. + (write_INDEX): Check in archiecture dependent directories as well. + +2007-05-17 David Bateman + + * plot/hbar.m: Remove. + * plot/barh.m: and move it here. + +2007-05-16 S�ren Hauberg + + * general/sub2ind.m, general/ind2sub.m: Doc fix. + +2007-05-16 John W. Eaton + + * general/logspace.m: Return second arg if fewer than two values + are requested. + +2007-05-14 John W. Eaton + + * plot/__go_draw_figure__.m: Ensure that a reset commands starts + on a new line. + +2007-05-14 Tarmigan Casebolt + + * statistics/distributions/norminv.m, + statistics/distributions/norminv.m, + statistics/distributions/normpdf.m, + statistics/distributions/normrnd.m: + Use standard deviation, not variance. + * statistics/distributions/lognpdf.m: Adapt to change in norminv. + * statistics/distributions/logninv.m: Refer to norminv, not normal_inv. + * deprecated/normal_cdf.m, deprecated/normal_inv.m, + deprecated/normal_pdf.m, deprecated/normal_rnd.m: Preserve + backward compatibility. + +2007-05-14 David Bateman + + * pkg/pkg.m: Mark loaded packages with "*". + +2007-05-13 S�ren Hauberg + + * miscellaneous/single.m: Doc fix. + Convert to double instead of returning argument unchanged. + + * miscellaneous/doc.m: Doc fix. + + * miscellaneous/ver.m: Doc fix. + Don't display information about Octave Forge. + +2007-05-12 David Bateman + + * pkg/pkg.m: Add a "-verbose" option that allows all output of an + install to be printed. An error in the on_uninstall script causes + a failure to uninstall. Place oct- and mex-files in an + architecture dependent directory. + +2007-05-09 John W. Eaton + + * plot/__go_draw_axes__.m: Break plot command over multiple lines. + +2007-05-09 G. D. McBain + + * statistics/distributions/normcdf.m: Use standard deviation + instead of variance for compatibility. + +2007-05-08 John W. Eaton + + * set/unique.m, set/ismember.m: Use numel(x) instead of prod(size(x)). + + * set/ismember.m: Always return logical values. + + * set/ismember.m: Return early if no matches are found. New tests. + From David Grohmann . + + * general/__isequal__.m: Allow numeric values of different classes + to compare equal. + +2007-05-07 David Bateman + + * sparse/spy.m: Reverse Y axis for new graphics code. Make more + compatiable, accepting LineSpec and markersize arguments. + +2007-05-02 John W. Eaton + + * plot/__go_draw_axes__.m: Convert NA to NaN before writing. + +2007-05-02 G. D. McBain + + * contour.m: Rewrite help string. + +2007-04-28 John W. Eaton + + * miscellaneous/unzip.m, miscellaneous/untar.m, + miscellaneous/bunzip2.m, miscellaneous/gunzip.m: + Special case nargout == 0. + +2007-04-27 Kim Hansen + + * general/sub2ind.m: Handle empty input, add tests. + +2007-04-27 G. D. McBain + + * plot/contourc.m: Doc fix. + +2007-04-26 David Bateman + + * plot/hist.m: Partially remove previous patch. + +2007-04-26 David Bateman + + * plot/hist.m: Support returning of handle + * plot/__bar__.m: __pltopt__ should only be called on strings or + cells. + +2007-04-25 John W. Eaton + + * plot/__go_draw_axes__.m: For images, set titlespec{data_idx} to + "title \"\"", not "". + + * plot/legend.m: Initialize WARNED to false. + +2007-04-24 John W. Eaton + + * io/beep.m: Fix cut and paste error. + From S�ren Hauberg . + +2007-04-23 John W. Eaton + + * plot/box.m: Delete extra endfunction keyword. + +2007-04-23 David Bateman + + * plot/plot3.m: Call newplot. + +2007-04-20 John W. Eaton + + * plot/Makefile.in (SOURCES): Fix typo in adding __bar__.m to the list. + +2007-04-19 John W. Eaton + + * miscellaneous/unpack.m: Use gzip -d and bzip2 -d instead of + gunzip and bunzip. From Michael Goffioul . + +2007-04-19 A. S. Hodel + + * control/util/axis2dlim.m: Delete extraneous line. + +2007-04-18 John W. Eaton + + * specfun/factorial.m: Increase tolerance in large value test. + +2007-04-18 David Bateman + + * __bar__.m: New support function for bar/hbar to support graphic + handles, and additional arguments. + * bar.m: Convert to use __bar__. + * hbar.m: New function + * hist.m: Explicitly set the width of the bar plot. + +2007-04-17 John W. Eaton + + * plot/stem.m (stem_line_spec): Pass false as third arg to __pltopt__. + + * set/ismember.m: New tests. + From David Grohmann + +2007-04-17 Paul Kienzle + + * specfun/factorial.m: Use gamma function instead of cumprod. + Add tests. + +2007-04-16 John W. Eaton + + * gethelp.cc (looks_like_octave_copyright): Use same logic as in + looks_like_copyright in src/help.cc. + From S�ren Hauberg . + + * plot/__go_draw_axes__.m: For log plots, omit zero values too. + +2007-04-13 John W. Eaton + + * optimization/sqp.m: Initialize info to 0. + + * optimization/qp.m: Undo previous change. + +2007-04-13 Geordie McBain + + * spdiags.m: Fixed the four-argument case to work for columns of + length one. + +2007-04-12 John W. Eaton + + * optimization/qp.m: Avoid Octave indexing bug. + +2007-04-12 Carlo de Falco + + * miscellaneous/menu.m, control/base/bddemo.m, + control/hinf/dgkfdemo.m, control/system/packedform.m, + control/system/sysrepdemo.m: + Adapt to page_screen_output as a function. + +2007-04-11 John W. Eaton + + * miscellaneous/not.m: Delete. + * miscellaneous/Makefile.in (SOURCES): Delete it from the list. + +2007-04-11 A. S. Hodel + + * control/util/axis2dlim.m: Try harder to handle min and max vals + that are close but not exactly equal. + +2007-04-11 David Bateman + + * general/bitcmp.m: Make it work again. + +2007-04-10 John W. Eaton + + * plot/__go_draw_axes__.m: Try harder to handle min and max vals + that are close but not exactly equal. + +2007-04-09 Daniel J. Sebald + + * plot/stem.m: Add back the baseline line and let it be not adjustable + in response to a change in x limits for now. + +2007-04-09 John W. Eaton + + * plot/__go_draw_axes__.m (__gnuplot_write_data__): New function. + (__go_draw_axes__): Use it to write data to plot stream. + +2007-04-09 Daniel J Sebald + + * plot/stem.m: Fix typos in doc string. Fix typo in call to + zeros. Set markerfacecolor property in call to plot. + +2007-04-06 John W. Eaton + + * linear-algebra/norm.m: Use new __vnorm__ function for vector args. + +2007-04-06 Daniel J Sebald + + * plot/stem.m: Use plot instead of a series of calls to line. + +2007-04-05 John W. Eaton + + * sparse/nonzeros.m, sparse/normest.m, sparse/spconvert.m, + sparse/spdiags.m, sparse/speye.m, sparse/spfun.m, sparse/spones.m, + sparse/sprand.m, sparse/sprandn.m, sparse/sprandsym.m, + sparse/spstats.m, sparse/treeplot.m: Style fixes. + + * pkg/pkg.m: Use "strcat (...)" instead of "[...]". + Use strcmpi instead of strcmp+tolower. + Style fixes. + + * testfun/speed.m: Use "strcat (...)" instead of "[...]". + Plotting fixes. Style fixes. + + * testfun/test.m: Use "strcat (...)" instead of "[...]". + Style fixes. + + * testfun/fail.m: No need to check for evalin and lastwarn. + Style fixes. + + * testfun/demo.m, testfun/example.m: Style fixes. + Use "strcat (...)" instead of "[...]". + Use format specifiers in calls to warning. + + * testfun/assert.m: Use "numel (x)" instead of "prod (size (x))". + Use "strcat (...)" instead of "[...]". + Use "x(end)" instead of "x(length (x))". + Check NA before NaN. + Style fixes. + +2007-03-29 John W. Eaton + + * plot/stem.m (stem, set_default_values): Use RGB triple for color. + +2007-03-27 John W. Eaton + + * Makefile.in, audio/Makefile.in, control/Makefile.in, + control/base/Makefile.in, control/hinf/Makefile.in, + control/obsolete/Makefile.in, control/system/Makefile.in, + control/util/Makefile.in, deprecated/Makefile.in, + elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, + image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, optimization/Makefile.in, + path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, + signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, + special-matrix/Makefile.in, startup/Makefile.in, + statistics/Makefile.in, statistics/base/Makefile.in, + statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: + Use ln instead of $(LN_S) in dist target. + +2007-03-27 David Bateman + + * plot/__go_draw_axes__.m: Allow linewidth settings to work with + gnuplot 4.0. + +2007-03-26 John W. Eaton + + * plot/__go_draw_axes__.m: Send image data to gnuplot via plot stream. + +2007-03-26 Daniel J Sebald + + * plot/__go_draw_axes__.m: Always end palette data to gnuplot via + plot stream and using binary data. + +2007-03-26 John W. Eaton + + * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, + lot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, + plot/__plt2vv__.m: Accept properties in addtition to options struct. + +2007-03-26 David Bateman + + * plot/__go_draw_axes__.m: Send "set ticslevel 0" to plot stream. + + * plot/plot3.m: Handle line properties. + * plot/plot.m: Update docstring. + * plot/__plotopt__.m, plot/__pltopt1__.m: New arg, err_on_invalid. + * plot/__plt__.m: Also gather properties. + +2007-03-26 Kim Hansen + + * testfun/assert.m: Delete special check for empty objects. + Add test. + +2007-03-26 John W. Eaton + + * plot/drawnow.m: Exit early if call is recursive. + + * plot/__go_draw_axes__.m (get_data_limits): New function. + Check for Inf too. + (__go_draw_axes__): Use get_data_limits. + +2007-03-24 John W. Eaton + + * plot/drawnow.m: If GNUTERM is set to wxt in the environment, + send terminal setting command with title option to plot stream. + + * plot/legend.m: Correctly increment index into list of children.. + +2007-03-23 John W. Eaton + + * general/interp2.m, general/bicubic.m, control/base/rldemo.m, + control/hinf/hinfdemo.m, control/hinf/dhinfdemo.m, + control/base/nyquist.m, control/base/nichols.m, + control/base/frdemo.m, signal/freqz_plot.m, + control/base/__stepimp__.m, control/base/bode.m, + quaternion/demoquat.m, quaternion/qcoordinate_plot.m, + statistics/base/qqplot.m, statistics/base/ppplot.m, sparse/spy.m: + Update plotting code. + + * control/base/bode.m: Unwrap phase angle. + + * miscellaneous/dump_prefs.m: Remove automatic_replot from the list. + + * plot/axis.m: Don't check automatic_replot, or call replot. + + * quaternion/demoquat.m: Delete comments with obsolete plotting + commands. + + * plot/__pltopt1__.m: Handle "@" marker same as "+". + Handle numeric color specs. + * plot/plot.m: Remove "-@" and "@" from docstring. + + * plot/orient.m: Fix tests to avoid creating a plot window. + + * elfun/acosd.m, elfun/acotd.m, elfun/acscd.m, elfun/asecd.m, + elfun/asind.m, elfun/atand.m, elfun/cosd.m, elfun/cotd.m, + elfun/cscd.m, elfun/secd.m, elfun/sind.m, elfun/tand.m, + general/arrayfun.m, miscellaneous/compare_versions.m, + path/savepath.m, pkg/pkg.m, plot/__gnuplot_version__.m, + plot/contour.m, plot/contourc.m, plot/legend.m, plot/stem.m, + polynomial/pchip.m: Fix copyright notice, correct FSF address. + + * plot/__go_draw_figure__.m: Send reset to gnuplot before every + plot, not just multiplots. + + * plot/__go_draw_axes__.m: Use %g for label coordinates, not %d. + + * plot/contour.m: Don't call drawnow. + +2007-03-22 John W. Eaton + + * plot/drawnow.m: Check and optionally, set, the __modified__ + property of each figure. + + * plot/__go_draw_axes__.m: If no real data, plot a point at Inf, + Inf to show axes. From Daniel J Sebald . + +2007-03-21 John W. Eaton + + * linear-algebra/null.m: Set elements of retval with magnitudes + less than eps to 0. + +2007-03-21 David Bateman + + * plot/__go_draw_axes__.m: Handle some colors with older gnuplot. + * testfun/speed.m: Documentation and example fix. + +2007-03-21 John W. Eaton + + * plot/subplot.m: If we find an existing subplot region, set + it to be the "currentaxes" property for the current figure. + Delete old axes objects if the new axes object overlaps the old. + +2007-03-20 David Bateman + + * general/Makefile.in: Include arrayfun.m in SOURCES. + +2007-03-20 Bill Denney + + * general/arrayfun.m: New function. + +2007-03-20 John W. Eaton + + * plot/newplot.m: Call __request_drawnow__ after initializing axes. + * plot/text.m: Call __request_drawnow__ after creating text objects. + + * plot/clf.m: Don't call drawnow. + +2007-03-20 Daniel J Sebald + + * image/__img__.m: Maybe set yaxis to reverse for images. + * plot/__go_draw_axes__.m: Don't add flipy to gnuplot command for + images. + + * plot/drawnow.m: Make __go_close_all_registered__ persistent + instead of global. Only register __go_close_all__ with atexit if + the plot stream is successfully opened. + +2007-03-15 John W. Eaton + + * plot/__go_draw_axes__.m: Make have_newer_gnuplot persistent. + From Daniel J Sebald . + +2007-03-15 Daniel J Sebald + + * plot/__go_draw_axes__.m (do_linestyle_command): Fix marker types. + Use numeric line types. + + * control/base/rlocus.m: Add asymptotes to the plot. Use wider + lines and larger markers. Remove key titles from line type + properties. + +2007-03-14 John W. Eaton + + * plot/__axis_label__.m: Accept additional property-value pairs + and pass them to __go_text__. Simply return the handle obtained + from __go_text__ instead of calling get on the current axis. + * plot/xlabel.m, plot/zlabel.m, plot/zlabel.m: Check args here. + Allow for extra property value pairs to be passed along. + * plot/title.m: Implement with __axis_label__ since it does all + that title needs to do. + + * plot/clf.m: Set currentaxes property for current figure to []. + + * plot/__axis_label__.m: Convert arg to text handle before calling set. + + * plot/__plt__.m: Return line handles from all calls to __plt1__ + and __plt2__, not just the last. + + * plot/Makefile.in (SOURCES): Rename from SOURCES_M. + (SOURCES_IN, GEN_M): Delete. + (FCN_FILES): Don't include $(GEN_M). + (all): Don't depend on $(GEN_M). + ($(GEN_M) : %.m : %.in): Delete pattern rule. + + * plot/text.m: Use __go_text__ instead of __uiboject_text_ctor__. + + * plot/newplot.m: Call __go_axes_init__ instead of + __uiobject_axes_init__. + + * plot/mesh.m: Use __go_surface__ instead of + __uiobject_surface_ctor__. Don't access object fields directly. + + * plot/line.m: Use __line__ to do actual work. + * plot/__line__.m: New function. + + * plot/axes.m: Use __go_axes__ to create axes graphics handle. + Use get and set instead of accessing object fields directly. + + * plot/figure.m: Use __go_figure__ to create figure graphics + handle. + + * plot/drawnow.m: Register __go_close_all__ with atexit instead of + __uiobject_close_all. Call __go_draw_figure__ instead of + __uiobject_draw_figure__. + + * plot/clf.m: Use get instead of accessing object fields + directly. Simply delete children. Don't set currentaxes. + + * plot/close.m (close_all_figures): New subfunction. + Use it instead of getting list of figures to close from + __uiobject_figures__. + + * plot/closereq.m: Simply delete the current figure. Don't set + currentfigure. + + * plot/__errplot__.m: Call __line__ instead of + __uiobject_line_ctor__. Use set instead of accesing object fields + directly. Don't call __uiobject_adopt__. + + * plot/__uiobject_adopt__.m, plot/__uiobject_alloc__.in, + plot/__uiobject_axes_ctor__.m, plot/__uiobject_axes_dtor__.m, + plot/__uiobject_axes_init__.in, plot/__uiobject_axes_setr__.m, + plot/__uiobject_delete__.m, plot/__uiobject_figure_ctor__.m, + plot/__uiobject_figures__.in, plot/__uiobject_free__.in, + plot/__uiobject_get_handle__.in, plot/__uiobject_globals__.m, + plot/__uiobject_grow_list__.in, plot/__uiobject_handle2idx__.in, + plot/__uiobject_image_ctor__.m, plot/__uiobject_init_figure__.in, + plot/__uiobject_init_root_figure__.in, + plot/__uiobject_line_ctor__.m, plot/__uiobject_make_handle__.in, + plot/__uiobject_root_figure_ctor__.m, + plot/__uiobject_surface_ctor__.m, plot/__uiobject_text_ctor__.m: + plot/get.in, plot/include-globals.awk, plot/ishandle.m, + plot/set.in: Delete. + * plot/Makefile.in (SOURCES_M, SOURCES_IN): Remove from lists. + + * plot/__go_close_all__.m: Rename from __uiobject_close_all.m. + Pass "hidden" as second arg to close. + * plot/__go_draw_axes__.m: Rename from __uiobject_draw_axes.m. + * plot/__go_draw_figure__.m: Rename from __uiobject_draw_figure.m. + * plot/Makefile.in (SOURCES_M): Rename in list. + + * image/__img__.m: Use __go_image__ to create image graphics + handle. + + * miscellaneous/delete.m: Call __go_delete__, not + __uiobject_delete__. Check that arg is a graphics handle before + calling __go_delete__. + +2007-03-13 John W. Eaton + + * miscellaneous/cast.m: Use feval and strcmp with cell to check + arg instead of switch statement. + From S�ren Hauberg . + +2007-03-12 John W. Eaton + + * miscellaneous/cast.m: New function. + + * miscellaneous/delete.m: Call __go_delete__, not __uiobject_delete__. + +2007-03-08 John W. Eaton + + * miscellaneous/copyfile.m, miscellaneous/movefile.m: Perform + tilde expansion on target filename before passing it to the shell. + + * statistics/base/Makefile.in (SOURCES): Remove unidrnd.m from list. + * statistics/distributions/Makefile.in (SOURCES): Add it here. + +2007-03-08 David Bateman + + * statistics/base/unidrnd.m: Move to statistics/distributions + replacing slower version based on dicrete_rnd. + +2007-03-07 John W. Eaton + + * control/base/rlocus.m: Update for current plotting functions. + +2007-03-07 A. S. Hodel + + * control/base/rlocus.m: Improve display. + +2007-03-07 John W. Eaton + + * plot/legend.m: Only handle positions -1:4. + * plot/__pltopt1__.m: Don't set linestyle if only marker style is + found in option string + * plot/__uiobject_draw_axes__.m: Handle key position. + + * plot/newplot.m: Always reset next line color. + + * testfun/assert.m: Check that number of dimensions match before + checking dimensions. + +2007-03-07 Muthiah Annamalai + + * specfun/perms.m, specfun/factorial.m: Check args. + +2007-03-07 John W. Eaton + + * plot/mesh.m: Call newplot before doing anything. + + * plot/__uiobject_draw_axes__.m: Send "e\n" at end of data, not + just "e". Only flush plot stream once. + From Daniel J Sebald . + + * strings/blanks.m: Omit first index in assignment. + +2007-03-07 Paul Kienzle + + * set/setdiff.m: Some code cleanup and a fix for setdiff on rows. + +2007-03-06 David Bateman + John W. Eaton + + * set/setdiff.m: Ignore "rows" for cell array args. + Handle cellstr args. + +2007-03-05 John W. Eaton + + * optimization/sqp.m: Defer first call to obj_hess until after + calling obj_fun. + +2007-03-02 Bob Weigel + + * specfun/nchoosek.m: Fix nargin check. + +2007-03-01 Daniel J Sebald + + * image/__img__.m: Don't set xlim and ylim properties. + +2007-03-01 Paul Kienzle + + * general/interp1.m: Fix *style cases for decreasing x. + +2007-03-01 Muthiah Annamalai + + * polynomial/roots.m: Check nargin before accessing arg. + +2007-02-28 John W. Eaton + + * plot/__uiobject_draw_axes__.m: If looking at image data, Don't + increment data_idx unless using gnuplot for display. + +2007-02-28 Daniel J Sebald + + * plot/__uiobject_draw_axes__.m: Improve calculation of limits for + plots with images. + * image/image.m, image/imagesc.m, image/imshow.m: + Deprecate zoom argument. + +2007-02-28 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Use fullfile to generate + temporary file names. Keep image and colormap file ids separate. + + * general/interp1.m: Correctly compute min and max values when + values are decreasing and not evenly spaced. + From Ricardo Marranita . + +2007-02-27 John W. Eaton + + * testfun/test.m (test): Handle possibility of file_in_loadpath + returning an empty cell array. + +2007-02-27 Michael Goffioul + + * pkg/pkg.m: Use fullfile to create filenames from parts. + +2007-02-26 Michael Goffioul + + * Makefile.in, audio/Makefile.in, control/Makefile.in, + control/base/Makefile.in, control/hinf/Makefile.in, + control/obsolete/Makefile.in, control/system/Makefile.in, + control/util/Makefile.in, deprecated/Makefile.in, + elfun/Makefile.in, finance/Makefile.in, general/Makefile.in, + image/Makefile.in, io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, optimization/Makefile.in, + path/Makefile.in, pkg/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, + signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, + special-matrix/Makefile.in, startup/Makefile.in, + statistics/Makefile.in, statistics/base/Makefile.in, + statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, testfun/Makefile.in, time/Makefile.in: + Use $(LN_S) instead of ln or ln -s. + +2007-02-24 David Bateman + + * pkg/pkg.m (configure_make): Ignore blank lines and trailing + '\n' in FILES file. + (configure_make): Also install any mex files. + +2007-02-24 David Bateman + + * statistics/distributions (SOURCES): Add nbincdf.m, + nbininv.m, nbinpdf.m and nbinrnd.m. + +2007-02-23 John W. Eaton + + * statistics/distributions/Makefile.in (SOURCES): Remove + pascal_cdf.m pascal_inv.m pascal_pdf.m pascal_rnd.m from the list. + + * deprecated/Makefile.in (SOURCES): Add pascal_cdf.m, + pascal_inv.m, pascal_pdf.m, and pascal_rnd.m to the list. + +2007-02-23 David Bateman + + * statistics/distributions/discrete_rnd.m, + statistics/distributions/geornd.m, + statistics/distributions/lognnd.m, + statistics/distributions/nbinrnd.m, + statistics/distributions/wblrnd.m: Accelerate distributions. + + * statistics/distributions/unidcdf.m, + statistics/distributions/unidinv.m, + statistics/distributions/unidpdf.m, + statistics/distributions/unidrnd.m: New functions based on + discrete_cdf, etc. + + * statistics/distributions/pascal_cdf.m, + statistics/distributions/pascal_inv.m, + statistics/distributions/pascal_pdf.m, + statistics/distributions/pascal_rnd.m: Remove. + * statistics/distributions/nbincdf.m, + statistics/distributions/nbininv.m, + statistics/distributions/nbinpdf.m, + statistics/distributions/nbinrnd.m: Replace with matlab + compatible functions. + * deprecated/pascal_cdf.m, deprecated/pascal_inv.m, + deprecated/pascal_pdf.m, deprecated/pascal_rnd.m: Use the new + nbincdf, etc functions to implement these. + +2007-02-22 Daniel J Sebald + + * plot/__uiobject_draw_axes__.m: Insert newline between plot + command and data. + +2007-02-22 John W. Eaton + + * miscellaneous/doc.m: If index search fails, try again without + the index search option. + +2007-02-22 David Bateman + + * miscellaneous/doc.m: Find doc.info file correctly in user directories. + + * statistics/distributions/frnd.m, statistics/distributions/exprnd.m, + statistics/distributions/gamrnd.m, statistics/distributions/trnd.m, + statistics/distributions/poissrnd.m, statistics/distributions/chi2rnd.m, + statistics/distributions/betarnd.m: Convert to use randg, rande + and randp to accelerate. + + * pkg/pkg.m (fix_depends): Support > and < operators as well. + +2007-02-22 John W. Eaton + + * plot/__uiobject_draw_axes__.m: If not using gnuplot for images, + cache data and display after xlim and ylim have been determined. + +2007-02-22 Daniel J Sebald + + * plot/__uiobject_draw_axes__.m: + Allow multiple images to be displayed with gnuplot. + +2007-02-20 Rafael Laboissiere + + * optimization/glpk.m: Document the fact that extra.mem does not work + for versions of GLPK 4.15 and later. + +2007-02-19 John W. Eaton + + * plot/__uiobject_alloc__.in: If next available element in + __uiobject_list__ is 0, grow list before doing anything else. + * plot/__uiobject_grow_list__.in: Only set __uiobject_head__ on + first call when size of __uiobject_list__ is 0. + +2007-02-16 John W. Eaton + + * miscellaneous/Makefile.in (SOURCES): Remove popen2.m from the list. + +2007-02-16 Michael Goffioul + + * miscellaneous/popen2.m: Remove as replaced with builtin. + +2007-02-16 Muthiah Annamalai + + * specfun/nchoosek.m: Check nargin. + +2007-02-15 John W. Eaton + + * path/addpath.m, path/rmpath.m: Delete + * path/Makefile.in (SOURCES): Remove them from the list. + + * plot/__uiobject_axes_init__.in, plot/__uiobject_axes_setr__.m: + Delete title, xlabel, ylabel, and zlabel properties before + reassigning. + * plot/__uiobject_axes_init__.in: New arg, mode. + Don't init outerposition if "mode" is "replace". + * plot/newplot.m: Check both figure and axes nextplot properties. + If axes nextplot property is replace, pass "replace" as mode arg + to __uiobject_axes_init__. + +2007-02-15 Daniel J Sebald + + * image/imshow.m: Don't restore old colormap. + + * plot/__uiobject_image_ctor__.m: Set xdata and ydata properties. + * image/__img__.m: New file containing common parts of image.m and + imshow.m. + * image/Makefile.in (SOURCES): Add __img__.m to the list. + * image/image.m, image/imshow.m: Call __img__. + * plot/__uiobject_draw_axes__.m: + Handle rgb imaged data stored in 3-d arrays. + + * plot/figure.m: Doc fix. + +2007-02-14 Thomas Weber + + * audio/wavread.m, audio/wavwrite.m: Use types with specific sizes + for reading and writing data. New tests. Improve rounding. + +2007-02-13 John W. Eaton + + * plot/stem.m: New file, adapted from OctPlot. + * plot/Makefile.in (SOURCES_M): Add it to the list. + + * plot/__errcomm__.m, plot/__plr1__.m, plot/__plr2__.m, + plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, + plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, + plot/__plt2vv__.m, plot/__plt__.m, plot/loglog.m, + plot/loglogerr.m, plot/plot.m, plot/plot3.m, plot/polar.m, + plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, + plot/semilogyerr.m: Return handles to line objects. + +2007-02-11 John W. Eaton + + * plot/__uiobject_close_all.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + +2007-02-10 John W. Eaton + + * plot/drawnow.m: Arrange for plot streams to be close on exit. + * plot/__uiobject_globals__.m: Don't call mlock. + + * plot/drawnow.m: Only check for DISPLAY if isunix returns true. + * plot/__uiobject_delete__.m: Send quit command and flush stream + before calling pclose. + +2007-02-09 John W. Eaton + + * plot/subplot.m: Delete spurious call to axes. + + * plot/figure.m: Call drawnow for current figure before creating + or switching to a new figure. + * plot/__uiobject_init_figure__.in: Handle empty arg the same as + nargin == 0 case. + + * testfun/assert.m: Try to avoid problems when comparisons involve + strange values like Inf+NaNi. + +2007-02-08 John W. Eaton + + * plot/drawnow.m: Use gnuplot_binary() instead of just "gnuplot" + and check gnuplot_use_title_option instead of just assuming -title + works. From Michael Goffioul . + + * Makefile.in (DISTFILES): Add move-if-change to the list. + + * audio/Makefile.in, control/base/Makefile.in, + control/hinf/Makefile.in, control/obsolete/Makefile.in, + control/system/Makefile.in, control/util/Makefile.in, + deprecated/Makefile.in, elfun/Makefile.in, finance/Makefile.in, + general/Makefile.in, image/Makefile.in, io/Makefile.in, + linear-algebra/Makefile.in, miscellaneous/Makefile.in, + optimization/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, + signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, + special-matrix/Makefile.in, startup/Makefile.in, + statistics/base/Makefile.in, statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, testfun/Makefile.in, time/Makefile.in, + path/Makefile.in, pkg/Makefile.in: Explicitly list source files. + + * plot/figure.m: Don't call drawnow. Correctly init figure when + only given property list. + +2007-02-07 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Handle xdir, ydir, and zdir axis + properties. + + * plot/sombrero.m: Call box ("off") after mesh. + + * plot/__uiobject_draw_axes__.m: Avoid rgb colors and "set style + line default" commands with older versions of gnuplot. + + * plot/close.m: Use get (0, "currentifgure") instead of gcf. + +2007-02-06 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Set pt to 0 if marker is ".". + * sparse/gplot.m: Use line style - instead of 1. + +2007-02-05 Rafael Laboissiere + + * plot/print.m: Avoid error message from cellidx. + +2007-02-05 John W. Eaton + + * plot/legend.m: Fix check for data. + +2007-02-05 Thomas Treichl + + * plot/__uiobject_draw_axes__.m (do_linestyle_command): + Always set lt and pt. + +2007-02-05 Shai Ayal + + * plot/contourc.m: Correctly compute X and Y. + +2007-02-05 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Use title "" if no explicit title. + When setting {x,y,z}lim, also set {x,y,z}limmode to "auto. + +2007-02-01 John W. Eaton + + * plot/__uiobject_draw_axes__.m: + Don't try to set axis limits unless we have data. + + * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, + plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, + plot/__plt2vv__.m, plot/__plt__.m, plot/__pltopt1__.m, + plot/__pltopt__.m, plot/plot3.m: Set and use options struct + instead of of key and fmt strings. + + * plot/__pltopt1__.m: Greatly simplify. + + * plot/__next_line_color__.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + * plot/newplot.m: Call __next_line_color__ here to reset rotation. + + * plot/__default_plot_options__.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + + * plot/__plt3__.m: Delete. + * plot/Makefile.in (SOURCES_M): Remove it from the list. + +2007-01-31 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Set defaults for color, + linestyle, linewidth, marker, and markersize properties. + * plot/__uiobject_draw_axes__.m: Attempt to handle line and marker + colors and widths, and line styles. + + * plot/__plt__.m, image/image.m: Don't call drawnow. + + * plot/__gnuplot_version__.m: Restore from CVS Attic. + * plot/Makefile.in (SOURCES_M): Add it to the list. + + * plot/__uiobject_draw_axes__.m: Delete useless call to + __gnuplot_save_data__. + + * image/image.m: Accept 2 args, but ignore the second for now. + +2007-01-30 David Bateman + + * pkg/pkg.m (pkg, isautoload, install, load_packages): Add ability + to flag a package as to be autoloaded. Add install flags -noauto, + -auto to force autoload behavior. + (installed_packages): Make list of installed packages unique. + +2007-01-30 John W. Eaton + + * Merge of changes from graphics-branch: + + 2007-01-29 John W. Eaton + + * plot/subplot.m: Set nextplot property of current figure to "add". + + * plot/__uiobject_draw_axes__.m: Only handle outerposition + property if it exists. + + 2007-01-26 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Move initialization of max and + min values outside of loop over child objects. + + * plot/contour.m, plot/contourc.m: New files. + * plot/Makefile.in (SOURCES_M): Add them to the list. + + * image/image_viewer.m: Set view_fcn to "gnuplot_internal" if we + find a gnuplot version newer than 4.0. + * image/__img_gnuplot__.m: Delete. + * image/image.m: Create image graphics object. + Call newplot to setup and drawnow to finish. + Eliminate ZOOM arg. + + * plot/__uiobject_draw_axes__.m: Handle image data. + + * plot/legend.m: Eliminate useless variable "warned". + + * plot/__uiobject_image_ctor__.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + + * plot/gcf.m: Also create new figure if currentfigure is 0. + * plot/drawnow.m: Use get (0, "currentfigure") instead of gcf. + + * plot/__uiobject_root_figure_ctor__.m: Set visible property. + + * plot/__default_colormap__.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + * plot/__uiobject_figure_ctor__.m: Use it to set default colormap + property. + * image/colormap.m: Use colormap property of current figure + to store colormap instead of using persistent variable. + Call __default_colormap__ to get default map value. + * image/ocean.m, image/gray.m: Set colormap for current figure. + + * plot/__uiobject_draw_axes__.m: Handle aspect ratio property. + Handle some tick mark options. + + * plot/__uiobject_axes_setr__.m: If we see xtick, ytick, or ztick, + set corresponding *mode to "manual". If we set dataaspectratio, + set dataaspectratiomode to "manual". + + * plot/__uiobject_axes_init__.m: Include *tick, *tickmode, + *ticklabelmode, dataaspectratio, dataaspectratiomode properties. + + * plot/axis.m: New file. + * plot/Makefile.in (SOURCES_M): Include it in the list. + + * plot/__uiobject_axes_setr__.m: If we see xlim, ylim, or zlim, + set corresponding *limmode to "manual". + * plot/__uiobject_draw_axes__.m (get_axis_limits): New subfunction. + Use it to compute autosclaled limits. + Arg is now handle, not object. Change all callers. + Compute data limits. + + 2007-01-25 John W. Eaton + + * plot/drawnow: Fix visibility check for zero args. + + * plot/text.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + * plot/__uiobject_draw_axes__.m: Handle text objects. + * plot/__uiobject_text_ctor__.m: Include units, position, and + horizontalalignment properties. + + * plot/figure.m: Set options for f we just constructed or were + given as an argument, not gcf. Only return handle if nargout > 0. + + * plot/drawnow.m: Handle visible field for figure here. + * plot/__uiobject_figure_ctor__.m: Set default visible field. + + * plot/__uiobject_draw_axes__.m: Call undo_string_escapes on + title and axis labels. + + * plot/plot3.m, plot/mesh.m: Set default 3-d view here. + * plot/__uiobject_draw_axes__.m: Handle view for 3-d plots. + * plot/__uiobject_axes_init__.in: Set default view field for object. + * plot/view.m: New file. + * plot/Makefile.in (SOURCES_M): Add it to the list. + + * plot/__uiobject_make_handle__.in, plot/set.m, plot/drawnow.m: + Call __request_drawnow__. + + * plot/newplot.m: For "replace" action, call __uiobject_axes_init__. + + * plot/__uiobject_axes_ctor__.m, plot/__uiobject_text_ctor__.m: + Call set to set properties. Return handle instead of structure. + Change all callers. + + * plot/__uiobject_axes_setr__.m: New file. + * plot/set.in: Check for __setter__ field. + + * plot/__uiobject_axes_init__.in: + Rename from plot/__uiobject_axes_init__.m. + Include __uiobject_globals__. + Accept handle as arg instead of structure + * plot/Makefile.in (SOURCES_M): Remove __uiobject_axes_init__.m + from the list. + (SOURCES_IN): Add __uiobject_axes_init__.in to the list. + + 2007-01-24 John W. Eaton + + * plot/Makefile.in ($(GEN_M)): Depend on __uiobject_globals__.m. + + * plot/__uiobject_globals__.m: Call __lock_global__ when + initializing each global variable. + + 2007-01-18 John W. Eaton + + * plot/__uiobject_globals__.m (__uiobject_handles_free_list__, + __uiobject_figure_handles_free_list__): New global variables. + * plot/__uiobject_get_handle__.m, plot/__uiobject_free__.m: + Place unused handles on the free list. + + * plot/__uiobject_get_figure_handle__.in: Delete. + * plot/Makefile.in: Delete it from the SOURCES_IN list. + + * plot/__uiobject_init_figure__.in: Perform allocation of figure + handles here. Return figure handle. + * plot/figure.m: Call __uiobject_init_figure__ to allocate handle. + + 2007-01-11 John W. Eaton + + * plot/__uiobject_draw_axes__.m: Use "%g", not "%.4g" when writing + data for gnuplot. + + * plot/Makefile.in (SOURCES_M, SOURCES_IN, GEN_M): New lists of + files. + (SOURCES): Include $(SOURCES_M) and $(SOURCES_M) in the list. + (DISTFILES): Include include-globals.awk in the list. + (FCN_FILES): Define using $(SOURCES_M) and $(GEN_M). + ($(GEN_M) : %.m : %.in): New rule. + + * include-globals.awk: New file. + + * plot/__uiobject_alloc__.in, plot/__uiobject_figures__.in, + plot/__uiobject_free__.in, plot/__uiobject_get_figure_handle__.in, + plot/__uiobject_get_handle__.in, plot/__uiobject_grow_list__.in, + plot/__uiobject_handle2idx__.in, plot/__uiobject_init_figure__.in, + plot/__uiobject_init_root_figure__.in, + plot/__uiobject_make_handle__.in, plot/get.in, plot/set.in: + Rename from corresponding .m files. + + * move-if-change: New file. + + * plot/__uiobject_delete__.m: New file. + * plot/delete.m, plot/__uiobject_delete_children__.m, + plot/__uiobject_delete_child__.m: Delete. + * miscellaneous/delete.m: Forward to __uiobject_delete__ if arg is + not a character string. + * plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2vm__.m: + Fix assignment to tmp key value in loop. + * plot/__uiobject_axes_dtor__.m: No need to Call __uiobject_free__ + for obj.title, obj.xlabel, obj.ylabel, obj.zlabel. + * plot/__uiobject_axes_dtor__.m, plot/__uiobject_axis_init__.m: + Inline code to delete children. + * plot/__uiobject_free__.m: Arg is now handle, not index into + __uiobject_list__. + * plot/clf.m, plot/closereq.m, plot/newplot.m: No need to remove + and free child. + + 2006-12-08 John W. Eaton + + * plot/gcf.m: Check if the root figure object's currentfigure + handle is empty, not 0. + * plot/__uiobject_root_figure_ctor__.m: + Set currentfigure to [], not 0. + + * plot/stairs.m: Handle matrix arguments. Improve compatibility. + + 2006-12-07 John W. Eaton + + * plot/__plt_get_axis_arg__.m, plot/__uiobject_adopt__.m, + plot/__uiobject_alloc__.m, plot/__uiobject_axes_ctor__.m, + plot/__uiobject_axes_dtor__.m, plot/__uiobject_axes_init__.m, + plot/__uiobject_delete_children__.m, + plot/__uiobject_draw_axes__.m, plot/__uiobject_draw_figure__.m, + plot/__uiobject_figure_ctor__.m, plot/__uiobject_figures__.m, + plot/__uiobject_free__.m, plot/__uiobject_get_figure_handle__.m, + plot/__uiobject_get_handle__.m, plot/__uiobject_globals__.m, + plot/__uiobject_grow_list__.m, plot/__uiobject_handle2idx__.m, + plot/__uiobject_init_figure__.m, + plot/__uiobject_init_root_figure__.m, + plot/__uiobject_line_ctor__.m, plot/__uiobject_make_handle__.m, + plot/__uiobject_remove_child__.m, + plot/__uiobject_root_figure_ctor__.m, + plot/__uiobject_surface_ctor__.m, plot/__uiobject_text_ctor__.m, + plot/axes.m, plot/box.m, plot/closereq.m, plot/delete.m, + plot/drawnow.m, plot/gca.m, plot/gcf.m, plot/get.m, + plot/isfigure.m, plot/ishandle.m, plot/line.m, plot/newplot.m, + plot/set.m: New files. + + * plot/__plt3__.m, plot/errorbar.m, plot/__axis_label__.m, + plot/__plr1__.m, plot/__errcomm__.m, plot/print.m, plot/zlabel.m, + plot/__plt1__.m, plot/__plt2__.m, plot/sombrero.m, plot/shg.m, + plot/fplot.m, plot/ndgrid.m, plot/clf.m, plot/hold.m, + plot/ishold.m, plot/meshdom.m, plot/ylabel.m, plot/__plt2ss__.m, + plot/__plt2vv__.m, plot/__plr2__.m, plot/__plt2mm__.m, + plot/__pltopt1__.m, plot/meshgrid.m, plot/__plt2mv__.m, + plot/figure.m, plot/xlabel.m, plot/stairs.m, plot/__plt2vm__.m, + plot/bar.m, plot/__errplot__.m, plot/semilogx.m, plot/semilogy.m, + plot/loglog.m, plot/polar.m, plot/legend.m, plot/orient.m, + plot/title.m, plot/__pltopt__.m, plot/grid.m, plot/hist.m, + plot/subplot.m, plot/plot.m, plot/mesh.m, plot/__plt__.m, + plot/close.m, plot/loglogerr.m, plot/plot3.m, plot/semilogxerr.m, + plot/semilogyerr.m, plot/replot.m: + Adapt to new graphics data structure. + + * plot/__do_legend__.m, plot/__gnuplot_version__.m, + plot/__init_plot_vars__.m, plot/__make_using_clause__.m, + plot/__plot_globals__.m, plot/__plr__.m, plot/__render_plot1__.m, + plot/__render_plot__.m, plot/__setup_plot__.m, plot/axis.m, + plot/contour.m, plot/mplot.m, plot/multiplot.m, plot/oneplot.m, + plot/plot_border.m, plot/subwindow.m: Delete. + +2007-01-24 David Bateman + + * pkg/pkg.m: Install ChangeLog file if it exists. + Delete bare newline in string passed to write_INDEX. + + * sparse/sprandsym.m: Make work for even values of N. + +2007-01-24 John W. Eaton + + * miscellaneous/news.m: New file. + +2007-01-23 Luis F. Ortiz + + * strings/strncmpi.m: Use strncmp instead of calling strtrunc on args. + + * strings/strncmp.m: Delete (we now have a built-in version). + +2007-01-22 Bob Weigel + + * testfun/test.m: Check for all files in path, use first found. + +2007-01-22 David Bateman + + * polynomial/spline.m: Make DG a column instead of a row vector. + +2007-01-18 S�ren Hauberg + + * pkg/pkg.m (copy_files): Call write_INDEX with correct target + file name. + + * image/ind2rgb.m: Better input checking. Return 3-d array if + nargout is 1. Handle colormaps that have too few colors. + + * pkg/pkg.m (create_pkgadddel): Call fullfile with nm, not "nm". + (configure_make): Use fullfile instead of concatenating with "/". + +2007-01-10 Baylis Shanks + + * set/ismember.m: Handle N-d arrays. + +2007-01-10 David Bateman + + * elfun/acosd.m, elfun/acotd.m, elfun/acscd.m, elfun/asecd.m, + elfun/asind.m, elfun/atand.m, elfun/cosd.m, elfun/cotd.m, + elfun/cscd.m, elfun/secd.m, elfun/sind.m, elfun/tand.m: + New files. + +2007-01-09 S�ren Hauberg + + * pkg/pkg.m: Allow filenames to contain glob patterns. + +2007-01-08 S�ren Hauberg + + * pkg/pkg.m: Use copyfile instead of calling system. Use fullfile + instead of concatenating with "/". Use mlock to ensure that + persistent variables are not clobbered if user types clear all. + +2007-01-08 John W. Eaton + + * miscellaneous/copyfile.m, miscellaneous/movefile.m: + Improve handling of file names containing globbing characters. + From S�ren Hauberg . + +2007-01-05 John W. Eaton + + * optimization/optimset.m, optimization/__fsolve_defopts__.m: + New files. + +2006-12-30 John W. Eaton + + * sparse/spfun.m: Check for "function_handle" not "function handle". + * plot/fplot.m: Likewise. Use isa instead of strcmp + class. + +2006-12-27 S�ren Hauberg + + * image/imshow.m: Strip NaNs from image. + +2006-12-08 David Bateman + + * sparse/normest.m: New file. + +2006-12-06 Michael Goffioul + + * miscellaneous/copyfile.m, miscellaneous/movefile.m: + Work on Windows systems without cp or mv. + + * startup/inputrc: Include sequences for Windows. + +2006-12-06 S�ren Hauberg + + * pkg/pkg.m (unload_packages): New function. + (pkg): Handle unload action. + + * __errplot__.m: Add missing semicolon. + +2006-11-30 John W. Eaton + + * miscellaneous/mexext.m: New file. + +2006-11-29 David Bateman + + * pkg/pkg.m: Add local_list and global_list options that allow the + location of package lists to be probed and set. + +2006-11-17 John W. Eaton + + * plot/__render_plot1__.m: Reverse y axis for images. + + * plot/__render_plot__.m: New args, terminal and output. + * plot/print.m: Don't set output and term here. Instead, call + __render_plot__ with terminal and output. + +2006-11-16 John W. Eaton + + * plot/__render_plot1__.m: New file. + * plot/__render_plot__.m: Use it. Loop over multiplots. + * plot/print.m, plot/subplot.m: Don't send "set multiplot" to + gnuplot. Let __render_plot__ do that. + +2006-11-16 Francesco Potorti` + + * plot/plot.m: Fix doc string. + +2006-11-16 John W. Eaton + + * plot/__render_plot__.m: Check for mix of 2-d and 3-d plots + before sending anything to the plotter. + +2006-11-15 John W. Eaton + + * image/__img_gnuplot__.m: Store more info in global plot + structures and use __render_plot__ to build plot command to + display image. + + * plot/__plt3__.m: New arg, parametric. Change all callers. + + * plot/__plot_globals__.m (__plot_line_offset__, __plot_command__, + __plot_command_sep__): Delete. + (__plot_data_type__, __plot_data_parametric__, + __plot_image_colormap__, __plot_image_dims__, __plot_fmtstr__, + __plot_usingstr__, __plot_withstr__): New variables. + * plot/__init_plot_vars__.m: Initialize them. + + * plot/__init_plot_vars__.m, plot/__setup_plot__.m: + Don't handle sep or cmd. + + * plot/__render_plot__.m: New function. + * plot/__plt__.m, plot/__plt3__.m, plot/__errplot__.m: + Store more info in global plot structures and use __render_plot__ + to build plot command. + * plot/replot.m: Simply call __render_plot__. + + * plot/contour.m, plot/mesh.m, plot/plot3.m: + Set __plot_data_parametric__ here. + +2006-11-14 John W. Eaton + + * plot/bottom_title.m, plot/top_title.m: Delete. + + * image/image_viewer.m: Set default values here. + * image/image.m: Not here. + + * image/image_viewer.m: Always return old values. Check arguments. + * image/__img_gnuplot__.m: Rename from __img__m. + +2006-11-14 S�ren Hauberg + + * image/image_viewer.m: New function. + * image/__img_via_file__.m: New function. + * image/image.m: Use image_viewer to determine which program to + use for image viewing. + * image/__img__.m: Silently accept more than 3 args. + +2006-11-14 John W. Eaton + + * plot/__do_legend__.m, plot/__errplot__.m, + plot/__init_plot_vars__.m, plot/__plot_globals__.m, + plot/__plt3__.m, plot/__plt__.m, plot/__setup_plot__.m, + plot/legend.m, plot/mplot.m, plot/multiplot.m, plot/oneplot.m, + plot/replot.m, plot/subplot.m, plot/subwindow.m: + Use __plot_globals__ for multiplot variables. Keep track of + multiplot info for each figure. Eliminate __multiplot_xscale__. + +2006-11-13 John W. Eaton + + * plot/mesh.m: Use proper dimensions for y in call to repmat. + + * miscellaneous/substruct.m: New function. + + * testfun/assert.m: Force orientation to match when comparing + struct elements. + + * general/__isequal__.m: Avoid assignment of comma-separated lists + when comparing structs. + +2006-11-13 S�ren Hauberg + + * general/bicubic.m, general/cart2pol.m, general/cart2sph.m, + plot/contour.m, linear-algebra/cross.m, general/cumtrapz.m, + linear-algebra/dot.m, image/imshow.m, general/interp2.m, + general/mod.m, plot/plot3.m, plot/__plr2__.m, plot/__plr__.m, + general/pol2cart.m, general/polyarea.m, polynomial/polyfit.m, + general/rem.m, image/rgb2ind.m, general/sph2cart.m, + general/trapz.m, miscellaneous/xor.m: Use size_equal. + +2006-11-13 John W. Eaton + + * plot/mesh.m: Use size_equal to compare dimensions. + +2006-11-13 S�ren Hauberg + + * plot/mesh.m: Simplify. Set hidden3d for the plot. + +2006-11-11 S�ren Hauberg + + * miscellaneous/copyfile.m: Fix docs to match function. + +2006-11-08 John W. Eaton + + * plot/legend.m: New function, adapted from Octave Forge. + + * plot/__do_legend__.m: New function. + * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m, + plot/replot.m: Call it before plotting. + + * plot/plot3.m, plot/mesh.m, plot/contour.m: Don't send "set + noparametric" to gnuplot.. + + * plot/__plotopt__.m, plot/__pltopt1__.m, plot/__plt1__.m, + plot/__plt2__.m, plot/__plt2mm__.m, plot/__plt2mv__.m, + plot/__plt2ss__.m, plot/__plt2vm__.m, plot/__plt2vv__.m: Accept + and return key title separate from line format. Accept format and + key as cellstr. Always return data as cell array. Return format + and key title as cellstr. + * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m: + Handle line format and key titles separately. + * plot/__plt3__.m, plot/__plt__.m: Handle data as cell array only. + + * plot/__plot_globals__.m (__plot_line_offset__, + __plot_key_labels__, __plot_key_properties__): New global + variables. Initialize them. + * plot/__init_plot_vars__.m (__plot_line_offset__, + __plot_key_labels__, __plot_key_properties__): Initialize. + * plot/__errplot__.m, plot/__plt3__.m, plot/__plt__.m + (__plot_line_offset__, __plot_key_labels__, + __plot_key_properties__): Store information about plot key titles. + + * plot/__errplot__.m, plot/__init_plot_vars__.m, plot/__plt3__.m, + plot/__plt__.m: Use cf, mxi, and myi as shorthand for + __current_figure__, __multiplot_xi__, and __multiplot_yi__, + respectively. + + * plot/__errcomm__.m: Allow fmt to be cellstr. + + * strings/strcat.m: Disable Octave:empty-list-elements warning + whle concatenating args. + +2006-11-07 John W. Eaton + + * startup/main-rcfile: Conditionally set PAGER_FLAGS. + +2006-11-06 S�ren Hauberg + + * pkg/pkg.m (extract_pkg): No need to pass "dotexceptnewline" + option to regexp. + + * image/__img__.m: Send "set size ratio -1" before plotting. + +2006-11-03 Bill Denney + + * strings/index.m: New arg, direction. Simplify and speed up. + * strings/rindex.m: Implement using index (..., "last"); + + * blanks.m, strcat.m: Simplify. Add tests. + +2006-11-01 Bill Denney + + * general/__isequal__.m: Test size and class more consistently. + +2006-10-27 John W. Eaton + + * miscellaneous/ls_command.m: Use /D instead of /w. + From Michael Goffioul . + + * miscellaneous/ls.m, miscellaneous/ls_command.m: New files. + * miscellaneous/dir.m: Mark as a command. + +2006-10-27 William Poetra Yoga Hadisoeseno + + * miscellaneous/unpack.m: Fix missing comma in strcat call. + +2006-10-25 John W. Eaton + + * image/image.m: Set x = y = [] when nargin == 0; + +2006-10-25 Quentin Spencer + + * image/image.m: Call __img__ if gnuplot version is > 4.0. + * image/__img__.m: New file, originally from + Daniel J Sebald . + +2006-10-25 John W. Eaton + + * plot/__gnuplot_version__.m: New function, originally from + Daniel J Sebald by way of + Quentin Spencer . + +2006-10-25 S�ren Hauberg + + * plot/__pltopt__.m: Update symbol marker id numbers for gnuplot 4. + +2006-10-24 Bill Denney + + * miscellaneous/unpack.m, miscellaneous/bunzip2.m, + miscellaneous/gunzip.m: New files. + * miscellaneous/untar.m, miscellaneous/unzip.m: + Call unpack to do the real work. + +2006-10-24 John W. Eaton + + * plot/plot3.m: If we have a format string, then also pass using + string to __plt3__. + + * plot/sombrero.m: Don't return anything if nargout == 0. + + * plot/__plt3__.m: Create using clause if none is supplied. + * plot/mesh.m: Always pass empty using string to __plt3__. + +2006-10-20 Bill Denney + + * movefile.m, copyfile.m: Handle cellstr lists of files. + Quote filenames in shell commands. + +2006-10-17 David Bateman + + * pkg/pkg.m (uninstall): Allow the uninstall to proceed even if + the package directory is missing. + +2006-10-13 John W. Eaton + + * plot/box.m: New function. + +2006-10-13 Etienne Grossmann + + * general/ind2sub.m, general/sub2ind.m: Handle empty indices. + +2006-10-12 Quentin Spencer + + * plot/sombrero.m: Only plot if nargout == 0. Otherwise, return data. + +2006-10-10 John W. Eaton + + * miscellaneous/copyfile.m, miscellaneous/movefile.m: New functions. + +2006-10-10 Bill Denney + + * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, + audio/playaudio.m, audio/record.m, audio/saveaudio.m, + audio/setaudio.m, audio/wavread.m, audio/wavwrite.m, + control/base/__bodquist__.m, control/base/__freqresp__.m, + control/base/are.m, control/base/bode.m, control/base/ctrb.m, + control/base/damp.m, control/base/dare.m, control/base/dcgain.m, + control/base/dre.m, control/base/impulse.m, control/base/lqg.m, + control/base/lsim.m, control/base/lyap.m, control/base/nichols.m, + control/base/nyquist.m, control/base/obsv.m, control/base/pzmap.m, + control/base/rlocus.m, control/base/step.m, control/base/tzero.m, + control/hinf/h2norm.m, control/hinf/h2syn.m, + control/hinf/hinfnorm.m, control/hinf/hinfsyn.m, + control/hinf/is_dgkf.m, control/hinf/wgt1o.m, + control/obsolete/dezero.m, control/system/__sysdefioname__.m, + control/system/buildssic.m, control/system/c2d.m, + control/system/cellidx.m, control/system/d2c.m, + control/system/dmr2d.m, control/system/fir2sys.m, + control/system/is_abcd.m, control/system/is_controllable.m, + control/system/is_detectable.m, control/system/is_digital.m, + control/system/is_observable.m, control/system/is_siso.m, + control/system/is_stabilizable.m, control/system/is_stable.m, + control/system/jet707.m, control/system/listidx.m, + control/system/ord2.m, control/system/parallel.m, + control/system/ss.m, control/system/ss2zp.m, + control/system/starp.m, control/system/sys2ss.m, + control/system/sys2tf.m, control/system/sys2zp.m, + control/system/sysadd.m, control/system/sysappend.m, + control/system/syschtsam.m, control/system/sysconnect.m, + control/system/syscont.m, control/system/sysdimensions.m, + control/system/sysdisc.m, control/system/sysdup.m, + control/system/sysgetsignals.m, control/system/sysgettsam.m, + control/system/sysgroup.m, control/system/sysidx.m, + control/system/sysmin.m, control/system/sysmult.m, + control/system/sysout.m, control/system/sysprune.m, + control/system/sysscale.m, control/system/syssetsignals.m, + control/system/syssub.m, control/system/sysupdate.m, + control/system/tf.m, control/system/tfout.m, + control/system/ugain.m, control/system/zp.m, + control/system/zpout.m, control/util/__outlist__.m, + control/util/__zgpbal__.m, control/util/prompt.m, + control/util/sortcom.m, control/util/strappend.m, + deprecated/com2str.m, elfun/acot.m, elfun/acoth.m, elfun/acsc.m, + elfun/acsch.m, elfun/asec.m, elfun/asech.m, elfun/cot.m, + elfun/coth.m, elfun/csc.m, elfun/csch.m, elfun/lcm.m, elfun/sec.m, + elfun/sech.m, finance/fv.m, finance/fvl.m, finance/irr.m, + finance/nper.m, finance/npv.m, finance/pmt.m, finance/pv.m, + finance/pvl.m, finance/rate.m, finance/vol.m, + general/__isequal__.m, general/bitcmp.m, general/bitget.m, + general/bitset.m, general/blkdiag.m, general/cart2sph.m, + general/cell2mat.m, general/circshift.m, general/cplxpair.m, + general/cumtrapz.m, general/deal.m, general/diff.m, + general/flipdim.m, general/fliplr.m, general/flipud.m, + general/ind2sub.m, general/int2str.m, + general/is_duplicate_entry.m, general/isdefinite.m, + general/isequal.m, general/isequalwithequalnans.m, + general/isscalar.m, general/issquare.m, general/issymmetric.m, + general/isvector.m, general/logical.m, general/logspace.m, + general/mod.m, general/nargchk.m, general/nextpow2.m, + general/perror.m, general/postpad.m, general/prepad.m, + general/randperm.m, general/rem.m, general/repmat.m, + general/rot90.m, general/rotdim.m, general/shift.m, + general/shiftdim.m, general/sph2cart.m, general/strerror.m, + general/sub2ind.m, general/trapz.m, general/tril.m, + general/triu.m, image/gray.m, image/gray2ind.m, image/hsv2rgb.m, + image/image.m, image/imagesc.m, image/ind2gray.m, image/ind2rgb.m, + image/loadimage.m, image/ntsc2rgb.m, image/ocean.m, + image/rgb2hsv.m, image/rgb2ntsc.m, image/saveimage.m, io/beep.m, + linear-algebra/commutation_matrix.m, linear-algebra/cond.m, + linear-algebra/cross.m, linear-algebra/dmult.m, + linear-algebra/dot.m, linear-algebra/duplication_matrix.m, + linear-algebra/krylov.m, linear-algebra/krylovb.m, + linear-algebra/logm.m, linear-algebra/norm.m, + linear-algebra/null.m, linear-algebra/orth.m, + linear-algebra/qzhess.m, linear-algebra/rank.m, + linear-algebra/trace.m, linear-algebra/vec.m, + linear-algebra/vech.m, miscellaneous/bincoeff.m, + miscellaneous/delete.m, miscellaneous/dir.m, miscellaneous/dos.m, + miscellaneous/fileattrib.m, miscellaneous/fileparts.m, + miscellaneous/flops.m, miscellaneous/fullfile.m, + miscellaneous/ispc.m, miscellaneous/isunix.m, + miscellaneous/menu.m, miscellaneous/not.m, miscellaneous/popen2.m, + miscellaneous/single.m, miscellaneous/unix.m, miscellaneous/ver.m, + miscellaneous/xor.m, optimization/glpk.m, optimization/glpkmex.m, + optimization/qp.m, optimization/sqp.m, plot/__axis_label__.m, + plot/__errplot__.m, plot/__plr1__.m, plot/__plr2__.m, + plot/__plr__.m, plot/__plt1__.m, plot/__plt2__.m, + plot/__plt2mm__.m, plot/__plt2mv__.m, plot/__plt2ss__.m, + plot/__plt2vm__.m, plot/__plt2vv__.m, plot/__pltopt1__.m, + plot/__pltopt__.m, plot/bar.m, plot/bottom_title.m, plot/close.m, + plot/contour.m, plot/errorbar.m, plot/figure.m, plot/fplot.m, + plot/grid.m, plot/hist.m, plot/hold.m, plot/ishold.m, + plot/loglogerr.m, plot/mesh.m, plot/meshdom.m, plot/meshgrid.m, + plot/multiplot.m, plot/orient.m, plot/polar.m, plot/replot.m, + plot/semilogxerr.m, plot/semilogyerr.m, plot/sombrero.m, + plot/stairs.m, plot/subplot.m, plot/subwindow.m, plot/title.m, + plot/top_title.m, polynomial/compan.m, polynomial/conv.m, + polynomial/deconv.m, polynomial/mkpp.m, polynomial/poly.m, + polynomial/polyder.m, polynomial/polyderiv.m, + polynomial/polyfit.m, polynomial/polygcd.m, + polynomial/polyinteg.m, polynomial/polyout.m, + polynomial/polyreduce.m, polynomial/polyval.m, + polynomial/polyvalm.m, polynomial/ppval.m, polynomial/residue.m, + polynomial/roots.m, polynomial/unmkpp.m, quaternion/quaternion.m, + set/complement.m, set/create_set.m, set/intersect.m, + set/ismember.m, set/setdiff.m, set/setxor.m, set/union.m, + set/unique.m, signal/arch_fit.m, signal/arch_rnd.m, + signal/arma_rnd.m, signal/autocor.m, signal/autoreg_matrix.m, + signal/bartlett.m, signal/blackman.m, signal/detrend.m, + signal/diffpara.m, signal/durbinlevinson.m, signal/fftconv.m, + signal/fftfilt.m, signal/fftshift.m, signal/filter2.m, + signal/freqz.m, signal/hamming.m, signal/hanning.m, + signal/hurst.m, signal/ifftshift.m, signal/sinetone.m, + signal/sinewave.m, signal/spencer.m, signal/stft.m, + signal/synthesis.m, signal/unwrap.m, sparse/gplot.m, + sparse/spfun.m, sparse/sprand.m, sparse/sprandn.m, + sparse/sprandsym.m, sparse/spstats.m, specfun/beta.m, + specfun/betai.m, specfun/betaln.m, specfun/erfinv.m, + specfun/gammai.m, specfun/log2.m, specfun/pow2.m, + special-matrix/hankel.m, special-matrix/hilb.m, + special-matrix/invhilb.m, special-matrix/sylvester_matrix.m, + special-matrix/toeplitz.m, special-matrix/vander.m, + statistics/base/center.m, statistics/base/cloglog.m, + statistics/base/cor.m, statistics/base/corrcoef.m, + statistics/base/cov.m, statistics/base/cut.m, + statistics/base/gls.m, statistics/base/iqr.m, + statistics/base/kendall.m, statistics/base/kurtosis.m, + statistics/base/logit.m, statistics/base/mahalanobis.m, + statistics/base/mean.m, statistics/base/meansq.m, + statistics/base/median.m, statistics/base/moment.m, + statistics/base/ols.m, statistics/base/ppplot.m, + statistics/base/probit.m, statistics/base/qqplot.m, + statistics/base/range.m, statistics/base/ranks.m, + statistics/base/run_count.m, statistics/base/skewness.m, + statistics/base/spearman.m, statistics/base/statistics.m, + statistics/base/std.m, statistics/base/studentize.m, + statistics/base/table.m, statistics/base/values.m, + statistics/base/var.m, statistics/distributions/betacdf.m, + statistics/distributions/betainv.m, + statistics/distributions/betapdf.m, + statistics/distributions/betarnd.m, + statistics/distributions/binocdf.m, + statistics/distributions/binoinv.m, + statistics/distributions/binopdf.m, + statistics/distributions/binornd.m, + statistics/distributions/cauchy_cdf.m, + statistics/distributions/cauchy_inv.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chi2cdf.m, + statistics/distributions/chi2inv.m, + statistics/distributions/chi2pdf.m, + statistics/distributions/chi2rnd.m, + statistics/distributions/discrete_cdf.m, + statistics/distributions/discrete_inv.m, + statistics/distributions/discrete_pdf.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/empirical_rnd.m, + statistics/distributions/expcdf.m, + statistics/distributions/expinv.m, + statistics/distributions/exppdf.m, + statistics/distributions/exprnd.m, + statistics/distributions/fcdf.m, statistics/distributions/finv.m, + statistics/distributions/fpdf.m, statistics/distributions/frnd.m, + statistics/distributions/gamcdf.m, + statistics/distributions/gaminv.m, + statistics/distributions/gampdf.m, + statistics/distributions/gamrnd.m, + statistics/distributions/geocdf.m, + statistics/distributions/geoinv.m, + statistics/distributions/geopdf.m, + statistics/distributions/geornd.m, + statistics/distributions/hygecdf.m, + statistics/distributions/hygeinv.m, + statistics/distributions/hygepdf.m, + statistics/distributions/hygernd.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/laplace_cdf.m, + statistics/distributions/laplace_inv.m, + statistics/distributions/laplace_pdf.m, + statistics/distributions/laplace_rnd.m, + statistics/distributions/logistic_cdf.m, + statistics/distributions/logistic_inv.m, + statistics/distributions/logistic_pdf.m, + statistics/distributions/logistic_rnd.m, + statistics/distributions/logncdf.m, + statistics/distributions/logninv.m, + statistics/distributions/lognpdf.m, + statistics/distributions/lognrnd.m, + statistics/distributions/normcdf.m, + statistics/distributions/norminv.m, + statistics/distributions/normpdf.m, + statistics/distributions/normrnd.m, + statistics/distributions/pascal_cdf.m, + statistics/distributions/pascal_inv.m, + statistics/distributions/pascal_pdf.m, + statistics/distributions/pascal_rnd.m, + statistics/distributions/poisscdf.m, + statistics/distributions/poissinv.m, + statistics/distributions/poisspdf.m, + statistics/distributions/poissrnd.m, + statistics/distributions/stdnormal_cdf.m, + statistics/distributions/stdnormal_inv.m, + statistics/distributions/stdnormal_pdf.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/tcdf.m, statistics/distributions/tinv.m, + statistics/distributions/tpdf.m, statistics/distributions/trnd.m, + statistics/distributions/unifcdf.m, + statistics/distributions/unifinv.m, + statistics/distributions/unifpdf.m, + statistics/distributions/unifrnd.m, + statistics/distributions/wblcdf.m, + statistics/distributions/wblinv.m, + statistics/distributions/wblpdf.m, + statistics/distributions/wblrnd.m, + statistics/distributions/wienrnd.m, statistics/tests/anova.m, + statistics/tests/bartlett_test.m, + statistics/tests/chisquare_test_homogeneity.m, + statistics/tests/chisquare_test_independence.m, + statistics/tests/cor_test.m, statistics/tests/f_test_regression.m, + statistics/tests/hotelling_test.m, + statistics/tests/hotelling_test_2.m, + statistics/tests/kolmogorov_smirnov_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, + statistics/tests/kruskal_wallis_test.m, statistics/tests/manova.m, + statistics/tests/mcnemar_test.m, statistics/tests/prop_test_2.m, + statistics/tests/run_test.m, statistics/tests/sign_test.m, + statistics/tests/t_test.m, statistics/tests/t_test_2.m, + statistics/tests/t_test_regression.m, statistics/tests/u_test.m, + statistics/tests/var_test.m, statistics/tests/welch_test.m, + statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, + statistics/tests/z_test_2.m, strings/base2dec.m, strings/blanks.m, + strings/deblank.m, strings/dec2base.m, strings/dec2bin.m, + strings/dec2hex.m, strings/findstr.m, strings/hex2dec.m, + strings/index.m, strings/isletter.m, strings/lower.m, + strings/rindex.m, strings/split.m, strings/str2mat.m, + strings/str2num.m, strings/strcat.m, strings/strcmpi.m, + strings/strfind.m, strings/strjust.m, strings/strmatch.m, + strings/strncmp.m, strings/strncmpi.m, strings/strrep.m, + strings/strtrunc.m, strings/strvcat.m, strings/substr.m, + strings/upper.m, testfun/assert.m, testfun/demo.m, + testfun/example.m, testfun/fail.m, testfun/speed.m, + testfun/test.m, time/asctime.m, time/calendar.m, time/ctime.m, + time/datenum.m, time/datestr.m, time/datevec.m, time/eomday.m, + time/etime.m, time/is_leap_year.m: + Use print_usage instead of usage. + +2006-10-09 David Bateman + + * time/datevec.m: Add additional compatible default parsing strings. + +2006-10-09 Bill Denney + + * pkg/pkg.m: Remove trailing "\n" from error messages. + Remove compare_versions subfunction. + + * miscellaneous/compare_versions.m: New function to compare + version numbers as strings with any boolean operators. + + * miscellaneous/untar.m: Check more rigorously to see if the tar + file exists. + +2006-10-04 John W. Eaton + + * pkg/pkg.m: Use fullfile to concatenate directory and file names. + +2006-10-04 S�ren Hauberg + + * pkg/pkg.m: Update docs. Handle prefix option. + Handle dependencies for load option. + +2006-10-04 John W. Eaton + + * deprecated/clearplot.m, deprecated/clg.m: New functions. + + * plot/clg.m: Delete. + * plot/__init_plot_vars__.m: New function. + * plot/__setup_plot__.m: Use __init_plot_vars__. + +2006-10-03 S�ren Hauberg + + * pkg/pkg.m: Avoid calling addpath with no args. + +2006-10-03 Bill Denney + + * audio/loadaudio.m, control/base/nyquist.m, + control/system/__zp2ssg2__.m, linear-algebra/cross.m, + linear-algebra/krylov.m, statistics/base/center.m, + statistics/base/median.m, statistics/base/std.m, + statistics/base/var.m, testfun/test.m: Use the new find syntax to + find first or last element matching a condition. + +2006-10-02 Bill Denney + + * strings/deblank.m, strings/upper.m, strings/lower.m, + general/__isequal__.m: Minimize looping using cellfun. + +2006-10-02 David Bateman + + * pkg/pkg.m (copy_files): always create installation directory. + +2006-10-02 Thomas Weber + + * miscellaneous/doc.m: Swap file and directory args to info. + +2006-10-01 Arno Onken + + * statistics/distributions/exprnd.m: Fix typo. + +2006-09-30 Benjamin Lindner + + * polynomial/ppval.m: Use .' instead of '. + * polynomial/spline.m: Likewise. New tests. + +2006-09-26 David Bateman + + * __plt3__.m: Using global variables __plot_data__, + __plot_data_offset__ and __plot_command__ to store plots and + correctly handle multiplots, and hold state. Only accept a single + data parameter plus, using, format and with strings. Remove + setting of gnuplot parameters. + * __make_using_clause__.m: New function extracted from __plt__.m. + * __setup_plot__.m: Convert to a function and pass the plotting + command to use. + * __plt__.m: Change call to __setup_plot__ and __make_using_clause__. + * contour.m: Use unwind protect on the parametric state of plot + and __plt3__ instead of calling __gnuplot_splot__ directly. + * mesh.m: ditto. + * plot3.m: Error checking, setting of parametric state and + formation of matrix to plot moved from old __plt3__. + +2006-09-22 Michael Creel + + * deprecated/chisquare_pdf.m: Typo in documentation. + +2006-09-22 S�ren Hauberg + + * signal/filter2.m: Correct texinfo doc. + +2006-09-22 David Bateman + + * miscellaneous/parseparams.m: Correct texinfo doc. + +2006-09-15 David Bateman + + * pkg/pkg.m (prepare_installation): Don't create package + installation directory here. + (copy_files): Create it here instead, to avoid issues with + upgrades. Also install the COPYING file in packinfo. + +2006-09-13 John W. Eaton + + * general/blkdiag.m: Adjust to new cellfun rules. + +2006-08-30 David Bateman + + * pkg/pkg.m (install): Disallow bundles of packages. More verbose + error message for archive name not matching package name. + (installed_packages): Size header of printed results to + arguments. Sort the list of installed packages before printing + them. + +2006-09-11 Paul Kienzle + + * signal/freqz.m: Update tests. + +2006-09-11 Ken Kouno + + * signal/freqz.m: Corretly postpad arrays. + Don't call fliplr on a column vector. + +2006-09-11 Luis F. Ortiz + + * general/shiftdim.m: Use permute instead of reshape. + +2006-09-05 Alexander Barth + + * miscellaneous/parseparams.m: New function. + +2006-09-05 Rafael Laboissiere + + * miscellaneous/doc.m: Swap order of --file and --directory + options for info program invocation. + +2006-08-30 David Bateman + + * pkg/pkg.m (create_pkgadddel): Resolve variable name-clash from + previous change. + +2006-08-26 David Bateman + + * pkg/pkg.m (install, uninstall, installed_packages): Allow for + absence of trailing "/" in OCTAVE_HOME. + +2006-08-25 Alexander Barth + + * time/datenum.m: Allow arg to be character string. + +2006-08-25 David Bateman + + * pkg/pkg.m (install): Verify that package name correponds to the + archive name. Treat both PKG_ADD and PKG_DEL and remove them if + they are empty. If package directory is empty, remove it to fail + gracefully for system specific packages. + (extract_pkgadd, create_pkgadd): delete. + (extract_pkg, create_pkg): Generalized versions of deleted functions + (copy_files): Install both bin/ and doc/ directories, adding the + bin/ to the EXEC_PATH when the package is loaded. + +2006-08-24 John W. Eaton + + * image/saveimage.m: Use logical indexing instead of + indices computed by calling find on the logical index. + +2006-08-24 S�ren Hauberg + + * miscellaneous/bincoeff.m, specfun/factorial.m: + Use logical indexing instead of indices computed by calling find + on the logical index. + + * linear-algebra/krylov.m: Delete unused local var nzidx. + +2006-08-23 Quentin Spencer + + * control/system/tf2zp.m: Simplify gain calculation. + +2006-08-23 John W. Eaton + + * plot/__plt__.m: Insert using clauses for all plots. + +2006-08-23 A S Hodel + + * control/system/sysscale.m: Call tf and zp with correct number of + args. + +2006-08-22 David Bateman + + * pkg/pkg.m (extract_pkgadd, create_pkgadd): New functions to + Search inst/*.m and src/*.m files in the package for + PKG_ADD directives and append user supplied PKG_ADD. + (pkg): Call create_pkgadd after copying files. + +2006-08-21 S�ren Hauberg + + * pkg/pkg.m: Handle multiple packages in a single file. + Insert directory separator between OCTAVE_HOME and rest of package + installation directory. + +2006-08-21 John W. Eaton + + * general/num2str.m: Early return if arg is empty. + From Thomas Treichl . + +2006-08-21 David Bateman + + * strings/mat2str.m: Compute NC before using. + +2006-08-17 John W. Eaton + + * audio/wavread.m: Fix calculation of sample count. + +2006-08-14 S�ren Hauberg + + * image/imshow.m: New Matlab-compatible version. + +2006-08-15 John W. Eaton + + * deprecated/is_global.m: Delete. + +2006-08-14 John W. Eaton + + * pkg/Makefile.in (script_sub_dir): Change from plot to pkg. + +2006-08-14 Dmitri A. Sergatskov + + * sparse/spy.m, control/base/bode.m, control/base/__stepimp__.m, + signal/freqz_plot.m: Adapt to new automatic_replot definition. + +2006-08-14 S�ren Hauberg + + * pkg/pkg.m: Don't pass function name to print_usage. + Use addpath and rmpath instead of manipulating LOADPATH. + Handle changes to system function. + (rm_rf): New subfunction. Use it to avoid confirmation dialog for + recursive directory removal. + + * strings/bin2dec.m: Ignore spaces in input for compatibility. + + * colormap.m: Change global variable to persistent. + + * rgb2ind.m: Handle single 3-d array as rgb image. + +2006-08-14 John W. Eaton + + * strings/str2double.m: Fix missing semicolon. + +2006-07-27 Jim Peterson + + * plot/plot3.m: Accept one complex or one real and one complex + argument and plot real and imaginary components for y and z. + +2006-07-27 John W. Eaton + + * testfun/test.m: Call fflush after each block of calls to + fprintf, fputs, or fdisp. + +2006-07-26 John W. Eaton + + * miscellaneous/mex.m: New function. + +2006-07-22 John W. Eaton + + * special-matrix/hadamard.m: Coerce bool matrix to double. + +2006-07-07 John W. Eaton + + * miscellaneous/orderfields.m: New file. + +2006-06-30 John W. Eaton + + * time/datevec.m: Make another attempt to account for precision of + datenum format. + +2006-06-29 John W. Eaton + + * miscellaneous/dump_prefs.m: Remove obsolete symbols from the list. + Use feval instead of "type -q" to get values now that all the + symbols are functions. + +2006-06-16 John W. Eaton + + * time/datevec.m: Avoid computing log of non-positive values. + +2006-06-14 John W. Eaton + + * time/datevec.m: Attempt to account for precision of datenum format. + +2006-06-01 Quentin H. Spencer + + * audio/wavread.m: Fix file range error and add read support for + 24-bit WAV files. + +2006-06-01 David Bateman + + * general/interpft.m, general/quadl.m, general/polyarea.m, + general/interp1.m, general/gradient.m, general/interp2.m, + general/bicubic.m, miscellaneous/inputname.m, plot/__plt3__.m, + plot/ndgrid.m, plot/plot3.m, polynomial/pchip.m, sparse/pcg.m, + sparse/pcr.m, strings/mat2str.m: New files from Octave Forge. + +2006-05-31 Bill Denney + + * miscellaneous/fileparts.m, miscellaneous/fullfile.m: Add seealso. + * miscellaneous/texas_lotto.m: Fix warning message. + +2006-05-26 John W. Eaton + + * miscellaneous/doc.m: Also handle nargin == 0. + +2006-05-23 John W. Eaton + + * plot/mesh.m: Use __gnupot_raw__ except where __gnuplot_set__ is + really needed. + +2006-05-22 John W. Eaton + + * general/lookup.m: New file from Octave Forge. + +2006-05-22 David Bateman + + * general/nthroot.m, linear-algebra/rref.m, specfun/isprime.m, + specfun/primes.m, specfun/factor.m, specfun/nchoosek.m, + specfun/legendre.m, specfun/perms.m, special-matrix/rosser.m, + special-matrix/wilkinson.m, special-matrix/pascal.m, + special-matrix/magic.m, special-matrix/hadamard.m, + strings/strtok.m: New files from Octave Forge. + +2006-05-19 David Bateman + + * polynomial/unmkpp.m, polynomial/mkpp.m, polynomial/spline.m, + polynomial/ppval.m, set/setxor.m: New files from Octave Forge. + +2006-05-17 John W. Eaton + + * set/intersection.m: Delete + * deprecated/intersection.m: New file. + +2006-05-17 David Bateman + + * general/cplxpair.m, general/trapz.m, general/cumtrapz.m, + general/isdir.m, miscellaneous/dos.m, miscellaneous/getfield.m, + miscellaneous/setfield.m, plot/fplot.m, set/intersect.m, + signal/ifftshift.m, signal/filter2.m, specfun/betaln.m, + specfun/factorial.m, strings/strvcat.m: New files from Octave + Forge. + +2006-05-11 John W. Eaton + + * path/path.m: Delete (now a built-in function). + + * pkg/Makefile.in: New file. + * configure.in (AC_CONFIG_FILES): Add pkg/Makefile to the list. + * Makefile.in (SUBDIRS): Add pkg to the list. + +2006-05-10 John W. Eaton + + * tar.m, untar.m, unzip.m: Adapt to Octave coding style. + * tar.m, untar.m: Only tar; don't compress or uncompress. + +2006-05-10 S�ren Hauberg + + * tar.m, untar.m, unzip.m: New files. + +2006-05-10 John W. Eaton + + * path/addpath.m, path/rmpath.m: Improve compatibility. + * path/setpath.m: Delete. + + * pkg/pkg.m: New file. + +2006-05-09 Keith Goodman + + * plot/plot.m: Doc string fix. + +2006-05-09 Paul Kienzle + + * testfun/speeed.m: Use new interface to unique and assert. + Improve documentation. Approximate time complexity from log-log + plot. Return time complexity and raw times if requested. The + mean ratio is no longer returned. Provide complete control over + which n are computed. + +2006-05-09 John W. Eaton + + * path/path.m: Move here from miscellaneous. + Adapt to new LOADPATH definition. + +2006-05-03 David Bateman + + * path/rmpath.m, path/addpath.m, miscellaneous/path.m: Replace all + explicit uses of a path seperation character with pathsep(). + +2006-05-03 Bob Weigel + + * set/setdiff.m: New arg, byrows. New tests. + +2006-04-29 John W. Eaton + + * startup/main-rcfile: Disable some warnings. + +2006-04-14 Bill Denney + + * strings/strcmpi.m: Return false instead of error if args are not + char or cellstr. + +2006-04-10 John W. Eaton + + * miscellaneous/dir.m: Ensure that returned structure array is + Nx1, not 1xN. + +2006-04-06 Olli Saarela + + * plot/hist.m: Ignore NaN in inputs. + +2006-04-06 Keith Goodman + + * miscellaneous/mkoctfile.m: Doc string fix. + +2006-04-05 John W. Eaton + + * plot/__plt2__.m: Return data = [] and fmtstr = "" if x1 and x2 + are both empty. + * plot/__plt__.m: Ignore empty data and format strings returned + from __plt1__ or __plt2__. + +2006-04-04 Bob Weigel + + * set/unique.m: Properly handle single column input when + "rows" is specified. + +2006-04-04 John W. Eaton + + * path/setpath.m: New file. + * path/savepath.m: Use setpath to set path instead of assigning + directly to LOADPATH. + + * path/Makefile.in, path/addpath.m, path/rmpath.m, path/savepath.m: + New files, adapted from Octave Forge by Keith Goodman + . + * path: New directory. + * Makefile.in (SUBDIRS): Add it to the list. + * configure.in (AC_CONFIG_FILES): Include path/Makefile here. + +2006-04-02 David Bateman + + * general/tril.m, general.triu.m: + Use resize (resize (x, 0), nr, nc) rather than zeros (nr, nc) + to allow user types to work correctly. + * special-matrix/hankel.m, special-matrix/toeplitz.m: Ditto. + +2006-04-03 David Bateman + + * plot/grid.m: Cache the state of the grid to allow toggling. + Accept keyword "minor" for minor grid. + +2006-03-28 John W. Eaton + + * general/isscalar.m: Only require that all dimensions are 1 for + compatiblity. + +2006-03-28 Bill Denney + + * general/isvector.m: Allow non-numeric objects to be vectors for + compatibility. + +2006-03-28 Keith Goodman + + * plot/__errplot__.m: Doc string fix. + + * miscellaneous/doc.m: Mark as command. + + * general/isequal.m, general/__isequal__.m, general/cell2mat.m, + general/isequalwithequalnans.m, general/blkdiag.m, + strings/strfind.m, miscellaneous/doc.m: Update FSF address. + +2006-03-27 Don Bindner + + * plot/meshgrid.m: If nargout == 3 and vectors are supplied, + return 3d matrices. + +2006-03-27 Keith Goodman + + * time/toc.m: Don't print "Elapsed time..." if tic has not been set. + +2006-03-22 John W. Eaton + + * plot/print.m: Don't replot after popping terminal setting. + +2006-03-20 John W. Eaton + + * miscellaneous/mkoctfile.m: Use version-specific name of + mkoctfile. Use fullfile to construct file name. + +2006-03-20 Keith Goodman + + * miscellaneous/mkoctfile.m: Make it possible to call mkoctfile + shell script from Octave prompt. + +2006-03-17 John W. Eaton + + * deprecated/weibcdf.m, deprecated/weibinv.m, + deprecated/weibpdf.m, deprecated/weibrnd.m: New functions. + + * deprecated/weibull_cdf.m, deprecated/weibull_inv.m, + deprecated/weibull_pdf.m, deprecated/weibull_rnd.m: + Call new wbl functions to do the real work. + Swap args and provide default values as necessary to preserve + compatibility with old version of Octave. + + * statistics/distributions/wblcdf.m: Rename from weibcdf.m. + statistics/distributions/wblinv.m: Rename from weibinv.m. + statistics/distributions/wblpdf.m: Rename from weibpdf.m. + statistics/distributions/wblrnd.m: Rename from weibrnd.m. + Swap scale and shape args for compatibility. + + * deprecated/lognormal_cdf.m, deprecated/lognormal_inv.m, + deprecated/lognormal_pdf.m, deprecated/lognormal_rnd.m: + Preserve compatibility with old versions of Octave given new + definitions of logncdf, logninv, lognpdf, and lognrnd. + + * statistics/distributions/logncdf.m, + statistics/distributions/logninv.m, + statistics/distributions/lognpdf.m, + statistics/distributions/lognrnd.m: Compatibility fixes. + From Ben Barrowes + + * deprecated/hypergeometric_rnd.m: Update interface to match + current 2.1.x version. + + * deprecated/t_rnd.m: Call trnd, not t_rnd. + + * miscellaneous/dir.m: Use readdir instead of glob. + Special case for "." to avoid globbing. Use list_in_columns. + Eliminate unused variables len and finfo. + +2006-03-16 Bill Denney + + * miscellaneous/dir.m: Improve compatibility. + +2006-03-15 William Poetra Yoga Hadisoeseno + + * time/calendar.m, time/datestr.m, time/datevec.m, time/eomday.m, + time/now.m, time/weekday.m: New functions from Octave Forge. + +2006-03-16 John W. Eaton + + * control/base/bode_bounds.m: Check for iip and iiz empty instead + of looking at sum of max dimensions. + +2006-03-16 David Bateman + + * testfun/test.m: Clear last warning before warning test to avoid + issues with previously set warnings. + * build_sparse_test.sh: Tests for multiple RHS for rectanguar + sparse matrices. Force matrix type from spqr solution to be + singular to force QR solvers to be used for assert. + +2006-03-16 William Poetra Yoga Hadisoeseno + + * strings/strfind.m: New file. + +2006-03-16 John W. Eaton + + * general/rows.m, general/columns.m: Delete. + +2006-03-15 William Poetra Yoga Hadisoeseno + + * strings/strcmpi.m: Simplify. + * strings/strncmpi.m: Import from octave-forge, simplify. + * strings/strtrunc.m: New file. + + * strings/lower.m, strings/upper.m: Handle cellstr arguments. + +2006-03-15 John W. Eaton + + * miscellaneous/doc.m: New file. + From S�ren Hauberg . + +2006-03-15 Keith Goodman + + * miscellaneous/mkoctfile.m: New file. + +2006-03-15 John W. Eaton + + * polynomial/residue.m: Use & instead of && to generate arg for find. + +2006-03-14 Keith Goodman + + * strings/bin2dec.m: Doc fix. + +2006-03-10 Paul Kienzle + + * time/etime.m: Use datenum to support times spanning year boundaries. + * time/datenum.m: New function to compute day number from time. + +2006-03-09 John W. Eaton + + * miscellaneous/unix.m, plot/print.m: + Swap order of outputs from system. + +2006-03-06 Keith Goodman + + * audio/lin2mu.m, audio/loadaudio.m, audio/mu2lin.m, + audio/playaudio.m, audio/record.m, audio/saveaudio.m, + audio/wavread.m, audio/wavwrite.m, control/base/DEMOcontrol.m, + control/base/__stepimp__.m, control/base/are.m, + control/base/controldemo.m, control/base/damp.m, + control/base/dare.m, control/base/impulse.m, control/base/lqg.m, + control/base/step.m, control/system/abcddim.m, + control/system/is_abcd.m, control/system/is_controllable.m, + control/system/is_detectable.m, control/system/is_observable.m, + control/system/is_stabilizable.m, control/system/is_stable.m, + control/system/jet707.m, control/system/sys2fir.m, + control/system/sysdimensions.m, control/system/sysupdate.m, + control/system/tfout.m, control/system/ugain.m, + control/system/zpout.m, elfun/lcm.m, finance/irr.m, + finance/nper.m, finance/npv.m, finance/pmt.m, finance/pv.m, + finance/rate.m, general/__isequal__.m, general/bitcmp.m, + general/bitget.m, general/bitset.m, general/blkdiag.m, + general/cart2pol.m, general/cart2sph.m, general/cell2mat.m, + general/circshift.m, general/columns.m, general/flipdim.m, + general/fliplr.m, general/flipud.m, general/ind2sub.m, + general/int2str.m, general/isdefinite.m, general/isequal.m, + general/isequalwithequalnans.m, general/isscalar.m, + general/issquare.m, general/issymmetric.m, general/isvector.m, + general/logspace.m, general/mod.m, general/nextpow2.m, + general/num2str.m, general/perror.m, general/pol2cart.m, + general/rem.m, general/rot90.m, general/rotdim.m, general/rows.m, + general/shiftdim.m, general/sph2cart.m, general/sub2ind.m, + general/tril.m, image/hsv2rgb.m, image/image.m, image/imagesc.m, + image/imshow.m, image/ind2gray.m, image/ind2rgb.m, + image/loadimage.m, image/rgb2hsv.m, image/rgb2ind.m, + image/saveimage.m, io/beep.m, linear-algebra/cond.m, + linear-algebra/norm.m, miscellaneous/comma.m, miscellaneous/dir.m, + miscellaneous/license.m, miscellaneous/menu.m, + miscellaneous/semicolon.m, miscellaneous/texas_lotto.m, + miscellaneous/unix.m, miscellaneous/ver.m, optimization/sqp.m, + plot/__errcomm__.m, plot/__errplot__.m, plot/__pltopt1__.m, + plot/__pltopt__.m, plot/bar.m, plot/contour.m, plot/errorbar.m, + plot/grid.m, plot/hist.m, plot/loglog.m, plot/loglogerr.m, + plot/mesh.m, plot/meshgrid.m, plot/plot.m, plot/polar.m, + plot/semilogx.m, plot/semilogxerr.m, plot/semilogy.m, + plot/semilogyerr.m, plot/shg.m, plot/stairs.m, plot/title.m, + plot/xlabel.m, polynomial/compan.m, polynomial/conv.m, + polynomial/deconv.m, polynomial/polyderiv.m, polynomial/polygcd.m, + polynomial/polyinteg.m, polynomial/polyout.m, + polynomial/polyreduce.m, polynomial/polyval.m, + polynomial/polyvalm.m, polynomial/residue.m, set/complement.m, + set/create_set.m, set/intersection.m, set/ismember.m, + set/setdiff.m, set/union.m, set/unique.m, sparse/etreeplot.m, + sparse/gplot.m, sparse/spalloc.m, sparse/sphcat.m, + sparse/sprand.m, sparse/sprandn.m, sparse/sprandsym.m, + sparse/spvcat.m, sparse/treeplot.m, specfun/erfinv.m, + specfun/log2.m, specfun/pow2.m, special-matrix/hankel.m, + special-matrix/hilb.m, special-matrix/invhilb.m, + special-matrix/sylvester_matrix.m, special-matrix/toeplitz.m, + special-matrix/vander.m, statistics/base/median.m, + statistics/base/std.m, statistics/distributions/gamcdf.m, + statistics/distributions/gaminv.m, + statistics/distributions/gampdf.m, + statistics/distributions/gamrnd.m, strings/base2dec.m, + strings/bin2dec.m, strings/dec2base.m, strings/dec2bin.m, + strings/dec2hex.m, strings/hex2dec.m, strings/isletter.m, + strings/lower.m, strings/upper.m, testfun/assert.m, + testfun/demo.m, testfun/example.m, testfun/test.m, time/etime.m: + Move @seealso inside @defXXX macro. Remove "and" from @seealso. + +2006-02-27 John W. Eaton + + * time/tic.m: Move here from miscellaneous/tic.m. + * time/toc.m: Move here from miscellaneous/toc.m. + +2006-02-26 Keith Goodman + + * miscellaneous/toc.m: Display "Elapsed time is X seconds" if user + does not assign output of toc to a variable. + +2006-02-16 Bill Denney + + * axis.m: Catch limits that are the same and return an error. + +2006-02-15 Dmitri A. Sergatskov + + * plot/print.m: Accept emf device option to support Enhanced + Metafile format. + +2006-02-15 A S Hodel + + * control/base/lqe.m: Doc fix. + +2006-02-15 Keith Goodman + + * statistics/distributions/gamcdf.m: Doc fix. + * statistics/distributions/gaminv.m: Doc fix. + * statistics/distributions/gampdf.m: Doc fix. + * statistics/distributions/gamrnd.m: Doc fix. + +2006-02-09 David Bateman + + * general/triu.m: Minimum change to allow sparse matrix. More needed + for arbitrary user type. + * general/tril.m: ditto. + * sparse/sprand.m: Doc fix. + * sparse/sprandn.m: Ditto. + * sparse/sprandsym.m: New function. + * audio/setaudio.m, general/cart2pol.m, general/cart2sph.m, + general/pol2cart.m, general/sph2cart.m, signal/freqz_plot.m: + Update for syntax error for latest texinfo.tex file. + +2006-02-02 John W. Eaton + + * plot/grid.m: Append ";\n" to "set grid" command. + +2006-02-02 A S Hodel + + * control/base/rlocus.m: Don't atttempt to plot rlzer if it is empty. + +2006-01-13 John W. Eaton + + * audio/Makefile.in, control/base/Makefile.in, + control/hinf/Makefile.in, control/obsolete/Makefile.in, + control/system/Makefile.in, control/util/Makefile.in, + deprecated/Makefile.in, elfun/Makefile.in, finance/Makefile.in, + general/Makefile.in, image/Makefile.in, io/Makefile.in, + linear-algebra/Makefile.in, miscellaneous/Makefile.in, + optimization/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, quaternion/Makefile.in, set/Makefile.in, + signal/Makefile.in, sparse/Makefile.in, specfun/Makefile.in, + special-matrix/Makefile.in, startup/Makefile.in, + statistics/base/Makefile.in, statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, time/Makefile.in, testfun/Makefile.in: + (all): Depend on PKG_ADD. + (PKG_ADD): New target. + +2006-01-13 Bill Denney + + * miscellaneous/dir.m: Add @seealso{} to docstring. + +2006-01-13 John W. Eaton + + * time/etime.m: Move here from miscellaneous/etime.m. + * time/is_leap_year.m: Move here from miscellaneous/is_leap_year.m. + +2006-01-13 Bill Denney + + * miscellaneous/dir.m: Use filesep instead of "/" where needed. + * miscellaneous/fullfile.m: Likewise. + +2006-01-12 David Bateman + + * general/blkdiag.m: Compatible behavior for empty matrices + * statistics/base/unidrnd.m: Documentation buglet. + +2005-12-14 David Bateman + + * testfun/assert.m, testfun/fail.m, testfun/test.m, testfun/demo.m, + testfun/speed.m, testfun/example.m, Makefile.in: New files. + + * Makefile.in (SUBDIRS): Include testfun. + * configure.in (AC_CONFIG_FILES): Include testfun/Makefile. + + * miscellaneous/dir.m: Transpose sub-assignment for cleanness. + + * general/__isequal__.m: Remove reference to getfield. + + * plot/hist.m: Update test code for row/column discrepencies. + * signal/freqz.m: Alter output row/column for matlab compatibility. + Update the test code for this. + * sparse/spstats.m: Fix small bug in the dimension of output. + +2005-12-13 William Poetra Yoga Hadisoeseno + + * cell/cell2mat.m: New file, from octave-forge. + +2005-12-13 Ivana Varekova + + * sparse/treeplot.m, sparse/etreeplot.m, sparse/gplot.m: + New graph theory functions. + +2005-12-13 John W. Eaton + + * general/blkdiag.m: Use "isempty" instead of @isempty. + + * control/system/ss.m: Doc fix. + From Jorge Barros de Abreu . + +2005-12-12 Michael Zeising + + * audio/wavread.m, audio/wavwrite.m: + Correct scaling for 8-bit linear pcm samples. + Improve scaling for all other linear pcm resolutions. + +2005-12-07 John W. Eaton + + * statistics/base/moment.m: Don't save and restore warn_str_to_num. + + * sparse/spdiags.m: Don't save and restore warn_fortran_indexing. + * strings/strjust.m: Likewise. + + * general/shift.m: Don't save and restore warn_empty_list_elements. + * signal/arma_rnd.m: Likewise. + * strings/strcat.m: Likewise. + * control/base/__freqresp__.m: Likewise. + * control/base/place.m: Likewise. + * control/base/pzmap.m: Likewise. + * control/base/pzmap.m: Likewise. + * control/system/sysappend.m: Likewise. + * control/system/syscont.m: Likewise. + * control/system/sysdisc.m: Likewise. + * control/system/sysgroup.m: Likewise. + * control/system/tfout.m: Likewise. + * control/system/zpout.m: Likewise. + * control/util/__outlist__.m: Likewise. + +2005-12-06 John W. Eaton + + * audio/wavread.m, audio/wavwrite.m: Adapt to Octave coding style. + Avoid for loop in interleave/deinterleave steps. + +2005-12-06 Michael Zeising + + * audio/wavread.m, audio/wavwrite.m: New files. + +2005-12-06 John W. Eaton + + * miscellaneous/dir.m: Return Nx1 instead of 1xN struct array. + +2005-12-05 John W. Eaton + + * plot/axis.m: Add "## PKG_ADD: mark_as_command axis" line. + +2005-12-02 John W. Eaton + + * miscellaneous/fileattrib.m: New function. + +2005-12-01 John W. Eaton + + * general/columns.m: Use size (x, 2) instead of [nr, nc] = size (x). + * general/rows.m: Use size (x, 1) instead of [nr, nc] = size (x). + From William Poetra Yoga Hadisoeseno . + +2005-11-30 John W. Eaton + + * linear-algebra/krylov.m: Format doc string. + From Jorge Barros de Abreu . + +2005-11-23 William Poetra Yoga Hadisoeseno + + * general/blkdiag.m: Import from octave-forge. + Ignore empty matrices in the input. Add tests. + + * general/isequal.m, general/isequalwithequalnans.m: + New wrapper scripts for general/__isequal__.m. + * general/__isequal__.m: Rename from general/isequal.m. + New arg, nans_compare_equal. + +2005-11-29 John W. Eaton + + * miscellaneous/ver.m: Use new uname built-in function instead of + calling system. Only append octave_forge_string if + OCTAVE_FORGE_VERSION exists. Use puts instead of disp. + Call license instead of hard-coding license info here. + + * miscellaneous/license.m: Use persistent instead of global for + __octave_licenses__. Use puts instead of disp. + Use getuid and getpwuid instead of calling unix ("id -un"). + If nargout = 1, return license info instead of printing usage message. + +2005-11-29 William Poetra Yoga Hadisoeseno + + * miscellaneous/ver.m: New file. + * miscellaneous/license.m: New file. + +2005-11-22 John W. Eaton + + * plot/axis.m: Use %.16g instead of just %g to format ranges for + gnuplot set command. + +2005-11-15 John W. Eaton + + * general/shiftdim.m: Doc fix. + +2005-11-07 Keith Goodman + + * set/unique.m: Doc string fix. + +2005-11-01 John W. Eaton + + * Makefile.in (distclean, maintainer-clean): + Also remove autom4te.cache directory. + From Quentin Spencer . + +2005-10-28 John W. Eaton + + * general/shiftdim.m: Compatibility fix for row vectors. + Correct check for non-scalar non-integer shift. For positive + N, shift is remainder of N and number of dims. Always return NS. + Simplify. + +2005-10-18 Keith Goodman + + * general/randperm.m: Improve compatibility by allowing input + value of zero. + +2005-10-13 John W. Eaton + + * plot/__plt__.m, plot/__errplot__.m, plot/replot.m: + If in multiplot mode, clear plot before issuing new plot command. + + * plot/__setup_plot__.m: New function. + * plot/__plt__.m, plot__errplot__.m: Use it. + Handle multiplot data and offsets here. + + * plot/__plot_globals__.m: Also keep track of multiplot options. + Move initialization to __setup_plot__.m. + + * plot/subplot.m: Multiplot globals now in __plot_globals__.m. + Don't reset gnuplot_command_replot. + + * plot/replot.m: Handle multiplot data and offsets here. + * plot__axis_label__.m, plot/axis.m, plot/grid.m, + plot/plot_border.m, plot/plot.m, plot/plot_title.m, + plot/top_title.m: Call replot, not __gnuplot_replot__. + +2005-10-12 John W. Eaton + + * plot/figure.m: Handle __current_figure__, not gnuplot details. + +2005-10-04 Rafael Laboissiere + + * binoinv.m, chi2pdf.m, frnd.m, poissinv.m, tinv.m, trnd.m, + weibrnd.m: Removed calls and references to deprecated _pdf and + _inv functions. + * chi2pdf.m: Fixed typos in the documentation. + +2005-09-28 John W. Eaton + + * miscellaneous/single.m: New function. + + * statistics/base/unidrnd.m: New function. + +2005-09-27 John W. Eaton + + * miscellaneous/dir.m: Filename never includes directory part. + +2005-09-22 John W. Eaton + + * polynomial/residue.m: Use logical indexing instead of find.. + +2005-09-22 Julius Smith + + * polynomial/residue.m: Avoid division by zero for pure imaginary + and zero poles. + +2005-09-22 Bill Denney + + * strings/deblank.m: Handle cell arrays. + * strings/split.m: New argument, N, to limit number of splits. + +2005-09-22 Miroslaw Kwasniak + + * plot/__pltopt1__.m: Handle plot colors "w" and "k" separately. + +2005-09-20 "Orestes Mas" + + * control/base/rlocus.m: Doc fix. + +2005-09-20 John W. Eaton + + * general/isvector.m: Improve compatibility. + + * general/postpad.m: Allow first argument to be a scalar. + Allow padding to extend dimensionality. + * general/prepad.m: Likewise. + +2005-09-14 Daniel + + * statistics/tests/bartlett_test.m, linear-algebra/cross.m, + statistics/distributions/discrete_cdf.m, general/fliplr.m, + /control/base/dgram.m: Doc string fixes. + From Jorge Barros de Abreu . + +2005-09-12 Stefan van der Walt + + * saveimage.m: Do not ignore most significant bit when writing + black and white images to file. + +2005-09-07 Bill Denney + + * audio/playaudio.m, control/base/__bodquist__.m, + control/base/lqg.m, control/obsolete/dezero.m, + control/system/__syschnamesl__.m, control/system/__sysconcat__.m, + control/system/c2d.m, control/system/cellidx.m, + control/system/d2c.m, control/system/dmr2d.m, + control/system/is_signal_list.m, control/system/listidx.m, + control/system/ss.m, control/system/sysappend.m, + control/system/sysconnect.m, control/system/sysdup.m, + control/system/sysgetsignals.m, control/system/sysidx.m, + control/system/sysprune.m, control/system/syssetsignals.m, + control/system/tfout.m, control/system/zpout.m, + control/util/prompt.m, control/util/sortcom.m, + control/util/strappend.m, finance/fv.m, finance/nper.m, + finance/pmt.m, finance/pv.m, finance/rate.m, general/diff.m, + general/num2str.m, general/repmat.m, general/sortrows.m, + general/strerror.m, image/colormap.m, image/imshow.m, + image/loadimage.m, image/saveimage.m, linear-algebra/norm.m, + miscellaneous/fileparts.m, miscellaneous/popen2.m, + plot/__axis_label__.m, plot/__errcomm__.m, plot/__plt1__.m, + plot/__plt2__.m, plot/__plt__.m, plot/__pltopt1__.m, + plot/__pltopt__.m, plot/axis.m, plot/bottom_title.m, plot/close.m, + plot/grid.m, plot/hist.m, plot/plot_border.m, plot/polar.m, + plot/print.m, plot/title.m, plot/top_title.m, + polynomial/polyout.m, set/unique.m, signal/freqz.m, signal/stft.m, + statistics/base/mean.m, statistics/base/moment.m, + statistics/tests/cor_test.m, + statistics/tests/kolmogorov_smirnov_test.m, + statistics/tests/kolmogorov_smirnov_test_2.m, + statistics/tests/prop_test_2.m, statistics/tests/sign_test.m, + statistics/tests/t_test.m, statistics/tests/t_test_2.m, + statistics/tests/t_test_regression.m, statistics/tests/u_test.m, + statistics/tests/var_test.m, statistics/tests/welch_test.m, + statistics/tests/wilcoxon_test.m, statistics/tests/z_test.m, + statistics/tests/z_test_2.m, strings/base2dec.m, strings/blanks.m, + strings/deblank.m, strings/dec2base.m, strings/index.m, + strings/rindex.m, strings/split.m, strings/str2mat.m, + strings/str2num.m, strings/strcat.m, strings/strcmpi.m, + strings/strncmp.m, strings/strrep.m, strings/substr.m: + Avoid deprecated functions. Use ischar instead of isstr. Use + isvector instead of is_vector. Use isstruct instead of + is_struct. Use char instead of setstr. + +2005-08-31 Daniel + + * special-matrix/invhilb.m, statistics/base/iqr.m, + control/system/is_controllable.m, set/ismember.m: Doc fixes. + From Jorge Barros de Abreu . + +2005-08-29 Bill Denney + + * image/saveimage.m: Open output file in binary mode. + + * miscellaneous/bug_report.m: Open prefs file in text mode. + +2005-08-16 John W. Eaton + + * miscellaneous/computer.m: Handle optional maxsize and endian + outputs. + +2005-08-15 John W. Eaton + + * strings/strcat.m: Allow single argument. + +2005-07-18 John W. Eaton + + * strings/strcmp.m: Delete. + +2005-07-13 John W. Eaton + + * deprecated/hypergeometric_rnd.m: Preserve compatibility with old + versions of Octave. + +2005-07-13 Ben Barrowes + + * statistics/distributions/betacdf.m: Rename from beta_cdf.m. + * statistics/distributions/betainv.m: Rename from beta_inv.m. + * statistics/distributions/betapdf.m: Rename from beta_pdf.m. + * statistics/distributions/betarnd.m: Rename from beta_rnd.m. + * statistics/distributions/binocdf.m: Rename from binomial_cdf.m. + * statistics/distributions/binoinv.m: Rename from binomial_inv.m. + * statistics/distributions/binopdf.m: Rename from binomial_pdf.m. + * statistics/distributions/binornd.m: Rename from binomial_rnd.m. + * statistics/distributions/chi2cdf.m: Rename from chisquare_cdf.m. + * statistics/distributions/chi2inv.m: Rename from chisquare_inv.m. + * statistics/distributions/chi2pdf.m: Rename from chisquare_pdf.m. + * statistics/distributions/chi2rnd.m: Rename from chisquare_rnd.m. + * statistics/distributions/expcdf.m: Rename from exponential_cdf.m. + * statistics/distributions/expinv.m: Rename from exponential_inv.m. + * statistics/distributions/exppdf.m: Rename from exponential_pdf.m. + * statistics/distributions/exprnd.m: Rename from exponential_rnd.m. + * statistics/distributions/fcdf.m: Rename from f_cdf.m. + * statistics/distributions/finv.m: Rename from f_inv.m. + * statistics/distributions/fpdf.m: Rename from f_pdf.m. + * statistics/distributions/frnd.m: Rename from f_rnd.m. + * statistics/distributions/gamcdf.m: Rename from gamma_cdf.m. + * statistics/distributions/gaminv.m: Rename from gamma_inv.m. + * statistics/distributions/gampdf.m: Rename from gamma_pdf.m. + * statistics/distributions/gamrnd.m: Rename from gamma_rnd.m. + * statistics/distributions/geocdf.m: Rename from geometric_cdf.m. + * statistics/distributions/geoinv.m: Rename from geometric_inv.m. + * statistics/distributions/geopdf.m: Rename from geometric_pdf.m. + * statistics/distributions/geornd.m: Rename from geometric_rnd.m. + * statistics/distributions/hygecdf.m: Rename from hypergeometric_cdf.m. + * statistics/distributions/hygeinv.m: Rename from hypergeometric_inv.m. + * statistics/distributions/hygepdf.m: Rename from hypergeometric_pdf.m. + * statistics/distributions/hygernd.m: Rename from hypergeometric_rnd.m. + * statistics/distributions/logncdf.m: Rename from lognormal_cdf.m. + * statistics/distributions/logninv.m: Rename from lognormal_inv.m. + * statistics/distributions/lognpdf.m: Rename from lognormal_pdf.m. + * statistics/distributions/lognrnd.m: Rename from lognormal_rnd.m. + * statistics/distributions/normcdf.m: Rename from normal_cdf.m. + * statistics/distributions/norminv.m: Rename from normal_inv.m. + * statistics/distributions/normpdf.m: Rename from normal_pdf.m. + * statistics/distributions/normrnd.m: Rename from normal_rnd.m. + * statistics/distributions/poisscdf.m: Rename from poisson_cdf.m. + * statistics/distributions/poissinv.m: Rename from poisson_inv.m. + * statistics/distributions/poisspdf.m: Rename from poisson_pdf.m. + * statistics/distributions/poissrnd.m: Rename from poisson_rnd.m. + * statistics/distributions/tcdf.m: Rename from t_cdf.m. + * statistics/distributions/tinv.m: Rename from t_inv.m. + * statistics/distributions/tpdf.m: Rename from t_pdf.m. + * statistics/distributions/trnd.m: Rename from t_rnd.m. + * statistics/distributions/unifcdf.m: Rename from unifoxorm_cdf.m. + * statistics/distributions/unifinv.m: Rename from uniform_inv.m. + * statistics/distributions/unifpdf.m: Rename from uniform_pdf.m. + * statistics/distributions/unifrnd.m: Rename from uniform_rnd.m. + * statistics/distributions/weibcdf.m: Rename from weibull_cdf.m. + * statistics/distributions/weibinv.m: Rename from weibull_inv.m. + * statistics/distributions/weibpdf.m: Rename from weibull_pdf.m. + * statistics/distributions/wienrnd.m: Rename from wiener_rnd.m. + + * 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/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/lognormal_cdf.m, + deprecated/lognormal_inv.m, deprecated/lognormal_pdf.m, + deprecated/lognormal_rnd.m, deprecated/normal_cdf.m, + deprecated/normal_inv.m, deprecated/normal_pdf.m, + deprecated/normal_rnd.m, deprecated/poisson_cdf.m, + deprecated/poisson_inv.m, deprecated/poisson_pdf.m, + deprecated/poisson_rnd.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/weibull_cdf.m, + deprecated/weibull_inv.m, deprecated/weibull_pdf.m, + deprecated/wiener_rnd.m: New files. + +2005-07-08 John W. Eaton + + * statistics/distributions/weibrnd.m: Rename from weibull_rnd.m. + * deprecated/weibull_rnd.m: New file. + +2005-07-08 cctsim + + * strings/dec2base.m: Allow matrix arguments. + +2005-07-08 John W. Eaton + + * plot/__errplot__.m: Use __plot_globals__. + * plot/__plt__.m: Likewise. + * plot/figure.m: Likewise. + + * plot/hold.m: New file. + * plot/ishold.m: New file. + * plot/__plot_globals__.m: New file. + +2005-07-05 cctsim + + * strings/dec2base.m: Don't remove all leading zeros if result is zero. + +2005-07-05 John W. Eaton + + * strings/findstr.m: Return [] for no matches. + +2005-06-17 Keith Goodman + + * miscellaneous/tic.m: Fix doc string. + +2005-06-15 John W. Eaton + + * polynomial/polyfit.m: Force return value to be a row vector. + +2005-06-15 Tom Holroyd + + * general/isequal.m: Correct nargin check. + +2005-06-14 John W. Eaton + + * general/isvector.m: Handle N-d arrays. + From Bill Denney . + +2005-06-02 Ben Barrowes + + * plot/meshgrid.m: Handle 3 input arguments. + +2005-06-02 Paul Kienzle + + * signal/freqz.m: Use correct calculations when given a vector of + frequencies. Improve accuracy of returned frequency vector. + Improve speed for medium length filters (at a slight cost for slow + filters). Add test cases. + +2005-05-27 "Dmitri A. Sergatskov" + + * plot/loglog.m: Fix set commands. + +2005-05-25 John W. Eaton + + * plot/sombrero.m: Default n to 41 if nargin == 0. + +2005-05-24 John W. Eaton + + * statistics/tests/anova.m: Use mean (y(:)) to compute total_mean. + + * strings/strncmp.m: New file, from Tom Holroyd + . + + * strings/strcmp.m: Return logical values in all cases. + +2005-05-23 John W. Eaton + + * plot/orient.m: New file. Adapt to Octave coding style. + Texinfoize doc string. + + * plot/print.m: New file. Adapt to Octave coding style. Include + PKG_ADD command. Use set terminal consistently throughout. Use + set terminal push/pop and unconditionally set output to screen + when done to avoid requiring gget. Use a cell array for dev_list + and cellidx to search for items in the list. Delete local + variable endl. Don't set and restore automatic_replot. Use {} + instead of nth to index varargin. Delete local variable + va_arg_cnt. + +2005-05-18 John W. Eaton + + * general/num2str.m: Return early if X is a character string. + +2005-05-11 John W. Eaton + + * strings/findstr.m: Allow non-string arguments for compatiblity. + From Tom Holroyd . + + * plot/polar.m: Don't call __pltopt__ here. + +2005-05-02 John W. Eaton + + * mkdoc: Print header message. + +2005-04-28 John W. Eaton + + * configure.in (AC_CONFIG_SRCDIR): Look for startup/inputrc, not + startup/octaverc. + +2005-04-28 Stefan van der Walt + + * image/imshow.m: Handle various image depths and 3d RGB images. + (__im_numeric_limits__): New internal function. + +2005-04-28 toni saarela + + * statistics/tests/anova.m: Compute total_mean as mean of all + data, not mean of group_mean. + +2005-04-28 John W. Eaton + + * startup/local-rcfile: New file. + * startup/main-rcfile: Rename from startup/octaverc. + * startup/Makefile.in (SOURCES): Add inputrc to the list. + (install install-strip): Install main-rcfile in $(fcnfiledir)/startup. + Install local-rcfile in $(localfcnfiledir)/startup. + +2005-04-28 Keith Goodman + + * startup/inputrc: New file. + * startup/octaverc: Configure readline using inputrc from + startupfiledir. + * startup/Makefile.in (install, install-strip): Install octaverc + in $(fcnfiledir)/startup. + +2005-04-27 John W. Eaton + + * optimization/qp.m: Define n_in after removing -Inf bounds from Ain. + +2005-04-21 John W. Eaton + + * optimization/glpk.m: Handle SENSE argument. + + * optimization/qp.m, optimization/sqp.m: New files. + +2005-04-08 John W. Eaton + + * Makefile.in (clean, distclean, maintainer-clean): + Avoid duplication in rules. + +2005-03-28 John W. Eaton + + * plot/contour.m, plot/mesh.m: Continue to use __gnuplot_raw__ for + setting {no,}parametric. + * plot/figure.m: Likewise, for setting terminal type. + + * __axis_label__.m:, plot/axis.m, plot/bottom_title.m, + plot/contour.m, plot/figure.m, plot/multiplot.m, plot/mplot.m, + plot/plot_border.m, plot/subplot.m, plot/subwindow.m, + plot/title.m, plot/top_title.m: Avoid eval. + +2005-03-28 Dmitri A. Sergatskov + + * plot/__axis_label__.m, plot/axis.m, plot/grid.m, + plot/plot_border.m, plot/replot.m, plot/title.m, plot/top_title.m: + Use __gnuplot_replot__ instead of replot. + + * plot/__axis_label__.m, plot/axis.m, plot/bottom_title.m, + plot/contour.m, plot/errorbar.m, plot/figure.m, plot/grid.m, + plot/loglogerr.m, plot/loglog.m, plot/mesh.m, plot/mplot.m, + plot/multiplot.m, plot/oneplot.m, plot/plot_border.m, plot/plot.m, + plot/polar.m, plot/semilogxerr.m, plot/semilogx.m, + plot/semilogyerr.m, plot/semilogy.m, plot/shg.m, plot/subplot.m, + plot/subwindow.m, plot/title.m, plot/top_title.m: + Use __gnuplot_raw__ instead of __gnuplot_set__. + + * plot/replot.m: Use __gnuplot_replot__, not __greplot__. + +2005-03-24 John W. Eaton + + * optimization/glpkmex.m: Texinfoize Doc string. + * optimization/glpk.m: Likewise. + Allow VARTYPE and CTYPE to be row or column vectors of characters + (row vectors are orginary character strings). + * optimization/glpkparam.m: Delete. + +2005-03-24 Quentin Spencer + + * statistics/base/mean.m: Allow DIMS arg greater than the number + of dimensions of X. + +2005-03-23 John W. Eaton + + * general/tril.m, general/triu.m: Return value of same class as + argument. + + * optimization/glpk.m: Simplify interface. By default, solve + standard LP min C'*x s.t. A*x = b, x >= 0. + * optimization/glpkmex.m: New file. + +2005-03-22 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Add optimization/Makefile to the + list. + + * optimization/glpk.m: Adapt to Octave coding style. + No need for varargout or varargin. + Print usage message if nargin > 11. + Allow any value of nargout. + Use repmat (C, nr, nc) instead of char (C * ones (nr, nc)). + Avoid looping when checking character classes. + + * optimization: New directory. + * Makefile.in (SUBDIRS): Add it to the list. + * optimization/Makefile.in: New file. + * optimization/glpk.m, optimization/glpkparams.m, + optimization/glpktest1, optimization/glpktest2: New files. + +2005-03-16 S�ren Hauberg + + * strings/split.m: Quick return for empty second arg. + Improve warning for multi-line strings. + Speed up by avoiding sprintf in loop and eval. + +2005-03-16 Paul Kienzle + + * polynomial/polyderiv.m : Accept a*b, a/b. Auto-reduce common terms. + * polynomial/polyder.m: Ditto. + * polynomial/polygcd.m: New function. + +2005-03-16 John W. Eaton + + * control/base/__stepimp__.m, control/base/bode.m, + control/base/frdemo.m, control/base/nichols.m, + control/base/nyquist.m, control/base/pzmap.m, + control/base/rldemo.m, control/base/rlocus.m, + control/hinf/dhinfdemo.m, control/hinf/hinfdemo.m, + plot/__axis_label__.m, plot/__errplot__.m, plot/__plt__.m, + plot/axis.m, plot/bar.m, plot/bottom_title.m, plot/contour.m, + plot/errorbar.m, plot/figure.m, plot/grid.m, plot/loglog.m, + plot/loglogerr.m, plot/mesh.m, plot/meshgrid.m, plot/mplot.m, + plot/multiplot.m, plot/oneplot.m, plot/plot.m, plot/plot_border.m, + plot/polar.m, plot/semilogx.m, plot/semilogxerr.m, + plot/semilogy.m, plot/semilogyerr.m, plot/shg.m, plot/stairs.m, + plot/subplot.m, plot/subwindow.m, plot/title.m, plot/top_title.m, + plot/xlabel.m, quaternion/demoquat.m, + quaternion/qcoordinate_plot.m, signal/freqz_plot.m, sparse/spy.m, + statistics/base/ppplot.m, statistics/base/qqplot.m: + Use __gnuplot_plot__ instead of gplot, __gnuplot_splot__ instead + of gsplot, and __gnuplot_set__ instead of gset. Remove gplot, + gsplot from @seealso docs. + + * plot/replot.m: New file. + +2005-03-15 David Bateman + + * set/unique.m, set/ismember.m: Handle cell arrays. + +2005-03-09 John W. Eaton + + * statistics/Makefile.in (bin-dist): Delete target. + (BINDISTSUBDIRS): Delete variable. + * control/Makefile.in: Likewise. + + * audio/Makefile.in (bin-dist): Delete target. + (BINDISTFILES): Delete variable. + * control/base/Makefile.in: Likewise. + * control/hinf/Makefile.in: Likewise. + * control/obsolete/Makefile.in: Likewise. + * control/system/Makefile.in: Likewise. + * control/util/Makefile.in: Likewise. + * deprecated/Makefile.in: Likewise. + * elfun/Makefile.in: Likewise. + * finance/Makefile.in: Likewise. + * general/Makefile.in: Likewise. + * image/Makefile.in: Likewise. + * sparse/Makefile.in: Likewise. + * io/Makefile.in: Likewise. + * plot/Makefile.in: Likewise. + * Makefile.in: Likewise. + * miscellaneous/Makefile.in: Likewise. + * linear-algebra/Makefile.in: Likewise. + * polynomial/Makefile.in: Likewise. + * quaternion/Makefile.in: Likewise. + * set/Makefile.in: Likewise. + * signal/Makefile.in: Likewise. + * specfun/Makefile.in: Likewise. + * special-matrix/Makefile.in: Likewise. + * startup/Makefile.in: Likewise. + * statistics/base/Makefile.in: Likewise. + * statistics/distributions/Makefile.in: Likewise. + * statistics/models/Makefile.in: Likewise. + * statistics/tests/Makefile.in: Likewise. + * strings/Makefile.in: Likewise. + * time/Makefile.in: Likewise. + +2005-03-08 John W. Eaton + + * general/repmat.m: Correctly diagnose 3-argument non-scalar + dimensions case. From Matthew A Swabey . + +2005-03-04 John W. Eaton + + * plot/clg.m: New file. + +2005-03-03 John W. Eaton + + * general/isequal.m, general/sortrows.m, set/ismember.m, + set/setdiff.m, strings/str2double.m, strings/strmatch.m, + strings/strcmpi.m: + New files from Octave-forge. Adapt to Octave coding standards. + +2005-03-03 Paul Kienzle + + * statistics/distributions/binomial_pdf.m: Extend the feasible + computation range. + +2005-02-25 John W. Eaton + + Sparse merge. + + 2005-01-23 David Bateman + + * sparse/randperm.m: Delete duplicate randperm.m. + + 2005-01-10 John W. Eaton + + * sparse/Makefile.in: New file. + * configure.in (AC_CONFIG_FILES): Add sparse/Makefile to the list. + + 2005-01-07 David Bateman + + * set/unique.m: import file from octave-forge. + + 2005-01-05 David Bateman + + * Makefile.in: include sparse directory in SUBDIRS. + + 2004-12-30 John W. Eaton + + * sparse/nzmax.m: Delete (there is an nzmax function in + src/DLD-FUNCTIONS/sparse.cc). + + 2004-12-28 John W. Eaton + + Merge of sparse code from David Bateman and + Andy Adler . + + * sparse/colperm.m, sparse/nonzeros.m, sparse/nzmax.m, + sparse/randperm.m, sparse/spalloc.m, sparse/spconvert.m, + sparse/spdiags.m, sparse/speye.m, sparse/spfun.m, sparse/sphcat.m, + sparse/spones.m, sparse/sprand.m, sparse/sprandn.m, + sparse/spstats.m, sparse/spvcat.m, sparse/spy.m: New files. + + * sparse: New directory. + +2005-02-22 John W. Eaton + + * polynomial/residue.m: Force prepad to always create row vectors. + + * polynomial/poly.m: Quick return if m is 0. + From Carmen Navarrete . + +2005-02-21 David Bateman + + * statistics/distributions/poisson_rnd.m: fix for lambda of zero. + From Mark van Rossum . + Fix for row vectors with at least one element of lambda not in + (0, Inf). + +2005-02-21 John W. Eaton + + * statistics/base/qqplot.m: Use feval instead of eval. + + * plot/grid.m, plot/plot_border.m, plot/title.m, plot/top_title.m, + plot/__axis_label__.m: Issue replot command. + +2005-02-09 John W. Eaton + + * polynomial/polyderiv.m: Force P to be a row vector. + +2005-02-08 John W. Eaton + + * strings/dec2base.m: Don't delete leading zero if third arg is + provided and len <= computed max_len. + +2005-01-27 David Bateman + + * strings/dec2base.m: Be even more careful about handling all digits. + +2005-01-27 Paul Kienzle + + * strings/dec2base.m: Use integer arithmetic to count number of digits. + +2005-01-27 Benjamin Hall + + * statistics/base/median.m: Make it work for the scalar case too. + +2005-01-25 Daniel J Sebald + + * plot/__plt__.m: Initialize fmt and sep outside of loop. + Simplify logic for decoding args. + +2005-01-24 John W. Eaton + + * plot/__plr__.m, plot/__plr2__.m: Pass name of caller to __plt__. + + * plot/__plt__.m: No need to save and reset hold state now. + (first_plot): Delete unused variable. + + * plot/__plr2__.m, plot/__plt2__.m: Improve diagnostics. + + * plot/__plr__.m: Use __plt__, not specific __pltXX__ functions. + * plot/__plt1__.m, plot/__plt2__.m, plot/__plt2mm__.m, + plot/__plt2mv__.m, plot/__plt2ss__.m, plot/__plt2vm__.m, + plot/__plt2vv__.m: + Return data and gnuplot commands instead of evaluating them. + * plot/__plt__.m: Handle evaluation of all gnuplot commands here. + Based on changes from Daniel J Sebald . + +2005-01-18 John W. Eaton + + * linear-algebra/cross.m: Allocate idx1 before use. + +2004-12-08 Heikki Junes + + * statistics/base/range.m: Fix varargin usage. + +2004-12-02 Pascal A. Dupuis + + * strings/deblank.m: Remove all trailing whitespace (check with + isspace), not just SPC. + +2004-12-02 Balint Reczey + + * statistics/base/moment.m: Fix argument parsing for N-d arrays. + +2004-11-09 John W. Eaton + + * miscellaneous/fileparts.m: Allow filenames with no extension. + From Julius Smith . + +2004-11-08 John W. Eaton + + * plot/__plt2vm__.m: Delete debugging statement. + From Dmitri A. Sergatskov . + +2004-11-04 John W. Eaton + + * plot/hist.m: Always return row vectors for vector args. + +2004-09-23 John W. Eaton + + * strings/strcmp.m: If args are not strings or cell arrays of + strings, return zero instead of reporting an error. + +2004-09-22 Federico Zenith + + * control/base/analdemo.m, control/base/are.m, control/base/bddemo.m, + control/base/controldemo.m, control/base/damp.m, control/base/dare.m, + control/base/dcgain.m, control/base/dgram.m, control/base/dlyap.m, + control/base/dre.m, control/base/frdemo.m, control/base/gram.m, + control/base/impulse.m, control/base/lqp.m, control/base/obsv.m, + control/base/pzmap.m, control/base/rldemo.m, control/hinf/h2norm.m, + control/hinf/hinfsyn.m, control/hinf/hinfsyn_ric.m, + control/hinf/is_dgkf.m, control/system/c2d.m, + control/system/is_detectable.m, control/system/is_sample.m, + control/system/is_siso.m, control/system/is_stable.m, + control/system/ss2sys.m, control/system/ss.m, control/system/sys2ss.m, + control/system/sys2tf.m, control/system/sys2zp.m, + control/system/sysappend.m, control/system/sysconnect.m, + control/system/sysdisc.m, control/system/sysdup.m, + control/system/sysgetsignals.m, control/system/sysmult.m, + control/system/syssetsignals.m, control/system/syssub.m, + control/system/tf2sys.m, control/system/ugain.m, + control/system/zp2ss.m, control/system/zp2sys.m, + control/system/zp2tf.m, control/util/axis2dlim.m, polynomial/roots.m, + special-matrix/toeplitz.m: Fix typos in doc strings. + + * control/base/are.m, control/base/dare.m, control/base/lsim.m, + control/base/ltifr.m, control/base/place.m,control/base/tzero2.m, + control/base/tzero.m, control/hinf/hinf_ctr.m, control/hinf/wgt1o.m, + ontrol/system/is_abcd.m, control/system/parallel.m, + control/system/ss2tf.m, control/system/ss2zp.m, control/system/ss.m, + control/system/sysappend.m, control/system/sysconnect.m, + control/system/sysdup.m, control/system/sysgroup.m, + control/system/sysprune.m, control/system/sysreorder.m, + control/system/sysscale.m, control/system/syssub.m, + control/system/tf2ss.m, control/system/tf2zp.m, control/util/zgfmul.m, + control/util/zginit.m, control/util/zgscal.m, elfun/acoth.m, + polynomial/polyout.m, specfun/log2.m: + Add output arguments in doc strings. + + * control/base/are.m, control/base/bode_bounds, control/base/bode.m, + control/base/__bodquist__.m, control/base/ctrb.m, control/base/dare.m, + control/base/DEMOcontrol.m, control/base/dlyap.m, control/base/dre.m, + control/base/freqchkw.m, control/base/__freqresp__.m, + control/base/__freqresp__.m, control/base/lqp.m, control/base/lqr.m, + contol/base/lsim.m, control/base/lyap.m, control/base/nyquist.m, + control/base/obsv.m, control/base/place.m, control/base/pzmap.m, + control/base/__stepimp__.m, control/base/step.m, control/base/tzero2.m + control/base/tzero.m, control/hinf/dhinfdemo.m, control/hinf/h2norm.m, + control/hinf/h2syn.m, control/hinf/hinfdemo.m, + control/hinf/hinfnorm.m, control/hinf/hinfsyn_chk.m, + control/hinf/hinfsyn.m, control/hinf/is_dgkf.m, + control/obsolete/syschnames.m, control/obsolete/syschnames.m, + control/system/c2d.m, control/system/is_abcd.m, + control/system/is_controllable.m, control/system/is_detectable.m, + control/system/is_observable.m, control/system/is_stable.m, + control/system/jet707.m, control/system/ord2.m, + control/system/starp.m, control/system/sys2fir.m, + control/system/sys2ss.m, control/system/sys2tf.m, + control/system/sys2zp.m, control/system/syscont.m, + control/system/sysdisc.m, control/system/sysdup.m, + control/system/sysgettype.m, control/system/sysgroup.m, + control/system/sysmult.m, control/system/sysprune.m, + control/system/sysreorder.m, control/system/sysscale.m, + control/system/syssetsignals.m, control/system/sysupdate.m, + control/system/tf2ss.m, control/system/tf2sys.m, + control/system/zp2ss.m, control/system/zp2sys.m, + control/util/axis2dlim.m, control/util/prompt.m, + control/util/zgfmul.m, control/util/zginit.m, + control/util/__zgpbal__.m, control/util/zgscal.m: + Use @var, @strong, @command, @math, @acronym, @table and @cite + in doc strings. + + * control/base/bode_bounds.m, control/base/ctrb.m, control/base/dre.m, + control/base/dgram.m, control/base/dlyap.m, control/base/ltifr.m, + control/base/nyquist.m, control/base/obsv.m, control/base/tzero.m, + control/hinf/dgkfdemo.m, control/hinf/dhinfdemo.m, + control/hinf/h2norm.m, control/hinf/h2syn.m, control/hinf/hinf_ctr.m, + control/hinf/hinfdemo.m, control/hinf/hinfnorm.m, + control/hinf/hinfsyn_chk.m, control/hinf/hinfsyn.m, + control/hinf/wgt1o.m, control/obsolete/syschnames.m, + control/system/c2d.m, control/system/fir2sys.m, + control/system/is_stabilizable.m, control/system/jet707.m, + control/system/ord2.m, control/system/ss2tf.m, control/system/tf2ss.m, + control/util/zgshsr.m, polynomial/polyout.m: + New @tex section(s) in doc strings for better formating of printed + output. + + * control/base/__freqresp__.m, control/base/nyquist.m, + control/base/__stepimp__.m, control/hinf/hinfdemo.m, + control/obsolete/syschnames.m, control/system/sysprune.m: + Use proper double quote marks for TeX. + + * control/base/DEMOcontrol.m: Add missing ; + + * control/base/nichols.m, control/base/rlocus.m, + control/obsolete/minfo.m, control/system/is_digital.m, + control/system/ss2zp.m, control/system/sysmin.m, + control/system/tf2zp.m, control/util/sortcom.m: + Convert documentation to use or more completely use Texinfo. + + * control/base/rlocus.m, control/hinf/dhinfdemo.m, + control/hinf/hinfdemo.m, control/system/ord2.m, + control/system/parallel.m, control/system/ss2tf.m, + control/system/starp.m: Use "@group ... @end group" to avoid ascii + art splitting over a page boundary. + + * control/hinf/dgkfdemo.m, control/hinf/dhinfdemo.m, + control/hinf/h2norm.m, control/hinf/h2syn.m, control/hinf/hinf_ctr.m, + control/hinf/hinfdemo.m, control/hinf/hinfnorm.m, + control/hinf/hinfsyn_chk.m, control/hinf/hinfsyn.m, + control/hinf/wgt1o.m, control/system/buildssic.m: + Use {\cal H}_\infty for H-infinity and likewise for H-2 to + the TeX documentation. + + * control/system/is_stabilizable.m: + Add Copyright so that help is displayed correctly. + + * special-matrix/vander.m: Octave indexes start at 1. + +2004-09-21 David Bateman + + * general/rotdim.m: New function for rotation of an N-d array in an + arbitrary plane. + + * general/flipdim.m: New function to flip an N-d array about an + arbitrary axis. + +2004-09-15 David Bateman + + * general/bitget.m: Replace Bmax, which is undefined with bitmax + +2004-09-15 John W. Eaton + + * strings/strcmp.m: Fix typo in cell/string array case. + Use iscellstr to check for cells rather than iscell. + Improve diagnostics for invalid args. + +2004-09-10 David Bateman + + * statistics/distributions/binomial_rnd.m: Fix error for scalar n + and p with n > 1, and fix for matrix n and p with n == 1. + + * statistics/distributions/poisson_rnd.m: Fix for matrix length, + due to row vs. column vector operations. + +2004-09-03 David Bateman + + * general/repmat.m: Fix to allow logical classes. + +2004-08-31 John W. Eaton + + * general/isa.m: New function, from Octave-forge. + +2004-08-31 David Bateman + + * general/bitcmp.m, general/bitget.m, general/bitset.m: Remove + limitation on the use of int64 and uint64 types, and the use + of the eval. + + * general/bitset.m: Remove superfluous cast to return type, as bug + in .^ with integer types is fixed. + + * general/repmat.m: Adapt to allow integer types. + +2004-08-31 Paul Kienzle + + * plot/axis.m: Don't reset axes when querying them. + +2004-08-27 David Bateman + + * statistics/base/ranks.m: Handle non-consecutive ties. + Eliminate loop. + +2004-07-27 David Bateman + + * general/num2str.m: Also insert spaces in output when precision + argument is supplied. + +2004-07-23 David Bateman + + * general/bitcmp.m, general/bitget.m, general/bitset.m: New functions. + +2004-07-22 Etienne Grossmann + + * general/sub2ind.m: Make reshaping index list unnecessary. + +2004-07-22 Paul Kienzle + + * miscellaneous/unix.m: Fix doc string. + +2004-07-22 Stefan van der Walt + + * plot/figure.m: Clarification of documentation. + + * image/imshow.m: Warn for complex images. + Only estimate colourmap for images in [0, 65536]. + +2004-07-22 David Bateman + + * general/num2str.m: Fix the case of an all zero input. + +2004-06-22 Etienne Grossmann + + * general/ind2sub.m: Doc fix. + +2004-06-08 John W. Eaton + + * statistics/tests/kolmogorov_smirnov_test.m: Use func2str to + convert function handle to string for eval. + +2004-06-04 Paul Kienzle + + * plot/errorbar.m: Remove debugging output. + +2004-06-03 Stefan van der Walt + + * plot/__pltopt__.m: Properly escape @ symbols in doc string. + +2004-06-03 Paul Kienzle + + * deprecated/com2str.m: Include 'i' suffix for pure imaginary numbers. + + * polynomial/polyout.m: Use parenthesis if necessary around + complex polynomial coefficient. + + * plot/__errcomm__.m, plot/__errplot__.m: Simplify code and fix + the bug which causes __errplot__ to ignore the last argument. + +2004-06-03 David Bateman + + * general/shiftdim.m: New function based on JWE code snippet. + + * general/circdim.m: New function. + +2004-05-06 David Bateman + + * general/issquare.m: Fail if ndim(x) > 2. + + * linear-algebra/norm.m, linear-algebra/norm.m: Fail if ndim(x) > 2. + + * linear-alegbra/cross.m, linear-algebra/dot.m: Allow matrix and + N-d array arguments. Add optional dim argument to define + dimension along which to operate. + + * linear-algebra/dmult.m: Allow N-d arrays. + + * linear-algebra/vec.m: Use v(:) and not reshape. + +2004-04-29 David Bateman + + * statistics/base/ranks.m, statistics/base/run_count.m, + statistics/base/studentize.m, statistics/base/kurtosis.m + statistics/base/statistics.m, statistics/base/skewness.m + statistics/base/iqr.m: + Make N-d array aware. Allow optional argument to define the + dimension along which to operate. Update the documentation. + + * statistics/base/ranks.m: Change algorithm to use sort, + and adjust for the ties after. + + * statistics/base/run_counts.m: Change algorithm to use + the a combination of diff and find, rather than a for-loop. + +2004-04-23 Paul Kienzle + + * plot/hist.m: Correctly determine cutoffs. New tests. + +2004-04-23 David Bateman + + * general/int2str.m: Treat only real part of argument, and treat + NDArrays by stacking the slices through the matrix vertically. + + * general/num2str.m: Improve format of integer matrices, and the + conversion of complex matrices added. Treat NDArrays by stacking + the slices through the matrix vertically. + + * deprecated/com2str.m: Moved here from general subdirectory. + +2004-04-22 John W. Eaton + + * quaternion/qtransvmat.m: Use continuation characters to make + sure result is a matrix instead of a vector. From . + +2004-04-21 David Bateman + + * elfun/lcm.m: Make N-d aware. + + * general/diff.m: Make the code N-d array aware. Allow an + optional argument to define the dimension along which to perform + the differences and allow the order of the differences to be larger + than the dimension itself. + + * general/rot90.m, general/fliplr.m, general/flipud.m: Limit the + use of these functions to 1- and 2-d arrays. + +2004-04-16 John W. Eaton + + * elfun/gcd.m: Delete. + +2004-04-15 David Bateman + + * set/create_set.m, general/is_duplicate_entry.m: Make N-d array aware. + + * general/shift.m, general/prepad.m, general/postpad.m: Make N-d + array aware and and optional argument for the dimension along + which to operate. + + * signal/unwrap.m: Make N-d array aware and fix optional + argument for the dimension to be consistent with other N-d array + functions. + +2004-04-08 David Bateman + + * statistics/distributions/discrete_cdf.m, + statistics/distributions/discrete_inv.m, + statistics/distributions/discrete_pdf.m, + statistics/distributions/discrete_rnd.m, + statistics/distributions/exponential_cdf.m, + statistics/distributions/exponential_inv.m, + statistics/distributions/exponential_pdf.m, + statistics/distributions/exponential_rnd.m, + statistics/distributions/f_cdf.m, + statistics/distributions/f_inv.m, + statistics/distributions/f_pdf.m, + statistics/distributions/f_rnd.m, + statistics/distributions/geometric_cdf.m, + statistics/distributions/geometric_inv.m, + statistics/distributions/geometric_pdf.m, + statistics/distributions/geometric_rnd.m, + statistics/distributions/hypergeometric_rnd.m, + statistics/distributions/kolmogorov_smirnov_cdf.m, + statistics/distributions/laplace_cdf.m, + statistics/distributions/laplace_inv.m, + statistics/distributions/laplace_pdf.m, + statistics/distributions/laplace_rnd.m, + statistics/distributions/logistic_inv.m, + statistics/distributions/logistic_rnd.m, + statistics/distributions/lognormal_cdf.m, + statistics/distributions/lognormal_inv.m, + statistics/distributions/lognormal_pdf.m, + statistics/distributions/lognormal_rnd.m, + statistics/distributions/pascal_cdf.m, + statistics/distributions/pascal_inv.m, + statistics/distributions/pascal_pdf.m, + statistics/distributions/pascal_rnd.m, + statistics/distributions/poisson_cdf.m, + statistics/distributions/poisson_inv.m, + statistics/distributions/poisson_pdf.m, + statistics/distributions/poisson_rnd.m, + statistics/distributions/t_cdf.m, + statistics/distributions/t_inv.m, + statistics/distributions/t_pdf.m, + statistics/distributions/t_rnd.m, + statistics/distributions/weibull_cdf.m, + statistics/distributions/weibull_inv.m, + statistics/distributions/weibull_pdf.m, + statistics/distributions/weibull_rnd.m: + Allow N-d arrays. + + * statistics/distributions/discrete_inv.m: Fix bug in indexing, + that results in NaN in places where it should not have had. + + * statistics/distributions/discrete_rnd.m: New argument formats to + allow creating arbitrary matrices, compatiable with the other + *_rnd.m functions. Maintain compatibility with previous format. + + * statistics/distributions/empirical_rnd.m: New argument formats + to allow creating arbitrary matrices, compatiable with the other + *_rnd.m functions. Maintain compatibility with previous + format. Allow N-d arrays. + + * statistics/distributions/hypergeometric_cdf.m, + statistics/distributions/hypergeometric_inv.m, + statistics/distributions/hypergeometric_pdf.m, + statistics/distributions/wiener_rnd.m: + Error for non-scalar arguments. + + * statistics/distributions/pascal_rnd.m: + Correct for n = 1 bug, where all elements were equal. + +2004-04-06 David Bateman + + * general/common_size.m, miscellaneous/bincoeff.m, + statistics/distributions/beta_cdf.m, + statistics/distributions/beta_inv.m, + statistics/distributions/beta_pdf.m, + statistics/distributions/beta_rnd.m, + statistics/distributions/binomial_cdf.m, + statistics/distributions/binomial_inv.m, + statistics/distributions/binomial_pdf.m, + statistics/distributions/binomial_rnd.m, + statistics/distributions/cauchy_cdf.m, + statistics/distributions/cauchy_inv.m, + statistics/distributions/cauchy_pdf.m, + statistics/distributions/cauchy_rnd.m, + statistics/distributions/chisquare_cdf.m, + statistics/distributions/chisquare_inv.m, + statistics/distributions/chisquare_pdf.m, + statistics/distributions/chisquare_rnd.m, + statistics/distributions/gamma_cdf.m, + statistics/distributions/gamma_inv.m, + statistics/distributions/gamma_pdf.m, + statistics/distributions/gamma_rnd.m, + statistics/distributions/normal_cdf.m, + statistics/distributions/normal_inv.m, + statistics/distributions/normal_pdf.m, + statistics/distributions/normal_rnd.m, + statistics/distributions/stdnormal_cdf.m, + statistics/distributions/stdnormal_pdf.m, + statistics/distributions/stdnormal_rnd.m, + statistics/distributions/uniform_cdf.m, + statistics/distributions/uniform_inv.m, + statistics/distributions/uniform_pdf.m, + statistics/distributions/uniform_rnd.m: + Allow the inputs to be N-d arrays. + + * statistics/base/var.m: Update for N-d arrays. Allow dimension arg. + * statistics/base/median.m: Likewise. + +2004-04-02 David Bateman + + * statistics/base/std.m: Allow optional args for type and dim. + * statistics/base/center.m, statistics/base/meansq.m, + statistics/base/moment.m, statistics/base/range.m: + Update for N-d arrays. + * signal/fftshift.m: Fix dimensioning error. + + * statistics/base/std.m: Use repmat not ones(nr,1)*mean to allow + N-d arrays. + + * general/mod.m, general/mod.m: Allow N-d arrays with one scalar arg. + + * signal/fftshift.m: Update for N-d arrays, allow optional dim arg. + + * specfun/erfinv.m, general/repmat.m: Update for N-d arrays. + + * control/base/bode.m, control/base/lqg.m, control/system/ss2sys.m, + control/system/cellidx.m, control/system/dmr2d.m control/system/ss.m, + control/system/sysprune.m: Doc update for usage of cell arrays. + + * control/system/sysidx.m: Use cellidx and not listidx. + +2004-03-12 John W. Eaton + + * plot/__pltopt1__.m: Always add title clause to plot command with + default of "" (so it is off unless explicitly set by the user). + +2004-03-12 Stefan van der Walt + + * image/imshow.m: Accept "truesize" argument. + Ignore current colormap. New tests and demos. + +2004-03-10 Volker Kuhlmann + + * signal/sinewave.m: Allow N to default to M. + +2004-03-09 John W. Eaton + + * signal/unwrap.m: Use "isempty (tol)" instead of "tol == []". + +2004-03-04 John W. Eaton + + * general/deal.m: New function. + Add tests from Paul Kienzle. + +2004-03-03 Stefan van der Walt + + * plot/hist.m: Compute histogram correctly for n>=30. + +2004-03-02 Paul Kienzle + + * signal/sinc.m: Use i(:) instead of i when checking for any nonzeros. + +2004-03-01 John W. Eaton + + * miscellaneous/horzcat.m: Delete. + * miscellaneous/vertcat.m: Delete. + +2004-02-19 John W. Eaton + + * plot/figure.m: Also look for GNUTERM in the environment and use + that if it is set (for OS X). From Per Persson . + +2004-02-18 John W. Eaton + + * control/base/__stepimp__.m: Only call clearplot if we will be + doing multiple plots in the same gnuplot frame. + +2004-02-16 John W. Eaton + + * control/system/__sysconcat__.m, control/system/__tfl__.m, + control/system/cellidx.m, control/system/ss.m, + control/system/tf.m, control/system/zp.m: New functions. + +2004-02-16 Glenn Golden + + * statistics/distributions/discrete_inv.m: + Reduce memory requirements. + +2004-02-16 John W. Eaton + + * plot/__errcomm__.m: Fix thinko in previous change. + From Teemu Ikonen . + +2004-02-16 A S Hodel + + * control/base/__bodquist__.m, control/base/__stepimp__.m, + control/base/analdemo.m, control/base/bddemo.m, + control/base/bode.m, control/base/dre.m, control/base/frdemo.m, + control/base/lqg.m, control/base/nyquist.m, control/base/place.m, + control/base/rldemo.m, control/base/rlocus.m, + control/base/tzero.m, control/hinf/dgkfdemo.m, + control/hinf/dhinfdemo.m, control/hinf/h2syn.m, + control/hinf/hinf_ctr.m, control/hinf/hinfsyn.m, + control/hinf/wgt1o.m, control/obsolete/dlqg.m, + control/obsolete/packsys.m, control/obsolete/series.m, + control/system/__sysdefioname__.m, + control/system/__sysdefstname__.m, control/system/__sysgroupn__.m, + control/system/__tf2sysl__.m, control/system/buildssic.m, + control/system/c2d.m, control/system/d2c.m, + control/system/dmr2d.m, control/system/fir2sys.m, + control/system/is_signal_list.m, control/system/is_siso.m, + control/system/jet707.m, control/system/listidx.m, + control/system/moddemo.m, control/system/ord2.m, + control/system/packedform.m, control/system/parallel.m, + control/system/ss2sys.m, control/system/sys2tf.m, + control/system/sys2zp.m, control/system/sysadd.m, + control/system/sysappend.m, control/system/sysconnect.m, + control/system/syscont.m, control/system/sysdimensions.m, + control/system/sysdisc.m, control/system/sysdup.m, + control/system/sysgetsignals.m, control/system/sysgettype.m, + control/system/sysgroup.m, control/system/sysmin.m, + control/system/sysmult.m, control/system/sysprune.m, + control/system/sysrepdemo.m, control/system/sysscale.m, + control/system/syssetsignals.m, control/system/syssub.m, + control/system/sysupdate.m, control/system/tf2sys.m, + control/system/ugain.m, control/system/zp2ss.m, + control/system/zp2sys.m, control/util/__outlist__.m, + control/util/__zgpbal__.m, control/util/strappend.m: + Use cell arrays instead of lists. + +2004-01-23 Stefan van der Walt + + * plot/bar.m: Increase size of cutoff vector from xlen-1 to xlen + so that bar (1, 1) will work. + +2004-01-22 John W. Eaton + + * plot/__errcomm__.m: Cope with nargin now being a function. + * plot/__errplot__.m: Likewise. + * plot/__plt__.m: Likewise. + * plot/plot_border.m: Likewise. + + * Makefile.in (distclean, maintainer-clean): Remove DOCSTRINGS, + not $(DOCSTRINGS). + +2004-01-21 Quentin Spencer + + * linear-algebra/rank.m: Allow rank ([]) to return 0, same as + rank ([], tol). + +2004-01-10 John W. Eaton + + * elfun/acot.m: Return atan (1./z). + From Gregory Vanuxem . + + * miscellaneous/dir.m: New file. + + * general/num2str.m: Use "%d" as format if values are ints with + magnitude less than 1e10. + +2004-01-09 John W. Eaton + + * general/num2str.m: If single arg is string, return it. + + * miscellaneous/not.m: New file. + + * miscellaneous/unix.m: New file. + + * miscellaneous/isunix.m: New file. + * miscellaneous/ispc.m: New file. + + * miscellaneous/computer.m: New file. + + * miscellaneous/delete.m: New file. + +2004-01-08 John W. Eaton + + * statistics/tests/kolmogorov_smirnov_test_2.m: Fix test for ties. + +2004-01-07 John W. Eaton + + * miscellaneous/path.m: Handle DEFAULT_LOADPATH substitution. + Always return substituted version of LOADPATH if nargout != 0. + +2003-12-21 Schloegl Alois + + * miscellaneous/fullfile.m: If filename is empty, set it to "." + before continuing. + + * miscellaneous/fileparts.m: Allow name to start with ".". + +2003-12-16 John W. Eaton + + * general/ind2sub.m: New file. + * general/sub2ind.m: New file. + +2003-12-15 John W. Eaton + + * control/system/zp2ss.m: Don't save and restore + warn_empty_list_elements. + +2003-12-15 Gabriele Pannocchia + + * control/system/zp2ss.m: Correct definition of pure gain system. + +2003-12-10 Quentin Spencer + + * statistics/base/mean.m: Remove special case for row vectors. + +2003-11-19 Quentin Spencer + + * signal/freqz_plot.m: Save and restore automatic_replot too. + +2003-11-18 Danilo Piazzalunga + + * statistics/base/iqr.m: Handle matrices. + +2003-11-18 John W. Eaton + + * general/issymmetric.m: Don't fail if norm (x) == 0. + +2003-11-17 John W. Eaton + + * miscellaneous/path.m: Fix thinko in previous change. + +2003-11-14 Gabriele Pannocchia + + * control/base/dare.m: Check positive (semi)definiteness and + dimensions of r (and q). + * control/base/dlqr.m: Check stabilizability of (A,B), + detectability of (A,Q), and whether (A,Q) has non minimal modes + near unit circle. + + * control/system/is_detectable.m: Use Hautus Lemma. + Correct the behavior for discrete-time systems. + * control/system/is_stabilizable.m: Likewise. + + * linear-algebra/krylov.m: Return H = [] in Vnrm == 0 case. + + * linear-algebra/krylovb.m: Fix typo in usage message. + + * general/isdefinite.m: New function. + +2003-10-29 John W. Eaton + + * general/reshape: Delete. + +2003-10-28 John W. Eaton + + * general/numel.m: Delete. + +2003-10-15 John W. Eaton + + * miscellaneous/horzcat.m, miscellaneous/vartcat.m: New files. + + * deprecated/isstr.m: New file. + +2003-10-04 John W. Eaton + + * plot/__axis_label__.m, plot/xlabel.m, plot/ylabel.m, + plot/zlabel.m, plot/title.m: Return a value if nargout > 0. + +2003-10-02 Quentin Spencer + + * statistics/base/mean.m: Fix missing semicolon problem. + +2003-09-08 Al Niessner + + * plot/subplot.m: New global variable, __multiplot_scale__. + +2003-08-29 David Castelow + + * strings/dec2base.m, strings/dec2bin.m, strings/dec2hex.m: + Allow optional length argument. + +2003-08-28 John W. Eaton + + * polynomial/polyfit.m: Avoid calling flipud. + From Pascal A. Dupuis . + Return structure as second output value for improved Matlab + compatibility. + +2003-07-30 John W. Eaton + + * linear-algebra/cond.m: Behave as though old built-in variable + propagate_empty_matrices is always 1. Also handle empty matrices + with one non-zero dimension. + + * miscellaneous/dump_prefs.m: Add warn_separator_insert and + warn_single_quote_string to the list. + Delete whitespace_in_literal_matrix and propagate_empty_matrices + from the list. + +2003-07-25 Paul Kienzle + + * signal/autocov.m: Transpose result of conj because diag returns + a column vector, not a row vector. + + * audio/playaudio.m, audio/record.m, image/image.m, + miscellaneous/bug_report.m: Protect spaces in filenames + with quotes. + +2003-07-15 John W. Eaton + + * io/printf.m, io/puts.m: Delete. + + * miscellaneous/dump_prefs.m: Delete define_all_return_values and + default_return_value from the list. + Add warn_undefined_return_values to the list. + + +2003-07-13 John W. Eaton + + * miscellaneous/dump_prefs.m: Delete default_global_variable_value + and initialize_global_variables from the list. + +2003-07-11 John W. Eaton + + * image/colormap.m: Don't save and restore default_eval_print_flag. + + * miscellaneous/dump_prefs.m: Delete default_eval_print_flag. + + * control/util/zgshsr.m: Use x OP= y instead of x = x OP y. + * control/system/sys2fir.m: Likewise. + + * control/system/is_siso.m: Use && instead of & where appropriate. + * control/system/__tf2sysl__.m: Likewise. + + * control/system/__tf2sysl__.m: Use end instead of length(X). + + * control/freqchkw.m: Use %-escapes for error instead of num2str + and [] concatenation. + * control/system/sys2fir.m: Likewise. + + * control/base/dgram.m, control/base/freqchkw.m, + control/base/gram.m, control/system/__abcddims__.m, + control/system/__sysdefstname__.m, control/system/__tf2sysl__.m, + control/system/is_sample.m, control/system/is_signal_list.m, + control/system/is_siso.m, control/system/sys2fir.m, + control/system/syschtsam.m, control/system/sysgettsam.m, + control/system/sysgettype.m, control/system/tf2zp.m, + control/system/ugain.m, control/util/prompt.m, + control/util/run_cmd.m, control/util/zgrownorm.m, + control/util/zgshsr.m: + Improve conformance to Octave coding style. + + * miscellaneous/dump_prefs.m: Add warn_resize_on_reange_error to + the list. + Delete resize_on_range_error from the list. + + * control/base/pzmap.m, control/base/place.m, + control/base/__freqresp__.m, control/system/sysappend.m, + control/system/syscont.m, control/system/sysdisc.m, + control/system/sysgroup.m, control/system/tfout.m, + control/system/zp2ss.m, control/system/zpout.m, + control/util/__outlist__.m, signal/arma_rnd.m, general/shift.m, + strings/strcat.m: Save and restore warn_empty_list_elements, not + empty_list_elements_ok. + + * miscellaneous/dump_prefs.m: Add warn_empty_list_elements to the list. + Delete empty_list_elements_ok from the list. + +2003-07-10 John W. Eaton + + * miscellaneous/dump_prefs.m: Include warn_neg_dim_as_zero in the + list. + Delete treat_neg_dim_as_zero from the list. + + * strings/blanks.m: Don't check treat_neg_dim_as_zero. + +2003-07-09 John W. Eaton + + * general/reshape.m: Omit do_fortran_indexing from doc string (it + was not used in the code in any case). + + * strings/strjust.m: Temporarily set warn_fortran_indexing, not + do_fortran_indexing. + + * statistics/base/moment.m: Temporarily set warn_str_to_num, not + implict_str_to_num_ok. Use unwind_protect block to do it. + + * miscellaneous/dump_prefs.m: Include DEFAULT_EXEC_PATH, + DEFAULT_LOAD_PATH, crash_dumps_octave_core, + sighup_dumps_octave_core, sigterm_dumps_octave_core, + warn_imag_to_real, warn_num_to_str, warn_str_to_num, and + warn_fortran_indexing in the list. + Delete ok_to_lose_imaginary_part, implicit_num_to_str_ok, + implicit_str_to_num_ok, do_fortran_indexing, and + prefer_column_vectors from list. + +2003-07-02 John W. Eaton + + * Makefile.in (distclean, maintainer-clean): Also remove + gethelp$(BUILD_EXEEXT), $(DOCSTRINGS), and autom4te.cache + directory. + +2003-06-17 Aaron A. King + + * plot/hist.m: Don't forget to define n if x is a vector. + +2003-06-13 Alois Schloegl + + * miscellaneous/fileparts.m: For compatibility with Matlab, + return "." with extension. + +2003-06-04 John W. Eaton + + * control/base/__stepimp__.m, control/base/nichols.m, + control/base/nyquist.m, miscellaneous/dump_prefs.m, + plot/bottom_title.m, plot/mplot.m, plot/multiplot.m, + plot/oneplot.m, plot/plot_border.m, plot/subplot.m, + plot/subwindow.m, plot/top_title.m, signal/freqz_plot.m: + Eliminate gnuplot_has_multiplot (assume it is always true). + +2003-05-14 John W. Eaton + + * Makefile.in, image/Makefile.in, startup/Makefile.in: Handle DESTDIR. + +2003-05-05 Andy Adler + + * plot/hist.m: Improve performance by using different algorithms + depending on number of bins. + +2003-05-01 John W. Eaton + + * control/system/sysadd.m: If systems are not "tf", convert before + adding. + +2003-05-01 Paul Kienzle + + * image/imagesc.m: Accept data limits parameter for colormap. + +2003-04-11 Doug Stewart + + * control/base/__stepimp__.m: If digital impulse, reduce gain of + the impulse by t_step. + +2003-04-07 John W. Eaton + + * control/base/__bodquist__.m: Don't convert pdbig and fdbig to + column vectors. + +2003-03-24 Quentin Spencer + + * linear-algebra/null.m: Handle empty matrix arg. + +2003-03-18 John W. Eaton + + * general/shift.m: Force empty_list_elements_ok to 1. + +2003-02-22 John W. Eaton + + * deprecated/struct_contains.m, deprecated/struct_elements.m: + New files. + +2003-02-20 John W. Eaton + + * statistics/tests/kolmogorov_smirnov_test.m: Use str2func to make + function handle to pass to feval. + * statistics/base/qqplot.m: Likewise. + * statistics/base/ppplot.m: Likewise. + * signal/spectral_xdf.m: Likewise. + * signal/spectral_adf.m: Likewise. + +2003-02-19 John W. Eaton + + * plot/axis.m: Avoid whitespace in literal matrix problem. + +2003-02-18 John W. Eaton + + * linear-algebra/logm.m: New file. + +2003-02-18 David Bateman + + * mkpkgadd: Scan C++ files as well + +2003-02-13 Alois Schloegl + + * strings/findstr.m: Return empty set for zero-length target. + +2003-02-11 Paul Kienzle + + * set/union.m: Preserve the orientation of inputs. + +2003-01-23 John W. Eaton + + * general/int2str.m: Eliminate leading spaces. + +2003-01-22 John W. Eaton + + * general/int2str.m: Do a better job with 0, Inf, and NaN, + +2003-01-11 Paul Kienzle + + * Makefile.in (gethelp$(BUILD_EXEEXT)): Pass $(BUILD_CXXFLAGS) and + $(BUILD_LDFLAGS) to compiler. + +2003-01-10 John W. Eaton + + * general/num2str.m: Don't specify field width for scalars. + +2003-01-05 John W. Eaton + + * Makefile.in (DISTFILES): Don't forget mkpkgadd. + +2003-01-03 John W. Eaton + + * gethelp.cc: Define __USE_STD_IOSTREAM if using Compaq C++. + + * miscellaneous/tempname.m: New file. + + * miscellaneous/tempdir.m: New file. + + * miscellaneous/fullfile.m: New file. + +2003-01-02 John W. Eaton + + * miscellaneous/fileparts.m: New file. + + * io/beep.m: New file. + + * plot/__pltopt1__.m: Call undo_string_escapes for title part of + format only. + +2003-01-01 John W. Eaton + + * strings/strcmp.m: Handle cell arrays of strings. + +2002-12-18 John W. Eaton + + * general/int2str.m: Handle matrices. + * general/num2str.m: Likewise. + Also handle optional precision, and format args. + +2002-12-17 John W. Eaton + + * audio/Makefile.in, control/base/Makefile.in, + control/hinf/Makefile.in, control/obsolete/Makefile.in, + control/system/Makefile.in, elfun/Makefile.in, + finance/Makefile.in, general/Makefile.in, image/Makefile.in, + io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, polynomial/Makefile.in, + quaternion/Makefile.in, set/Makefile.in, signal/Makefile.in, + specfun/Makefile.in, special-matrix/Makefile.in, + statistics/base/Makefile.in, statistics/distributions/Makefile.in, + statistics/models/Makefile.in, statistics/tests/Makefile.in, + strings/Makefile.in, time/Makefile.in, plot/Makefile.in, + deprecated/Makefile.in: Use new do-script-install and + do-script-uninstall macros. + + * mkpkgadd: New script. + + * plot/close.m: New file. + +2002-11-15 John W. Eaton + + * image/image.m: Use -raw option for xv. + From Remy Bruno + +2002-11-12 John W. Eaton + + * control/base/lsim.m: Use approximate test for step size change. + + * signal/bartlett.m: Avoid row/column mismatch error. + +2002-11-12 Paul Kienzle + + * statistics/base/var.m: Use better formula for improved accuracy. + +2002-11-04 Nicholas Piper + + * control/base/lsim.m: Correct doc string. + +2002-11-04 A S Hodel + + * control/system/syssub.m: Call tf2sys with Gnum-Hnum, not Gnum+Hnum. + +2002-11-01 John W. Eaton + + * plot/contour.m: Handle x and y as matrices too. + +2002-11-01 Joseph P. Skudlarek + + * plot/contour.m: Fix error and usage messages. + +2002-11-01 John W. Eaton + + * plot/contour.m: Correct orientation of plot. + +2002-10-31 John W. Eaton + + * control/base/analdemo.m: Fix typo. + +2002-10-31 Francesco Potorti` + + * statistics/distributions/discrete_pdf.m: Fix typo. + +2002-10-09 John W. Eaton + + * mkdoc: Exit immediately on errors. + Exit with error if gethelp does not exist. + + * Makefile.in: Use $(BUILD_EXEEXT) as appropriate. + +2002-10-08 John W. Eaton + + * Makefile.in (gethelp): Use $(BUILD_CXX), not $(CXX). + +2002-09-27 Paul Kienzle + + * statistics/distributions/normal_cdf.m: Handle variance == 0. + * statistics/distributions/normal_pdf.m: Likewise. + * statistics/distributions/normal_inv.m: Likewise. + +2002-09-27 Paul Kienzle + + * specfun/erfinv.m: Return NaN for NaN inputs. + +2002-09-26 Jeff Cunningham + + * statistics/base/var.m: Handle complex values. + +2002-08-09 John W. Eaton + + * configure.in (AC_CONFIG_FILES): Add deprecated/Makefile to the + list. + * deprecated/Makefile.in: New file. + +2002-08-09 Paul Kienzle + + * statistics/distributions/beta_cdf.m: Replace betai with betainc. + * statistics/distributions/binomial_cdf.m: Likewise. + * statistics/distributions/f_cdf.m: Likewise. + * statistics/distributions/t_cdf.m: Likewise. + + * miscellaneous/bincoeff.m: Replace lgamma with gammaln. + * specfun/beta.m: Likewise. + * special-matrix/invhilb.m: Likewise (but it is only in a comment). + * statistics/distributions/gamma_pdf.m: Likewise. + * statistics/distributions/poisson_pdf.m: Likewise. + + * statistics/distributions/gamma_cdf.m: replace gammai with gammainc + * statistics/distributions/poisson_cdf.m: Likewise. + +2002-08-09 John W. Eaton + + * deprecated/is_bool.m: New file. + * deprecated/is_complex.m: New file. + * deprecated/is_global.m: New file. + * deprecated/is_list.m: New file. + * deprecated/is_matrix.m: New file. + * deprecated/is_scalar.m: New file. + * deprecated/is_square.m: New file. + * deprecated/is_stream.m: New file. + * deprecated/is_struct.m: New file. + * deprecated/is_symmetric.m: New file. + * deprecated/is_vector.m: New file. + * Change all callers of these functions to use the new names. + + * deprecated: New directory. + * Makefile.in (SUBDIRS): Add it to the list. + + * general/isscalar.m: Rename from is_scalar.m. + * general/issquare.m: Rename from is_square.m. + * general/issymmetric.m: Rename from is_symmetric.m. + * general/isvector.m: Rename from is_vector.m. + +2002-08-05 John W. Eaton + + * statistics/base/mean.m: Allow empty matrices. + Handle DIM arg. + +2002-08-05 Teemu Ikonen + + * plot/__errcomm__.m: If format is not specified, default to error + bar format. + +2002-08-01 John W. Eaton + + * miscellaneous/popen2.m: Use F_SETFL and O_NONBLOCK, not + __F_SETFL__ and __O_NONBLOCK__. + + * image/saveimage.m: Use OCTAVE_VERSION, not __OCTAVE_VERSION__. + * miscellaneous/bug_report.m: Likewise. + +2002-07-25 John W. Eaton + + * general/mod.m: Use isreal (x), not any (any (imag (x))). + * general/rem.m: Likewise. + + * plot/loglogerr.m: Use varargin instead of old style varargs. + * plot/semilogxerr.m: Likewise. + * plot/semilogyerr.m: Likewise. + +2002-07-25 Teemu Ikonen + + * plot/__errcomm__.m: New file. Common functionality for error plots. + * plot/loglogerr.m: New file. Double logarithm plots with errorbars. + * plot/semilogxerr.m: New file. Semilogarithm plots with errorbars. + * plot/semilogyerr.m: New file. Semilogarithm plots with errorbars + + * plot/errorbar.m: Use __errcomm__.m. + * plot/__errplot__.m: Minor cleanups. + * plot/__pltopt__.m: Handle boxxyerrorbars plot style. + * plot/__pltopt1__.m: Likewise. + +2002-07-10 John W. Eaton + + * general/rem.m: Delete redundant call to usage. + + * general/mod.m: Additional error checks, Texinfoize doc string. + +2002-04-29 Paul Kienzle + + * general/mod.m: New function. + +2002-07-10 John W. Eaton + + * control/system/sysmult.m: Use varargin instead of old style varargs. + * control/system/sysadd.m: Likewise. + * control/system/sysgroup.m: Likewise. + * control/system/syssub.m: Likewise. + * elfun/gcd.m: Likewise. + * elfun/lcm.m: Likewise. + * general/common_size.m: Likewise. + * io/printf.m: Likewise. + * miscellaneous/menu.m: Likewise. + * miscellaneous/path.m: Likewise. + * plot/__errplot__.m: Likewise. + * plot/__plt__.m: Likewise. + * plot/axis.m: Likewise. + * plot/errorbar.m: Likewise. + * plot/mplot.m: Likewise. + * plot/loglog.m: Likewise. + * plot/plot.m: Likewise. + * plot/plot_border.m: Likewise. + * plot/semilogx.m: Likewise. + * plot/semilogy.m: Likewise. + * plot/xlabel.m: Likewise. + * plot/ylabel.m: Likewise. + * plot/zlabel.m: Likewise. + * statistics/base/ppplot.m: Likewise. + * statistics/base/qqplot.m: Likewise. + * statistics/tests/bartlett_test.m: Likewise. + * statistics/tests/kolmogorov_smirnov_test.m: Likewise. + * statistics/tests/kruskal_wallis_test.m: Likewise. + * strings/str2mat.m: Likewise. + * strings/strcat.m: Likewise. + +2002-06-27 Paul Kienzle + + * statistics/distributions/gamma_pdf.m: Avoid overflow in more cases. + +2002-05-01 John W. Eaton + + * skip-autoheader: New file, for autogen.sh. + * Makefile.in (DISTFILES): Add it to the list. + +2002-04-29 Paul Kienzle + + * general/repmat.m: New function. + +2002-04-25 Paul Kienzle + + * audio/lin2mu.m: Accept matrices and [-1,1] normalized audio. + Use optional parameter to specify the number of bits in the input. + * audio/mu2lin.m: Accept matrices, return n-bit integers or + floats in the range [-1,1], 2x speedup. + + * strings/index.m, strings/rindex.m: Vectorize for speed. + +2002-04-25 John W. Eaton + + * linear-algebra/kron.m: Delete. + +2002-04-24 Paul Kienzle + + * signal/freqz.m: If nargout is zero, plot results instead of + returning them. + * signal/freqz_plot.m: New file. + +2002-04-24 Bill Lash + + * signal/unwrap.m: New file. + +2002-04-23 Paul Kienzle + + * image/rgb2hsv.m: Faster, more accurate, remove the + divide by zero warning. + +2002-04-09 Paul Kienzle + + * strings/deblank.m: Trim \0 as well as blank. + + * freqz.m: Evaluate a specific range of frequencies + expressed in radians or Hz relative to a supplied sample rate. + +2002-04-04 Paul Kienzle + + * signal/fftfilt.m: Filter columns if called with a matrix. + + * strings/findstr.m: Vectorize as much as possible. + +2002-04-04 Dirk Laurie + + * special-matrix/invhilb.m: New version that is faster and more + accurate. + +2002-04-03 Steven G. Johnson + + * configure.in: Update for autoconf 2.5x. + +2002-04-03 Paul Kienzle + + * special-matrix/vander.m: Code tidy and vectorize. + +2002-04-02 Paul Kienzle + + * linear-algebra/cross.m: Accept nx3 and 3xn matrices, in addition + to vectors. Issue a warning in the case x matches y' but return a + column vector as Octave currently does. + + * plot/contour.m: Set default number of levels for contour(x,y,z). + + * control/system/starp.m: Leave more of the documentation + processing to texinfo and less to the @format block. + + * image/imagesc.m: Only display image if no output is requested. + Code tidying. + +2002-03-07 Paul Kienzle + + * statistics/base/center.m: Accept and return empty matrix. + +2002-02-22 John W. Eaton + + * specfun/erfinv.m: Fix usage message. + +2002-02-08 John W. Eaton + + * elfun/coth.m: Use 1 ./ tanh(z) instead of cosh(z) ./ sinh(z). + From "Michael O'Brien" . + +2001-06-06 John W. Eaton + + * statistics/distributions/discrete_cdf.m: Downcase incorrectly + capitalized variable names. + +2001-05-30 Jean-Francois Cardoso + + * m/image/saveimage.m: fix saving an image to Postscript format. + +2001-04-18 A. Scottedward Hodel + + * control/system/is_stabilizable.m: Pass a to sys2ss, not sys. + +2001-02-28 Kai Habel + + * general/cart2pol.m: New file. + * general/pol2cart.m: New file. + * general/cart2sph.m: New file. + * general/sph2cart.m: New file. + * image/rgb2hsv.m: New file. + * image/hsv2rgb.m: New file. + +2001-02-26 Paul Kienzle + + * plot/meshgrid.m: Avoid for loops. + * plot/meshdom.m: Likewise. + +2001-02-22 John W. Eaton + + * linear-algebra/norm.m: Use sqrt instead of ^0.5. + +2001-02-22 Heinz Bauschke + + * linear-algebra/norm.m: Use more efficient method for Frobenius + norm. + +2001-02-09 David Livings + + * statistics/tests/welch_test.m: Fix typo. + + * statistics/distributions/chisquare_cdf.m: + Don't restrict inputs to be only positive integers. + * statistics/distributions/chisquare_inv.m: Likewise. + * statistics/distributions/chisquare_pdf.m: Likewise. + * statistics/distributions/chisquare_rnd.m: Likewise. + * statistics/distributions/f_cdf.m: Likewise. + * statistics/distributions/f_inv.m: Likewise. + * statistics/distributions/f_pdf.m: Likewise. + * statistics/distributions/f_rnd.m: Likewise. + * statistics/distributions/t_cdf.m: Likewise. + * statistics/distributions/t_inv.m: Likewise. + * statistics/distributions/t_pdf.m: Likewise. + * statistics/distributions/t_rnd.m: Likewise. + +2001-02-08 Paul Kienzle + + * strings/dec2base.m: New file. + * strings/base2dec.m: New file. + * strings/strjust.m: New file. + * strings/dec2hex.m: Replace with version that just calls 2dec2base. + * strings/dec2bin.m: Likewise. + * strings/hex2dec.m: Replace with version that just calls base2dec. + * strings/bin2dec.m: Likewise. + +2001-02-07 David Livings + + * statistics/base/ppplot.m: Use gset, not set. + * statistics/base/qqplot.m: Likewise. + +2001-02-05 Ondrej Popp + + * control/system/c2d.m: Add missing endif. + +2000-12-15 Teemu Ikonen + + * strings/index.m: Return 0 if either string is empty. + +2000-12-15 Ben Sapp + + * control/system/c2d.m: Allow option of matched pole/zero + equivalent for conversion. + +2000-12-15 Matthew W. Roberts + + * strings/findstr.m: Return empty matrix if search string is empty. + +2000-12-15 Kai Habel + + * saveimage.m: Do create rawbit image for black and white images, + but do it correctly. + +2000-12-13 Teemu Ikonen + + * polynomial/deconv.m: For compatibility with Matlab, don't reduce + result polynomials. + +2000-12-07 John W. Eaton + + * image/saveimage.m: Don't try to create rawbit image. + +2000-11-21 John W. Eaton + + * Makefile.in (bin-dist): Pass -C to $(MAKE), not -c. + +2000-11-16 Paul Kienzle + + * plot/contour.m: Reorder args for Matlab compatibility. + +2000-10-27 Mats Jansson + + * set/create_set.m: Avoid empty matrix in matrix list warning. + +2000-09-08 Teemu Ikonen + + * plot/errorbar.m, plot/__errplot__.m: New functions. + + * plot/mesh.m: Also set nologscale before plotting. + * plot/__pltopt1__.m: Handle xerrorbars, yerrorbars, and + xyerrorbars instead of just errorbars. + +2000-08-25 Thomas Walter + + * image/image.m: Try display (from ImageMagick) first. + +2000-08-01 Rolf Fabian + + * plot/meshgrid.m: Use transpose to reorient vectors, not complex + conjugate transpose. + +2000-07-21 John W. Eaton + + * strings/str2mat.m: Apply setstr to each argument. + +2000-07-17 Gabriele Pannocchia + + * control/base/dkalman.m: New file. + * control/base/dlqe.m: Handle singular A matrix. + * control/base/dlqr.m: Likewise. + +2000-07-14 John W. Eaton + + * strings/strcmp.m: Return 0 instead of an error if row and column + dimensions don't match. + +2000-06-30 Kai Habel + + * plot/hist.m: Allow 3 argument form to work. + +2000-06-27 Matthew W. Roberts + + * plot/plot.m: Add examples in doc string. + +2000-06-08 Ben Sapp + + * control/base/__stepimp__.m: Reset multiplot state when done. + Do the right thing even if automatic_replot is not zero. + Avoid failure if system has pure imaginary poles. + +2000-06-06 John W. Eaton + + * general/logical.m: Return arg if it is empty. Better error + message for non-numeric types. + +2000-05-31 A. Scottedward Hodel + + * control/base/dlqe.m: Update documentation. Fix typo. Warn + about difference with Matlab dlqe function. + + * control/system/sysmult.m: Fix typo in argument dimensions checking. + +2000-05-24 Ben Sapp + + * strings/strrep.m: Fix typo. + +2000-05-13 John W. Eaton + + * strings/strrep.m: Don't transpose result for case of jump > 0. + +2000-05-13 Paul Kienzle + + * strings/strrep.m: Avoid for loop for speed. + * plot/axis.m: Handle string options for Matlab compatibility. + +2000-04-04 John Smith + + * statistics/distributions/beta_inv.m: Provide better(?) initial + guess for iteration. + +2000-03-31 Paul Kienzle + + * image/image.m: Allow image (A) or image (x, y, A). + * image/imagesc.m: Likewise. + + * image/image.m: If zoom is not supplied, or if it is an empty + matrix, autoscale the image. + +2000-03-22 John W. Eaton + + * plot/title.m, plot/bottom_title.m, plot/top_title.m: + Undo string escapes in text twice(!) before sending to gnuplot. + + * image/saveimage.m: Add comment to file saying who created it and + when it was created. Suggested by Stephen Eglen + . + +2000-03-21 Paul Kienzle + + * polynomial/polyreduce.m: Simplify by looking for the first + non-zero element rather than the last of the first set of zero + elements. + + * plot/__pltopt1__.m: Accept "--", "-.", and ":" line styles. + +2000-03-21 Kai Habel + + * image/saveimage.m: Swap black and white colormaps so zero is + displayed as black and 1 is displayed as white. + Fix indexing bug in ppm case. + +2000-03-06 Stephen Eglen + + * statistics/tests/kolmogorov_smirnov_test_2.m: Account for ties + between the two distributions (took same approach as ks.test() in R.) + +2000-02-29 John W. Eaton + + * control/base/bode.m: Temporarily disable automatic_replot. + +2000-02-23 John W. Eaton + + * Makefile.in (clean): Also remove gethelp. + + * specfun/erfinv.m: Use z_new in convergence test, not z_old. + +2000-02-11 Georg Thimm + + * set/create_set.m: Use find to avoid while loop. + +2000-02-11 Stephen Eglen + + * plot/hist.m: New optional third argument. + +2000-02-10 John W. Eaton + + * miscellaneous/bug_report.m: Use octave-bug script with version + number appended. + +2000-02-04 John W. Eaton + + * gethelp.cc: Sprinkle with std:: qualifier. + +2000-01-30 John W. Eaton + + * image/saveimage.m: Delete some debugging code. + +2000-01-27 John W. Eaton + + * signal/sinc.m: Avoid reshaping. + + * image/rgb2ind.m: No longer needs to reset do_fortran_indexing. + * image/ind2rgb.m: Ditto. + * image/ind2gray.m: Ditto. + * general/reshape.m: Ditto. Also no longer needs to reset + implicit_str_to_num_ok. + +2000-01-26 John W. Eaton + + * miscellaneous/popen2.m: Deal with the fact that pipe now returns + a list of file structures, not a vector of numeric file ids. + +2000-01-25 John W. Eaton + + * plot/__axis_label__.m: New function. + Undo string escapes in text twice(!) before sending to gnuplot. + * plot/xlabel.m: Use it. + * plot/ylabel.m: Ditto. + * plot/zlabel.m: Ditto. + + * plot/mesh.m: Fix error message to reflect reality. + +2000-01-24 Cyril Humbert + + * statistics/distributions/weibull_pdf.m: Use correct formula. + +2000-01-22 Michael Reifenberger + + * audio/saveaudio.m: Also accept files with .ul extension. + * audio/loadaudio.m: Ditto. + * audio/playaudio.m: Ditto. + +2000-01-19 John W. Eaton + + * statistics/distributions/beta_cdf.m: Texinfoize doc string. + * statistics/distributions/beta_inv.m: Ditto. + * statistics/distributions/beta_pdf.m: Ditto. + * statistics/distributions/beta_rnd.m: Ditto. + * statistics/distributions/binomial_cdf.m: Ditto. + * statistics/distributions/binomial_inv.m: Ditto. + * statistics/distributions/binomial_pdf.m: Ditto. + * statistics/distributions/binomial_rnd.m: Ditto. + * statistics/distributions/cauchy_cdf.m: Ditto. + * statistics/distributions/cauchy_inv.m: Ditto. + * statistics/distributions/cauchy_pdf.m: Ditto. + * statistics/distributions/cauchy_rnd.m: Ditto. + * statistics/distributions/chisquare_cdf.m: Ditto. + * statistics/distributions/chisquare_inv.m: Ditto. + * statistics/distributions/chisquare_pdf.m: Ditto. + * statistics/distributions/chisquare_rnd.m: Ditto. + * statistics/distributions/discrete_cdf.m: Ditto. + * statistics/distributions/discrete_inv.m: Ditto. + * statistics/distributions/discrete_pdf.m: Ditto. + * statistics/distributions/discrete_rnd.m: Ditto. + * statistics/distributions/empirical_cdf.m: Ditto. + * statistics/distributions/empirical_inv.m: Ditto. + * statistics/distributions/empirical_pdf.m: Ditto. + * statistics/distributions/empirical_rnd.m: Ditto. + * statistics/distributions/exponential_cdf.m: Ditto. + * statistics/distributions/exponential_inv.m: Ditto. + * statistics/distributions/exponential_pdf.m: Ditto. + * statistics/distributions/exponential_rnd.m: Ditto. + * statistics/distributions/f_cdf.m: Ditto. + * statistics/distributions/f_inv.m: Ditto. + * statistics/distributions/f_pdf.m: Ditto. + * statistics/distributions/f_rnd.m: Ditto. + * statistics/distributions/gamma_cdf.m: Ditto. + * statistics/distributions/gamma_inv.m: Ditto. + * statistics/distributions/gamma_pdf.m: Ditto. + * statistics/distributions/gamma_rnd.m: Ditto. + * statistics/distributions/geometric_cdf.m: Ditto. + * statistics/distributions/geometric_inv.m: Ditto. + * statistics/distributions/geometric_pdf.m: Ditto. + * statistics/distributions/geometric_rnd.m: Ditto. + * statistics/distributions/hypergeometric_cdf.m: Ditto. + * statistics/distributions/hypergeometric_inv.m: Ditto. + * statistics/distributions/hypergeometric_pdf.m: Ditto. + * statistics/distributions/hypergeometric_rnd.m: Ditto. + * statistics/distributions/kolmogorov_smirnov_cdf.m: Ditto. + * statistics/distributions/laplace_cdf.m: Ditto. + * statistics/distributions/laplace_inv.m: Ditto. + * statistics/distributions/laplace_pdf.m: Ditto. + * statistics/distributions/laplace_rnd.m: Ditto. + * statistics/distributions/logistic_cdf.m: Ditto. + * statistics/distributions/logistic_inv.m: Ditto. + * statistics/distributions/logistic_pdf.m: Ditto. + * statistics/distributions/logistic_rnd.m: Ditto. + * statistics/distributions/lognormal_cdf.m: Ditto. + * statistics/distributions/lognormal_inv.m: Ditto. + * statistics/distributions/lognormal_pdf.m: Ditto. + * statistics/distributions/lognormal_rnd.m: Ditto. + * statistics/distributions/normal_cdf.m: Ditto. + * statistics/distributions/normal_inv.m: Ditto. + * statistics/distributions/normal_pdf.m: Ditto. + * statistics/distributions/normal_rnd.m: Ditto. + * statistics/distributions/pascal_cdf.m: Ditto. + * statistics/distributions/pascal_inv.m: Ditto. + * statistics/distributions/pascal_pdf.m: Ditto. + * statistics/distributions/pascal_rnd.m: Ditto. + * statistics/distributions/poisson_cdf.m: Ditto. + * statistics/distributions/poisson_inv.m: Ditto. + * statistics/distributions/poisson_pdf.m: Ditto. + * statistics/distributions/poisson_rnd.m: Ditto. + * statistics/distributions/stdnormal_cdf.m: Ditto. + * statistics/distributions/stdnormal_inv.m: Ditto. + * statistics/distributions/stdnormal_pdf.m: Ditto. + * statistics/distributions/stdnormal_rnd.m: Ditto. + * statistics/distributions/t_cdf.m: Ditto. + * statistics/distributions/t_inv.m: Ditto. + * statistics/distributions/t_pdf.m: Ditto. + * statistics/distributions/t_rnd.m: Ditto. + * statistics/distributions/uniform_cdf.m: Ditto. + * statistics/distributions/uniform_inv.m: Ditto. + * statistics/distributions/uniform_pdf.m: Ditto. + * statistics/distributions/uniform_rnd.m: Ditto. + * statistics/distributions/weibull_cdf.m: Ditto. + * statistics/distributions/weibull_inv.m: Ditto. + * statistics/distributions/weibull_pdf.m: Ditto. + * statistics/distributions/weibull_rnd.m: Ditto. + * statistics/distributions/wiener_rnd.m: Ditto. + +2000-01-18 John W. Eaton + + * statistics/base/values.m: Texinfoize doc string. + * statistics/base/var.m: Ditto. + * statistics/base/table.m: Ditto. + * statistics/base/studentize.m: Ditto. + * statistics/base/statistics.m: Ditto. + * statistics/base/spearman.m: Ditto. + * statistics/base/run_count.m: Ditto. + * statistics/base/ranks.m: Ditto. + * statistics/base/range.m: Ditto. + * statistics/base/qqplot.m: Ditto. + * statistics/base/probit.m: Ditto. + * statistics/base/ppplot.m: Ditto. + * statistics/base/moment.m: Ditto. + * statistics/base/meansq.m: Ditto. + * statistics/base/logit.m: Ditto. + * statistics/base/kendall.m: Ditto. + * statistics/base/iqr.m: Ditto. + * statistics/base/cut.m: Ditto. + * statistics/base/cor.m: Ditto. + * statistics/base/cloglog.m: Ditto. + * statistics/base/center.m: Ditto. + * statistics/models/logistic_regression.m: Ditto. + * statistics/models/logistic_regression_derivative.m: Ditto. + * statistics/models/logistic_regression_likelihood.m: Ditto. + * statistics/tests/anova.m: Ditto. + * statistics/tests/bartlett_test.m: Ditto. + * statistics/tests/chisquare_test_homogeneity.m: Ditto. + * statistics/tests/chisquare_test_independence.m: Ditto. + * statistics/tests/cor_test.m: Ditto. + * statistics/tests/f_test_regression.m: Ditto. + * statistics/tests/hotelling_test.m: Ditto. + * statistics/tests/hotelling_test_2.m: Ditto. + * statistics/tests/kolmogorov_smirnov_test.m: Ditto. + * statistics/tests/kolmogorov_smirnov_test_2.m: Ditto. + * statistics/tests/kruskal_wallis_test.m: Ditto. + * statistics/tests/manova.m: Ditto. + * statistics/tests/mcnemar_test.m: Ditto. + * statistics/tests/prop_test_2.m: Ditto. + * statistics/tests/run_test.m: Ditto. + * statistics/tests/sign_test.m: Ditto. + * statistics/tests/t_test.m: Ditto. + * statistics/tests/t_test_2.m: Ditto. + * statistics/tests/t_test_regression.m: Ditto. + * statistics/tests/u_test.m: Ditto. + * statistics/tests/var_test.m: Ditto. + * statistics/tests/welch_test.m: Ditto. + * statistics/tests/wilcoxon_test.m: Ditto. + * statistics/tests/z_test.m: Ditto. + * statistics/tests/z_test_2.m: Ditto. + +2000-01-17 John W. Eaton + + * strings/bin2dec.m: Texinfoize doc string. + * plot/__plr1__.m: Ditto. + * plot/__pltopt__.m: Ditto. + * plot/__plt__.m: Ditto. + * plot/__plt2vv__.m: Ditto. + * plot/__plr2__.m: Ditto. + * plot/__plr__.m: Ditto. + * plot/__plt1__.m: Ditto. + * plot/__plt2__.m: Ditto. + * plot/__plt2mm__.m: Ditto. + * plot/__plt2mv__.m: Ditto. + * plot/__plt2ss__.m: Ditto. + * miscellaneous/paren.m: Ditto. + * miscellaneous/comma.m: Ditto. + * miscellaneous/semicolon.m: Ditto. + * miscellaneous/path.m: Ditto. + * miscellaneous/list_primes.m: Ditto. + * miscellaneous/flops.m: Ditto. + * miscellaneous/dump_prefs.m: Ditto. + * miscellaneous/bug_report.m: Ditto. + * linear-algebra/dot.m: Ditto + * linear-algebra/dmult.m: Ditto. + * general/randperm.m: Ditto. + * general/logical.m: Ditto. + * general/is_duplicate_entry.m: Ditto. + * signal/arch_fit.m: Ditto. + * signal/arch_rnd.m: Ditto. + * signal/arch_test.m: Ditto. + * signal/arma_rnd.m: Ditto. + * signal/autocor.m: Ditto. + * signal/autocov.m: Ditto. + * signal/autoreg_matrix.m: Ditto. + * signal/bartlett.m: Ditto. + * signal/blackman.m: Ditto. + * signal/detrend.m: Ditto. + * signal/diffpara.m: Ditto. + * signal/durbinlevinson.m: Ditto. + * signal/fftconv.m: Ditto. + * signal/fftfilt.m: Ditto. + * signal/fftshift.m: Ditto. + * signal/fractdiff.m: Ditto. + * signal/freqz.m: Ditto. + * signal/hamming.m: Ditto. + * signal/hanning.m: Ditto. + * signal/hurst.m: Ditto. + * signal/periodogram.m: Ditto. + * signal/rectangle_lw.m: Ditto. + * signal/rectangle_sw.m: Ditto. + * signal/sinc.m: Ditto. + * signal/sinetone.m: Ditto. + * signal/sinewave.m: Ditto. + * signal/spectral_adf.m: Ditto. + * signal/spectral_xdf.m: Ditto. + * signal/spencer.m: Ditto. + * signal/stft.m: Ditto. + * signal/synthesis.m: Ditto. + * signal/triangle_lw.m: Ditto. + * signal/triangle_sw.m: Ditto. + * signal/yulewalker.m: Ditto. + * control/util/strappend.m: Ditto. + * control/base/nichols.m: Ditto. + * control/system/is_signal_list.m: Ditto. + * control/system/listidx.m: Ditto. + * control/system/sysgettsam.m: Ditto. + * control/system/sysidx.m: Ditto. + +2000-01-14 John W. Eaton + + * control/system/__abcddims__.m: Rename from + control/system/abcddims.m, change all callers. + * control/base/__bodquist__.m: Likewise. + * control/base/__freqresp__.m: Likewise. + * control/util/__outlist__.m: Likewise. + * control/base/__stepimp__.m: Likewise. + * control/system/__syschnamesl__.m: Likewise. + * control/system/__syscont_disc__.m: Likewise. + * control/system/__sysdefioname__.m: Likewise. + * control/system/__sysdefstname__.m: Likewise. + * control/system/__sysgroupn__.m: Likewise. + * control/system/__tf2sysl__.m: Likewise. + * control/util/__zgpbal__.m: Likewise. + * control/system/__zp2ssg2__.m: Likewise. + + * quaternion/demoquat.m: Add copyright notice, Texinfoize doc string. + * quaternion/qconj.m: Ditto. + * quaternion/qcoordinate_plot.m: Ditto. + * quaternion/qderiv.m: Ditto. + * quaternion/qderivmat.m: Ditto. + * quaternion/qinv.m: Ditto. + * quaternion/qmult.m: Ditto. + * quaternion/qtrans.m: Ditto. + * quaternion/qtransv.m: Ditto. + * quaternion/qtransvmat.m: Ditto. + * quaternion/quaternion.m: Ditto. + +2000-01-13 John W. Eaton + + * control/base/Makefile.in: Ditto. + * control/hinf/Makefile.in: New file. + * control/marsyas/Makefile.in: Ditto. + * control/obsolete/Makefile.in: Ditto. + * control/system/Makefile.in: Ditto. + * control/util/Makefile.in: Ditto. + + * strings/com2str.m: Move here from control directory. + + * control/base: New directory. + * control/base/DEMOcontrol.m: Move here from control directory. + * control/base/analdemo.m: Ditto. + * control/base/are.m: Ditto. + * control/base/bddemo.m: Ditto. + * control/base/bode.m: Ditto. + * control/base/bode_bounds.m: Ditto. + * control/base/bodquist.m: Ditto. + * control/base/controldemo.m: Ditto. + * control/base/ctrb.m: Ditto. + * control/base/damp.m: Ditto. + * control/base/dare.m: Ditto. + * control/base/dcgain.m: Ditto. + * control/base/dgram.m: Ditto. + * control/base/dlqe.m: Ditto. + * control/base/dlqr.m: Ditto. + * control/base/dlyap.m: Ditto. + * control/base/dre.m: Ditto. + * control/base/frdemo.m: Ditto. + * control/base/freqchkw.m: Ditto. + * control/base/freqresp.m: Ditto. + * control/base/gram.m: Ditto. + * control/base/impulse.m: Ditto. + * control/base/lqe.m: Ditto. + * control/base/lqg.m: Ditto. + * control/base/lqr.m: Ditto. + * control/base/lsim.m: Ditto. + * control/base/ltifr.m: Ditto. + * control/base/lyap.m: Ditto. + * control/base/nichols.m: Ditto. + * control/base/nyquist.m: Ditto. + * control/base/obsv.m: Ditto. + * control/base/place.m: Ditto. + * control/base/pzmap.m: Ditto. + * control/base/rldemo.m: Ditto. + * control/base/rlocus.m: Ditto. + * control/base/step.m: Ditto. + * control/base/stepimp.m: Ditto. + * control/base/tzero.m: Ditto. + * control/base/tzero2.m: Ditto. + + * control/hinf: New directory. + * control/hinf/dhinfdemo.m: Move here from control directory. + * control/hinf/h2norm.m: Ditto. + * control/hinf/h2syn.m: Ditto. + * control/hinf/hinf_ctr.m: Ditto. + * control/hinf/hinfdemo.m: Ditto. + * control/hinf/hinfnorm.m: Ditto. + * control/hinf/hinfsyn.m: Ditto. + * control/hinf/hinfsyn_chk.m: Ditto. + * control/hinf/hinfsyn_ric.m: Ditto. + * control/hinf/wgt1o.m: Ditto. + * control/hinf/dgkfdemo.m: Ditto. + * control/hinf/is_dgkf.m: Ditto. + + * control/marsyas: New directory. + * control/marsyas/demomarsyas.m: Move here from control directory. + * control/marsyas/susball.m: Ditto. + + * control/obsolete/dezero.m: Move here from control directory. + * control/obsolete/rotg.m: Ditto. + + * control/system: New directory. + * control/system/abcddim.m: Move here from control directory. + * control/system/abcddims.m: Ditto. + * control/system/buildssic.m: Ditto. + * control/system/c2d.m: Ditto. + * control/system/d2c.m: Ditto. + * control/system/dmr2d.m: Ditto. + * control/system/fir2sys.m: Ditto. + * control/system/is_abcd.m: Ditto. + * control/system/is_digital.m: Ditto. + * control/system/is_sample.m: Ditto. + * control/system/is_signal_list.m: Ditto. + * control/system/is_siso.m: Ditto. + * control/system/is_controllable.m: Ditto. + * control/system/is_detectable.m: Ditto. + * control/system/is_observable.m: Ditto. + * control/system/is_stabilizable.m: Ditto. + * control/system/is_stable.m: Ditto. + * control/system/jet707.m: Ditto. + * control/system/listidx.m: Ditto. + * control/system/moddemo.m: Ditto. + * control/system/ord2.m: Ditto. + * control/system/packedform.m: Ditto. + * control/system/parallel.m: Ditto. + * control/system/ss2sys.m: Ditto. + * control/system/ss2tf.m: Ditto. + * control/system/ss2zp.m: Ditto. + * control/system/starp.m: Ditto. + * control/system/sys2fir.m: Ditto. + * control/system/sys2ss.m: Ditto. + * control/system/sys2tf.m: Ditto. + * control/system/sys2zp.m: Ditto. + * control/system/sysadd.m: Ditto. + * control/system/sysappend.m: Ditto. + * control/system/syschnamesl.m: Ditto. + * control/system/syschtsam.m: Ditto. + * control/system/sysconnect.m: Ditto. + * control/system/syscont.m: Ditto. + * control/system/syscont_disc.m: Ditto. + * control/system/sysdefioname.m: Ditto. + * control/system/sysdefstname.m: Ditto. + * control/system/sysdimensions.m: Ditto. + * control/system/sysdisc.m: Ditto. + * control/system/sysdup.m: Ditto. + * control/system/sysgetsignals.m: Ditto. + * control/system/sysgettsam.m: Ditto. + * control/system/sysgettype.m: Ditto. + * control/system/sysgroup.m: Ditto. + * control/system/sysgroupn.m: Ditto. + * control/system/sysidx.m: Ditto. + * control/system/sysmin.m: Ditto. + * control/system/sysmult.m: Ditto. + * control/system/sysout.m: Ditto. + * control/system/sysprune.m: Ditto. + * control/system/sysreorder.m: Ditto. + * control/system/sysrepdemo.m: Ditto. + * control/system/sysscale.m: Ditto. + * control/system/syssetsignals.m: Ditto. + * control/system/syssub.m: Ditto. + * control/system/sysupdate.m: Ditto. + * control/system/tf2ss.m: Ditto. + * control/system/tf2sys.m: Ditto. + * control/system/tf2sysl.m: Ditto. + * control/system/tf2zp.m: Ditto. + * control/system/tfout.m: Ditto. + * control/system/ugain.m: Ditto. + * control/system/zp2ss.m: Ditto. + * control/system/zp2ssg2.m: Ditto. + * control/system/zp2sys.m: Ditto. + * control/system/zp2tf.m: Ditto. + * control/system/zpout.m: Ditto. + + * control/util: New directory. + * control/util/axis2dlim.m: Move here from control directory. + * control/util/outlist.m: Ditto. + * control/util/prompt.m: Ditto. + * control/util/run_cmd.m: Ditto. + * control/util/sortcom.m: Ditto. + * control/util/strappend.m: Ditto. + * control/util/swap.m: Ditto. + * control/util/zgfmul.m: Ditto. + * control/util/zgfslv.m: Ditto. + * control/util/zginit.m: Ditto. + * control/util/zgpbal.m: Ditto. + * control/util/zgreduce.m: Ditto. + * control/util/zgrownorm.m: Ditto. + * control/util/zgscal.m: Ditto. + * control/util/zgsgiv.m: Ditto. + * control/util/zgshsr.m: Ditto. + +2000-01-13 John W. Eaton + + * gethelp.cc (extract_help_text): Discard first space character + after consecutive comment characters. + +Thu Jan 13 00:56:57 2000 John W. Eaton + + * control/obsolete: New directory + * control/obsolete/swaprows.m: Move here from control directory. + * control/obsolete/swapcols.m: Ditto. + * control/obsolete/dlqg.m: Ditto. + * control/obsolete/minfo.m: Ditto. + * control/obsolete/packsys.m: Ditto. + * control/obsolete/qzval.m: Ditto. + * control/obsolete/unpacksys.m: Ditto. + * control/obsolete/series.m: Ditto. + * control/obsolete/syschnames.m: Ditto. + * polynomial/polyout.m: Ditto. + +2000-01-13 John W. Eaton + + * general/fliplr.m: Eliminate useless copy of arg. + * general/flipud.m: Ditto. + +2000-01-11 John W. Eaton + + * linear-algebra/cross.m: Only return a row vector if both args + are row vectors. + * polynomial/polyfit.m: Likewise. + + * signal/autocov.m: Don't reset prefer_column_vectors. + + * statistics/distributions/discrete_rnd.m: + Always generate a row vector. + * statistics/distributions/hypergeometric_rnd.m: Likewise. + +2000-01-11 Ben Sapp + + * strings/upper.m: Add missing `-*- texinfo -*-' tag to doc string. + + * audio/setaudio.m: Texinfoize doc string. + * control/com2str.m: Likewise. + * control/controldemo.m: Likewise. + * control/DEMOcontrol.m: Likewise. + * control/dezero.m: Likewise. + * control/dre.m: Likewise. + * control/hinfsyn_ric.m: Likewise. + +2000-01-05 Ben Sapp + + * io/printf.m: Add @seealso{...} to doc string. + * io/puts.m: Likewise. + * plot/semilogx.m: Likewise. + * plot/semilogy.m: Likewise. + * plot/__pltopt__.m: Likewise. + * plot/bar.m: Likewise. + * plot/xlabel.m: Likewise. + * plot/grid.m: Likewise. + * plot/shg.m: Likewise. + * plot/title.m: Likewise. + * plot/mesh.m: Likewise. + * plot/__pltopt1__.m: Likewise. + * plot/contour.m: Likewise. + * plot/hist.m: Likewise. + * plot/stairs.m: Likewise. + * plot/meshgrid.m: Likewise. + * plot/polar.m: Likewise. + * plot/loglog.m: Likewise. + * plot/plot.m: Likewise. + * miscellaneous/semicolon.m: Likewise. + * miscellaneous/menu.m: Likewise. + * miscellaneous/etime.m: Likewise. + * miscellaneous/texas_lotto.m: Likewise. + * miscellaneous/comma.m: Likewise. + * audio/lin2mu.m: Likewise. + * audio/playaudio.m: Likewise. + * audio/loadaudio.m: Likewise. + * audio/saveaudio.m: Likewise. + * audio/mu2lin.m: Likewise. + * audio/record.m: Likewise. + * strings/isletter.m: Likewise. + * strings/lower.m: Likewise. + * strings/lower.m: Likewise. + * strings/upper.m: Likewise. + * specfun/erfinv.m: Likewise. + * specfun/gammai.m: Likewise. + * specfun/log2.m: Likewise. + * specfun/pow2.m: Likewise. + * elfun/gcd.m: Likewise. + * elfun/lcm.m: Likewise. + * special-matrix/vander.m: Likewise. + * special-matrix/sylvester_matrix.m: Likewise. + * special-matrix/hilb.m: Likewise. + * special-matrix/hankel.m: Likewise. + * special-matrix/toeplitz.m: Likewise. + * special-matrix/invhilb.m: Likewise. + * statistics/base/std.m: Likewise. + * statistics/base/median.m: Likewise. + * linear-algebra/cond.m: Likewise. + * linear-algebra/norm.m: Likewise. + * finance/nper.m: Likewise. + * finance/pmt.m: Likewise. + * finance/pv.m: Likewise. + * finance/rate.m: Likewise. + * finance/npv.m: Likewise. + * general/fliplr.m: Likewise. + * general/flipud.m: Likewise. + * general/is_scalar.m: Likewise. + * general/rem.m: Likewise. + * general/perror.m: Likewise. + * general/tril.m: Likewise. + * general/rot90.m: Likewise. + * general/num2str.m: Likewise. + * general/int2str.m: Likewise. + * general/reshape.m: Likewise. + * general/logspace.m: Likewise. + * general/is_symmetric.m: Likewise. + * general/is_vector.m: Likewise. + * general/nextpow2.m: Likewise. + * general/columns.m: Likewise. + * general/is_square.m: Likewise. + * general/rows.m: Likewise. + * control/ugain.m: Likewise. + * control/damp.m: Likewise. + * control/dare.m: Likewise. + * control/are.m: Likewise. + * control/sys2fir.m: Likewise. + * control/abcddim.m: Likewise. + * control/is_abcd.m: Likewise. + * control/step.m: Likewise. + * control/is_observable.m: Likewise. + * control/is_controllable.m: Likewise. + * control/jet707.m: Likewise. + * control/polyout.m: Likewise. + * control/impulse.m: Likewise. + * control/lqg.m: Likewise. + * control/is_detectable.m: Likewise. + * control/sysdimensions.m: Likewise. + * control/sysupdate.m: Likewise. + * control/stepimp.m: Likewise. + * control/is_stable.m: Likewise. + * control/tfout.m: Likewise. + * control/zpout.m: Likewise. + +2000-01-05 John W. Eaton + + * set/complement.m: Add @seealso{} stuff. + * set/create_set.m: Likewise. + * set/intersection.m: Likewise. + * set/union.m: Likewise. + +1999-12-22 John W. Eaton + + * control/d2c.m: Use double quotes instead of single quotes for + string constants. + * control/dgkfdemo.m: Likewise. + * control/fir2sys.m: Likewise. + * control/frdemo.m: Likewise. + * control/moddemo.m: Likewise. + * control/minfo.m: Likewise. + * control/is_stabilizable.m: Likewise. + * control/is_dgkf.m: Likewise. + * control/polyout.m: Likewise. + * control/sysconnect.m: Likewise. + * control/sysrepdemo.m: Likewise. + * control/tf2sys.m: Likewise. + * control/tfout.m: Likewise. + * control/zp2sys.m: Likewise. + * control/zpout.m: Likewise. + * control/tzero.m: Likewise. + + * control/DEMOcontrol.m: Handle moddemo case too. + + * image/loadimage.m: Use double quotes instead of single quotes + for string constants. Use sprintf instead of square brackets to + construct string. + + * control/DEMOcontrol.m: Formatting tweaks. + * control/fir2sys.m: Likewise. + +1999-12-17 John W. Eaton + + * mkdoc: Only delete spaces before @ characters at the beginning + of a line. + +1999-12-15 John W. Eaton + + * control/bddemo.m: Make it more likely to work with any value of + whitespace_in_literal_matrix. + * control/analdemo.m: Ditto. + * control/dgkfdemo.m: Ditto. + * control/frdemo.m: Ditto. + * control/sysrepdemo.m: Ditto. + * control/moddemo.m: Ditto. + * control/zp2ss.m: Ditto. + * control/zp2tf.m: Ditto. + * control/syssub.m: Ditto. + * finance/npv.m: Ditto. + * statistics/base/studentize.m: Ditto. + * statistics/base/values.m: Ditto. + * statistics/distributions/exponential_cdf.m: Ditto. + * statistics/distributions/poisson_cdf.m: Ditto. + + * control/dezero.m: Use toascii to convert string to ASCII value + instead of multiplying it by 1. + + * control/zp2sys.m: Don't save and restore implicit_str_to_num_ok. + * control/zpout.m: Ditto. + * control/tfout.m: Ditto. + * control/tf2sys.m: Ditto. + * control/syssub.m: Ditto. + * control/syssetsignals.m: Ditto. + * control/sysout.m: Ditto. + * control/sysmult.m: Ditto. + * control/sysgroup.m: Ditto. + * control/sysdup.m: Ditto. + * control/sysdisc.m: Ditto. + * control/syscont.m: Ditto. + * control/sysconnect.m: Ditto. + * control/sysappend.m: Ditto. + * control/sysadd.m: Ditto. + * control/ss2sys.m: Ditto. + * control/nyquist.m: Ditto. + * control/lqg.m: Ditto. + * control/fir2sys.m: Ditto. + * control/dmr2d.m: Ditto. + * control/dezero.m: Ditto. + * control/d2c.m: Ditto. + * control/c2d.m: Ditto. + * control/bddemo.m: Ditto. + * control/pzmap.m: Ditto. + +1999-12-08 Daniel Calvelo + + * signal/spectral_adf.m: Fix typo. + +1999-11-23 John W. Eaton + + * linear-algebra/cond.m: Texinfoize doc string. + * linear-algebra/kron.m: Ditto. + * linear-algebra/norm.m: Ditto. + * linear-algebra/null.m: Ditto. + * linear-algebra/orth.m: Ditto. + * linear-algebra/rank.m: Ditto. + * linear-algebra/trace.m: Ditto. + * linear-algebra/qzhess.m: Ditto. + * miscellaneous/menu.m: Ditto. + * general/perror.m: Ditto. + * general/strerror.m: Ditto. + * general/columns.m: Ditto. + * general/rows.m: Ditto. + * image/colormap.m: Ditto. + * image/gray.m: Ditto. + * image/gray2ind.m: Ditto. + * image/image.m: Ditto. + * image/imagesc.m: Ditto. + * image/imshow.m: Ditto. + * image/ind2gray.m: Ditto. + * image/ind2rgb.m: Ditto. + * image/loadimage.m: Ditto. + * image/rgb2ntsc.m: Ditto. + * image/ntsc2rgb.m: Ditto. + * image/ocean.m: Ditto. + * image/rgb2ind.m: Ditto. + * image/saveimage.m: Ditto. + * io/printf.m: Ditto. + * io/puts.m: Ditto. + +1999-11-21 John W. Eaton + + * special-matrix/hankel.m: Texinfoize doc string. + * special-matrix/hilb.m: Ditto. + * special-matrix/invhilb.m: Ditto. + * special-matrix/sylvester_matrix.m: Ditto. + * special-matrix/toeplitz.m: Ditto. + * special-matrix/vander.m: Ditto. + * linear-algebra/vec.m: Ditto. + * linear-algebra/vech.m: Ditto. + * general/common_size.m: Ditto. + * general/diff.m: Ditto. + * general/fliplr.m: Ditto. + * general/flipud.m: Ditto. + * general/rot90.m: Ditto. + * general/reshape.m: Ditto. + * general/shift.m: Ditto. + * general/tril.m: Ditto. + * general/triu.m: Ditto. + * general/logspace.m: Ditto. + * general/nargchk.m: Ditto. + +1999-11-20 John W. Eaton + + * statistics/base/mean: Texinfoize doc string. + * statistics/base/median: Ditto. + * statistics/base/std: Ditto. + * statistics/base/cov: Ditto. + * statistics/base/corrcoef: Ditto. + * statistics/base/kurtosis: Ditto. + * statistics/base/mahalanobis: Ditto. + * statistics/base/skewness: Ditto. + * statistics/base/gls.m: Ditto. + * statistics/base/ols.m: Ditto. + * signal/detrend.m: Ditto. + * signal/freqz.m: Ditto. + * signal/sinc.m: Ditto. + * signal/fftconv.m: Ditto. + * signal/fftfilt.m: Ditto. + * set/create_set.m: Ditto. + * set/union.m: Ditto. + * set/intersection.m: Ditto. + * set/complement.m: Ditto. + * poly/compan.m: Ditto. + * poly/conv: Ditto. + * poly/deconv: Ditto. + * poly/poly: Ditto. + * poly/polyderiv: Ditto. + * poly/polyfit: Ditto. + * poly/polyinteg: Ditto. + * poly/polyreduce: Ditto. + * poly/polyval: Ditto. + * poly/polyvalm: Ditto. + * poly/residue: Ditto. + * poly/roots: Ditto. + * plot/top_title.m: Ditto + * plot/subwindow.m: Ditto + * plot/subplot.m: Ditto + * plot/plot_border.m: Ditto + * plot/oneplot.m: Ditto + * plot/multiplot.m: Ditto + * plot/mplot.m: Ditto + * plot/xlabel.m: Ditto + * plot/figure.m: Ditto + * plot/meshdom.m: Ditto + * plot/mesh.m: Ditto + * plot/stairs.m: Ditto + * plot/polar.m: Ditto + * plot/loglog.m: Ditto + * plot/hist.m: Ditto + * plot/contour.m: Ditto + * plot/bar.m: Ditto + * plot/axis.m: Ditto + * plot/plot.m: Ditto. + +1999-11-19 John W. Eaton + + * control/pinv.m: Delete. + + * Makefile.in (DOCSTRINGS): Don't echo $(ALL_M_FILES). + + * strings/blanks.m: Texinfoize doc string. + * strings/strcat.m: Ditto. + * strings/str2mat.m: Ditto. + * strings/deblank.m: Ditto. + * strings/findstr.m: Ditto. + * strings/index.m: Ditto. + * strings/rindex.m: Ditto. + * strings/split.m: Ditto. + * strings/strcmp.m: Ditto. + * strings/strrep.m: Ditto. + * strings/substr.m: Ditto. + * general/int2str.m: Ditto. + * general/num2str.m: Ditto. + * strings/dec2bin.m: Ditto. + * strings/bin2dec: Ditto. + * strings/dec2bin: Ditto. + * strings/dec2hex: Ditto. + * strings/hex2dec: Ditto. + * strings/str2num: Ditto. + +1999-11-10 John W. Eaton + + * Makefile.in (DISTFILES): Include DOCSTRINGS. + +1999-11-09 Ben Sapp + + * control/DEMOcontrol.m: Texinfoize doc string. + * control/abcddim.m: Ditto. + * control/abcddims.m: Ditto. + * control/analdemo.m: Ditto. + * control/are.m: Ditto. + * control/axis2dlim.m: Ditto. + * control/bddemo.m: Ditto. + * control/bode.m: Ditto. + * control/bode_bounds.m: Ditto. + * control/bodquist.m: Ditto. + * control/buildssic.m: Ditto. + * control/c2d.m: Ditto. + * control/ctrb.m: Ditto. + * control/d2c.m: Ditto. + * control/damp.m: Ditto. + * control/dare.m: Ditto. + * control/dcgain.m: Ditto. + * control/dgkfdemo.m: Ditto. + * control/dgram.m: Ditto. + * control/dlqe.m: Ditto. + * control/dlqr.m: Ditto. + * control/dlyap.m: Ditto. + * control/dmr2d.m: Ditto. + * control/fir2sys.m: Ditto. + * control/frdemo.m: Ditto. + * control/freqchkw.m: Ditto. + * control/freqresp.m: Ditto. + * control/gram.m: Ditto. + * control/h2norm.m: Ditto. + * control/h2syn.m: Ditto. + * control/hinf_ctr.m: Ditto. + * control/hinfdemo.m: Ditto. + * control/hinfnorm.m: Ditto. + * control/hinfsyn.m: Ditto. + * control/hinfsyn_chk.m: Ditto. + * control/impulse.m: Ditto. + * control/is_abcd.m: Ditto. + * control/is_controllable.m: Ditto. + * control/is_detectable.m: Ditto. + * control/is_dgkf.m: Ditto. + * control/is_digital.m: Ditto. + * control/is_observable.m: Ditto. + * control/is_sample.m: Ditto. + * control/is_signal_list.m: Ditto. + * control/is_siso.m: Ditto. + * control/is_stabilizable.m: Ditto. + * control/is_stable.m: Ditto. + * control/jet707.m: Ditto. + * control/lqe.m: Ditto. + * control/lqg.m: Ditto. + * control/lqr.m: Ditto. + * control/lsim.m: Ditto. + * control/ltifr.m: Ditto. + * control/lyap.m: Ditto. + * control/moddemo.m: Ditto. + * control/nyquist.m: Ditto. + * control/obsv.m: Ditto. + * control/ord2.m: Ditto. + * control/outlist.m: Ditto. + * control/pinv.m: Ditto. + * control/place.m: Ditto. + * control/polyout.m: Ditto. + * control/prompt.m: Ditto. + * control/pzmap.m: Ditto. + * control/qzval.m: Ditto. + * control/rldemo.m: Ditto. + * control/rlocus.m: Ditto. + * control/sortcom.m: Ditto. + * control/ss2sys.m: Ditto. + * control/ss2tf.m: Ditto. + * control/ss2zp.m: Ditto. + * control/starp.m: Ditto. + * control/step.m: Ditto. + * control/stepimp.m: Ditto. + * control/susball.m: Ditto. + * control/sys2fir.m: Ditto. + * control/sys2ss.m: Ditto. + * control/sys2tf.m: Ditto. + * control/sys2zp.m: Ditto. + * control/sysadd.m: Ditto. + * control/sysappend.m: Ditto. + * control/syschnames.m: Ditto. + * control/syschnamesl.m: Ditto. + * control/syschtsam.m: Ditto. + * control/sysconnect.m: Ditto. + * control/syscont.m: Ditto. + * control/syscont_disc.m: Ditto. + * control/sysdefioname.m: Ditto. + * control/sysdefstname.m: Ditto. + * control/sysdimensions.m: Ditto. + * control/sysdisc.m: Ditto. + * control/sysdup.m: Ditto. + * control/sysgetsignals.m: Ditto. + * control/sysgettype.m: Ditto. + * control/sysgroup.m: Ditto. + * control/sysgroupn.m: Ditto. + * control/sysmult.m: Ditto. + * control/sysout.m: Ditto. + * control/sysprune.m: Ditto. + * control/sysreorder.m: Ditto. + * control/sysrepdemo.m: Ditto. + * control/sysscale.m: Ditto. + * control/syssetsignals.m: Ditto. + * control/syssub.m: Ditto. + * control/sysupdate.m: Ditto. + * control/tf2ss.m: Ditto. + * control/tf2sys.m: Ditto. + * control/tf2sysl.m: Ditto. + * control/tf2zp.m: Ditto. + * control/tfout.m: Ditto. + * control/tzero.m: Ditto. + * control/tzero2.m: Ditto. + * control/ugain.m: Ditto. + * control/wgt1o.m: Ditto. + * control/zgfmul.m: Ditto. + * control/zgfslv.m: Ditto. + * control/zginit.m: Ditto. + * control/zgpbal.m: Ditto. + * control/zgreduce.m: Ditto. + * control/zgrownorm.m: Ditto. + * control/zgscal.m: Ditto. + * control/zgsgiv.m: Ditto. + * control/zgshsr.m: Ditto. + * control/zp2ss.m: Ditto. + * control/zp2ssg2.m: Ditto. + * control/zp2sys.m: Ditto. + * control/zp2tf.m: Ditto. + * control/zpout.m: Ditto. + +1999-11-02 Ben Sapp + + * audio/lin2mu.m: Texinfoize doc string. + * audio/loadaudio.m: Ditto. + * audio/mu2lin.m: Ditto. + * audio/playaudio.m: Ditto. + * audio/record.m: Ditto. + * audio/saveaudio.m: Ditto. + +1999-10-26 Ben Sapp + + * elfun/acot.m: Texinfoize doc string. + * elfun/acsc.m: Ditto. + * elfun/acsch.m: Ditto. + * elfun/asec.m: Ditto. + * elfun/asech.m: Ditto. + * elfun/cot.m: Ditto. + * elfun/coth.m: Ditto. + * elfun/csc.m: Ditto. + * elfun/csch.m: Ditto. + * elfun/gcd.m: Ditto. + * elfun/lcm.m: Ditto. + * elfun/sec.m: Ditto. + * elfun/sech.m: Ditto. + * general/nextpow2.m: Ditto. + * general/rem.m: Ditto. + * linear-algebra/commutation_matrix.m: Ditto. + * linear-algebra/cross.m: Ditto. + * linear-algebra/duplication_matrix.m: Ditto. + * miscellaneous/bincoeff.m: Ditto. + * miscellaneous/xor.m: Ditto. + * specfun/bessel.m: Ditto. + * specfun/beta.m: Ditto. + * specfun/betai.m: Ditto. + * specfun/erfinv.m: Ditto. + * specfun/gammai.m: Ditto. + * specfun/log2.m: Ditto. + * specfun/pow2.m: Ditto. + +1999-10-23 Ben Sapp + + * general/is_scalar.m: Texinfoize help text. + * general/is_square.m: Ditto. + * general/is_symmetric.m: Ditto. + +1999-10-22 John W. Eaton + + * strings/split.m: If the string to be split is empty, just return + an empty string. + +1999-10-21 John W. Eaton + + * Makefile.in (ALL_M_FILES): New macro. + (DOCSTRINGS): No longer .PHONY; depend on $(ALL_M_FILES). + +1999-10-20 John W. Eaton + + * control/bode.m: Don't return anything if nargout == 0. + +1999-10-20 James B. Rawlings + + * control/bode.m: Don't do axis scaling for magnitude plots. + +1999-10-20 John W. Eaton + + * Makefile.in (DISTFILES): Add move-if-change, mkdoc, and + gethelp.cc to the list. + +1999-10-19 John W. Eaton + + * time/asctime.m: Texinfoize help text. + * time/clock.m: Ditto. + * time/date.m: Ditto. + * miscellaneous/cputime.m: Ditto. + * miscellaneous/etime.m: Ditto. + * miscellaneous/is_leap_year.m: Ditto. + * miscellaneous/popen2.m: Ditto. + * miscellaneous/version.m: Ditto. + * miscellaneous/tic.m: Ditto. + * miscellaneous/toc.m: Just refer to tic.m. + + * Makefile.in (dist, bin-dist): Use `$(MAKE) -C dir' instead of + `cd dir; $(MAKE); cd ..'. + ($(SUBDIRS)): Likewise. + + * statistics/Makefile.in ($(SUBDIRS)): Likewise. + + * statistics/Makefile.in (bin-dist): Use `$(MAKE) -C dir' instead + of `cd dir; $(MAKE)'. + + * gethelp.cc, mkdoc: New files. + * Makefile.in: Use them to create DOCSTRINGS file from .m file + sources. + +1999-10-14 John W. Eaton + + * linear-algebra/kron.m: Fix typo in previous change + +1999-10-13 John W. Eaton + + * control/bode.m: Allow optional 5th arg to specify plot style. + +Wed Sep 22 22:12:03 1999 A. Scottedward Hodel + + * linear-algebra/krylov.m: Correctly handle case of V having full + rank when V has more columns than rows. + +Mon Sep 20 23:04:57 1999 John W. Eaton + + * general/linspace.m, linear-algebra/pinv.m: Delete. + + * statistics/tests/manova.m: Avoid problems if + whitespace_in_literal_matrix is set to "traditional". + * statistics/tests/t_test_regression.m: Likewise. + * statistics/tests/u_test.m: Likewise. + * statistics/tests/chisquare_test_homogeneity.m: Likewise. + * statistics/tests/anova.m: Likewise. + * statistics/tests/kruskal_wallis_test.m: Likewise. + * statistics/base/statistics.m: Likewise. + * image/saveimage.m: Likewise. + * signal/arch_fit.m: Likewise. + * signal/autoreg_matrix.m: Likewise. + * signal/triangle_lw.m: Likewise. + * strings/dec2hex.m: Likewise. + +Thu Sep 9 19:31:58 1999 John W. Eaton + + * image/saveimage.m: Initialize scale. + +Sun Sep 5 22:13:47 1999 John W. Eaton + + * general/reshape.m: Allow reshape (a, size (b)). + +Fri Sep 3 00:01:38 1999 John W. Eaton + + * specfun/erfinv.m: Improve stopping criterion. + Add iteration count as second return value. + +Mon Aug 30 12:07:00 1999 John W. Eaton + + * statistics/base/mean.m: Use .', not ' to reorient row vectors. + +Tue Aug 17 11:11:27 1999 John W. Eaton + + * miscellaneous/pack.m: New function. + +Mon Aug 16 07:46:57 1999 John W. Eaton + + * plot/figure.m: Always return figure number. With no args, + figure now creates a new figure window and returns its number. + Accept figure (property, value) syntax, but do nothing. + +Thu Aug 12 09:28:01 PDT 1999 Tom Poage + + * general/shift.m: Avoid printing temporary value for backward shift. + +Mon Aug 2 16:39:04 1999 John W. Eaton + + * plot/bar.m: Compute bar widths correctly when x-values are not + evenly spaced. + +Mon Jul 12 22:48:34 1999 John W. Eaton + + * linear-algebra/cond.m: Avoid returning NaN for matrices that + contain only zeros. + +Sun Jun 20 22:24:27 1999 Eduardo Gallestey + + * linear-algebra/kron.m: Create result matrix and insert blocks + instead of appending them. + +Sat Jun 19 01:52:18 1999 John W. Eaton + + * control/bodquist.m, control/buildssic.m, control/is_digital.m, + control/stepimp.m, control/sysmin.m, control/syssetsignals.m: + Update from A. S. Hodel. + +Fri Jun 18 12:19:22 1999 John W. Eaton + + * polynomial/polyfit.m: Correct previous change. + +Wed Apr 7 13:57:26 1999 John W. Eaton + + * linear-algebra/qrhouse.m, linear-algebra/krygetq.m: Delete. + +Wed Apr 7 13:22:43 1999 A. S. Hodel + + * control/is_controllable.m, control/zgscal.m: Accomodate new + version of krylov and krylovb. + + * control/outlist.m, control/sysout.m: Fix typos. + + * control/sysdimensions.m: Add option for total number of states. + + * linear-algebra/krylov.m: Improve robustness by row-pivoting. + * linear-algebra/krylovb.m: Just call krylov with appropriate + arguments. + +Tue Mar 30 00:43:09 1999 John W. Eaton + + * strings/index.m: Fail with meaningful error message if either + arg is a string array. + +Wed Mar 24 20:34:48 1999 John W. Eaton + + * linear-algebra/norm.m: Do the right thing for 1- and + infinity-norms of complex matrices. From Sven Khatri + . + +Tue Mar 16 13:36:36 1999 A. Scottedward Hodel" + + * linear-algebra/qrhouse.m: Handle default args correctly. + +Thu Mar 11 12:52:34 1999 John W. Eaton + + * strings/split.m: Avoid problems when splitting strings that have + \ in them. + +Thu Mar 11 12:36:13 1999 Massimo Lorenzin + + * image/colormap.m: Do better arg checking, handle string args + that name the colormap function to call (e.g., colormap ("ocean")). + +Mon Mar 8 22:23:24 1999 Rolf Fabian + + * polynomial/polyfit.m: Use .' transpose operator, not '. + * linear-algebra/dot.m: Likewise. + * linear-algebra/cross.m: Likewise. + * general/rot90.m: Likewise. + +Sat Mar 6 01:45:00 1999 A Scott Hodel + + * linear-algebra/qrhouse.m: Permute columns at each iteration so + that the leading column is not all zeros. + +Fri Mar 5 00:37:47 1999 John W. Eaton + + * general/shift.m: Fix potential problems with + whitespace_in_literal_matrix. + * signal/arch_rnd.m: Ditto. + * signal/autocov.m: Ditto. + * signal/diffpara.m: Ditto. + * signal/hurst.m: Ditto. + * signal/periodogram.m: Ditto. + * signal/spectral_adf.m: Ditto. + * signal/spectral_xdf.m: Ditto. + * signal/spencer.m: Ditto. + * signal/synthesis.m: Ditto. + * statistics/distributions/wiener_rnd.m: Ditto. + * statistics/models/logistic_regression_likelihood.m: Ditto. + * statistics/models/logistic_regression.m: Ditto. + * statistics/models/logistic_regression_derivatives.m: Ditto. + * statistics/tests/run_test.m: Ditto. + * statistics/tests/chisquare_test_independence.m: Ditto. + +Wed Mar 3 02:25:00 1999 Joao Cardoso + + * plot/__plr2__.m: Fix typo. + +Tue Jan 12 10:31:15 1999 John W. Eaton + + * plot/__pltopt1__.m: Accept "k" to mean black. + +Fri Dec 11 10:43:19 1998 A Scott Hodel + + * linear-algebra/krylov.m: Force empty_list_elements_ok for this + function. + +Thu Dec 10 11:07:00 1998 A Scott Hodel + + * control/ss2sys.m: Fix typo. + +Wed Dec 9 12:42:19 1998 John W. Eaton + + * plot/subplot.m, plot/oneplot.m: Don't call clearplot. + + * control: Update from A. S. Hodel for + signal names as lists of strings instead of string arrays. + +Fri Dec 4 16:08:42 1998 John W. Eaton + + * quaternion: New directory of functions from A. S. Hodel + . + * Makefile.in (SUBDIRS): Add it to the list. + * quaternion/Makefile.in: New file. + * configure.in (AC_OUTPUT): Add quaternion/Makefile. + +Tue Nov 24 21:41:31 1998 John W. Eaton + + * image/saveimage.m: Make it work again for black and white colormaps. + + * image/imagesc.m: Use rows (colormap), not length (colormap), + since there can be fewer rows than columns. Round values to + nearest position in colormap instead of truncating. Correct usage + message. + +Tue Nov 24 14:50:52 1998 A Scott Hodel + + * linear-algebra/krylov.m: New arg pflg. If nonzero, avoid using + zero rows of [A,v] as householder pivots; this avoids spurious + non-zero entries in returned orthogonal matrix U, but destroys the + Householder matrix structure of H. + +Fri Nov 20 12:46:46 1998 John W. Eaton + + * general/logical.m: Just copy input to output if argument is + already a logical object. + +Fri Nov 6 10:17:00 1998 John W. Eaton + + * New files from OCST, in control subdiretory: + + DEMOcontrol.m is_siso.m syschnames.m + abcddim.m is_stabilizable.m syschnamesl.m + abcddims.m is_stable.m syschtsam.m + analdemo.m jet707.m sysconnect.m + are.m lqe.m syscont.m + axis2dlim.m lqg.m syscont_disc.m + bddemo.m lqr.m sysdefioname.m + bode.m lsim.m sysdefstname.m + bode_bounds.m ltifr.m sysdimensions.m + bodquist.m lyap.m sysdisc.m + buildssic.m mb.m sysdup.m + c2d.m minfo.m sysgetsignals.m + com2str.m moddemo.m sysgettsam.m + controldemo.m nichols.m sysgettype.m + ctrb.m nyquist.m sysgroup.m + d2c.m obsv.m sysgroupn.m + damp.m ord2.m sysmult.m + dare.m outlist.m sysout.m + dcgain.m packedform.m sysprune.m + demomarsyas.m packsys.m sysreorder.m + dezero.m; parallel.m sysrepdemo.m + dgkfdemo.m place.m sysscale.m + dgram.m polyout.m syssub.m + dhinfdemo.m prompt.m sysupdate.m + dlqe.m pzmap.m tf2ss.m + dlqg.m qzval.m tf2sys.m + dlqr.m rldemo.m tf2sysl.m + dlyap.m rlocus.m tf2zp.m + dmr2d.m rotg.m tfout.m + fir2sys.m run_cmd.m; tzero.m + frdemo.m series.m tzero2.m + freqchkw.m sortcom.m ugain.m + freqresp.m ss2sys.m unpacksys.m + gram.m ss2tf.m wgt1o.m + h2norm.m ss2zp.m zgfmul.m + h2syn.m starp.m zgfslv.m + hinf_ctr.m step.m zginit.m + hinfdemo.m stepimp.m zgpbal.m + hinfnorm.m strappend.m; zgreduce.m + hinfsyn.m susball.m zgrownorm.m + hinfsyn_chk.m swap.m zgscal.m + impulse.m swapcols.m zgsgiv.m + is_abcd.m swaprows.m zgshsr.m + is_controllable.m sys2fir.m zp2ss.m + is_detectable.m sys2ss.m zp2ssg2.m + is_dgkf.m sys2tf.m zp2sys.m + is_digital.m sys2zp.m zp2tf.m + is_observable.m sysadd.m zpout.m + is_sample.m sysappend.m + +Thu Nov 5 13:28:40 1998 John W. Eaton + + * configure.in (AC_OUTPUT): Escape newlinew in macro call with \. + + * strings/deblank.m: Make it work for string arrays too. + +Wed Nov 4 21:51:13 1998 John W. Eaton + + * linear-algebra/housh.m: New file from the OCST. + * linear-algebra/krygetq.m: Ditto. + * linear-algebra/krylov.m: Ditto. + * linear-algebra/krylovb.m: Ditto. + * linear-algebra/qrhouse.m: Ditto. + * general/is_duplicate_entry.m: Ditto. + + * general/is_symmetric.m: Call is_square instead of doing that + check in line. + +Wed Oct 28 11:51:14 1998 John W. Eaton + + * general/is_square.m: + + * general/isempty.m, general/is_matrix.m: Delete. + + * general/is_symmetric: Delete special case for strings. Whether + the conversion is valid should depend on implicit_str_to_num_ok. + + * general/is_square.m: If arg is not a matrix, don't check size, + just return 0. + * general/is_symmetric: Likewise. + * general/is_vector.m: Likewise. + * general/is_scalar.m: Likewise. + + * general/length.m: Delete. + +Fri Oct 23 00:21:55 1998 John W. Eaton + + * configure.in: Add finance/Makefile, statistics/base/Makefile, + statistics/distributions/Makefile, statistics/models/Makefile, + and statistics/tests/Makefile to the list of files to create. + + * finance/Makefile.in, statistics/base/Makefile.in, + statistics/distributions/Makefile.in, statistics/models/Makefile.in, + statistics/tests/Makefile.in: New files. + * statistics/Makefile.in: Delete file lists. Now only handle + subdirectories. + * Makefile.in (SUBDIRS): Add finance. + + * Move the following files from statistics to statistics/base: + + corrcoef.m + kurtosis.m + mahalanobis.m + median.m + ols.m + skewness.m + std.m + + New files, from Kurt Hornik's octave-ci package: + + * finance (new directory): + + fv.m + fvl.m + irr.m + nper.m + npv.m + pmt.m + pv.m + pvl.m + rate.m + vol.m + + * linear-algebra/dmult.m + + * signal: + + arch_fit.m + arch_rnd.m + arch_test.m + arma_rnd.m + autocor.m + autocov.m + autoreg_matrix.m + bartlett.m + blackman.m + diffpara.m + durbinlevinson.m + fractdiff.m + hamming.m + hanning.m + hurst.m + periodogram.m + rectangle_lw.m + rectangle_sw.m + sinetone.m + sinewave.m + spectral_adf.m + spectral_xdf.m + spencer.m + stft.m + synthesis.m + triangle_lw.m + triangle_sw.m + yulewalker.m + + * statistics/base (new directory): + + center.m + cloglog.m + cor.m + cov.m + cut.m + iqr.m + kendall.m + logit.m + mean.m + meansq.m + moment.m + ppplot.m + probit.m + qqplot.m + range.m + ranks.m + run_count.m + spearman.m + statistics.m + studentize.m + table.m + values.m + var.m + + (Replaces cov.m and mean.m with new versions.) + + * statistics/distributions (new directory): + + beta_cdf.m + beta_inv.m + beta_pdf.m + beta_rnd.m + binomial_cdf.m + binomial_inv.m + binomial_pdf.m + binomial_rnd.m + cauchy_cdf.m + cauchy_inv.m + cauchy_pdf.m + cauchy_rnd.m + chisquare_cdf.m + chisquare_inv.m + chisquare_pdf.m + chisquare_rnd.m + discrete_cdf.m + discrete_inv.m + discrete_pdf.m + discrete_rnd.m + empirical_cdf.m + empirical_inv.m + empirical_pdf.m + empirical_rnd.m + exponential_cdf.m + exponential_inv.m + exponential_pdf.m + exponential_rnd.m + f_cdf.m + f_inv.m + f_pdf.m + f_rnd.m + gamma_cdf.m + gamma_inv.m + gamma_pdf.m + gamma_rnd.m + geometric_cdf.m + geometric_inv.m + geometric_pdf.m + geometric_rnd.m + hypergeometric_cdf.m + hypergeometric_inv.m + hypergeometric_pdf.m + hypergeometric_rnd.m + kolmogorov_smirnov_cdf.m + laplace_cdf.m + laplace_inv.m + laplace_pdf.m + laplace_rnd.m + logistic_cdf.m + logistic_inv.m + logistic_pdf.m + logistic_rnd.m + lognormal_cdf.m + lognormal_inv.m + lognormal_pdf.m + lognormal_rnd.m + normal_cdf.m + normal_inv.m + normal_pdf.m + normal_rnd.m + pascal_cdf.m + pascal_inv.m + pascal_pdf.m + pascal_rnd.m + poisson_cdf.m + poisson_inv.m + poisson_pdf.m + poisson_rnd.m + stdnormal_cdf.m + stdnormal_inv.m + stdnormal_pdf.m + stdnormal_rnd.m + t_cdf.m + t_inv.m + t_pdf.m + t_rnd.m + uniform_cdf.m + uniform_inv.m + uniform_pdf.m + uniform_rnd.m + weibull_cdf.m + weibull_inv.m + weibull_pdf.m + weibull_rnd.m + wiener_rnd.m + + * statistics/models (new directory): + + logistic_regression.m + logistic_regression_derivatives.m + logistic_regression_likelihood.m + + * statistics/tests (new directory): + + anova.m + bartlett_test.m + chisquare_test_homogeneity.m + chisquare_test_independence.m + cor_test.m + f_test_regression.m + hotelling_test.m + hotelling_test_2.m + kolmogorov_smirnov_test.m + kolmogorov_smirnov_test_2.m + kruskal_wallis_test.m + manova.m + mcnemar_test.m + prop_test_2.m + run_test.m + sign_test.m + t_test.m + t_test_2.m + t_test_regression.m + u_test.m + var_test.m + welch_test.m + wilcoxon_test.m + z_test.m + z_test_2.m + +Thu Oct 22 12:25:55 1998 John W. Eaton + + * time/date.m: Use %Y, not %y in format string, for Matlab 5 + compatibility and to avoid Y2K problems. + +Mon Oct 19 17:26:35 1998 John W. Eaton + + * polynomial/polyfit.m: Just use the \ operator to handle the + least-squares solution. + +Thu Sep 3 12:40:47 1998 John W. Eaton + + * strings/str2num.m: If eval returns a string, return an empty matrix. + + * strings/strrep.m: Don't convert args to numeric values. + Prevent warnings for empty string args. + From Georg Thimm . + + * strings/strcat.m: Prevent warnings for empty string args. + +Wed Sep 2 17:20:24 1998 John W. Eaton + + * miscellaneous/menu.m: Remove special case for empty string + returned from input(). Add second arg to eval() to catch errors. + +Thu Jun 18 16:32:15 1998 John W. Eaton + + * plot/__plt__.m: Don't call usleep. + +Mon May 18 11:42:36 1998 John W. Eaton + + * linear-algebra/dot.m: New function. + + * strings/lower.m, strings/upper.m: New functions, for Matlab + compatibility. + +Fri May 15 01:16:53 1998 John W. Eaton + + * plot/hist.m: Also allow just one output argument. + +Sun May 10 23:00:45 1998 John W. Eaton + + * strings/deblank.m: Make it work if the string is only blanks. + +Tue May 5 00:53:36 1998 John W. Eaton + + * plot/__plt2mv__.m: Delete calls to keyboard. + +Mon May 4 11:43:31 1998 John W. Eaton + + * plot/oneplot.m: Fix typo. + +Wed Apr 22 12:11:27 1998 John W. Eaton + + * miscellaneous/flops.m: Allow a single argument too. + +Tue Apr 21 10:18:20 1998 John W. Eaton + + * strings/str2mat.m: Also handle case when there are no empty + strings correctly. + +Mon Apr 20 22:14:15 1998 John W. Eaton + + * strings/isletter.m: New function, for Matlab compatibility. + +Fri Apr 17 10:53:39 1998 John W. Eaton + + * strings/str2mat.m: Handle string matrices too. + +Wed Apr 15 11:16:01 1998 John W. Eaton + + * audio/loadaudio.m: Accept "pcm" as another file extension for + linear encoding. + + * audio/saveaudio.m, audio/loadaudio.m, audio/playaudio.m, + audio/record.m: Open files in binary mode. + +Fri Apr 10 10:46:21 1998 John W. Eaton + + * miscellaneous/dump_prefs.m: Use string array for list of values. + Move functionality of dump_1_pref here, but use built-in function + type to extract value, and put it inside try/catch block. + * miscellaneous/dump_1_pref.m: Delete unused function. + +Wed Apr 8 13:17:58 1998 John W. Eaton + + * plot/__pltopt1.m__: New file. + * plot/__pltopt.m__: Handle opt as a string array by calling + __pltopt1__ multiple times and returning a string array with rows + corresponding to the rows of opt. + * plot/__plt2ss__.m, plot/__plt2vv__.m, plot/__plt2vm__.m, + plot/__plt2mv__.m, plot/__plt2mm__.m: Handle fmt as a string + array. + +Fri Mar 27 03:00:40 1998 John W. Eaton + + * plot/mplot.m: Fix misspellings of global variables. + Don't call clearplot. + +Tue Mar 17 17:45:25 1998 John W. Eaton + + * plot/subplot.m, plot/multiplot.m: Set gnuplot_command_replot to + "cle;rep" when going in ot multiplot mode. + * plot/oneplot.m: Reset gnuplot_command_replot to "rep" when + switching out of multiplot mode. + +Fri Feb 20 01:31:32 1998 John W. Eaton + + * plot/mplot.m, plot/subplot.m, plot/oneplot.m, plot/multiplot.m, + plot/subwindow.m: Call clearplot after setting up multiplot mode. + +Tue Feb 3 00:18:40 1998 John W. Eaton + + * special-matrix/sylvester_matrix.m: Rename from hadamard.m + + * miscellaneous/bug_report.m: Don't try to get smart with + OCTAVE_HOME. Assume octave-bug can be found in EXEC_PATH. + + * Makefile.in (install): Create separate ls-R files for + $(datadir) and $(libexecdir). + (uninstall): Remove both ls-R files. + +Sat Jan 31 01:09:32 1998 John W. Eaton + + * signal/fftshift.m: New file. + + * plot/contour.m: Fix for non-square case. + + * general/randperm.m: New file. + +Fri Jan 30 15:20:39 1998 John W. Eaton + + * specfun/betai.m: Restore file for compatibility with previous + versions. Call betainc with reordered args. + * specfun/gammai.m: Likewise, call gammainc with reordered args. + +Wed Jan 28 22:44:59 1998 John W. Eaton + + * plot/contour.m: Handle discrete contour levels. + +Tue Jan 27 04:31:22 1998 John W. Eaton + + * control/lyap.m: For compatibility with Matlab, solve + A*X + X*A' + C = 0 instead of A'*X + X*A + C = 0. + +Wed Dec 10 00:14:29 1997 John W. Eaton + + * specfun/bessel.m: New file. + + * specfun/betai.m, specfun/betainc.m, specfun/gammai.m, + specfun/gammainc.m: Delete. + +Wed Nov 19 00:19:18 1997 John W. Eaton + + * image/colormap.m: Initialize __current_color_map__ in global + statement. + * miscellaneous/toc.m: Initialize __tic_toc_timestamp__ in global + statement. + * plot/axis.m: Initialize __current_axis__ in global statement. + * plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/subplot.m, + plot/subwindow.m: Initialize __multiplot_mode__ in global statement. + +Tue Nov 18 01:35:50 1997 John W. Eaton + + * time/tic.m: Rename _time_tic_called to __tic_toc_timestamp__. + * time/toc.m: Likewise. + + * image/colormap.m: Rename CURRENT_COLOR_MAP to __current_color_map__. + + * plot/mplot.m, plot/multiplot.m, plot/subplot.m: Don't do + anything special for automatic_replot when in multiplot mode -- + recent 3.6beta releases handle this correctly. + + * plot/figure.m: Ensure that we are not in multiplot mode before + setting the terminal type. + + * plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/subplot.m, + plot/subwindow.m: Use leading and trailing underscores for + `private' globals. + + * plot/oneplot.m: Don't do anything if gnuplot_has_multiplot is false. + +Fri Nov 14 10:53:11 1997 John W. Eaton + + * plot/__pltopt__.m: Use sprintf instead of strcat when adding TITLE. + +Fri Oct 10 11:18:10 1997 John W. Eaton + + * specfun/gammai.m: Avoid problems with whitespace when + constructing matrices. + + * polynomial/polyfit.m: Compute yf correctly. From Seung Lee + . Also return yf in the same orientation as the + original y vector. + +Fri Sep 19 17:04:40 1997 John W. Eaton + + * linear-algebra/cross.m: Use direct formula instead of calling + det three times in a loop. If both args are column (row) vectors, + return a column (row) vector. If they don't match, pay attention + to the value of prefer_column_vectors. + +Thu Aug 28 15:31:20 1997 Rolf Fabian + + * polynomial/polyvalm.m: Don't assume orthogonal eigenvectors for + nonsymmetric matrices. + + * general/tril.m: Fix usage message. + + * polynomial/polyvalm.m: Fix error messages. + * polynomial/polyderiv.m: Likewise. + * polynomial/polyval.m: Likewise. + +Wed Aug 13 14:14:16 1997 John W. Eaton + + * strings/blanks.m: Allow blanks(0) to return empty string. + Allow negative arguments if treat_neg_dim_as_zero is true. + +Wed Jun 25 21:26:24 1997 John W. Eaton + + * plot/mesh.m: Set noparametric plot mode after plotting. + +Wed Jun 25 21:06:10 1997 Rick Niles + + * plot/__pltopt__.m: Handle key/legend names. + Correctly set colors, line styles, and point styles. + +Wed Jun 25 13:34:06 1997 John W. Eaton + + * polynomial/polyfit.m: Return fit y values as second output. + Don't use QR factorization to solve least squares problem. + +Wed Jun 18 10:24:00 1997 John W. Eaton + + * control/dlqr.m: Use ao, not a, to compute k. + +Tue Jun 3 12:16:00 1997 John W. Eaton + + * miscellaneous/path.m: New file. + +Wed May 21 11:45:31 1997 John W. Eaton + + * miscellaneous/bug_report.m: Pass file id to dump_prefs, not file + name. + +Mon May 12 02:04:01 1997 John W. Eaton + + * specfun/erfinv.m: Add missing semicolon. + +Wed Apr 2 22:04:03 1997 John W. Eaton + + * miscellaneous/xor.m: Make type of return value logical. + +Fri Mar 28 16:19:53 1997 John W. Eaton + + * miscellaneous/dump_prefs.m: Delete call to dump_1_pref for + warn_comma_in_global_decl. + +Tue Mar 25 22:00:49 1997 John W. Eaton + + * miscellaneous/bug_report.m: Use __OCTAVE_HOME__ to find + octave-bug script. + +Mon Mar 24 16:49:47 1997 John W. Eaton + + * miscellaneous/dump_prefs.m: Delete call to dump_1_pref for + prefer_zero_one_indexing. + + * general/logical.m: New file. + +Sat Mar 15 15:07:30 1997 John W. Eaton + + * general/nextpow2.m: Correctly handle new meaning of is_scalar() + and is_vector(). + +Thu Mar 13 16:36:35 1997 Kurt Hornik + + * specfun/erfinv.m: Scale update by sqrt (pi) / 2. + Use tolerance of 2 * eps. + +Wed Mar 12 16:57:45 1997 John W. Eaton + + * Makefile.in (install-strip): New target. + * audio/Makefile.in: Ditto. + * control/Makefile.in: Ditto. + * elfun/Makefile.in: Ditto. + * general/Makefile.in: Ditto. + * image/Makefile.in: Ditto. + * io/Makefile.in: Ditto. + * linear-algebra/Makefile.in: Ditto. + * miscellaneous/Makefile.in: Ditto. + * plot/Makefile.in: Ditto. + * polynomial/Makefile.in: Ditto. + * set/Makefile.in: Ditto. + * signal/Makefile.in: Ditto. + * specfun/Makefile.in: Ditto. + * special-matrix/Makefile.in: Ditto. + * startup/Makefile.in: Ditto. + * statistics/Makefile.in: Ditto. + * strings/Makefile.in: Ditto. + +Tue Mar 11 10:14:26 1997 John W. Eaton + + * elfun/coth.m: Write as cosh(x) ./ sinh(x) instead of 1 ./ tanh(x). + +Fri Mar 7 23:06:48 1997 John W. Eaton + + * statistics/corrcoef.m: Make it actually work. + +Thu Mar 6 12:36:30 1997 John W. Eaton + + * statistics/corrcoef.m: Don't fail if single argument is a matrix. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Wed Feb 26 01:48:28 1997 John W. Eaton + + * Makefile.in (maintainer-clean): Also remove configure. + + * signal/fftconv.m: Check inputs with is_vector(), not is_matrix(). + + * general/is_matrix.m: Return zero for empty matrices. + +Tue Feb 25 15:16:04 1997 John W. Eaton + + * linear-algebra/vech.m: Size result just once. + +Sun Feb 23 00:15:57 1997 John W. Eaton + + * general/is_square.m: Handle empty matrices correctly. + * general/is_symmetric.m: Handle empty matrices and strings. + +Sat Feb 22 01:06:22 1997 John W. Eaton + + * polynomial/conv.m: Check inputs with is_vector(), not is_matrix(). + * polynomial/deconv.m: Likewise. + * polynomial/polyderiv.m: Likewise. + * polynomial/polyinteg.m: Likewise. + * polynomial/polyreduce.m: Likewise. + * polynomial/polyval.m: Likewise. + * polynomial/polyvalm.m: Likewise. + * general/postpad.m: Likewise. + * general/prepad.m: Likewise. + + * polynomial/compan.m: Check input with is_vector(), not + is_matrix(). Handle scalar case. + +Fri Feb 21 13:36:58 1997 John W. Eaton + + * plot/contour.m: Order data so that it is consistent with + meshgrid and mesh. + + * plot/meshdom.m, plot/meshgrid.m: Change help message. + * plot/sombrero.m: Use meshgrid, not meshdom. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Wed Feb 19 10:30:14 1997 John W. Eaton + + * miscellaneous/paren.m: New file. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Version 2.0.3 released. + +Thu Feb 13 19:06:42 1997 John W. Eaton + + * image/saveimage.m: Only clip image data that is actually out of + range. + +Sun Feb 9 19:52:08 1997 John W. Eaton + + * general/is_matrix.m: Scalars, vectors, and empty matrices may + also be considered to be matrices. + + * general/is_vector.m: Scalars may also be considered to be vectors. + + * general/isempty.m: Use size(), not rows() and columns(). + + * plot/contour.m: Convert set to gset. + Set view to 0, 0, 1, 1, not 0, 0, 1.9, 1. + +Fri Feb 7 12:55:55 1997 John W. Eaton + + * specfun/erfinv.m: Fix typo in last change. + +Fri Jan 31 09:30:16 1997 John W. Eaton + + * image/loadimage.m: Make it possible to load files with image + data named X or img. + + * image/default.img: Change name of image from X to img to match + what saveimage does now. + + * image/loadimage.m: Rename X to be img, to match what saveimage + does now. + +Mon Jan 27 13:48:31 1997 John W. Eaton + + * Version 2.0.2 released. + + * plot/__plt__.m: Use usleep() instead of replot to try to avoid + weird missing-lines bug without creating extra plots unecessarily. + +Sat Jan 25 22:37:07 1997 John W. Eaton + + * Makefile.in, audio/Makefile.in, control/Makefile.in, + elfun/Makefile.in, general/Makefile.in, image/Makefile.in, + io/Makefile.in, linear-algebra/Makefile.in, + miscellaneous/Makefile.in, plot/Makefile.in, + polynomial/Makefile.in, set/Makefile.in, signal/Makefile.in, + specfun/Makefile.in, special-matrix/Makefile.in, + startup/Makefile.in, statistics/Makefile.in, strings/Makefile.in, + time/Makefile.in (bin-dist): New target. + +Wed Jan 22 11:28:30 1997 John W. Eaton + + * specfun/erfinv.m: Avoid A([]) = X, X != [] error. + +Tue Jan 21 11:16:40 1997 John W. Eaton + + * miscellaneous/xor.m: Make it work. + +Mon Jan 20 12:28:34 1997 John W. Eaton + + * plot/sombrero.m: Doc fix. + +Tue Jan 7 00:16:52 1997 John W. Eaton + + * Version 2.0.1 released. + +Thu Dec 19 22:16:46 1996 John W. Eaton + + * elfun/lcm.m: Replace missing if statement. + + * elfun/gcd.m: Report error if no input args. + * elfun/lcm.m: Likewise. + +Mon Dec 16 15:23:04 1996 John W. Eaton + + * Makefile.in (install): Use ls -LR to create ls-R database. + Also list contents of $libexecdir/octave in ls-R database. + +Tue Dec 10 01:43:07 1996 John W. Eaton + + * Version 2.0 released. + +Fri Dec 6 15:23:46 1996 John W. Eaton + + * Version 1.94. + +Sun Dec 1 20:55:34 1996 John W. Eaton + + * strings/str2num.m: New file. + +Wed Nov 20 01:00:24 1996 John W. Eaton + + * Version 1.93. + +Tue Nov 19 15:13:35 1996 John W. Eaton + + * linear-algebra/commutation_matrix.m, linear-algebra/cross.m, + linear-algebra/duplication_matrix.m, linear-algebra/vec.m, + linear-algebra/vech.m: New files from Kurt Hornik. + + * general/nextpow2.m, general/shift.m, general/diff.m, + general/common_size.m: New files from Kurt Hornik. + + * miscellaneous/bincoeff.m, miscellaneous/xor.m: + New files from Kurt Hornik. + + * signal/detrend.m: New file from Kurt Hornik. + + * specfun/betai.m, specfun/gammai.m, specfun/erfinv.m, + specfun/pow2.m, specfun/log2.m: + New files and updates from Kurt Hornik. + +Fri Nov 15 18:13:00 1996 John W. Eaton + + * plot/__plt__.m: Add explicit replot after last command is + issued, to force all lines to be displayed. Hmm. + +Thu Nov 14 00:06:34 1996 John W. Eaton + + * plot/axis.m, plot/bottom_title.m, plot/contour.m, + plot/figure.m, plot/grid.m, plot/loglog.m, plot/mesh.m, + plot/mplot.m, plot/multiplot.m, plot/oneplot.m, plot/plot.m, + plot/plot_border.m, plot/polar.m, plot/semilogx.m, + plot/semilogy.m, plot/subplot.m, plot/subwindow.m, plot/title.m, + plot/top_title.m, plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: + Uset gset, not set. + + * Version 1.92. + +Thu Nov 7 12:43:12 1996 John W. Eaton + + * image/saveimage.m: When writing PostScript, name Octave as the + almighty Creator. Use single call to fprintf instead of looping. + + * image/Makefile.in: Delete references to octtopnm. + + * general/logspace.m: Doc fix. + + * Version 1.91. + +Sat Nov 2 21:06:29 1996 John W. Eaton + + * image/image.m: Use tmpnam() instead of home-brew scheme. + + * audio/record.m, audio/playaudio.m: Use tmpnam() instead of + octave_tmp_file_name(). Use unwind_protect to ensure tmp file is + deleted. + * miscellaneous/bug_report.m: Likewise. Also use unlink() instead + of a system() command to delete the tmp file. + +Wed Oct 30 17:19:45 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + +Thu Oct 10 17:31:01 1996 John W. Eaton + + * plot/subplot.m, plot/multiplot.m, plot/mplot.m: + Don't check for string value of automatic_replot. + + * image/ind2ind.m, image/ind2rgb.m, image/ind2gray.m: + Temporarily set do_fortran_indexing to 1, not "true". + + * miscellaneous/menu.m: Temporarily set page_screen_output to 0, + not "false". + + * linear-algebra/cond.m: Don't compare propagate_empty_matrices to + "false". + +Tue Aug 20 18:27:36 1996 Kurt Hornik + + * strings/substr.m: Allow negative OFFSET. LEN is now optional. + +Mon Jul 15 16:15:22 1996 John W. Eaton + + * miscellaneous/bug_report.m: Don't redirect output to /dev/tty in + system command. + +Fri Jul 12 12:24:29 1996 John W. Eaton + + * __plr1__.m: Renamed from polar_int_1.m. + * __plr2__.m: Renamed from polar_int_2.m. + * __plr__.m: Renamed from polar_int.m. + * __plt1__.m: Renamed from plot_int_1.m. + * __plt2__.m: Renamed from plot_int_2.m. + * __plt2mm__.m: Renamed from plot_2_m_m_.m. + * __plt2mv__.m: Renamed from plot_2_m_v_.m. + * __plt2ss__.m: Renamed from plot_2_s_s_.m. + * __plt2vm__.m: Renamed from plot_2_v_m_.m. + * __plt2vv__.m: Renamed from plot_2_v_v_.m. + * __plt__.m: Renamed from plot_int.m. + * __pltopt__.m: Renamed from plot_opt.m. + Change all callers. + +Thu Jul 11 17:24:29 1996 John W. Eaton + + * All .m files: Add regular Author:, Created:, and Adapted-By: + comments like those found in Emacs lisp files. + +Mon Jun 24 04:16:41 1996 John W. Eaton + + * All .m files: Change comment style. + +Fri Jun 14 01:42:21 1996 John W. Eaton + + * bottom_title.m, mplot.m, multiplot.m, oneplot.m, plot_border.m, + subplot.m, subwindow.m, top_title.m: + Print error message if gnuplot_has_multiplot is not true. + +Thu Jun 6 00:18:54 1996 John W. Eaton + + * plot/figure.m: New function. + +Wed Jun 5 18:19:00 1996 John W. Eaton + + * strings/strrep.m: New function. + +Thu May 23 15:04:22 1996 John W. Eaton + + * strings/bin2dec.m, strings/blanks.m, strings/deblank.m, + strings/dec2bin.m, strings/dec2hex.m, strings/findstr.m, + strings/hex2dec.m, strings/index.m, strings/rindex.m, + strings/split.m, strings/str2mat.m, strings/substr.m: + New functions from Kurt Hornik, heavily modified by jwe. + + * general/reshape.m: Allow strings to be reshaped too. + + * strings/strcmp.m: No longer need to set implicit_str_to_num_ok. + Always return a scalar. + +Wed May 22 19:52:11 1996 John W. Eaton + + * polynomial/polyfit.m: Make orientation of result compatible with + Matlab. + +Sat May 18 17:32:15 1996 John W. Eaton + + * polynomial/polyfit.m: Add missing close paren. + +Thu May 16 10:23:11 1996 John W. Eaton + + * plot/plot_opt.m: Set compatibility arg in call to sscanf. + + * io/scanf.m: Delete. + +Mon May 13 09:37:38 1996 John W. Eaton + + * statistics/median.m: Fix typo in usage message. + +Wed Apr 24 02:45:52 1996 John W. Eaton + + * miscellaneous/popen2.m: New file. + +Wed Apr 17 18:34:04 1996 John W. Eaton + + * configure.in (AC_OUTPUT): Add io/Makefile. + + * io: New directory. + * Makefile.in (SUBDIRS): Add it to the list. + + * miscellaneous/flops.m: New file. + +Fri Mar 22 04:40:48 1996 John W. Eaton + + * miscellaneous/cputime.m: Return three arguments instead of a + vector, for compatibility with previous versions and with Matlab + (which only returns one scalar value). + +Wed Mar 20 05:09:48 1996 Kurt Hornik + + * general/triu.m: Compute lower bound on loop index correctly. + * general/tril.m: Likewise, for upper bound. + +Tue Feb 6 09:29:43 1996 John W. Eaton + + * image/saveimage.m: For color images, make sure indices into + temporary colormap and result matrix have proper orientation. + Set grey flag correctly. + +Tue Jan 9 00:12:14 1996 John W. Eaton + + * statistics/std.m: Use better formula (from Jim Van Zandt + jrv@vanzandt.mv.com). + +Sun Jan 7 20:12:14 1996 John W. Eaton + + * meshgrid.m: New file (from Jim Van Zandt jrv@vanzandt.mv.com). + * mesh.m: Transpose Z if only one arg. + Handle case of all three args being matrices (from Jim Van Zandt + jrv@vanzandt.mv.com). + * meshdom.m: Undo previous change. + +Wed Dec 20 13:48:12 1995 John W. Eaton + + * configure.in (AC_OUTPUT): Add audio/Makefile + +Thu Nov 16 13:07:07 1995 John Eaton + + * audio: New directory of files from Kurt Hornik and Andreas + Weingessel. + * audio/Makefile.in: New file. + * Makefile.in (SUBDIRS): Add audio to the list. + +Mon Nov 6 07:29:35 1995 John Eaton + + * polynomial/polyfit.m: Use `economy-stle' QR factorization. + +Fri Nov 3 00:38:46 1995 John Eaton + + * plot/mesh.m: Require, length (y) == rows (z) and length (x) == + columns (z), not the other way around. + * plot/meshdom.m: Don't reverse order of elements in y. + +Thu Nov 2 23:56:53 1995 John Eaton + + * plot/axis.m: Return current axis if nargin == 0. + +Tue Oct 31 04:11:28 1995 John Eaton + + * polynomial/roots.m: Updates from Kurt Hornik. + + * polynomial/polyder.m: New file. + + * polynomial/polyderiv.m: Give return value and arg different names. + +Mon Oct 30 23:27:02 1995 John Eaton + + * specfun/betainc.m: New file. + * specfun/gammainc.m: New file. + +Wed Oct 18 23:45:52 1995 John Eaton + + * general/strerror.m: New file. + * general/perror.m: Implement using strerror(). + +Thu Oct 5 03:21:36 1995 John Eaton + + * plot/bottom_title.m plot/mplot.m plot/multiplot.m plot/oneplot.m + plot/plot_border.m plot/subplot.m plot/subwindow.m + plot/top_title.m plot/zlabel.m: New files, from Vinayak Dutt. + + * image/saveimage.m: Round img values first. + +Tue Oct 3 03:55:18 1995 John Eaton + + * control/abcddim.m control/are.m general/tril.m general/triu.m + image/saveimage.m linear-algebra/kron.m linear-algebra/norm.m + linear-algebra/null.m miscellaneous/etime.m plot/contour.m + plot/mesh.m plot/plot_int.m plot/polar_int.m + special-matrix/hankel.m special-matrix/toeplitz.m + tuwien/strfun/split.m: Add missing semicolons. + + * plot/polar_int.m: Use .', not ' to make vectors conform. + + * image/Makefile.in: Don't build or install octtoppm. + + * image/saveimage.m: Rewrite to avoid using octoppm and pbm + routines so that people who don't have the pbm stuff installed + can still use this function. + +Mon Oct 2 05:10:44 1995 John Eaton + + * image/saveimage.m: Better error checking, clean up a bit. + +Tue Sep 26 00:04:56 1995 John Eaton + + * plot/plot_opt.m: Change more to more_opts as a temporary fix to + avoid conflict with new built-in text-style function more. + + * linear-algebra/norm.m: Also allow 2nd arg == "inf". + + * startup/Makefile.in (install): Also install octaverc in + $localfcnfiledir/startup/octavrc. + +Wed Sep 20 00:01:30 1995 John Eaton + + * mkinstalldirs: New file. + * Makefile.in (DISTFILES): Add it to the list. + + * Makefile.in (DISTFILES): Distribute configure.in and configure. + +Thu Sep 14 03:56:19 1995 John Eaton + + * special-matrix/hankel.m: Compatibility fix. Complain if + r(1) != c(nr), not if r(1) != c(1). + + * signal/filter.m: Doc fix. + +Wed Sep 13 03:19:05 1995 John Eaton + + * miscellaneous/cputime.m: Use new resource structure names (no + ru_ or tv_ prefixes). + +Tue Sep 12 02:20:44 1995 John Eaton + + * time/ctime.m: Fix doc string and usage message. + +Mon Sep 11 18:43:46 1995 John Eaton + + * time/clock.m: Use new time structure names (no tm_ prefix). + +Thu Aug 24 20:53:08 1995 John Eaton + + * control/c2d.m: Make function work for any value of + whitespace_in_literal_matrix. + * control/dare.m: Likewise. + * control/tzero.m: Likewise. + * elfun/gcd.m: Likewise. + * elfun/lcm.m: Likewise. + * general/postpad.m: Likewise. + * general/prepad.m: Likewise. + * linear-algebra/kron.m: Likewise. + * miscellaneous/etime.m: Likewise. + * polynomial/conv.m: Likewise. + * polynomial/deconv.m: Likewise. + * polynomial/poly.m: Likewise. + * polynomial/roots.m: Likewise. + * signal/filter.m: Likewise. + * signal/freqz.m: Likewise. + * signal/fftfilt.m: Likewise. + +Tue Jun 6 22:34:04 1995 John Eaton + + * miscellaneous/is_leap_year.m: Make work for vector args. + +Tue May 2 16:18:33 1995 John Eaton + + * plot/polar_int_2.m: Add missing semicolons. + Set theta = theta', not rho'. + +Sun Apr 30 11:19:11 1995 John Eaton + + * polynomial/roots.m: Make it work for any value of + whitespace_in_literal_matrix. + +Mon Apr 10 09:37:17 1995 John Eaton + + * configure.in: New file. + +Thu Mar 30 13:29:35 1995 John Eaton + + * control/lyap.m: Add missing semicolon. + + * miscellaneous/cputime.m: New function file. + +Wed Mar 29 22:50:49 1995 John Eaton + + * time: New directory. + * time/asctime.m, time/clock.m, time/ctime.m, time/date.m: + New function files. + * time/Makefile.in: New file. + * Makefile.in (SUBDIRS): Add time. + +Thu Mar 23 15:42:26 1995 John Eaton + + * polynomial/polyreduce.m: Make sure initial index is not empty. + +Tue Mar 14 23:38:24 1995 John Eaton + + * plot/plot_int_1.m: Transpose data with .', not '. + +Fri Mar 10 10:40:13 1995 John Eaton + + * Makefile.in (install uninstall clean mostlyclean distclean + realclean): Use SUBDIR_FOR_COMMAND. Combine actions. + +Sun Feb 26 22:18:22 1995 John Eaton + + * Makefile.in (install): Create ls-R database file. + (uninstall): Delete it. + +Fri Feb 24 10:36:01 1995 John Eaton + + * image/saveimage.m: Fix typo. + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/src-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/src-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,38717 @@ +2011-04-13 Rik + + * help.cc: Add spaces after commas in @seealso blocks. + +2011-04-12 Rik + + * load-path.cc (restoredefaultpath): Correct use of it's -> its in + documentation. + +2011-04-10 John Eaton + + * graphics.cc (Fishandle) Accept vector of handles (bug #33025). + +2011-04-08 Rik + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/eig.cc, + DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/schur.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, data.cc: Improve + docstrings. + +2011-04-06 Rik + + * DLD-FUNCTIONS/dmperm.cc, data.cc: Clean up operator and function + indices. + +2011-04-04 Rik + + * DLD-FUNCTIONS/nproc.cc: Spellcheck documentation for 3.4.1 release. + +2011-04-04 Rik + + * DLD-FUNCTIONS/colamd.cc, data.cc, file-io.cc: Grammarcheck files + for 3.4.1 release. + +2011-04-03 Rik + + * input.cc (add_input_event_hook, remove_input_event_hook): Improve + docstring. + * utils.cc (isvarname): Add seealso link to iskeyword(). + * variables.cc (missing_function_hook): Improve docstring. + +2011-04-03 Rik + + * DLD-FUNCTIONS/dot.cc (blkmm): Improve docstring. + +2011-04-03 Rik + + * data.cc (diag): Add documentation for 3-input form of diag. Add new + tests. + +2011-04-03 Rik + + * data.cc (diag): Reverse previous changeset. Return 3-input form + of diag(). + +2011-04-01 Rik + + * data.cc (diag): Remove archaic 3-input argument form of function. + Add all calling forms of function to docstring. + +2011-04-01 Rik + + * DLD-FUNCTIONS/filter.cc: Fix orientation of initial conditions vector + (bug #32741). Revamp test vectors. + +2011-04-01 Rik + + * DLD-FUNCTIONS/__fltk_uigetfile__.cc, DLD-FUNCTIONS/__init_fltk__.cc: + Correct typo in #include path (bug #32972). + +2011-03-31 Rik + + * DLD-FUNCTIONS/onCleanup.cc: Remove non-existent @seealso link in + docstring. + +2011-03-31 Rik + + * DLD-FUNCTIONS/quadcc.cc: Add reference to original paper in docstring. + +2011-03-30 Jordi Gutiérrez Hermoso + + * file-io.cc: Document the "all" parameter to fclose. + +2011-03-29 Ben Abbott + + * graphics.cc: Prevent ticks from being cropped by round-off errors + when limmode == auto (bug #32701). + +2011-03-28 Rik + + * DLD-FUNCTIONS/inv.cc (inv, inverse), DLD-FUNCTIONS/tril.cc (tril), + data.cc (cumsum, szie), file-io.cc (fgets), ov-typeinfo.cc (typeinfo), + ov-usr-fcn.cc (nargout), utils.cc (make_absolute_filename), + variables.cc (who): Improve docstrings + +2011-03-25 John W. Eaton + + * file-io.cc (Fmkstemp): Use gnulib::mkstemp. + * DLD-FUNCTIONS/__init_fltk__.cc (f): Use gnulib::floor. + +2011-03-18 Rik + + * dot.cc: Improve seealso cross references in docstring. + +2011-03-18 Rik + + * help.cc (get_help_text, get_help_text_from_file): Improve docstrings. + +2011-03-17 John W. Eaton + + * ov-float.cc (octave_float_scalar::do_index_op): Widen to float + matrix, not double. + +2011-03-17 Rik + + * syscalls.cc (gethostname): Redo documentation string. + +2011-03-17 Iain Murray + + * DLD-FUNCTIONS/nprocs.cc: Delete file. + * DLD-FUNCTIONS/nproc.cc: New file. New function nproc provided by + gnulib. + * DLD-FUNCTIONS/module-files: Add nproc.cc. + +2011-03-16 Iain Murray + + * DLD-FUNCTIONS/nprocs.cc: New file. + * DLD-FUNCTIONS/module-files: Add nprocs.cc. + Expose nprocs and nprocs_conf from gnulib. + +2011-03-15 Marco Caliari + + * graphics.cc: Simplify calculation of number of tick labels. Fixes + bug #32692. + +2011-03-13 Konstantinos Poulios + + * DLD-FUNCTIONS/__init_fltk__.cc (plot_window::plot_window): + Revert changes from 2011-02-26. + +2011-03-10 Konstantinos Poulios + + * graphics.h.in: Add PERSISTENT mode to listener_mode. + (base_property::delete_listener): Take into account persistent + mode of a listener. + * graphics.cc (addlistener, dellistener): Accept a new optional + argument for persistent listeners. + +2011-03-07 Konstantinos Poulios + + Bug #32482. + + * graphics.h.in (axes::properties::update_yaxislocation, + axes::properties::update_yaxislocation): + Hook update_ylabel_position and update_xlabel_position + respectively. + +2011-03-06 Konstantinos Poulios + + * graphics.cc (axes::properties::update_xlabel_position, + axes::properties::update_ylabel_position, + axes::properties::update_zlabel_position, + axes::properties::update_title_position): + Determine position also for empty axes labels/titles in order + to improve the tightinset calculation. + (axes::properties::get_extent): Take position of empty strings + into account for the calculation of axes extents. + +2011-03-03 Konstantinos Poulios + + * graphics.h.in (axes::properties::get_extent): Add new optional + argument for ignoring the length of text objects. + * graphics.cc (axes::properties::get_extent): Add the possibility + of ignoring the length of text objects. + (axes::properties::calc_tightbox): Take only text height into + account for the calculation of the tight box. + +2011-02-26 Konstantinos Poulios + + * DLD-FUNCTIONS/__init_fltk__.cc (plot_window::plot_window): + Move canvas allocation after the configuration of the menubar. + (plot_window::show_menubar, plot_window::hide_menubar): + Simplify source code. + +2011-02-26 Rik + + * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/matrix_type.cc, + DLD-FUNCTIONS/strfind.cc, DLD-FUNCTIONS/sub2ind.cc, bitfcns.cc, + data.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, + load-path.cc, load-save.cc, oct-parse.yy, ov-base.cc, ov-cell.cc, + ov-class.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc, + ov-struct.cc, ov-usr-fcn.cc, pr-output.cc, pt-mat.cc, sparse.cc, + strfns.cc, syscalls.cc, sysdep.cc, toplev.cc, utils.cc, variables.cc: + Rewrite error strings to use variables named in documentation. + +2011-02-23 John W. Eaton + + * mex.cc (mxArray_base::dup): Return retval. + +2011-02-22 Konstantinos Poulios + + * graphics.h.in (class axes::properties): New hidden property + looseinset. + (axes::properties::update_looseinset): New function. + * graphics.cc (axes::properties::init): Initialize looseinset. + (axes::properties::sync_positions): Take looseinset into account + instead of default_axes_position. + (axes::properties::set_defaults): Default values for looseinset. + +2011-02-21 Kai Habel + + * src/DLD-FUNCTIONS/__fltk_uigetfile__cc: + Use forward slash as file seperator for fltk file path processing only. + +2011-02-21 Kai Habel + + * src/DLD-FUNCTIONS/__init_fltk__.cc(plot_window::plot_window): + Call size_range early to allow window resizing for MacOS and MinGW. + +2011-02-21 John W. Eaton + + * DLD-FUNCTIONS/regexp.cc: Assume we have PCRE. + +2011-02-19 Rik + + * src/DLD-FUNCTIONS/regexp.cc: Use PCRE regular expressions everywhere + now that Octave requires library for building. Remove testif PCRE + on testing blocks and adjust all documentation. + +2011-02-18 Konstantinos Poulios + + * graphics.cc (axes::properties::sync_positions): Fix a small + bug introduced with changes from 2011-02-14. + +2011-02-15 Konstantinos Poulios + + Bug #32319. + + * DLD-FUNCTIONS/__init_fltk__.cc: Include sysdep.h. + (class OpenGL_fltk): Replace integer print_fid member with + boolean print_mode. New class member print_cmd of type string. + (OpenGL_fltk::print): Accept command string argument instead of + file id. + (OpenGL_fltk::draw): Invoke and terminate an octave process for + the printing job. + (plot_window::print, figure_manager::print, + figure_manager::do_print): Replace file id with command string. + (fltk_graphics_toolkit::print_figure): Remove parsing of file id. + * graphics.cc (drawnow): Recognize strings beginning with "|" as + pipelines instead of filenames. + +2011-02-14 David Bateman + + * gl-render.cc (void opengl_renderer::draw_patch ( + const patch::properties &)): Obtain the marker color directly + from the cdata rather that the facecolor, as the facecolor might + not have been set. Bug #31801. + +2011-02-14 Konstantinos Poulios + + * graphics.cc (axes::properties::sync_positions): Calculation of + tightinset property. + +2011-02-13 Konstantinos Poulios + + Bugs #31800, #32211. + + * gl-render.cc (opengl_renderer::draw_axes_boxes): Draw only one + y-axis line when plotyy tag is present. + (opengl_renderer::draw_text): Remove superfluous calls of set_font + and set_color. + * graphics.h.in (class text::properties): Tag color with "u" + qualifier. + (text::properties::update_color): New function. + +2011-02-13 Konstantinos Poulios + + * graphics.h.in (axes::properties::update_boundingbox, + axes::properties::update_dataaspectratio, + axes::properties::update_dataaspectratiomode, + axes::properties::update_plotboxaspectratio, + axes::properties::update_plotboxaspectratiomode): + Replace update_transform hooks with sync_positions. + +2011-02-13 Konstantinos Poulios + + * graphics.h.in (axes::properties::get_extent, + axes::properties::calc_tightbox): New functions prototypes. + (axes::properties::update_view): Hook sync_positions. + (axes::properties::update_outerposition, + axes::properties::update_position): Set activepositionproperty + appropriately. + (text::properties::update_string): Call update_text_extent after + request_autopos. + * graphics.cc (axes::properties::sync_positions): Enable + synchronization of position and outer position. Take label and + title extents in the calculation of outerposition into account. + Do iterative calculation of position when activepositionproperty + is set to outerposition. + (axes::properties::update_title_position): Use new function + get_extent. + (axes::properties::update_autopos): Handle new tag "sync". + (axes::properties::get_extent): New function calculating the + tight box which contains all axes labels and axes title. + (axes::properties::calc_tightbox): New function calculating axes + tight box. + (axes::properties::update_units): Don't call any hooks and listeners + for position, outerposition and tightset. + (text::properties::update_text_extent): Request axes positions + synchronization when axes labels or title extents change. + +2011-02-11 John W. Eaton + + * load-path.cc (strip_trailing_separators): Declare K as size_t + rather than octave_idx_type. + +2011-02-10 Carlo de Falco + + * DLD-FUNCTIONS/mgorth.cc: New file implementing modified + Gram-Schmidt orthogonalization. + +2011-02-10 John W. Eaton + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Avoid deprecated + Array::resize function. + +2011-02-09 Konstantinos Poulios + + * graphics.cc (axes::properties::update_xlabel_position, + axes::properties::update_ylabel_position, + axes::properties::update_zlabel_position, + axes::properties::update_title_position): Use get_transform only + when it is required. + (text::properties::request_autopos): Remove redundant temporary + settting of autopos_tag to none. + +2011-02-08 John W. Eaton + + * pr-output.cc (INSTANTIATE_ABS): Omit inline keyword from + template instantiation. From Orion Poplawski . + +2011-02-08 John W. Eaton + + * oct-parse.yy (parse_fcn_file): Don't warn about coercing + nested functions to subfunctions if yyparse failed. + +2011-02-06 Konstantinos Poulios + + * graphics.h.in (class axes::properties): Tag positionmode, + rotationmode, horizontalalignmentmode, verticalalignmentmode + with "u" qualifier. New hidden property autopos_tag. + (axes::properties::request_autopos, + axes::properties::update_positionmode, + axes::properties::update_rotationmode, + axes::properties::update_horizontalalignmentmode, + axes::properties::update_verticalalignmentmode): New functions + (base_properties::update_autopos): New virtual function. + (axes::properties::update_xlabel_position, + axes::properties::update_ylabel_position, + axes::properties::update_zlabel_position, + axes::properties::update_title_position): Made public. + * graphics.cc (base_properties::update_autopos, + axes::properties::update_autopos, + text::properties::request_autopos): New functions. + (axes::properties::init, axes::properties::set_defaults, + axes::properties::set_xlabel, axes::properties::set_ylabel, + axes::properties::set_zlabel, axes::properties::set_title): + Set autopos_tag for {x,y,z}label and title. + (axes::properties::update_xlabel_position, + axes::properties::update_ylabel_position, + axes::properties::update_zlabel_position, + axes::properties::update_title_position): Run only for non-empty + strings. Set autopos_tag temporarily to none in order to prevent + race conditions. + +2011-02-06 Konstantinos Poulios + + * graphics.cc: Untabify and improve indentation. + +2011-02-06 Konstantinos Poulios + + * graphics.cc (updating_axes_layout): New file-scope variable. + (axes::properties::update_axes_layout): Return immediately if + updating_axes_layout is true. + +2011-02-03 John W. Eaton + + * octave.cc: Include and for isatty. + Bug #32336. + +2011-02-03 Konstantinos Poulios + + * gl-render.h: (opengl_renderer::draw_axes_titles): Remove prototype. + * gl-render.cc: (opengl_renderer::draw_axes_titles): Remove function. + (opengl_renderer::draw_axes_x_grid, + opengl_renderer::draw_axes_y_grid, + opengl_renderer::draw_axes_z_grid): Remove calculation of axis label + positions. + * graphics.cc: (axes::properties::update_xlabel_position, + axes::properties::update_ylabel_position + axes::properties::update_zlabel_position + axes::properties::update_title_position): New functions calculating + label and title positions. + (axes::properties::get_ticklabel_extents): New function. + * graphics.h.in: Provide functions prototypes. + * txt-eng-ft.cc (ft_render::get_extent): New function version. + * txt-eng-ft.h (ft_render::get_extent): Provide function prototype. + +2011-02-03 Kai Habel + + * src/gl-render.cc(text_to_pixels): Use text_renderer object only + when freetype is available + +2011-02-03 John W. Eaton + + * ov-base.cc (octave_base_value::as_mxArray): Return 0 silently. + * mex.cc (mxArray_octave_value::dup): If value can't be + converted to mxArray object, then simply create a clone of the + mxArray_octave_value container. + +2011-02-02 Rik + + * DLD-FUNCTIONS/eigs.cc, DLD-FUNCTIONS/qr.cc: Use testif to only run + some sparse tests when necessary libraries are installed. + +2011-02-03 Konstantinos Poulios + + * graphics.cc (axes::properties::update_axes_layout): + New function calculating axes layout. + (axes::properties::update_ticklengths): New function calculating + tick lengths and offsets. + * graphics.h.in (class axes::properties):: New private data + describing axes layout and corresponding "get" methods. Provide + declaration and call dependencies for "update_axes_layout". + Tag layer, yaxislocation, xaxislocation, tickdir, tickdirmode, + with "u" qualifier. + (axes::properties::update_layer, + axes::properties::update_yaxislocation, + axes::properties::update_xaxislocation, + axes::properties::update_ticklengths, + axes::properties::update_tickdir, + axes::properties::update_tickdirmode): New functions + * gl-render.cc: (opengl_renderer::draw_axes_planes, + opengl_renderer::draw_axes_boxes, + opengl_renderer::draw_axes_x_grid, + opengl_renderer::draw_axes_y_grid, + opengl_renderer::draw_axes_z_grid, + opengl_renderer::draw_axes_title): Simplify arguments list. + (opengl_renderer::draw_axes): Remove calculation of axes layout. + (opengl_renderer::setup_opengl_transformation): Disable antializing. + * gl-render.h: Adapt functions prototypes. + +2011-02-01 John W. Eaton + + * gl-render.h (opengl_renderer::draw (const Matrix& hlist)): + Use get_object instead of lookup. + * DLD-FUNCTIONS/__init_fltk__.cc (Fl_Gl_Window::draw): Likewise. + * graphics.h.in (gh_manager::get_object (double)): New function. + * gl-renderer.h (opengl_renderer::draw (const graphics_handle&)): + Delete. + * gl2ps-renderer.h (glps_renderer::draw (const graphics_handle&)): + Delete. + +2011-02-01 John W. Eaton + + * gl2ps-renderer.h: Remove virtual tag for derived virtual functions. + (opengl_renderer (const graphics_handle&)): New function. + * DLD-FUNCTIONS/__init_fltk__.cc (OpenGL_fltk::Fl_Gl_Window): + Don't use new to create temporary glps_renderer object. + +2011-02-01 Michael Godfrey + + * gl2ps-renderer.cc (glps_renderer::draw): + Return immediately if fdopen fails. + +2011-02-01 John W. Eaton + + * gl-render.cc: (opengl_renderer::setup_opengl_transformation, + opengl_renderer::draw_axes_planes, + opengl_renderer::draw_axes_boxes, + opengl_renderer::draw_axes_x_grid, + opengl_renderer::draw_axes_y_grid, + opengl_renderer::draw_axes_z_grid, + opengl_renderer::draw_axes_title, + opengl_renderer::draw_axes_children): + New private functions, extracted from opengl_renderer::draw_axes. + (opengl_renderer::draw_axes): Call subfunctions to do most of + the work. + * gl-render.h: Provide decls. + +2011-01-31 John W. Eaton + + * sysdep.cc (get_P_tmpdir): New function. + * file-io.cc (FP_tmpdir): Use it. + Bug #32158. + +2011-01-30 Rik + + * DLD-FUNCTIONS/__init_fltk__.cc (mouse_wheel_zoom, gui_mode): Rename + functions and strip "fltk_" prefix. Improve docstrings. + +2011-01-30 John W. Eaton + + * txt-eng-ft.cc (ft_manager::ft_manager): Omit fc_init_done from + initialization list if fontconfig is missing. + +2011-01-30 Pascal Dupuis + + * oct-parse.yy (class stdio_stream_reader): Disallow copying. + +2011-01-30 John W. Eaton + + * graphics.cc (gnuplot_toolkit::redraw): Call __gnuplot_drawnow__, + not gnuplot_drawnow. + (gnuplot_toolkit::print_figure): Likewise. + +2011-01-30 John W. Eaton + + * Makefile.am (OCTAVE_LIBS): Remove $(ARPACK_LDFLAGS) and + $(ARPACK_LIBS) from the list. + (DLD-FUNCTIONS/eigs.df): Don't add $(ARPACK_CPPFLAGS) to CPPFLAGS. + (DLD_FUNCTIONS_eigs_la_CPPFLAGS): Remove $(ARPACK_CPPFLAGS) from + the list. + (DLD_FUNCTIONS_eigs_la_LIBADD): Remove $(ARPACK_LDFLAGS) and + $(ARPACK_LIBS) from the list. + +2011-01-30 John W. Eaton + + * load-save.cc (Fload): Doc fix. + +2011-01-29 Rik + + * DLD-FUNCTIONS/__init_fltk__.cc (fltk_gui_mode, fltk_mouse_wheel_zoom): + Improve docstrings. + + * graphics.cc (available_graphics_toolkits): Fix typo in docstring. + +2011-01-29 Rik + + * syscalls.cc (S_ISSOCK, S_ISCHR): Improve docstrings + +2011-01-29 Rik + + * dirfns.cc (readdir, filesep, pathsep): Improve docstrings + * file-io.cc (tmpnam): Improve docstring + * input.cc (filemarker): Improve docstring + * syscalls.cc (stat, lstat): Improve docstring + +2011-01-29 Rik + + * DLD-FUNCTIONS/getrusage.cc, toplev.cc: Improve docstring + +2011-01-29 John W. Eaton + + * DLD-FUNCTIONS/__fltk_uigetfile__.cc (__fltk_uigetfile__): + Don't allocate Fl_File_Chooser object with new. Delete unused + variable fargs. Allocate default retval values in initial + declaration. + +2011-01-29 John W. Eaton + + * DLD-FUNCTIONS/__init_fltk__.cc: Undefine Complex after + including FLTK headers. + * DLD-FUNCTIONS/__fltk_uigetfile__.cc: Likewise. + +2011-01-29 John W. Eaton + + * Makefile.am (__fltk_uigetfile__): Use the same compiler flags + as for __init_fltk__. + +2011-01-28 John W. Eaton + + * DLD-FUNCTIONS/eigs.cc (Feigs): Assume we have ARPACK. + Use "test" instead of "testif HAVE_ARPACK". + * toplev.cc (octave_config_info): Remove ARPACK_CPPFLAGS, + ARPACK_LDFLAGS, ARPACK_LIBS from the struct. + * oct-conf.h.in (OCTAVE_CONF_ARPACK_CPPFLAGS, + OCTAVE_CONF_ARPACK_LDFLAGS, OCTAVE_CONF_ARPACK_LIBS): + Delete #defines. + +2011-01-28 Kai Habel + + * DLD-FUNCTIONS/__fltk_uigetfile__.cc: File filter value is + 1-based now. + +2011-01-28 John W. Eaton + + * pr-output.cc (Foutput_max_field_width): Set internal variable + output_max_field_width, not output_precision. + +2011-01-28 John W. Eaton + + * pr-output.cc (Fformat, Ffixed_point_format, Foutput_precision, + Foutput_max_field_width, Fsplit_long_rows, Fprint_empty_dimensions): + Update @seealso lists. + +2011-01-27 Rik + + * graphics.cc: Improve reset docstring. + +2011-01-27 Kai Habel + + * DLD-FUNCTIONS/__init_fltk__.cc (__fltk_uigetfile__): Remove here. + * DLD-FUNCTIONS/__fltk_uigetfile__.cc: New file. + * DLD-FUNCTIONS/module-files: Add __fltk_uigetfile__.cc. + Bug #32190. + +2011-01-27 John W. Eaton + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Skip leading whitespace + on each line. + +2011-01-27 John W. Eaton + + * ov-struct.cc (octave_struct::subsasgn, + octave_scalar_struct::subsasgn): Call undef_subsasgn on object + returned by octave_value::empty_conv if LHS is initially undefined. + Bug #32242. + +2011-01-27 John W. Eaton + + * input.cc (input_event_hook): Fix incorrect use of iterator. + Reported by Pascal Dupuis . + +2011-01-27 John W. Eaton + + * ov-class.cc (octave_class::reconstruct_exemplar): + Call constructor with do_multi_index_op instead of feval. + Verify that symbol_table::find_method did return a class + constructor for the correct type. Bug #32242. + +2011-01-26 John W. Eaton + + * lex.ll, graphics.cc, gl-render.cc, ov-mex-fcn.h, graphics.h.in: + Delete trailing whitespace. + +2011-01-26 John W. Eaton + + Bug #32242. + + * ov.h, ov.cc (octave_value::undef_subsasgn): New function. + * ov-class.h, ov-class.cc (octave_class::undef_subsasgn, + octave_class::subsasgn_common): New functions. + * ov-base.h, ov-base.cc (octave_base_value::subsasgn): If + undefined, call undef_subsasgn on object returned by + octave_value::empty_conv. + (octave_base_value::undef_subsasgn): New virtual function. + (octave_base_value::subsasgn): Only handle case of undefined + values here. + +2011-01-26 Pascal Dupuis + John W. Eaton + + * graphics.h.in (scaler::scaler (const std::string&)): New constructor. + (graphics_handle::operator++, graphics_hanlde::operator--): + Implement as recommended by Effective C++. + + * graphics.h.in (class base_property, class array_property, + class children_property, class property, class graphics_xform, + class graphics_event): Explicitelly iniatialize + all data members in constructor initialisation list. + * gl-render.cc (class patch_tesselator): Likewise + * graphics.cc (class radio_values, class gh_manager), + (class callback_event, class set_event): Likewise. + + * graphics.h.in (class base_graphics_property): Disallow copying. + * graphics.cc (class function_event): Likewise. + (function_event::function_event (void)): Delete implementation. + +2011-01-25 Rik + + * DLD-FUNCTIONS/config-module.awk: Use automake variable for + portability. + * Makefile.am (uninstall-oct): Use GNU Make features for portability + +2011-01-25 Rik + + * DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, + load-save.cc: Make docstrings static by removing documentation + depending on #ifdef configuration variables. + +2011-01-25 John W. Eaton + + * Makefile.am (OCT_STAMP_FILES): New variable. + (DISTCLEANFILES): Add $(OCT_STAMP_FILES) to the list. + (all-local): Depend on $(OCT_STAMP_FILES) instead of $(OCT_FILES). + + * DLD-FUNCTIONS/config-module.awk: Create stamp files when + creating .oct file links. + +2011-01-25 Konstantinos Poulios + + * src/graphics.cc (text::properties::update_text_extent): + Disable warning about missing freetype library. + +2011-01-25 Konstantinos Poulios + + * src/graphics.cc (axes::properties::calc_ticks_and_lims): + Fixing wrong dimensions of minor ticks vector. + +2011-01-25 John W. Eaton + + * oct-map.h (octave_map::octave_map (const string_vector&)): + Initialize xvals elements to 1x1 Cells. Bug #32222. + +2011-01-24 Pascal Dupuis + + * ov-base-mat.h (class octave_base_matrix): Disallow assignment. + * ov-range.h (class octave_range): Likewise. + +2011-01-23 John W. Eaton + + * ov-struct.cc (octave_scalar_struct::print_raw): + Avoid unnecessary conversion of map value to Cell. + +2011-01-22 John W. Eaton + + * symtab.h (symbol_table::parent_classes): + Also add parents of parents to the list. Bug #32210. + +2011-01-22 Jaroslav Hajek + + * ov-class.cc (octave_class::subsasgn): Find appropriate unique base + before trying any indexed assignment. Bug #32182. + +2011-01-22 Konstantinos Poulios + + * graphics.h.in, graphics.cc (xmtick, ymtick, zmtick): + New properties holding minor ticks positions. + (axes::properties::calc_ticks_and_lims): Calculation of minor ticks + positions. + * gl-render.h, gl-render.cc + (opengl_renderer::render_grid, opengl_renderer::render_tickmarks, + opengl_renderer::render_ticktexts): New functions. + (opengl_renderer::draw_axes): Make use of new rendering functions + and minor ticks positions. + Correct axis label positioning for x axis at top and y axis at right + position. Bug #31800. + Change axis positioning policy for 3D plots, keeping x and y axis + always at bottom. + +2011-01-22 Jaroslav Hajek + + * gl-render.cc: Use octave_refcount for refcounting. + * oct-map.h: Ditto. + * ov-base.h: Ditto. + * pt-mat.cc: Ditto. + +2011-01-22 Pascal Dupuis + + * ov-mex-fcn.h, txt-eng-ft.cc, mex.cc: + Initialize all data members in initialization list. + +2011-01-22 Pascal Dupuis + + * DLD-FUNCTIONS/__init_fltk__.cc (fltk_uimenu): Disallow copying. + (class plot_window): Likewise. + * c-file-ptr-stream.h (class c_file_ptr_buf): Likewise. + (class c_file_ptr_stream): Likewise. + (class c_zfile_ptr_buf): Likewise. + * gl-render.cc (class opengl_tesselator): Likewise. + (class patch_tesselator): Likewise. + * lex.ll (class flex_stream_reader): Likewise. + * mex.cc (class mex): Likewise. + * oct-procbuf.h (class octave_procbuf): Likewise. + * pt-cbinop.h (class tree_compound_binary_expression): Likewise. + * symtab.h (class scope_id_cache): Likewise. + (class symbol_table): Likewise. + * txt-eng-ft.h (class ft_manager): Likewise. + (class ft_render): Likewise. + * unwind-prot.h (class unwind_protect::elem): Likewise. + (class unwind_protect::fcn_arg_elem): Likewise. + (class unwind_protect::method_elem): Likewise. + (class unwind_protect::restore_var_elem): Likewise. + (class unwind_protect::delete_ptr_elem): Likewise. + (class unwind_protect): Likewise. + * zfstream.h (class gzfilebuf): Likewise. + + * mex.cc (class mxArray_octave_value): Disallow assignment. + (class mxArray_matlab): Likewise. + (class mxArray_number): Likewise. + (class mxArray_sparse): Likewise. + (class mxArray_struct): Likewise. + (class mxArray_cell): Likewise. + + * unwind-prot.h (unwind_protect::elem::elem): + Provide default constructor. + +2011-01-21 Konstantinos Poulios + + * src/graphics.cc (axes::properties::set_xlabel, + axes::properties::set_ylabel, axes::properties::set_zlabel): + Setting axis label color from axis color. + +2011-01-20 Rik + + * src/file-io.cc, src/variables.cc: Prevent doubled quotes around @table + items in Info. + +2011-01-20 Rik + + * src/DLD-FUNCTIONS/chol.cc, src/DLD-FUNCTIONS/luinc.cc, + src/DLD-FUNCTIONS/qz.cc: Use non-breaking spaces between certain + adjectives and their linked nouns in docstrings + +2011-01-20 Rik + + * src/DLD-FUNCTIONS/str2double.cc, src/data.cc, src/mappers.cc, + src/variables.cc: Use @nospell macro on certain words in docstring. + +2011-01-20 John W. Eaton + + * DLD-FUNCTIONS/__delaunayn__.cc, + DLD-FUNCTIONS/__init_fltk__.cc, + DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/quadcc.cc, DLD-FUNCTIONS/regexp.cc, data.cc, + gripes.cc, ls-mat5.cc, toplev.cc, variables.cc: + Style fixes for error and warning messages. + +2011-01-20 John W. Eaton + + * Array.cc, Sparse.cc, base-lu.cc, idx-vector.cc, + lo-array-gripes.cc: Style fixes for error and warning messages. + +2011-01-20 John W. Eaton + + * DLD-FUNCTIONS/__contourc__.cc, DLD-FUNCTIONS/__delaunayn__.cc, + DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/__glpk__.cc, + DLD-FUNCTIONS/__init_fltk__.cc, + DLD-FUNCTIONS/__lin_interpn__.cc, + DLD-FUNCTIONS/__magick_read__.cc, + DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/__qp__.cc, + DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, + DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/ccolamd.cc, + DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/chol.cc, + DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/colloc.cc, + DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, + DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/dlmread.cc, + DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, + DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, + DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/givens.cc, + DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, + DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lookup.cc, + DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, + DLD-FUNCTIONS/max.cc, DLD-FUNCTIONS/md5sum.cc, + DLD-FUNCTIONS/onCleanup.cc, DLD-FUNCTIONS/qr.cc, + DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/quadcc.cc, + DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, + DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, + DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/sqrtm.cc, + DLD-FUNCTIONS/str2double.cc, DLD-FUNCTIONS/strfind.cc, + DLD-FUNCTIONS/sub2ind.cc, DLD-FUNCTIONS/svd.cc, + DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, + DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/tril.cc, + DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/typecast.cc, + DLD-FUNCTIONS/urlwrite.cc, OPERATORS/op-b-sbm.cc, + OPERATORS/op-bm-sbm.cc, OPERATORS/op-cdm-cdm.cc, + OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-scm.cc, + OPERATORS/op-cm-sm.cc, OPERATORS/op-cs-cs.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-dm-dm.cc, OPERATORS/op-dms-template.cc, + OPERATORS/op-fcdm-fcdm.cc, OPERATORS/op-fcm-fcm.cc, + OPERATORS/op-fcm-fcs.cc, OPERATORS/op-fcm-fm.cc, + OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fcm.cc, + OPERATORS/op-fcs-fcs.cc, OPERATORS/op-fcs-fm.cc, + OPERATORS/op-fcs-fs.cc, OPERATORS/op-fdm-fdm.cc, + OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, + OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, + OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, + OPERATORS/op-fs-fm.cc, OPERATORS/op-int-concat.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-pm-pm.cc, OPERATORS/op-pm-scm.cc, + OPERATORS/op-pm-sm.cc, OPERATORS/op-pm-template.cc, + OPERATORS/op-range.cc, OPERATORS/op-s-scm.cc, + OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc, + OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, + OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc, + OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc, + OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc, + OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc, + OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc, + OPERATORS/op-sm-sm.cc, OPERATORS/op-str-str.cc, + OPERATORS/op-ui64-ui64.cc, bitfcns.cc, c-file-ptr-stream.cc, + c-file-ptr-stream.h, comment-list.h, data.cc, debug.cc, debug.h, + defun-int.h, defun.cc, dynamic-ld.cc, error.cc, file-io.cc, + gl-render.cc, gl-render.h, gl2ps-renderer.cc, gl2ps-renderer.h, + gl2ps.c, gl2ps.h, graphics.cc, graphics.h.in, help.cc, input.cc, + lex.h, lex.ll, load-path.cc, load-path.h, load-save.cc, + load-save.h, ls-ascii-helper.cc, ls-hdf5.cc, ls-hdf5.h, + ls-mat-ascii.cc, ls-mat4.cc, ls-mat4.h, ls-mat5.cc, + ls-oct-ascii.cc, ls-oct-ascii.h, ls-oct-binary.cc, mappers.cc, + mex.cc, mex.h, mexproto.h, mxarray.h.in, oct-hist.cc, + oct-lvalue.cc, oct-lvalue.h, oct-map.cc, oct-map.h, oct-obj.cc, + oct-obj.h, oct-parse.yy, oct-procbuf.cc, oct-stream.cc, + oct-stream.h, octave.cc, ov-base-diag.cc, ov-base-diag.h, + ov-base-int.cc, ov-base-int.h, ov-base-mat.cc, ov-base-mat.h, + ov-base-scalar.cc, ov-base-scalar.h, ov-base-sparse.cc, + ov-base-sparse.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, + ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, ov-bool.cc, + ov-bool.h, ov-builtin.h, ov-cell.cc, ov-cell.h, ov-ch-mat.cc, + ov-class.cc, ov-class.h, ov-complex.cc, ov-complex.h, + ov-cx-diag.cc, ov-cx-diag.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-cx-sparse.cc, ov-cx-sparse.h, ov-dld-fcn.h, ov-fcn-handle.cc, + ov-fcn-handle.h, ov-fcn-inline.cc, ov-fcn-inline.h, ov-fcn.h, + ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, + ov-flt-cx-diag.cc, ov-flt-cx-diag.h, ov-flt-cx-mat.cc, + ov-flt-cx-mat.h, ov-flt-re-diag.cc, ov-flt-re-diag.h, + ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-lazy-idx.cc, + ov-lazy-idx.h, ov-null-mat.cc, ov-null-mat.h, ov-perm.cc, + ov-perm.h, ov-range.cc, ov-range.h, ov-re-diag.cc, ov-re-diag.h, + ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, + ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, + ov-struct.cc, ov-struct.h, ov-type-conv.h, ov-typeinfo.cc, + ov-usr-fcn.cc, ov-usr-fcn.h, ov.cc, ov.h, pager.cc, + pr-output.cc, procstream.h, pt-arg-list.cc, pt-assign.h, + pt-binop.cc, pt-bp.cc, pt-bp.h, pt-cbinop.cc, pt-cell.cc, + pt-colon.cc, pt-const.cc, pt-decl.cc, pt-eval.cc, + pt-fcn-handle.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-mat.cc, + pt-mat.h, pt-pr-code.cc, pt-select.cc, pt-select.h, pt-stmt.cc, + pt-unop.cc, pt-unop.h, sighandlers.cc, sighandlers.h, + sparse-xdiv.cc, sparse-xdiv.h, sparse-xpow.cc, sparse-xpow.h, + sparse.cc, strfns.cc, symtab.cc, symtab.h, syscalls.cc, + sysdep.cc, toplev.cc, toplev.h, txt-eng-ft.cc, txt-eng-ft.h, + txt-eng.h, unwind-prot.h, utils.cc, utils.h, variables.cc, + variables.h, xdiv.cc, xdiv.h, xnorm.cc, xpow.cc, zfstream.cc, + zfstream.h: Strip trailing whitespace. + +2011-01-20 John W. Eaton + + * gl-render.cc, DLD-FUNCTIONS/__init_fltk__.cc, + DLD-FUNCTIONS/__magick_read__.cc: Untabify. + +2011-01-20 Pascal Dupuis . + + * debug.h, dynamic-ld.cc, gl-render.cc, gl-render.h, + gl2ps-renderer.h, lex.h, ls-hdf5.h, oct-stream.h, oct-strstrm.h, + ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, + ov-cell.h, ov-class.h, ov-dld-fcn.h, ov-fcn-handle.h, + ov-lazy-idx.h, ov-perm.h, ov-range.h, ov-struct.h, procstream.h, + pt-assign.h, symtab.h, unwind-prot.h: Initialize + all data members in initialization list. + +2011-01-20 Kai Habel + + * DLD-FUNCTIONS/__init_fltk__.cc (__fltk_uigetfile__): Append file + seperator to 2nd return value (file path). + Bug #32190. + +2011-01-20 John W. Eaton + + * oct-obj.h (octave_value_list::octave_value_list): Initialize + all data members in initialization list. From Pascal Dupuis + . + +2011-01-20 John W. Eaton + + * ls-mat5.cc (read_mat5_binary_element): + Improve diagnositc if uncompress fails. + + * load-path.cc (strip_trailing_separators): New static function. + (load_path::do_add, load_path::do_remove): Call it on directory arg. + +2011-01-20 John W. Eaton + + * gl-render.h, graphics.cc, gl-render.cc, graphics.h.in: + Update for backend -> graphics_toolkit change. + + * DLD-FUNCTIONS/__init_fltk__.cc: Rename from fltk_backend.cc + Update for backend -> graphics_toolkit change. + * DLD-FUNCTIONS/module-files, Makefile.am: Update for renamed file. + +2011-01-19 Rik + + * src/data.cc, src/input.cc, src/utils.cc: spellcheck docstrings. + +2011-01-19 Rik + + * DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/quad.cc, + DLD-FUNCTIONS/quadcc.cc, DLD-FUNCTIONS/rcond.cc, + DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/strfind.cc, + DLD-FUNCTIONS/typecast.cc, data.cc, dirfns.cc, error.cc, file-io.cc, + graphics.cc, help.cc, input.cc, load-path.cc, load-save.cc, mappers.cc, + oct-hist.cc, oct-parse.yy, pager.cc, pr-output.cc, pt-binop.cc, + sparse.cc, strfns.cc, syscalls.cc, sysdep.cc, utils.cc: grammarcheck + files in src directory. + +2011-01-19 John W. Eaton + + * oct-obj.cc (octave_value_list::all_scalars): Check for scalar + values, not strings. Bug #32172. + +2011-01-17 Rik + + * DLD-FUNCTIONS/module-files: Add quadcc.cc to list of files. + * DLD-FUNCTIONS/quad.cc: Add Seealso links to quadcc. + +2011-01-17 Jaroslav Hajek + + * DLD-FUNCTION/lookup.cc (Flookup): Validate option string. + +2011-01-17 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::bind_automatic_vars): + Save argument names in hidden variable .argn.. + + * variables.cc (F__varval__): New function. + +2011-01-17 John W. Eaton + + * ov-usr-fcn.cc (bind_automatic_vars): Mark variables created + here as automatic. + + * symtab.h (symbol_table::mark_automatic): New function. + (symbol_table::do_mark_automatic): New function. + +2011-01-17 Michael Godfrey + + * variables.cc (Fwhos): Describe a and f attributes in help text. + +2011-01-17 John W. Eaton + + * sighandlers.cc (octave_signal_handler): Wait for children here. + (sigchld_handler): Not here. + +2011-01-16 Rik + + * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dispatch__.cc, + DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/__glpk__.cc, + DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/__pchip_deriv__.cc, + DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, + DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/ccolamd.cc, + DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/chol.cc, + DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/colloc.cc, + DLD-FUNCTIONS/conv2.cc, DLD-FUNCTIONS/convhulln.cc, + DLD-FUNCTIONS/cquad.cc, DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/det.cc, + DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/dmperm.cc, + DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, + DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, + DLD-FUNCTIONS/fltk_backend.cc, DLD-FUNCTIONS/gammainc.cc, + DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/getgrent.cc, + DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/hess.cc, + DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, + DLD-FUNCTIONS/max.cc, DLD-FUNCTIONS/md5sum.cc, + DLD-FUNCTIONS/onCleanup.cc, DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, + DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, + DLD-FUNCTIONS/rcond.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/spparms.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/str2double.cc, + DLD-FUNCTIONS/strfind.cc, DLD-FUNCTIONS/sub2ind.cc, + DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, + DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/time.cc, DLD-FUNCTIONS/tril.cc, + DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/typecast.cc, + DLD-FUNCTIONS/urlwrite.cc: Improve docstrings. Use same variable names + in error() strings and docstrings. + +2011-01-16 John W. Eaton + + * mkgendoc: Write function name along with file name in comment. + +2011-01-15 Jordi Gutiérrez Hermoso + + * symtab.h (do_clear_global_pattern): Reword so as to not + invalidate iterators when calling std::map::erase(). + * DLD-FUNCTIONS/urwlwrite.cc (~curl_handles): Ditto. + +2011-01-15 Rik + + * src/dirfns.cc, src/help.cc, src/input.cc, src/load-save.cc, + src/oct-hist.cc, src/pager.cc, src/pr-output.cc, src/variables.cc: + Eliminate @deffn macros. + +2011-01-15 John W. Eaton + + * syscalls.cc (FWEXITSTATUS, FWIFEXITED): Missing semicolon. + +2011-01-15 John W. Eaton + + * ov-fcn-handle.cc: Use version instead of flops in test. + +2011-01-14 Rik + + * DLD-FUNCTIONS/svd.cc: Add Seealso references to svd. + +2011-01-14 Rik + + * src/mappers.cc: Add Seealso links between sqrt, cbrt, nthroot + functions. + +2011-01-14 John W. Eaton + + * dirfns.cc (Ffnmatch): Use DEFUNX until gnulib's fnmatch is C++ + friendly. + +2011-01-14 Rik + + * src/mappers.cc: Add Seealso links between erf variants to docstring. + +2011-01-14 John W. Eaton + + * sighandlers.cc (BADSIG, BLOCK_SIGNAL, SIGCHLD, BLOCK_CHILD, + UNBLOCK_CHILD): Move macro definitions here from sighandlers.h. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2011-01-13 John W. Eaton + + * file-io.cc (mkstemp): Delete. + Delete decl for mkstemps. + (Fmkstemp): Assume we have mkstemp from gnulib. + +2011-01-13 John W. Eaton + + * DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/dot.cc, + octave.cc: Style fixes. + +2011-01-13 David Bateman + + ls-mat5.cc (int save_mat5_element_length (const octave_value&, + const std::string&, bool, bool)): For sparse matrices use nnz rather + than nzmax. + (bool save_mat5_binary_element (std::ostream&, const octave_value&, + const std::string&, bool, bool, bool, bool)): ditto. + +2011-01-13 John W. Eaton + + * base-list.h (class octave_base_list): Provide explicit + default and copy construtors, assignment operator, and destructor. + * load-path.h (load_path::dir_info::class_info): Likewise. + + * load-path.h (load_path::dir_info::dir_info): Initialize all + members in initializaition list. + * lex.h (lexical_feedback::lexical_feedback): Likewise. + +2011-01-13 John W. Eaton + + * cutils.h: New file. + (octave_sleep, octave_usleep, octave_raw_vsnprintf): Move decls + here from utils.h. + * Makefile.am (octinclude_HEADERS): Add cutils.h to the list. + * utils.h: Include cutils.h. + * cutils.c: Include cutils.h. + +2011-01-12 David Grundberg + + * DLD-FUNCTIONS/__magick_read__.cc (__magick_read__) [!HAVE_MAGICK]: + Write more verbose error message that blames on imread, not + __magick_read__. + +2011-01-12 John W. Eaton + + * DLD-FUNCTIONS/rand.cc (reset_rand_generator): Delete unused + static function. + +2011-01-12 John W. Eaton + + * graphics.cc (graphics_object::get_ancestor): Avoid GCC warning. + +2011-01-12 John W. Eaton + + * DLD-FUNCTIONS/gcd.cc (extended_gcd): Tag call to floor with gnulib::. + +2011-01-12 John W. Eaton + + * oct-hist.cc (Fhistory_control): New function. + +2011-01-12 Pascal Dupuis + + * oct-hist.cc (default_history_control): New function. + (initialize_history): Pass Vhistory control to + command_history::initialize. + +2011-01-11 Konstantinos Poulios + + * gl-render.cc (opengl_renderer::draw_axes): Improve positioning + of titles. + +2011-01-10 John W. Eaton + + * ov-cell.cc (octave_cell::print_as_scalar): Always return true. + (octave_cell::print_raw): Handle extra newlines here. + * ov-struct.cc (Fstruct_levels_to_print): Move here from pr-output.cc + (Vstruct_levels_to_print): Move here from pr-output.cc. Now static. + (Vprint_struct_array_contents): New static variable. + (Fprint_struct_array_contents): New function. + (octave_struct::print_raw): Use Vprint_struct_array_contents. + Simplify and improve output. + (octave_scalar_struct::print_raw): Simplify and improve output. + * pr-output.h (Vstruct_levels_to_print): Delete decl. + * ov-class.cc (octave_class::print_raw): Don't unwind_protect + Vstruct_levels_to_print. + +2011-01-09 David Bateman + + * ls-mat5.cc (save_mat5_array_length (const float*, octave_idx_type, + bool)): Take in to account the short tags for single data elements. + (int save_mat5_element_length (const octave_value&, const std::string&, + bool, bool)): Declare sparse matrices const to avoid a copy on read. + * ls-utils.cc (save_type get_save_type (float, float)): New function. + * ls-utils.h (save_type get_save_type (float, float)): Declare it. + +2011-01-09 John W. Eaton + + * token.h, token.cc (token::plot_tok_typ): Delete unused enum. + (token::token_type): Delete pttype_token from the list. + (token::token (plot_tok_type, int, int)): Delete unused constructor. + (token::pttype): Delete unused function. + (token::anonymous union): Delete PT element. + +2011-01-09 John W. Eaton + + * lex.ll (display_token): Display token value for NUM, IMAG_NUM, + STRUCT_ELT, NAME, DQ_STRING, and SQ_STRING tokens. + +2011-01-09 John W. Eaton + + * lex.h, lex.ll, oct-parse.yy (lexer_flags::parsed_function_name): + Declare to be std::stack instead of bool. Change all uses. + Bug #32083. + +2011-01-08 Konstantinos Poulios + + * gl-render.cc (opengl_renderer::draw_axes): Revert positionmode + to auto after automatic positioning of titles. Bug #32074. + +2011-01-08 David Grundberg + + * ov-fcn.h (is_subfunction): Rename from is_nested_function. + Change all uses and nearby comments. + * ov-usr-fcn.h (is_subfunction, mark_as_subfunction): Rename from + is_nested_function, mark_as_nested_function. Change all uses. + +2011-01-07 John W. Eaton + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): For uniformoutput case + with nargout > 0, initialize elements of retval to NDArray + objects of the same size as the input. Bug #32067. + +2011-01-07 John W. Eaton + + * graphics.cc (Fget): Return empty matrix if no values are found. + Bug #32067. + +2011-01-06 Konstantinos Poulios + + * txt-eng-ft.h, txt-eng-ft.cc: Remove dependency on graphics.h. + (ft_render::set_font): New arguments list. + (ft_render::text_to_pixels): New method. + * graphics.cc (text::properties::update_text_extent): Adapt the call + to ft_render::set_font. + (text::properties::get_extent_matrix): New function. + (text::properties::update_text_extent): Function rewrite. + * gl-render.cc (opengl_renderer::set_font): Likewise. + (opengl_renderer::text_to_pixels): + Make use of ft_render::text_to_pixels. + (opengl_renderer::render_text): Simplify. + (opengl_renderer::draw_text): Make text drawing aware of the text + extent property. + * gl-render.h (opengl_renderer::text_to_pixels): Arguments reordering. + (opengl_renderer::get_transform): New function. + * gl2ps-renderer.cc (glps_renderer::render_text): Adapt the call to + text_to_pixels. + (glps_renderer::alignment_to_mode): New function. + (glps_renderer::draw_text): Overload inherited function. + * gl2ps-renderer.h (glps_renderer::alignment_to_mode): New function. + * graphics.h.in: Add dependency on txt-eng-ft.h. + (class text::properties): Tag horizontalalignment and verticalalignment + with "u" qualifier. + (text::properties::get_extent_matrix, get_pixels, + update_horizontalalignment, update_verticalalignment): New functions. + (text::properties::renderer): New class member of type ft_render. + (text::properties::pixels): New class member of type uint8NDArray. + +2011-01-06 John W. Eaton + + * DLD-FUNCTIONS/rand.cc (Frandperm): Tag call to floor with gnulib::. + * DLD-FUNCTIONS/gcd.cc (divide): Tag calls to floor with gnulib::. + * ov-scalar.cc (octave_scalar::map): Tag floor with gnulib::. + * ov-cell.cc (octave_cell::save_hdf5): Tag call to floor with gnulib::. + * pr-output.cc (engineering_exponent, num_digits, + octave_print_internal_template): Tag call to floor with gnulib::. + * graphics.cc: Consistently use std::ceil. + (axes::properties::get_axis_limits): Tag calls to floor with gnulib::. + (axes::properties::calc_ticks_and_lims): Likewise. + +2011-01-05 John W. Eaton + + Bug #32060. + + * ov-fcn.h (octave_function::mark_as_private_function): Now virtual. + * ov-usr-fcn.h (octave_function::mark_as_private_fucntion): + New function. Mark subfunctions as private also. + * symtab.cc, symtab.h + (symbol_table::mark_subfunctions_in_scope_as_private, + symbol_table::fcn_info::mark_subfunction_in_scope_as_private, + symbol_table::fcn_info::fcn_info_rep::mark_subfunction_in_scope_as_private): + New functions. + +2011-01-04 John W. Eaton + + * ov-base-sparse.cc (octave_base_sparse::print_raw): Improve + display of percentage full. Bug #32011. + +2011-01-04 John W. Eaton + + * ov-typeinfo.cc (Ftypeinfo): Return cell array of character + strings, not character array. Bug #32050. + +2011-01-03 Rik + + * data.cc (islogical, isnumeric): Add tests to check sparse forms of + logical matrices. + +2011-01-02 Jaroslav Hajek + + * ov-bool-sparse.h (octave_sparse_bool_matrix::is_numeric_type): New + virtual method override. + +2010-12-31 Rik + + * toplev.cc (system): Add additional calling form "shell_cmd" to + documentation. + +2010-12-31 Rik + + * data.cc (islogical, isinteger, iscomplex, isfloat, isempty, + isnumeric, ismatrix, issorted): Improve docstring + * graphics.cc (ishandle): Improve docstring + * lex.ll (iskeyword): Improve docstring + * mappers.cc (isalnum, isalpha, isascii, iscntrl, isdigit, isinf, + isgraph, islower, isna, isnan, isprint, ispunct, isspace, isupper, + isxdigit): Improve docstring + (finite/isfinite): Make finite an alias for isfinite rather than the + reverse. Improve docstring. + * ov-cell.cc (iscell, iscellstr): Improve docstring + * ov-class.cc (isobject, ismethod): Improve docstring + * ov-null-mat.cc (isnull): Improve docstring + * ov-struct.cc (isstruct, isfield): Improve docstring + * ov-usr-fcn.cc (isargout): Improve docstring + * sparse.cc (issparse): Improve docstring + * strfns.cc (ischar): Improve docstring + * sysdep.cc (isieee): Improve docstring + * utils.cc (isvarname, is_absolute_filename, + is_rooted_relative_filename, isindex): Improve docstring + * variables.cc (isglobal): Improve docstring + +2010-12-28 Rik + + * data.cc (and, ctranspose, eq, ge, gt, ldivide, le, lt, minus, + mldivide, mpower, mrdivide, mtimes, ne, not, or, plus, power, rdivide, + times, transpose, uminus, uplus): Improve docstrings for functions + which emulate operators. Add Seealso cross-referencing. + +2010-12-28 David Bateman + + * ls-mat5.cc (save_mat5_array_length (const float*, octave_idx_type, + bool)): Take in to account the 4 bytes of padding for an odd number + of elements in single precision arrays. + +2010-12-27 Rik + + * syscalls.cc (stat): Add additional calling form using file descriptor + fid to docstring. + +2010-12-26 Michael Godfrey + + * gammainc.cc: Add @tex blocks to docstring. + +2010-12-25 Rik + + * DLD-FUNCTIONS/str2double.cc: Fix bug in converting "numberi" strings + such as "2i". Add ability to process special value "NA". Rewrite + docstring. + +2010-12-25 Rik + + * input.cc (PS1): Correct use of xref macro to remove Tex warning. + +2010-12-22 Jordi Gutiérrez Hermoso + + * input.cc (PS1): Give an example of how PS1 can use ANSI escape + codes for getting a colourised prompt. + * oct-hist.cc (history): Correct documentation about how + history("-r") appends to history, doesn't replace it. + +2010-12-22 Judd Storrs + + * data.cc (Fvec): New optional second argument to set dimension + of result. + +2010-12-18 Konstantinos Poulios + + * graphics.h.in (class axes::properties): Tag xtickmode, ytickmode + and ztickmode with "u" qualifier. + (axes::properties::update_xtickmode, axes::properties::update_ytickmode + axes::properties::update_ztickmode): New functions. + +2010-12-18 John W. Eaton + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Simplify file name/id logic. + Bug #31910. + +2010-12-17 Rik + + * oct-parse.yy (builtin): Remove seealso reference to deprecated + function dispatch. + +2010-12-17 Konstantinos Poulios + + * graphics.h.in (class text::properties): New properties positionmode, + rotationmode, horizontalalignmentmode, verticalalignmentmode. + * graphics.cc (axes::properties::init, axes::properties::set_defaults): + Set mode to auto for all initialized positioning properties. + (axes::properties::set_xlabel,set_ylabel,set_zlabel,set_title): + Revert to auto-positioning mode and turn clipping off when title or + labels are set. + * gl-render.cc (opengl_renderer::draw_axes): Disable auto-positioning + of manually positioned title and axes labels. + +2010-12-17 Konstantinos Poulios + + * graphics.h.in (class axes::properties): Change default value for + fontsize from 12 to 10. + * graphics.cc (axes::properties::set_defaults): Likewise. + +2010-12-15 John W. Eaton + + Bug #31883. + + * oct-hist.cc (initialize_history): Call command_history::initialize. + + * octave.cc (gripe_safe_source_exception): New function. + (safe_source_file): New function. + (execute_startup_files): Call safe_source_file instead of source_file. + (execute_command_line_file): Likewise. Don't handle exceptions here. + (execute_eval_option_code): Also catch octave_execution exception. + +2010-12-15 John W. Eaton + + Bug #31861. Also bug #31286. + + * lex.h (lexical_feedback::defining_func): Now int instead of bool. + lex.ll (is_keyword_token): Increment lexer_flags.defining_func + instead of setting it to true. + (lexical_feedback::init): Set defining_func to 0 instead of false. + * oct-parse.yy (recover_from_parsing_function): Decrement + lexer_flags.defining_func here. + * input.cc (input_event_hook): Don't do anything if we are + lexer_flags.defining_func is nonzero. + +2010-12-13 Rik + + * ov-struct.cc (isfield): Additional test for cellstring of field names. + +2010-12-13 Rik + + * data.cc (mod): Additional tests for mod with non-integer real values. + +2010-12-12 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Drop support for the "i" option. + +2010-12-09 Marco Atzeri + + * mappers.cc: In test for gamma, expect Inf for gamma(-1), not NaN. + Bug #31772. + +2010-12-08 John W. Eaton + + * graphics.h.in (base_property::do_set): Don't reverse order of + children. Bug #31822. + +2010-12-08 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_user_function): + Return if an error occurs in out_of_date_check. + +2010-12-07 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): If an + error occurred during the first call to xfind, don't try again. + +2010-12-07 John W. Eaton + + * oct-parse.yy (case_list): Also accept default_case by itself. + Bug #31793. + +2010-12-01 John W. Eaton + + * pt-pr-code.cc (tree_print_code::visit_octave_user_function_trailer): + Don't indent or print "endfunction" here. + * ov-usr-fcn.cc (ov_user_script::do_multi_index_op): Save and + set tree_evaluator::statement_context, not + tree_evaluator::in_fcn_or_script_body. + (ov_user_function::do_multi_index_op): Likewise. + * pt-eval.cc: Initialize tree_evaluator::statement_context, not + tree_evaluator::in_fcn_or_script_body. + (tree_evaluator::visit_break_command): Check statement_context, + not in_fcn_or_script_body. + (tree_evaluator::visit_continue_command): Likewise. + (tree_evaluator::visit_return_command): Likewise. + (visit_statement): Also echo commands in scripts if + Vecho_executing_commands & ECHO_SCRIPTS is true. + * pt-eval.h (tree_evaluator::in_fcn_body, + tree_evaluator::in_script_body): New static variables. + (tree_evaluator::): Now an enum. + (tree_evaluator::in_function_or_script_body): Now an enum. + Rename from in_fcn_or_script_body. + +2010-12-01 Kai Habel + + * DLD-FUNCTIONS/fltk_backend.cc (fltk_gui_mode): Fix gui mode + problems when set to none. + +2010-11-26 Kai Habel + + * DLD-FUNCTIONS/fltk_backend.cc (find_uimenu_children, + __fltk_redraw__): Consider hidden handles here. + +2010-11-26 John W. Eaton + + * defaults.cc (FEXEC_PATH): Only call set_exec_path if nargin is + greater than zero. + +2010-11-25 Kai Habel + + * DLD-FUNCTIONS/fltk_backend.cc (fltk_gui_mode): New + function to set GUI mode. + (__fltk_uigetfile__): Remove nargout from argument list. + (plot_window): Remove gui_mode enum here. + +2010-11-25 John W. Eaton + + * defaults.cc (set_exec_path): Append EXEC_PATH to PATH. Store + only extra directories in EXEC_PATH. + (FEXEC_PATH): Update doc string. + Bug #31695. + +2010-11-22 John W. Eaton + + * defun.cc (defun_isargout): Cast nout to octave_idx_type in call + to std::min. + +2010-11-21 Kai Habel + + * DLD-FUNCTIONS/fltk-backend.cc (__fltk_uigetfile__): New function + for GUI file dialogs. + * graphics.cc (property_list::set): Indentation fix. + +2010-11-20 Ben Abbott + + * graphics.h.in: Change intended for 11272. + +2010-11-19 John W. Eaton + + Bug #31706. + + * mex.h, mex.cc (mxArray::dup): Rename from clone. Change all + uses and derived classes. + (mxArray_octave_value::dup): Convert to mxArray object here. + +2010-11-19 John W. Eaton + + Bug #31707. + + * mex.cc (mex::free): Don't warn about skipping memory not + allocated by mxMalloc, mxCalloc, or mxRealloc. + +2010-11-18 Daisuke TAKAGO + + * gl-render.cc (opengl_renderer::draw_line): + Layer markers in 2D plots. + +2010-11-18 John W. Eaton + + Bug # 31689. + + * ov-str-mat.cc (octave_char_matrix_str::save_ascii): + Adapt to change in charMatrix::row_as_string function. + * DLD-FUNCTIONS/md5sum.cc: New tests. + +2010-11-17 John W. Eaton + + * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue1): Also stash + the directory name of the parent function in the newly created + anonymous function. Bug #31484. + +2010-11-17 John W. Eaton + + * oct-parse.yy (parse_fcn_file): Protect and set global_command + to 0 before calling yyparse. + * toplev.cc (main_loop): Likewise. + + * oct-parse.yy (eval_string): Set global_command to 0 after + protecting it and before calling yyparse. + * input.cc (get_debug_input): Likewise. + +2010-11-14 Michael Goffioul + + * graphics.h.in (graphics_object::get_ancestor): New method. + * graphics.cc (graphics_object::get_ancestor): Likewise. + (convert_text_position, convert_cdata): Use it. + (xget_ancestor): Remove obsolete function. + * DLD_FUNCTIONS/fltk_backend.cc (plot_window::uimenu_update, + fltk_backend::update): Replace xget_ancestor with + graphics_objects::get_ancestor. + +2010-11-13 John W. Eaton + + * graphics.h.in (figure::properties::filename): Make writable. + Bug #31450. + +2010-11-12 John W. Eaton + + * Makefile.am (nodist_liboctinterp_la_SOURCES): Remove + $(OPT_HANDLERS) from the list. Bug #31623. + +2010-11-11 John W. Eaton + + * data.cc: New tests for cat. Enable 4 asserts that were disabled. + +2010-11-11 Kai Habel + + * fltk-backend.cc (plot_window::uimenu_update, + fltk_backend::update): Add prefix 'ID_' to property ids to avoid + name clash on windows systems. + * graphics.cc (gnuplot_backend::update): Ditto. + * genprops.awk (emit_declarations, emit_source): Ditto. + +2010-11-11 John W. Eaton + + Bug #31165. + + * symtab.h (symbol_table::parent_classes): New static function. + * symtab.cc (out_of_date_check): Also look for methods defined + in parent classes of dispatch_type. + (symbol_table::fcn_info::fcn_info_rep::load_class_method): Call + parent_classes instead of accessing parent_map directly. + +2010-11-10 John W. Eaton + + * octave.cc (octave_main): Call octave_ieee_init here. + * sysdep.cc (sysdep_init): Not here. + +2010-11-10 John W. Eaton + + * sysdep.cc: Eliminate special case for __DECCXX. + +2010-11-10 John W. Eaton + + * sysdep.cc (sysdep_init): Eliminate special case for NeXT systems. + (malloc_handler, NeXT_init): Delete. + +2010-11-10 John W. Eaton + + * sighandlers.cc (MAYBE_ACK_SIGNAL): Delete macro and all uses. + (sigchld_handler): Delete special case for __EMX__. + * sysdep.cc (sysdep_init): Eliminate special case for __EMX__. + (OS2_init, Fextproc): Delete. + +2010-11-10 John W. Eaton + + * sysdep.cc (sysdep_init): Eliminate special case for SCO. + (SCO_init): Delete. + +2010-11-10 John W. Eaton + + * DLD-FUNCTIONS/__dispatch__.cc: Rename from dispatch.cc. + Move tests to scripts/deprecated/dispatch.m. + (F__dispatch__): Rename from Fdispatch. + + * DLD-FUNCTIONS/module-files: Add __dispatch__.cc to the list. + Remove dispatch.cc from the list. + +2010-11-10 John W. Eaton + + * oct-parse.yy (Fbuiltin): Move here from DLD-FUNCTIONS/dispatch.cc. + +2010-11-10 Kai Habel + + * fltk-backend.cc (fltk_uimenu::update_accelerator + fltk_uimenu::update_callback, fltk_uimenu::update_enable, + fltk_uimenu::update_foregroundcolor fltk_uimenu::update_visible): + Check if find_item was succesful. + (fltk_uimenu::update_seperator): Make sure we don't write beyond + limits of menubar structure. + +2010-11-10 John W. Eaton + + Bug #31491. + + * pt-pr-code.cc, pt-pr-code.h (tree_print_code::print_fcn_handle_body): + New function. + * ov-fcn-handle (octave_fcn_handle::print_raw): Use it. + * pt-pr-code.cc (tree_print_code::visit_anon_fcn_handle): Likewise. + * pt-pr-code.h (tree_print_code::suppress_newline): Rename from + printing_newlines. Now int. Change all uses. + * pt-pr-code.cc (tree_print_code::newline): Only set + beginning_of_line if newline is printed. + +2010-11-10 John W. Eaton + + Bug #31567. + + * ov-fcn.h (octave_base_value::is_class_constructor) + octave_base_value::is_class_method): New optional character + string argument. + * ov-usr-fcn.h (octave_usr_fcn::is_class_constructor) + octave_usr_fcn::is_class_method): New optional arg. If this + argument is not empty, also check it against the name of the + dispatch class. + * ov-class.cc (Fclass): Allow class function to be called inside + a class method. Require that the to-be-constructed object is of + the same class as the class constructor or method. + +2010-11-09 John W. Eaton + + * lex.ll (handle_number): Set lexer_flags.looking_for_object_index + to false here. Fixes bug #31608. + +2010-11-09 John W. Eaton + + * gl-render.cc (make_marker_list): Call fmod instead of mod. + + * data.cc (Frem): Use xrem instead of fmod and fmodf. + (Fmod): Use xmod instead of mod. + +2010-11-08 Kai Habel + + * fltk-backend.cc (fltk_uimenu::do_find_uimenu_children): + Simplify. Remove unused code. + (fltk_uimenu::update_submenu): Remove unused function. + (fltk_uimenu::add_to_menu, fltk_uimenu::remove_from_menu): + Simplify. Get properties for valid objects only. + +2010-11-03 Ben Abbott + + * gl-render.cc: Do not give rendering error for uimenus. + +2010-11-03 John W. Eaton + + * DLD-FUNCTIONS/cquad.cc: If we don't have copysign but we do + have _copysign, define copysign to be _copysign. + +2010-11-02 John W. Eaton + + * DLD-FUNCTIONS/cquad.cc (Fcquad): Use octave_Inf, not INFINITY. + +2010-11-02 David Bateman + + * ls-hdf5.cc (bool hdf5_get_scalar_attr (hid_t, hid_t, + const char *, void *), herr_t hdf5_add_scalar_attr + (hid_t, hid_t, const char *, void *)): New functions. + (herr_t hdf5_add_scalar_attr (hid_t, const char *)): Remove static + definition to make this function visible externally. + * ls-hdf5.h (extern OCTINTERP_API bool hdf5_check_attr (hid_t, + const char *), extern OCTINTERP_API bool hdf5_get_scalar_attr + (hid_t, hid_t, const char *, void *buf), extern OCTINTERP_API herr_t + hdf5_add_attr (hid_t, const char *), extern OCTINTERP_API herr_t + hdf5_add_scalar_attr (hid_t, hid_t, const char *, void *)): Function + declarations. + * ov-range.cc (bool octave_range::save_hdf5 (hid_t, const char *, + bool)): Save the number of elements in the range as an HDF5 attribute. + (bool octave_range::load_hdf5 (hid_t, const char *)): If an HDF5 + attribute containing the number of elements exists use it to ensure + the correct number of elements in the range. + +2010-11-01 David Bateman + + * gl-render.cc (void opengl_renderer::draw_patch (const + patch::properties &)): Draw clipped contours of patches. + * graphics.cc (template static void get_array_limits + (const Array&, double&, double&, double&)): Don't need to test + for NaN as comparison is always false. + (Matrix children_property::do_get_children (bool) const): New method of + new children_property class. + (void children_property::do_delete_children (bool)): Ditto. + (void base_properties::remove_child (const graphics_handle&)): Delete. + (void base_properties::set_children (const octave_value&)): Delete. + (void base_properties::delete_children (void)): Delete. + (base_properties::update_axis_limits (const std::string&, + const graphics_handle&) const): New method. + (void base_graphics_object::update_axis_limits (const std::string&, + const graphics_handle&)): New Method. + (Matrix base_properties::get_children_internal (bool) const): Delete. + (Matrix base_properties::get_children (void) const): Delete. + (Matrix base_properties::get_hidden_children (void) const): Delete. + (void axes::update_axis_limits (const std::string&, + const graphics_handle&): New Method. + (void hggroup::properties::update_limits (void) const): New method. + (void hggroup::properties::update_limits (const graphics_handle&) + const): New method. + (void hggroup::update_axis_limits (const std::string&, + const graphics_handle&)): New method. + * graphics.h.in (class children_property): New class. + (class base_properties): Use it. + (base_graphics_object::update_axis_limits(const std::string&, + const graphics_handle&)): New method. + (graphics_object::update_axis_limits(const std::string&, + const graphics_handle&)): New method. + (axes::update_axis_limits(const std::string&, + const graphics_handle&)): New method. + (hggroup::adopt (const graphics_handle&)): Use it + (void hggroup::properties::update_limits (void) const): Remove inline + definition of the methid. + (void hggroup::properties::update_limits (const graphics_handle&) + const): New method. + (void hggroup::update_axis_limits (const std::string&, + const graphics_handle&)): New method. + +2010-10-31 Michael Goffioul + + * xnorm.h (xnorm, xcolnorms, xrownorms, xfrobnorm): tag with + OCTINTERP_API. + +2010-10-31 Kai Habel + + * fltk-backend.cc (find_uimenu_children): Remove template argument. + (do_find_uimenu_children): New function. + +2010-10-29 David Bateman + + * graphics.cc (octave_value patch::properties::get_color_data + (void) const): Don't call convert_data is the facevertexcdata + property is undefined or empty. + * gl-render.cc (void opengl_renderer::draw_patch + (const patch::properties &)): Set ec_mode to 0 if edgecolor is "none". + Set fc_mode to 0 if facecolor is "none". + +2010-10-29 Ben Abbott + + * gl-render.cc: Crop ticks, ticklabels, and gridlines for OpenGL + backend. + +2010-10-28 Konstantinos Poulios + + * graphics.cc (normalized_aspectratios, max_axes_scale): + New file-scope static function + (updating_aspectratios): New file-scope variable. + (axes::properties::update_aspectratios, axes::update_axis_limits): + Return immediately if updating_aspecratios is true. + (axes::properties::update_aspectratios): + If dataaspectratiomode is set to manual this function will try to + respect it even after changes in xlim, ylim, zlim. + If both dataaspectratiomode and plotboxaspectratiomode is set to + manual this function will try to recalulate xlim, ylim, zlim + depending on the status of xlimmode, ylimmode, zlimmode. If + altering xlim, ylim, zlim is not possible, plotboxaspectratio will + be overriden. + * graphics.h.in (class axes::properties): Tag dataaspectratio, + dataaspectratiomode, plotboxaspectratio, and + plotboxaspectratiomode with "u" qualifier. + (axes::update_dataaspectratio, + axes::update_dataaspectratiomode, + axes::update_plotboxaspectratio, + axes::update_plotboxaspectratiomode): New functions. + +2010-10-25 John W. Eaton + + * octave.cc (octave_main): Use F77_CHAR_ARC_LEN macro to pass + character string length in call to xerbla. + +2010-10-25 Kai Habel + + * gl-render.cc (opengl_renderer::draw): Ignore uimenu objects here. + * graphics.h.in (class OCTINTERP_API uimenu): New graphics object. + * graphics.cc (lookup_object_name): Add uimenu here. + (make_graphics_object_from_type): Likewise. + (property_list::set): Likewise. + (property_list::lookup): Likewise. + (root_figure::init_factory_properties): Likewise. + (__go_uimenu__): New function. + * DLD-Functions/fltk-backend.cc (OpenGL_fltk::resize): Make public. + (script_cb): New function. + (fltk_uimenu): New class. + (plot_window::plot_window): Initialize fltk_uimenu object. + (plot_window::~plot_window): Delete fltk_uimenu object. + (plot_window::show_menubar): New function. + (plot_window::hide_menubar): New function. + (plot_window::uimenu_update): New function. + (plot_window::handle): Do not evaluate FLTK events when figure + is deleted. + (figure_manager::uimenu_update): New function. + (figure_manager::toggle_menubar_visibility): New functions. + (figure_manager::do_toggle_menubar_visibility): New function. + (figure_manager::do_uimenu_update): New function. + (fltk_backend::uimenu_set_fltk_label): New function. + (fltk_backend::update): Add figure and uimenu updates. + +2010-10-24 Rik + + * DLD-FUNCTIONS/tril.cc, syscalls.cc: Docstring improvements. + +2010-10-24 Rik + + * variables.cc: Deprecate is_global function + +2010-10-23 John W. Eaton + + * file-io.cc (Ffopen): Only handle fopen ("all") case if nargout + is 0 or 1. + +2010-10-22 John W. Eaton + + * octave.cc (usage): Put whitespace before and after usage message. + (octave_main): If getopt_long returns '?', it means an + unrecognized option was encountered. + Panic if default case in option switch statement is reached. + (verbose_usage, short_opts, usage_string): Remove '?' as an + alias for 'h' in the list of possible options. + Fixes bug #31423. + +2010-10-22 John W. Eaton + + * oct-parse.yy (load_fcn_from_file): Also strip directory when + computing function name from filename. Bug #31395. + +2010-10-21 Gunnar Farnebäck + + * mex.cc (mxArray_number::as_octave_value): Convert single + matlab array to single octave array instead of to double octave + array. + +2010-10-21 John W. Eaton + + * gripes.h: Include lo-array-gripes.h. + +2010-10-21 John W. Eaton + + * ov-float.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, + ov-scalar.cc: Use gripe_nan_to_character_conversion. + + * ops.h, ov-base-mat.cc, ov-base-scalar.cc, ov-complex.h, + ov-cx-mat.cc, ov-cx-sparse.cc, ov-float.h, ov-flt-complex.h, + ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-range.cc, ov-re-mat.cc, + ov-re-sparse.cc, ov-scalar.h: Use gripe_nan_to_logical_conversion. + +2010-10-20 John W. Eaton + + * toplev.cc (Fsystem): Allow optional RETURN_OUTPUT and TYPE + arguments to be specified independently. Update doc string. + +2010-10-18 John W. Eaton + + * load-path.cc (load_path::do_find_first_of, + load_path::do_find_all_first_of): Also search path for relative + filenames. + +2010-10-17 John W. Eaton + + * DLD-FUNCTIONS/tril.cc: Use Octave copyright notice instead of + generic "This program is free software" notice. + + * toplev.cc (Fwarranty): Say "GNU Octave" instead of "This program". + +2010-10-16 John W. Eaton + + * mxarray.h.in (mxArray::is_function_handle): New virtual function. + * mex.cc (mxArray_base::is_function_handle): New pure virtual function. + (mxArray_octave_value::is_function_handle): New function. + (mxArray_matlab::is_function_handle): New function. + (mxIsFunctionHandle): New function. + * mexproto.h (mxIsFunctionHandle): Provide decl. + +2010-10-14 John W. Eaton + + * sparse.cc: Rename from DLD-FUNCTIONS/sparse.cc. Include + defun.h, not defun-dld.h. + (Fissparse, Fsparse, Fspalloc): Use DEFUN, not DEFUN_DLD. + * Makefile.am (DIST_SRC): Add sparse.cc to the list. + * DLD-FUNCTIONS/module-files: Remove sparse.cc from the list of files. + +2010-10-09 Ben Abbott + + * gl-render.cc: Treat images with scalar unique(x/ydata) like Matlab. + +2010-10-08 John W. Eaton + + * octave.cc (maximum_braindamage): + Set do_braindead_shortcircuit_evaluation to true. + Disable Octave:possible-matlab-short-circuit-operator warning. + * oct-parse.yy (if_cmd_list1, elseif_clause, loop_command): + Mark conditions in IF and WHILE statements for braindead + short-circuit behavior. + * pt-binop.cc (Vdo_braindead_shortcircuit_evaluation): New + static variable. + (Fdo_braindead_shortcircuit_evaluation): New function. + (tree_binary_expression::rvalue1): Perform short-circuit + evaluation of | and & expressions that are conditions of WHILE + and IF statements if Vdo_braindead_shortcircuit_evaluation is true. + * pt-binop.h + (tree_binary_expression::eligible_for_braindead_shortcircuit): + New data member. Initialize it in class constructors. + (tree_binary_expression::mark_braindead_shortcircuit): New function. + * pt-exp.h (tree_expression::mark_braindead_shortcircuit): + New virtual function. + +2010-10-08 Ben Abbott + + * graphics.h.in: Properly set image pixel size when unique(x/ydata) + is scalar. + +2010-10-07 Rik + + * DLD-FUNCTIONS/conv2.cc (convn): Update docstring. Add 1 new test. + +2010-10-07 John W. Eaton + + * DLD-FUNCTIONS/conv2.cc (convn): Style fixes. Edit docstring. + +2010-10-07 John W. Eaton + + * file-io.cc (do_stream_open): Use fileno instead of ::fileno to + avoid problems if fileno is a macro. + +2010-10-05 John W. Eaton + + * oct-stdstrm.h (octave_stdiostream::octave_stdiostream): Use + fileno instead of ::fileno to avoid problems if fileno is a macro. + +2010-10-04 Shai Ayal + + * graphics.h.in (axis::properties::pixel_size): New function. + (axis::properties::pixel_xsize,axis::properties::pixel_ysize): + New functions, use axis::properties::pixel_size + (axis::properties::update_ydata,axis::properties::update_xdata): + Use axis::properties::pixel_size functions + + * graphics.cc (__image_pixel_size__): New function uses + axis::properties::pixel_size functions + +2010-10-01 John W. Eaton + + * graphics.h.in (class caseless_str): Move to + liboctave/caseless-string.h. + +2010-10-01 John W. Eaton + + * graphics.cc (base_properties::get_dynamic): Create and return + octave_scalar_map object instead of Octave_map. + (base_graphics_object::remove_all_listeners): Use octave_map + instead of Octave_map. + (base_graphics_object::values_as_string): Likewise. + + * graphics.h.in, graphics.cc (property_list::as_struct): + Return octave_scalar_map instead of Octave_map. + (base_graphics_object::values_as_struct): Likewise. + (graphics_object:values_as_struct): Likewise. + (graphics_object::set): Accept octave_map instead of Octave_map. + + * genprops.awk: Use octave_map instead of Octave_map in + generated code. Convert second arg to octave_value in call to + octave_map::assign. + +2010-10-01 John W. Eaton + + * mex.cc (mxArray_struct::as_octave_value): Use octave_map + instead of Octave_map. + +2010-10-01 John W. Eaton + + * ov-base.h: Delete forward decl for Octave_map class. + +2010-10-01 John W. Eaton + + * ov-struct.h (octave_struct (const Octave_map&)): Delete constructor. + +2010-10-01 John W. Eaton + + * ov-fcn-inline.cc (octave_fcn_inline::map_value): Use + octave_scalar_map and octave_map instead of Octave_map. + +2010-10-01 John W. Eaton + + * variables.cc (symbol_info_list::map_value): Use + octave_scalar_map and octave_map instead of Octave_map. + +2010-09-30 Jaroslav Hajek + + * oct-map.h (octave_fields::nil_rep): Make a static function. + (octave_fields::octave_fields (void)): Use it here. + +2010-09-30 John W. Eaton + + * toplev.cc (octave_config_info): Use Octave_scalar_map instead + of Octave_map. + * sighandlers.cc (make_sig_struct, FSIG): Likewise. + + * utils.cc (decode_subscripts): Use octave_map instead of Octave_map. + * octave.cc (F__version_info__): Likewise. + * pt-eval.cc (visit_complex_for_command): Likewise. + * pt-idx.cc (tree_index_expression::lvalue): Likewise. + +2010-09-30 John W. Eaton + + * DLD-FUNCTIONS/gcd.cc: Style fixes. + +2010-09-30 John W. Eaton + + * oct-errno.cc.in (octave_errno::do_list, octave_errno::list): + Use octave_scalar_map instead of Octave_map. + +2010-09-30 Jordi Gutiérrez Hermoso + + * DLD-FUNCTIONS/gcd.cc (divide): New function, complex integer + division with remainder. + (simple_gcd): Overload for complex values. + (extended_gcd): Ditto. + (do_simple_gcd): Dispatch for complex gcd. + (do_extended_gcd): Ditto. + (Fgcd): Mention that complex gcd is now also possible. + +2010-09-30 Jordi Gutiérrez Hermoso + + * DLD-FUNCTIONS/gcd.cc (extended_gcd): Fix bug that didn't + distinguish the two output coefficients. + (Fgcd): Fix off-by-one bug and typo from copy-pasted code. + +2010-09-30 Jaroslav Hajek + + * oct-parse.yy (Fautoload): Replace Octave_map by octave_map. + * ov-fcn-handle.cc (Ffunctions): Replace Octave_map by + octave_scalar_map. + +2010-09-30 Jaroslav Hajek + + * help.cc (F__which__): Use octave_map instead of Octave_map. + * load-save.cc (do_load, save_fields, save_vars): Use + octave_scalar_map instead of Octave_map. + +2010-09-30 Jaroslav Hajek + + * debug.cc (Fdbstatus, Fdbstack): Use octave_map instead of + Octave_map. + * error.cc (warning_options, initialize_warning_options, + pr_where, Frethrow, Ferror, Fwarning, Flasterror): Use + octave_scalar_map or octave_map instead of Octave_map. + +2010-09-30 Jaroslav Hajek + + * oct-errno.cc (octave_errno::list, octave_errno::do_list): Use + octave_scalar_map instead of Octave_map. + * oct-errno.h: Update decls. + +2010-09-30 Jaroslav Hajek + + * pt-idx.cc (tree_index_expression::make_arg_struct): Use octave_map + instead of Octave_map. + * pt-idx.h: Update decl. + +2010-09-29 Jaroslav Hajek + + * oct-map.cc (octave_map::contents): Fix off-by-1 error. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (OCTAVE_GLPK_GET_REAL_PARAM, + OCTAVE_GLPK_GET_INT_PARAM): Use GETFIELD to access map fields, + not CONTENTS. + * DLD-FUNCTIONS/amd.cc (Famd): Likewise. + * DLD-FUNCTIONS/luinc.cc (Fluinc): Likewise. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (F__ftp_dir__): Use octave_scalar_map + instead of Octave_map. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/luinc.cc (Fluinc): Use octave_scalar_map + instead of Octave_map. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Use octave_scalar_map + instead of Octave_map. Use scalar values where appropriate in + call to glpk. + (OCTAVE_GLPK_GET_REAL_PARAM, OCTAVE_GLPK_GET_INT_PARAM): + Update for octave_scalar_map. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/amd.cc (Famd): Use octave_scalar_map instead of + Octave_map. + * DLD-FUNCTIONS/cellfun.cc (get_output_list): Likewise. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/dispatch.cc (Fdispatch): Use octave_scalar_map + instead of Octave_map. + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Likewise. + * DLD-FUNCTIONS/regexp.cc (octregexp): Likewise. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/eigs.cc (Feigs): Use octave_scalar_map instead + of Octave_map. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/getpwent.cc (mk_pw_map): Use octave_scalar_map + instead of Octave_map. + * DLD-FUNCTIONS/getgrent.cc (mk_gr_map): Likewise. + * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Likewise. + +2010-09-29 John W. Eaton + + * DLD-FUNCTIONS/time.cc (intfield, stringfield): New functions. + (mk_tm_map, extract_tm): Arg is now octave_scalar_map instead of + Octave_map. + (extract_tm): Use local intfield and setfield functions. + (Fmktime, Fstrftime): Use octave_scalar_map instead of Octave_map. + +2010-09-28 John W. Eaton + + * Cell.h, Cell.cc (Cell::Cell (const std::list&)): + New constructor. + +2010-09-28 John P. Swensen + + * DLD-FUNCTIONS/__magick_read__.cc (maybe_initialize_magick): + Warn on initialization of *Magick if QuantumDepth is less than 32. + +2010-09-28 John P. Swensen + + * DLD-FUNCTIONS/__magick_read__.cc (F__magick_format_list__): + New function. + +2010-09-28 John P. Swensen + + * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image) + (encode_bool_image): Ensure bit depth encoding is correct for + logical, uint8, and uint16 images. + +2010-09-28 Jaroslav Hajek + + * xpow.cc (xpow (double, const Matrix&)): Ensure real result for + positive base. + (xpow (double, const Matrix&)): Likewise. + +2010-09-28 Jaroslav Hajek + + * error.cc (interpreter_try): New function. + * error.h: Declare it. + * ov-fcn-handle.cc (octave_fcn_binder::maybe_binder): Use it here. + * variables.cc (safe_symbol_lookup): Also here. + +2010-09-27 John W. Eaton + + * gl-render.cc (opengl_renderer::draw_axes): Reverse order in + which child objects are processed. + +2010-09-26 Rik + + * load-path.cc: Use single quotes for regex when possible. + * DLD-FUNCTIONS/regexp.cc (regexp): Update docstring to highlight + differences between POSIX and PCRE regex. + +2010-09-26 Rik + + * load-path.cc: Use single quotes for regular expression patterns when + possible. + +2010-09-26 Rik + + * DLD-FUNCTIONS/regexp.cc (regexp, regexprep, regexpi): Update + docstrings to more fully explain PCRE. Modify advanced tests to run + only run when PCRE is present. + +2010-09-25 John W. Eaton + + * toplev.cc (Fquit): Allow any number of output parameters. + +2010-09-25 Jaroslav Hajek + + * DLD-FUNCTIONS/gcd.cc (Fgcd): Rewrite. Use more efficient code. + Specialize for simple/extended Euclid. Handle integer arguments. + +2010-09-24 Rik + + * DLD-FUNCTIONS/regexp.cc (regexp, regexprep): Update docstring to + discuss limits when not compiled with PCRE. + +2010-09-23 John W. Eaton + + * Makefile.am (ALL_DEF_FILES): New variable. + (DEF_FILES): Don't include $(DLD_DYNAMIC_DEF_FILES) in the list. + (DEF_FILES DLD_DYNAMIC_DEF_FILES): Fix dependency info. + (doc-files): Depend on $(ALL_DEF_FILES), not $(DEF_FILES). + +2010-09-22 Jaroslav Hajek + + * xpow.cc (elem_xpow (float, const NDArray&), + elem_xpow (float, const FloatNDArray&)): Use simpler tests. + +2010-09-21 John W. Eaton + + * oct-stream.h (octave_base_stream::file_number): Return 0, 1, + and 2 for named stdin, stdout, and stderr streams; -1 otherwise. + +2010-09-21 John W. Eaton + + * syscalls.cc (Fgethostname): New function. + +2010-09-20 John W. Eaton + + * DLD-FUNCTIONS/time.cc (Fmktime): New tests (bug #31079). + +2010-09-20 John W. Eaton + + Bug #31085: + + * file-io.cc (do_stream_open): Use fopen, fileno, and gzdopen + instead of gzopen. Pass integer file id to + octave_zstdiostream::create. + + * oct-stdstrm.h (class octave_base_tstdiostream): Rename from + octave_tstdiostream. + (octave_tstdiostream::fnum): New data member. + (octave_tstdiostream::file_number): New member function. + (octave_tstdiostream::octave_tstdiostream): New arg, FID. + (octave_tstdiostream::create): Delete. + (class octave_stdiostream, class octave_zstdiostream): New + non-template classes derived from octave_tstdiostream to replace + typedefs. + + * oct-stream.h (octave_base_stream::file_number): Now virtual + and const. Return -1 in defaault implementation. + +2010-09-20 John W. Eaton + + * DLD-FUNCTIONS/regexp.cc (octregexp_list) [HAVE_PCRE]: + Break from search loop if idx is at or beyond end of buffer + (bug #31056). + +2010-09-19 Ben Abbott + + * graphics.h.in: Add displayname property to patch and surface objects. + +2010-09-18 David Bateman + + * graphics.h.in: Remove properties for dead legend code. + +2010-09-18 Ben Abbott + + * graphics.cc: Replace pagetype property value custom with . + +2010-09-16 David Bateman + + * graphics.cc (static Matrix screen_size_pixels (void), static Matrix + papersize_from_type (const caseless_str, const caseless_str))): New + functions. + (void figure::properties::set_paperunits (const octave_value&), + void figure::properties::set_papertype (const octave_value&), + void figure::properties::update_paperunits (const caseless_str&)) + void figure::properties::update_papertype (void), + void figure::properties::update_papersize (void), + void figure::properties::update_units (const caseless_str&)): New + methods of the figure class. + (void axes::properties::set_units (const octave_value&), + void axes::properties::update_units (const caseless_str&), + void axes::properties::set_fontunits (const octave_value&), + void axes::properties::update_fontunits (const caseless_str&)): + New methods of the axes class. + * graphics.h.in (void figure::properties::update_paperunits + (const caseless_str&), void figure::properties::update_units + (const caseless_str&)): Declaration of new figure methods. + (void figure::properties::update_paperunits (const caseless_str&), + void figure::properties::update_units (const caseless_str&)): + Declaration of new axes methods. + +2010-09-16 John P. Swensen + + * DLD-FUNCTIONS/))magick_read__.cc (write_image): Remove + unnecessary for loop to set image format. + +2010-09-16 John W. Eaton + + * DLD-FUNCTIONS/svd.cc (Fsvd): Delete assert to avoid + "comparison is always false due to limited range of data type" + warning from GCC. + + * utils.cc (octave_vsnprintf): Declare nchars volatile to avoid + GCC warning. + + * pr-output.cc (octave_print_internal): Avoid uninitialized + variable warning from GCC. + +2010-09-16 John Swensen + + * DLD-FUNCTIONS/__magick_read__.cc (write_image): Allow + arbitrary extensions with format specifier. + +2010-09-15 John W. Eaton + + * load-path.cc (Faddpath, Frmpath): Document path arguments. + +2010-09-15 John Swensen + + * DLD-FUNCTIONS/__magick_read__.cc (write_image): Allow writing + arbitrary image types to filenames without an extension (bug #30784). + +2010-09-14 John W. Eaton + + * variables.cc (symbol_exist): If looking for any type of file + or "file", return 7 for directories and 2 for all other types of + files. + +2010-09-14 John W. Eaton + + * graphics.h.in (base_graphics_backend::initialize): Rename + from base_graphics_backend::object_created. Change all uses. + (base_graphics_backend::finalize): Rename from + base_graphics_backend::object_destoyed. Change all uses. + (base_graphics_backend::update): Rename from + base_graphics_backend::property_changed. Change all uses. + +2010-09-14 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::object_destroyed): + Don't attempt to delete window if __plot_stream__ is empty. + +2010-09-14 Jordi Gutiérrez Hermoso + + * load-path.cc (genpath): Pass SKIP in recursive call. + (Fgenpath): Accept list of directories to skip. + +2010-09-14 John W. Eaton + + * oct-stream.cc (BEGIN_CHAR_CLASS_CONVERSION): If we hit EOF but + have found a match, clear the stream state (bug # 30997). + +2010-09-13 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Remove subsref optimization. + +2010-09-13 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellindexmat): New DEFUN. + +2010-09-12 Jaroslav Hajek + + * ov-fcn-handle.cc (octave_fcn_binder::maybe_binder): Stash name tags + in the template. + (octave_fcn_binder::do_multi_index_op): Don't use xelem to ensure + proper unsharing. Make a shallow copy prior to call to ensure + consistency throughout recursive calls. + +2010-09-11 Jaroslav Hajek + + * ov-fcn-handle.h (octave_fcn_binder): New subclass. + * ov-fcn-handle.cc: Define methods. + * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue1): Call + octave_fcn_binder::maybe_binder. + +2010-09-11 John W. Eaton + + * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): + Avoid GCC shadow variable warning. + +2010-09-11 John W. Eaton + + * load-path.cc (Faddpath): Adjust value of nargin if numeric + option is found (bug #31001). + +2010-09-09 Shai Ayal + + * gl2ps-renderer.cc: Renders to a previously opened fid. + * gl2ps-renderer.h: Ditto. + * DLD-FUNCTIONS/fltk_backend.cc: print now accepts fid instead + of filename to use with above change + +2010-09-07 Jaroslav Hajek + + * DLD-FUNCTIONS/__magick_read__.cc (maybe_initialize_magick): New + helper function. Move initialization code & static variable here. + (F__magick_read__, F__magick_write__, F__magick_finfo__): Call it + here. + +2010-09-03 Jaroslav Hajek + + * DLD-FUNCTIONS/cquad.cc: New source, courtesy by Pedro Gonnet. + * DLD-FUNCTIONS/module-files: Update. + +2010-09-01 Marco Caliari + + * graphics.cc: Fix axes limits underflow to zero for logscale. + +2010-09-01 Jaroslav Hajek + + * pt-mat.cc (single_type_concat (Array&, ...)): Optimize all + scalars case. + +2010-09-01 Jaroslav Hajek + + * oct-map.cc (octave_map::cat): Search first for an index with + nonzero nfields and use it for comparisons. + (permute_to_correct_order1): New overloaded helper func. + (permute_to_correct_order): use it here. Pass the index here. + * pt-mat.cc (single_type_concat): Don't subst 0x0 for all empty + arrays. Use the respective cat() capability instead. + +2010-09-01 Jaroslav Hajek + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Support "emptyvalue" option. + Fix condition for terminating read. + +2010-08-31 Jaroslav Hajek + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Support reading from a file ID. + +2010-08-31 Jaroslav Hajek + + * ov-class.cc (get_current_method_class): Make it an octave_class + method. Return class_name as default. + (octave_class::dotref): Error on zero return value. + +2010-08-30 Ben Abbott + + * gl-render.cc: Matlab compatible markers for the OpenGL. + +2010-08-30 John W. Eaton + + * graphics.cc (convert_cdata_1, convert_cdata_2): New functions. + (convert_cdata): Use them to avoid converting all elements of + cdata to double at once. + * graphics.h.in (surface::properties::init): Constrain cdata and + alphadata to be single, double, or uint8. + +2010-08-30 Jaroslav Hajek + + * graphics.cc (convert_cdata): Avoid extracting pointer to temporary + copy. + +2010-08-30 John W. Eaton + + * graphics.cc (convert_cdata): Allow cdata to be any type that + can be converted to double. + * graphics.h.in (surface::properties::init): Remove constraints + on cdata and alphadata. + +2010-08-27 Jordi Gutiérrez Hermoso + + * graphics.cc (axes::properties::rotate_view): Don't rotate past + the top and bottom. + (axes::properties::update_camera): Fix the view when rotating to + the bottom. + (calc_dimensions): New static function. + (F__calc_dimensions__) New defun to replace m-script function. + * graphics.h.in (calc_dimension): Provide decl. + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): + Use calc_dimensions to decide whether the current figure should + be rotated. + (plot_window::mark_modified) Recompute the number of dimensions. + Deactivate rotation if necessary. + (plot_window::ndim) New data member. + (plot_window::button_press, plot_window::handle): Only turn on + rotation if ndim == 3. + +2010-08-24 David Bateman + + * ls-mat5.cc (static void read_mat5_binary_data (std::istream&, + float *, octave_idx_type, bool, mat5_data_type, + oct_mach_info::float_format)) : New function + (std::string read_mat5_binary_element (std::istream&, + const std::string&, bool, bool&, octave_value&)): Treat + MAT_FILE_SINGLE_CLASS as single precision rather than convert to + double precision. + (static void write_mat5_array (std::ostream&, const FloatNDArray&, + bool), int save_mat5_array_length (const float*, octave_idx_type, + bool), int save_mat5_array_length (const FloatComplex*, + octave_idx_type, bool)): New functions. + (int save_mat5_element_length (const octave_value&, + const std::string&, bool save_as_floats, bool), bool + save_mat5_binary_element (std::ostream&, const octave_value&, + const std::string&, bool, bool, bool, bool)): Treat + MAT_FILE_SINGLE_CLASS as single precision rather than convert to + double precision. + +2010-08-23 John W. Eaton + + * load-path.cc (load_path::dir_info::initialize): Clear + method_file_map before updating file list. + * load-path.cc (load_path::load_path): Explicitly initialize + private_fcn_map. + +2010-08-17 Rik + + * mappers.cc (gamma,lgamma): Add %!tests for negative integer + input arguments. + +2010-08-17 Rik + + * bitfcns.cc (bitmax): Add additional calling argument, class, and + additional return value for bitmax("single"). + +2010-08-17 Rik + + * bitfcns.cc (sizemax): Improve documentation string. + +2010-08-16 Ben Abbott + + * gl2ps.c: Use upstream version gl2ps-1.3.5-svn-20100816. + +2010-08-13 Rik + + * toplev.c (do_goto_frame_relative): Remove unused variable c. + +2010-08-13 Jaroslav Hajek + + * ov-builtin.cc + (octave_builtin::subsref (..., const std::list *) + octave_builtin::do_multi_index_op (..., const std::list *)): + New methods. Move code here. Set curr_lvalue_list. + (octave_builtin::curr_lvalue_list): New static member. + * ov-fcn-handle.h: Declare them. + * defun.cc (defun_isargout): New overloaded function. + * defun-int.h: Declare it. + +2010-08-11 Jaroslav Hajek + + * ov-lazy-idx.h (octave_lazy_index::subsasgn): Remove override. Leave + it to the defualt numeric conversion mechanism. + +2010-08-10 Jaroslav Hajek + + * data.cc (Fdiff): Allow logical type. + +2010-08-09 Rik + + * oct-parse.yy (parse_fcn_file): Restore parsing of help text + accidentally lost in previous changeset. + +2010-08-09 John W. Eaton + + * oct-parse.yy (parse_fcn_file): Handle empty script files + (bug #30588). + +2010-08-09 Jaroslav Hajek + + * ov.cc (octave_value::assign (assign_op, const std::string&, + const std::list&, const octave_value&): + Don't attempt to fix struct assignment to non-struct values here. + Check for successful assignment before overwriting this. + + * ov-cell.cc (octave_cell::subsasgn): Allow dot assignment into empty + cell. + +2010-08-08 Rik + + * DLD-FUNCTIONS/config-module.awk: Add newlines to divide blocks + in generated modules.mk and improve readability. + +2010-08-08 Rik + + * Makefile.am: Create .DOCSTRINGS quietly and avoid screen clutter + during build. + +2010-08-08 Rik + + * Makefile.am: Run do_subst macro quietly without cluttering screen + during build. + +2010-08-08 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc + (base_graphics_backend::print_figure): Add a redraw to get the + thing going. + +2010-08-05 Shai Ayal + + * gl2ps-renderer.cc (draw): Add support for more terminal types. + * DLD-FUNCTIONS/fltk_backend.cc: Likewise. + +2010-08-04 John W. Eaton + + * mex.cc (mxArray_number (const char *)): Create empty string if + given NULL arg (bug #30639). Create 0x0 string array if given + an empty string argument, not 1x0. + +2010-08-03 Jaroslav Hajek + + * OPERATORS/op-str-str.cc: Fix assignment operator. + * OPERATORS/op-str-s.cc: Likewise. + * OPERATORS/op-str-m.cc: Likewise. + +2010-08-03 Jaroslav Hajek + + * ov-fcn-handle.cc + (octave_value::subsref (..., const std::list *) + octave_value::do_multi_index_op (..., const std::list *)): + New methods. Move code here. + * ov-fcn-handle.h: Declare them. + +2010-08-03 Jaroslav Hajek + + * ov-usr-fcn.cc (Fis_ignored_output): Rename to Fisargout. Change the + behavior to indicate not ignored outputs. + +2010-08-01 Rik + + * DLD-FUNCTIONS/amd.cc, DLD-FUNCTIONS/balance.cc, + DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, + DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/onCleanup.cc, + DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/str2double.cc, + DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/typecast.cc, data.cc, graphics.cc, + load-save.cc, ov-null-mat.cc, ov-struct.cc, ov-usr-fcn.cc, + pr-output.cc, strfns.cc, variables.cc: Grammarcheck documentation. + Add @noindent lines and ensure line length is less than 80. + +2010-07-31 Rik + + * DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/__voronoi__.cc, + DLD-FUNCTIONS/amd.cc, DLD-FUNCTIONS/balance.cc, + DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, + DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/conv2.cc, + DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, + DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, + DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/givens.cc, + DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, + DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, + DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, + DLD-FUNCTIONS/md5sum.cc, DLD-FUNCTIONS/onCleanup.cc, + DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, + DLD-FUNCTIONS/str2double.cc, DLD-FUNCTIONS/strfind.cc, + DLD-FUNCTIONS/sub2ind.cc, DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, + DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/time.cc, + DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/typecast.cc, + DLD-FUNCTIONS/urlwrite.cc, bitfcns.cc, data.cc, debug.cc, defaults.cc, + dirfns.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, + load-path.cc, load-save.cc, ls-oct-ascii.cc, mappers.cc, oct-hist.cc, + octave.cc, ov-base.cc, ov-cell.cc, ov-class.cc, ov-fcn-handle.cc, + ov-fcn-inline.cc, ov-null-mat.cc, ov-range.cc, ov-struct.cc, + ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-eval.cc, pt-mat.cc, + sighandlers.cc, strfns.cc, symtab.cc, syscalls.cc, sysdep.cc, + toplev.cc, utils.cc, variables.cc: Grammarcheck .cc files + +2010-07-30 John W. Eaton + + * debug.cc (Fdbstack): Improve display. + + * toplev.cc (octave_call_stack::do_goto_frame_relative): + Improve message. Don't display column number. + + * debug.cc (get_file_line): Don't allow eol to be less than bol. + (Fdbwhere): Improve message. Don't display column number. + (Fdbstack): Omit column number from display. + + * pt-eval.cc (tree_evaluator::visit_statement): Don't call + octave_call_stack::set_statement for commands issued while + debugging. + +2010-07-30 John W. Eaton + + * pt-bp.cc (tree_breakpoint::take_action): Only call + delete_breakpoint if is_breakpoint returns true. + (tree_breakpoint::visit_statement): If statement is command, + accept it, otherwise, maybe take action on the statement. + (tree_breakpoint::visit_no_op_command): Handle breakpoints at + end of function. + Addresses more problems found with bug #30490. + +2010-07-30 Rik + + * Makefile.am: add .DOCSTRINGS to the DISTCLEANFILES list + +2010-07-30 John W. Eaton + + * pt-eval.cc (tree_evaluator::visit_if_command, + tree_evaluator::visit_switch_command): Also process breakpoints + for the command (bug #30490). + +2010-07-29 Ben Abbott + + * gl-render.cc: Transpose markers '^' and 'v'. + +2010-07-29 John W. Eaton + + * pt-bp.cc (tree_breakpoint::visit_if_command): Also allow + breakpoint to be set on command, same as for switch, while, or + do-until statments. + * pt-select.h, pt-select.cc (tree_if_command::set_breakpoint, + tree_if_command::delete_breakpoint, tree_switch_command::set_breakpoint, + tree_switch_command::delete_breakpoint): Delete functions and decls. + (bug #30490). + +2010-07-29 Jaroslav Hajek + + * ov.cc (octave_value::subsref (..., const std::list *) + octave_value::do_multi_index_op (..., const std::list *)): + New methods. + * ov.h: Declare them. + * ov-base.cc (octave_base_value::subsref (..., const std::list *) + octave_base_value::do_multi_index_op (..., const std::list *)): + New methods. + * ov-base.h: Declare them. + * ov-usr-fcn.cc (octave_user_function::subsref (..., const std::list *) + octave_user_function::do_multi_index_op (..., const std::list *)): + New virtual method overrides. Move code here. + (octave_user_function::bind_automatic_vars): Add lvalue_list + parameter. Bind automatic variable ".ignored.". + (Fis_ignored_output): New defun. + * ov-usr-fcn.h: Update decls. + * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): + Skip warning if outputs are ignored. + * pt-exp.cc (tree_expression::rvalue (..., const + std::list *)): New method overload. + * pt-exp.h: Declare it. + * pt-idx.cc (tree_index_expression::rvalue (..., const + std::list *)): New method override. Move code here. + * pt-idx.h: Declare it. + * pt-assign.cc (tree_multi_assignment::rvalue): Pass in the pointer to + lvalue_list. + +2010-07-28 John W. Eaton + + * DLD-FUNCTIONS/find.cc (Ffind): Reorder cases to check for + character strings before numeric arrays. + Delete explicit instantiations of find_nonzero_elem_idx templates. + New test for char array argument. + +2010-07-27 Rik + + * DLD-FUNCTIONS/schur.cc (rsf2csf): Change first documentation line to + active voice. + +2010-07-27 Jaroslav Hajek + + * DLD-FUNCTIONS/schur.cc (Frsf2csf): New DEFUN. + +2010-07-23 Jaroslav Hajek + + * ov-base-scalar.cc (octave_base_scalar::diag): Implement here. Fix. + * ov-base-scalar.h: Only declare here. + +2010-07-23 Jaroslav Hajek + + * ov-re-diag.cc (octave_diag_matrix::try_narrowing_conversion): Remove + redundant cast. + * ov-flt-re-diag.cc + (octave_float_diag_matrix::try_narrowing_conversion): Ditto. + * ov-cx-diag.cc + (octave_complex_diag_matrix::try_narrowing_conversion): Ditto. + * ov-flt-cx-diag.cc + (octave_float_complex_diag_matrix::try_narrowing_conversion): Ditto. + +2010-07-23 Jaroslav Hajek + + * pt-mat.cc (do_single_type_concat_no_mutate): Remove. + (tree_matrix::rvalue1): Use do_single_type_concat instead. + +2010-07-21 Jaroslav Hajek + + * bitfcns.cc (Fsizemax): New DEFUN. + +2010-07-20 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): + Added a bottom Fl_Box (copied from gmsh) and tooltips + +2010-07-20 Rik + + * DLD-FUNCTIONS/typecast.cc (typecast): Combine two @seealso macro + uses to one. + +2010-07-20 Jaroslav Hajek + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Use octave_idx_type instead of + unsigned long. Over-allocate by a factor 2 to reduce copying. + Attempt to estimate number of columns from first line. + Hoist tmp_stream out of the loop and reset it for each substring. + +2010-07-17 Rik + + * data.cc (repelems): Add more documentation about new function. + +2010-07-19 Jaroslav Hajek + + * data.cc (do_repelems): New helper func. + (Frepelems): New DEFUN. + +2010-07-19 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::gui_mode): + Use enum instead of int. Change all uses. + +2010-07-18 Kai Habel + + * DLD-FUNCTIONS/fltk_backend.cc: Add mode for mouse rotation. + (view2status): new function + * graphics.cc: Remove limitations for zooming and translation. + (axes::properties::rotate_view): new function + +2010-07-17 Rik + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/ccolamd.cc, + DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/dasrt.cc, + DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/eigs.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/sparse.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/symrcm.cc, dirfns.cc, + file-io.cc, syscalls.cc: Spellcheck documentation + +2010-07-08 Rik + + * DLD_FUNCTIONS/rand.cc: Correct typo in rande documentation. + (bug #30446). + +2010-07-13 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (mat2cell_mismatch, prepare_idx, + do_mat2cell_2d, do_mat2cell_nd, do_mat2cell): New helper funcs. + (Fmat2cell): Use them here. + +2010-07-13 Jaroslav Hajek + + * data.cc (do_sparse_diff): Use typecasts where needed. + +2010-07-12 Jaroslav Hajek + + * DLD-FUNCTIONS/rand.cc (do_rand): Pass the distribution name as an + argument. Ensure restoration using unwind_protect. + (Frand, Frandn, Frandg, Frandp, Frande): Update. + +2010-07-12 Jaroslav Hajek + + * unwind-prot.h (unwind_protect::fcn_crefarg_elem): New class. + (unwind_protect::add_fcn (void (*) (const T&), T)): New method + overload. + +2010-07-08 David Bateman + + * DLD-FUNCTIONS/__magick_read__,cc (F__magick_read__): Add the syntax + __magick_read__ ("file", "frames", "all"). + +2010-07-08 Rik + + * DLD_FUNCTIONS/eigs.cc: Initialize random number generator in test + blocks to get reproducible results. + +2010-07-08 Jaroslav Hajek + + * ov-cell.cc (Fstruct2cell): Use octave_map. Optimize. + +2010-07-07 Rik + + * pr-output.cc (calc_scale_exp): Avoid use of % operator on negative + operands for portability between C++ compilers. + (engineering_exponent): Avoid use of % operator. Keep calculation of + exponent within pr_engineering_float class. (encapsulation). + (num_digits): Rename from calc_digits. Return true number of digits = + 1 + calc_digits. + (calc_scale_exp): Rename from maybe_mod3 for readability. + (operator << (... pr_engineering_float pef): Use pef abbreviation for + pr_engineering_float. + +2010-07-07 David Bateman + + * graphics.h.in (axes): Add hidden property __hold_all. + +2010-07-07 Jaroslav Hajek + + * ov-class.h (octave_class::map): Turn to octave_map. + * ov-class.cc (octave_class): Update methods. + * ov-base.h, ov-base.cc (octave_base_value::old_map_value) : Remove. + * ov.h, ov.cc (octave_value::old_map_value) : Remove. + +2010-07-06 David Bateman + + * pr-output.cc (static bool print_eng): Flag engineering format, + (float_format::float_format (int, int, int, int)): New constructor. + (int float_format::ex): New field in the class. + (static int maybe_mod3 (const int&), static int + engineering_exponent (const double&), + static int calc_digits (const double&)): New functions + (class pr_engineering_float): New class + (std::ostream& operator << (std::ostream&, + const pr_formatted_float&)): New operator. Make it a friend of the + float_format class. + (static void set_real_format(...), + static void set_real_matrix_format (...), + static void set_complex_format(...), + static void set_complex_matrix_format (...), + static void set_range_format (...)): Set width for engineering format. + (static void set_format (...)): Call calc_digits to find the number + of digits in a value. + (static void pr_any_float (const float_format *, std::ostream&, + double, int)): Print engineering formats. + (static void init_format_state (void)): Set default state of print_eng. + (static void set_format_style (int, const string_vector&)): Parse + the "eng" argument. + (Fformat): Document the new engineering format. + +2010-07-04 Soren Hauberg + + * DLD_FUNCTIONS/__magick_read__.cc: restore locale after + GraphicsMagick initialisation. + +2010-07-02 Jaroslav Hajek + + * toplev.cc (octave_call_stack::do_backtrace): Use static + octave_fields struct. + (octave_call_stack::empty_backtrace): New static method. + * toplev.h: Declare it. + * error.cc (Vlast_error_stack, initialize_last_error_stack, + Frethrow): Use octave_map or octave_scalar_map where applicable. + +2010-07-02 Jaroslav Hajek + + * pt-mat.cc (tm_row_const::tm_row_const_rep::all_1x1, + tm_cont::all_1x1): New member fields. + (tm_row_const::tm_row_const_rep::init, tm_const::init): + Handle them here. + (tm_row_const::all_1x1_p, tm_const::all_1x1_p): New methods. + (single_type_concat (octave_map&, ...)): New template + overload. + (do_single_type_concat): New template specialization. + (tree_matrix::rvalue1): Specialize for cell and struct classes. + * oct-map.cc (octave_map::do_cat (..., const octave_map *, ...)): + Assign result dimensions. + +2010-07-02 Jaroslav Hajek + + * oct-map.cc (octave_map::cat (..., const octave_scalar_map *)): + Handle special dims (-1, -2). + * data.cc (do_single_type_concat_map): Don't handle them here. + +2010-07-01 Jaroslav Hajek + + * syscalls.cc (mk_stat_map, Funame): Use octave_scalar_map. + +2010-07-01 Jaroslav Hajek + + * oct-map.h (octave_scalar_map::assign (const std::string&, const + octave_value&), octave_map::assign (const std::string&, const Cell&)): + Backward-compatible aliases for setfield. + +2010-07-01 Jaroslav Hajek + + * oct-map.cc (octave_fields::equal_up_to_order (const octave_fields&, + octave_idx_type *)): New overload. + (octave_fields::equal_up_to_order (const octave_fields&, + Array&)): Use it here. + (octave_map::fast_elem_insert, + octave_map::fast_elem_extract): New methods. + * oct-map.h: Update decls. + * ov-struct.cc (octave_struct::fast_elem_extract, + octave_struct::fast_elem_insert, + octave_scalar_struct::fast_elem_insert_self): New methods. + * ov-struct.h: Update decls. + +2010-06-28 Jaroslav Hajek + + * data.cc (single_type_concat): Optimize all scalars case where + applicable. + (single_type_concat_map, do_single_type_concat_map): New funcs. + * pt-mat.cc (get_concat_class): Handle cell and struct concats. + + +2010-06-25 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fnum2cell, do_num2cell): Optimize cells + and structs. + +2010-06-25 Jaroslav Hajek + + * ov-struct.h (octave_scalar_struct::resize, octave_struct::resize): + Don't ignore fill argument. + +2010-06-25 Jaroslav Hajek + + * oct-map.h (octave_map::octave_map (const dim_vector&, const + octave_fields&)): New internal ctor. + + * oct-map.cc (octave_map::assign): Handle no fields case. + +2010-06-25 Jaroslav Hajek + + * ov-struct.cc (Fcell2struct): Rewrite. + +2010-06-30 Jaroslav Hajek + + * ov-range.cc (octave_range::save_ascii): Save length rather than + limit when inc is zero. Adjust comment. + (octave_range::save_binary, octave_range::save_hdf5): Ditto. + (octave_range::load_ascii): Assume limit is length when increment is + zero. + (octave_range::load_binary, octave_range::load_hdf5): Ditto. + + +2010-06-25 John W. Eaton + + * graphics.cc (reset_default_properties): New static function. + (root_figure::reset_default_properties, + figure::reset_default_properties, axes::reset_default_properties): + Use it to avoid duplicated code. + +2010-06-24 Rik + + * octave.cc: Add [FILE] to octave usage string (bug #30258). + +2010-06-24 Jaroslav Hajek + + * oct-map.h (octave_map, octave_scalar_map): New classes. + * oct-map.cc (octave_map, octave_scalar_map): Implement them. + (Octave_map::Octave_map (const octave_map&)): New ctor. + * ov-struct.h (octave_struct): Use octave_map for storage. + (octave_scalar_struct): New class. + * ov-struct.cc: Update implementations. + * ov-base.h (octave_base_value::old_map_value): New method. + (octave_base_value::map_value): Return octave_map. + (octave_base_value::scalar_map_value): New method. + * ov-base.cc (octave_base_value::old_map_value, + octave_base_value::map_value, octave_base_value::scalar_map_value): + Add default implementations. + * ov-class.h (octave_class::old_map_value): New override. + * ov-class.cc: Use old_map_value for efficiency. + +2010-06-23 David Bateman + + * graphics.cc (void root_figure::reset_default_properties (void), + void figure::reset_default_properties (void), + void figure::reset_default_properties (void), + Freset): New functions. + * graphics.h.in (void graphics_object:reset_default_properies (void), + virtual void base_graphics_object:reset_default_properies (void)): + New functions. + (void root_figure::reset_default_properties (void), + void figure::reset_default_properties (void), + void figure::reset_default_properties (void)): Declarations. + (std::string color_property::values_as_string (void) const, + Cell color_property::values_as_cell (void) const): New functions. + +2010-06-21 Rik + + * DLD-FUNCTIONS/dlmread.cc: Fix spreadsheet style range option. + (bug #30183). + +2010-06-21 David Bateman + + * graphics.cc (std::string radio_values:values_as_string (void) + const, Cell radio_values:values_as_cell (void) const): New functions. + (void graphics_object::set (const octave_value_list&)): Throw error + with no arguments. + (std::string base_graphics_object::values_as_string (void), + Octave_map base_graphics_object::values_as_struct (void)): New + functions. + (Fset): Allow single handle as an argument and return the radio + values. + * graphics.h.in (virtual bool base_property::is_radio (void) const, + virtual std::string base_property::values_as_string (void) const, + virtual Cell base_property::values_as_cell (void) const): + New function. + (std::string radio_values::values_as_string (void) const, + Cell radio_values::values_as_cell (void) const): Declaration. + (octave_idx_type radio_values::nelem (void) const): New function. + (std::string radio_property::values_as_string (void) const, + Cell radio_property::values_as_cell (void) const, + bool radio_property::is_radio (void) const): New functions. + (bool property::is_radio (void) const, + std::string raproperty::values_as_string (void) const, + Cell property::values_as_cell (void) const): New functions. + (std::string base_graphics_object::values_as_string (void), + Octave_map base_graphics_object::values_as_struct (void)): Declaration. + (std::string graphics_object::values_as_string (void), + Octave_map graphics_object::values_as_struct (void)): New functions. + +2010-06-21 Jaroslav Hajek + + * data.cc (single_type_concat): Assume matrix arguments start from + index zero. + (do_cat): Make dim a separate argument. Special-case support for dim = + -1 and dim = -2 + +2010-06-18 Jaroslav Hajek + + * pt-mat.cc (tm_row_const::eval_error): Make a static func. + (tm_row_const::do_init_element): Simplify using dim_vector::hvcat. + (tm_const::init): Ditto. + (single_type_concat): Special-case empty results. Skip or use 0x0 for + empty arrays otherwise. + (tree_matrix::rvalue1): Skip empty arrays in the fallback branch. + +2010-06-16 Rik + + * DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/dot.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/lookup.cc, + DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/onCleanup.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/svd.cc, + data.cc, dirfns.cc, graphics.cc, mappers.cc, ov-cell.cc, ov-range.cc: + Periodic grammar check of documentation to ensure a common format. + +2010-06-11 David Bateman + + * DLD-FUNCTIONS/rand.cc : Add "reset" flag to reset the random + generators from the entropy pool. + + * genprops.awk : Don't special case the color_property in the + factory default methods. + +2010-06-16 Jaroslav Hajek + + * data.cc (Fsort): Fix invalid tests. + +2010-06-15 Rik + + * pr-output.cc: Second try at removing extra newlines from NDArrays + +2010-06-14 Rik + + * pr-output.cc: Remove extra newlines when displaying multi-dimensional + arrays (bug #30029). + +2010-06-14 Jaroslav Hajek + + * data.cc (Fsort, Fnth_element): Fix behavior when trailing singleton + dim is specified. + +2010-06-12 Ben Abbott + + * DLD-FUNCTIONS/gammainc.cc: Fix doc-string typo. + +2010-06-11 David Bateman + + * DLD-FUNCTIONS/gammainc.cc: Implement complementary incomplete + gamma function. + +2010-06-10 Ben Abbott + + * data.cc: Fix test for concatentating empty nd-arrays. + +2010-06-10 Jaroslav Hajek + + * data.cc (Fvec): New DEFUN. + +2010-06-09 Jaroslav Hajek + + * data.cc (Freshape): Use octave_idx_type rather than int. + Don't use intermediate Array when sizes are given as separate + arguments. Simplify computing unknown dimension. + +2010-06-09 David Grundberg + + * ov-struct.cc (Fisfield): Accept cell array as name argument. + +2010-06-08 Rik + + * DLD-FUNCTIONS/bsxfun.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/tril.cc, + data.cc, ov.cc: Improve documentation string. + +2010-06-06 Michael Goffioul + + * data.cc (Frem, Fmod): Specify template arguments of binmap + explicitely. + +2010-06-02 Jaroslav Hajek + + * DLD-FUNCTIONS/strfind.cc (Fqs_replace): Allow overlapped matches. + (Fstrrep): Support "overlaps" option. + (Fstrfind): Ditto. + +2010-05-28 Jaroslav Hajek + + * ov.h (octave_value::fast_elem_extract, + octave_value::fast_elem_insert): New methods. + * ov-base.cc (octave_base_value::fast_elem_extract, + octave_base_value::fast_elem_insert, + octave_base_value::fast_elem_insert_self): New methods. + * ov-base.h: Declare them. + * ov-base-mat.cc (octave_base_matrix::fast_elem_extract, + octave_base_matrix::fast_elem_insert): New overrides. + * ov-base-mat.h: Declare them. + * ov-base-scalar.cc (octave_base_scalar::fast_elem_extract, + octave_base_scalar::fast_elem_insert_self): New overrides. + * ov-base-scalar.h: Declare them. + (octave_base_scalar::scalar_ref): New method. + * ov-scalar.cc (octave_scalar::fast_elem_insert_self): New override. + * ov-scalar.h: Declare it. + * ov-float.cc (octave_float_scalar::fast_elem_insert_self): New override. + * ov-float.h: Declare it. + * ov-cell.cc (octave_base_matrix::fast_elem_extract, + octave_base_matrix::fast_elem_insert): New specializations. + * DLD-FUNCTIONS/cellfun.cc (scalar_col_helper, scalar_col_helper_def, + scalar_col_helper_nda, make_col_helper, can_extract): Remove. + (Fcellfun): Use the new fast_elem_insert method. + +2010-05-10 Rik + + * DLD-FUNCTIONS/eigs.cc: Improve documentation string. + Use ~ notation instead of dummy variables for unused return arguments. + +2010-05-27 Jaroslav Hajek + + * ov-base-mat.h (octave_base_matrix::matrix_ref (void) const): New + overload. + +2010-05-26 Jaroslav Hajek + + * oct-obj.h (octave_value_list::slice): Optionally include tags in + slicing. + * oct-parse.yy (get_feval_args): Simplify. + * pt-idx.cc (make_value_list): Use octave_idx_type instead of int. + +2010-05-25 Jaroslav Hajek + + * ov.cc (octave_value::length): Simplify. + +2010-05-25 Jaroslav Hajek + + * ov-base-mat.h (octave_base_matrix::ndims): New override. + * ov-base-scalar.h (octave_base_scalar::numel, + octave_base_scalar::ndims): New overrides. + +2010-05-25 Jaroslav Hajek + + * ov-base.cc (octave_base_value::ndims): Remove fallback + implementation (makes no sense). + * ov-base.h (octave_base_value::ndims): Use a simplistic fallback + here. + +2010-05-25 Jaroslav Hajek + + * ov-base.h (octave_base_value::rows, octave_base_value::columns): + Use const where appropriate, don't test for impossible condition. + +2010-05-24 Jaroslav Hajek + + * Cell.h (Cell::index, Cell::assign, Cell::delete_elements): + Make signatures consistent with inherited overloads. Import inherited + overloads to class's scope. + * oct-map.cc (Octave_map::maybe_delete_elements): Simplify. + +2010-05-20 John W. Eaton + + * utils.cc (Ffile_in_path, Ffile_in_loadpath): If no file is + found, return empty character string instead of empty matrix. + +2010-05-20 Jaroslav Hajek + + * DLD-FUNCTIONS/onCleanup.cc (octave_oncleanup::load_ascii, + octave_oncleanup::load_binary, octave_oncleanup::load_hdf5, + octave_oncleanup::save_ascii, octave_oncleanup::save_binary, + octave_oncleanup::save_hdf5): Comment out unused params. + +2010-05-18 Jaroslav Hajek + + * defun-int.h (octave_auto_shlib): Make members public. + * DLD-FUNCTIONS/onCleanup.cc: New source. + * DLD-FUNCTIONS/module-files: Add it here. + +2010-05-18 Jaroslav Hajek + + * variables.cc (set_internal_variable (int&, ..., const char **)): + Drop nchoices argument. Instead determine nchoices by trailing NULL. + * variables.h (SET_INTERNAL_VARIABLE_CHOICES): Update. + * DLD-FUNCTIONS/svd.cc (Fsvd_driver): Update. + +2010-05-17 Jaroslav Hajek + + * variables.cc (set_internal_variable (int&, ..., const char **, int)): + New overload. + * variables.h: Declare it. + (SET_INTERNAL_VARIABLE_CHOICES): New macro. + * DLD-FUNCTIONS/svd.cc (Fsvd_driver): Use it here. + +2010-05-17 Jaroslav Hajek + + * ov-usr-fcn.h (octave_user_function::curr_unwind_protect_frame): New + field. + (octave_user_function::local_protect): New template method. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Initialize it here. + (octave_user_function::do_multi_index_op): Set and restore it here. + * variables.cc (wants_local_change, try_local_protect): New helper + funcs. + (set_internal_variable): Call them in all overloads. + +2010-05-14 Jaroslav Hajek + + * symtab.cc (symtab::do_mark_global, symtab::do_mark_hidden): Force + non-existing symbol to be created. + +2010-05-13 Jaroslav Hajek + + * xdiv.cc (solve_singularity_warning): Use ID for the warning. + +2010-05-13 Jaroslav Hajek + + * DLD-FUNCTIONS/sqrtm.cc (sqrtm_utri_inplace): Use an ID for the + warning. + +2010-05-13 Jaroslav Hajek + + * load-save.cc (install_loaded_variable): Pre-extract symbol record + reference to do all operations. + +2010-05-11 David Bateman + + * ls-mat5.cc (save_mat5_element_length): Correct element length for + sparse elements with NZMAX=1 or NC=0. + (save_mat5_binary_element): Save the NZMAX elements of the RIDX + sparse index. + +2010-05-11 Jaroslav Hajek + + * ov-lazy-idx.cc (octave_lazy_index::save_binary): Fix arguments to + save_binary_data. + +2010-05-07 Jaroslav Hajek + + * DLD-FUNCTIONS/sqrtm.cc (do_sqrtm): Mark the result as triangular + where applicable. + +2010-05-10 Rik + + * DLD-FUNCTIONS/qr.cc: Split qrdelete test into high precision test + when QRUPDATE is present and low precision when it is not. + +2010-05-10 Jaroslav Hajek + + * DLD-FUNCTIONS/schur.cc (Fschur): Mark triangular matrices on output. + +2010-05-10 Jaroslav Hajek + + * ov-range.cc (octave_range::index_vector): Optimize order of + conditions. + +2010-05-08 Jaroslav Hajek + + * ov.cc (octave_value::do_non_const_unary_op): Always return *this as + octave_value&. Remove unused overload. + * oct-lvalue.cc (octave_lvalue::do_unary_op): Simplify. + * pt-unop.cc (tree_prefix_expression::rvalue1, + tree_postfix_expression::rvalue1): Remove dummy rvalue1 calls. + +2010-05-07 Michael Goffioul + + * ov-base.h (Vsparse_auto_mutate): Add OCTINTERP_API tag. + +2010-05-07 John W. Eaton + + * octave.cc (maximum_braindamage): Set value of internal + variable Vallow_noninteger_range_as_index to true instead of + setting Octave:allow-noninteger-ranges-as-indices warning state. + * ov-range.cc (Fallow_noninteger_range_as_index): New function. + (Vallow_noninteger_range_as_index): New variable. + (octave_range::index_vector): Only allow non-integer range as + index if Vallow_noninteger_range_as_index is true. + (octave_range::bool_array_value): Move definition here from ov-range.h. + * ov-range.h (Vallow_noninteger_range_as_index): Provide decl. + * utils.cc (reset_warning_state): Delete. + (Fisindex): Temporarily set Vallow_noninteger_range_as_index + instead of changing warning state for + Octave:allow-noninteger-ranges-as-indices to "error". + +2010-05-06 John W. Eaton + + * xgl2ps.c: Don't compile gl2ps.c unless we have OpenGL. + From Petr Mikulik . + +2010-05-06 John W. Eaton + + * ov-range.cc (octave_range::index_vector): + Improve warning/error message. + +2010-05-06 Jaroslav Hajek + + * DLD-FUNCTIONS/sqrtm.cc (sqrtm_utri_inplace, do_sqrtm): New helper + functions. + (Fsqrtm): Rewrite. + +2010-05-06 Jaroslav Hajek + + * DLD-FUNCTIONS/schur.cc (Fschur): Recognize "complex" option for + Matlab compatibility. Simplify argument handling and improve error + messages. + +2010-05-05 John W. Eaton + + * utils.cc (reset_warning_state): New function. + (Fisindex): Temporarily set warning state for + Octave:allow-noninteger-ranges-as-indices to "error". + * error.cc (set_warning_state): New function. + (initialize_default_warning_state): Set default warning state + for Octave:allow-noninteger-ranges-as-indices to "error". + * error.h (set_warning_state): Provide decl. + * octave.cc (maximum_braindamage): Set warning state for + Octave:allow-noninteger-ranges-as-indices to "on". + * ov-range.cc (octave_range::index_vector): Warn if range + contains non-integer values. + +2010-05-03 Jaroslav Hajek + + * DLD-FUNCTIONS/svd.cc (driver): New static var. + (Fsvd): Use it to select a driver. + (Fsvd_driver): New DEFUN. + +2010-05-02 Rik + + * ov-cell.cc: Wrap documentation line to prevent overfull hbox + LaTex warning + +2010-05-01 Ben Abbott + + * graphics.cc, graphics.h.in: Remove line object properties ldata, + udata, xldata, xudata. + +2010-04-30 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_axes_currentpoint): + check for valid object before manipulating it + +2010-04-27 John W. Eaton + + * graphics.h.in (string_array_property::string_array_property): + Index string_vector with [], not (). + (string_array_property::string_value): Likewise. + (string_array_property::do_set): Likewise. + Avoid indexing past last element of string_vector object. + Fixes bug #29695. + +2010-04-27 Jaroslav Hajek + + * ov-cs-list.cc (octave_cs_list::subsref): New methods. Just gripe. + * ov-cs-list.h: Declare them. + +2010-04-27 John W. Eaton + + * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): + Correct spelling of max_recursion_depth in error message. + (octave_usr_fcn::do_multi_index_op): Ditto. + * pt-eval.h, pt-eval.cc (Vmax_recursion_depth): Move definition + here from ov-usr-fcn.cc. Now extern. + (Fmax_recursion_depth): Move definition here from ov-usr-fcn.cc. + * oct-parse.yy (source_file): Limit recursive calls on a + per-file basis. + Addresses bug #29491. + +2010-04-25 David Bateman + + * oct-parse.yy (octave_function * load_fcn_from_file + (const std::string&, const std::string&, const std::string&) + (const std::string&, bool)): When loading a mex-file attempt + to load the m-file first to get the help string. + +2010-04-24 Ben Abbott + + * graphics.h.in: Have figure color property support a radio value, + 'none'. + +2010-04-24 David Bateman + + * graphics.cc (void axes::properties::set_defaults + (base_graphics_object&, const std::string&)): Make the default + axes color "none". + +2010-04-24 Shai Ayal + + * Makefile.am: change GRAPHICS_CPPFLAGS to GRAPHICS_CFLAGS since + the former does not exist and the latter serves the same purpose + +2010-04-23 Rik + + * Makefile.am: Clarify compilation note about defaults.h + +2010-04-23 Rik + + * symtab.h: Clear global variables when 'clear -all' called + +2010-04-23 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::OpenGL_fltk): + Explicitly initizlize all data members in the order they are declared. + +2010-04-23 John W. Eaton + + * txt-eng-ft.cc (ft_render::visit): Declare loop counter size_t, + not int. + + * graphics.h.in (graphics_xform::untransform): Likewise. + * graphics.cc (text::properties::update_text_extent): Likewise. + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_axes_currentpoint): + Avoid GCC shadow variable warning. + + * DLD-FUNCTIONS (plot_window::plot_window): Explicitly + initialize all data members in the order they are declared. + +2010-04-23 John W. Eaton + + * DLD-FUNCTIONS/gcd.cc (Fgcd): Use two-argument dim_vector constructor. + + * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): + Explicitly create idx_vec with column orientation. + + * oct-obj.cc (octave_value_list::octave_value_list): + Explicitly resize data to be row vector. + +2010-04-23 Rik + + * DLD-FUNCTIONS/regexp.cc.: Eliminate compile warning. + warning: suggest explicit braces to avoid ambiguous 'else'. + +2010-04-23 Jaroslav Hajek + + * ov-base-scalar.h (octave_base_scalar::reshape, + octave_base_scalar::permute): Remove implementations. + * ov-base-scalar.cc (octave_base_scalar::reshape, + octave_base_scalar::permute): Provide correct implementations here. + +2010-04-23 Jaroslav Hajek + + * ov-bool.h (octave_bool::empty_clone): Correctly return an empty + matrix. + * ov-float.h (octave_float::empty_clone): Ditto. + * ov-base-mat.h (octave_base_matrix::clone, + octave_base_matrix::empty_clone): Remove. + * ov-base-scalar.h (octave_base_scalar::clone, + octave_base_scalar::empty_clone): Remove. + * ov-base-sparse.h (octave_base_sparse::clone, + octave_base_sparse::empty_clone): Remove. + * ov-base.h (octave_base_value::empty_clone): Remove implementation. + * ov-base.cc (octave_base_value::empty_clone): Implement here. + Fall back to resize() for empty_clone(). + * ov.cc (octave_value::assign): Correct behavior in the indexed + OP= case. Use better error messages. Always return non-const + reference, like any assignment. + * ov.h: Update decls. + * oct-lvalue.cc (octave_lvalue::assign): Simplify. + +2010-04-22 Rik + + * DLD-FUNCTIONS/hess.cc.: return correct Hessenberg matrix when + called with only one output argument. + +2010-04-22 Jaroslav Hajek + + * data.cc (do_hypot): New helper function. Move bulk code from Fhypot + here. + (Fhypot): Account for >2 args by folding do_hypot several times. + +2010-04-20 Jaroslav Hajek + + * pt-mat.cc (single_type_concat): New overloads. Make TYPE an explicit + template parameter. Try to forward some cases to Array::cat and + Sparse::cat. + (do_single_type_concat, do_single_type_concat_no_mutate): Don't + allocate the array here, let single_type_concat do it. + +2010-04-19 Jaroslav Hajek + + * data.cc (single_type_concat, do_single_type_concat): Rewrite using + new liboctave facilities. + (do_cat): Don't compute result dims if the case can be forwarded to + liboctave. + +2010-04-13 David Bateman + + * graphics.cc (void text::properties::update_text_extent (void)): + Don't call text_renderer.set_font if HAVE_FONTCONFIG is not set. + +2010-04-13 David Bateman + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Handle repeated matches + in the list of matches returned by pcre. + +2010-04-13 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::set_currentpoint, + (plot_window::set_axes_currentpoint, plot_window::key2shift, + (plot_window::key2ascii, plot_window::modifier2cell): New helper + functions for keypress and mousebutton callbacks. + (plot_window::handle): implement keypress and mousebutton callbacks. + + * graphics.h.in (callback_property::is_defined): New conveniance + function. Rename figure.current_point to figure.currentpoint. + +2010-04-13 Jaroslav Hajek + + * DLD-FUNCTIONS/sparse.cc (Fspalloc): New DEFUN. + * ov-base.cc (octave_base_value::nzmax): Return numel by default. + +2010-04-13 Jaroslav Hajek + + * ov-base-sparse.cc (octave_base_sparse::assign): Rewrite. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::assign + (const octave_value_list& idx, const SparseMatrix& rhs)): Remove. + * ov-cx-sparse.h: Remove decl. + +2010-04-10 Ben Abbott + + * graphics.h.in: Fix nextplot property values. Add "new" to + list for axes nextplot values. Change "replace_children" to + "replacechildren" for both axes and figures. + +2010-04-09 David Bateman + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Properly ignore + zero-length matches in named tokens. + +2010-04-09 John W. Eaton + + * ov-ch-mat.h (octave_char_matrix::mex_get_data): New function. + Addresses bug #29475. + +2010-04-09 Judd Storrs + + * utils.cc (isvarname): Keywords are not valid variable names. + +2010-04-08 Jaroslav Hajek + + * help.cc (make_name_list): Don't insert global and top-level scope + variables. Always insert current scope. + +2010-04-08 Jaroslav Hajek + + * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): Replace by + templates. + (single_type_concat, do_single_type_concat): New static temvplate + funcs. Correctly skip 0x0 matrices. + (Fcat): Call them here. Add tests. + +2010-04-07 Jaroslav Hajek + + * oct-parse.yy (feval): Use do_multi_index_op on handles. + (get_feval_args): Use array slicing functions rather than loops. + +2010-04-06 Jaroslav Hajek + + * ov-base-sparse.cc (octave_base_sparse::delete_elements): Rewrite. + +2010-04-02 Judd Storrs + + * octave.cc (intern_argv): Truncate argv when script files are + run without command line parameters. Resolves bug #29423. + +2010-03-31 Jaroslav Hajek + + * DLD-FUNCTIONS/sparse.cc (Fsparse): Rewrite. + +2010-03-28 David Grundberg + + * DLD-FUNCTIONS/convhulln.cc [HAVE_QHULL]: Neither include + qhull/qhull_a.h nor run tests if unless we HAVE_QHULL. + +2010-03-26 Jaroslav Hajek + + * variables.cc (maybe_missing_function_hook): Temporarily clear before + executing the hook to avoid recursive calls. + +2010-03-25 John W. Eaton + + * gl2ps-renderer.cc (glps_renderer::draw): Tag call to fclose + with gnulib::. + +2010-03-25 John W. Eaton + + * oct-parse.yy, oct-fstrm.cc, mex.cc, input.cc, + c-file-ptr-stream.cc: Revert changes from 2010-03-24. + +2010-03-25 Jaroslav Hajek + + * kron.cc (Fkron): Completely rewrite. + +2010-03-24 John W. Eaton + + * version.h.in (OCTAVE_BUGS_STATEMENT): Point to + http://www.octave.org/bugs.html, not the mailing list. + +2010-03-24 John W. Eaton + + * DLD-FUNCTIONS/config-module.awk: Emit additions to EXTRA_DIST. + +2010-03-24 John W. Eaton + + * Makefile.am ($(srcdir)/DLD-FUNCTIONS/module.mk): + Remove doubled // from file name in rule. + +2010-03-24 David Grundberg + + * oct-parse.yy: Include gnulib stdlib.h/stdio.h instead of C++ + headers. + * oct-fstrm.cc: Include gnulib stdlib.h/string.h instead of C++ + headers. + * mex.cc: Include gnulib stdlib.h instead of C++ headers. + * input.cc: Include gnulib stdio.h instead of C++ headers. + * c-file-ptr-stream.cc: Include gnulib stdio.h. + +2010-03-24 John W. Eaton + + * load-path.cc (load_path::add_to_fcn_map): Style fixes. + +2010-03-24 Jaroslav Hajek + + * variables.cc (maybe_missing_function_hook): Don't call hook if + errors are being handled. + +2010-03-24 Jaroslav Hajek + + * variables.cc (Fmissing_function_hook): New pseudo-variable. + (Vmissing_function_hook): New static var. + (maybe_missing_function_hook): New function. + * variables.h: Declare it. + * pt-id.cc (tree_identifier::eval_undefined_error): Call it here. + * oct-parse.yy (feval (const std::string&, ...)): Also here. + +2010-03-23 Jaroslav Hajek + + * data.cc (Frem, Fmod): New DEFUNs. + (Ffmod): Remove. Make an alias of Frem. + +2010-03-23 Jaroslav Hajek + + * data.cc (map_d_m, map_m_d, map_m_m, map_f_fm, map_fm_f, map_fm_fm, + map_d_s, map_s_d, map_s_s): Remove. + (Fatan2, Fhypot, Ffmod): Rewrite using binmap. + +2010-03-21 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix the parsing of string + function arguments. + +2010-03-20 John W. Eaton + + * lex.ll: Don't undefine GNULIB_NAMESPACE. Define fprintf, + fwrite, malloc, and realloc and GNULIB_NAMESPACE::fprintf, ... + * oct-parse.yy: Likewise. Always include cstdlib. + +2010-03-16 John W. Eaton + + * ls-oct-ascii.cc (save_ascii_data): Insert extra newline after + data is written to file. From Brett Stewart . + +2010-03-16 Jaroslav Hajek + + * ov-base.h (unary_mapper_t::umap_cbrt): New enum member. + * ov.h (octave_value::cbrt): New forwarder method. + * ov-scalar.cc (octave_scalar::map): Handle cbrt. + * ov-float.cc (octave_float_scalar::map): Ditto. + * ov-re-mat.cc (octave_matrix::map): Ditto. + * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. + * ov-re-sparse.cc (octave_sparse_matrix::map): Ditto. + +2010-03-15 John W. Eaton + + * oct-parse.yy, lex.ll: Undefine GNULIB_NAMESPACE immediately + after including . + + * toplev.cc (wait_for_input): Tag call to select with gnulib::. + + * sighandlers.h (BLOCK_SIGNAL): Tag calls to sigemptyset, + sigaddset, and sigprocmask with gnulib::. + (UNBLOCK_CHILD): Tag call to sigprocmask with gnulib::. + * sighandlers.cc (octave_set_signal_handler): Tag calls to + sigemptyset with gnulib::. + (octave_set_signal_handler): Tag call to sigaction with gnulib::. + + * oct-procbuf.cc (octave_procbuf::open): Tag calls to close, dup2, + and fclose with gnulib::. + (octave_procbuf::close): Tag call to fclose with gnulib::. + + * oct-hist.cc (unlink_cleanup): Tag call to unlink with gnulib::. + + * oct-fstrm.cc (octave_fstream::octave_fstream): Tag call to + strerror with gnulib::. + + * mex.cc (mex::malloc_unmarked, mex::realloc, mxArray::malloc, + mxMalloc, mxRealloc): Tag call to malloc with gnulib::. + + * input.cc (gnu_readline): Tag call to fputs with gnulib::. + + * file-io.cc (cleanup_tmp_files): Tag call to unlink with gnulib::. + (do_stream_open, Ftmpfile, Fmkstemp): Tag call to strerror with + gnulib::. + + * dirfns.cc (octave_change_to_directory): Tag call to strerror + with gnulib::. + + * c-file-ptr-stream.cc (c_file_ptr_buf::overflow): Tag calls to + fputc with gnulib::. + (c_file_ptr_buf::xsputn): Tag call to fwrite with gnulib::. + (c_file_ptr_buf::file_close): Move here from + c-file-ptr-stream.h. Tag call to fclose with gnulib::. + +2010-03-12 Ben Abbott + + * /DLD-FUNCTIONS/chol.cc: Increase tolerance for single precision test. + +2010-03-09 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Fix deprecated array constructor. + +2010-03-09 Jaroslav Hajek + + * ov-intx.h + (OCTAVE_INT_NDARRAY_T::convert_gripe): Remove method. + (OCTAVE_INT_NDARRAY_T): Remove all uses. + (OCTAVE_INT_T::convert_gripe): Remove method. + (OCTAVE_INT_T): Remove all uses. + * ov.cc (convert_to_int_array, convert_to_octave_idx_type_array): + Remove int conversion warnings. + * data.cc (NATIVE_REDUCTION_1): Ditto. + + * OPERATORS/op-intx.h: Remove integer warning stubs. + * OPERATORS/opt-int-conv.cc: Ditto. + + * gripes.cc (gripe_truncated_conversion, + gripe_binop_integer_math_truncated, + gripe_native_integer_math_truncated, + gripe_unop_integer_math_truncated, gripe_non_integer_conversion, + gripe_nan_conversion): Remove. + * gripes.h: Remove decls. + * error.cc (initialize_default_warning_state): Don't initialize + removed warnings. + +2010-03-07 Michael Goffioul + + * gl-render.cc (draw_figure): disable depth test on the 3rd pass. + (draw_text): use get_data_position to get text position. + * graphics.h.in (graphics_xform): New zlim field. + (graphics_xform::untransform(double,double,bool)): New method. + (axes::properties::get_transform): Provide zlim data to graphics_xform + constructor. + (text::properties::string, text::properties::units, + text::properties::rotation, text::properties::fontname, + text::properties::fontangle, text::properties::fontsize, + text::properties::fontweight, text::properties::interpreter): Add 'u' + modified. + (text::properties::extent): New property. + (text::properties::get_data_position): New method. + (text::properties::update_position): Use it. + (text::properties::update_text_extent, + text::properties::update_string, text::properties::update_rotation, + text::properties::update_fontname, text::properties::update_fontsize, + text::properties::update_fontangle, + text::properties::update_fontweight, + text::properties::update_interpreter, text::properties::update_units): + New updaters. + * graphics.cc (convert_position): Support single point. + (convert_text_position): New helper function. + (text::properties::get_data_position, text::properties::get_extent, + text::properties::update_text_extent, text::properties::update_units): + New methods. + * txt-eng-ft.h (ft_render::get_extent, ft_render::rotation_to_mode): + New methods. + * txt-eng-ft.cc (ft_render::get_extent, ft_render::rotation_to_mode): + Ditto. + +2010-03-05 Jaroslav Hajek + + * data.cc (do_accumdim_sum): New helper function. + (F__accumdim_sum__): New DEFUN. + +2010-03-04 Jaroslav Hajek + + * ov-base.h (unary_mapper_t::umap_erfcx): New enum member. + * ov.h (octave_value::erfcx): New forwarder method. + * ov-scalar.cc (octave_scalar::map): Handle erfcx. + * ov-float.cc (octave_float_scalar::map): Ditto. + * ov-re-mat.cc (octave_matrix::map): Ditto. + * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. + +2010-03-03 John W. Eaton + + * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__): + Call Magick::InitializeMagick. + +2010-03-02 Jaroslav Hajek + + * DLD-FUNCTIONS/__convn__.cc: Remove. + * DLD-FUNCTIONS/module-files: Update. + +2010-03-02 Jaroslav Hajek + + * DLD-FUNCTIONS/conv.cc (Fconv2): Rewrite using convn from liboctave. + (Fconvn): New DEFUN. + +2010-03-01 John W. Eaton + + * (str2double1): Pass argument as const reference and make + explicit copy instead of passing by value. + +2010-03-01 John W. Eaton + + * DLD-FUNCTIONS/str2double.cc (set_component): Use autoconf + macros instead of checking predefined compiler macros. + (str2double1): Pass val to set_component, not c. + +2010-03-01 Jaroslav Hajek + + * DLD-FUNCTIONS/str2double.cc (set_component): New helper func. + (str2double1): Use it here. + +2010-03-01 Jaroslav Hajek + + * DLD-FUNCTIONS/str2double.cc (str2double1): Use ISO-conformant code + for setting the real and imaginary part. + +2010-02-28 David Bateman + + * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Don't set + CURLOPT_USERPWD if userpwd is empty. + +2010-02-28 John W. Eaton + + * Makefile.am ($(srcdir)/DLD-FUNCTIONS/module.mk): New target. + + * DLD-FUNCTIONS/config-module.sh: Accept top_srcdir argument. + Work from build directory too, not just source tree. + +2010-02-28 Jaroslav Hajek + + * ov-typeinfo.h (octave_value_typeinfo::octave_value_typeinfo): + Add missing initializers. + +2010-02-28 John W. Eaton + + * DLD-FUNCTIONS/conv2.cc (conv2 (const MArray&, const MArray&, + Shape)): Args are now const. Move invariant expressions outside + of loops. Use pointers instead of Array class indexing methods. + (conv2 (const MArray&, const MArray&, const MArray&, Shape)): + Ditto. + +2010-02-27 Jaroslav Hajek + + * ov-base-mat.cc (do_index_op): Use checkelem for scalar indices. + Simplify. + +2010-02-26 Jaroslav Hajek + + * xpow.cc: Update. + * ov-base-diag.cc: Update. + +2010-02-25 Jaroslav Hajek + + * DLD-FUNCTIONS/str2double.cc (single_number): New helper func. + (extract_number): Call it instead of >> to get Inf's and NaN's + correctly. + +2010-02-25 Jaroslav Hajek + + * DLD-FUNCTIONS/str2double.cc: New source. + +2010-02-19 John W. Eaton + + * DLD-FUNCTIONS/qr.cc: Increase tolerance for test. + +2010-02-24 Jaroslav Hajek + + * TEMPLATE-INST/Array-tc.cc: Remove Array2 instantiation. + * DLD-FUNCTIONS/besselj.cc: Use Array instead of Array2. + * DLD-FUNCTIONS/tril.cc: Ditto. + * data.cc: Ditto. + * ov-typeinfo.cc: Ditto. + * ov-typeinfo.h: Ditto. + * pr-output.cc: Ditto. + +2010-02-23 Jaroslav Hajek + + * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const + Array&)): New ctor. + * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (const + Array&)): New ctor. + * ov-str-mat.h (octave_char_matrix_str::octave_char_matrix_str (const + Array&)): New ctor. + (octave_char_matrix_sq_str::octave_char_matrix_sq_str (const + Array&)): New ctor. + +2010-02-23 Jaroslav Hajek + + * Cell.cc: Reflect Array API changes. + * DLD-FUNCTIONS/__convn__.cc: Ditto. + * DLD-FUNCTIONS/__glpk__.cc: Ditto. + * DLD-FUNCTIONS/__magick_read__.cc: Ditto. + * DLD-FUNCTIONS/bsxfun.cc: Ditto. + * DLD-FUNCTIONS/cellfun.cc: Ditto. + * DLD-FUNCTIONS/conv2.cc: Ditto. + * DLD-FUNCTIONS/dlmread.cc: Ditto. + * DLD-FUNCTIONS/filter.cc: Ditto. + * DLD-FUNCTIONS/kron.cc: Ditto. + * DLD-FUNCTIONS/qz.cc: Ditto. + * DLD-FUNCTIONS/regexp.cc: Ditto. + * DLD-FUNCTIONS/sub2ind.cc: Ditto. + * data.cc: Ditto. + * file-io.cc: Ditto. + * gl-render.cc: Ditto. + * ls-mat5.cc: Ditto. + * oct-map.cc: Ditto. + * oct-obj.h: Ditto. + * oct-parse.yy: Ditto. + * oct-stream.cc: Ditto. + * ov-base-mat.cc: Ditto. + * ov-base-sparse.cc: Ditto. + * ov-perm.cc: Ditto. + * ov-struct.cc: Ditto. + * ov-typeinfo.cc: Ditto. + * ov-typeinfo.h: Ditto. + * ov.cc: Ditto. + * pr-output.cc: Ditto. + * pt-mat.cc: Ditto. + * strfns.cc: Ditto. + * txt-eng-ft.cc: Ditto. + * variables.cc: Ditto. + +2010-02-22 John W. Eaton + + * ls-mat5.cc: Use numel instead of nelem consistently and where + appropriate in all functions. + (read_mat5_binary_element): Declare ridx and cidx as pointer to + octave_idx_type, not int. + (read_mat5_integer_data): Declare count as octave_idx_type, not int. + (READ_INTEGER_DATA): Loop counter is octave_idx_type, not int. + (OCTAVE_MAT5_INTEGER_READ): Declare n and loop counter as + octave_idx_type, not int. + (read_mat5_binary_element): Rows and columns of sparse matrix + are octave_idx_type, not int. Declare nzmax and nnz as + octave_idx_type. Read nzmax as 32-bit int, and assign. Move + decls closer to first use. + (read_mat5_binary_data): Declare count as octave_idx_type, not int. + (read_mat5_binary_element, write_mat5_array): + Use octave_idx_type instead of int for numel and loop counters. + (write_mat5_array): Declare len and nel as octave_idx_type. + Move declarations closer to first use. + (write_mat5_tag): Declare bytes arg as octave_idx_type, not int. + (write_mat5_integer_data): Declare nel as octave_idx_type, not int. + (write_mat5_cell_array): Declare nel and loop counter as + octave_idx_type, not int. + (save_mat5_array_length): Declare nel nad loop counters as + octave_idx_type, not int. + (save_mat5_binary_element): Declare dims and counters as + octave_idx_type, not int. Delete unused streampos variables. + Call write_mat5_sparse_index_vector to write ridx and cidx. + Don't write element if dimension is too large to save. + (gripe_dim_too_large, write_mat5_sparse_index_vector): New functions. + +2010-02-22 Carlo de Falco + + * dirfns.cc (Fglob): Make glob function test more robust. + +2010-02-21 Michael Goffioul + + * gl-render.h: Define WIN32_LEAN_AND_MEAN and don't #undef min/max. + * DLD-FUNCTIONS/fltk_backend.cc: Don't #undef min/max. + + * sighandlers.cc (octave_set_signal_handler): Don't use SIGALRM + unconditionally. + + * ov-bool.h (class octave_bool): Add OCTINTERP_API. + * unwind-prot.h (class unwind_protect_safe): Ditto. + + * Makefile.am: Add -bindir flag to liboctinterp_la_LDFLAGS. Remove + temporary libtool module file after copying oct file. + +2010-02-19 John W. Eaton + + * DLD-FUNCTIONS/qr.cc: Increase tolerance for test. + +2010-02-19 Jaroslav Hajek + + * ov-lazy-idx.cc (octave_lazy_index::reshape, + octave_lazy_index::squeeze, octave_lazy_index::permute, + octave_lazy_index::sort, octave_lazy_index::is_sorted, + octave_lazy_index::sort_rows_idx, octave_lazy_index::is_sorted_rows): + New method overrides. + * ov-lazy-idx.h: Declare them. + * ov-re-mat.cc (octave_matrix::reshape, octave_matrix::squeeze, + octave_matrix::sort, octave_matrix::is_sorted, + octave_matrix::sort_rows_idx, octave_matrix::is_sorted_rows): New + method overrides. + * ov-re-mat.h: Declare them. + +2010-02-19 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc (Ffind): Avoid unsafe conversion from Inf to + integer. + +2010-02-18 Jaroslav Hajek + + * syscalls.cc (mk_stat_result): New helper function. + (Flstat): Call it here. + (Fstat): Also here. Handle also the fstat case here. + +2010-02-18 Thorsten Meyer + + * dirfns.cc (Fglob): Document globbing patterns, add test. + +2010-02-18 Jaroslav Hajek + + * load-path.cc (in_path_list): New helper function. + (add_to_fcn_map): Use it here. + +2010-02-18 S�ren Hauberg + + * DLD-FUNCTIONS/__magick_read__.cc (__magick_finfo__): + Handle multiple frames in a single image file. + +2010-02-18 John W. Eaton + + * oct-map.h (Octave_map::Octave_map): Allow dimension to also be + specified in string_vector constructor. + +2010-02-17 John W. Eaton + + * Makefile.am (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): + Include ../libcruft/libranlib.la in the list. + * oct-conf.h.in (OCTAVE_CONF_F77_INTEGER_8_FLAG): New macro. + * toplev.cc (octave_config_info): Include F77_INTEGER_8_FLAG in + the struct. + +2010-02-17 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Return an idx_vector + when left_inf is in effect, to enable lazy index optimization. + +2010-02-16 Jaroslav Hajek + + * ov-lazy-idx.h: New source. + * ov-lazy-idx.cc: New source. + * ov.cc (install_types): Register lazy_index here. + (octave_value::octave_value (const idx_vector&)): Use lazy + construction if possible, under control of an optional flag. + (octave_value::clone): Implement. + * ls-hdf5.cc (save_hdf5): Avoid saving lazy indices. + +2010-02-15 Jaroslav Hajek + + * ov-fcn-handle.h (octave_fcn_handle::print_as_scalar): New method + override. + +2010-02-15 Jaroslav Hajek + + * ov-fcn-handle.cc (octave_fcn_handle::is_equal_to): New method. + * ov-fcn-handle.h: Declare it. + * OPERATORS/op-fcn.cc (eq, ne): Call it here. Register new handler. + +2010-02-13 Jaroslav Hajek + + * load-path.cc (load_path::do_any_class_method): Rename to + do_overloads. Return a list of classes. + * load-path.h (load_path::any_class_method): Likewise. + * symtab.cc (get_dispatch_type): Rewrite. + * symtab.h (get_dispatch_type): Update decl. + * ov-fcn-handle.h (octave_fcn_handle): Partially rewrite. + (octave_fcn_handle::builtin_overloads, octave_fcn_handle::overloads, + octave_fcn_handle::has_overloads): New members. + * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Rewrite. + (make_fcn_handle): Partially rewrite. + +2010-02-11 John W. Eaton + + * DLD-FUNCTIONS/config-module.awk, genprops.awk, graphics.h.in, + mkgendoc, mk-pkg-add, mxarray.h.in, zfstream.cc, zfstream.h: + Untabify. + +2010-02-11 John W. Eaton + + * strfns.cc (Fstrcmpi, Fstrncmpi): Use DEFUNX instead of DEFUN. + (Fstrncmpi): Report strncmpi in error message, not strncmp. + +2010-02-11 John W. Eaton + + * Cell.cc, bitfcns.cc, c-file-ptr-stream.cc, comment-list.cc, + data.cc, debug.cc, defaults.cc, defun.cc, dirfns.cc, display.cc, + dynamic-ld.cc, error.cc, file-io.cc, gl-render.cc, + gl2ps-renderer.cc, graphics.cc, gripes.cc, help.cc, input.cc, + load-path.cc, load-save.cc, ls-ascii-helper.cc, ls-hdf5.cc, + ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, ls-oct-ascii.cc, + ls-oct-binary.cc, mex.cc, oct-fstrm.cc, oct-hist.cc, + oct-lvalue.cc, oct-map.cc, oct-obj.cc, oct-prcstrm.cc, + oct-procbuf.cc, oct-stream.cc, oct-strstrm.cc, octave.cc, + ov-base-diag.cc, ov-base-int.cc, ov-base-mat.cc, + ov-base-scalar.cc, ov-base-sparse.cc, ov-base.cc, + ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, ov-builtin.cc, + ov-cell.cc, ov-ch-mat.cc, ov-class.cc, ov-colon.cc, + ov-complex.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, + ov-dld-fcn.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-float.cc, + ov-flt-complex.cc, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc, + ov-flt-re-diag.cc, ov-flt-re-mat.cc, ov-int16.cc, ov-int32.cc, + ov-int64.cc, ov-int8.cc, ov-mex-fcn.cc, ov-perm.cc, ov-range.cc, + ov-re-diag.cc, ov-re-mat.cc, ov-re-sparse.cc, ov-scalar.cc, + ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-uint16.cc, + ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, ov.cc, + pager.cc, pr-output.cc, procstream.cc, pt-arg-list.cc, + pt-assign.cc, pt-binop.cc, pt-bp.cc, pt-cbinop.cc, pt-cell.cc, + pt-check.cc, pt-cmd.cc, pt-colon.cc, pt-const.cc, pt-decl.cc, + pt-eval.cc, pt-except.cc, pt-exp.cc, pt-fcn-handle.cc, pt-id.cc, + pt-idx.cc, pt-jump.cc, pt-loop.cc, pt-mat.cc, pt-misc.cc, + pt-pr-code.cc, pt-select.cc, pt-stmt.cc, pt-unop.cc, + sighandlers.cc, sparse-xdiv.cc, sparse-xpow.cc, strfns.cc, + symtab.cc, syscalls.cc, sysdep.cc, toplev.cc, txt-eng-ft.cc, + utils.cc, variables.cc, xdiv.cc, xpow.cc, oct-parse.yy, lex.ll: + Untabify. + +2010-02-11 John W. Eaton + + * Cell.h, base-list.h, c-file-ptr-stream.h, comment-list.h, + debug.h, defun-int.h, dynamic-ld.h, error.h, gl-render.h, + gl2ps-renderer.h, gripes.h, load-path.h, load-save.h, ls-hdf5.h, + ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, + ls-oct-binary.h, oct-fstrm.h, oct-iostrm.h, oct-lvalue.h, + oct-map.h, oct-obj.h, oct-prcstrm.h, oct-stdstrm.h, + oct-stream.h, oct-strstrm.h, octave.h, ops.h, ov-base-diag.h, + ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, + ov-base-sparse.h, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, + ov-bool.h, ov-builtin.h, ov-cell.h, ov-class.h, ov-complex.h, + ov-cx-diag.h, ov-cx-mat.h, ov-cx-sparse.h, ov-dld-fcn.h, + ov-fcn-handle.h, ov-fcn-inline.h, ov-fcn.h, ov-float.h, + ov-flt-complex.h, ov-flt-cx-diag.h, ov-flt-cx-mat.h, + ov-flt-re-diag.h, ov-flt-re-mat.h, ov-intx.h, ov-mex-fcn.h, + ov-perm.h, ov-range.h, ov-re-diag.h, ov-re-mat.h, + ov-re-sparse.h, ov-scalar.h, ov-str-mat.h, ov-struct.h, + ov-type-conv.h, ov-typeinfo.h, ov-usr-fcn.h, ov.h, parse.h, + pr-output.h, pt-arg-list.h, pt-assign.h, pt-binop.h, pt-cell.h, + pt-cmd.h, pt-colon.h, pt-const.h, pt-decl.h, pt-eval.h, + pt-except.h, pt-exp.h, pt-fcn-handle.h, pt-id.h, pt-idx.h, + pt-jump.h, pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, + pt-select.h, pt-stmt.h, pt-unop.h, sighandlers.h, sparse-xdiv.h, + sparse-xpow.h, symtab.h, token.h, toplev.h, txt-eng-ft.h, + txt-eng.h, utils.h, variables.h, xdiv.h: Untabify. + +2010-02-11 John W. Eaton + + * DLD-FUNCTIONS/qz.cc: Untabify. + (Fqz): Declare complex_case volatile to avoid GCC warning. + +2010-02-11 John W. Eaton + + * DLD-FUNCTIONS/qz.cc: Style fixes. + +2010-02-11 John W. Eaton + + * load-save.cc: If gnulib defines open, undefine it. Move + #undefs before including zfstream.h. + +2010-01-30 Jyh-Miin Lin + + * DLD-FUNCTIONS/qz.cc (Fqz): Handle complex case without reordering. + Return Q' for Matlab compatibility. + +2010-02-11 Jaroslav Hajek + + * symtab.cc: Reverse the effect of 2ceae0b40515. + (get_dispatch_type): If btyp_unknown occurs, read the class dispatch + type. + +2010-02-10 John W. Eaton + + * load-save.cc: If gnulib defines close, undefine it. + +2010-02-10 Jaroslav Hajek + + * ov-perm.h (octave_perm_matrix::builtin_type): New function. + * symtab.cc (build_sup_table): Build the matrix with extra column + and row to avoid segfault when undefined value leaks in. + (get_dispatch_type): Update. Gripe if invalid result is detected. + +2010-02-10 John W. Eaton + + * data.cc: Ensure that CLOCKS_PER_SEC is defined instead of HZ. + (Fcputime): Use CLOCKS_PER_SEC instead of HZ. + +2010-02-10 John W. Eaton + + * data.cc: Include . Define HZ if it is not defined. + +2010-02-10 John W. Eaton + + * graphics.cc (base_properties::set_children): Ensure that new + children are stored as a column vector. + + * syscalls.cc (Fdup2, Fexec, Fpopen2, Ffork, Fgetpgrp, Fgetpid, + Fgetppid, Fgetegid, Fgetgid, Fgeteuid, Fkill, Ffstat, Flstat, + Fpipe, Fstat, Fwaitpid): Use DEFUNX instead of DEFUN. + +2010-02-10 David Grundberg + + * DLD-FUNCTIONS/__magick_read__.cc (read_images): Reimplement + copying with direct fortran_vec manipulation, avoiding indexing + operations. Replace scale_quantum_to_depth calls with simple + arithmetics. + (scale_quantum_to_depth): Remove function. + +2010-02-10 Jaroslav Hajek + + * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Remove redundant test. Add + explanation. + +2010-02-10 Jaroslav Hajek + + * ov-base.h (octave_base_value::is_list): Remove. + * ov.h (octave_value::is_list): Remove. + * data.cc (Fislist): Remove. + * oct-stream.cc (printf_value_cache::printf_value_cache): Don't call + is_list. + +2010-02-10 Jaroslav Hajek + + * ov-str-mat.h (octave_char_matrix_str::is_real_type): Delete + overload. + * data.cc (Fisreal): Improve docs. + +2010-02-10 Jaroslav Hajek + + * data.cc (Fisnumeric): Improve documentation. + (Fismatrix): Ditto. + +2010-02-09 John W. Eaton + + * graphics.cc, graphics.h.in + (base_properties::get_hidden_children): New function. + (base_properties::get_children_internal): New function. + (base_properties::get_children): Call get_children_internal to + do the work. + (base_properties::set_children): Incorporate maybe_set_children + function here. Account for hidden children. + (maybe_set_children): Delete. + + * c-file-ptr-stream.h (c_file_ptr_buf::buf_close): Rename from close. + (c_file_ptr_buf::file_close): Rename from fclose. + (c_file_ptr_stream::stream_close): Rename from close. + (c_zfile_ptr_buf:buf_close): Rename from close. + Change all callers. + +2010-02-09 John W. Eaton + + * dynamic-ld.cc (clear): Only warn if reloading a dynamically + linked file that defines multiple functions. + +2010-02-09 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx (const Array&, ...)): + Optimize creation of result indices. + * data.cc (Fsort): Ditto. + +2010-02-09 Jaroslav Hajek + + * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd, Fetree): Fix improper arg + checks. + * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd): Likewise. + +2010-02-08 Jaroslav Hajek + + * ov-re-mat.cc (octave_matrix::sort): Special-case sorting a known + index vector. + +2010-02-08 John W. Eaton + + * ov-class.cc (Fclass): If more than 1 argument, check that + call is inside class constructor first, then check for valid + arguments. + +2010-02-05 Jaroslav Hajek + + * data.cc (F__accumarray_sum__): Allow bool and char inputs. + (do_accumarray_minmax, do_accumarray_minmax_fun): New helper funcs. + (F__accumarray_min__, F__accumarray_max__): New defuns. + +2010-02-04 John W. Eaton + + * sysdep.cc: Don't include . + +2010-02-04 John W. Eaton + + * graphics.h.in (gh_manager::lookup (const octave_value&)): + New function. + * graphics.cc (axes::properties::set_text_child): Validate value. + Allow value to be character string or handle of text object. + +2010-02-04 John W. Eaton + + * Makefile.am (OCTAVE_LIBS): Include all liboctave library + dependencies here. + +2010-02-03 Jaroslav Hajek + + * ov-fcn-handle.h (octave_fcn_handle::anonymous): New static field. + * ov-fcn-handle.cc (octave_fcn_handle::anonymous): Initialize it. + Use everywhere instead of hardwired string. + (octave_fcn_handle::print_raw): Print named function handle with + starting @. + * pt-fcn-handle.cc: Use octave_fcn_handle::anonymous rather than + hardcoded string. + +2010-02-03 Jaroslav Hajek + + * OPERATORS/op-fcn.cc: New source. + * OPERATORS/module.mk: Include it. + +2010-02-03 John W. Eaton + + * file-io.cc: Assume we have fcntl.h and sys/stat.h. + + * syscalls.cc: Assume we have fcntl.h and fcntl. + (Ffcntl): Use DEFUNX, not DEFUN. Call octave_fcntl, not + octave_syscalls::fcntl. + +2010-02-03 John W. Eaton + + * DLD-FUNCTIONS/sub2ind.cc (get_dim_vector): + Eliminate unnecessary cast. + + * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): + Avoid type mismatch errors with octave_idx_type. + + * oct-stream.cc (scanf_format_list::add_elt_to_list): + NUM_ELTS arg is octave_idx_type, not int. + + * ov-struct.cc (octave_struct::load_ascii): Ensure args to + std::max are the same type. + * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Likewise. + * DLD-FUNCTIONS/sub2ind.cc (get_dim_vector): Likewise. + * DLD-FUNCTIONS/strfind.cc (qs_search): Likewise, for std::min. + * DLD-FUNCTIONS/tril.cc (do_tril, do_triu): Likewise. + +2010-02-03 John W. Eaton + + * utils.cc (octave_vsnprintf): Assume we have vsnprintf with + semantics that match the version provided by gnulib. + + * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): + Use std::sstream instead of fixed-length buffer and snprintf. + +2010-02-03 John W. Eaton + + * cutils.c (octave_usleep): Implement using nanosleep. + (octave_sleep): Assume sleep exists. + +2010-02-03 John W. Eaton + + * syscalls.cc (Fcanonicalize_file_name): + Call octave_canonicalize_file_name instead of + file_ops::canonicalize_file_name. + +2010-02-03 John W. Eaton + + * dirfns.cc (Fpwd): Call octave_env::get_current_directory, not + octave_env::getcwd. + + * utils.cc (search_path_for_file, search_path_for_all_files, + make_absolute, Ffile_in_loadpath, Ffile_in_path, file_in_path, + contents_file_in_path, Fmake_absolute_filename): + Don't pass current directory to octave_env::make_absolute. + * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. + * octave.cc (execute_startup_files): Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + * load-save.cc (find_file_to_load): Likewise. + * load-path.cc (load_path::dir_info::update, + load_path::dir_info::initialize, load_path::do_find_dir, + load_path::do_find_matching_dirs): Likewise. + * file-io.cc (do_stream_open): Likewise. + * oct-parse.yy (load_fcn_from_file, Fautoload): Likewise. + * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Likewise. + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite): Likewise. + +2010-02-02 John W. Eaton + + * syscalls.cc (Fcanonicalize_file_name): Use DEFUNX instead of DEFUN. + +2010-02-02 Thomas Weber + + * DLD-FUNCTIONS/filter.cc: New tests. + +2010-02-02 John W. Eaton + + * octave.cc (octave_main): Assume we have atexit. + * sighandlers.h, sighandlers.cc: Delete conditional definition + of RETSIGTYPE. Replace all uses of RETSIGTYPE with void. + (MAYBE_REINSTALL_SIGHANDLER, SIGHANDLER_RETURN): + Delete macros and all uses. + +2010-02-01 Jaroslav Hajek + + * load-path.cc (load_path::add_to_fcn_map): Warn when core library or + built-in functions are being shadowed. + (load_path::do_add): Pass at_end to add_to_fcn_map, add_to_method_map. + Don't abort when "." not yet included. + (load_path::do_clear): Don't append "." here. + (load_path::do_set): Always prepend "." here. + (load_path::initialize): Don't explicitly include "." here. + +2010-02-02 John W. Eaton + + * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, + MArrayN&, MArrayN&, int)): Return early if X is empty. + +2010-02-02 John W. Eaton + + * cutils.c: Include , not "systime.h". + * data.cc (Fcputime): Assume we have times. + + * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Assume we have times. + Include and unconditionally. + Don't include + +2010-02-01 Jaroslav Hajek + + * strfns.cc (Fstrncmpi): Fix typo in docstring. + +2010-01-30 Jaroslav Hajek + + * ov-list.h, ov-list.cc, OPERATORS/op-list.cc: Remove. + + * Makefile.am, OPERATORS/module.mk: Update. + * debug.cc: Remove #include. + * ov-base.cc: Ditto. + * ov-cs-list.h: Ditto. + * ov-struct.cc: Ditto. + * pt-bp.cc: Ditto. + * ov.cc (octave_value::octave_value (const octave_value_list&)): + Simplify. + (install_types): Omit octave_list. + +2010-01-30 Thorsten Meyer + + * DLD-FUNCTIONS/time.cc: Replace struct_contains by isfield. + +2010-01-30 Jaroslav Hajek + + * pt-assign.h (tree_multi_assignment::etype): Remove. + (tree_multi_assignment::tree_multi_assignment): Update. + (tree_multi_assignment::op_type): Update. + * pt-assign.cc (tree_multi_assignment::tree_multi_assignment): Update. + (tree_multi_assignment::rvalue): Update. + (tree_multi_assignment::dup): Update. + * oct=parse.yy (make_assign_op): Don't allow computed multiple + assignments. + +2010-01-30 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (__fltk_redraw__): call + Fl::check twice to ensure all pending draws are shown on screen + +2010-01-30 Jaroslav Hajek + + * oct-lvalue.h (octave_lvalue::black_hole): Remove field. + (octave_lvalue::(all methods)): Update. + * oct-lvalue.cc: Ditto. + +2010-01-29 David Grundberg + + * mex.cc (mex::realloc): Allocate new memory if the argument is + NULL. + +2010-01-29 Ryan Rusaw + + * pt-eval.h, pt-eval.cc (tree_evaluator::do_keyboard): + New virtual function. + +2010-01-28 Jaroslav Hajek + + * toplev.cc (run_command_and_return_output): Fix testing of failed + process creation, simplify. + (cleanup_iprocstream): Remove. + +2010-01-27 Jaroslav Hajek + + * pt-eval.cc (do_unwind_protect_cleanup_code): Save + current_statement and restore it after cleanup block. + +2010-01-27 Jaroslav Hajek + + * oct-parse.yy (validate_matrix_row): New static helper func. + (cell_or_matrix_row): Call it here. + +2010-01-27 Jaroslav Hajek + + * oct-lvalue.h (octave_lvalue::is_black_hole): New method. + (octave_lvalue::black_hole): New field. + (octave_lvalue::is_defined, octave_lvalue::is_undefined, + octave_lvalue::is_map): Make const. + (octave_lvalue::index_set): Remove field. + (octave_lvalue::octave_lvalue, octave_lvalue::operator =): Correctly + handle black holes. Update. + (dummy_value): Remove. + * pt-id.h (tree_identifier::is_black_hole): New method. + (tree_identifier::is_variable): Make virtual. + (tree_black_hole): New class. + * oct-parse.yy (magic_tilde): New terminal. + (param_list): Allow magic_tilde. + (arg_list): Allow magic_tilde. + * pt-misc.cc (tree_parameter_list::validate): Handle black holes. + * pt-idx.cc (tree_index_expression::append): Gripe if arguments + contain magic tilde. + * pt-arg-list.h (tree_argument_list::has_magic_tilde): New method + decl. + (tree_argument_list::list_includes_magic_tilde): New field. + (tree_argument_list::tree_argument_list): Initialize it in ctors. + * pt-arg-list.cc (tree_argument_list::has_magic_tilde): New method. + (tree_argument_list::append): Update list_includes_magic_tilde. + +2010-01-27 Judd Storrs + + * ov-class.cc (octave_class::print_with_name) Add default case for + classes that don't define a display method. + +2010-01-26 Shai Ayal + + * gl-render.cc (draw_text): scale position. + +2010-01-26 John W. Eaton + + * dirfns.cc (Fmkdir, Frmdir, Flink, Fsymlink, Freadlink, + Frename, Ftmpnam, Fumask): Use DEFUNX instead of DEFUN. + * syscall.scc (Fmkfifo, Funlink): Ditto. + * DLD-FUNCTIONS/urlwrite.cc (cleanup_urlwrite, reset_path, + delete_file): Now static. + +2010-01-23 John W. Eaton + + * octave.cc (octave_main): Use getopt directly instead of using + the (mostly useless) prog_args wrapper class. + Include , not "prog-args.h". + +2010-01-23 John W. Eaton + + * sighandlers.cc (user_abort): Also set debug_mode if Vdebugging. + * debug.cc (bp_table::do_add_breakpoint, do_remove_all_breakpoints, + bp_table::do_remove_breakpoint, do_remove_all_breakpoints_in_file): + Also set debug_mode if Vdebugging. + * pt-eval.cc (visit_return_command): Actually call reset_debug_state. + (reset_debug_state): Also set debug_mode if Vdebugging. + +2010-01-22 John W. Eaton + + * octave.cc (octave_main): Use new names for prog_args member + functions. + +2010-01-22 John W. Eaton + + * octave.cc: Don't include sys/types.h, unistd.h, or fstream. + +2010-01-22 John W. Eaton + + * oct-parse.yy (make_break_command, make_continue_command, + make_return_command): Don't examine evaluator state here. + * pt-eval.cc (tree_evaluator::visit_break_command): Don't set + tree_break_command::breaking unless inside function or script + body, or inside a looping command. + (tree_evaluator::visit_continue_command): Likewise, for + tree_continue_command::continuing. + (tree_evaluator::visit_return_command): Likewise, for + tree_return_command::returning. Act like dbcont if debugging + and in the top-level debugging stack frame. + +2010-01-22 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): Don't skip + whitespace, literal text, and %% elements at the end of the + format spec. Correctly process formats containing only literal text. + (scanf_format_list::finish_conversion): Don't increment nconv + for literal % characters. + (scanf_format_list::length, scanf_format_list::num_conversions): + Return octave_idx_type, not int. + (scanf_format_list::nconv, scanf_format_list::curr_idx): + Now octave_idx_type, not int. Change all uses. + (printf_format_list::length): Return octave_idx_type, not int. + (scanf_format_list::nconv, scanf_format_list::curr_idx): + Now octave_idx_type, not int. Change all uses. + (scanf_format_list::add_elt_to_list, + scanf_format_list::process_conversion, + scanf_format_list::finish_conversion, + printf_format_list::add_elt_to_list, + printf_format_list::process_conversion, + printf_format_list::finish_conversion): + Use size_t instead of int as appropriate. + * oct-stream.h: Update decls. + +2010-01-22 John W. Eaton + + * debug.cc (Fdbcont, Fdbquit): Call reset_debug_state. + (Fdbquit): Set Vdebugging to false. + * input.cc (Fkeyboard): Set tree_evaluator::debug_state to true. + Set tree_evaluator::current_frame to the initial stack frame + that is active for debugging commands. + * pt-eval.cc (tree_evaluator::reset_debug_state): New function. + * pt-eval.h (tree_evaluator::reset_debug_state): Provide decl. + * toplev.cc (main_loop): Call tree_evaluator::reset_debug_state + if at top level. + +2010-01-22 Jaroslav Hajek + + * data.cc (Fnorm): Don't special-case empty matrix. + * DLD-FUNCTIONS/svd.cc (Fsvd): Fix empty matrix case. Add tests. + +2010-01-21 Jaroslav Hajek + + * ov-builtin.cc (octave_builtin::do_multi_index_op): Partially undo + previous change. + * ov-type-conv.h (octave_type_conv_body): Undo previous change. + * ov-dld-fcn.cc (octave_dld_function::do_multi_index_op): Ditto. + +2010-01-21 John W. Eaton + + * DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/getgrent.cc, + DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/regexp.cc, lex.ll, + cutils.c, data.cc, defaults.cc, dirfns.cc, file-io.cc, help.cc, + input.cc, oct-hist.cc, oct-procbuf.cc, oct-procbuf.h, octave.cc, + pager.h, procstream.h, sighandlers.cc, toplev.cc, syscalls.cc, + sysdep.cc, utils.cc: Assume sys/types.h and unistd.h are present + (gnulib provides them). + +2010-01-21 Jaroslav Hajek + + * ov-base.h (octave_base_value::dim_vector): Return 0x0 by default. + * oct-obj.h (octave_value_list::xelem, octave_value_list::clear): New + methods. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Don't call + make_storable_values. Chop a potential single undefined value. + * ov-type-conv.h (octave_type_conv_body): Ensure storable value. + * ov-dld-fcn.cc (octave_dld_function::do_multi_index_op): New method. + * DLD-FUNCTIONS/cellfun.cc (get_output_list): New helper function. + (Fcellfun): Call it here. Optimize. + +2010-01-20 John W. Eaton + + * defaults.h.in, graphics.h.in, oct-conf.h.in, oct-errno.cc.in, + version.h.in: Delete Emacs local-variable settings. + +2010-01-20 John W. Eaton + + * cutils.c, main.c, matherr.c, siglist.c, Cell.cc, bitfcns.cc, + c-file-ptr-stream.cc, comment-list.cc, data.cc, debug.cc, + defaults.cc, defun.cc, dirfns.cc, display.cc, dynamic-ld.cc, + error.cc, file-io.cc, gl-render.cc, gl2ps-renderer.cc, + graphics.cc, gripes.cc, help.cc, input.cc, load-path.cc, + load-save.cc, ls-ascii-helper.cc, ls-hdf5.cc, ls-mat-ascii.cc, + ls-mat4.cc, ls-mat5.cc, ls-oct-ascii.cc, ls-oct-binary.cc, + ls-utils.cc, mappers.cc, oct-fstrm.cc, oct-hist.cc, + oct-iostrm.cc, oct-lvalue.cc, oct-map.cc, oct-obj.cc, + oct-prcstrm.cc, oct-procbuf.cc, oct-stream.cc, oct-strstrm.cc, + octave.cc, ov-base-int.cc, ov-base-mat.cc, ov-base-scalar.cc, + ov-base-sparse.cc, ov-base.cc, ov-bool-mat.cc, + ov-bool-sparse.cc, ov-bool.cc, ov-builtin.cc, ov-cell.cc, + ov-ch-mat.cc, ov-class.cc, ov-colon.cc, ov-complex.cc, + ov-cs-list.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-dld-fcn.cc, + ov-fcn-handle.cc, ov-fcn-inline.cc, ov-fcn.cc, ov-float.cc, + ov-flt-complex.cc, ov-flt-cx-mat.cc, ov-flt-re-mat.cc, + ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-list.cc, + ov-mex-fcn.cc, ov-range.cc, ov-re-mat.cc, ov-re-sparse.cc, + ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, + ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, + ov-usr-fcn.cc, ov.cc, pager.cc, pr-output.cc, procstream.cc, + pt-arg-list.cc, pt-assign.cc, pt-binop.cc, pt-bp.cc, pt-cell.cc, + pt-check.cc, pt-cmd.cc, pt-colon.cc, pt-const.cc, pt-decl.cc, + pt-eval.cc, pt-except.cc, pt-exp.cc, pt-fcn-handle.cc, pt-id.cc, + pt-idx.cc, pt-jump.cc, pt-loop.cc, pt-mat.cc, pt-misc.cc, + pt-pr-code.cc, pt-select.cc, pt-stmt.cc, pt-unop.cc, pt.cc, + sighandlers.cc, sparse-xdiv.cc, sparse-xpow.cc, strfns.cc, + symtab.cc, syscalls.cc, sysdep.cc, token.cc, toplev.cc, + unwind-prot.cc, utils.cc, variables.cc, xdiv.cc, xpow.cc, + zfstream.cc, Cell.h, base-list.h, builtins.h, + c-file-ptr-stream.h, comment-list.h, debug.h, defun-dld.h, + defun-int.h, defun.h, dirfns.h, display.h, dynamic-ld.h, + error.h, file-io.h, gl2ps-renderer.h, gripes.h, help.h, input.h, + lex.h, load-path.h, load-save.h, ls-ascii-helper.h, ls-hdf5.h, + ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, + ls-oct-binary.h, ls-utils.h, mex.h, mexproto.h, oct-errno.h, + oct-fstrm.h, oct-hdf5.h, oct-hist.h, oct-iostrm.h, oct-lvalue.h, + oct-map.h, oct-obj.h, oct-prcstrm.h, oct-procbuf.h, + oct-stdstrm.h, oct-stream.h, oct-strstrm.h, oct.h, octave.h, + ops.h, ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, + ov-base-sparse.h, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, + ov-bool.h, ov-builtin.h, ov-cell.h, ov-ch-mat.h, ov-class.h, + ov-colon.h, ov-complex.h, ov-cs-list.h, ov-cx-mat.h, + ov-cx-sparse.h, ov-dld-fcn.h, ov-fcn-handle.h, ov-fcn-inline.h, + ov-fcn.h, ov-float.h, ov-flt-complex.h, ov-flt-cx-diag.h, + ov-flt-cx-mat.h, ov-flt-re-mat.h, ov-int-traits.h, ov-int16.h, + ov-int32.h, ov-int64.h, ov-int8.h, ov-intx.h, ov-list.h, + ov-mex-fcn.h, ov-range.h, ov-re-mat.h, ov-re-sparse.h, + ov-scalar.h, ov-str-mat.h, ov-struct.h, ov-type-conv.h, + ov-typeinfo.h, ov-uint16.h, ov-uint32.h, ov-uint64.h, + ov-uint8.h, ov-usr-fcn.h, ov.h, pager.h, parse.h, pr-output.h, + procstream.h, pt-all.h, pt-arg-list.h, pt-assign.h, pt-binop.h, + pt-bp.h, pt-cbinop.h, pt-cell.h, pt-check.h, pt-cmd.h, + pt-colon.h, pt-const.h, pt-decl.h, pt-eval.h, pt-except.h, + pt-exp.h, pt-fcn-handle.h, pt-id.h, pt-idx.h, pt-jump.h, + pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, pt-select.h, + pt-stmt.h, pt-unop.h, pt-walk.h, pt.h, sighandlers.h, siglist.h, + sparse-xdiv.h, sparse-xpow.h, symtab.h, sysdep.h, token.h, + toplev.h, unwind-prot.h, utils.h, variables.h, xdiv.h, xpow.h, + zfstream.h, oct-parse.yy, lex.ll: Delete EMacs local-variable settings. + +2010-01-20 John W. Eaton + + * DLD-FUNCTIONS/__magick_read__.cc, DLD-FUNCTIONS/balance.cc, + DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, + DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, + DLD-FUNCTIONS/colloc.cc, DLD-FUNCTIONS/conv2.cc, + DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, + DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/det.cc, + DLD-FUNCTIONS/dmperm.cc, DLD-FUNCTIONS/dot.cc, + DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/fltk_backend.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, + DLD-FUNCTIONS/getgrent.cc, DLD-FUNCTIONS/getpwent.cc, + DLD-FUNCTIONS/getrusage.cc, DLD-FUNCTIONS/givens.cc, + DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/inv.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, + DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, + DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, + DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/sparse.cc, + DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/sqrtm.cc, + DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, + DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/time.cc, + DLD-FUNCTIONS/tril.cc: Delete Emacs local-variable settings. + +2010-01-20 John W. Eaton + + * DLD-FUNCTIONS/__contourc__.cc, DLD-FUNCTIONS/__convn__.cc, + DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dsearchn__.cc, + DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/__lin_interpn__.cc, + DLD-FUNCTIONS/__magick_read__.cc, + DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/__qp__.cc, + DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/amd.cc, + DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/bsxfun.cc, + DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colamd.cc, + DLD-FUNCTIONS/colloc.cc, DLD-FUNCTIONS/conv2.cc, + DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, + DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/dispatch.cc, + DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/dmperm.cc, + DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc, + DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, + DLD-FUNCTIONS/fltk_backend.cc, DLD-FUNCTIONS/gammainc.cc, + DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/getgrent.cc, + DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/givens.cc, + DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/hex2num.cc, + DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, + DLD-FUNCTIONS/lu.cc, DLD-FUNCTIONS/luinc.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/md5sum.cc, + DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc, + DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/rcond.cc, + DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/schur.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spparms.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, + DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, + DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/time.cc, + DLD-FUNCTIONS/tril.cc, DLD-FUNCTIONS/tsearch.cc, + DLD-FUNCTIONS/urlwrite.cc: Untabify. + +2010-01-20 John W. Eaton + + * TEMPLATE-INST/Array-os.cc, TEMPLATE-INST/Array-tc.cc, + TEMPLATE-INST/Array-sym.cc: Delete Emacs local-variable settings. + +2010-01-20 Jaroslav Hajek + + * xpow.cc (xpow, elem_xpow): Don't do redundant real->complex + conversions. + +2010-01-20 Jaroslav Hajek + + * data.cc: Substitute OCTAVE_QUIT -> octave_quit (). + * input.cc: Ditto. + * ls-mat-ascii.cc: Ditto. + * oct-stream.cc: Ditto. + * ov-base-int.cc: Ditto. + * ov-base-sparse.cc: Ditto. + * ov-bool-sparse.cc: Ditto. + * ov-cell.cc: Ditto. + * ov-cx-sparse.cc: Ditto. + * ov-flt-re-mat.cc: Ditto. + * ov-re-mat.cc: Ditto. + * ov-re-sparse.cc: Ditto. + * pr-output.cc: Ditto. + * pt-eval.cc: Ditto. + * pt-mat.cc: Ditto. + * sighandlers.cc: Ditto. + * sparse-xdiv.cc: Ditto. + * sparse-xpow.cc: Ditto. + * toplev.cc: Ditto. + * utils.cc: Ditto. + * xdiv.cc: Ditto. + * xpow.cc: Ditto. + +2010-01-20 Jaroslav Hajek + + * DLD-FUNCTIONS/bsxfun.cc: New tests. + +2010-01-20 David Bateman + + * graphics.h.in (string_array_property): New property. + (axes::properties): Use it here for the linestyleorder property. + Remove the markerorder property. + * genprops.awk: Emit string_array_property + +2010-01-19 Jaroslav Hajek + + * DLD-FUNCTIONS/strfind.cc: Optimize searching for 1 or 2 characters. + +2010-01-18 John W. Eaton + + * oct-parse.yy (fcn_end): Allow EOF as end of function if + reading from eval string. + (eval_string): Protect and set reading_fcn_file, + reading_script_file, and reading_classdef_file. + +2010-01-18 Jaroslav Hajek + + * xpow.cc (xpow (const NDArray&, double), xpow (const FloatNDArray&, + float)): Optimize also the x.^3 case. + +2010-01-18 David Grundberg + + * mex.cc (mexPrintf): Change signature. + * mexproto.h (mexPrintf): Ditto. + +2010-01-18 David Grundberg + + * mexproto.h (mxSetDimensions): Change signature. + * mex.cc (mxSetDimensions): Ditto. + +2010-01-17 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Support dim argument, make + consistent with rest of functions. + +2010-01-17 Thorsten Meyer + + * ov-cell.cc (Fstruct2cell): Add example, add test. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun, Fnum2cell), ov-struct.cc + (Fisstruct): Fix docstring. + * DLD-FUNCTIONS/cellfun.cc (Fcellslices, Fisfield, Ffieldnames, + Frmfield): Add test. + * ov-struct.cc (Fcell2struct): Fix docstring, add test. + +2010-01-16 David Bateman + + * graphics.h.in (line::properties, surface::properties, + patch::properties): Allow the use of a "@" marker. + (axes::properties): Add markerorder properties to set the + order of the marker styles for the "@" marker. + +2010-01-15 Jaroslav Hajek + + * pt-mat.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT, + DO_SINGLE_TYPE_CONCAT_NO_MUTATE): Remove macros. + (single_type_concat, do_single_type_concat, + do_single_type_concat_no_mutate): New template funcs. + (tree_matrix::rvalue1): Call them here. + +2010-01-14 Jaroslav Hajek + + * strfns.cc (do_strcmp_fun, + strcmp_array_op, strcmp_str_op, + strcmpi_array_op, strcmpi_str_op, + strncmp_array_op, strncmp_str_op, + strncmpi_array_op, strncmpi_str_op): New functions. + (Fstrcmp, Fstrncmp): Reimplement using do_strcmp_fun. + (Fstrcmpi, Fstrncmpi): New defuns. + +2010-01-14 Jaroslav Hajek + + * DLD-FUNCTIONS/bsxfun.cc (maybe_fill_table): register relational + handlers for char arrays. + +2010-01-14 Jaroslav Hajek + + * ov-class.cc (octave_class::numel (const octave_value_list&)): Don't + attempt to query overloaded size. + +2010-01-13 John W. Eaton + + * ov-fcn.h (octave_function (const std::string&, const std::string&)): + Explicitly initialize all data members. + + * ov-builtin.h (octave_builtin::octave_builtin): + Explicitly initialize base class object and data member. + +2010-01-13 John W. Eaton + + * DLD-FUNCTIONS/__magick_read__.cc (read_indexed_images): + No need to explicitly call chop_trailing_singletons now. + +2010-01-13 John W. Eaton + + * oct-obj.cc (octave_value_list::any_cell): Avoid assignment in + condition of if statement. + +2010-01-13 John W. Eaton + + * DLD-FUNCTIONS/lu.cc: Avoid test failures if HAVE_QRUPDATE_LUU is + not defined. + +2010-01-12 David Bateman + + * graphics.h.in (patch::properties): Add "flat" value to + markeredgecolor and markerfacecolor properties. + +2010-01-12 Jaroslav Hajek + + * ov-base.h (builtin_type_t): New enum constants: btyp_cell, + btyp_struct and btyp_func_handle. + (btyp_isinteger, btyp_isfloat, btyp_isarray): New funcs. + (btyp_class_name): New array. + (get_builtin_classes): New func. + * ov-cell.h (octave_cell::builtin_type): New virtual override. + * ov-struct.h (octave_struct::builtin_type): New virtual override. + * ov-fcn-handle.h (octave_fcn_handle::builtin_type): New virtual override. + * symtab.cc (get_dispatch_type): Rewrite. Add overload. + * symtab.h: Update decls. + * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Rewrite. + (get_builtin_classes): Remove. + +2010-01-12 Jaroslav Hajek + + * oct-obj.cc (octave_value_list::any_cell): New method. + * oct-obj.h: Declare it. + * utils.cc (do_simple_cellfun): New overloaded function. + * utils.h: Declare it. + * DLD-FUNCTIONS/strfind.cc (Fstrfind): Call it here. + (Fstrrep): Also here. + +2010-01-11 Rik + + * Makefile.am: Update DOCSTRINGS rules to avoid + simple_move_if_change_rule and allow Make to update timestamps. + +2010-01-11 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (curl_handle::lasterror): + Avoid using errno as a local variable name. + +2010-01-11 Jaroslav Hajek + + * DLD-FUNCTIONS/lu.cc (Fluupdate): Add tests for LU updating. + +2010-01-11 Tatsuro MATSUOKA + + * Makefile.am (OCTINTERP_LINK_DEPS): Include FT2_LDFLAGS and + FT2_LIBS in the list. + +2010-01-09 John W. Eaton + + * DLD-FUNCTIONS/lookup.cc (stri_comp_lt, stri_comp_gt): + Comment out unused functions. + + * oct-stream.cc (BEGIN_S_CONVERSION): Don't declare local tmp + variable twice. + + * gl-render.cc (opengl_renderer::draw_image): Avoid shadow + declaration warning from GCC. + + * DLD-FUNCTIONS/fltk_backend.cc (base_graphics_backend): + Avoid unused parameter warning from GCC. + * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Likewise. + + * data.cc (get_sort_mode_option): Avoid uninitialized variable + warning from GCC. + +2010-01-08 Jaroslav Hajek + + * oct-obj.h (octave_value_list::operator () const, + octave_value_list::elem const): Return const octave_value&. + * ov.cc (octave_value::function_value, + octave_value::user_function_value, octave_value::user_script_value, + octave_value::user_code_value, octave_value::fcn_handle_value, + octave_value::fcn_inline_value): Declare as const. + * ov.h: Likewise. + * ov-base.h (octave_value::function_value const): Remove overload. + * ov-usr-fcn.h (octave_user_function::function_value const): Likewise. + * ov-builtin.h (octave_builtin::function_value const): Likewise. + * ov-builtin.h (octave_builtin::function_value const): Likewise. + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Take a non-const copy prior to + calling non-const functions. + + +2010-01-08 Jaroslav Hajek + + * DLD-FUNCTIONS/strfind.cc (qs_replace): New function. + (Fstrrep): Use it here. Allow S to be a cellstr. + +2010-01-07 John W. Eaton + + * data.cc (cputime): Eliminate Windows-specific code. + +2010-01-07 John W. Eaton + + * variables.cc (get_global_value): Fix function name in error message. + (get_top_level_value, set_top_level_value): New functions. + * variables.h (get_top_level_value, set_top_level_value): + Provide decls. + + * symtab.h (symbol_table::top_level_varref, + symbol_table::top_level_varval): New static functions. + +2010-01-07 Jaroslav Hajek + + * utils.cc (octave_sleep (double)): Add OCTAVE_QUIT. + +2010-01-06 Jaroslav Hajek + + * unwind_protect.h, unwind_protect.cc (unwind_protect): Rewrite. + Remove obsolete macros. Use a simple linked list. + + * debug.cc (Fdbwhere): Update to new unwind_protect style. + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct, + octave_dynamic_loader::do_load_mex): Ditto. + * error.cc (Flasterror, Flasterr, error_2, warning_1): Ditto. + * graphics.cc (base_graphics_object::remove_all_listeners, + axes::update_axis_limits, gh_manager::do_execute_callback, + Fdrawnow): Ditto. + * help.cc (raw_help_from_file): Ditto. + * input.cc (do_keyboard, Fkeyboard, get_debug_input): Ditto. + * load-path.cc (load_path::do_set, execute_pkg_add_or_del, + * ls-mat4.cc (save_mat_binary_data): Ditto. + * ls-mat5.cc (read_mat5_binary_element): Ditto. + * mex.cc (call_mex, mexGetVariable): Ditto. + * oct-hist.cc (do_edit_history, do_run_history): Ditto. + * octave.cc (execute_startup_files, execute_eval_option_code, + execute_command_line_file): Ditto. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Ditto. + * ov-class.cc (octave_class::subsasgn, octave_class::print_raw): + Ditto. + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, + octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): Ditto. + * ov-list.cc (octave_list::print_raw): Ditto. + * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Ditto. + * ov-struct.cc (octave_struct::print_raw): Ditto. + * ov-usr-fcn.cc (octave_user_script::do_multi_index_op, + octave_user_function::do_multi_index_op): Ditto. + * pager.cc (flush_octave_stdout): Ditto. + * pr-output.cc (Frats): Ditto. + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): Ditto. + + * pt-eval.cc (tree_evaluator::visit_simple_for_command, + tree_evaluator::visit_complex_for_command, + tree_evaluator::visit_while_command, + tree_evaluator::visit_do_until_command): Update to new unwind_protect + style. + (do_catch_code): Remove. + (tree_evaluator::visit_try_catch_command): Simplify. Don't register + catch code for unwind_protect. + (tree_evaluator::do_unwind_protect_cleanup_code): Make a + tree_evaluator method. Update to new unwind_protect style. + (tree_evaluator::visit_unwind_protect_command): Use explicit try/catch + handling rather than inserting unsafe code into unwind_protect. + + * pt-eval.h (tree_evaluator::do_unwind_protect_cleanup_code): New decl. + * toplev.cc (main_loop): Update to new unwind_protect style. + (run_command_and_return_output): Ditto. + * utils.cc (Fisindex): Ditto. + * variables.cc (generate_struct_completions, safe_symbol_lookup, + do_who): Ditto. + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Ditto. + * DLD-FUNCTIONS/daspk.cc (Fdaspk): Ditto. + * DLD-FUNCTIONS/dasrt.cc (Fdasrt): Ditto. + * DLD-FUNCTIONS/dassl.cc (Fdassl): Ditto. + * DLD-FUNCTIONS/eigs.cc (Feigs): Ditto. + * DLD-FUNCTIONS/lsode.cc (Flsode): Ditto. + * DLD-FUNCTIONS/quad.cc (Fquad): Ditto. + * DLD-FUNCTIONS/rand.cc (Frandn, Frande, Frandg, Frandp): Ditto. + * DLD-FUNCTIONS/typecast.cc (get_data_and_bytesize, Ftypecast): Ditto. + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, mput_directory, + getallfiles, F__ftp_mget__): Ditto. + +2010-01-05 Jaroslav Hajek + + * Cell.cc (Cell::cellstr_value): New method. + * Cell.h (Cell::cellstr_value): Declare it. + + * ov-cell.h (octave_cell::cellstr_cache): Declare as autopointer. + (octave_cell::clear_cellstr_cache): Move here. + * ov-cell.cc (octave_cell::is_cellstr): Only allocate the pointer, but + don't actually create strings. + (octave_cell::cellstr_value): Use cached test, call + Cell::cellstr_value. + (octave_cell::make_cellstr_cache): Remove. + +2010-01-05 John W. Eaton + + * Makefile.am (AM_CPPFLAGS): Include -I../libgnu in the list. + +2010-01-04 Thorsten Meyer + + * graphics.cc (graphics_object::set (const Octave_map&)): New function. + (graphics_object::set (const Array&, const Cell&, + octave_idx_type)): New function. + (graphics_object::set_value_or_default (const caseless_str&, + const octave_value&)): New function. + (graphics_object::set (const octave_value_list&)): + Call set_value_or_default to set property values. + (Fset): Handle struct and cell array arguments. + New tests. + * graphics.h.in (graphics_objects::set): Provide decls. + +2010-01-04 Jaroslav Hajek + + * DLD-FUNCTIONS/strfind.cc (qs_search): Optionally discard overlaps. + Return result as Array. + (Fstrfind): Use octave_value (Array) constructor. + (Fstrrep): New function. + +2010-01-04 John W. Eaton + + * lex.ll (can_be_command): New function. + (handle_identifier): Use it. + +2010-01-04 Marco Atzeri + + * Makefile.am (install-oct): Write $(DESTDIR)$(...), not + $(DESTDIR).$(...). + +2010-01-02 Ben Abbott + + * mappers.cc: Change test tolerance from 1e-16 to eps. + +2009-12-30 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (scalar_query_helper): Remove. + (can_extract): New overloaded helper function. + (scalar_col_helper_nda): Rewrite using can_extract and + octave_value_extract. Instantiate for integer types. + (make_col_helper): Support integer types. + + +2009-12-30 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix tests. + +2009-12-28 Thomas Treichl + + * DLD-FUNCTIONS/md5sum.cc, DLD-FUNCTIONS/lookup.cc: Include + config.h before another header file. + +2009-12-27 John W. Eaton + + * Makefile.am (xgl2ps.c): New file. + (EXTRA_DIST): Include gl2ps.c in the list. + (DIST_SRC): Include xgl2ps.c in the list instead of gl2ps.c. + +2009-12-27 Jaroslav Hajek + + * ov.cc (decode_subscripts): Move to utils.cc. + * utils.cc (decode_subscripts): New func. + * utils.h: Declare it. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Optimize the + `cellfun (@subsref, args, {subs}, "uniformoutput", true)' case. + +2009-12-26 Jaroslav Hajek + + * gripes.cc (gripe_nonbraced_cs_list_assignment): New function. + * gripes.h: Declare it. + * ov-cell.cc (octave_cell::subsasgn): Use it here. + * ov-struct.cc (octave_struct::subsasgn): Also here. + * pt-idx.cc (tree_simple_assignment::rvalue1): And here. Check for + single lhs value. + +2009-12-25 Jaroslav Hajek + + * ov-str-mat.h (octave_char_matrix_str::is_matrix_type): Remove + override. + * data.cc (Fismatrix): Update test. + +2009-12-25 Jaroslav Hajek + + * DLD-FUNCTIONS/strfind.cc: New source. + * DLD-FUNCTIONS/module-files: Add it here. + +2009-12-23 John W. Eaton + + * lex.ll: Use %top block to include config.h. + +2009-12-16 Jaroslav Hajek + + * DLD-FUNCTIONS/max.cc (do_cumminmax_body): Support also btyp_bool. + +2009-12-22 Rob Mahurin + + * find-defun-files.sh: Use SED and EGREP as returned by configure. + +2009-12-20 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_sindow::set_name): New method. + (figure_manager::set_name, figure_manage::do_set_name): New methods. + (fltk_backend::property_changed): Handle change of figure title string. + +2009-12-19 Rik + + * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake + variables of top_builddir and top_srcdir. + +2009-12-18 David Grundberg + + * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): + Print script filename in script indexing errors. + (octave_user_script::subsref): Ditto. + +2009-12-18 John W. Eaton + + * input.cc (get_debug_input): Don't attempt to get user input + unless stdin is a tty. Force interactive input mode when + reading debugging input. + (octave_gets): Bypass readline if get_input_from_eval_string is true. + + * input.cc, input.h (stdin_is_tty): New variable. + * octave.cc (octave_main): Set it to true if stdin is not a tty. + +2009-12-16 Jaroslav Hajek + + * DLD-FUNCTIONS/max.cc (do_minmax_red_op): New + specialization. + (do_minmax_body): Handle btyp_bool. + +2009-12-16 Jaroslav Hajek + + * symtab.cc (symbol_table::cleanup): Call clear_variables rather than + clear_all on the top and global scopes. + +2009-12-16 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (F__init_fltk__): + Add __remove_fltk__ to the list of atexit functions. + (F__remove_fltk__): Wait fltk_maxtime instead of 10 seconds. + +2009-12-15 John W. Eaton + + * toplev.cc (do_goto_frame_relative): Stop searching at top + stack frame even though it is not a function. + +2009-12-15 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Preserve original nargout. Call + functions with this value. Use nargout1 to possibly accumulate extra + outputs, as long as they are defined. + +2009-12-14 Jaroslav Hajek + + * ov-range.cc (octave_range::do_index_op): Defer single subscript to + new Range methods. + +2009-12-14 Jaroslav Hajek + + * symtab.cc (symbol_table::cleanup): New static method. + * symtab.h: Declare it. + * toplev.cc (clean_up_and_exit): Call it here. + +2009-12-12 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::toggle_grid, + plot_window::axis_auto): Modify the axes of the correct figure. + +2009-12-12 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::plot_window): + Handle case where window is created but not visible. Cache + window label. + (figure_manager::toggle_window_visibility, + (figure_manager::do_toggle_window_visibility): New methods. + (fltk_backend::property_change): Handle figure visibility change. + +2009-12-11 John W. Eaton + + * graphics.h.in (base_properties::all_dynamic_properties): + No longer static. + (base_properties::set (const caseless_str&, const octave_value&)): + Only provide decl, not definition. + (base_properties::set (const caseless_str&, const std::string&, + const octave_value&)): Delete. + (base_properties::dynamic_properties): Rename from + all_dynamic_properties. No longer static. Now protected. + (base_properties::has_dynamic_property, + base_properties::dynamic_property_names, + base_properties::set_dynamic): Omit class name argument. + * graphics.cc (base_properties::all_dynamic_properties): + Delete obsolete definition. + (base_properties::dynamic_property_names): Now const. + Omit class name argument. Simply return dynamic_properties set. + (base_properties::has_dynamic_property): Omit class name argument. + Simply return dynamic_properties set. Don't pass class name to + dynamic_property_names function. + (base_properties::set_dynamic): Omit class name argument. + Dynamic_properties is no longer a map. + + * genprops.awk: Omit class name from arguments of generated + base_properties::all_property_names and base_properties::set + functions. Don't pass class name to base_properties::set in + generated derived class set functions. + +2009-12-11 John W. Eaton + + * Makefile.am (DOCSTRINGS): Use $(cp_update_rule) instead of + cp -a --update. + +2009-12-10 Rik + + * Makefile.am: distclean symbolic links for OCT_FILES + +2009-12-10 Rik + + * Makefile.am: Copy DOCSTRINGS from srcdir to builddir if it does not + exist. Enables VPATH builds. + +2009-12-10 Jaroslav Hajek + + * ov-dld-fcn.h (octave_dld_function::get_shlib): New method. + * ov-mex-fcn.h (octave_mex_function::get_shlib): New method. + * defun.cc (get_current_shlib): New function. + * defun-int.h: Declare it. + (octave_auto_shlib): New class. + +2009-12-10 Jaroslav Hajek + + * symtab.cc (out_of_date_check): Try also autoloads. + +2009-12-09 Jaroslav Hajek + + * symtab.h (symbol_table::fcn_info::clear_autoload_function): + New method. + (symbol_table::clear_dld_function): New method. + * dynamic-ld.cc (octave_shlib_list::do_remove): Switch order of stmts. + (octave_mex_file_list::do_remove): Likewise. + (do_clear_function): Call symbol_table::clear_dld_function. + (octave_dynamic_loader::do_load_oct): Don't use + octave_shlib::mark_relative. + (octave_dynamic_loader::do_load_mex): Ditto. + +2009-12-10 John W. Eaton + + * file-io.cc (fopen_mode_to_ios_mode): Allow "+" at the end of + modestrings like "rb+". + +2009-12-10 John W. Eaton + + * oct-stream.cc (BEGIN_C_CONVERSION, BEGIN_S_CONVERSION): + Store characters directly in appropriately sized std::string object. + (FINISH_CHARACTER_CONVERSION): Do store ASCII NUL values. + +2009-12-09 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc: Style fixes. + +2009-12-09 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::print): Print immediatly. + +2009-12-09 John W. Eaton + + * gl2ps-renderer.cc (draw_pixels): New template function. + (opengl_renderer::draw_pixels): Use it. + +2009-12-09 Shai Ayal + + * gl2ps.c, gl2ps.h: Use upstream version gl2ps-1.3.5-svn-20091202. + + * gl-render.cc (opengl_renderer::draw_pixels): New function. + (opengl_renderer::draw_image): Correctly handle images with width + or height of 1. Use draw_pixels. + * gl-render.h (opengl_renderer::draw_pixels): Provide decl. + + * gl2ps-renderer.cc (glps_renderer::draw_pixels): New function. + * gl2ps-renderer.h (glps_renderer::draw_pixels): Provide decl. + +2009-12-09 John W. Eaton + + * load-save.cc: Call nstrftime instead of my_strftime. + +2009-12-09 John W. Eaton + + * load-save.cc: Include strftime.h. + (write_header): Call my_strftime instead of strftime. + + * Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/libgnu to the list. + (OCTAVE_LIBS, OCTINTERP_LINK_DEPS, OCT_LINK_DEPS): + Add ../libgnu/libgnu.la to the list. + +2009-12-09 Rik + + * Makefile.am: Distribute DOCSTRINGS in tar.gz file + +2009-12-07 Jaroslav Hajek + + * dirfns.cc (Ffnmatch): Simplify. + +2009-12-08 Michael Goffioul + + * ov-ch-mat.cc: Add missing #include. + * oct-stream.cc (do_read): Simplify. + * gl-render.h: Undef min and max after #including windows.h. + +2009-12-08 John W. Eaton + + * Makefile.am (gendoc.cc): Don't pass $(srcdidr) to mkgendoc. + +2009-12-07 John W. Eaton + + * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, + OPERATORS/op-b-sbm.cc, OPERATORS/op-bm-b.cc, + OPERATORS/op-bm-bm.cc, OPERATORS/op-bm-sbm.cc, + OPERATORS/op-cdm-cdm.cc, OPERATORS/op-cdm-cm.cc, + OPERATORS/op-cdm-cs.cc, OPERATORS/op-cdm-dm.cc, + OPERATORS/op-cdm-m.cc, OPERATORS/op-cdm-s.cc, + OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, + OPERATORS/op-class.cc, OPERATORS/op-cm-cdm.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cm-dm.cc, OPERATORS/op-cm-m.cc, + OPERATORS/op-cm-pm.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, + OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-dm-cdm.cc, OPERATORS/op-dm-cm.cc, + OPERATORS/op-dm-cs.cc, OPERATORS/op-dm-dm.cc, + OPERATORS/op-dm-m.cc, OPERATORS/op-dm-s.cc, + OPERATORS/op-dm-scm.cc, OPERATORS/op-dm-sm.cc, + OPERATORS/op-dm-template.cc, OPERATORS/op-dms-template.cc, + OPERATORS/op-double-conv.cc, OPERATORS/op-fcdm-fcdm.cc, + OPERATORS/op-fcdm-fcm.cc, OPERATORS/op-fcdm-fcs.cc, + OPERATORS/op-fcdm-fdm.cc, OPERATORS/op-fcdm-fm.cc, + OPERATORS/op-fcdm-fs.cc, OPERATORS/op-fcm-fcdm.cc, + OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, + OPERATORS/op-fcm-fdm.cc, OPERATORS/op-fcm-fm.cc, + OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcm-pm.cc, + OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, + OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, + OPERATORS/op-fdm-fcdm.cc, OPERATORS/op-fdm-fcm.cc, + OPERATORS/op-fdm-fcs.cc, OPERATORS/op-fdm-fdm.cc, + OPERATORS/op-fdm-fm.cc, OPERATORS/op-fdm-fs.cc, + OPERATORS/op-float-conv.cc, OPERATORS/op-fm-fcdm.cc, + OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, + OPERATORS/op-fm-fdm.cc, OPERATORS/op-fm-fm.cc, + OPERATORS/op-fm-fs.cc, OPERATORS/op-fm-pm.cc, + OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, + OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, + OPERATORS/op-i16-i16.cc, OPERATORS/op-i32-i32.cc, + OPERATORS/op-i64-i64.cc, OPERATORS/op-i8-i8.cc, + OPERATORS/op-int-concat.cc, OPERATORS/op-int-conv.cc, + OPERATORS/op-list.cc, OPERATORS/op-m-cdm.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, + OPERATORS/op-m-dm.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-pm.cc, + OPERATORS/op-m-s.cc, OPERATORS/op-m-scm.cc, + OPERATORS/op-m-sm.cc, OPERATORS/op-pm-cm.cc, + OPERATORS/op-pm-fcm.cc, OPERATORS/op-pm-fm.cc, + OPERATORS/op-pm-m.cc, OPERATORS/op-pm-pm.cc, + OPERATORS/op-pm-scm.cc, OPERATORS/op-pm-sm.cc, + OPERATORS/op-pm-template.cc, OPERATORS/op-range.cc, + OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, + OPERATORS/op-s-s.cc, OPERATORS/op-s-scm.cc, + OPERATORS/op-s-sm.cc, OPERATORS/op-sbm-b.cc, + OPERATORS/op-sbm-bm.cc, OPERATORS/op-sbm-sbm.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, + OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, + OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, + OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, + OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, + OPERATORS/op-str-str.cc, OPERATORS/op-struct.cc, + OPERATORS/op-ui16-ui16.cc, OPERATORS/op-ui32-ui32.cc, + OPERATORS/op-ui64-ui64.cc, OPERATORS/op-ui8-ui8.cc: + Delete Emacs local-variable settings. + +2009-12-07 John W. Eaton + + * OPERATORS/op-pm-sm.cc, OPERATORS/op-pm-scm.cc, + OPERATORS/op-dm-sm.cc, OPERATORS/op-dm-scm.cc, + OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fcm.cc, + OPERATORS/op-fs-fcs.cc, OPERATORS/op-fm-fm.cc, + OPERATORS/op-fm-fcs.cc, OPERATORS/op-fm-fcm.cc, + OPERATORS/op-fcs-fs.cc, OPERATORS/op-fcs-fm.cc, + OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcm-fs.cc, + OPERATORS/op-fcm-fm.cc, OPERATORS/op-fm-fs.cc, + OPERATORS/op-fcm-fcm.cc, OPERATORS/op-class.cc, + OPERATORS/op-fcm-fcs.cc, OPERATORS/op-str-str.cc, + OPERATORS/op-str-s.cc, OPERATORS/op-str-m.cc, + OPERATORS/op-struct.cc, OPERATORS/op-sm-scm.cc, + OPERATORS/op-sm-s.cc, OPERATORS/op-sm-sm.cc, + OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-cm.cc, + OPERATORS/op-scm-sm.cc, OPERATORS/op-scm-scm.cc, + OPERATORS/op-scm-s.cc, OPERATORS/op-scm-m.cc, + OPERATORS/op-scm-cs.cc, OPERATORS/op-sm-m.cc, + OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, + OPERATORS/op-sbm-bm.cc, OPERATORS/op-s-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-sbm-b.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-int.h, + OPERATORS/op-int-conv.cc, OPERATORS/op-int-concat.cc, + OPERATORS/op-cs-sm.cc, OPERATORS/op-cs-scm.cc, + OPERATORS/op-cm-sm.cc, OPERATORS/op-cs-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-scm.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-chm.cc, + OPERATORS/op-cell.cc, OPERATORS/op-bm-sbm.cc, + OPERATORS/op-bm-bm.cc, OPERATORS/op-bm-b.cc, + OPERATORS/op-b-sbm.cc, OPERATORS/op-fcs-fcs.cc: + Untabify. + +2009-12-07 Jaroslav Hajek + + * Makefile.am: Build OPT_HANDLERS before DEF_FILES. + +2009-12-06 Rik + + * Makefile.am: Distribute DOCSTRINGS so that documentation will + not require rebuild after merely untarring a distribution. + +2009-12-05 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Document complexity. + +2009-12-05 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): Rewrite. + (Flookup): Simplify string part. Use Array::lookup. + +2009-12-04 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Always use + CURLOPT_USERPWD instead of CURLOPT_USER and CURLOPT_PASSWD. + +2009-12-04 John W. Eaton + + * version.h.in (OCTAVE_API_VERSION_NUMBER): New macro. + * Makefile.am (version.h): Substitute OCTAVE_API_VERSION_NUMBER. + +2009-12-04 John W. Eaton + + * Makefile.am (mkdefs): New arguments, srcdir and file. + Generate output here. (.cc.df): Not here. + +2009-12-04 John W. Eaton + + * Makefile.am (BUILT_SOURCES): Include graphics-props.cc in the + list. + +2009-12-04 John W. Eaton + + * Makefile.am (liboctinterp_la_SOURCES): Remove $(OPT_HANDLERS) + from the list. + +2009-12-03 John W. Eaton + + * Makefile.am (CLEANFILES): Include DLD-FUNCTIONS/PKG_ADD, + doc-files, gendoc.cc, gendoc$(BUILD_EXEEXT), graphics-props.cc, + oct-parse.output, $(BUILT_NODISTFILES) in the list. Remove + $(BUILT_SOURCES) from the list. (MAINTAINERCLEANFILES): New + variable. (BUILT_DISTFILES): Remove oct-parse.cc and lex.cc + from the list. (BUILT_NODISTFILES): Include defaults.h, + graphics.h, oct-conf.h, oct-errno.cc, ops.cc, mxarray.h, and + version.h in the list. Remove $(OPT_INC) from the list. + (BUILT_SOURCES): Include mxarray.h and version.h in the list. + (EXTRA_DIST): Include version.h.in in the list. (.cc.df): Don't + silence rules. Omit $(srcdir) from XDEFUN_FILE_NAME. + ($(DEF_FILES)): Depend on mkdefs and Makefile. (mxarray.h, + version.h): New rules. (DLD-FUNCTIONS/PKG_ADD): Don't silence + rules. (builtins.cc, DOCSTRINGS, gendoc.cc, ops.cc, + $(OPT_HANDLERS)) oct-errno.cc, oct-gperf.h): Don't silence + rules. (doc-files, defaults.h, oct-conf.h): Don't silence + rules. + + * mxarray.h.in, version.h.in: Use % to delimit substitutions, + not @. + + * mkbuiltins: Operate on a list of files passed as arguments. + + * genprops.awk: Write either graphics.h or graphics-props.cc to + stdout instead of graphics.h simultaneously with + graphics-props.cc ot a file. * Makefile.am (graphics.h, + graphics-props.cc): Split into two separate rules. + + * find-defun-files.sh: Omit directory part from .df file names. + Operate on .ll and .yy files instead of generated .cc files. + +2009-12-02 Rik + + * DLD-FUNCTIONS/urlwrite.cc: Correctly compile code even when + libcurl is not present according to configure. + +2009-12-01 Jaroslav Hajek + + * ov-bool-mat.h (octave_bool_matrix::octave_bool_matrix (const + boolNDArray&, const idx_vector&)): New constructor. + * ov-re-mat.h (octave_bool_matrix::octave_bool_matrix (const + NDArray&, const idx_vector&)): Simplify. + * ov.cc (octave_value::octave_value (const idx_vector&)): Allow + the mask case. + * DLD-FUNCTIONS/find.cc (Ffind): Explicitly call unmask. + +2009-11-30 Kacper Kowalik + + * oct-hdf5.h: Drop force the use of the v1.6 API * ls-hdf5.cc, + ov-base-int.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, + ov-cell.cc, ov-class.cc, ov-complex.cc, ov-cx-mat.cc, + ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, + ov-float.cc, ov-flt-complex.cc, ov-flt-cx-mat.cc, + ov-flt-re-mat.cc, ov-list.cc, ov-range.cc, ov-re-mat.cc, + ov-re-sparse.cc, ov-scalar.cc, ov-str-mat.cc, ov-struct.cc: + Allow v1.8 API versions of hdf5 functions. + +2009-11-30 John W. Eaton + + * DLD-FUNCTIONS/fft2.cc (Fifft2): Docstring fix. + +2009-11-29 Jaroslav Hajek + + * pt-unop.cc (tree_prefix_expression::rvalue1): Try to use + octave_value::do_non_const_unary_op. + +2009-11-29 Jaroslav Hajek + + * DLD-FUNCTIONS/urlwrite.cc (curl_handle::init): Use + CURLOPT_USERPWD if libcurl ver < 7.19.0. + +2009-11-28 Shai Ayal + + * gl-render.cc (opengl_renderer::draw_image): Handle indexed + images. + +2009-11-28 Shai Ayal + + * gl-render.h (opengl_renderer::draw): Draw children from end of + list to preserve correct stacking order (first child should be + on top). + + * graphics.cc (maybe_set_children): Store sorted child lists. + +2009-11-27 Kacper Kowalik + + * ls-hdf5.cc (have_h5giterate_bug): Drop this group iteration + flag for buggy pre 1.2.2 versions of hdf5. * ov-base-int.cc + (octave_base_int_matrix::load_hdf5) + octave_base_int_scalar::load_hdf5), ov-base-int.h + (octave_base_int_matrix::load_hdf5, + octave_base_int_scalar::load_hdf5), ov-base.cc + (octave_base_value::load_hdf5), ov-base.h + (octave_base_value::load_hdf5), ov-bool-mat.cc + (octave_bool_matrix::load_hdf5), ov-bool-mat.h + (octave_bool_matrix::load_hdf5), ov-bool-sparse.cc + (octave_sparse_bool_matrix::load_hdf5), ov-bool-sparse.h + (octave_sparse_bool_matrix::load_hdf5), ov-bool.cc + (octave_bool::load_hdf5), ov-bool.h (octave_bool::load_hdf5), + ov-cell.cc (octave_cell::load_hdf5), ov-cell.h + (octave_cell::load_hdf5), ov-class.cc (octave_class::load_hdf5), + ov-class.h (octave_class::load_hdf5), ov-complex.cc + (octave_complex::load_hdf5), ov-complex.h + (octave_complex::load_hdf5), ov-cx-mat.cc + (octave_complex_matrix::load_hdf5), ov-cx-mat.h + (octave_complex_matrix::load_hdf5), ov-cx-sparse.cc + (octave_sparse_complex_matrix::load_hdf5), ov-cx-sparse.h + (octave_sparse_complex_matrix::load_hdf5), ov-fcn-handle.cc + (octave_fcn_handle::load_hdf5), ov-fcn-handle.h + (octave_fcn_handle::load_hdf5), ov-fcn-inline.cc + (octave_fcn_inline::load_hdf5), ov-fcn-inline.h + (octave_fcn_inline::load_hdf5), ov-float.cc + (octave_float_scalar::load_hdf5), ov-float.h + (octave_float_scalar::load_hdf5), ov-flt-complex.cc + (octave_float_complex::load_hdf5), ov-flt-complex.h + (octave_float_complex::load_hdf5), ov-flt-cx-mat.cc + (octave_float_complex_matrix::load_hdf5), ov-flt-cx-mat.h + (octave_float_complex_matrix::load_hdf5), ov-flt-re-mat.cc + (octave_float_matrix::load_hdf5), ov-flt-re-mat.h + (octave_float_matrix::load_hdf5), ov-list.cc + (octave_list::load_hdf5), ov-list.h (octave_list::load_hdf5), + ov-range.cc (octave_range::load_hdf5), ov-range.h + (octave_range::load_hdf5), ov-re-mat.cc + (octave_matrix::load_hdf5), ov-re-mat.h + (octave_matrix::load_hdf5), ov-re-sparse.cc + (octave_sparse_matrix::load_hdf5), ov-re-sparse.h + (octave_sparse_matrix::load_hdf5), ov-scalar.cc + (octave_scalar::load_hdf5), ov-scalar.h + (octave_scalar::load_hdf5), ov-str-mat.cc + (octave_char_matrix_str::load_hdf5), ov-str-mat.h + (octave_char_matrix_str::load_hdf5), ov-struct.cc + (octave_struct::load_hdf5), ov-struct.h + (octave_struct::load_hdf5), ov.h (octave_value::load_hdf5): + Remove have_hg5iterate_bug from the call to load_hdf5. + * ov-cell.cc (octave_bool::load_hdf5), ov-class.cc + (octave_class::load_hdf5), ov-fcn-handle.cc + (octave_fcn_handle::load_hdf5), ov-list.cc + (octave_list::load_hdf5), ov-struct.cc + (octave_struct::load_hdf5): Remove HAVE_H5GGET_NUM_OBJS cruft + for old hdf5 versions. + +2009-11-27 David Bateman + + * DLD-FUNCTIONS/urlwrite.cc (curl_handle, curl_handles): Add + classes to manage the open curl connections. (F__ftp__, + F__ftp_pwd__, F__ftp_cwd__, F__ftp_dir__, F__ftp_ascii__, + F__ftp_binary__, F__ftp_close__, F__ftp_mode__, F__ftp_delete__, + F__ftp_rmdir__, F__ftp_mkdir__, F__ftp_rename__, F__ftp_mput__, + F__ftp_mget__): New functions. + +2009-11-27 Jaroslav Hajek + + * ov.cc (octave_value::octave_value (const index_vector&)): Take + a copy if idx to allow mutation. + +2009-11-26 Jaroslav Hajek + + * DLD-FUNCTIONS/dot.cc (Fdot): Update docs. + +2009-11-26 Jaroslav Hajek + + * DLD-FUNCTIONS/dot.cc: New source. + * DLD-FUNCTIONS/module-files: Include it. + +2009-11-26 Jaroslav Hajek + + * data.cc (Fismatrix): Return true for empty matrices as well. + +2009-11-25 Jaroslav Hajek + + * DLD-FUNCTIONS/chol.cc (get_chol_l): New helper function. + (Fchol): Use it to set MatrixType for lower triangular factors + as well. Use default octave_idx_type->octave_value conversion. + +2009-11-24 Jaroslav Hajek + + * data.cc (do_accumarray_sum): Simplify. + +2009-11-24 Jaroslav Hajek + + * ov-struct.cc (octave_struct::save_binary): Save dimensions for + structs. (octave_struct::load_binary): Load dimensions if + present, use 1x1 otherwise. + +2009-11-23 Jaroslav Hajek + + * data.cc (Fmerge): Add missing parentheses. + +2009-11-23 Jaroslav Hajek + + * ov-complex.h (octave_complex::bool_value, + octave_complex::bool_array_value): New methods. + * ov-flt-complex.h (octave_float_complex::bool_value, + octave_float_complex::bool_array_value): New methods. + * ov-cx-mat.cc (octave_complex_matrix::bool_array_value): New + method. * ov-cx-mat.h: Declare it. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::bool_array_value): + New method. + * ov-flt-cx-mat.h: Declare it. + +2009-11-23 Jaroslav Hajek + + * ov-struct.cc (octave_struct::save_ascii): Save dimensions for + structs. (octave_struct::load_ascii): Load dimensions if + present, use 1x1 otherwise. + +2009-11-20 Jaroslav Hajek + + * data.cc (Fmerge): Correct query for logical masks. + +2009-11-20 Jaroslav Hajek + + * utils.cc (dims_to_numel): Fallback to index_vector query for + non-numeric types. + +2009-11-20 Jaroslav Hajek + + * ov-bool.h (octave_bool::is_numeric_type): New overload. + * ov-bool-mat.h (octave_bool-matrix::is_numeric_type): New overload. + +2009-11-19 Jaroslav Hajek + + * ov-base.h (unary_mapper_t): New member: umap_erfinv. + * ov-base.c (octave_base_value::get_umap_name): Add "erfinv" here. + * ov.h (octave_value::erfinv): New method. + * ov-scalar.cc (octave_scalar::map): Handle umap_erfinv. + * ov-float.cc (octave_float::map): Ditto. + * ov-re-mat.cc (octave_matrix::map): Ditto. + * ov-flt-re-mat.cc (octave_float_matrix::map): Ditto. + * ov-re-sparse.cc (octave_sparse_matrix::map): Ditto. + * mappers.cc (Ferfinv): New DEFUN. + +2009-11-14 Shai Ayal + + * gl-render.cc (opengl_renderer::text_to_pixels): New function + from code in render_text to produce the pixels and compute + bounding box. (opengl_renderer::render_text): Call + text_to_pixels to compute rotation mode and bounding box. + * gl-renger.h (opengl_renderer::text_to_pixels): Provide decl. + * gl2ps-renderer.cc (glps_renderer::render_text): Call + text_to_pixels to compute bounding box. + (glps_renderer::set_font): Call opengl_renderer::set_font. + +2009-11-18 Michael Godfrey + + * txt-eng-ft.cc: Relax font match test. + +2009-11-18 Jaroslav Hajek + + * DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New member: + bsxfun_builtin_power. (bsxfun_builtin_names): Include "power". + (do_bsxfun_real_pow): New static function. (maybe_fill_table): + Register power handlers. + +2009-11-13 Jaroslav Hajek + + * ov-complex.cc (octave_complex::try_narrowing_conversion): + Don't check signbit. + * ov-flt-complex.cc + (octave_float_complex::try_narrowing_conversion): Ditto. + * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): + Simplify. Don't check signbit. + * ov-flt-cx-mat.cc + (octave_float_complex_matrix::try_narrowing_conversion): Ditto. + +2009-11-17 Jaroslav Hajek + + * ov-re-mat.cc (do_rc_map): New static function. + (octave_matrix::map): Use it here. + * ov-flt-re-mat.cc (do_rc_map): New static function. + (octave_float_matrix::map): Use it here. + +2009-11-17 Jaroslav Hajek + + * DLD-FUNCTIONS/balance.cc: Fix docs. + +2009-11-13 John W. Eaton + + * Makefile.am (liboctinterp_la_CPPFLAGS): Define. + +2009-11-13 Joel Keay + + * graphics.h.in (image::properties::init): Also allow single, + int16, and uint16 data types. + +2009-11-13 Jaroslav Hajek + + * ov-base.h (unary_mapper_t): Move to octave_base_value. + * ov.h: Partially revert to c657c056240d. + (FORWARD_MAPPER): Update to use octave_base_value::map. + (octave_value::map): Ditto. + * mappers.cc: Revert to c657c056240d. + * data.cc: Ditto. + * Cell.h, Cell.cc: Ditto. + * ov-cell.cc (octave_cell::map): Rewrite. + * ov-base-sparse.cc (octave_base_sparse::map): New method. + * ov-base-sparse.h: Declare it. + * ov-re-sparse.cc (octave_sparse_matrix::map): Use it as a fallback. + * ov-cx-sparse.cc (octave_sparse_complexmatrix::map): Ditto. + +2009-11-12 Jaroslav Hajek + + * ov-base.h (unary_mapper_t): New enum. + (octave_base_value::map (unary_mapper_t)): New method. + (octave_base_value::abs, octave_base_value::acos, + octave_base_value::acosh, octave_base_value::angle, + octave_base_value::arg, octave_base_value::asin, + octave_base_value::asinh, octave_base_value::atan, + octave_base_value::atanh, octave_base_value::ceil, + octave_base_value::conj, octave_base_value::cos, + octave_base_value::cosh, octave_base_value::erf, + octave_base_value::erfc, octave_base_value::exp, + octave_base_value::expm1, octave_base_value::finite, + octave_base_value::fix, octave_base_value::floor, + octave_base_value::gamma, octave_base_value::imag, + octave_base_value::isinf, octave_base_value::isna, + octave_base_value::isnan, octave_base_value::lgamma, + octave_base_value::log, octave_base_value::log2, + octave_base_value::log10, octave_base_value::log1p, + octave_base_value::real, octave_base_value::round, + octave_base_value::roundb, octave_base_value::signum, + octave_base_value::sin, octave_base_value::sinh, + octave_base_value::sqrt, octave_base_value::tan, + octave_base_value::tanh): Remove. + + * ov.h (octave_value::map (unary_mapper_t)): New method. + (octave_value::abs, octave_value::acos, octave_value::acosh, + octave_value::angle, octave_value::arg, octave_value::asin, + octave_value::asinh, octave_value::atan, octave_value::atanh, + octave_value::ceil, octave_value::conj, octave_value::cos, + octave_value::cosh, octave_value::erf, octave_value::erfc, + octave_value::exp, octave_value::expm1, octave_value::finite, + octave_value::fix, octave_value::floor, octave_value::gamma, + octave_value::imag, octave_value::isinf, octave_value::isna, + octave_value::isnan, octave_value::lgamma, octave_value::log, + octave_value::log2, octave_value::log10, octave_value::log1p, + octave_value::real, octave_value::round, octave_value::roundb, + octave_value::signum, octave_value::sin, octave_value::sinh, + octave_value::sqrt, octave_value::tan, octave_value::tanh): Remove. + + * ov-scalar.h, ov-scalar.cc (octave_scalar): Update. + * ov-float.h, ov-float.cc (octave_float): Update. + + * ov-complex.h, ov-complex.cc (octave_complex): Update. + * ov-flt-complex.h, ov-flt-complex.cc (octave_float_complex): + Update. + + * ov-re-matrix.h, ov-re-matrix.cc (octave_matrix): Update. + * ov-flt-re-matrix.h, ov-flt-re-matrix.cc (octave_float_matrix): Update. + * ov-cx-matrix.h, ov-cx-matrix.cc (octave_complex_matrix): Update. + * ov-flt-cx-matrix.h, ov-flt-cx-matrix.cc + (octave_float_complex_matrix): Update. + + * ov-re-sparse.h, ov-re-sparse.cc (octave_sparse_matrix): Update. + * ov-cx-sparse.h, ov-cx-sparse.cc (octave_sparse_complex_matrix): + Update. + + * ov-re-diag.h, ov-re-diag.cc (octave_diag_matrix): Update. + * ov-flt-re-diag.h, ov-flt-re-diag.cc (octave_float_diag_matrix): + Update. + * ov-cx-diag.h ov-cx-diag.cc (octave_complex_diag_matrix): Update. + * ov-flt-cx-diag.h, ov-flt-cx-diag.cc + (octave_float_complex_diag_matrix): Update. + + * ov-range.h (octave_range): Update. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T): Update. + (OCTAVE_VALUE_INT_SCALAR_T): Update. + + * ov-perm.h (octave_perm_matrix): Update. + * ov-bool.h (octave_bool): Update. + * ov-bool-mat.h (octave_bool_matrix): Update. + * ov-ch-mat.h (octave_char_matrix): Update. + + * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh, + Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp, + Fexpm1, Ffinite, Ffix, Ffloor, Fgamma, Fimag, Fisinf, Fisna, + Fisnan, Flgamma, Flog, Flog2, Flog10, Flog1p, Freal, Fround, + Froundb, Fsignum, Fsin, Fsinh, Fsqrt, Ftan, Ftanh, Fisalnum, + Fisalpha, Fisascii, Fiscntrl, Fisdigit, Fisgraph, Fislower, + Fisprint, Fispunct, Fisspace, Fisupper, Fisxdigit, Ftoascii, + Ftolower, Ftoupper): Update. + +2009-11-11 John W. Eaton + + * load-path.cc (load_path::do_find_all_first_of): Take advantage + of string_vector (std::list) constructor. + +2009-11-11 John W. Eaton + + * help.cc (do_get_help_text_from_file, + Fget_help_text_from_file): New functions. + (do_get_help_text): Pass NAME by const reference. + * utils.cc (find_dir_in_path): New optional argument "all". + * load-path.cc (load_path::do_find_matching_dirs): New function. + (load_path::do_find_dir): Perform match on absolute directory + names, but return name as it appears in dir_info_list. Adjust + dname_len after stripping directory separator. + * load-path.h (load_path::do_find_matching_dirs): Provide decl. + (load_path::find_matching_dirs): New function. + +2009-11-11 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (Fl_Gl_Window::draw): + If zooming, call overlay. + (Fl_Gl_Window::overlay): Rename from draw_overlay. Don't return + early if zooming. Don't call valid and conditionally call + setup_veiwport. Set overlay color and draw line around zoom box. + (Fl_Gl_Window::zoom_box_vertex): New function. + (Fl_Gl_Window::pixel2status): Call canvas->redraw, not + canvas->redraw_overlay. + +2009-11-10 Shai Ayal + + * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New + files. PostScript backend based on opengl_renderer and gl2ps. + * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list. + (DIST_SRC): Add gl2ps.c to the list. + * gl-render.cc (opengl_renderer::render_text): Rename from + opengl_renderer::draw_text. + (opengl_renderer::draw_figure, opengl_renderer::draw_axes, + opengl_renderer::draw_line, opengl_renderer::draw_surface, + opengl_renderer::draw_patch, opengl_renderer::draw_hggroup, + opengl_renderer::draw_text, opengl_renderer::draw_image): + Rename from overloaded opengl_renderer::draw. + * gl-render.h: Fix decls. + + * DLD-FUNCTIONS/fltk_backend.cc (OpenGL_fltk::print): New function. + (OpenGL_fltk::print_filename): New data member. + (OpenGL_fltk::draw): Add support for printing. + (fltk_backend::print_figure): Call figure_manager::print. + +2009-11-10 John W. Eaton + + * file-io.cc (Fferror): Update doc string. + +2009-11-10 David Grundberg + + * oct-strstrm.h (octave_base_strstream::tell): Declare virtual. + (octave_istrstream::tell): New method. + +2009-11-10 John W. Eaton + + * Makefile.am, OPERATORS/module.mk, TEMPLATE-INST/module.mk, + find-defun-files.sh, version.h.in, + DLD-FUNCTIONS/config-module.awk, DLD-FUNCTIONS/config-module.sh, + DLD-FUNCTIONS/module-files: New files. + * Makefile.in, version.h: Delete. + * lex.ll: Rename from lex.l. Include oct-parse.h instead of y.tab.h. + * parse.yy: Rename from parse.y + * mkbuiltins, mkgendoc: Don't require filenames to start with a + "." at beginning of line. + + * oct-conf.h.in (OCTAVE_CONF_LAPACK_LIBS): Delete macro. + * toplev.cc (octave_config_info): Don't include LAPACK_LIBS in the + struct. + +2009-11-10 Jaroslav Hajek + + * ov-class.cc (octave_class::numel): Use base version if called + from built-in assignment. + (octave_class::size): Ditto. + +2009-11-10 Jaroslav Hajek + + * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Simplify examples in + docs. + +2009-11-09 Jaroslav Hajek + + * ov-base.cc (btyp_mixed_numeric): New function. + * ov-base.h: Declare it. + (btyp_isnumeric): New inline function. + * DLD_FUNCTIONS/max.cc (do_minmax_red_op, do_minmax_bin_op, + do_minmax_body, do_cumminmax_red_op): New functions. + (MINMAX_DOUBLE_SBODY, MINMAX_DOUBLE_BODY, MINMAX_SINGLE_SBODY, + MINMAX_SINGLE_BODY, MINMAX_SPARSE_BODY, MINMAX_INT_SBODY, + MINMAX_INT_BODY, MINMAX_BODY, CUMMINMAX_BODY): Remove. + (Fmin, Fmax, Fcummin, Fcummax): Update. + +2009-11-09 Jaroslav Hajek + + * ov.h: Add sparse matrix extractors. + +2009-11-09 John W. Eaton + + * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/__dsearchn__.cc, + DLD-FUNCTIONS/__voronoi__.cc, DLD-FUNCTIONS/convhulln.cc, + DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/tsearch.cc: Correctly include + config.h, don't include oct.h, etc. + +2009-11-08 Jaroslav Hajek + + * DLD-FUNCTIONS/bsxfun.cc: Add missing copyright. (fill_table): + Mark table as initialized. + +2009-11-06 Jaroslav Hajek + + * pt-assign.cc (tree_multi_assignment::rvalue): Don't skip + zero-length lvalue cs-lists. + +2009-11-06 Jaroslav Hajek + + * ov-cell.cc (octave_cell::print_raw): Indent properly. Use + newline rather than '\n'. + +2009-11-03 John W. Eaton + + * graphics.h.in (root_figure): Add commandwindowsize, diary, + diaryfile, echo, format, language, monitorpositions, + pointerlocation, pointerwindow, and recursionlimit properties. + +2009-11-03 David Grundberg + + * graphics.h.in (root_figure): Add FormatSpacing property. + +2009-11-03 David Grundberg + + * ov-class.cc (octave_class::size): Allow and ignore extra + outargs from user-defined size methods. + +2009-11-03 David Grundberg + + * ov-class.cc (make_idx_args): Call user-defined + subsref/subsasgn with 1xN structs instead of Nx1. + +2009-11-02 Jaroslav Hajek + + * ov-class.cc (octave_class::unique_parent_class): New method. + (octave_class::subsasgn): Use it here. + * ov-class.h: Declare it. + +2009-11-01 John W. Eaton + + * data.cc (get_sort_mode_option): New function. + (Fissorted): Handle ascending or descending option. + +2009-11-01 John W. Eaton + + * load-path.cc (load_path::dir_info::update): Always initialize + relative directories that are not yet included in abs_dir_cache. + +2009-10-29 John W. Eaton + + * parse.y (finish_function): Return function object unless + parsing function file. + +2009-10-23 Jaroslav Hajek + + * DLD-FUNCTIONS/tril.cc: New source. * Makefile.in: Include it. + +2009-10-22 Jaroslav Hajek + + * error.cc (verror (bool, std::ostream&, ..., bool)): Add + optional with_cfn flag. If specified, prepend current function + name (unless already there). + (error_1): Accept with_cfn flag and pass it on. + (error_2): Ditto. + (verror_with_cfn, error_with_cfn, error_with_id_cfn, + verror_with_id_cfn): New functions. + * error.h: Declare them. + * octave.cc (lo_error_handler): Call verror_with_cfn. + * ov-base.cc (INT_CONV_METHOD): Call error_with_cfn. + * ov.cc (octave_value::int_vector_value, octave_idx_type_vector_value): + Call error_with_cfn. + +2009-10-21 Rik + + * variables.cc: Correct use of deftypefnx for who and whos. + +2009-10-21 John W. Eaton + + * load-path.h (load_path::dir_path::dir_time_last_checked): New + field. (load_path::dir_path::dir_path, + load_path::dir_path::operator=): Initialize and copy + dir_time_last_checked. + * load-path.cc (load_path::dir_info::initialize): Store time of + last update. + (load_path::dir_info::update): Check directory modification time + against time of last update, within resolution of filesystem + time stamps. Suggested by Judd Storrs . + +2009-10-20 Jaroslav Hajek + + * ov-base.h (builtin_type_t): Declare also btyp_num_types. + * DLD-FUNCTIONS/bsxfun.cc (bsxfun_builtin_op): New enum. + (bsxfun_handler): New typedef. + (bsxfun_builtin_names, bsxfun_handler_table): New variables. + (bsxfun_builtin_lookup, maybe_fill_table, maybe_optimized_builtin): + New static funcs. + (bsxfun_forward_op, bsxfun_forward_rel): New static template funcs. + (Fbsxfun): Try to optimize some built-in operations. + +2009-10-19 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Allow non-positive + indices as bounds. + +2009-10-17 Jaroslav Hajek + + * data.cc (Fnth_element): Clarify docstring. + +2009-10-16 Jaroslav Hajek + + * Cell.cc, Cell.h, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/lookup.cc, + DLD-FUNCTIONS/max.cc, TEMPLATE-INST/Array-tc.cc, data.cc, + oct-map.cc, ov-cx-mat.h, ov-flt-cx-mat.cc, ov-flt-cx-mat.h, + ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, ov-re-mat.h, + ov.cc, ov.h, pr-output.cc, pr-output.h, variables.cc: + Remove traces of ArrayN. + + * OPERATORS/op-dm-scm.cc: Avoid using dm + s, dm - s operators. + * OPERATORS/op-dm-sm.cc: Ditto. + * OPERATORS/op-dms-template.cc: Ditto. + +2009-10-16 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): Use Array::column here. + +2009-10-15 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Update docstring. + +2009-10-15 Jaroslav Hajek + + * ov.h (octave_value::octave_value (octave_base_value *, bool)): + New constructor. + (octave_value::octave_value (octave_base_value *, int)): Deprecate. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow the obsolete func + body syntax. + +2009-10-15 Jaroslav Hajek + + * variables.cc (extract_function): Pass 0 to eval_string to avoid + error. + +2009-10-14 Jaroslav Hajek + + * ov.cc (octave_value::octave_value (const Array&)): New + constructor. + * ov.h: Declare it. + * data.cc (Fnth_element): New DEFUN. + +2009-10-13 Jaroslav Hajek + + * data.cc (Fcumsum, Fcumprod, Fprod, Fsum, Fsumsq): Correct help + string. + +2009-10-13 Jaroslav Hajek + + * data.cc (Fsum): Rewrite. + (Fcumsum): Rewrite. + (NATIVE_REDUCTION, NATIVE_REDUCTION_1): Remove. + +2009-10-12 Jaroslav Hajek + + * pt-binop.cc, pt-unop.cc: Revert the effect of 1be3c73ed7b5. + +2009-10-12 Jaroslav Hajek + + * DLD-FUNCTIONS/lu.cc (maybe_set_triangular): Remove. + (get_lu_l, get_lu_u): New helper funcs. + (Flu, Fluupdate): Use them to auto-set MatrixType of results. + * DLD-FUNCTIONS/qr.cc (maybe_set_triangular): Remove. + (get_qr_r): New helper func. + (Fqr, Fqrupdate, Fqrinsert, Fqrdelete, + Fqrshift): Use it to auto-set MatrixType of results. + * DLD-FUNCTIONS/chol.cc (get_chol_r): New helper func. + (Fchol, Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Use it + to auto-set MatrixType of result. + +2009-10-12 Jaroslav Hajek + + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Support 'nocompute' + option. + +2009-10-08 Jaroslav Hajek + + * DLD-FUNCTIONS/lu.cc (Fluupdate): New DEFUN_DLD. + (check_lu_dims): New helper func. + +2009-10-08 Jaroslav Hajek + + * data.cc (Flength): Simplify. + (Fndims): Simplify. + (Fsize): Rewrite, use dim_vector::redim to simplify. + (Fsize_equal): Don't chop trailing singletons (should be already + chopped). + +2009-10-08 Jaroslav Hajek + + * utils.cc (dims_to_numel): New function. + * utils.h: Declare it. + * ov-base.cc (octave_base_value::numel (const octave_value_list&)): + Use it here. + * data.cc (Fnumel): Also here. + +2009-10-07 John W. Eaton + + * variables.cc (get_dims_str): New function. + (symbol_info_list::display_line, + symbol_info_list::parse_whos_line_format): Use it to get dims string. + +2009-10-07 John W. Eaton + + * ov.h (octave_value::get_count): Return octave_idx_type, not int. + +2009-10-07 John W. Eaton + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + Avoid uninitialized variable warning. + * pt-cbinop.cc (simplify_ldiv_op): Avoid unused parameter warning. + * ov-flt-re-mat.cc (convert_to_str_internal): + Update for octave_value constructor changes. + +2009-10-07 Jaroslav Hajek + + * oct-stream.cc (octave_base_stream::skipl, + octave_stream::skipl (long, ...), octave_stream::skipl (const + octave_value&, ...)): New methods. + * oct-stream.h: Declare them. + * file-io.cc (Ffskipl): New DEFUN. + +2009-10-07 John W. Eaton + + * OPERATORS/op-str-str.cc (DEFUNOP (transpose, char_matrix_str)): + Update for octave_value constructor changes. + +2009-10-05 Jaroslav Hajek + + * ov.cc (octave_value::assign): Do not gripe "assignment failed" if + already griped about the binary operation. + +2009-10-05 Jaroslav Hajek + + * pt-idx.cc (tree_index_expression::rvalue): When evaluating index + chain, split on chaining ()() and (){}. + +2009-10-05 Jaroslav Hajek + + * pt-misc.cc (tree_argument_list::convert_to_const_vector): + Return more than nargout arguments only unless undefined elements + occur. + * ov-class.cc (octave_class::subsref): Pack return list from + overloaded method into first value. + +2009-10-05 Jaroslav Hajek + + * ov-ch-mat.h (octave_char_matrix): Don't declare allocator and + typeid. + * ov-ch-mat.cc: Don't define them. + * ov.cc (install_types): Don't register octave_char_matrix. + +2009-10-05 John W. Eaton + + * ov.h (octave_value (const charMatrix&, char, bool), + octave_value (const charNDArray&, char, bool), + octave_value (const ArrayN&, char, bool)): + New constructor decls. + (octave_value (const charMatrix&, bool, char), + octave_value (const charNDArray&, bool, char), + octave_value (const ArrayN&, bool, char)): Mark with + GCC_ATTR_DEPRECATED. Single-quoted strings are now default string + type. + (octave_value::convert_to_str): Default is single-quoted strings. + * ov.cc (octave_value (const charMatrix&, char, bool), + octave_value (const charNDArray&, char, bool), + octave_value (const ArrayN&, char, bool)): New constructors. + (octave_value (const charMatrix&, bool, char), + octave_value (const charNDArray&, bool, char), + octave_value (const ArrayN&, bool, char)): + Assume is_string argument is always true. + + * ov-re-mat.cc (octave_sparse_matrix::convert_to_str_internal): + Update for octave_value constructor changes. + * ov-ch-mat.h (octave_char_matrix::convert_to_str_internal): Likewise. + * ov-re-sparse.cc (octave_sparse_matrix::convert_to_str_internal): + Likewise. + * ov-str-mat.h (octave_char_matrix_str::squeeze, + octave_char_matrix_str::reshape, octave_char_matrix_str::permute, + octave_char_matrix_str::diag, octave_char_matrix_str::sort, + octave_char_matrix_sq_str::squeeze, + octave_char_matrix_sq_str::reshape, + octave_char_matrix_sq_str::permute, + octave_char_matrix_sq_str::diag, octave_char_matrix_sq_str::sort): + Likewise. + * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): + Likewise. + (octave_char_matrix_str::resize): Likewise. + * data.cc (do_cat, Fmerge): Likewise. + * ops.h (DEFNDCHARCATOP_FN): Likewise. + * ov-base-int.cc (octave_base_int_matrix::convert_to_str_internal): + Likewise. + * pt-mat.cc (tree_matrix::rvalue1): Likewise. + + * ov-ch-mat.h (octave_char_matrix::octave_char_matrix): Delete + unused bool arg. Declare constructors protected. + + (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, xisgraph, + xislower, xisprint, xispunct, xisspace, xisupper, xisxdigit, + xtoascii, xtolower, xtoupper): Move decls here from ov-str-mat.h. + (MAT_MAPPER, BOOL_MAT_MAPPER): Move macro definitions and uses + here from ov-str-mat.h. + + * ov-ch-mat.cc (MACRO_WRAPPER, STRING_MAPPER, TOSTRING_MAPPER): + Move macro definitions and uses here. + * ov-str-mat.cc: From here. + + * DLD-FUNCTIONS/typecast (Ftypecast): Update for octave_value + constructor changes. Create sq_string unless casting from string, + then preserve exact type. + (Fbitpack): Update for octave_value constructor changes. Create + sq_string. + * DLD-FUNCTIONS/hex2num.cc (Fnum2hex): Update for octave_value + constructor changes. Create sq_string. + * ls-oct-ascii.cc (read_ascii_data): Likewise. + * mex.cc (mxArray_number::as_octave_value): Likewise. + * oct-stream.cc (octave_stream::read): Likewise. + * ov-base.cc (STRING_MAPPER): Likewise. + +2009-10-04 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str::squeeze, + octave_char_matrix_sq_str::squeeze, octave_char_matrix_str::diag, + octave_char_matrix_sq_str::diag): New functions. + +2009-10-03 Shai Ayal + + * graphics.h.in (image::update_xdata): Add a half-pixel to each limit. + (image::update_ydata): Ditto. + * gl-render.cc (opengl_renderer::draw): Clip image to axis and fix + unpack alignment. + +2009-10-02 Jaroslav Hajek + + * ov-base-scalar.h (octave_base_scalar::matrix_type): Always + return MatrixType::Diagonal. + (octave_base_scalar::typ): Remove. + +2009-10-02 Jaroslav Hajek + + * ov.h: Define also diag matrix extractors. + (octave_type_traits, octave_array_type_traits): Remove. + (octave_value::builtin_type): New method. + * oct-stream.cc (do_read): Update. + * data.cc (identity_matrix): Update. + * ov-base.h (builtin_type_t): New enum. + (octave_base_value::builtin_type): New method. + * ov-re-mat.h (octave_matrix::builtin_type): New method. + * ov-flt-re-mat.h (octave_float_matrix::builtin_type): New method. + * ov-cx-mat.h (octave_complex_matrix::builtin_type): New method. + * ov-flt-cx-mat.h (octave_float_complex_matrix::builtin_type): + New method. + * ov-bool-mat.h (octave_bool_matrix::builtin_type): New method. + * ov-ch-mat.h (octave_char_matrix::builtin_type): New method. + * ov-scalar.h (octave_scalar::builtin_type): New method. + * ov-float.h (octave_float::builtin_type): New method. + * ov-complex.h (octave_complex::builtin_type): New method. + * ov-bool.h (octave_bool::builtin_type): New method. + * ov-flt-complex.h (octave_float_complex::builtin_type): New method. + * ov-re-diag.h (octave_diag_matrix::builtin_type): New method. + * ov-flt-re-diag.h (octave_float_diag_matrix::builtin_type): New method. + * ov-cx-diag.h (octave_complex_diag_matrix::builtin_type): New method. + * ov-flt-cx-diag.h + (octave_float_complex_diag_matrix::builtin_type): + New method. + * ov-re-sparse.h (octave_sparse_matrix::builtin_type): New method. + * ov-cx-sparse.h (octave_sparse_complex_matrix::builtin_type): + New method. + * ov-bool-sparse.h (octave_sparse_bool_matrix::builtin_type): + New method. + * ov-intx.h (octave_int_matrix::builtin_type, + octave_int_scalar::builtin_type): New methods. + * ov-int8.h: Define OCTAVE_INT_BTYP. + * ov-int16.h: Define OCTAVE_INT_BTYP. + * ov-int32.h: Define OCTAVE_INT_BTYP. + * ov-int64.h: Define OCTAVE_INT_BTYP. + * ov-uint8.h: Define OCTAVE_INT_BTYP. + * ov-uint16.h: Define OCTAVE_INT_BTYP. + * ov-uint32.h: Define OCTAVE_INT_BTYP. + * ov-uint64.h: Define OCTAVE_INT_BTYP. + +2009-10-01 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Fix initialization, add missing + break. + +2009-10-01 John W. Eaton + + * gl-render.cc (opengl_renderer::draw (const image::properties&)): + Adjust origin for glRasterPos3d. + +2009-10-01 John W. Eaton + + * gl-render.cc: Style fixes. + +2009-10-01 Shai Ayal + + * graphics.cc (image::properties::get_color_data): New function. + * gl-render.cc (opengl_renderer::draw): Handle RGB images. + +2009-10-01 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc + (do_num2cell_helper, do_num2cell): New funcs. + (Fnum2cell): Rewrite. + (do_cellslices_nda): Do not leave trailing dims. + +2009-09-30 John W. Eaton + + * error.cc (error_1, pr_where_2, handle_message): + Don't do anything if fmt is empty. + (Ferror): Call print_usage if nargin == 0. + +2009-09-29 Jaroslav Hajek + + * DLD-FUNCTIONS/typecast.cc (Ftypecast): Rewrite. + (Fbitpack, Fbitunpack): New DEFUNs. + +2009-09-28 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Redraw the + overlay when zoom box changes size. + * DLD-FUNCTIONS/fltk_backend.cc (fltk_mouse_wheel_zoom): New + function to set mouse wheel zoom factor. + +2009-09-27 Jaroslav Hajek + + * DLD-FUNCTIONS/sub2ind.cc (get_dimensions): Allow singleton array. + (Fsub2ind): Allow single index. + +2009-09-26 Jaroslav Hajek + + * OPERATORS/op-m-m.cc (trans_mul, mul_trans): Update. + * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): Update. + * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): + Update. + * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm): + Update. + * OPERATORS/op-m-cm.cc (trans_mul): Update. + * OPERATORS/op-cm-m.cc (mul_trans): Update. + * OPERATORS/op-fm-fcm.cc (trans_mul): Update. + * OPERATORS/op-fcm-fm.cc (mul_trans): Update. + +2009-09-23 Jaroslav Hajek + + * OPERATORS/op-m-cm.cc: Declare and install trans_mul operator. + * OPERATORS/op-fm-fcm.cc: Ditto. + * OPERATORS/op-cm-m.cc: Declare and install mul_trans operator. + * OPERATORS/op-fcm-fm.cc: Ditto. + +2009-09-23 Jaroslav Hajek + + * OPERATORS/op-m-cm.cc: Declare and install trans_ldiv operator. + * OPERATORS/op-fm-fcm.cc: Ditto. + +2009-09-23 Jaroslav Hajek + + * ov.h (octave_value::op_trans_ldiv, op_herm_ldiv): New enum constants. + * ov.cc (decompose_binary_op, binary_op_fcn_name): Support them. + * xdiv.h: Include mx-defs.h, delete forward decls. + * xdiv.cc (xleftdiv): Support transt parameter. + (xdiv): Optimize. + * pt-cbinop.cc (simplify_ldiv_op): New static func. + (maybe_compound_binary_expression): Try it. + * OPERATORS/op-m-m.cc: Define and install trans_ldiv handler. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-cm-cm.cc: Define and install trans_ldiv and herm_ldiv + handlers. + * OPERATORS/op-fcm-fcm.cc: Ditto. + +2009-09-19 Jaroslav Hajek + + * ov.h (octave_value_extract): New template function. + * data.cc (do_linspace): New static template function. + (Flinspace): Rewrite. + +2009-09-18 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::redraw_figure): + Call __fltk_redraw__ after marking figure as modified. + +2009-09-18 John W. Eaton + + * mexproto.h: Define OCTINTERP_API if it is not already defined. + Use C-style comments. + +2009-09-16 Jaroslav Hajek + + * DLD-FUNCTIONS/rand.cc (Frandperm): New function. + +2009-09-15 Jaroslav Hajek + + * pt-misc.cc (tree_parameter_list::convert_to_const_vector): Pass + in nargout. Don't return excess elements. Optimize varargout-only case + to possibly use a shallow copy. + * pt-misc.h: Update decl. + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): Update call + to tree_parameter_list::convert_to_const_vector. + +2009-09-15 Jaroslav Hajek + + * pr-output.cc (Fdisp, Ffdisp): Declare retval as octave_value_list. + +2009-09-14 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::pixel2status, + plot_window::pixel2pos): New argument AXES, which the + coordinates are relative to. + (plot_window::handle): Pass axes to pixel2status and pixel2pos. + +2009-09-14 Jaroslav Hajek + + * symtab.h (symbol_table::curr_fcn): New member field. + (symbol_table::get_curr_fcn, symbol_table::set_curr_fcn): New member + funcs. + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::xfind): Use + symbol_table::get_curr_fcn. + (symbol_table::fcn_info::fcn_info_rep::x_builtin_find): Ditto. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): Call + symbol_table::set_curr_fcn. + +2009-09-12 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.3.50+. + (OCTAVE_API_VERSION): Now api-v38+. + +2009-09-12 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.3.50. + (OCTAVE_API_VERSION): Now api-v38. + (OCTAVE_RELEASE_DATE): Now 2009-09-12. + +2009-09-08 Rafael Laboissiere + + * pr-output.cc: New test. + +2009-09-07 Jaroslav Hajek + + * Makefile.in: Add LDFLAGS to OCT_LINK_DEPS. + +2009-09-06 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc: Fix test. + +2009-09-06 Jaroslav Hajek + + * OPERATORS/op-s-cs.cc: Use DEFCMPLXCMPOP_OP. + * OPERATORS/op-cs-s.cc: Ditto. + * OPERATORS/op-fs-fcs.cc: Ditto. + * OPERATORS/op-fcs-fs.cc: Ditto. + +2009-09-05 John W. Eaton + + * genprops.awk: Fix formatting of generated output. + * graphics.h.in (graphics_object::get (const std::string&) const, + graphics_object::get (const char *) const): New functions. + +2009-09-05 John W. Eaton + + * txt-eng-ft.cc (ft_manager::do_get_font): Remove spurious + assignment usd for debugging. + +2009-09-04 John W. Eaton + + * txt-eng-ft.cc (ft_manager::do_get_font, ft_render::set_font, + ft_render::set_mode, ft_render::visit, ft_render::set_color): + Issue warnings instead of errors for non-fatal problems. + (ft_render::visit): If face is null, then return without warning. + * genprops.awk: Also generate const std::string& and const char* + versions of the get member functions. + * gl-render.cc (opengl_renderer::draw): Omit caseless_str + constructor in call to get method. + * ft_render::set_font (): Likewise. + +2009-09-03 John W. Eaton + + * pr-output.cc (set_format (const Complex&, int&, int&)): + Avoid passing NaN or Inf to log10. + +2009-09-03 Jaroslav Hajek + + * ov.cc (octave_value::assign (assign_op, const octave_value&)): + Call maybe_mutate after in-place operation. + +2009-09-03 Jaroslav Hajek + + * ov.cc (octave_value::do_non_const_unary_op): Split to + genuine/non-genuine case. + (octave_value::binary_op_to_assign_op): New method. + * ov.h: Declare it. + * ov-re-mat.h (octave_matrix::changesign): New method. + * ov-flt-re-mat.h (octave_float_matrix::changesign): New method. + * ov-cx-mat.h (octave_complex_matrix::changesign): New method. + * ov-flt-cx-mat.h (octave_float_complex_matrix::changesign): New + method. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::changesign): New method. + * ov-bool-mat.h (octave_bool_matrix::invert): New method. + * pt-unop.cc (tree_prefix_expression::rvalue1): Use + do_non_const_unary_op. + * pt-binop.cc (tree_binary_expression::rvalue1): If possible, + convert to computed assignment. + + * OPERATORS/op-m-m.cc: Define & install in-place minus operation. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-cm-cm.cc: Ditto. + * OPERATORS/op-fcm-fcm.cc: Ditto. + * OPERATORS/op-int.h: Ditto. + * OPERATORS/op-bm-bm.cc: Define & install in-place not operation. + +2009-09-03 Jaroslav Hajek + + * ov-re-mat.h (octave_matrix::increment, octave_matrix::decrement): + Use matrix_ref. + * ov-flt-re-mat.h (octave_float_matrix::increment, + octave_float_matrix::decrement): Use matrix_ref. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::increment, + OCTAVE_VALUE_INT_MATRIX_T::decrement): + Use matrix_ref. + +2009-09-02 John W. Eaton + + * graphics.cc (axes::properties::calc_ticklabels): + Avoid unused parameter warning from gcc. + + * ov-perm.cc (octave_perm_matrix::save_binary, + octave_perm_matrix::load_binary): Avoid shadow warning from gcc. + +2009-09-01 David Bateman + + * DLD-FUNCTIONS/eig.cc (Feigs): Correct nesting error in option + parsing that prevented the use of a function for generalized + eigenvalue problems. + +2009-08-30 Jaroslav Hajek + + * ops.h (DEFCMPLXCMPOP_OP, DEFNDCMPLXCMPOP_FN): New macros. + * gripes.cc (gripe_warn_complex_cmp): New function. + * gripes.h: declare it. + + * OPERATORS/op-cm-cm.cc: Call the new macros. + * OPERATORS/op-cm-cs.cc: Ditto. + * OPERATORS/op-cm-m.cc: Ditto. + * OPERATORS/op-cm-s.cc: Ditto. + * OPERATORS/op-cs-cm.cc: Ditto. + * OPERATORS/op-cs-cs.cc: Ditto. + * OPERATORS/op-cs-m.cc: Ditto. + * OPERATORS/op-fcm-fcm.cc: Ditto. + * OPERATORS/op-fcm-fcs.cc: Ditto. + * OPERATORS/op-fcm-fm.cc: Ditto. + * OPERATORS/op-fcm-fs.cc: Ditto. + * OPERATORS/op-fcs-fcm.cc: Ditto. + * OPERATORS/op-fcs-fcs.cc: Ditto. + * OPERATORS/op-fcs-fm.cc: Ditto. + * OPERATORS/op-fm-fcm.cc: Ditto. + * OPERATORS/op-fm-fcs.cc: Ditto. + * OPERATORS/op-fs-fcm.cc: Ditto. + * OPERATORS/op-m-cm.cc: Ditto. + * OPERATORS/op-m-cs.cc: Ditto. + * OPERATORS/op-s-cm.cc: Ditto. + + +2009-08-30 Jaroslav Hajek + + * ops.h (BOOL_OP1, BOOL_OP2, BOOL_OP3, SC_MX_BOOL_OP, MX_SC_BOOL_OP, + MX_MX_BOOL_OP): Remove. + +2009-08-28 John W. Eaton + + * genprops.awk: Generate static member functions has_core_property + and core_property_names. Make has_property and all_property_names + non-static const member functions. Pass object type to + validate_property_name. + * graphics.cc (validate_property_name): New arg, WHAT. + Improve warning and error messages. + (property_list::set): Use has_core_property instead of has_property. + (base_properties::has_property): Delete definition. + (base_graphics_object::remove_all_listeners): Move unwind protect + block here, from old base_properties::has_property function. + * graphics.h.in (base_properties::has_property): Now virtual. + Unconditionally call panic_impossible. + +2009-08-28 John W. Eaton + + * graphics.cc (validate_property_name): Return full name of + matched property value. Issue warning if given property name is + abbreviated. + * genprops.awk: Use name returned by validate_property_name for + subsequent matching. + * octave.cc (maximum_braindamage): + Disable Octave:abbreviated-property-match warning. + +2009-08-27 John W. Eaton + + * graphics.cc (validate_property_name): New static function. + (base_properties::dynamic_property_names): New function. + * graphicffs.h.in (base_properties::dynamic_property_names): + Provide decl. + * genprops.awk: Generate all_property_names functions. Use + all_property_names as needed to avoid duplication elsewhere. + Call validate_property_name in set/get functions. + +2009-08-27 Jaroslav Hajek + + * ov-class.cc (get_current_method_class): Simplify. + (octave_class::in_class_method): Don't rely on multiple copies of + methods. Don't declare as const. + (octave_class::octave_class (const Octave_map&, const std::string&, + const octave_value_list&)): + Call symbol_table::add_to_parent_map instead. + * ov-class.h (octave_class::in_class_method): Don't declare as const. + * symtab.h (symbol_table::parent_map): New field. + (symbol_table::add_to_parent_map): New method. + (symbol_table::load_class_method): Search also parent classes. + * load-path.h (load_path::parent_map, load_path::add_to_parent_map, + load_path::do_add_to_parent_map): Remove. + * load-path.cc (load_path::do_find_method): Don't search parent + classes. + +2009-08-27 Jaroslav Hajek + + * OPERATORS/op-cs-cs.cc: Simplify comparison operators. + * OPERATORS/op-fcs-fcs.cc: Ditto. + +2009-08-25 David Grundberg + + * DLD-FUNCTIONS/__magick_read__.cc [HAVE_MAGICK]: Include + Magick++.h instead of GraphicsMagick/Magic++.h. + * Makefile.in: Replace MAGICK_LIBS with MAGICK_LDFLAGS and + MAGICK_LIBS. Replace MAGICK_INCFLAGS with MAGICK_CPPFLAGS. + * oct-conf.h.in: Ditto. + * toplev.cc (octave_config_info): Ditto. + +2009-08-26 John W. Eaton + + * oct-conf.h.in: New defines for UMFPACK_CPPFLAGS and UMFPACK_LDFLAGS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-26 John W. Eaton + + * oct-conf.h.in: New defines for QRUPDATE_CPPFLAGS and QRUPDATE_LDFLAGS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-26 John W. Eaton + + * oct-conf.h.in: New defines for ARPACK_CPPFLAGS and ARPACK_LDFLAGS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-26 John W. Eaton + + * Makefile.in (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): + Include BLAS_LIBS in the list. + +2009-08-26 John W. Eaton + + * Makefile.in (OCTAVE_LIBS): Include FLIBS in the list. + (OCTINTERP_LINK_DEPS): Include TERM_LIBS, LIBGLOB, and FLIBS in + the list. + +2009-08-26 Jaroslav Hajek + + * data.cc (Ffmod): Reverse order of args. + +2009-08-26 Rob Mahurin + + * syscalls.cc: Recommend waitpid() in popen2() documentation. + +2009-08-25 John W. Eaton + + * graphics.cc (gnuplot_backend::send_quit): Wait for gnuplot process. + +2009-08-24 Jaroslav Hajek + + * OPERATORS/op-m-m.cc: Install .*= and ./= operators. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-cm-cm.cc: Ditto. + * OPERATORS/op-fcm-fcm.cc: Ditto. + * OPERATORS/op-int.h: Ditto. + +2009-08-22 Jaroslav Hajek + + * data.cc (UNARY_OP_DEFUN_BODY, + BINARY_OP_DEFUN_BODY, BINARY_ASSOC_OP_DEFUN_BODY): Remove. + (unary_op_defun_body, binary_op_defun_body, + binary_assoc_op_defun_body): New functions. + (Fnot, Fuplus, Fuminus, Ftranspose, Fctranspose): Use + unary_op_defun_body. + (Fminus, Fmrdivide, Fmpower, Fmldivide, Flt, Fle, Feq, Fge, Fgt, Fne, + Frdivide, Fpower, Fldivide): Use binary_op_defun_body. + (Fplus, Ftimes, Fmtimes, Fand, For): Use binary_assoc_op_defun_body. + +2009-08-21 Jaroslav Hajek + + * OPERATORS/op-s-s.cc: Check for NaN in ! operator. + * OPERATORS/op-fs-fs.cc: Ditto. + * OPERATORS/op-cs-cs.cc: Ditto. + * OPERATORS/op-fcs-fcs.cc: Ditto. + +2009-08-17 Jaroslav Hajek + + * ops.h (DEFNDASSIGNOP_FNOP): New macro. + * OPERATORS/op-bm-bm.cc: Define and install &= and |= operators. + +2009-08-17 Jaroslav Hajek + + * OPERATORS/op-m-m.cc: Define and install += and -= operators. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-cm-cm.cc: Ditto. + * OPERATORS/op-fcm-fcm.cc: Ditto. + * OPERATORS/op-m-s.cc: Define and install +=,-=,*=,/= operators. + * OPERATORS/op-fm-fs.cc: Ditto. + * OPERATORS/op-cm-cs.cc: Ditto. + * OPERATORS/op-fcm-fcs.cc: Ditto. + * OPERATORS/op-cm-s.cc: Define and install *=,/= operators. + * OPERATORS/op-fcm-fs.cc: Ditto. + * ops.h (DEFNDASSIGNOP_OP): New macro. + * ov.cc (octave_value::assign (assign_op, const octave_value&)): + Try looking up specialized handlers if the value is not shared. + * ov-base-mat.h (octave_base_matrix::matrix_ref): New method. + +2009-08-17 Jaroslav Hajek + + * oct-obj.h (octave_value_list::octave_value_list (octave_idx_type)): + Allow this constructor. + +2009-08-19 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc (Ffind): Reuse cached index vector when + converting boolean mask to indices. + +2009-08-18 John W. Eaton + + * oct-conf.h.in: New #defines for HDF5_LDFLAGS and HDF5LDFLAGS. + * Makefile.in (OCTAVE_LIBS, OCTINTERP_LINK_DEPS): + Include them in the lists. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-17 John W. Eaton + + * oct-conf.h.in: New #defines for ZLIB_CPPFLAGS and ZLIB_LDFLAGS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-17 John W. Eaton + + * Makefile.in (OCTINTERP_LINK_DEPS): Include FFTW_LDFLAGS, + FFTW_LIBS and READLINE_LIBS in the list. + (OCTAVE_LIBS): Attempt to include all necessary dependencies for + static linking. + +2009-08-17 John W. Eaton + + * Makefile.in (eigs.oct, chol.oct, qr.oct): Add library-specific + CPPFLAGS and LDFLAGS variables to CPPFLAGS and LDFLAGS. + From Benjamin Lindner . + +2009-08-17 John W. Eaton + + * Makefile.in (OCTINTERP_LINK_DEPS): List $(LIBS) last. + +2009-08-17 Michael Goffioul + + * Makefile.in (OCTINTERP_LINK_DEPS): Include $(LIBCRUFT) and + $(LIBS) in the list. + (OCT_LINK_DEPS): Include $(LIBOCTAVE) and $(LIBCRUFT) in the list. + (eigs.oct, qz.oct): Add $(BLAS_LIBS) to LDFLAGS. + (ccolamd.oct, symbfact.oct): Add library-specific CPPFLAGS and + LDFLAGS variables to CPPFLAGS and LDFLAGS. + +2009-08-17 Jaroslav Hajek + + * ov-struct.h, ov-struct.cc: Revert to e08d72bb988e. + * ov-class.h, ov-class.cc: Partially revert to e08d72bb988e. + (octave_class::subsasgn): Cut&paste code from octave_struct::subsasgn + for the nested dot indexing. + * ov-usr-fcn.cc (Voptimize_subasgn_calls): Default to true. + +2009-08-13 John W. Eaton + + * DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw.cc: Update for new FFTW + defines. + + * Makefile.in (amd.oct, colamd.oct, dmperm.oct, symcrm.oct, + qr.oct, fft.oct, fft2.oct, fftn.oct, fftw.oct): Add + library-specific CPPFLAGS and LDFLAGS variables to CPPFLAGS + and LDFLAGS. + * oct-conf.h.in: New #defines for GLPK_CPPFLAGS, GLPK_LDFLAGS, + AMD_CPPFLAGS, AMD_LDFLAGS, CAMD_CPPFLAGS, CAMD_LDFLAGS, + CCOLAMD_CPPFLAGS, CCOLAMD_LDFLAGS, CHOLMOD_CPPFLAGS, + CHOLMOD_LDFLAGS, COLAMD_CPPFLAGS, COLAMD_LDFLAGS, + CXSPARSE_CPPFLAGS, CXSPARSE_LDFLAGS, FFTW3_CPPFLAGS, + FFTW3_LDFLAGS, FFTW3_LIBS, FFTW3F_CPPFLAGS, FFTW3F_LDFLAGS, and + FFTW3F_LIBS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-13 Jaroslav Hajek + + * ov-class.h (octave_class): Derive from octave_struct. + (octave_class::octave_class): Update all constructors. + (octave_class::numeric_conv, octave_class::byte_size, octave_class::numel, octave_class::nfields, + octave_class::reshape, octave_class::resize, octave_class::is_defined, + octave_class::map_value): Remove methods (inherit). + * ov-class.h (octave_class::obsolete_copies): New field. + Init to 0 in all constructors. + (octave_class::unique_clone): New decl. + * ov-class.cc (octave_class::unique_clone): Fake clone if all + remaining copies are obsolete. + (octave_class::subsref): Share code with octave_struct::subsref. + (octave_class::subsref (..., bool auto_add)): New method. + (octave_class::subsasgn): If plausible, attempt to + optimize the method call by marking appropriate number of copies + obsolete. Share code with octave_struct::subsasgn. + (octave_class::dotasgn): New method override. + * ov-struct.h (octave_struct::dotref): New virtual overload. + (octave_struct::dotasgn): New virtual method decl. + * ov-struct.cc (octave_struct::dotasgn): New virtual method. + * ov-usr-fcn.h (octave_user_function::num_args_passed, + octave_user_function::saved_args): Remove fields. Wipe from all + constructor lists. + (octave_user_function::save_args_passed, + octave_user_function::restore_args_passed): Remove methods. + (octave_user_function::all_va_args): Update decl. + (octave_user_function::subsasgn_optimization_ok): New method decl. + * ov-usr-fcn.cc (octave_user_function::all_va_args): Rename from + octave_all_va_args, take args as a parameter. + (octave_user_function::subsasgn_optimization_ok): New method. + (octave_user_function::do_multi_index_op): Simplify. + +2009-08-12 Jaroslav Hajek + + * ov-base.h (octave_base_value::count): Declare as octave_idx_type. + (octave_base_value::octave_base_value (const octave_base_value&)): + Initialize count to 1. + (octave_base_value::unique_clone ()): New method. + (octave_base_value::print_with_name): Declare as non-const. + * ov-base.cc (octave_base_value::print_with_name): Update. + * ov.h (octave_value::make_unique (void)): Don't set rep->count. + Call unique_clone. + (octave_value::make_unique (int)): Don't set rep->count. + Call unique_clone. + (octave_value::octave_value (const octave_base_value *)): Declare + as private. + * ov-class.cc (octave_class::print_with_name): Avoid using clone (). + * ov-class.h (octave_class::print_with_name): Declare as non-const. + +2009-08-13 John W. Eaton + + * Makefile.in: Consistently add library-specific CPPFLAGS and + LDFLAGS variables to CPPFLAGS and LDFLAGS for .oct files that need + them. Also add X11_FLAGS to CPPFLAGS for display.d display.df and + pic/display.o. + + * oct-conf.h.in: New #defines for QHULL_CPPFLAGS, QHULL_LDFLAGS, + CURL_CPPFLAGS, and CURL_LDFLAGS. + * toplev.cc (octave_config_info): Include them in the list. + +2009-08-12 Jaroslav Hajek + + * Makefile.in: Include LDFLAGS when linking shared executable. + +2009-08-12 Jaroslav Hajek + + * data.cc (Fissorted, F__sort_rows_idx__, Fnorm): Mark as Built-in + Functions in the inline help. + +2009-08-11 John W. Eaton + + * DLD-FUNCTIONS/fftw.cc (Ffftw): Update for octave_fftw_planner + and octave_float_fftw_planner as singleton objects. + +2009-08-11 John W. Eaton + + * oct-conf.h.in: Use READLINE_LIBS instead of LIBREADLINE. + New #defines for TERM_LIBS and DL_LIBS. + * toplev.cc (octave_config_info): Add TERM_LIBS and DL_LIBS to the + struct. Use READLINE_LIBS instead of LIBREADLINE. + +2009-08-11 John W. Eaton + + * oct-conf.h.in: New #defines for AMD_LIBS, ARPACK_LIBS, + CAMD_LIBS, CCOLAMD_LIBS, CHOLMOD_LIBS, COLAMD_LIBS, CXSPARSE_LIBS, + FT2_LIBS, GRAPHICS_LIBS, HDF5_LIBS, OPENGL_LIBS, PTHREAD_CFLAGS, + PTHREAD_LIBS, QHULL_LIBS, QRUPDATE_LIBS, REGEX_LIBS, UMFPACK_LIBS, + ZLIB_LIBS. + + * toplev.cc (octave_config_info): Include them in the struct. + +2009-08-11 Jaroslav Hajek + + * data.cc (Fdiff): New built-in function. + (do_diff): New assistant function. + +2009-08-10 John W. Eaton + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Perform tilde expansion on + filename argument. + +2009-08-10 Jaroslav Hajek + + * symtab.cc (out_of_date_check): Remove overloads. Add check_relative + parameter. + (out_of_date_check_internal): Remove. + * symtab.h: Update. + * ov-fcn-handle.cc (octave_fcn_handle::do_index_op): Call + out_of_date_check with check_relative = false. + +2009-08-09 John W. Eaton + + * parse.y (Fevalin): Also return output from CATCH expression. + +2009-08-08 Jaroslav Hajek + + * data.cc (Fifelse): Rename to Fmerge, alias to Fifelse. + +2009-08-06 Jaroslav Hajek + + * OPERATORS/op-dm-template.cc, OPERATORS/op-pm-template.cc: + Also define conversions for null string and null sq_string. + +2009-08-06 John W. Eaton + + * OPERATORS/op-cdm-m.cc, OPERATORS/op-dm-m.cc, OPERATORS/op-pm-m.cc: + Define LDMATRIX and DEFINENULLASSIGNCONV. + * OPERATORS/op-dm-template.cc, OPERATORS/op-pm-template.cc: + Include ov-null-mat.h and define assignment conversion for null + matrices if DEFINENULLASSIGNCONV is defined. Define OCTAVE_LDMATRIX. + +2009-08-05 John W. Eaton + + * pt-eval.cc (tree_evaluator::visit_complex_for_command): + Use key_list order for iterating through map. + + * Makefile.in (OCT_LINK_DEPS): Also include $(RLD_FLAG) in the list. + +2009-08-05 John W. Eaton + + * Makefile.in (octave$(EXEEXT)): Clean up link flags and library list. + (OCTINTERP_LINK_DEPS): Omit -L../libcruft $(LIBCRUFT) $(LIBS) + $(FLIBS) from the list. Include $(RLD_FLAG) in the list. + (OCT_LINK_DEPS): Only include -L. $(LIBOCTINTERP) in the list. + +2009-08-05 Jaroslav Hajek + + * utils.cc (Fisindex): New DEFUN. + +2009-08-04 Kristian Rumberg + + * input.cc (is_completing_dirfns): New function. + (generate_completion): Use it to selectively complete file names. + +2009-08-04 John W. Eaton + + * debug.cc (Fdbwhere): Call octave_call_stack::goto_frame_relative + to move to user code frame. Get line and column information from + call stack. + * input.cc (Fkeyboard): Don't pass verbose flag to + octave_call_stack::goto_frame_relative. + (get_debug_input): Get line and column information from call stack. + + * pt-eval.h, pt-eval.cc (tree_evaluator::debug_line, + tree_evaluator::debug_column, tree_evaluator::db_line, + tree_evaluator::db_column): Delete. + * pt-eval.cc (tree_evaluator::do_breakpoint): Don't print function + name and location info here. Delete line and column number args. + Change all callers. + + * toplev.h (octave_call_stack::do_current, + octave_call_stack::do_current_statement): New functions. + (octave_call_stack::current): Call do_current, not top. + (octave_call_stack::current_statement): Call do_current_statement, + not top_statement. + (octave_call_stack::top, octave_call_stack::top_statement, + octave_call_stack::do_top, octave_call_stack::do_top_statement): + Delete. + +2009-08-04 John W. Eaton + + * toplev.cc (octave_call_stack::do_goto_frame_relative): Allow + NSKIP to be 0. Set current scope and context. + * input.cc (Fkeyboard): Use octave_call_stack::goto_frame_relative + to set scope in user code that called the keyboard function. + +2009-08-04 Jaroslav Hajek + + * input.cc (Fkeyboard): Only call do_keyboard, don't fiddle with + stack. + +2009-08-03 Jaroslav Hajek + + * DLD-FUNCTIONS/sub2ind.cc: New source. + * Makefile.in: Include it. + * ov-range.h (octave_range::octave_range (const Range&, const + idx_vector&)): New constructor. + * ov-re-mat.h (octave_matrix::octave_matrix (const NDArray&, const + idx_vector&)): New constructor. + * ov.cc (octave_value::octave_value (const idx_vector&)): New + constructor. + * ov.h: Declare it. + +2009-07-30 Ryan Rusaw + + * input.cc (reading_classdef_file): New file-scope variable. + (gnu_readline): Also set curr_stream if reading_classdef_file. + (octave_gets, get_input_from_file): + Handle classdef files like other input files. + * input.h (reading_classdef_file): Provide decl. + + * octave.gperf (classdef, endclassdef, endevents, endmethods, + endproperties, events, get, methods, properties, set): New keywords. + + * lex.l: Handle classdef filees like other input files. + Recognize superclass method identifiers and metaclass query constructs. + (is_keyword_token): Recognize endclassdef, endevents, endmethods, + endproperties, get, set, properties, methods, and events keywords. + (maybe_classdef_get_set_method, parsing_classdef): New variables. + (handle_superclass_identifier, handle_meta_identifier): + New static functions. + (lexical_feedback::init): Initialize parsing_classdef and + maybe_classdef_get_set_method. + (display_token): Handle SUPERCLASSREF, METAQUERY, GET, SET, + PROPERTIES, METHODS, EVENTS, and CLASSDEF tokens. + * lex.h (maybe_classdef_get_set_method, parsing_classdef): + Provide decls. + * parse.y (%union): New placeholder type, dummy_type. + (SUPERCLASSREF, METAQUERY, GET, SET, PROPERTIES, METHODS, EVENTS, + CLASSDEF): New tokens. + (superclass_identifier, meta_identifier, classdef_beg, + classdef_end, classdef1, classdef, opt_attr_list, attr_list, attr, + opt_superclasses, superclasses, class_body, properties_beg, + properties_block, properties_list, class_property, methods_beg, + methods_block, methods_list, events_beg, events_block, + events_list, class_event): New non-terminals. + (primary_expr): Include superclass_identifier and meta_identifier + as possible primary_exprs. + (function_beg): If parsing classdef file, set + lexer_flags.maybe_classdef_get_set_method to true. + be recognized. + (fcn_name): Accept GET '.' identifier or SET '.' identifier. + (end_error): Handle endclassdef. + (looking_at_classdef_keyword): New function. + (gobble_leading_whitespace): Handle classdef. + * token.h, token.cc (sc, mc): + New union fields for symbol classdef symbol_record info. + (token::token (symbol_table::symbol_record *, + symbol_table::symbol_record *, int, int), + token::token (symbol_table::symbol_record *, + symbol_table::symbol_record *, symbol_table::symbol_record *, int, + int)): New constructors. + (token::method_rec, token::class_rec, token::package_rec, + token::meta_class_rec, token::meta_package_rec): New methods. + (token_type): New enum values: scls_rec_token, meta_rec_token. + (end_tok_type): New enum values: classdef_end, events_end, + methods_end, properties_end. + +2009-07-30 David Grundberg + + * symtab.h (symbol_table::parent_scope): Remove. + (symbol_table::set_parent_scope): Remove. + (symbol_table::reset_parent_scope): Remove. + (symbol_table::install_subfunction): Require scope parameter + instead of xparent_scope default. + * symtab.cc: Remove symbol_table::xparent_scope + * lex.h (lexical_feedback::parsing_nested_function): Remove. + * lex.l (is_keyword_token): Don't ignore endfunctions. + (prep_lexer_for_script_file): Renamed from prep_lexer_for_script. + (prep_lexer_for_function_file): New function. + (display_token): Display SCRIPT_FILE and FUNCTION_FILE. + (display_state): Display FUNCTION_FILE_BEGIN + (FUNCTION_FILE_BEGIN): New state. + (NESTED_FUNCTION_END, NESTED_FUNCTION_BEGIN): Remove states. + (prep_for_function, prep_for_nested_function): Remove functions. + * parse.h: Remove extern declaration parent_function_name, + end_tokens_expected. + * parse.y: Add variables current_function_depth, + max_function_depth, parsing_subfunctions, seen_endfunction. Remove + parent_function_name. Rename curr_fcn_ptr to primary_fcn_ptr. Add + token FUNCTION_FILE. Rename token SCRIPT to SCRIPT_FILE. + (function_file): New rule. + (input): Accept function_file. + (script_file): Rule renamed from script. + (function_file): New rule. + (function_list): New rule. + (push_fcn_symtab): Parse nested functions. + (fcn_name): Remove parent_function_name. + (function_end): Use seen_endfunction. New error messages. + (make_script): Use primary_fcn_ptr. + (frob_function): Simplify control structures. Don't use + symbol_table::parent_scope. + (push_fcn_symtab, function_end, frob_function, finish_function): + Use current_function_depth instead of + lexical_feedback::parsing_nested_function. + (make_return_command): Use current_function_depth instead of + lexical_feedback::defining_func. + (make_break_command, make_decl_command, maybe_warn_missing_semi): + Ditto + (parse_fcn_file): Warn when nested functions have been + declared. Remove superfluous local variables. Parse function files + using function_file rule. + +2009-07-30 Jaroslav Hajek + + * data.cc (Fmerge): Rename to Fifelse. + +2009-07-30 Jaroslav Hajek + + * data.cc (Fmerge): New DEFUN. + (do_merge): New helper function. + +2009-07-29 John W. Eaton + + * parse.y (param_list_end): Also set + lexer_flags.looking_for_object_index to false. + + * ov-float.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, + ov-scalar.cc: Use complex function for acos mapper if arg is out + of range [-1, 1]. + + * ov-bool.cc (octave_bool::load_ascii): Call template function to + read value. + * ov-scalar.cc (octave_scalar::load_ascii): Likewise. + * ov-complex.cc (octave_complex::load_ascii): Likewise. + * ov-float.cc (octave_float_scalar::load_ascii): Likewise. + * ov-flt-complex.cc (octave_float_complex::load_ascii): Likewise. + * ls-mat-ascii.cc (read_mat_ascii_data): Likewise. + + * ov-re-sparse.cc (octave_sparse_matrix::load_binary, + octave_sparse_matrix::load_hdf5): Perform sanity check on indices. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::load_binary, + octave_sparse_complex_matrix::load_hdf5): Likewise. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::load_binary, + octave_sparse_bool_matrix::load_hdf5): Likewise. + +2009-07-29 Jaroslav Hajek + + * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): + Cache lookups also for classes. + +2009-07-28 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Support auto-expanding scalar + cells. + +2009-07-27 Jaroslav Hajek + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::xfind, + symbol_table::fcn_info::fcn_info_rep::find, + symbol_table::fcn_info::fcn_info_rep::find_function, + symbol_table::fcn_info::find, + symbol_table::fcn_info::find_function, + symbol_table::find, symbol_table::do_find, + symbol_table::find_function): + Add local_funcs parameter. + * symtab.h: Update decls. + * ov-fcn-handle.cc (make_fcn_handle): Add local_funcs parameter. + * ov-fcn-handle.h: Update decls. + +2009-07-24 John W. Eaton + + * pt-mat.cc (DO_SINGLE_TYPE_CONCAT_NO_MUTATE): New macro. + (tree_matrix::rvalue1): Use it to avoid complex -> real conversion. + +2009-07-24 Jaroslav Hajek + + * DLD-FUNCIONS/cellfun.cc (Fcellfun): Avoid double error messages. + +2009-07-24 Jaroslav Hajek + + * load-path.cc (load_path::do_any_class_method): New method. + * load-path.h (load_path::do_any_class_method): New method decl. + (load_path::any_class_method): New method. + * ov-fcn-handle.cc (octave_fcn_handle::do_multi_index_op): Support + calls without non-overloaded base function. + (make_fcn_handle): Support creation without non-overloaded base + function. + +2009-07-23 Shai Ayal + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::pixel2axes_or_ca): + Replace plot_window::pixel2axes and use algorithm from octavede. + (plot_window::handle): Zooming now works on the axes below the + mouse pointer instead of the current axes. Combine old and new + zooming methods. + (help_text): Update to reflect new mouse/key bindings. + +2009-07-23 Soren Hauberg + + * graphics.cc (axes::properties::zoom_about_point, + axes::properties::translate_view): New functions. + (axes::properties::zoom): make zoom_stack usage optional. + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::handle): Use new + zoom API. + +2009-07-23 John W. Eaton + + * variables.cc (safe_symbol_lookup): New function. + (symbol_exist): Use it. + +2009-07-23 Jaroslav Hajek + + * DLD-FUNCTIONS/chol.cc (Fcholupdate, + Fcholinsert, Fcholdelete, Fcholshift): Replace is_matrix_type -> + is_numeric_type. + +2009-07-23 John W. Eaton + + * toplev.cc (IGNORE_EXCEPTION, SAFE_CALL): New macros. + (clean_up_and_exit, do_octave_atexit): Use SAFE_CALL to handle + exceptions while preparing to exit. + +2009-07-23 Jaroslav Hajek + + * symtab.cc (get_dispatch_type): Omit first-arg dispatch, export. + * symtab.h (get_dispatch_type): Provide decl. + * ov-fcn-handle.h (octave_fcn_handle::warn_reload): Delete. + (octave_fcn_handle::disp): New field. + (octave_fcn_handle::str_ov_map): New typedef. + (octave_fcn_handle::octave_fcn_handle (..., str_ov_map *)): New + constructor. + (octave_fcn_handle::do_multi_index_op): New method decl. + (octave_fcn_handle::is_overloaded): New method. + * ov-fcn-handle.cc + (octave_fcn_handle::do_multi_index_op): New method. + (octave_fcn_handle::subsref): Rewrite using do_multi_index_op. + (octave_fcn_handle::make_fcn_handle): Construct overloaded handles if + appropriate. + (Ffunctions): Indicate (statically) overloaded handles. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Update & modernize. + * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Ditto. + +2009-07-22 Jaroslav Hajek + + * symtab.cc (symbol_table::find, + symbol_table::find_function, + symbol_table::symbol_record::find, + symbol_table::fcn_info::find, + symbol_table::fcn_info::fcn_info_rep::find, + symbol_table::fcn_info::fcn_info_rep::xfind): Simplify argument lists. + * symtab.h: Update declarations. + * pt-id.cc (tree_identifier::rvalue): Simplify. + * pt-id.h (tree_identifier::do_lookup): Simplify. + * pt-idx.cc (tree_index_expression::rvalue): Update. + * variables.cc (symbol_exist): Update. + +2009-07-21 John W. Eaton + + * symtab.cc (symbol_table::builtin_find, + symbol_table::do_builtin_find, + symbol_table::fcn_info::builtin_find, + symbol_table::fcn_info::fcn_info_rep::builtin_find, + symbol_table::fcn_info::fcn_info_rep::x_builtin_find): New functions. + * symtab.h: Provide decls. + * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Call + symbol_table::builtin_find instead of symbol_table::find_function. + +2009-07-20 Aleksej Saushev + + * sysdep.cc: Also define BSD_init if __NetBSD__ is defined. + (sysdep_init): Also call BSD_init if __NetBSD__ is defined. + +2009-07-20 Jaroslav Hajek + + * bitfcns.cc (DO_UBITSHIFT): Avoid overflow. + (DO_SBITSHIFT): Fix mask calculation. + +2009-07-17 Benjamin Lindner + + * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__): + Determine correct number of bits required when reading images. + +2009-07-16 John W. Eaton + + * graphics.cc (get_array_limits): Require min_pos value to be + greater than zero. + +2009-07-15 Robert T. Short + + * DLD-FUNCTIONS/filter.cc: New tests. + +2009-07-09 John W. Eaton + + * data.cc (Fones, Fzeros, Ftrue, Ffalse): Update docstrings. + +2009-07-08 John W. Eaton + + * graphics.cc (convert_cdata): Return NaN for NaN values in cdata. + + * pt-assign.cc (maybe_warn_former_built_in_variable): Improve message. + +2009-07-04 Jaroslav Hajek + + * pt-eval.cc (do_unwind_protect_cleanup_code): Add missing + unwind_protect::run. + +2009-07-02 Jaroslav Hajek + + * help.cc (do_which): Also look for files. + +2009-07-02 Jaroslav Hajek + + * Cell.cc (Cell::index): Use proper resize_fill_value. + +2009-07-01 Jaroslav Hajek + + * symtab.h (symbol_table::get_fcn_info): New private static method. + (symbol_record_rep::finfo): New field. + * symtab.cc (symbol_record::find): Use cached finfo if possible, + cache on successful queries. + +2008-07-01 David Bateman + + * pr-output.cc (static inline std::string rational_approx (double, + int)): Test for underflow of fractional part of rational approximation + earlier in the loop. + +2009-07-01 Joe Rothweiler + + * input.cc (raw_mode): Use TCSADRAIN if no wait. + +2009-06-30 Jaroslav Hajek + + * symtab.h (force_variable): Remove assertion. + +2009-06-28 Michael Goffioul + + * Makefile.in (INCLUDES): Install txt-eng.h and txt-eng-ft.h. + * gl-render.cc (opengl_renderer::draw_text): Fix bitmap offset + computation for 90x rotated text. + * txt-eng-ft.cc (ft_render::render): Compute bitmap pixels correctly + for 90x rotated text. + + * gl-render.cc (opengl_renderer::draw(text::properties)): Don't do + anything if the bitmap data is empty. Issue a warning instead of + an error if Freetype library is not available. + * txt-eng-ft.cc (ft_manager::do_get_font): Small change in error + string (add prefix). + (ft_render::render): Don't do anything if the bitmap data is empty. + +2009-06-28 Jaroslav Hajek + + * symtab.h (erase_scope (void *)): Remove overload. + +2009-06-26 Michael Goffioul + + * txt-eng.h: New file for simple text engine. + * txt-eng.h, txt-eng.cc: Freetype based text render engine. + * Makefile.in: Add txt-eng-ft.cc to list of source files. + * gl-render.h (opengl_renderer::draw_text, opengl_renderer::set_font, + opengl_renderer::draw(text::properties)): New method to support text + rendering using the Freetype renderer. + (opengl_renderer::text_renderer): New field for text rendering. + * gl-render.cc (opengl_renderer::draw(graphics_object)): Support text + object. + (opengl_renderer::draw(figure::properties)): Setup alpha test. + (opengl_renderer::draw(axes::properties)): Render tick labels, hide + labels for depth axes and fix a problem in calling + graphics_object::get(char*). + (opengl_renderer::draw(text::properties)): Basic text rendering using + Freetype engine. + (opengl_renderer::draw_text): Ditto. + (opengl_renderer::set_color): Propagate the color to the text + renderer. + (opengl_renderer::set_font): New utility method. + * graphics.cc (axes::properties::init, axes::properties::set_defauls): + (Re)initialize tick labels, labels and title property. + +2009-06-26 John W. Eaton + + * load-path.cc (Faddpath): Preserve order of prepended elements. + +2009-06-25 John W. Eaton + + * graphics.h.in (gh_manager::restore_gcbo): + Arg is now void, not void*. + +2009-06-25 Jaroslav Hajek + + * unwind-prot.h (unwind_protect::fcn_elem): New class. + (unwind_protect::fcn_arg_elem): New class. + (unwind_protect::method_elem): New class. + (unwind_protect::add_action_var): Rename to add_fcn. + (unwind_protect::add_fcn): New static method. + (unwind_protect::add_method): New static method. + + * symtab.h: Split clear_variables into two overloads. + * toplev.h (octave_call_stack::restore_frame): New static method. + + * graphics.cc: Update unwind_protect usage. + * input.cc: Ditto. + * lex.h: Ditto. + * ls-mat5.cc: Ditto. + * mex.cc: Ditto. + * ov-builtin.cc: Ditto. + * ov-fcn-handle.cc: Ditto. + * ov-mex-fcn.cc: Ditto. + * ov-usr-fcn.cc: Ditto. + * parse.y: Ditto. + * pt-eval.cc: Ditto. + * toplev.cc: Ditto. + * variables.cc: Ditto. + +2009-06-25 Jaroslav Hajek + + * input.cc: Use unwind_protect::add_action_var where appropriate. + * ls-mat5.cc: Ditto. + * ov-fcn-handle.cc: Ditto. + * parse.y: Ditto. + * toplev.cc: Ditto. + * variables.cc: Ditto. + +2009-06-25 Jaroslav Hajek + + * unwind-prot.h (unwind_protect::elem): New polymorphic class. + (unwind_protect::restore_var): Remove. + (unwind_protect::restore_mem): Remove. + (unwind_protect::elt_list): Update. + (unwind_protect::add (elem *)): New method. + (unwind_protect::add (void (*)(void *), void *)): Reimplement. + (unwind_protect::run (void)): Rewrite. + (unwind_protect::discard (void)): Rewrite. + (unwind_protect::protect_var): Rewrite. + (unwind_protect::protect_mem): Rewrite. + (unwind_protect::add_action_var): New method. + * unwind-prot.cc (unwind_protect::restore_mem): Remove. + +2009-06-24 Thorsten Meyer + + * oct-map.cc (Octave_map::squeeze, Octave_map::permute, + Octave_map::transpose, Octave_map::reshape, Octave_map::concat, + Octave_map::index): Add tests for preservation of key order in + struct arrays. + +2009-06-24 Jaroslav Hajek + + * pt-mat.cc (get_concat_class): Use empty string as zero value. + (tm_row_const_rep::tm_row_const_rep): Initialize class_nm to empty + string. + (tm_const::tm_const): Ditto. + +2009-06-24 John W. Eaton + + * pt-assign.cc (former_built_in_variables): Remove "ans" from the list. + +2009-06-24 Jaroslav Hajek + + * unwind-prot.h (restore_var, restore_mem): Hide also copy + constructors. + +2009-06-23 Jaroslav Hajek + + * quit.h (octave_quit_exception): Delete. + (exit_status, quitting_gracefully): New globals. + * quit.cc: Initialize them. + (Fquit): Set the globals, simulate interrupt. + (main_loop): Handle exit properly. + * octave.cc (execute_eval_option_code): Ditto. + (execute_command_line_file): Ditto. + * pt-eval.cc (do_unwind_protect_cleanup_code): + Fix order of unwind_protect calls. + +2009-06-23 John W. Eaton + + * oct-map.cc (Octave_map::squeeze, Octave_map::permute, + Octave_map::transpose, Octave_map::reshape, Octave_map::concat): + Preserve key order. + +2009-06-23 Jaroslav Hajek + + * pt-eval.cc (tree_evaluator::visit_try_catch_command): Simplify. + +2009-06-23 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc: Modernize unwind_protect usage. + * DLD-FUNCTIONS/daspk.cc: Ditto. + * DLD-FUNCTIONS/dasrt.cc: Ditto. + * DLD-FUNCTIONS/dassl.cc: Ditto. + * DLD-FUNCTIONS/eigs.cc: Ditto. + * DLD-FUNCTIONS/lsode.cc: Ditto. + * DLD-FUNCTIONS/quad.cc: Ditto. + * DLD-FUNCTIONS/rand.cc: Ditto. + * debug.cc: Ditto. + * dynamic-ld.cc: Ditto. + * error.cc: Ditto. + * graphics.cc: Ditto. + * help.cc: Ditto. + * input.cc: Ditto. + * load-path.cc: Ditto. + * ls-mat4.cc: Ditto. + * ls-mat5.cc: Ditto. + * mex.cc: Ditto. + * oct-hist.cc: Ditto. + * octave.cc: Ditto. + * ov-builtin.cc: Ditto. + * ov-class.cc: Ditto. + * ov-fcn-handle.cc: Ditto. + * ov-list.cc: Ditto. + * ov-mex-fcn.cc: Ditto. + * ov-struct.cc: Ditto. + * ov-usr-fcn.cc: Ditto. + * pager.cc: Ditto. + * pr-output.cc: Ditto. + * pt-arg-list.cc: Ditto. + * pt-eval.cc: Ditto. + * toplev.cc: Ditto. + * variables.cc: Ditto. + +2009-06-22 Jaroslav Hajek + + * unwind-prot.h (unwind_protect): Rewrite. + (unwind_protect::protect_var): New class. + (unwind_protect::protect_mem): New class. + * unwind-prot.cc (unwind_protect): Rewrite. + * pt-eval.cc (tree_evaluator::visit_try_catch_command): Delete frame + properly. + +2009-06-22 Jaroslav Hajek + + * ov-cell.cc (octave_cell::all_strings): Avoid duplicate conversions. + +2009-06-20 Jaroslav Hajek + + * ov.cc (Fsubsasgn): Uniquify shared value before assigning to it. + +2009-06-19 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc: Update docs. + +2009-06-17 John W. Eaton + + * mex.cc (mxArray_octave_value::get_data): + If octave_value::mex_get_data returns a valid pointer, mark it as + foreign and return it instead of enumerating the types that can be + handled directly. + + * ov-re-mat.h (octave_matrix::mex_get_data): New function. + * ov-bool-mat.h (octave_bool_matrix::mex_get_data): Ditto. + * ov-flt-re-mat.h (octave_float_matrix::mex_get_data): Ditto. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::mex_get_data): Ditto. + * ov-base-mat.h (octave_base_matrix::mex_get_data): Delete. + +2009-06-16 Jaroslav Hajek + + * symtab.h (symbol_table::set_scope_and_context): Avoid checking + error_state for setting context. + +2009-06-15 Jaroslav Hajek + + * ov-re-mat.h (octave_matrix::octave_matrix (const Array&, + bool)): New constructor. + * ov.cc (octave_value::octave_value (const Array&, + bool)): New constructor. + * ov.h: Declare it. + + * data.cc (Fsort, F__sort_rows_idx__): Use the new constructor. + * DLD-FUNCTIONS/find.cc (Ffind): Ditto. + * DLD-FUNCTIONS/lookup.cc (Flookup): Ditto. + * DLD-FUNCTIONS/max.cc (Fmax, Fmin, Fcummax, Fcummin): Ditto. + +2009-06-15 Jaroslav Hajek + + * ov-base-mat.h (octave_base_matrix::idx_cache): New member field. + (octave_base_matrix::typ): Turn to MatrixType *. + (octave_base_matrix::octave_base_matrix (...)): Update constructors. + (octave_base_matrix::clear_cached_info, + octave_base_matrix::set_idx_cache): New member functions. + * ov-base-mat.cc (octave_base_matrix::assign, + octave_base_matrix::delete_elements): Call clear_cached_info here. + * ov-re-mat.h (octave_matrix::index_vector): Use idx_cache. + * ov-flt-re-mat.h (octave_float_matrix::index_vector): Ditto. + * ov-bool-mat.h (octave_bool_matrix::index_vector): Ditto. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::index_vector): Ditto. + * ov-range.h (octave_range::idx_cache): New member field. + (octave_range::octave_range (...)): Update constructors. + (octave_range::clear_cached_info, + octave_base_matrix::set_idx_cache): New member functions. + (octave_range::idx_vector): Use idx_cache. + +2009-06-14 Michael Goffioul + + * graphics.h.in (axes::properties::xtick, axes::properties::ytick, + axes::properties::ztick, axes::properties::xticklabelmode, + axes::properties::yticklabelmode, axes::properties::zticklabelmode): + Add 'u' modifier to enable updaters. + (axes::properties::calc_ticklabels): New function to update tick + labels. + (axes::properties::update_xtick, axes::properties::update_ytick, + axes::properties::update_ztick, + axes::properties::update_xticklabelmode, + axes::properties::update_yticklabelmode, + axes::properties::update_zticklabelmode): Add updaters to update tick + labels correctly. + (axes::properties::update_xlim, axes::properties::update_ylim, + axes::properties::update_zlim): Update tick labels. + * graphics.cc (axes::properties::calc_ticklabels): New function to + update tick labels. + +2009-06-14 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Support character array lookup. + +2009-06-12 John W. Eaton + + * ov-fcn-handle.cc (make_fcn_handle): Accept operators which have + corresponding functions and make function handles using the names. + New test. + +2009-06-12 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (do_numeric_lookup): New template function. + (Flookup): Extend to support b and m options, improve diagnostic. + Refactor. + +2009-06-12 Kai NODA + + * ls-mat4.h: Fix include guard + * ov-type-conv.h: Add missing include guard. + +2009-06-12 Jaroslav Hajek + + * data.cc (BINARY_ASSOC_OP_DEFUN_BODY): New helper macro. + (Fplus, Fmtimes, Ftimes, Fand, For): Allow >= 1 arguments. + +2009-06-12 Jaroslav Hajek + + * ov-cell.cc (octave_cell::sort (Array&)): Simplify. + +2009-06-11 John W. Eaton + + * octave.cc: Keep long options alphabetized. + + * display.h (display_info::no_window_system): New static function. + (display_info::display_info, display_info::init, + display_info::instance_ok): New argument, QUERY. + (display_info::init): Skip query if QUERY is false. + + * octave.cc (long_opts, octave_main): Handle --no-window-system option. + (NO_WINDOW_SYSTEM_OPTION): New defined value. + (usage_string, verbose_usage): Mention --no-window-system option. + +2009-06-11 Jaroslav Hajek + + * ov-class.cc (octave_class::subsref): Set up proper nargout for call to subsref + method. + * ov-class.cc (octave_class::subsref): Unpack cs-list and setup nargin + for call to subsasgn. + +2009-06-10 Jaroslav Hajek + + * ov-base.cc (octave_base_value::numel (const octave_value_list&), + octave_base_value::size): New virtual methods. + * ov-base.h: Declare them. + * ov.h (octave_value::numel (const octave_value_list&)): New method. + (octave_value::size): Forward to octave_base_value. + * ov-class.cc (octave_class::numel (const octave_value_list&), + octave_base_value::size): New method overrides. + * ov-class.h: Declare them. + * pt-idx.cc (tree_index_expression::lvalue): Rewrite. + * data.cc (Fnumel): Allow indexed query. + +2009-06-10 John W. Eaton + + * pt-fcn-handle.cc (tree_anon_fcn_handle::dup): Don't convert to + tree_constant object here. Do inherit from current symbol table + scope and context. New test. + + * lex.l (handle_identifier): Set lexer_flags.looking_for_object_index + false if identifier is a keyword. + ({IDENT}{S}*): Don't set lexer_flags.looking_for_object_index here. + +2009-06-09 Jaroslav Hajek + + * octave.cc (octave_main): Call initialize_command_input + conditionally. Move line_editing update in front of it. + Call command_editor::force_default_editor if not line_editing. + +2009-06-09 Jaroslav Hajek + + * data.cc (Flog2): Fix tests. + +2009-06-08 John W. Eaton + + * variables.cc (symbol_exist): Returnn 1 for function handles and + inline function objects. + +2009-06-08 Jaroslav Hajek + + * symtab.h (symbol_table::do_clear_global, + symbol_table::do_clear_global_pattern): Properly erase from both local + and global table. + +2009-06-08 Jaroslav Hajek + + * variables.cc (Fclear): Clear also globals when called without + arguments. + +2009-06-07 Jaroslav Hajek + + * graphics.cc (color_property::do_set): Allow a wider range of types. + +2009-06-07 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc (Ffind): Fix docs. Improve second argument + handling. Add regression tests. + +2009-06-06 Rik + + * data.cc: Update documentation for 'complex' function + +2009-06-06 Rik + + * load-save.cc: Update documentation for NA and isna functions + +2009-06-06 Rik + + * load-save.cc: Update documentation for load and save + +2009-06-06 Rik + + * pr-output.cc: Update documentation for 'format' + +2009-06-05 Rik + + * variables.cc: Update documentation for 'who' family of functions + +2009-06-03 Rik + + * input.cc: Correct documentation for keyboard function + +2009-06-02 Rob Mahurin + + * Makefile.in: Add CARBON_LIBS to OCTINTERP_LINK_DEPS. + From Bernard Desgraups . + +2009-06-02 Jaroslav Hajek + + * ov-base.cc (octave_base_value::numeric_assign): Gripe when no index + given. + * ov-cell.cc (octave_cell::subsasgn): Ditto. + * ov-struct.cc (octave_struct::subsasgn): Ditto. + * ov-list.cc (octave_list::subsasgn): Ditto. + +2009-05-28 John W. Eaton + + * load-path.cc (load_path::do_files): Avoid shadow warning from GCC. + +2009-05-27 John W. Eaton + + * DLD-FUNCTIONS/__magick_read__.cc (write_image): + Bail out if given indexed image. + +2009-05-27 Jaroslav Hajek + + * DLD-FUNCTIONS/__magick_read__.cc (encode_map): Fix RGB color + construction. + +2009-05-26 John W. Eaton + + * load-path.h, load-path.cc (load_path::files, load_path::do_files): + New arg, OMIT_EXTS. + * help.cc (F__list_functions__): Call load_path::files with + omit_exts set to true. + + * symtab.h + (symbol_table::symbol_record::symbol_record_rep::is_variable): + Use "! is_local ()" instead of storage_class != local. + (symbol_table::do_variable_names): Only add variables to the list. + (symbol_table::unmark_forced_variables): New static function + * variables.cc (do_who): Use is_variable instead of is_defined. + Also limit output to variables when using regexp pattern. + * octave.cc (unmark_forced_vars): Delete. + (execute_eval_option_code): Don't add unmark_forced_vars to + unwind_protect stack here. + * toplev.cc (main_loop): Add symbol_table::unmark_forced_variables + to the unwind_protect stack here. + * input.cc (get_debug_input): Likewise. + * parse.y (parse_fcn_file, eval_string): Likewise. + +2009-05-25 Jaroslav Hajek + + * toplev.h (quit_allowed): New global variable. + * toplev.cc (quit_allowed): Declare it. + (Fquit): Raise error if quitting is not allowed. + * octave.cc (octave_main): if running as embedded, disable quit by + default. + +2009-05-25 Jaroslav Hajek + + * variables.cc (do_who): Only output symbols with a defined value. + +2009-05-22 Michael Goffioul + + * toplev.h (main_loop): Tag with OCTINTERP_API. + * input.h (octave_read, get_input_from_file, get_input_from_stdin): + Ditto. + * lex.h (create_buffer, current_buffer, switch_to_buffer, + delete_buffer, restore_input_buffer, delete_input_buffer): Ditto. + +2009-05-22 Robert T. Short + + * ov-class.h, ov-class.cc (octave_class::clear_exemplar_map): + New function. + * symtab.h (symbol_record::clear_objects, + symbol_record::do_clear_objects): New functions. + * variables.cc (do_matlab_compatible_clear, clear): + Handle -classes option. + +2009-05-22 Jaroslav Hajek + + * ov-base-mat.cc (octave_base_matrix::assign (const + octave_value_list, typename MT::element_type)): Avoid out of bounds + assignments. + +2009-05-21 Michael Goffioul + + * graphics.cc (figure::properties::get_boundingbox, + figure::properties::set_boundingbox): Get screen size from root + object. + (convert_position): Get screen resolution from root object and remove + unneeded "backend" argument. + (axes::properties::get_boundingbox, + figure::properties::get_boundingbox, + figure::properties::set_boundingbox): Remove unneeded backend argument + to convert_position call. + + * debug.h (class bp_table): Tag with OCTINTERP_API. + * input.h (Vdebugging): Ditto. + * pt-eval.h (class tree_evaluator): Ditto. + * toplev.h (class octave_call_stack): Ditto. + + * file-io.cc (mkstemp): Add mktemp-based implementation of mkstemp on + platforms that do not have it (mkstemp is required by the new help + system). + + * TEMPLATE-INST/Array-os.cc: Add "extern template" declaration for + Array to avoid implicit instantiation (and duplicate + symbols at link-time) [Win32] + +2009-05-20 John W. Eaton + + * pt-assign.cc (maybe_warn_former_built_in_variable): + Set initialized to true when done initializing vars set. + From Michael Goffioul . + +2009-05-20 Jaroslav Hajek + + * ov-typeinfo.h + (octave_value_typeinfo::unary_class_ops, + octave_value_typeinfo::unary_ops, + octave_value_typeinfo::non_const_unary_ops, + octave_value_typeinfo::binary_class_ops, + octave_value_typeinfo::binary_ops, + octave_value_typeinfo::compound_binary_class_ops, + octave_value_typeinfo::compound_binary_ops, + octave_value_typeinfo::cat_ops, + octave_value_typeinfo::assign_ops, + octave_value_typeinfo::assignany_ops, + octave_value_typeinfo::pref_assign_conv, + octave_value_typeinfo::type_conv_ops, + octave_value_typeinfo::widening_ops): Declare as Array. + * ov-typeinfo.cc: Reflect changes. + +2009-05-20 Jaroslav Hajek + + * toplev.h (octave_exit_func): New typedef. + (octave_exit): Change to octave_exit_func. + +2009-05-20 Jaroslav Hajek + + * ov-typeinfo.cc: Don't include oct-obj.h. + +2009-05-20 Jaroslav Hajek + + * toplev.h (octave_quit_exception): New class. + (octave_exit): New global variable. + * toplev.cc (octave_exit): Initialize to ::exit. + (clean_up_and_exit): Call octave_exit if set. + (Fquit): Raise octave_quit_exception to quit. + (main_loop): Catch octave_quit_exception. + * octave.cc (execute_command_line_file): Ditto. + (execute_eval_option_code): Ditto. + +2009-05-19 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (F__fltk_redraw__): New function. + (F__init_fltk__): Call add_input_event_hook with feval to add + __fltk_redraw__ to the list of even hook functions to call. + Call mlock when initializing. + (F__remove_fltk__): Call remove_input_event_hook with feval to + remove __fltk_redraw__ from the list of event hook functions. + Unlock __init_fltk__ when shutting down. + + * input.cc (Finput_event_hook): Delete. + (input_event_hook): Handle set of functions instead of just one. + (Fadd_input_event_hook, Fremove_input_event_hook): New functions. + +2009-05-19 Jaroslav Hajek + + * Makefile.in: Add X11_LIBS to OCTINTERP_LINK_DEPS. + +2009-05-17 Jaroslav Hajek + + * TEMPLATE-INST/Array-tc.cc: Change #include. + +2009-05-15 Robert T. Short + + * ov-class.cc (octave_class::exemplar_info): Fix typo in error message. + * ov-class.cc (Fmethods): Methods returns cell array. + * ls-mat5.cc (read_mat5_binary_element): + Construct exemplar array and ensure inheritance is correct. + +2009-05-15 John W. Eaton + + * error.cc (Ferror): Handle error struct argument. + + * ls-mat5.cc (save_mat5_binary_element): Avoid multiple calls to + contents method. From David Bateman . + (save_mat5_element_length): Use const Cell to avoid making copies + when indexing. + +2009-05-15 Jaroslav Hajek + + * oct-stream.cc: Don't instantiate Array2. + (octave_stream::read): Make read_fptr_table a static 2d array. + (FILL_TABLE_ROW): Update. + +2009-05-12 Jaroslav Hajek + + * data.cc (F__accumarray_sum__): Optimize the constant range case. + +2009-05-11 John W. Eaton + + * sparse-xdiv.cc (do_rightdiv_sm_dm, do_leftdiv_dm_sm): + Avoid apparent MSVC bug with typedef. + + * Makefile.in (install-lib): Remove + $(DESTDIR)$(octlibdir)/$(SHLLIBPRE)octinterp.$(SHLLIB_VER), not + $(DESTDIR)$(octlibdir)/$(SHLPRE)octinterp.$(SHLEXT_VER). + +2009-05-08 Carsten Clark + + * data.cc (Fissorted): Fix typo in documentation entry. + +2009-05-07 Robert T. Short + + * ov-class.h, ov-class.cc (octave_class::reconstruct_exemplar): + New function. + * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5, + octave_class::load_ascii): Construct exemplar table and ensure + inheritance is correct. + * ov-struct.cc (struct): Return struct from object. + +2009-05-07 John W. Eaton + + * graphics.h.in (base_graphics_object::set): Undo previous change. + (base_properties::set (const caseless_str&, const octave_value&): + New virtual function. + (base_properties::set (const caseless_str&, const std::string&, + const octave_value&)): No longer virtual. + + * toplev.cc (octave_config_info): Remove F2C and F2CFLAGS from the + config infor struct. + * oct-conf.h.in (OCTAVE_CONF_F2CFLAGS, OCTAVE_CONF_F2C): + Delete definitions. + +2009-05-07 Marco Atzeri + + * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. + +2009-05-07 John W. Eaton + + * genprops.awk (emit_declarations): Emit decls for static + has_property functions. + (emit_source): Add class name argument to base_properties::set + function. Pass class name to set_dynamic and + base_properties::set. Emit definitions for has_property + functions. + * graphics.h.in, graphics.cc + (base_properties::set, base_properties::set_dynamic): + New argument CNAME. + (base_properties::all_dynamic_properties): New static data member. + (base_properties::has_dynamic_property): New static function. + (base_graphics_object::set): Pass class name to + base_properties::set function. + (property_list::set): Check for invalid property names. + +2009-05-06 Jaroslav Hajek + + * ov-re-mat.cc (Fdouble): Fix order of branches. + +2009-05-05 John Swensen + + * debug.h, debug.cc (breakpoints): Rename from bp_map, use a + std::set instead of a std::map object. Change all uses. + (bp_table::do_get_breakpoint_list): Simplify. + +2009-05-05 Robert T. Short + + * ov-class.h, ov-class.cc (octave_class::reconstruct_parents): + New function. + * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5): + Contstruct parent list. + (get_current_method_class): Clean up method class extraction. + +2009-05-05 John W. Eaton + + * graphics.cc (array_property::validate): Require object to be any + numeric type, not necessarily a double precision value. + + * variables.cc (set_internal_variable): Pass NM in call to error. + +2009-05-04 Peter O'Gorman + + * utils.cc: Don't define HAVE_C99_VSNPRINTF here. + +2009-05-01 John W. Eaton + + * error.cc (Vlast_error_file, Vlast_error_name, Vlast_error_line, + Vlast_error_column): Delete. + (Vlast_error_stack): New static variable. + (initialize_last_error_stack): New static function. + (verror, Frethrow, Flasterror): Set or use Vlast_error_stack, not + Vlast_error_file, etc. + +2009-04-27 John W. Eaton + + * ov-class.cc (octave_class::dotref): Handle empty parent class. + (octave_class::get_current_method_class): Allow result to be empty. + (called_from_builtin): New static function. + (octave_class::subsref, octave_class::subsasgn): Use it. + +2009-04-23 John W. Eaton + + * ov-class.cc (Fclass): Check newly constructed classes against + the first constructed object of the class. + + * ov-class.h, ov-class.cc (octave_class::exmplar_info): New class. + (exemplar_map): New static data member. + (exemplar_iterator, exemplar_const_iterator): New typedefs. + + * ov-class.h (octave_class::nparents, + octave_class::parent_class_name_list): New functions. + * ov.h (octave_base_value::nparents, + octave_base_value::parent_class_name_list): New functions. + * ov-base.h, ov-base.cc (octave_base_value::nparents, + octave_base_value::parent_class_name_list): New functions. + (parent_class_names): Error if called for wrong type argument. + + * symtab.cc (load_out_of_date_fcn): New arg, dispatch_type. + (out_of_date_check_internal): Pass dispatch type to + load_out_of_date_fcn. + +2009-04-22 John W. Eaton + + * ov-base-int.cc (octave_base_int_helper::char_value_out_of_range): Correct result for specialization. + + * ov-class.cc (octave_class::dotref, octave_class::subsasgn): + Protect against possibly invalid octave_value -> string conversions. + +2009-04-22 Robert T. Short + + * variables.cc (symbol_exist): Also return 1 for objects. + * ov-base.h (octave_base_value::assign): New virtual function. + * ov-class.h (octave_class::assign): New function. + * ov-class.cc (octave_class::find_parent_class): Simplify. + (octave_class::octave_class): Don't allow duplicate parent classes. + (octave_class::subsasgn): Allow cls = method (cls, value) to work + properly when method is a parent-class method. + (get_method_class): New static function. + (octave_class:subsasgn, octave_class::dotref): Use it. + (F__isa_parent__): New function. + +2009-04-22 Jaroslav Hajek + + * ov-range.cc (octave_range::char_array_value): New virtual function + override. + * ov-range.h: Declare it. + +2009-04-22 Jaroslav Hajek + + * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): + Update class name even for all-zeros elements. + (get_concat_class): Update the default value if possible. + +2009-04-21 John W. Eaton + + * parse.y (Fassignin): Add missing unwind_protect frame. + + * toplev.h (push (symbol_table::scope_id, symbol_table::context_id)): + New function. + + * toplev.cc (main_loop): Don't call symbol_table::reset_scope. + + * mex.cc (mexGetVariable, mexPutVariable): Use unwind_protect to + restore call stack and scope. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Don't use symbol_table::push_scope. + * variablees.cc (do_who): Likewise. Use octave_call_stack and + unwind_protect to manage change in scope. + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, + octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): + Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + + * symtab.h (erase_scope (void*)): New function, for unwind_protect. + (symbol_table::push_scope, symbol_table::pop_scope, + symbol_table::reset_scope): Delete. + (symbol_table::scope_stack): Delete static member. + * symtab.cc (symbol_table::scope_stack): Delete definition. + +2009-04-17 Jaroslav Hajek + + * oct-map.h (Octave_map::contents (const_iterator) const, + Octave_map::contents (iterator)): Simplify. + +2009-04-17 Jaroslav Hajek + + * oct-map.cc (Octave_map::assign (const octave_value_list&, const + std::string&, const Cell&)): Fix & simplify. + (common_size): Remove. + +2009-04-16 Jaroslav Hajek + + * pt-idx.cc (make_value_list): Gripe on magic end query for undefined + variables. + +2009-04-16 Jaroslav Hajek + + * xpow.cc (same_sign): New helper function. + (elem_xpow (double, const Range&), elem_xpow (const Complex&, const Range&)): + Only optimize monotonic-magnitude integer ranges, start always from + the smaller end. + +2008-04-11 David Bateman + + * ov-cell.cc (Fstruct2cell): Treat possible trailing singleton for + creation of cell array from column structure vector. + +2009-04-09 Jaroslav Hajek + + * ov-cell.cc (octave_cell::subsasgn): Fix reference counting + optimization. + +2009-04-08 John W. Eaton + + * load-path.cc (rehash_internal): New function. + (Frehash): Use it. + (Fpath, Faddpath, Frmpath): Call rehash_internal if path is modified. + +2009-04-08 Jaroslav Hajek + + * xpow.cc (elem_xpow (double, const Range&), + elem_xpow (const Complex&, const Range&)): New functions. + * xpow.h: Declare them. + * OPERATORS/op-range.cc: Define scalar .^ range and complex .^ range & + install them. + +2009-04-04 Jaroslav Hajek + + * ov-struct.cc (octave_struct::subsasgn): Fix reference counting + optimization. + +2008-04-03 David Bateman + + * DLD-FUNCTIONS/max.cc (MINMAX_SPARSE_BODY): Allow sparse boolean + values. + +2009-04-01 Jaroslav Hajek + + * ov-str-mat.cc (default_numeric_conversion_function): + Create an octave_scalar if possible. + +2009-03-29 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (plot_window::button_press): + Don't pass arbitrary input to fl_message as a format string. + +2009-03-29 Jaroslav Hajek + + * pt-eval.cc (do_unwind_protect_cleanup_code): Protect also + octave_interrupt_state. + +2009-03-29 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellslices): Index n-d arrays along the + last dimension. + +2009-03-27 Jaroslav Hajek + + * DLD-FUNCTIONS/balance.cc (Fbalance): Fix order of output args. + +2009-03-26 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc + (find_nonzero_elem_idx (const Array&, ...)): Move dimensions + fixup to liboctave. + +2009-03-26 Jaroslav Hajek + + * DLD-FUNCTIONS/find.cc + (find_nonzero_elem_idx (const Array&, ...)): Simplify. + Instantiate for bool and octave_int types. + (find_nonzero_elem_idx (const Sparse&, ...)): + Instantiate for bool. + (Ffind): Handle bool and octave_int cases. + +2009-03-25 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.55+. + (OCTAVE_API_VERSION): Now api-v37+. + + * version.h (OCTAVE_VERSION): Now 3.1.55. + (OCTAVE_API_VERSION): Now api-v37. + (OCTAVE_RELEASE_DATE): Now 2009-03-25. + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Also return + [](0x0) if the array has 0 rows and it is not a column vector. + + * oct-stream.cc (octave_stream::write (const Array&, + octave_idx_type, oct_data_conv::data_type, octave_idx_type, + oct_mach_info::float_format)): Seek to skip if still inside bounds + of existing file. Otherwise, write NUL to skip. + + * Makefile.in (%.df : %.cc): Write source file name to output, + wrapped in XDEFUN_FILE_NAME macro. + * mkbuiltins: Provide definition for XDEFUN_FILE_NAME. + * mkgendoc: Likeiwse. + (XDEFUN_DLD_INTERNAL, XDEFUNX_DLD_INTERNAL, XDEFUN_INTERNAL, + XDEFCONSTFUN_INTERNAL, XDEFUNX_INTERNAL, XDEFVAR_INTERNAL, + XDEFCONST_INTERNAL): Pass file_name to print_doc_string. + (print_doc_string): New arg, FILE_NAME. Print file name as + comment. + +2009-03-24 John W. Eaton + + * ov-class.cc (F__parent_classes__): New function. + +2009-03-24 Robert T. Short + + * ov-class.h, ov-class.cc (octave_class::octave_class (const + Octave_map&, const std::string&, const octave_value_list&)): + New constructor. + (octave_class::find_parent_class, octave_class::parent_classes): + New functions. + (octave_class::dotref): Also look in parent class. + (Fclass): Handle parent class arguments. + + * ov-base.h (octave_base_value::get_parent_list, + octave_base_value::parent_classes): New virtual functions. + + * load-path.h, load-path.cc (load_path::parent_map): New data member. + (load_path::add_to_parent_map): New static function. + (load_path::do_add_to_parent_map): New member function. + (load_path::do_find_method): Also look in parent classes for methods. + (load_path::parent_map_type, load_path::const_parent_map_iterator, + load_path::parent_map_iterator): New typedefs. + +2009-03-23 John W. Eaton + + * symtab.h + (symbol_table::symbol_record::symobl_recoord_rep::is_variable): + Also return true if symbol is tagged as a variable. + (symbol_table::symbol_record::symobl_recoord_rep::force_variable): + Don't set variable value. + (symbol_table::symbol_record::symobl_recoord_rep::clear_forced, + symbol_table::symbol_record::clear_forced): Delete. + (symbol_table::unmark_forced_variables): Rename from + symbol_table::clear_forced_variables. + (symbol_table::do_unmark_forced_variables): Rename from + symbol_table::do_clear_forced_variables. + * parse.y (make_script, finish_function): Call + symbol_table::unmark_forced_variables instead of + symbol_table::clear_forced_variables. + * octave.cc (unmark_forced_vars): New function. + (execute_eval_option_code): Add it to the unwind-protect stack. + +2009-03-22 Jaroslav Hajek + + * pt-eval.cc (tree_evaluator::visit_simple_for_command): + Remove struct branch, handle structs by the generic code. + (tree_evaluator::visit_complex_for_command): + Add missing const qualifiers. + +2009-03-21 Jaroslav Hajek + + * ov-base-diag.cc: Add missing include. + * sparse-xdiv.cc: Ditto. + * DLD-FUNCTIONS/__glpk__.cc: Ditto. + * DLD-FUNCTIONS/__lin_interpn__.cc: Ditto. + * DLD-FUNCTIONS/__voronoi__.cc: Ditto. + +2009-03-20 Jaroslav Hajek + + * ov-re-mat.cc (octave_matrix::load_ascii): Simplify. + * ov-flt-re-mat.cc (octave_float_matrix::load_ascii): Simplify. + * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Simplify. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::load_ascii): Simplify. + +2009-03-20 Jaroslav Hajek + + * ov-re-mat.cc (octave_matrix::isnan, octave_matrix::isinf, + octave_matrix::finite): Simplify. + * ov-flt-re-mat.cc (octave_float_matrix::isnan, + octave_float_matrix::isinf, octave_float_matrix::finite): Simplify. + * ov-cx-mat.cc (octave_complex_matrix::isnan, + octave_complex_matrix::isinf, octave_complex_matrix::finite): + Simplify. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::isnan, + octave_float_complex_matrix::isinf, + octave_float_complex_matrix::finite): Simplify. + +2009-03-19 Benjamin Lindner + + * ls-oct-ascii.cc (extract_keyword): Replace loop with call to + read_until_newline to avoid leaving stray '\r' in stream when + reading files with CRLF line endings. + +2009-03-18 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc + (scalar_col_helper, scalar_col_helper_def, scalar_col_helper_nda, + scalar_query_helper): New classes. + (make_col_helper): New function. + (Fcellfun): Use col_helper classes for UniformOutput. Avoid copying by + using const variables. + +2009-03-17 Jaroslav Hajek + + * OPERATORS/op-b-bm.cc: Add missing INSTALL_BINOPs. + * OPERATORS/op-bm-b.cc: Ditto. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-m-m.cc: Ditto. + +2009-03-17 Jaroslav Hajek + + * ov.cc (octave_value::octave_value): Move to ov.h + * ov.h (octave_value::octave_value): Implement fast inline constructor + using a static rep. + +2009-03-15 Jaroslav Hajek + + * DLD-FUNCTIONS/cellfun.cc (Fcellslices): New DLD function. + +2009-03-13 Jaroslav Hajek + + * ov.h (octave_value::compound_binary_op): Support bool compound ops. + * ov.cc (do_binary_op, decompose_binary_op, binary_op_fcn_name): + Ditto. + * pt-cbinop.cc (strip_not, simplify_and_or_op): New funcs. + (maybe_compound_binary_expression): Support bool compound ops. + * OPERATORS/op-int.h: Support bool compound ops. + * OPERATORS/op-b-bm.cc: Ditto. + * OPERATORS/op-bm-b.cc: Ditto. + * OPERATORS/op-bm-bm.cc: Ditto. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-m-m.cc: Ditto. + +2009-03-13 Jaroslav Hajek + + * xpow.cc (xpow (const NDArray&, double), xpow (const ComplexNDArray&, double), + xpow (const FloatNDArray&, float), xpow (const FloatComplexNDArray&, + float)): Use xisint for testing ints. Optimize w.r.t int exponents. + +2009-03-13 John W. Eaton + + * parse.y (maybe_warn_assign_as_truth_value, make_binary_op, + maybe_warn_variable_switch_label, maybe_warn_associativity_change): + Print file and line number info if available. + * lex.l (gripe_matlab_incompatible): Likewise. + + * error.cc (pr_where): Use octave_call_stack::backtrace to print + complete stack trace at once. Don't attempt to print code. + (error_2): Set error_state to 0 before calling pr_where. + (warning_1): Switch sense of test on symbol_table::at_top_level. + Call pr_where after printing primary warning message. + +2009-03-13 Jaroslav Hajek + + * ov-range.h (octave_range::octave_range (const Range&)): Allow + constructing from invalid range op result. + * ov-range.cc (octave_range::try_narrowing_conversion): Validate + invalid range op results. + * data.cc (fill_matrix): Return packed form (zero-step range) if + possible. + +2009-03-10 Jason Riedy + + * DLD-FUNCTIONS/lu.cc (lu): Call fact.Pr_mat () and fact.Pc_mat () + to return permutation matrices in the sparse case. + +2009-03-12 John W. Eaton + + * ls-mat-ascii.cc (get_mat_data_input_line): If we are looking at + '\r' or '\n', skip current line ending instead of skipping until + the next. + +2009-03-12 Ben Abbott + + * graphics.cc: Fix default "papersize" property value. + +2009-03-12 Jaroslav Hajek + + * ov-flt-perm.h, ov-flt-perm.cc: Remove sources. + * ov.h, ov.cc (octave_value::octave_value (const PermMatrix&)): Remove + use "single" argument. + * ov.cc (install_types): Update. + * xpow.cc, xpow.h (xpow (PermMatrix, float)): Remove. + * ov-base-diag.cc (octave_base_diag::do_index_op): Remove permutation + creating block. + * ov-re-diag.cc (octave_diag_matrix::do_index_op): Move it here. + * ov-re-diag.h (octave_diag_matrix::do_index_op): New decl. + + * DLD-FUNCTIONS/det.cc (Fdet): Update. + * DLD-FUNCTIONS/inv.cc (Finv): Update. + * DLD-FUNCTIONS/pinv.cc (Fpinv): Update. + + * OPERATORS/op-fcm-pm.cc <-- OPERATORS/op-fcm-fpm.cc + * OPERATORS/op-fcm-pm.cc: Update. + * OPERATORS/op-fm-pm.cc <-- OPERATORS/op-fm-fpm.cc + * OPERATORS/op-fm-pm.cc: Update. + * OPERATORS/op-pm-fcm.cc <-- OPERATORS/op-fpm-fcm.cc + * OPERATORS/op-pm-fcm.cc: Update. + * OPERATORS/op-pm-fm.cc <-- OPERATORS/op-fpm-fm.cc + * OPERATORS/op-pm-fm.cc: Update. + * OPERATORS/op-pm-pm.cc: Update. + * OPERATORS/op-pm-template.cc: Update. + +2009-03-11 Jaroslav Hajek + + * xpow.cc (xpow (const PermMatrix&, double), xpow (const PermMatrix&, + float)): New functions. + * xpow.h: Declare them. + * DLD-FUNCTIONS/op-pm-pm.cc: Support permutation matrix ^ scalar. + * DLD-FUNCTIONS/op-fpm-fpm.cc: Ditto. + +2009-03-11 Jaroslav Hajek + + * ov-ch-mat.cc (octave_char_matrix::double_value, + octave_char_matrix::float_value, octave_char_matrix::complex_value, + octave_char_matrix::float_complex_value): Cast to unsigned char. + +2009-03-10 Jason Riedy + + * OPERATORS/op-pm-sm.cc (mul_pm_sm): New Octave binding for + perm * sparse. + (ldiv_pm_sm): New Octave binding for perm \ sparse. + (mul_sm_pm): New Octave binding for sparse * perm. + (div_sm_pm): New Octave binding for sparse / perm. + (install_pm_sm_ops): Install the above bindings. + + * OPERATORS/op-pm-scm.cc (mul_pm_scm): New Octave binding for + perm * sparse complex. + (ldiv_pm_scm): New Octave binding for perm \ sparse complex. + (mul_scm_pm): New Octave binding for sparse complex * perm. + (div_scm_pm): New Octave binding for sparse complex / perm. + (install_pm_scm_ops): Install the above bindings. + + * Makefile.in (PERM_OP_XSRC): Add op-pm-sm.cc and op-pm-scm.cc for + operations between permutations and sparse matrices. + +2009-03-10 Jason Riedy + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): New override + for find on PermMatrix. + (find): Add a branch testing arg.is_perm_matrix () and calling the + above override. + +2009-03-10 John W. Eaton + + * c-file-ptr-stream.cc, dynamic-ld.cc, error.cc, lex.l, pager.cc, + zfstream.cc: Include . + * zfstream.h: Include instead of and . + * c-file-ptr-stream.h, help.h, load-path.h, load-save.h, + ls-ascii-helper.h, oct-iostrm.h, oct-stream.h, ov-base-diag.h, + ov-base-int.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, + ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, ov-bool.h, ov-cell.h, + ov-ch-mat.h, ov-class.h, ov-colon.h, ov-complex.h, ov-cs-list.h, + ov-cx-mat.h, ov-cx-sparse.h, ov-fcn-handle.h, ov-fcn-inline.h, + ov-float.h, ov-flt-complex.h, ov-flt-cx-mat.h, ov-flt-re-mat.h, + ov-intx.h, ov-list.h, ov-range.h, ov-re-mat.h, ov-re-sparse.h, + ov-scalar.h, ov-str-mat.h, ov-struct.h, ov.h, pager.h, + pr-output.h, procstream.h, pt-assign.h, pt-cell.h, pt-const.h, + pt-fcn-handle.h, pt-id.h, pt-mat.h, pt.h, utils.h: + Include instead of . + +2009-03-10 Jaroslav Hajek + + * data.cc (Fsize_equal): Allow single argument call. + * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Update docs. + +2009-03-09 Benjamin Lindner + + * ls-ascii-helper.h, ls-ascii-helper.cc: New files. + * Makefile.in: Add them to the appropriate lists. + * load-save.cc (Fload): Open all files in binary mode. + * ov-range.cc (load_ascii): Explicitly handle CR and CRLF line endings. + * ov-fcn-handle.cc (load_ascii): Likewise. + * ov-fcn-inline.cc (load_ascii): Likewise. + * ov-str-mat.cc (load_ascii): Likewise. + * ls-mat-ascii.cc (get_mat_data_input_line): Likewise. + * ls-oct-ascii.cc (extract_keyword, read_ascii_data): Likewise. + * ls-oct-ascii.h (extract_keyword): Likewise. + +2009-03-09 John W. Eaton + + * graphics.h.in (OCTAVE_DEFAULT_FONTNAME): New macro, defaults to "*". + (axes::properties, text::properties): Use it to set default fontname. + * graphics.cc (axes::properties::set_defaults): Likewise. + +2009-03-09 Rafael Laboissiere + + * Makefile.in (maintainer-clean): Remove y.tab.h here. + (distclean): Not here. + +2009-03-09 Jason Riedy + + * OPERATORS/op-dm-sm.cc (add_dm_sm): Octave binding for diag + sparse. + (sub_dm_sm): Octave binding for diag - sparse. + (add_sm_dm): Octave binding for diag + sparse. + (sub_sm_dm): Octave binding for diag - sparse. + (install_dm_sm_ops): Install above bindings. + + * OPERATORS/op-dm-scm.cc (add_cdm_sm): Octave binding for diag + sparse. + (add_dm_scm): Octave binding for diag + sparse. + (add_cdm_scm): Octave binding for diag + sparse. + (sub_cdm_sm): Octave binding for diag - sparse. + (sub_dm_scm): Octave binding for diag - sparse. + (sub_cdm_csm): Octave binding for diag - sparse. + (add_sm_cdm): Octave binding for diag + sparse. + (add_scm_dm): Octave binding for diag + sparse. + (add_scm_cdm): Octave binding for diag + sparse. + (sub_sm_cdm): Octave binding for diag - sparse. + (sub_scm_dm): Octave binding for diag - sparse. + (sub_scm_cdm): Octave binding for diag - sparse. + (install_dm_scm_ops): Install above bindings. + +2009-03-08 Jason Riedy + + * sparse-xdiv.h (xleftdiv): Declare overrides for + xleftdiv (diagonal, sparse), both real and complex. + (xdiv): Declare overrides for xdiv (sparse, diagonal), both real + and complex. + + * sparse-xdiv.cc (do_rightdiv_sm_dm): New template function. + Implementation for xdiv (sparse, diagonal). + (xdiv): Call do_rightdiv_sm_dm to implement overrides, real and + complex. + (do_leftdiv_dm_sm): New template function. Implementation for + xleftdiv (diagonal, sparse). + (xleftdiv): Call do_leftdiv_dm_sm to implement overrides, real and + complex. + + * OPERATORS/op-dm-sm.cc (ldiv_dm_sm): Octave binding for real left + division, diagonal into sparse. + (div_sm_dm): Octave binding for real right division, sparse by + diagonal. + (install_dm_sm_ops): Install above bindings. + + * OPERATORS/op-dm-scm.cc (ldiv_dm_scm): Octave binding for real + diagonal \ complex sparse. + (ldiv_cdm_sm): Octave binding for complex diagonal \ real sparse. + (ldiv_cdm_scm): Octave binding for complex diagonal \ complex sparse. + (div_scm_dm): Octave binding for complex sparse / real diagonal. + (div_sm_cdm): Octave binding for real sparse / complex diagonal. + (div_scm_cdm): Octave binding for complex sparse / complex diagonal. + (install_dm_scm_ops): Install above bindings. + +2009-03-08 Jason Riedy + + * OPERATORS/op-dm-scm.cc: New file. Implement multiplication + between diagonal matrices (both real and complex) and complex + sparse matrices. + * OPERATORS/op-dm-sm.cc: New file. Implement multiplication + between diagonal matrices and sparse matrices, all real. + * Makefile.in (DIAG_OP_XSRC): Add op-dm-sm.cc and op-dm-scm.cc. + +2009-03-09 Jaroslav Hajek + + * data.cc (F__accumarray_sum__): New function. + (do_accumarray_sum): New helper template function. + +2009-03-07 Jaroslav Hajek + + * xdiv.cc (mdm_div_impl, dmm_lelftdiv_impl, dmdm_div_impl, + dmdm_leftdiv_impl): Optimize. + +2009-03-07 John W. Eaton + + * pr-output.cc (octave_print_internal (std::ostream&, + const PermMatrix&, bool, int)): Delete unused variable SCALE. + + * utils.cc (octave_vsnprintf): Avoid uninitialized variable + warning from GCC. + + * DLD-FUNCTIONS/qz.cc (Fqz): Avoid "maybe clobbered by vfork" + warning from GCC. + + * version.h (OCTAVE_VERSION): Now 3.1.54. + (OCTAVE_API_VERSION): Now api-v36. + (OCTAVE_RELEASE_DATE): Now 2009-03-07. + + * octave.cc (verbose_usage): Include --doc-cache-file in option list. + +2009-03-06 Jaroslav Hajek + + * ov.h (octave_value::diag_matrix_value, + octave_value::complex_diag_matrix_value, + octave_value::float_diag_matrix_value, + octave_value::float_complex_diag_matrix_value, + octave_value::perm_matrix_value): New methods. + + * ov-base.cc (octave_base_value::diag_matrix_value, + octave_base_value::complex_diag_matrix_value, + octave_base_value::float_diag_matrix_value, + octave_base_value::float_complex_diag_matrix_value, + octave_base_value::perm_matrix_value): New virtual methods. + + * ov-base.h: Declare them. + + * ov-base-diag.h (octave_base_diag::diag_matrix_value, + octave_base_diag::complex_diag_matrix_value, + octave_base_diag::float_diag_matrix_value, + octave_base_diag::float_complex_diag_matrix_value, + octave_base_diag::perm_matrix_value): Remove declarations. + + * DLD-FUNCTIONS/inv.cc (Finv): Simplify handling diag & perm matrices. + * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto. + * DLD-FUNCTIONS/det.cc (Fdet): Ditto. + +2009-03-05 Jaroslav Hajek + + * ls-hdf5.cc (add_hdf5_data): Handle diag & perm matrices. + +2009-03-05 John W. Eaton + + * pt-cell.cc, pt-cell.h (tree_cell::dup): Now const. + * comment-list.cc, comment-list.h (octave_comment_list::dup): Ditto. + * pt-arg-list.cc, pt-arg-list.h (tree_argument_list::dup): Ditto. + * pt-assign.cc, pt-assign.h (tree_simple_assignment::dup, + tree_multi_assignment::dup): Ditto. + * pt-binop.cc, pt-binop.h (tree_binary_expression::dup, + tree_boolean_expression::dup): Ditto. + * pt-cmd.cc, pt-cmd.h (tree_no_op_command::dup, + tree_function_def::dup): Ditto. + * pt-colon.cc, pt-colon.h (tree_colon_expression::dup): Ditto. + * pt-const.cc, pt-const.h (tree_constant::dup): Ditto. + * pt-decl.cc, pt-decl.h (tree_decl_elt::dup, tree_decl_init_list::dup, + tree_global_command::dup, tree_static_command::dup): Ditto. + * pt-except.cc, pt-except.h (tree_try_catch_command::dup, + tree_unwind_protect_command::dup): Ditto. + * pt-fcn-handle.cc, pt-fcn-handle.h (tree_fcn_handle::dup, + tree_anon_fcn_handle::dup): Ditto. + * pt-id.cc, pt-id.h (tree_identifier::dup): Ditto. + * pt-idx.cc, pt-idx.h (tree_index_expression::dup): Ditto. + * pt-jump.cc, pt-jump.h (tree_break_command::dup, + tree_continue_command::dup, tree_return_command::dup): Ditto. + * pt-loop.cc, pt-loop.h (tree_while_command::dup, + tree_do_until_command::dup, tree_simple_for_command::dup, + tree_complex_for_command::dup): Ditto. + * pt-mat.cc, pt-mat.h (tree_matrix::dup): Ditto. + * pt-misc.cc, pt-misc.h (tree_parameter_list::dup, + tree_return_list::dup): Ditto. + * pt-select.cc, pt-select.h (tree_if_clause::dup, + tree_if_command_list::dup, tree_if_command::dup, + tree_switch_case::dup, tree_switch_case_list::dup, + tree_switch_command::dup): Ditto. + * pt-stmt.cc, pt-stmt.h (tree_statement::dup, + tree_statement_list::dup): Ditto. + * pt-unop.cc, pt-unop.h (tree_prefix_expression::dup, + tree_postfix_expression::dup): Ditto. + * pt-fcn-handle.h (tree_anon_fcn_handle::parameter_list, + tree_anon_fcn_handle::return_list, tree_anon_fcn_handle::body, + tree_anon_fcn_handle::scope): Ditto. + +2009-03-05 Jason Riedy + + * ov-base-int.cc (convert_to_str_internal): Replace elt_type with + element_type throughout. + +2009-03-05 Jaroslav Hajek + + * DLD-FUNCTIONS/sparse.cc (Fsparse): Handle diagonal and permutation + matrices. + +2009-03-03 John W. Eaton + + * ov-struct.cc (octave_struct::save_ascii, + octave_struct::save_binary, octave_struct::save_hdf5): + Preserve order of structure fields. + * ls-mat5.cc (save_mat5_binary_element): Likewise. + + * symtab.h (symbol_table::do_inherit): Only inherit values for + symbols from the donor_scope that already exist in the table. + (symbol_table::symbol_record::symbol_record_rep::dup): Now const. + (symbol_table::symbol_record::operator=): Decrement rep->count and + maybe delete rep. + (symbol_table::fcn_info::operator=): Likewise. + + * pt-fcn-handle.cc: (tree_anon_fcn_handle::dup): Transform + tree_anon_fcn_handle objects to tree_constant objects containing + octave_fcn_handle objects. New tests. + + * pt-assign.cc (tree_simple_assignment::rvalue1): Assign result of + call to rhs->rvalue1() to an octave_value object, not an + octave_value_list object. + +2009-03-03 Jaroslav Hajek + + * oct-stream.h (octave_stream_list::lookup_cache): New member field. + (octave_stream_list::octave_stream_list): Initialize it. + (octave_stream_list::do_lookup): Use it. + (octave_stream_list::clear): Make flush optional. Do physically erase + entries from the map. Close files. + (octave_stream_list::do_remove): Call clear on "all". Do erase deleted + entry from the map. + +2009-03-02 John W. Eaton + + * graphics.cc (Fget, F__get__): Return a column vector of property + values, not a row vector. + +2009-03-01 John W. Eaton + + * OPERATORS/op-fcm-fcm.cc (DEFNDASSIGNOP_FN (dbl_assign)): + LHS type is float_complex_matrix, not complex_matrix. RHS value + function is float_complex_array, not complex_array. + +2009-03-01 Jaroslav Hajek + + * ov-perm.cc (octave_perm_matrix::print_raw): Call + octave_print_internal. + (octave_perm_matrix::print_raw): Call print_raw. + * pr-output.cc (octave_print_internal (...,const DiagMatrix&,...)): + Indicate diagonal matrix. + (octave_print_internal (...,const ComplexDiagMatrix&,...)): Ditto. + (octave_print_internal (...,const PermMatrix&,...)): New function. + * pr-output.h: Declare it. + +2009-02-27 Jaroslav Hajek + + * OPERATORS/op-dms-template.cc (gripe_if_zero): New template static + function. + (dmsdiv, sdmldiv): Call it. + +2009-02-26 John W. Eaton + + * symtab.h (symbol_table::symbol_record::symbol_record_rep::forced): + New static constant. + (symbol_table::symbol_record::symbol_record_rep::force_variable, + symbol_table::symbol_record::force_variable): New functions. + (symbol_table::symbol_record::symbol_record_rep::is_forced, + symbol_table::symbol_record::symbol_record_rep::mark_forced, + symbol_table::symbol_record::symbol_record_rep::unmark_forced, + symbol_table::symbol_record::symbol_record_rep::clear_forced, + symbol_table::symbol_record::is_forced, + symbol_table::symbol_record::mark_forced, + symbol_table::symbol_record::clear_forced, + symbol_table::symbol_record::unmark_forced): New fucntions. + * lex.h, lex.l (force_local_variable): Delete. + (handle_identifier): Call symbol_table::force_variable instead of + force_local_variable. + * parse.y (make_script): Call symbol_table:clear_forced_variables + after defining script. + (finish_function): Call symbol_table::clear_forced_variables + instead of symbol_table::clear_variables. + + * DLD-FUNCTIONS/chol.cc: Correct spelling of CHOLMOD in tests. + + * version.h (OCTAVE_VERSION): Now 3.1.53+. + (OCTAVE_API_VERSION): Now api-v35+. + +2009-02-25 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.53. + (OCTAVE_API_VERSION): Now api-v35. + (OCTAVE_RELEASE_DATE): Now 2009-02-25. + (OCTAVE_COPYRIGHT): Update year. + + * Makefile.in (distclean): Remove tags TAGS y.tab.h y.output + yy.lex.c here, not in maintainer-clean target. Also remove + parse.output. + + * DLD-FUNCTIONS/rand.cc: Note that the tests for the old random + number generator will fail if using 64-bit indexing. + +2009-02-25 Jaroslav Hajek + + * DLD-FUNCTIONS/lu.cc (maybe_set_triangular): New function. + (Flu): Use it. + * DLD-FUNCTIONS/qr.cc (maybe_set_triangular): New function. + (Fqr): Use it. + +2009-02-25 John W. Eaton + + * DLD-FUNCTIONS/chol.cc: Fix tests for missing cholmod. + + * input.cc (get_debug_input): Write debugging location info + directly to std::cerr instead of calling message. + * pt-eval.cc (tree_evaluator::do_breakpoint): Write debugging + location info directly to std::cerr, not octave_stdout. + + * defaults.h.in (OCTAVE_DOC_CACHE_FILE): New macro. + * defaults.cc (set_default_doc_cache_file): New function. + (install_defaults): Call it. + + * help.cc (__list_functions__): Simplify + + * input.cc (get_debug_input): Don't pass arbitrary input to + message as a format string. + +2009-02-24 John W. Eaton + + * help.cc, help.h (Vdoc_cache_file): New global variable. + (Fdoc_cache_file): New function. + * octave.cc (DOC_CACHE_FILE_OPTION): New option tag. + (long_opts): Include doc-cache-file in the list. + (octave_main): Handle DOC_CACHE_FILE_OPTION. + +2009-02-24 Jaroslav Hajek + + * ov-scalar.h + (octave_scalar::int8_scalar_value): New method. + (octave_scalar::int16_scalar_value): New method. + (octave_scalar::int32_scalar_value): New method. + (octave_scalar::int64_scalar_value): New method. + (octave_scalar::uint8_scalar_value): New method. + (octave_scalar::uint16_scalar_value): New method. + (octave_scalar::uint32_scalar_value): New method. + (octave_scalar::uint64_scalar_value): New method. + + * ov-float.h + (octave_float_scalar::int8_scalar_value): New method. + (octave_float_scalar::int16_scalar_value): New method. + (octave_float_scalar::int32_scalar_value): New method. + (octave_float_scalar::int64_scalar_value): New method. + (octave_float_scalar::uint8_scalar_value): New method. + (octave_float_scalar::uint16_scalar_value): New method. + (octave_float_scalar::uint32_scalar_value): New method. + (octave_float_scalar::uint64_scalar_value): New method. + + * OPERATORS/op-s-s.cc (scalar_to_float): Remove duplicate conversion. + * OPERATORS/op-range.cc (range_to_float_matrix): Ditto. + +2009-02-24 John W. Eaton + + * OPERATORS/op-float-conv.cc: New file. + * Makefile.in (FLOAT_OP_XSRC): Add it to the list. + (DOUBLE_OP_XSRC): Move op-double-conv.cc here from INTTYPE_OP_XSRC. + * ops.h (DEFFLTCONVFN, DEFSTRFLTCONVFN): New macros. + +2009-02-23 John W. Eaton + + * ov-base-sparse.cc (octave_base_sparse::print_raw): + Remove extra ")" from output. + + * DLD-FUNCTIONS/eigs.cc (Feigs): If sigma argument is not a + string, try extraction as complex value and check for error + instead of inquiring about type first. + + * pt-eval.cc (tree_evaluator::visit_break_command, + tree_evaluator::visit_return_command, + tree_evaluator::visit_global_command, + tree_evaluator::visit_static_command): Handle breakpoint. + (tree_evaluator::visit_simple_for_command, + tree_evaluator::visit_complex_for_command): Handle breakpoint once + at beginning of loop. + (tree_evaluator::visit_if_command_list): Don't call do_breakpoint + for else clauses. + (tree_evaluator::visit_no_op_command): Handle breakpoint if no-op + command is end of function or script. + (tree_evaluator::visit_statement): Handle breakpoint for + expressions but not commands. + (tree_evaluator::visit_while_command, + tree_evaluator::visit_do_until_command): + Check for breakpoint set on cmd, not expr. + (tree_evaluator::visit_do_until_command): Handle breakpoint + between check for breaking out of loop and loop control + expression. + + * pt-cmd.h (tree_no_op_command::eof): New data member + (tree_no_op_command::tree_no_op_command): Initialize it. + (tree_no_op_command::is_end_of_fcn_or_script): New function. + * pt-stmt.cc (tree_statement::is_end_of_fcn_or_script): + Call is_end_of_fcn_or_script instead of looking at original text + of no-op command. + + * pt-select.h, pt-select.cc (tree_if_command::set_breakpoint, + tree_if_command::delete_breakpoint): New functions. + (tree_switch_command::set_breakpoint, + tree_switch_command::delete_breakpoint): New functions. + * pt-stmt.h, pt-stmt.cc (tree_statement::set_breakpoint, + tree_statement::delete_breakpoint, tree_statement::is_breakpoint): + Delegate real work to cmd or expr. + (tree_statement::bp): Delete data member. + (tree_statement::tree_statement): Don't initialize bp. + (tree_statement::dup): Don't copy bp. + + * pt.h (tree::line (int), tree:column (int)): New functions. + (tree:set_breakpoint, tree::delete_breakpoint): Now virtual. + + * parse.y (finish_if_command): Also store line and column info for + if statement in first element of list. + (finish_switch_command): Likewise, for switch. + + * input.cc (last_debugging_command): New static variable. + (octave_gets): Set it here. Don't insert repeated debugging + commands in the history list. + +2009-02-23 Jaroslav Hajek + + * DLD-FUNCTIONS/pinv.cc: Support diagonal and permutation matrices. + +2008-02-21 David Bateman + + * OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, OPERATORS/op-s-scm.cc, + OPERATORS/op-s-sm.cc, OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-s.cc: Don't perform any + narrowing to full matrices. + +2009-02-20 Jaroslav Hajek + + * ov-base-diag.h (octave_base_diag::sqrt): Remove. + * ov-re-diag.cc (octave_diag_matrix::sqrt): New method. + * ov-re-diag.h: Declare it. + * ov-flt-re-diag.cc (octave_float_diag_matrix::sqrt): New method. + * ov-flt-re-diag.h: Declare it. + * ov-cx-diag.cc (octave_complex_diag_matrix::sqrt): New method. + * ov-cx-diag.h: Declare it. + * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::sqrt): New method. + * ov-flt-cx-diag.h: Declare it. + +2009-02-20 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Clear and + reload mex file if it is out of date. Don't check path for file. + + * pt-bp.cc (tree_breakpoint::visit_octave_user_script, + tree_breakpoint::visit_octave_user_function): + Don't panic. Call accept on command list if it exists. + +2009-02-20 Jaroslav Hajek + + * ov-base-mat.cc (octave_base_matrix::do_index_op): + Correctly compute all-scalar index. + * ov-cell.cc (octave_cell::is_sorted, octave_cell::is_sorted_rows): + New methods. + (octave_cell::octave_cell (const Array&)): New + constructor. + * ov-cell.h: Declare them. + * ov-cell.cc (octave_cell::sort): Create result already with + cellstr_cache. + * strfns.cc (Fstrcmp): Use special code when dealing with + cellstr arrays. + +2009-02-20 John W. Eaton + + * ov-base-mat.cc (octave_base_matrix::assign): + Correctly compute all-scalar index. + + * symbtab.cc (symbol_table::stash_dir_name_for_subfunctions): + New function. + * symtab.h: Provide decl. + * parse.y (load_fcn_from_file): Call it after parsing a function. + +2009-02-19 Jaroslav Hajek + + * ov-cell.h (octave_cell::cellstr_cache): New field. + (octave_cell::clear_cellstr_cache, octave_cell::make_cellstr_cache, + octave_cell::assign, octave_cell::delete_elements, + octave_cell::mex_get_data): New methods. + (octave_cell::is_cellstr): Reuse cellstr cache if possible, create if + successful. + (octave_cell::cellstr_value): Reuse cellstr cache if possible. + (octave_cell::subsasgn): Clear cellstr cache. + +2009-02-19 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Use Array::lookup if possible. + Do not compare octave_values directly. Properly check for iscellstr. + +2009-02-19 John W. Eaton + + * data.cc, graphics.cc, help.cc, lex.l, load-path.cc, parse.y: + Consistent doc strings for internal functions. + +2009-02-18 John W. Eaton + + * ov.cc (convert_to_octave_idx_type_array): New static function. + (octave_value::octave_idx_type_vector_value): New function. + * ov.h (octave_value::octave_idx_type_vector_value): Provide decl. + * DLD-FUNCTIONS/qr.cc (Fqrdelete, Fqrinsert): Use it to convert + octave_value object to array of octave_idx_type values. + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Likewise. + * DLD-FUNCTIONS/time.cc (strptime): Likewise. + * DLD-FUNCTIONS/quad.cc (Fquad): Eliminate unnecessary cast. + * toplev.cc (run_command_and_return_output): Likewise. + + * strfns.cc (Fstrvcat): Use octave_idx_type and size_t instead of + int as needed. + (Fstrcmp, Fstrncmp): Use octave_idx_type instead of int as needed. + + * DLD-FUNCTIONS/hex2num.cc (Fhex2num, Fnum2hex): + Use union to avoid reinterpret_cast and GCC warning. + + * mex.cc (call_mex): Declare local nargout variable volatile to + avoid "maybe clobbered by vfork" warning from GCC. + + * ov-cx-mat.cc (xabs): Comment out unused static function. + * ov-flt-cx-mat.cc (xabs): Ditto. + + * c-file-ptr-stream.cc (c_file_ptr_buf::seekoff, + c_file_ptr_buf::seepos, c_zfile_ptr_buf::seekoff, + c_zfile_ptr_buf::seepos): Avoid unused paramter warnings. + +2009-02-18 Jaroslav Hajek + + * data.cc (Fresize): Allow arbitrary number of parameters. Improve + documentation. + +2009-02-17 Benjamin Lindner + + * file-io.cc: (Fmkstemp): Use mkstemps if it is available and + mkstemp is missing. + +2009-02-17 Olaf Till + + * DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/dasrt.cc: Documentation fixes. + +2009-02-17 Kai Habel + + * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): Compute convex hull + volume and return it as second output. New tests. + +2009-02-17 John W. Eaton + + * ov-fcn.h (octave_function::octave_function): Initialize data members. + (octave_function::dispatch_class): No longer virtual. + Replace with version from ov-usr-fcn.h. + (octave_function::xdispatch_class, + octave_function::stash_dispatch_class): Move here from ov-usr-fcn.h. + (octave_function::mark_as_private_function, + octave_function::is_private_function, + octave_function::is_private_function_of_class): New functions. + (octave_function::private_function): New data member. + * ov-usr-fcn.h (octave_user_function::xdispatch_class, + octave_user_function::stash_dispatch_class, + octave_user_function::dispatch_class): Delete. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Don't initialize xdispatch_type. + + * symtab.cc + (symbol_table::fcn_info::fcn_info_rep::load_private_function): + If private directory is subdirectory of class directory, qmark + function as a private directory of the class. + + * ov-class.cc (octave_class::in_class_method): Also return true + for functions that are private to a class. + (octave_class::subsasgn): If not in class method, look for + subsasgn method. If not found, or if not in a class method, + perform default struct-style subscripted indexing. + + * ov-class.h (octave_class::empty_clone): + Preserve fields and class name. + * oct-map.h (Octave_map::Octave_map (const string_vector&): + New constructor. + + * ov-class.cc (octave_class::subsref): If indexing directly and + result is map, return class object, not simple struct. + + * symtab.cc + (symbol_table::fcn_info::fcn_info_rep::load_private_function): + Pass dir_name to load_fcn_from_file. + +2009-02-17 Jaroslav Hajek + + * DLD-FUNCTIONS/data.cc (NATIVE_REDUCTION): Add BOOL_FCN argument. + (NATIVE_REDUCTION_1): Check integer overflow flags and possibly gripe. + (Fsum): Reflect change. + (Fcumsum): USE NATIVE_REDUCTION. + * gripes.cc (gripe_native_integer_math_truncated): New function. + +2009-02-17 Jaroslav Hajek + + * DLD-FUNCTIONS/max.cc (Fcummin, Fcummax): Improve inline docs. + +2009-02-17 Jaroslav Hajek + + * DLD-FUNCTIONS/max.cc (MINMAX_DOUBLE_SBODY): New macro. + (MINMAX_DOUBLE_BODY): Move part of code to MINMAX_DOUBLE_SBODY. + (MINMAX_SINGLE_SBODY): New macro. + (MINMAX_SINGLE_BODY): Move part of code to MINMAX_DOUBLE_SBODY. + (MINMAX_INT_SBODY): New macro. + (MINMAX_INT_BODY): Move part of code to MINMAX_DOUBLE_SBODY. + (CUMMINMAX_BODY): New macro. + (Fcummin, Fcummax): New DLD functions. + +2009-02-17 John W. Eaton + + * octave.gperf: Eliminate whitespace to allow gperf 2.7.2 to work. + + * file-io.cc (Ffscanf, Fsscanf): Check error_state after call to + octave_stream::scanf. + (Ffgetl): Check error state after call to octave_stream::getl. + (Ffgets): Check error state after call to octave_stream::gets. + + * oct-stream.cc (octave_base_stream::do_gets, + octave_base_stream::do_scanf): + Disallow reading from stdin when running interactively. + + * toplev.cc (octave_config_info): Add CARBON_LIBS, X11_INCFLAGS, + and X11_LIBS to the struct. + * oct-conf.h.in (OCTAVE_CONF_CARBON_LIBS, + OCTAVE_CONF_X11_INCFLAGS, OCTAVE_CONF_X11_LIBS): New macros. + +2009-02-17 Thomas Treichl + + * Makefile.in (octave$(EXEEXT)): Link with CARBON_LIBS. + +2009-02-16 John W. Eaton + + * lex.l (next_token_can_follow_bin_op): + Push all characters read on to buffer stack. + + * genprops.awk (emit_source): Don't use + to concatenate strings. + +2009-02-16 Jaroslav Hajek + + * data.cc (NATIVE_REDUCTION): Use boolNDArray::any for native bool + summation, boolNDArray::sum for double-valued. + +2009-02-16 Jaroslav Hajek + + * ov-base-mat.cc (octave_base_matrix::assign (const octave_value_list&, + typename MT::element_type): Fix invalid index. + * ov-re-mat.cc (default_numeric_demotion_function): Use + float_array_value instead of float_matrix_value. + +2009-02-16 John W. Eaton + + * input.cc (gnu_readline): Use fputs instead of fprintf. + +2009-02-15 John W. Eaton + + * defun.cc, defun-int.h, defun-dld.h (DEFUN_INTERNAL, + DEFCONSTFUN_INTERNAL, DEFUNX_INTERNAL, DEFUN_DLD_INTERNAL, + DEFUNX_DLD_INTERNAL, install_builtin_function, + install_dld_function, install_mex_function): + Delete IS_TEXT_FCN arg. Fix all uses. + (DEFMD, DEFUN_TEXT): Delete. + * mkbuiltins, mkgendoc: Adapt to DEFUN macro changes. + + * lex.h, lex.l (lexer_flags::at_beginning_of_statement): + New data member. Set it as needed in rules. + (is_keyword_token): + Handle lexer_flags::at_beginning_of_statement. + (next_token_can_follow_bin_op, looks_like_command_arg): New functions. + (handle_identifier): Use them to determine + Don't check is_command_name or is_rawcommand_name. + * parse.y (statement): Recognize word_list_cmd here. + (expression): Not here. + + * lex.l (handle_string): Delete arg TEXT_STYLE. + (BIN_OP_RETURN, XBIN_OP_RETURN): New arg, BOS. Change all uses. + + * lex.h, lex.l (lexer_flags::doing_raw_command): Delete data + member and all uses. + + * debug.cc, dirfns.cc, error.cc, input.cc, lex.l, load-path.cc, + load-save.cc, oct-hist.cc, ov-class.cc, pager.cc, parse.y, + pr-output.cc, sysdep.cc, utils.cc, variables.cc: + Replace all uses of DEFCMD with DEFUN. + + * variables.cc (command_set, rawcommand_set): Delete static variables. + (mark_as_command, unmark_command, is_command_name, + mark_as_rawcommand, unmark_raw_command, is_rawcommand_name): Delete. + (Fmark_as_command, Funmark_command, Fiscommand, + Fmark_as_rawcommand, Funmark_rawcommand, Fisrawcommand): + Convert to .m files and move to scripts/deprecated. + * variables.h (mark_as_command, is_command_name, + is_marked_as_rawcommand, mark_as_rawcommand, unmark_rawcommand, + is_rawcommand_name): Delete decls. + + * lex.h, lex.l (lexer_flags.looking_at_object_index): Now a + std::list object instead of an int. + Push TRUE to list at start of object index. Push FALSE at + beginning of matrix list. Pop value at end of object index or + matrix list. + (lexer_flags.looking_for_object_index): New data member. + Set it as needed in rules. + (inside_any_object_index): New function. + * parse.y (begin_obj_idx, cancel_obj_idx): Delete non-terminals + and all uses. + +2009-02-13 Ben Abbott + + * graphics.h.in (class axes::properties): Initialize ticklength. + * graphics.cc (default_axes_ticklength): New function. + +2009-02-13 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_gets): Handle CRLF and CR. + + * toplev.cc (do_octave_atexit): Only save history if + Vsaving_history is true. + +2009-02-12 John W. Eaton + + * data.cc, ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, + ov-base-sparse.h, ov-base.cc, ov-base.h, ov-perm.h, ov-range.h, + ov.h: Rename internal issorted and issorted_rows functions to + is_sorted and is_sorted_rows. + + * ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base.h, + ov-cell.h, ov-perm.h, ov-range.h, ov.h, data.cc, ov-base.cc, + ov-cell.cc: Rename all uses of sortrows_idx to sort_rows_idx. + + * TEMPLATE-INST/Array-tc.cc: Don't instantiate sort functions for + Arrays of octave_value objects. + (octave_sort::ascending_compare, + octave_sort::descending_compare): Delete. + + * ov.h (octave_value::cellstr_value): New function. + * ov-base.cc, ov-base.h (octave_base_value::cellstr_value): + New function. + * ov-cell.h (octave_cell::cellstr_value, octave_cell::sort, + octave_cell::sortrows_idx): New functions + * Cell.h, Cell.cc (Cell::Cell (Array)): New constructor. + + * TEMPLATE-INST/Array-tc.cc: Undo previous change. + (octave_sort::ascending_compare, + octave_sort::descending_compare): + Pass args by const reference instead of value. + + * version.h (OCTAVE_VERSION): Now 3.1.52+. + (OCTAVE_API_VERSION): Now api-v34+. + + * TEMPLATE-INST/Array-tc.cc + (octave_sort::ascending_compare, + octave_sort::descending_compare): + Delete unused template specializations. + Use NO_INSTANTIATE_ARRAY_SORT instead of INSTANTIATE_ARRAY_SORT + for octave_values. + +2009-02-11 Thomas Treichl + + * gl-render.h: Use HAVE_FRAMEWORK_OPENGL. + * gl-render.cc (opengl_tesselator, opengl_renderer::draw, + opengl_renderer::init_marker): Use HAVE_FRAMEWORK_OPENGL. + +2009-02-11 Jaroslav Hajek + + * ov.h (octave_value::issorted, octave_value::sortrows_idx, + octave_value::issorted_rows): New methods. + * ov.cc (octave_base_value::issorted, octave_base_value::sortrows_idx, + octave_base_value::issorted_rows): New methods. + * ov.cc: Declare them. + + * ov-base-mat.h (octave_base_matrix::issorted, octave_base_matrix::sortrows_idx, + octave_base_matrix::issorted_rows): New methods. + + * ov-base-diag.h (octave_base_diag::issorted, octave_base_diag::sortrows_idx, + octave_base_diag::issorted_rows): New methods. + + * ov-perm.h (octave_perm_matrix::issorted, octave_perm_matrix::sortrows_idx, + octave_perm_matrix::issorted_rows): New methods. + + * ov-range.h (octave_range::issorted, octave_range::sortrows_idx, + octave_range::issorted_rows): New methods. + + * data.cc (F__sortrows_idx__, Fissorted): New defuns. + +2009-02-11 John W. Eaton + + * toplev.cc (octave_config_info): Add octetcdir to the struct. + * defaults.h.in (OCTAVE_OCTETCDIR): New macro. + +2009-02-10 Jaroslav Hajek + + * DLD-FUNCTIONS/__pchip_deriv__.cc (F__pchip_deriv__): + Add support for computing pchip derivatives along rows of matrix. + Eliminate redundant copying by using const args where appropriate. + +2009-02-09 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.52. + (OCTAVE_RELEASE_DATE): Now 2009-02-09. + (OCTAVE_COPYRIGHT): Update year. + + * load-path.cc (dir_info::update, dir_info::initialize): + Likewise, to allow some functionality if getcwd fails. + + * toplev.cc (main_loop): Also catch octave_execution_exception. + + * DLD-FUNCTIONS/dispatch.cc: Comment out troublesome tests. + + * DLD-FUNCTIONS/eigs.cc: Increase tolerance to 1e-11 on all tests. + + * lex.l (lexical_feedback::looking_at_decl_list): New data member. + * lex.l (lexical_feedback::init): Initialize it. + (handle_identifier): Also force local variable if looking_at_decl_list. + * parse.y (parsing_decl_list): New non-terminal. + (declaration): Use it. Set lexer_flags.looking_at_decl_list to + false after parsing the declaration. + +2009-02-09 Jaroslav Hajek + + * TEMPLATE-INST/Array-tc.cc: Reflect changes in octave_sort. + +2009-02-08 John W. Eaton + + * octave.cc (initialize_pathsearch): Delete. + (octave_main): Don't call initialize_pathsearch. + +2009-02-07 John W. Eaton + + * parse.y (eval_string): Use the one true evaluator. + +2009-02-06 John W. Eaton + + * Makefile.in (INCLUDES): Include oct-hdf5.h in the list. + + * Makefile.in (oct-gperf.h): Don't use pipeline to process gperf + output. + +2009-02-05 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::cn_info_rep::xfind): + New function. + (symbol_table::fcn_info::cn_info_rep::find): + Use it to avoid recursive call. + + * graphics.cc (Fdrawnow): Return after errors. Don't strip + trailing directory separator from name used in call to file_stat. + + * DLD-FUNCTIONS/eigs.cc (Feigs): Avoid warnings about ambiguous + else. Style fixes. Return after errors. + +2009-02-05 Jaroslav Hajek + + * oct-map.cc (Octave_map::index): Optimize. + +2009-02-05 Jaroslav Hajek + + * OPERATORS/op-cm-cs.cc: Use scalar_value in scalar-to-matrix + indexed assignments. + * OPERATORS/op-fcm-fcs.cc: Ditto. + * OPERATORS/op-fm-fs.cc: Ditto. + * OPERATORS/op-m-s.cc: Ditto. + * OPERATORS/op-int.h (OCTAVE_MS_INT_ASSIGN_OPS): Use homogeneous + integer scalar-to-matrix assignment. + (OCTAVE_MM_INT_ASSIGN_OPS): Use homogeneous integer matrix-to-matrix + assignment. + + * Cell.h (Cell::index): Remove direct idx_vector overloads. + (Cell::assign): Remove direct idx_vector overloads. + (Cell::delete_elements): Remove direct idx_vector overloads. + * Cell.cc (Cell::index (const octave_value_list&)): Call + ArrayN::index. + + * oct-map.h (Octave_map::index): Remove direct idx_vector overloads. + * oct-map.cc (Octave_map::index): Ditto. + * ov-base-mat.cc (octave_base_mat::do_index_op): Optimize scalar + indexing case. + (octave_base_mat::assign (const octave_value_list&, const MT&)): + Specialize variable argument number. + (octave_base_mat::assign (const octave_value_list&, const + typename MT::element_type&)): + New method overload with optimized scalar indexing case. + + * ov-cell.cc (octave_base_matrix::do_index_op, + octave_base_matrix::assign, + octave_base_matrix::delete_elements): Specialize. + (octave_cell::assign (const_octave_value_list, const octave_value&): + Delete method. + * ov-cell.h: Reflect change. + + * ov-cx-mat.cc (octave_complex_matrix::assign): Delete overloads. + * ov-cx-mat.h: Reflect changes. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::assign): Delete overloads. + * ov-flt-cx-mat.h: Reflect changes. + * ov-list.cc (octave_list::do_index_op): Simplify. + * ov-struct.cc (octave_struct::do_index_op): Simplify. + * pt-eval.cc (tree_evaluator::visit_simple_for_command): Optimize + traversing a row vector. + +2009-02-05 John W. Eaton + + * variables.cc (Vignore_function_time_stamp): + Eliminate unused static variable. + + * debug.cc (get_file_line): Override default precedence in logical + expression. + + * ov-null-mat.cc (default_null_str_numeric_conversion_function, + default_null_sq_str_numeric_conversion_function, + default_null_matrix_numeric_conversion_function): + Avoid unused variable warning. + + * ov-flt-re-diag.cc (octave_float_diag_matrix::save_binary): + Avoid unused parameter warning. + * pt-eval.cc (tree_evaluator::visit_if_clause): Likewise. + * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise. + * ov-base.cc (octave_base_value::subsref (const std::string&, + const std::list&, bool): Likewise. + * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary): + Likewise. + + * oct-hdf5.h: New file. + * ls-hdf5.cc, ov-base.h, ov.h: Include oct-hdf5.h instead of hdf5.h. + * ls-hdf5.h: Include oct-hdf5.h. + * load-save.cc: Include ls-hdf5.h instead of hdf5.h. + * ov-base-sparse.cc, load-save.cc: + Don't protect #include "ls-hdf5.h" with #ifdef. + +2009-02-04 Kai Habel + + * gl-render.cc (opengl_renderer::draw (surface::properties)): + Normalize surface normals. Correct calculation of diffuse lighting. + * gl-render.cc (opengl_renderer::draw (patch::properties)): + Correct calculation of diffuse lighting. + +2009-02-04 John W. Eaton + + * help.cc (do_which): If NAME is not in the symbol table, look for + a function file in the load path. + (raw_help_from_file): Unwind-protect and set reading_script_file. + + * pt-loop.h, pt-loop.cc (evaluating_looping_command): + Delete global variable and all uses. + * parse.y, parse.h (evaluating_function_body): Delete global + variable and all uses. + (make_break_command, make_continue_command, make_return_command): + Use tree_evaluator::in_fcn_or_script_body and + tree_evaluator::in_loop_command instead of + evaluating_function_body and evaluating_looping_command. + + * pt-eval.h (tree_evaluator::in_function_or_script_body): + Delete member variable and all uses. + (tree_evaluator::reset): Delete function and all uses. + + * pt-eval.cc, pt-eval.h (tree_evaluator::in_fcn_or_script_body, + tree_evaluator::in_loop_command): New static variables. + (tree_evaluator::visit_simple_for_command, + tree_evaluator::visit_complex_for_command, + tree_evaluator::visit_while_command, + tree_evaluator::visit_do_until_command): Unwind-protect and set + tree_evaluator::in_loop_command instead of + evaluating_looping_command. + (tree_evaluator::visit_statement): Only call echo_code if + evaluating function or script and (Vecho_executing_commands & + ECHO_FUNCTIONS). Use tree_evaluator::in_fcn_or_script_body + instead of evaluating_function_body. + + * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): + octave_user_function::do_multi_index_op): Unwind-protect and set + tree_evaluator::in_fcn_or_script_body. + + * pt-stmt.cc, pt-stmt.h (tree_statement::echo_code): + Rename from maybe_echo_code. Simplify. + +2009-02-04 Jaroslav Hajek + + * pt-loop.h (tree_simple_for_command::do_for_loop_once, + tree_complex_for_command::do_for_loop_once): Remove obsolete decls. + * pt-loop.cc (quit_loop_now): Remove obsolete method. + * pt-eval.cc (DO_ND_LOOP): Delete macro. + (tree_evaluator::visit_simple_for_command): Use the generic + do_index_op for iterating matrices. + +2009-02-04 John W. Eaton + + New evaluator and debugger derived from tree-walker class. + + * pt-eval.h, pt-eval.cc: New files. Parse tree evaluator code + adapted from eval member functions in classes derived from + tree_command. + * Makefile.in (PT_INCLUDES, PT_SRC): Add them to the lists + + * pt-cmd.cc (tree_function_def::eval): Delete. + * pt-cmd.h: Delete decl. + (tree_command::eval): Delete pure virtual function. + (tree_no_op_command::eval): Delete. + (tree_function_def::function): Return octave_value, instead of + pointer to octave_function. Change all uses. + + * pt-except.cc (do_catch_code, tree_try_catch_command::eval, + do_unwind_protect_cleanup_code, + tree_unwind_protect_command::eval): Delete. + * pt-except.h: Delete decls. + + * pt-jump.cc (tree_break_command::eval, tree_return_command::eval, + tree_continue_command::eval): Delete. + * pt-jump.h: Delete decls. + + * pt-loop.cc (DO_ND_LOOP): Delete macro. + (tree_while_command::eval, tree_do_until_command::eval, + tree_simple_for_command::do_for_loop_once, + tree_simple_for_command::eval, + tree_complex_for_command::do_for_loop_once, + tree_complex_for_command::eval): + * pt-loop.h: Delete decls. + + * pt-select.cc (tree_if_clause::eval, tree_if_command_list::eval, + tree_if_command::eval, tree_switch_case::eval, + tree_switch_case_list::eval, tree_switch_command::eval): Delete. + * pt-select.h: Delete decls. + (class tree_if_clause, class tree_switch_case): Derive from tree. + Handle line and column in constructors. + + * pt-stmt.cc (tree_statement::eval): Delete + * pt-stmt.h: Delete decl. + + * pt-stmt.cc, pt-stmt.h (tree_statement::is_command, + tree_statement::is_expression, tree_statement::line, + tree_statement::column): Now const. + + * pt-stmt.cc (tree_statement::set_print_flag, + tree_statement::is_end_of_fcn_or_script): New functions. + * pt-stmt.h: Provide decl. + (set_breakpoint, delete_breakpoint, is_breakpoint): New function. + (bp): New member variable. + (print_result): Delete member variable. + (tree_statement_list::anon_function_body): New member variable. + (tree_statement_list::mark_as_anon_function_body, + tree_statement_list::is_anon_function_body, + tree_statement_list::is_script_body): New functions. + + * pt-decl.cc (tree_decl_init_list::eval, + tree_decl_command::accept, tree_global_command::do_init, + tree_global_command::eval, tree_static_command::do_init, + tree_static_command::eval): Delete. + * pt-decl.h: Delete decls. + (tree_decl_elt::eval_fcn): Delete typedef. + + * pt-decl.cc (tree_global_command::accept, + tree_static_command::accept): New functions. + + * pt-stmt.cc (tree_statement::print_result): Move here from + pt-stmt.h. Return true if expr is printable. + + * ov-base.cc (Vsilent_functions): Delete. + (octave_base_value::print_with_name): Don't check + evaluating_function_body && Vsilent_functions here. + * ov-class.cc (octave_class::print_with_name): Likewise. + * ov-base.h (Vsilent_functions): Delete decl. + * pt-eval.cc (Fsilent_functions): Move here from ov-base.cc. + (Vsilent_functions): New static variable. + + * sighandlers.cc (user_abort): Set tree_evaluator::debug_mode here. + + * pt.h (tree::bp): Rename from tree::break_point. + (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint): + No longer virtual. + + * input.cc (get_debug_input): Use current_evaluator and + tree-walker to evaluate command. + * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): Likewise. + * toplev.cc (main_loop): Likewise. + * parse.y (eval_string): + + * input.h, input.cc (Vdebugging_current_line): Delete. + (get_debug_input): Use tree_evaluator::debug_line instead of + Vdebugging_current_line. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Handle inline functions and anonymous functions as single + expressions. + * parse.y (eval_string): Likewise. + + * parse.y (make_do_until_command): Rename first argument from + do_tok to until_tok. + (loop_command): Pass UNTIL token instead of DO token to + make_do_until_command. + (make_elseif_clause): New arg, elseif_tok. Pass line and column + info to tree_if_clause constructor. + (elseif_clause): Pass ELSEIF token to make_elseif_clause. + (make_switch_case): New arg, case_tok. Pass line and column info + to tree_switch_case constructor. + (switch_case): Pass CASE token to make_switch_case. + (make_script): New arg end_script. Append it to cmds. + (script): Create no-op command for end of script and pass it to + make_script. + (start_function): New arg, end_function. Append it to body. + (function2): Pass end_function to start_function. + (make_end): New function. + (function_end): Declare as tree_statement_type. + Create no-op command for end of script. + (make_anon_fcn_handle): Mark body as anonymous function. + (set_stmt_print_flag): Set print flag for all separator types + + * parse.y (fold (tree_binary_expression*), + fold (tree_unary_expression *), finish_colon_expression, + finish_matrix): Call rvalue1 instead of rvalue. + Stash line number in new tree_constant object. + + * debug.h (bp_table::have_breakpoints): New static function. + (bp_table::do_have_breakpoints): New member function. + * debug.cc (bp_table::do_add_breakpoint, + bp_table::do_remove_breakpoint, + bp_table::do_remove_all_breakpoints_in_file, + bp_table::do_remove_all_breakpoints): Call + bp_table::have_breakpoints to set tree_evaluator::debug_mode. + (Fdbnext): Delete function. Alias to dbstep. + (Fdbquit, Fdbcont): Set tree_evaluator::dbstep_flag to zero. + (Fdbstep): Rewrite to use tree_evaluator::dbstep_flag instead of + tree::break_next, tree::last_line, tree::break_function, and + tree::last_break_function. + (Fdbwhere): Use tree_evaluator::debug_line and + tree_evaluator::debug_column to get current line and column info. + Don't print column if it is less than zero. + * pt.cc, pt.h (tree::break_next, tree::last_line, + tree::last_break_function, tree::break_function, + tree::break_statement): Delete. + + * pt-bp.cc (tree_breakpoint::visit_global_command, + tree_breakpoint::visit_static_command, + tree_breakpoint::take_action (tree_statement&)): New functions. + * pt-bp.h: Provide decls. + + * pt-bp.h (tree_walker::visit_global_command, + tree_walker::visit_static_command): New pure virtual functions. + (tree_walker::visit_decl_command): Delete. + + * pt-bp.cc (tree_breakpoint::visit_decl_command): Delete. + * pt-bp.h: Delete decl. + (MAYBE_DO_BREAKPOINT): Delete macro and all uses. + + * pt-bp.cc (tree_breakpoint::visit_no_op_command): Do nothing. + (tree_breakpoint::visit_argument_list, + tree_breakpoint::visit_binary_expression, + tree_breakpoint::visit_colon_expression, + tree_breakpoint::visit_decl_elt, + tree_breakpoint::visit_decl_init_list, + tree_breakpoint::visit_octave_user_script, + tree_breakpoint::visit_octave_user_function, + tree_breakpoint::visit_octave_user_function_header, + tree_breakpoint::visit_octave_user_function_trailer, + tree_breakpoint::visit_identifier, + tree_breakpoint::visit_index_expression, + tree_breakpoint::visit_matrix, tree_breakpoint::visit_cell, + tree_breakpoint::visit_multi_assignment, + tree_breakpoint::visit_anon_fcn_handle, + tree_breakpoint::visit_constant, + tree_breakpoint::visit_fcn_handle, + tree_breakpoint::visit_parameter_list, + tree_breakpoint::visit_postfix_expression, + tree_breakpoint::visit_prefix_expression, + tree_breakpoint::visit_return_list, + tree_breakpoint::visit_simple_assignment): Call panic_impossible + since breakpoints aren't set on expressions. + (tree_breakpoint::visit_if_clause): Fold into visit_if_command_list. + (tree_breakpoint::visit_switch_case): Fold into visit_switch_case_list. + (tree_breakpoint::visit_try_catch_command, + tree_breakpoint::visit_unwind_protect_command): + Don't set breakpoint on command itself, the the statements it + contains. + (tree_breakpoint::visit_global_command, + tree_breakpoint::visit_static_command): Call do_decl_command to do + actual work. + (tree_breakpoint::visit_while_command, + tree_breakpoint::visit_do_until_command, + tree_breakpoint::visit_simple_for_command, + tree_breakpoint::visit_complex_for_command, + tree_breakpoint::visit_statement, + tree_breakpoint::visit_statement_list, + tree_breakpoint::visit_switch_case_list): Set breakpoints at + appropriate places. + + * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_global_command, + tree_print_code::visit_static_command, + tree_print_code::do_decl_command): New functions. + (tree_print_code::visit_decl_command): Delete. + + * pt-check.h, pt-check.cc (tree_checker::visit_global_command, + tree_checker::visit_static_command, tree_checker::do_decl_command): + New functions. + (tree_checker::visit_decl_command): Delete. + + * pt-select.cc (tree_switch_case::label_matches): Call rvalue1 + instead of rvalue. + + * pt-exp.h, pt-exp.cc (tree_expression::rvalue1): New function. + (tree_expression::rvalue (void)): Delete. + (tree_expression::is_logically_true): Call rvalue1 instead of rvalue. + + * pt-fcn-handle.h, pt-fcn-handle.cc (tree_fcn_handle::rvalue1, + tree_anon_fcn_handle::rvalue1): New functions. + (tree_fcn_handle:rvalue (void), + tree_anon_fcn_handle::rvalue1 (void)): Delete. + (tree_fcn_handle::rvalue (int), tree_anon_fcn_handle_rvalue (int)): + Call rvalue1 instead of rvalue. + + * pt-idx.h, pt-idx.cc (tree_index_expression::rvalue1): New function. + (tree_index_expression::rvalue (void)): Delete. + (tree_index_expression::get_struct_index, + tree_index_expression::rvalue (int)): Call rvalue1 instead of rvalue. + + * pt-mat.h, pt-mat.cc (tree_matrix::rvalue1): New function. + (tree_matrix::rvalue (void)): Delete. + (tm_row_const::tm_row_const_rep::init, + tree_matrix::rvalue (int)): Call rvalue1 instead of rvalue. + + * pt-misc.cc (tree_parameter_list::convert_to_const_vector): + Call rvalue1 instead of rvalue. + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + Likewise. + + * pt-unop.h, pt-unop.cc (tree_prefix_expression::rvalue1, + tree_postfix_expression::rvalue1): New functions. + (tree_prefix_expression::rvalue (void), + tree_postfix_expression::rvalue (void)): Delete. + (tree_prefix_expression::rvalue (int), + tree_postfix_expression::rvalue (int)): + Call rvalue1 instead of rvalue. + + * pt-id.h, pt-id.cc (tree_identifier::rvalue1): New function. + (tree_identifier::rvalue (void)): Delete. + + * pt-assign.h, pt-assign.cc (tree_simple_assignment::rvalue1, + tree_multi_assignment::rvalue1): New functions. + (tree_simple_assignment::rvalue (void), + tree_multi_assignment::rvalue (void): Delete. + (tree_simple_assignment::rvalue (int)): + Call rvalue1 instead of rvalue. + + * pt-binop.h, pt-binop.cc (tree_binary_expression::rvalue1, + tree_boolean_expression::rvalue1): New functions. + (tree_binary_expression::rvalue (void), + tree_boolean_expression::rvalue (void)): Delete. + (tree_binary_expression::rvalue (int), + tree_boolean_expression::rvalue (int)): + Call rvalue1 instead of rvalue. + + * pt-cbinop.h, pt-cbinop.cc + (tree_compound_binary_expression::rvalue1): New function. + (tree_compound_binary_expression::rvalue (void)): Delete. + + * pt-cell.h, pt-cell.cc (tree_cell::rvalue1): New function. + (tree_cell::rvalue (void)): Delete. + (tree_cell::rvalue (int)): Call rvalue1 instead of rvalue. + + * pt-colon.h, pt-colon.cc (tree_colon_expression::rvalue1): + New function. + (tree_colon_expression::rvalue (void)): Delete. + (tree_colon_expression::rvalue (int)): + Call rvalue1 instead of rvalue. + + * pt-const.h, pt-const.cc (tree_constant::rvalue1): New function. + (tree_constant::rvalue (void)): Delete. + (tree_constant::rvalue (int)): Call rvalue1 instead of rvalue. + + * pt-decl.h, pt-decl.cc (tree_decl_elt::ravlue1): New function. + (tree_decl_elt::ravlue (void)): Delete. + (tree_decl_elt::eval): Call rvalue1 instead of rvalue. + +2009-02-03 Jaroslav Hajek + + * TEMPLATE-INST/Array-tc.cc: Replace vec_index by pointers. + +2009-02-02 Jaroslav Hajek + + * ov-re-mat.cc (octave_matrix::abs, octave_matrix::real, + octave_matrix::imag, octave_matrix::conj): Use special code. + * ov-flt-re-mat.cc (octave_float_matrix::abs, octave_float_matrix::real, + octave_float_matrix::imag, octave_float_matrix::conj): Use special code. + * ov-cx-mat.cc (octave_complex_matrix::abs, octave_complex_matrix::real, + octave_complex_matrix::imag, octave_complex_matrix::conj): Use special code. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::abs, octave_float_complex_matrix::real, + octave_float_complex_matrix::imag, octave_float_complex_matrix::conj): Use special code. + +2009-01-30 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Add missing check. + +2009-01-29 John W. Eaton + + * pt-stmt.cc (tree_statement::eval): Check + in_function_or_script_body instead of symbol_table::at_top_level () + to decide whether to call octave_call_stack::set_statement. + + * graphics.cc (properties::set_defaults): Also set + horizontalalignment, verticalalignmnt, and rotation properties for + new label objects here. + + * ov-base-scalar.cc (octave_base_scalar::is_true (void) const): + Error if scalar is NaN. + * ov-base-mat.cc (octave_base_matrix::is_true (void) const): + Likewise, if any element of matrix is NaN. + * ov-cell.cc (octave_cell::is_true): New function. + * Cell.h (Cell::any_element_is_nan): New function. + +2009-01-29 Jaroslav Hajek + + * pr-output.cc: + (void octave_print_internal (..., const DiagMatrix& m,...), + (void octave_print_internal (..., const ComplexDiagMatrix& m,...), + (void octave_print_internal (..., const FloatDiagMatrix& m,...), + (void octave_print_internal (..., const FloatComplexDiagMatrix& m,...)): + New functions. + * pr-output.h: Declare them. + * ov-base-diag.cc (octave_base_diag::print_raw): Call + octave_print_internal. + +2009-01-28 John W. Eaton + + * Makefile.in (install, uninstall): Handle SHLLIBPRE and SHLBINPRE + library prefixes. From Marco Atzeri . + +2008-01-28 David Bateman + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Don't break for zero + length match, but rather advance the index by one character and + try again. + +2009-01-28 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc (Flookup): Fix doc string. + +2009-01-27 John W. Eaton + + * load-path.cc (Fcommand_line_path): Rename from Fcommandlinepath. + +2009-01-27 Ben Abbott + + * graphics.cc (convert_position): Handle character units. + (default_axes_tick, default_figure_papersize, + default_figure_paperposition): New functions. + * graphics.h.in (class figure::properties): Use them to + initialize papersize, paperposition, xtick, ytick, and ztick + properties. + +2009-01-27 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc (Fqr): Treat empty matrices correctly. + +2009-01-26 Thomas Treichl + + * display.cc (display_info::init): Use double instead of CGFloat. + Use HAVE_FRAMEWORK_CARBON instead of OCTAVE_USE_OS_X_API. + +2009-01-26 John W. Eaton + + * load-path.cc (load_path::do_find_fcn): Handle @foo/bar. + +2009-01-24 Jaroslav Hajek + + * pt-cell.cc (tree_cell::rvalue): Optimize the single row case. + +2009-01-24 Jaroslav Hajek + + * ov-struct.cc (octave_struct::subsasgn): Reshape cs-list on rhs + according to the index expression. + * ov-cell.cc (octave_cell::subsasgn): Ditto. + +2008-12-25 Ben Abbott + + * load-path.cc (Fcommandlinepath): New function. + * load-path.h (load_path::get_command_line_path, + load_path::do_get_command_line_path): New functions. + +2009-01-24 Ben Abbott + + * DLD-FUNCTIONS/eigs.cc: eigs.cc: skip tests if ARPACK is missing. + +2009-01-25 S�ren Hauberg + + * help.cc (do_get_help_text, raw_help_from_symbol_table): new output to + flag the a function is found but not documented. + +2009-01-25 S�ren Hauberg + + * help.cc (raw_help_from_file): No longer search for files called + 'Contents.m', as this is moved to 'script/help.m'. + + +2009-01-23 John W. Eaton + + * toplev.cc (octave_call_stack::do_goto_caller_frame): + Also allow caller frame to be base frame, not just user code. + +2009-01-23 Jaroslav Hajek + + * gripes.cc (gripe_indexed_cs_list, gripe_invalid_inquiry_subscript): + New functions. + * gripes.h: Declare them. + * pt-idx.cc: Remove definitions of the above funcs. + * ov-cell.cc (octave_cell::subsref): Declare constants as const. + (octave_cell::subsasgn): Remove dead branch, declare constants as const. + (octave_cell::list_value): Optimize. + * ov-struct.cc + (octave_struct::subsref): Declare constants as const. + (octave_struct::subsasgn): Remove dead branch, declare constants as const. + * ov-cs-list.cc (octave_cs_list::octave_cs_list (const Cell&)): + Optimize. + * oct-obj.cc (octave_value_list::octave_value_list (const + std::list&)): New constructor. + * oct-obj.h: Declare it. + * pt-arg-list.cc (convert_to_const_vector): Optimize. + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): Use const + reference to avoid redundant copy. + * ov-usr-fcn.cc (octave_user_function::bind_automatic_vars): Optimize. + (octave_user_function::octave_all_va_args): Optimize. + +2009-01-22 Jaroslav Hajek + + * Cell.h (Cell::Cell (octave_value_list)): Only declare. + (Cell::index (*)): Change resize_ok type to bool. + * Cell.cc (Cell::Cell (octave_value_list)): Redefine. + * oct-obj.h, oct-obj.cc: Change octave_value_list::data to + Cell variable, reflect changes. + +2009-01-22 John W. Eaton + + * help.cc (do_which (std::ostream&, const std::string&), Fwhich): + Delete. + (do_which (const std::string&, std::string&), F__which__): + New functions. + * do_which (const std::string&): + Call do_which (const std::string&, std::string&) to do the work. + +2009-01-22 S�ren Hauberg + + * defun-int.h (print_usage): No longer mark as deprecated. + * defun.cc (print_usage): Simply call feval to execute print_usage.m. + * help.cc (additional_help_message, display_names_from_help_list, + display_symtab_names, simple_help, try_info, help_from_info, + display_help_text, display_usage_text, raw_help_from_list, + help_from_list, help_from_symbol_table, help_from_file, + builtin_help, Fhelp, display_file, do_type, Ftype, + first_help_sentence, print_lookfor, Flookfor): Delete. + (looks_like_html, raw_help_from_map, raw_help, do_get_help_text, + F__operators__, F__keywords__, F__builtins__, + file_is_in_dir, F__list_functions__): New functions. + (pair_type, map_iter): New typedefs. + (operators, keywords): Use pair_type for elements of list. + (names): Use map for (keyword, doc) lists. + (make_name_list): Sprinkle with const. + * help.h (display_help_text, display_usage_text, + additional_help_message): Delete decls. + +2009-01-22 John W. Eaton + + * toplev.cc (octave_config_info): Check OCTAVEUSE_OS_X_API instead + of __APPLE__ && __MACH__. + + * display.cc (display_info::init): Get info for Windows and OS X + systems. + +2009-01-22 Jaroslav Hajek + + * pt-idx.cc (tree_index_expression::lvalue): Correct tmpi when seeing + a plain struct component. + * ov-struct.cc (octave_struct::subsasgn): Use proper type substr in + empty_conv. + +2009-01-22 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc: Remove HAVE_QRUPDATE check. + * DLD-FUNCTIONS/chol.cc: Ditto. + +2009-01-21 John W. Eaton + + * Makefile.in (display.o): Add X11_INCFLAGS to CPPFLAGS. + (octave$(EXEEXT)): Link with X11_LIBS. + + * display.h, display.cc: New files. + * graphics.cc (default_screendepth, default_screensize, + default_screenpixelsperinch): New functions. + * graphics.h.in (class root_figure::properties): New property, + screendepth. Use default_screensize to initialize screensize + property. Use default_screenpixelsperinch to initialize + screenpixelsperinch property. + + * graphics.cc (properties::init): Set default xlabel, ylabel, + zlabel, and title properties that differ from default text + properties. + +2009-01-21 Jaroslav Hajek + + * OPERATORS/op-range.cc: Define & register range-scalar ops. + +2009-01-21 Jaroslav Hajek + + * ov.h (octave_value::subsref (..., bool auto_add)): New method. + (octave_value::next_subsref (bool auto_add, ...)): New method. + * ov.cc (octave_value::next_subsref (bool auto_add, ...)): New method. + * ov-base.h (octave_base_value::subsref (..., bool auto_add)): New + virtual method. + * ov-base.cc (octave_base_value::subsref (..., bool auto_add)): New + virtual method. + * ov-cell.cc (octave_cell::subsref (..., bool auto_add)): New virtual + method. + * ov-cell.h (octave_cell::subsref (..., bool auto_add)): Declare it. + * ov-struct.cc (octave_struct::subsref (..., bool auto_add)): New + virtual method. + (octave_struct::subsref (const std::string& type, const + std::list& idx)): Do not allow resizing. + * ov-struct.h (octave_struct::subsref (..., bool auto_add)): Declare + it. + * ov-struct.cc (octave_struct::dotref (..., bool auto_add)): New + virtual method. + * ov-struct.h (octave_struct::dotref (..., bool auto_add)): Declare it. + * pt-idx.cc (tree_index_expression::rvalue): Do not reevaluate already + evaluated part of the index chain. + (tree_index_expression::rvalue): Do not reevaluate already evaluated + part of the index chain. Do not actually perform trailing indexing. + Do not allow indexing cs-lists. + +2009-01-20 John W. Eaton + + * file-io.cc (Ffstat): New function. + +2009-01-17 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete, Fqrshift): + Reflect changes in liboctave. + * DLD-FUNCTIONS/chol.cc (Fcholupdate, Fcholinsert): + Reflect changes in liboctave. + +2009-01-19 Jaroslav Hajek + + * ov.h (octave_value::make_unique (int)): New method. + * oct-obj.h (octave_value_list::octave_value_list (const Cell&)): New + constructor. + * ov-cell.cc (octave_cell::subsasgn): Allow composed {} indexing + in multi-assignments. Optimize. + * ov-struct.cc (octave_struct::subsasgn): Correct composed {} indexing + in multi-assignments. Optimize & fix bugs. + * pt-idx.cc (tree_index_expression::lvalue): Rewrite to allow + specifying cs-list anywhere in index chain, be more robust. + +2009-01-19 John W. Eaton + + * lex.l (grab_comment_block): If not reading input from a file, + bail out at first newline inside a comment. + + * lex.l (lexer_debug_flag): New static variable. + (F__lexer_debug_flag__): New function. + (LEXER_DEBUG): New macro. Use it in all patterns. + (DISPLAY_TOK_AND_RETURN): Also display token if lexer_debug_flag + is set. + (process_comment): Display comment if lexer_debug_flag is set. + (display_character, display_state, lexer_debug): New static functions. + (xunput): Display character if lexer_debug_flag is set. + +2009-01-17 Jaroslav Hajek + + * ov.h: Describe usage of storable_value and make_storable_value. + * ov.cc: Remove FIXME comment. + +2009-01-15 John W. Eaton + + * data.cc (Freshape): Include mismatched dimensions in error message. + From Robert Millan . + +2009-01-14 Jaroslav Hajek + + * ov.cc (octave_value::maybe_economize): New method. + (octave_value::non_null_value): rename to storable_value. + (octave_value::make_non_null_value): rename to make_storable_value. + * ov-base.h (octave_base_value::maybe_economize): New method. + * ov-base-mat.h (octave_base_mat::maybe_economize): New override. + * oct-obj.cc (octave_value_list::normalize_null_values): + Rename to make_storable_values, use make_storable_value. + * oct-obj.h: Ditto. + * ov-builtin.cc: non_null_value -> storable_value. + * ov-cell.cc: Ditto. + * ov-struct.cc: Ditto. + * pt-decl.h: Ditto. + +2009-01-15 S�ren Hauberg + + * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image): + Initialize bitdepth. + +2009-01-14 S�ren Hauberg + + * DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/chol.cc, + DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, + DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, + DLD-FUNCTIONS/givens.cc, DLD-FUNCTIONS/hess.cc, + DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/svd.cc, + DLD-FUNCTIONS/syl.cc, data.cc, mappers.cc: + Use ifnottex instead of ifinfo. + +2009-01-14 John W. Eaton + + * load-path.cc (load_path::do_set): Call do_clear after disabling + add_hook. + +2009-01-13 Jaroslav Hajek + + * dirfns.cc (Freadddir): qsort -> sort. + * graphics.cc (maybe_set_children): Ditto. + * help.cc (simple_help): Ditto. + * input.cc (generate_possible_completions): Ditto. + * oct_map.cc (keys_ok): Ditto. + * ov-fcn-inline.cc (Finline): Ditto. + * variables.cc (Fisrawcommand): Ditto. + +2009-01-12 John W. Eaton + + * octave.cc (maximum_braindamage): Set confirm_recursive_rmdir to + false. + + * strfns.cc (Fstrcmp, Fstrncmp): Simplify by initializing all + elements of output to false with constructor argument. + +2009-01-12 Thorsten Meyer + + * strfns.cc (Fstrncmp): New test. + +2009-01-12 John W. Eaton + + * pt-stmt.h (tree_statement::is_null_statement): New function. + * parse.y (set_stmt_print_flag): Return list. Remove trailing + null statements from list. + (list, simple_list): Simplify action. + (make_statement, make_statement_list, append_statement_list): + Always create statements and them to the list. + + * base-list.h (octave_base_list::push_front, + octave_base_list::push_back, octave_base_list::pop_front, + octave_base_list::pop_back): New functions. + + * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete, Fqrshift): + Require args to be numeric, not necessarily matrix objects. + +2009-01-12 Ben Abbott + + * graphics.h.in (text::properties::fontunits): Fix typo in list of + possible values. + +2009-01-12 John W. Eaton + + * strfns.cc (Fstrvcat, Fchar): Use queue to avoid duplicate calls + to all_strings. + +2009-01-12 Thorsten Meyer + + * strfns.cc (Fstrvcap): New function. + +2008-11-29 Thorsten Meyer + + * strfns.cc (Fchar, Fischar, Fstrncmp, Flist_in_columns): + Improve documentation strings. Add examples and tests. + +2009-01-12 Jaroslav Hajek + + * ov-perm.cc (octave_perm_matrix::do_index_op): Return shallow copy + when indexed by (:,:). + * ov-base-mat.cc (octave_base_diag::do_index_op): Return shallow copy + when indexed by (:,:). Optimize indexing equivalent to resizing. + * data.cc: Fix tests. + * mappers.cc: Fix tests. + +2009-01-12 Jaroslav Hajek + + * ov-base-diag.h, ov-base-mat.h, ov-base-scalar.h, ov-base-sparse.h, + ov-base.cc, ov-base.h, ov-perm.h, ov-range.h, ov.h: Add full_value + methods to octave_value, octave_base_value and its relevant + subclasses. + * data.cc (Ffull): New DEFUN. + * DLD-FUNCTIONS/sparse.cc (Ffull): move to data.cc. +2009-01-11 Jaroslav Hajek + + * ov.h (octave_value::is_copy_of): New method. + * ov-struct.cc (numeric_conv): Add output parameter orig. + (octave_struct::subsasgn): Temporarily erase duplicate lhs value prior + to assignment. + +2009-01-11 Jaroslav Hajek + + * oct-obj.cc (octave_value_list::all_scalars): New method. + * oct-obj.h: Declare it. + * ov-cell.cc (octave_cell::subsasgn): Disable assigning + to non-scalar {}-indexed cell, unless in a multi-assignment. + +2009-01-10 Jaroslav Hajek + + * DLD-FUNCTIONS/sparse.cc (Ffull): Convert diagonal & permutation + matrices, leave other classes untouched. + +2009-01-09 Jaroslav Hajek + + * OPERATORS/op-cdm-cdm.cc: Install missing widening op. + * OPERATORS/op-dm-dm.cc: Ditto. + * OPERATORS/op-fcdm-fcdm.cc: Ditto. + * OPERATORS/op-fdm-fdm.cc: Ditto. + * OPERATORS/op-pm-pm.cc: Ditto. + * OPERATORS/op-fpm-fpm.cc: Ditto. + +2009-01-09 Jaroslav Hajek + + * ov-cell.cc (octave_cell::subsasgn): Put erased copy back after + make_unique has been called. + +2009-01-09 Kai Habel + + * graphics.cc: Calculate normals for surface boundaries, use + more neighboring points to calculate interior normals + +2009-01-09 John W. Eaton + + * input.cc (get_user_input (void)): Don't increment input_line_number. + * lex.l (xunput): New function. Use it in place of yyunput + anywhere a newline character may be put back on the input stream. + Increment input_line_number in all rules that consume newlines + characters. + (text_yyinput): Increment input_line_number + (fixup_column_count): Increment input_line_number. + (prep_for_function): Set input_line_number to 1, not 0. + (reset_parser): Set input_line_number to current_command_number, + not current_command_number-1. + (flex_stream_reader::ungetc): Call xunput, not yyunput. + * parse.y (input_line_number): Initialize to 1, not 0. + (text_getc): Increment input_line_number correctly. + (stdio_stream_reader::ungetc): Decrement input_line_number if + putting back a newline character. + (parse_fcn_file): Set input_line_number to 1, not 0. + (eval_string): Unwind-protect input_line_number and + current_input_column. + + * parse.y (make_statement): New function. + (statement): Use it. + (make_statement_list, append_statement_list): New functions. + (simple_list1, list1): Use them. + +2009-01-08 Jaroslav Hajek + + * ov-cell.cc (octave_cell::subsasgn): Erase duplicate lhs value + prior to assignment to avoid a redundant copy. + +2008-12-26 Thorsten Meyer + + * mappers.cc (Ftoascii), mappers.cc (Ftolower), mappers.cc + (Ftoupper), DLD-FUNCTIONS/regexp.cc (Fregexp), + DLD-FUNCTIONS/regexp.cc (Fregexpi), DLD-FUNCTIONS/regexp.cc + (Fregexprep): Add references. + +2008-12-27 Jaroslav Hajek + + * oct-obj.h, oct-obj.cc (octave_value_list::valid_scalar_indices): Remove. + * ov-base-diag.cc, ov-base-diag.h, ov-base-scalar.cc, ov-base.h, + ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, + ov-bool.cc, ov-bool.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.h, + ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-cx-sparse.cc, ov-cx-sparse.h, ov-float.cc, ov-float.h, + ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-mat.cc, + ov-flt-cx-mat.h, ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-intx.h, + ov-perm.cc, ov-perm.h, ov-range.h, ov-re-mat.cc, ov-re-mat.h, + ov-re-sparse.cc, ov-re-sparse.h, ov-scalar.cc, ov-scalar.h, + ov-str-mat.cc, ov-str-mat.h, ov.h: + Remove valid_as_scalar_index and valid_as_zero_index methods + from octave_value, octave_base_value and all of its subclasses. + +2008-12-26 Francesco Potortì + + * data.cc (resize): Add cross reference to postpad. + +2008-12-25 Jaroslav Hajek + + * load-save.h (load_save_format_type, load_save_format_options): New + enums. + (load_save_format): Convert to a class. + * load-save.cc (do_save(..., const octave_value&,...)): Use fmt.type + in switch. Use options of LS_MAT_ASCII. + (do_load, write_header): Use format.type in switch. + * ls-mat-ascii.h (save_mat_ascii_data): Add tabs option. + * ls-mat-ascii.cc (save_mat_ascii_data): Implement it. + +2008-12-24 Ben Abbott + + * DLD-FUNCTIONS/chol.cc: Compare results to 0 in tests. + Delete spurious function calls in test block. + +2008-12-24 John W. Eaton + + * DLD-FUNCTIONS/eigs.cc: Use "testif HAVE_ARPACK" to skip tests if + ARPACK is not available. + + * Makefile.in (DLD_XSRC): Add eigs.cc to the list. + + * load-save.cc (parse_save_options): Handle -double. + +2008-12-23 David Bateman + + * DLD-FUNCTIONS/eigs.cc: New file. + * Makefile.in (DLD_XSRC): Add it here. + +2008-12-22 David Bateman + + * DLD-FUNCTIONS/__voronoi__.cc (F__voronoi__): Resize AtInf array + before returning it. + +2008-12-12 David Bateman + + * DLD-FUNCTIONS/chol.cc (Fcholinv): Add test. + +2008-12-12 Jaroslav Hajek + + * ls-hdf5.cc (add_hdf5_data): Check for diagonal & permutation + matrices and convert them to full prior to saving. + +2008-12-11 Jaroslav Hajek + + * ov-re-mat.cc (Fdouble): Handle diagonal & perm matrices. + * ov-flt-re-mat.cc (Fsingle): Handle diagonal & perm matrices. + +2008-12-11 Jaroslav Hajek + + * ov-base-diag.cc (octave_base_diag::subsasgn): New method. + * ov-base-diag.h (octave_base_diag::subsasgn): Declare it. + (octave_base_diag::chk_valid_scalar): New method decl. + + * ov-re-diag.cc (octave_diag_matrix::chk_valid_scalar): New method + override. + * ov-re-diag.h: Declare it. + * ov-flt-re-diag.cc (octave_float_diag_matrix::chk_valid_scalar): New + method override. + * ov-flt-re-diag.h: Declare it. + * ov-cx-diag.cc (octave_complex_diag_matrix::chk_valid_scalar): New + method override. + * ov-cx-diag.h: Declare it. + * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::chk_valid_scalar): + New method override. + * ov-flt-cx-diag.h: Declare it. + +2008-12-10 Jaroslav Hajek + + * DLD-FUNCTIONS/expm.cc: Remove. + * Makefile.in: Update. + +2008-12-10 Jaroslav Hajek + + * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::empty_clone): Construct an + empty matrix instead of zero. + +2008-12-07 Thorsten Meyer + + * mappers.cc (Ftolower): Make lower alias of tolower, add tests + * mappers.cc (Ftoupper): Make upper alias of toupper, add tests + +2008-12-09 Jaroslav Hajek + + * DLD-FUNCTIONS/balance.cc (Fbalance): Exploit the new AEPBAL functionality. + +2008-12-08 Jaroslav Hajek + + * xpow.cc ( xpow (const DiagMatrix& a, double b), + xpow (const DiagMatrix& a, const Complex& b), + xpow (const ComplexDiagMatrix& a, double b), + xpow (const ComplexDiagMatrix& a, const Complex& b), + xpow (const FloatDiagMatrix& a, float b), + xpow (const FloatDiagMatrix& a, const FloatComplex& b), + xpow (const FloatComplexDiagMatrix& a, float b), + xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b)): + New methods. + * xpow.h: Declare them. + * OPERATORS/op-dms-template.cc: Support diagonal matrix ^ scalar. + +2008-12-08 Jaroslav Hajek + + * ov-re-diag.cc (octave_diag_matrix::save_binary, + octave_diag_matrix::load_binary): New methods. + * ov-re-diag.h: Declare them. + * ov-flt-re-diag.cc (octave_float_diag_matrix::save_binary, + octave_float_diag_matrix::load_binary): New methods. + * ov-flt-re-diag.h: Declare them. + * ov-cx-diag.cc (octave_complex_diag_matrix::save_binary, + octave_complex_diag_matrix::load_binary): New methods. + * ov-cx-diag.h: Declare them. + * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary, + octave_float_complex_diag_matrix::load_binary): New methods. + * ov-flt-cx-diag.h: Declare them. + * ov-perm.cc (octave_perm_matrix::save_binary, + octave_perm_matrix::load_binary): New methods. + * ov-perm.h: Declare them. + +2008-12-06 Jaroslav Hajek + + * ov-fcn-handle.cc (octave_fcn_handle::load_binary): Call istream::get + rather than istream::read to supply null terminating character. + +2008-10-29 Jaroslav Hajek + * file-io.cc, gl-render.cc, load-save.cc, ls-hdf5.cc, ls-mat4.cc, + ls-mat5.cc, ls-oct-binary.cc, mex.cc, oct.h, ov-base-int.cc, + ov-bool-mat.cc, ov-bool-sparse.cc, ov-cell.cc, ov-class.cc, + ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, + ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-re-mat.cc, ov-re-sparse.cc, + ov-str-mat.cc, ov-struct.cc, toplev.cc, + DLD-FUNCTIONS/__lin_interpn__.cc, DLD-FUNCTIONS/amd.cc, + DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/gcd.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/symrcm.cc: + Include oct-locbuf.h. + +2008-12-05 Jaroslav Hajek + + * ov-base-diag.cc (save_ascii, load_ascii): Save natively. + * ov-base-diag.h (load_ascii): Declare. + * ov-perm.cc (save_ascii, load_ascii): Save natively. + * ov-perm.h (load_ascii): Declare. + +2008-12-04 Thorsten Meyer + + * strfns.cc (Fchar): Add test from str2mat.m + +2008-12-04 Jaroslav Hajek + + * ov.h (octave_value::is_perm_matrix): New method. + * ov-base.h (octave_base_value::is_perm_matrix): New method. + * ov-perm.h (octave_perm_matrix::is_perm_matrix): New method. + * DLD-FUNCTIONS/inv.cc (Finv): Handle permutation matrices specially, + compute rcond for diagonal matrices. + * DLD-FUNCTIONS/det.cc (Fdet): Handle permutation & diagonal matrices + specially. + +2008-12-03 Jaroslav Hajek + + * ov-perm.h: New source. + * ov-perm.cc: New source. + * ov-flt-perm.h: New source. + * ov-flt-perm.cc: New source. + * ov-base-diag.cc (octave_base_diag::do_index_op): + If subscripting an identity matrix by permutation(s), return a + permutation matrix object. + * ov.cc (octave_value::octave_value (const PermMatrix&)): New + constructor. + * ov.cc (octave_value::octave_value (const PermMatrix&)): Declare it. + * op-cm-pm.cc: New source. + * op-fcm-fpm.cc: New source. + * op-fm-fpm.cc: New source. + * op-fpm-fcm.cc: New source. + * op-fpm-fm.cc: New source. + * op-fpm-fpm.cc: New source. + * op-m-pm.cc: New source. + * op-pm-cm.cc: New source. + * op-pm-m.cc: New source. + * op-pm-pm.cc: New source. + * op-pm-template.cc: New source. + * Makefile.in: Include new sources. + * DLD-FUNCTIONS/qr.cc (Fqr): Reflect interface changes of QR classes. + +2008-12-03 John W. Eaton + + * debug.cc (bp_table::do_get_breakpoint_list): Style fixes. + +2008-12-01 Jaroslav Hajek + + * ov-base.h (octave_base_value::is_diag_matrix): New virtual method. + * ops.h (CONCAT2, CONCAT3): New macros. Use CONCAT macros instead of + direct token pasting to avoid disabling argument prescan. + * xdiv.cc, xdiv.h: Implement xdiv and xleftdiv overloads for diagonal + and mixed dense-diagonal operands. + + * ov-re-diag.h: New source. + * ov-re-diag.cc: New source. + * ov-flt-re-diag.h: New source. + * ov-flt-re-diag.cc: New source. + * ov-base-diag.h: New source. + * ov-base-diag.cc: New source. + * OPERATORS/op-m-dm.cc: New source. + * OPERATORS/op-m-cdm.cc: New source. + * OPERATORS/op-fm-fdm.cc: New source. + * OPERATORS/op-fm-fcdm.cc: New source. + * OPERATORS/op-fdm-fs.cc: New source. + * OPERATORS/op-fdm-fm.cc: New source. + * OPERATORS/op-fdm-fdm.cc: New source. + * OPERATORS/op-fdm-fcs.cc: New source. + * OPERATORS/op-fdm-fcm.cc: New source. + * OPERATORS/op-fdm-fcdm.cc: New source. + * OPERATORS/op-fcm-fdm.cc: New source. + * OPERATORS/op-fcm-fcdm.cc: New source. + * OPERATORS/op-fcdm-fs.cc: New source. + * OPERATORS/op-fcdm-fm.cc: New source. + * OPERATORS/op-fcdm-fdm.cc: New source. + * OPERATORS/op-fcdm-fcs.cc: New source. + * OPERATORS/op-fcdm-fcm.cc: New source. + * OPERATORS/op-fcdm-fcdm.cc: New source. + * OPERATORS/op-dms-template.cc: New source. + * OPERATORS/op-dm-template.cc: New source. + * OPERATORS/op-dm-s.cc: New source. + * OPERATORS/op-dm-m.cc: New source. + * OPERATORS/op-dm-dm.cc: New source. + * OPERATORS/op-dm-cs.cc: New source. + * OPERATORS/op-dm-cm.cc: New source. + * OPERATORS/op-dm-cdm.cc: New source. + * OPERATORS/op-cm-dm.cc: New source. + * OPERATORS/op-cm-cdm.cc: New source. + * OPERATORS/op-cdm-s.cc: New source. + * OPERATORS/op-cdm-m.cc: New source. + * OPERATORS/op-cdm-dm.cc: New source. + * OPERATORS/op-cdm-cs.cc: New source. + * OPERATORS/op-cdm-cm.cc: New source. + * OPERATORS/op-cdm-cdm.cc: New source. + * Makefile.in: Include them. + + * ov-re-mat.cc (octave_matrix::diag): New method override. + * ov-re-mat.h: Declare it. + * ov-cx-mat.cc: Likewise with octave_complex_matrix. + * ov-cx-mat.h: Likewise with octave_complex_matrix. + * ov-flt-re-mat.cc: Likewise with octave_float_matrix. + * ov-flt-re-mat.h: Likewise with octave_float_matrix. + * ov-flt-cx-mat.cc: Likewise with octave_float_complex_matrix. + * ov-flt-cx-mat.h: Likewise with octave_float_complex_matrix. + * ov.cc (octave_value::octave_value (const DiagMatrix&)) + (octave_value::octave_value (const FloatDiagMatrix&)) + (octave_value::octave_value (const ComplexDiagMatrix&)) + (octave_value::octave_value (const FloatComplexDiagMatrix&)): + Construct a diagonal matrix object. + * data.cc (Fdiag): Support explicit dimensions. Fix tests. + (Feye): Return diagonal matrix objects if possible. Fix tests. + * mappers.cc (Freal, Fimag): Fix tests. + * DLD-FUNCTIONS/inv.cc (Finv): Handle diagonal matrix objects. + * ov-range.h (octave_range::diag): Declare only. + * ov-range.cc (octave_range::diag): Return DiagMatrix if possible. + +2008-11-25 Jaroslav Hajek + * ov.cc (octave_value::is_equal): New member function. + * ov.h: Declare it. + * pt-select.cc (tree_switch_case::label_matches): Call + octave_value::is_equal. + +2008-12-04 Thomas Treichl + + * DLD-FUNCTIONS/cellfun.cc: Added more tests for cellfun. + +2008-11-25 Jaroslav Hajek + + * ov-base.h (octave_base_value::type_conv_info): New class. + * ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, + ov-bool-sparse.h, ov-bool.cc, ov-bool.h, ov-complex.cc, ov-complex.h, + ov-cx-mat.cc, ov-cx-mat.h, ov-null-mat.cc, ov-null-mat.h, + ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, + ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov.h: + Return type_conv_info instead of type_conv_fcn from + numeric_conversion_function and numeric_demotion_function + methods. + * ov-base.cc (octave_base_value::numeric_assign): Try biased conversion + first if possible. + * ov.cc (do_binary_op): Likewise. Also, search recursively. + * ov.cc (do_cat_op): Likewise. + +2008-11-24 David Bateman + + * graphics.cc (F__go_delete__): Check validity of handles before + deleting them to avoid issues with callback function also deleting + the handles. + +2008-11-21 John Swensen + + * debug.cc (bp_table::do_get_breakpoint_list): Avoid modifying + bp_map while iterating over it. + +2008-11-21 Jarkko Kaleva + + * DLD-FUNCTIONS/eig.cc (Feig): Handle generalized eigenvalues and + eigenvectors. + +2008-11-19 Jaroslav Hajek + + * DLD_FUNCTIONS/det.cc: Include only DET.h. Retrieve & matrix type & + store it after calculation if possible. + +2008-11-17 John W. Eaton + + * load-path.cc (load_path::dir_info::update): Simplify previous + change. + + * load-path.h (load_path::dir_info::abs_dir_name): New data member. + (load_path::dir_info::dir_info, load_path::dir_info::operator =): + Copy abs_dir_name. + (load_path::abs_dir_cache_type, load_path::dir_cache_iterator, + load_path::const_dir_cache_iterator): New typedefs. + (load_path::abs_dir_cache): New static data member. + (load_path::dir_info:dir_info): New constructor. + * load-path.cc (load_path::abs_dir_cache): Define new static data + member. + (load_path::dir_info::update): Look in abs_dir_cache for relative + directory names. + (load_path::dir_info::initialize): Update abs_dir_cache here. + +2008-11-13 John W. Eaton + + * ov-int8.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-uint8.h, + ov-uint16.h, ov-uint32.h, ov-uint64.h: Don't define + OCTAVE_INT_NDARRAY_T. + * ov-intx.h (class OCTAVE_VALUE_INT_MATRIX_T, + class OCTAVE_VALUE_INT_SCALAR_T): Use intNDArray + instead of OCTAVE_INT_NDARRAY_T. + (OCTAVE_VALUE_INT_MATRIX_T::increment, + OCTAVE_VALUE_INT_MATRIX_T::decrement, + OCTAVE_VALUE_INT_SCALAR_T::increment, + OCTAVE_VALUE_INT_SCALAR_T::decrement): Convert 1 to OCTAVE_INT_T. + +2008-11-15 Thorsten Meyer + + * strfns.cc (Fchar): adapt to conserve empty strings, add tests + +2008-11-12 Michael Goffioul + + * dirfcn.cc (Ffilesep): Make it return all file separators when 'all' + is given as argument. + + * DLD-FUNCTIONS/getrusage.cc: Undefine min/max. + * TEMPLATE-INST/Array-os.cc: Declare Array as extern template. + +2008-11-12 David Bateman + + * OPERATORS/op-cell.cc (op_catop_matrix_cell): Cast args in the correct + order. + * OPERATORS/op-struct.cc (op_catop_matrix_struct): Ditto. + +2008-11-11 Jaroslav Hajek + + * pt-assign.cc: Fix handling of empty cs-lists in assignment LHS. + +2008-11-11 John W. Eaton + + * lex.l ({S}+): Don't insert separator if next token + is a separator. + + * parse.y (F__parser_debug_flag__): New function. + +2008-10-31 Jaroslav Hajek + + * xnorm.cc: New source. + * xnorm.h: New header file. + * Makefile.in: Include xnorm.cc in the build process. + * data.cc (Fnorm): Call xnorm, xcolnorms, xrownorms or xfrobnorm + to do the actual work. + +2008-10-31 David Bateman + + * ov-base-scalar.h (octave_value octave_base_scalar::reshape + (const dim_vector&) const): New method. + +2008-10-30 John W. Eaton + + * oct-map.cc (Octave_map::index): Copy key_list. + +2008-10-31 David Bateman + + * graphics.h.in (void image::init (void)): Add a constraint for + logical cdata. + + * graphics.h.in (base_property::delete_listener): New method. + (property::delete_listener): New method. + (base_graphics_object::delete_listener): New method. + (base_graphics_object::delete_property_listener): New method. + (base_graphics_object::remove_all_listeners): New method. + (graphics_object::delete_property_listener): New method. + (axes::set_defaults): Call remove_all_listeners. + * graphics.cc (void base_properties::delete_listener): New method + (void base_graphics_object::remove_all_listeners (void)): New method + (Fdellistener): New command to remove listener functions associated + with a property. + +2008-10-30 David Bateman + + * graphics.h.in (axes::properties): Add keyreverse property. + * graphics.cc (axes::properties::set_defaults): Initialize + keyreverse property. + +2008-10-28 Jaroslav Hajek + + * Cell.h (Cell::assign (const Array&, ...), + Cell::delete_elements (const Array&, ...)): + New member functions. + * Cell.cc (Cell::assign (const octave_value_list&, ...), + Cell::delete_elements (const octave_value_list&, ...)): + Call Array::assign. + * DLD-FUNCTIONS/dlmread.cc: Call Array::resize_fill. + * ov-base-mat.cc (octave_base_matrix::assign): Call Array::assign. + (octave_base_matrix::delete_elements):: Call Array::delete_elements. + * ov-cell.cc (Fcell): Call Array::chop_trailing_singletons, + simplify. + * ov-cx-mat.cc (octave_complex_matrix::assign): Call Array::assign. + * ov-flt-cx-mat.cc (octave_float_complex_matrix::assign): Call + Array::assign. + * ov-list.cc (octave_list::subsasgn): Call Array::assign. + * pr-output.cc (PRINT_ND_ARRAY): Use zero-based indices. + +2008-10-29 Thorsten Meyer + + * data.cc (Fcolumns): Remove "and" from @seealso string. + * mappers.cc (Fgamma, Flgamma): Replace @seealso reference to + deprecated gammai by gammainc. + * DLD-FUNCTIONS/sqrtm.cc (Fsqrtm): Remove reference to Octave + Forge function funm. + * DLD-FUNCTIONS/qz.cc (Fqz): removed @seealso reference to Octave + Forge function dare. + * DLD-FUNCTIONS/rcond.cc (Frcond): removed @seealso reference to + mldivide. + * debug.cc (Fdbstop): Fix @seealso references and function name in + docstring of dbnext. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Remove @seealso reference + to isclass. + * syscalls.cc (Fwaitpid): Replace WCONTINUED by WCONTINUE. + * oct-hist.cc (Fhistory_size, Fsaving_history): Fix @seealso + references to history_timestamp_format_string. + * DLD-FUNCTIONS/luinc.cc (Fluinc): Remove reference to missing + function cholinc. + +2008-10-29 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc (Fcholinsert, Fcholdelete, Fcholshift): Fix + inline docs. + +2008-10-28 John W. Eaton + + * parse.y (finish_function): Clear local variables in function scope. + * symtab.h (symbol_table::clear_variables): New argument, scope. + +2008-10-28 Brian Gough + + * DLD-FUNCTIONS/besselj.cc: Added tests. + +2008-10-23 John W. Eaton + + * oct-hist.c (initialize_history): New arg, read_history_file) + * oct-hist.h: Fix decl. + * octave.cc (octave_main): Set read_history_file to false if + --no-history option is specified. Pass read_history_file to + initialize_history. + + * DLD-FUNCTIONS/fltk_backend.cc: Update initialization comment. + +2008-10-22 John W. Eaton + + * DLD-FUNCTIONS/fltk_backend.cc (figure_manager::do_close_all): + Rename from close_all. Now private. + (figure_manager::do_new_window): Rename from new_window. + Now private. + (figure_manager::do_delete_window): Rename from delete_window. + Now private. + (figure_manager::do_mark_modified): Rename from mark_modified. + Now private. + (figure_manager::do_get_size): Rename from get_size. Now private. + (figure_manager::close_all, figure_manager::do_new_window, + figure_manager::do_delete_window, + figure_manager::do_mark_modified, figure_manager::do_get_size): + New static functions. + (figure_manager::instance_ok): New function. + (figure_manager::Instance): Delete. Eliminate all uses in favor + of static methods that call instance_ok and forward to private + member functions. + (figure_manager::instance): New static data member. + (figure_manager::hnd2idx, figure_manager::figprops2idx, + figure_manager::figprops2idx, figure_manager::str2idx): Now static. + + * DLD-FUNCTIONS/fltk_backend.cc (figure_manager::default_size): + Increase default window size. + + * graphics.cc (figure::properties::remove_child): New function. + * graphics.h.in: Provide decl. + + * gl-render.cc (opengl_renderer::draw): Get all children. + + * DLD-FUNCTIONS/fltk_backend.cc (__fltk_redraw__): + Check for "root" object, not "root_figure". + + * graphics.h.in (base_properties::get_all_children): New function. + +2008-10-22 David Bateman + + * graphics.h.in (line::properties, surface::properties): Add data + source properties. + +2008-10-21 John W. Eaton + + * graphics.h.in (axes::properties::delete_children): Delete decl. + + * graphics.h.in (gh_manager::is_handle_visible): New function. + (axes::properites): Move title property after label properties. + (graphics_object::is_handle_visible): New function. + (base_properties::is_handle_visible): New function. + (base_properties): Mark children property with G. + * graphics.cc (axes::properties::set_text_child): New function. + (axes::properties::set_title, axes::properties::set_xlabel, + axes::properties::set_ylabel, axes::properties::set_zlabel): Use it. + (base_property::get_children): New function. Only + return handles that are visible. + (axes::properties::delete_text_child): Set handlevisibility to + "off" for newly created object and add it to the list of children. + Call base_properties::remove_child on previous handle value. + (axes::properties::set_defaults): Don't explicitly delete xlabel, + ylabel, zlabel, and title handles. Reinitialize them after + deleting children. + (axes::properties::remove_child): Don't explicitly delete xlabel, + ylabel, zlabel, and title handles. + (axes::properties::init): Move here from graphics.h.in. Set + handlevisibility to "off" for xlabel, ylabel, zlabel, and title + and add them to the list of children. + (axes::properties::delete_children): Delete. + + * genprops.awk: Allow whitespace between BEGIN_PROPERTIES and + opening paren. Accept optional second argument for graphics + object name. + * graphics.h.in (root_figure properties): Pass "root" as second + arg to BEGIN_PROPERTIES. + +2008-10-16 John W. Eaton + + * graphics.cc (make_handle_fraction): New static function. + (gh_manager::get_handle): Use it. + (gh_manager::do_free): Call make_handle_fraction to replace + fractional part of non-figure handles. + + * graphics.cc (base_properties::remove_child): Handle children as + a column vector instead of a row vector. + + * utils.cc (Fis_absolute_filename, Fis_rooted_relative_filename, + Fmake_absolute_filename, Ffind_dir_in_path): New functions. + +2008-10-16 David Bateman + + * graphics.cc (void axes::properties::set_defaults + (base_graphics_object&, const std::string&)): Preserve font + and position properties if the axis is "replaced". + +2008-10-16 John W. Eaton + + * graphics.h.in (class axes::properties): New property: interpreter. + +2008-10-15 David Bateman + + * ov-class.c (Fsuperiorto, Finferiorto): Allow more than one class + to be defined at a time. + +2008-10-12 David Bateman + + * pt-colon.cc (octave_value tree_colon_expression::make_range + (const octave_value&, const octave_value&, const octave_value&)): + Treating class overloading of colon operator. + (octave_value tree_colon_expression::rvalue (void)): Ditto. + +2008-10-10 John W. Eaton + + * graphics.h.in (base_properties::adopt): Place new child at front + of list, not end. Make list of children a column vector instead + of a row vector. + + * graphics.cc (gh_manager::do_free): Set the beingdeleted + property, then delete the children, then execute the deletefcn. + (axes::properties::set_defaults, axes::properties::remove_child, + axes::properites::delete_children): Call delete_text_child to + manage the title, xlabel, ylabel, and zlabel properties. + (axes::properties::get_title, axes::properties::get_xlabel, + axes::properties::get_ylabel, axes::properties::get_zlabel): Delete. + + * graphics.h.in (axes::properites::title, + axes::properites::xlabel, axes::properites::ylabel, + axes::properites::zlabel): No longer mutable. Don't generate + factory default values or custom get functions for these + properties. + + * graphics.cc (axes::properties::delete_text_child): New function. + * graphics.h.in: Provide decl. + + * graphics.h.in (graphics_object::type): New function. + +2008-10-10 David Bateman + + * graphics.h.in (radio_property axes::properties::__colorbar__): + Delete. + * graphics.cc (void axes::properties::sync_positions (void)): + Disable code synchronizing outerposiiton and position. + (void axes::properties::set_defaults (base_graphics_object&, + const std::string&): Remove __colorbar__. + (F__go_delete__): Don't delete if already being deleting to avoid + recursion in callback functions. + (F__go_axes_init__): Flag error if handle is deleted during + initialization due. + +2008-10-09 David Bateman + + * ov-class.cc (Octave_map octave_class::map_value (void) const): + Remove. + (bool octave_class::save_ascii (std::ostream&), + bool octave_class::load_ascii (std::istream&), + bool octave_class::save_binary (std::ostream&, bool&), + bool octave_class::save_binary (std::ostream&, bool&), + bool octave_class::save_hdf5 (hid_t, const char *, bool), + bool octave_class::load_hdf5 (hid_t, const char *, bool)): + Allow saving and reloading of classes. + * ov-class. (Octave_map octave_class::map_value (void) const): + Remove. + * ls-mat.cc (std::string read_mat5_binary_element (std::istream&, + const std::string&, bool, bool&, octave_value&), + int save_mat5_element_length (const octave_value&, const std::string&, + bool, bool)): Allow saving and loading of classes. + * ls-oct-ascii.h (template bool extract_keyword + (std::istream&, const char *, T&, const bool)): Initialize value with + null constructor rather than 0. + +2008-10-07 David Bateman + + * graphics.cc (F__go_delete__): Allow arrays of graphic handles. + +2008-10-01 Jaroslav Hajek + + * OPERATORS/op-i64-i64.cc: Instantiate all 64-bit operations. + * OPERATORS/op-ui64-ui64.cc: Instantiate all unsigned 64-bit operations. + +2008-10-06 John W. Eaton + + * ov-type-conv.h (octave_type_conv_body): Avoid shadow warning + from GCC. + +2008-10-06 David Bateman + + * graphics.cc (static bool is_handle (const octave_value&)): Delete. + (static octave_value is_handle (const octave_value&)): New function. + +2008-10-03 Jaroslav Hajek + + * Cell.cc (Cell::delete_elements): Don't pass second arg to + Array::maybe_delete_elements. + * ov-base-mat.cc (octave_base_matrix::delete_elements): Ditto. + +2008-10-02 Jaroslav Hajek + + * Cell.h (Cell::delete_elements): Declare new member function. + * Cell.h (Cell::delete_elements): Define it. + * oct-map.cc (Octave_map::maybe_delete_elements): Call delete_elements + instead of assign with empty Cell. + +2008-10-02 John W. Eaton + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + Don't insert undefined elements in return list. + +2008-09-30 Jaroslav Hajek + + * ov-str-mat.h (octave-char-matrix-str::assign): Remove declaration. + * ov-str-mat.cc (octave-char-matrix-str::assign): Remove definition. + +2008-09-30 John W. Eaton + + * DLD-FUNCTIONS/__magick_read__.cc: Only define + magick_to_octave_value if HAVE_MAGICK is defined. + +2008-09-29 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::load_class_method): + Call load_class_constructor if name and dispatch_type are the same. + +2008-09-29 David Bateman + + * symtab.cc (octave_value symbol_table::find_function + (const std::string&, tree_argument_list *, const string_vector&, + octave_value_list&, bool&)): If first character of function name + is "@" then look for class specific method. + +2008-09-26 John W. Eaton + + * symtab.cc (out_of_date_check_internal): + Fix order of arguments in call to load_path::find_method. + +2008-09-26 David Bateman + + * ov-class.h (idx_vector index_vector (void) const): Declare new + maethod. + * ov-class.cc (idx_vector index_vector (void) const): Define new + method. + * (Fismethod): New function. + +2008-09-26 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (urlwrite_cleanup_file) New function. + (urlwrite_delete_file, urlwrite_filename): New static variables. + (Furlwrite): Only return filename if urlget succeeds. Use + unwind_protect to delete files we create if download fails. + +2008-09-26 Jaroslav Hajek + + * ov-null-mat.h: New header file. + * ov-null-mat.cc: New source. + * ov.h (octave_value::is_null_value, octave_value::non_null_value, + octave_value::make_non_null_value): + Declare new member functions. + * ov.cc (octave_value:non_null_value, octave_value::make_non_null_value): + Define them. + (octave_value::assign (assign_op op, const octave_value& rhs)): + (register_types): Register null types. + Call non_null_value (). + * oct-obj.cc (octave_value_list::normalize_null_values): New member + function. + * oct-obj.h (octave_value_list::normalize_null_values): Declare it. + * ov-base.h (is_null_value): New virtual member function. + * ops.h (NULLASSIGNOPDECL, DEFNULLASSIGNOP_FN): New macros. + * ov-base-mat.cc (octave_base_mat::delete_elements): New member func. + * ov-base-mat.h: Declare it. + * ov-base-sparse.cc (octave_base_sparse::delete_elements): New member func. + * ov-base-sparse.h: Declare it. + * ov-cell.cc (octave_cell:subsasgn): Handle null values. + * ov-struct.cc (octave_cell:subsasgn): Handle null values. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Normalize return + values. + * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Call + octave_lvalue::define instead of octave_lvalue::assign. + * pt-decl.h (tree_decl_elt::rvalue): Call non_null_value (). + * OPERATORS/op-int.h (OCTAVE_INT_NULL_ASSIGN_OPS, + OCTAVE_INSTALL_INT_NULL_ASSIGN_OPS): New macros. + * OPERATORS/op-m-m.cc: Install & define assignment & conversion operators. + * OPERATORS/op-bm-bm.cc: Ditto. + * OPERATORS/op-cell.cc: Ditto. + * OPERATORS/op-cm-cm.cc: Ditto. + * OPERATORS/op-cs-cs.cc: Ditto. + * OPERATORS/op-fcm-fcm.cc: Ditto. + * OPERATORS/op-fcs-fcs.cc: Ditto. + * OPERATORS/op-fm-fm.cc: Ditto. + * OPERATORS/op-fs-fs.cc: Ditto. + * OPERATORS/op-int.h: Ditto. + * OPERATORS/op-m-m.cc: Ditto. + * OPERATORS/op-range.cc: Ditto. + * OPERATORS/op-s-s.cc: Ditto. + * OPERATORS/op-scm-scm.cc: Ditto. + * OPERATORS/op-sm-sm.cc: Ditto. + * OPERATORS/op-str-str.cc: Ditto. + * OPERATORS/op-i16-i16.cc: Ditto. + * OPERATORS/op-i32-i32.cc: Ditto. + * OPERATORS/op-i64-i64.cc: Ditto. + * OPERATORS/op-i8-i8.cc: Ditto. + * OPERATORS/op-ui16-ui16.cc: Ditto. + * OPERATORS/op-ui32-ui32.cc: Ditto. + * OPERATORS/op-ui64-ui64.cc: Ditto. + * OPERATORS/op-ui8-ui8.cc: Ditto. + +2008-09-25 David Bateman + + * pt-mat.cc (class tm_row_const): Add any_class test + (class tm_const): Ditto. + (octave_value tree_matrix::rvalue (void)): If any object to + concatenate is a class object, dispatch to the appropriate + vertcat/horzcat function. + +2008-09-25 John W. Eaton + + * symtab.cc (symbol_table::do_find): Don't set evaluated_args and + args_evaluated here, prior to call to symbol_table::fcn_info::find. + +2008-09-24 S�ren Hauberg + + * DLD-FUNCTIONS/__magick_read__.cc (magick_to_octave_value): New + template function with specializations for various + GraphicsMagick++ types. + (F__magick_finfo__): New function. + +2008-09-24 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Add symbol_table::clear_variables cleanup function to the + unwind_protect stack after the parameter list cleanup functions. + + * load-path.cc (load_path::do_initialize): Check for OCTAVE_PATH + in the environment, not OCTAVE_LOADPATH. + +2008-09-24 Thomas Weber + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Retry if match limit + is exceeded. + +2008-09-24 John W. Eaton + + * genprops.awk (emit_declarations): Emit call to set_mode before + updaters. + +2008-09-23 John W. Eaton + + * pt-arg-list.cc (F__end__): Dispatch to user-defined end + function for classes if one is defined. + * lex.l (is_keyword_token): Allow "end" as a functon name. + +2008-09-23 David Bateman + + * variables.cc (static octave_value do_who (int, const string_vector&, + bool, bool, std::string): Add final message argument and simple + treatment of the "-file" option. + +2008-09-22 David Bateman + + * debug.cc (static octave_user_code * get_user_code + (const std::string&)): Only check user code as break points can't + be set in builtins or oct-files. + (bp_table::intmap bp_table::do_remove_all_breakpoints_in_file + (const std::string&, bool)): Add flag to silence the error message + from this function if a user code with breakpoints is not found. + (bp_table::fname_line_map bp_table::do_get_breakpoint_list (const + octave_value_list&)): Do an ourt of date check on the function + before checking the breakpoints. + * debug.h (do_remove_all_breakpoints_in_file, + remove_all_breakpoints_in_file): Add flag to silence error + message. + * symtab.cc (out_of_date_check_internal): Clear breakpoints in + function if out_of_date. split into two versions taking the + octave_function pointer seperately or not. + * symtab.h (bool out_of_date_check (octave_function*)): New function. + +2008-09-18 David Bateman + + * DLD-FUNCTIONS/fftw.cc (Ffftw): Clarify the documentation. + +2008-09-17 Krzesimir Nowak + + * debug.cc (Fisdebugmode): New function. + +2008-09-17 David Bateman + + * data.cc (do_cat): Chopping trailing singleton dimensions. + + * data.cc (SINGLE_TYPE_CONCAT, DO_SINGLE_TYPE_CONCAT): New macros + (do_cat): Special case single type concatenations for speed. + * pt.mat.cc (std::string get_concat_class (const std::string&, + const std::string&), void maybe_warn_string_concat (bool, bool)): + Remove static declaration. + * pt-mat.h (std::string get_concat_class (const std::string&, + const std::string&), void maybe_warn_string_concat (bool, bool)): + Define extern here. + + * DLD-FUNCTIONS/sparse.cc (Fsparse): Clarify the help string. + +2008-09-10 John W. Eaton + + * octave.cc (octave_main): Make all command-line arguments + available to startup scripts and PKG_ADD files. + +2008-09-09 David Bateman + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Distinguish between + matlab named tokens and perl lookbehind expressions. For + lookbehind expression replace "*" and "+" with a limited number of + fixed length expressions to simulate arbitrary length look behind. + +2008-09-08 Michael Goffioul + + * DLD-FUNCTIONS/__magick_read__.cc (encode_uint_image): Resolve "pow" + ambiguity. + + * graphics.cc (base_properties::get_dynamic, + base_properties::set_dynamic, base_propertyes::get_property_dynamic): + Add the 3rd template parameter to std::map, corresponding to all_props + field. + +2008-09-08 John W. Eaton + + * ls-oct-ascii.cc (std::string extract_keyword (std::istream&, + const char *, const bool)): Also accept \r as line ending character. + * ls-oct-ascii.h (template bool extract_keyword + (std::istream&, const char *, T&, const bool)): Likewise. + (template bool extract_keyword (std::istream&, const + string_vector&, std::string&, T&, const bool)): Likewise. + +2008-09-03 Ben Abbott + + * mappers.cc: Use eps(single) as tolerance for single precesion test. + +2008-09-03 John W. Eaton + + * variables.cc (mlock): Lock current function on the call stack. + (Fmlock): Lock caller. + + * symtab.cc (out_of_date_check_internal): If dispatch type is set, + check for method. If that fails, check for regular function. + +2008-09-02 Michael Goffioul + + * graphics.cc (hggroup::update_axis_limits): Also reacts on + [xyzac]liminclude changes. + +2008-08-31 Michael Goffioul + + * DLD-FUNCTIONS/fltk_backend.cc (fltk_backend::redraw_figure, + fltk_backend::print_figure): Change graphics_handle argument to + graphics_object. + +2008-08-29 David Bateman + + * graphics.cc: Replace int by octave_idx_type in multiple + places. + (array_property::is_equal): In macro CHECK_ARRAY_EQUAL, special + case scalar case and keep copy of array value to avoid early + destruction of converted array values. + +2008-08-28 David Bateman + + * graphics.h.in (root_figure::properties::showhiddenhandles): + New property. + +2008-08-27 Jaroslav Hajek + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Initialize output vectors + by NA value. + +2008-08-26 Ben Abbott + + * mappers.cc: Adjust tolerance for single precesion tests. + + * DLD-FUNCTIONS/chol.cc: Double tolerance. + +2008-08-26 Jaroslav Hajek + + * parse.y (Fassignin): Use default scope when calling varref. + +2008-08-26 Michael Goffioul + + * genprops.awk (emit_declarations): Call updaters/listeners only when + 'set' method returned true. + * graphics.h.in (base_property::set, base_property::do_set): + Return bool value. + (property::set): Likewise. + (string_property::do_set): Check value change and return bool value. + (radio_property::do_set, double_property::do_set, + array_property::do_set): Likewise. + (color_property::do_set, double_radio_property::do_set, + row_vector_property::do_set, bool_property::do_set, + handle_property::do_set): Return bool value. + (any_property::do_set, callback_property::do_set): Return always true. + (color_values::operator==, color_values::operator!=): Add. + (array_property::is_equal): Add. + * graphics.cc (base_property::set): Executes listeners/notifiers only + when do_set returns true. Return bool value. + (color_property::do_set, double_radio_property::do_set): Check value + change and return bool value. + (array_property::is_equal): Add. + + * genprops.awk (emit_declarations, emit_source): Change code emission + when emitting base_properties code (base is 1). + (BEGIN): Initialize pcount to 0. + (BEGIN_PROPERTIES): Initialize base to 0. + (BEGIN_BASE_PROPERTIES): New statement. + (main): Add support for 'f' modifier. Add support for non xxx_property + typed properties. + * graphics.h.in (base_properties::base_properties): Remove + implementation. + (base_properties::get_tag, base_properties::get_parent, + base_properties::get_type, base_properties::get___myhandle__, + base_properties::get_busyaction, base_properties::get_buttondownfcn, + base_properties::is_clipping, base_properties::get_clipping, + base_properties::execute_createfcn, base_properties::get_createfcn, + base_properties::execute_deletefcn, base_properties::get_deletefcn, + base_properties::get_handlevisibility, base_properties::is_hittest, + base_properties::get_hittest, base_properties::is_interruptible, + base_properties::get_interruptible, base_properties::is_selected, + base_properties::get_selected, base_properties::is_selectionhighlight, + base_properties::get_selectionhighlight, + base_properties::get_uicontextmenu, base_properties::get_userdata, + base_properties::is_visible, base_properties::get_visible, + base_properties::is_beingdeleted, base_properties::get_beingdeleted, + base_properties::set_busyaction, base_properties::set_buttondownfcn, + base_properties::set_clipping, base_properties::set_createfcn, + base_properties::set_deletefcn, base_properties::set_handlevisibility, + base_properties::set_hittest, base_properties::set_interruptible, + base_properties::set_selected, + base_properties::set_selectionhighlight, + base_properties::set_uicontextmenu, base_properties::set_userdata, + base_properties::set_visible, base_properties::set_beingdeleted, + base_properties::get_children): Remove (now auto-generated). + (base_properties::enum): Likewise. + (base_properties::is_modified): Call is___modified__. + (base_properties::set_modified): Call set___modified__. + (base_properties::set_children): Add. + (base_properties::set_dynamic, base_properties::get_dynamic, + base_properties::get_property_dynamic): New methods. + (class base_properties): Surround properties declaration with + BEGIN_BASE_PROPERTIES/END_PROPERTIES pair. + * graphics.cc (base_properties::get, base_properties::set, + base_properties::get_property): Remove (now auto-generated). + (base_properties::set_dynamic, base_properties::get_dynamic, + base_properties::get_property_dynamic): New methods. + (base_properties::set_children): Likewise. + + * DLD_FUNCTIONS/fltk_backend.cc (F__fltk_redraw__): Make static. + (F__init_fltk__): Protect from mutliple invocations. + (F__remove_fltk__): Likewise. + (F__init_fltk__): Register input event hook. + (F__remove_fltk__): Unregister input event hook. + + * DLD_FUNCTIONS/fltk_backend.cc (fltk_backend::close_figure): Remove. + (fltk_backend::object_destroyed, fltk_backend::property_changed): New + methods. + * genprops.awk (emit_declarations): Generate "enum" property fields. + (emit_sources): Emit set_id calls. + * graphics.h.in (base_property::id): New field. + (base_property::base_property): Initialize it. + (base_property::get_id, base_property::set_id): Add accessors. + (property::get_id, property::set_id): Likewise. + (base_graphics_backend::close_figure, graphics_backend::close_figure): + Remove methods. + (base_graphics_backend::redraw_figure, + base_graphics_backend::print_figure, graphics_backend::redraw_figure, + graphics_backend::print_figure): Change graphics_handle argument into + graphics_object. + (base_graphics_backend::property_changed, + base_graphics_backend::object_created, + base_graphics_backend::object_destroyed, + graphics_backend::property_changed, graphics_backend::object_created, + graphics_backend::object_destroyed): New signature with + graphics_object argument. + (base_properties::base_properties): Add set_id calls. + (class base_properties): Add "enum" property fields. + (root_figure::properties::remove_child): Add overloaded method. + (figure::properties::close): Remove. + (figure::properties::set_backend): Call object_destroyed instead of + close. + (figure::~figure): Remove close call. + (figure::properties::get_title): New method. + * graphics.cc (base_property::set): Call property_changed only for + valid id (>=0); Use graphics_object argument. + (gh_manager::do_free): Call object_destroyed with graphics_object + argument. + (base_graphics_backend::property_changed, + base_graphics_backend::object_created, + base_graphics_object::object_destroyed): Implement wrappers for + graphics_handle argument case. + (gnuplot_backend::close_figure): Remove. + (gnuplot_backend::object_destroyed, + gnuplot_backend::property_changed): New methods. + (gnuplot_backend::redraw_figure, gnuplot_backend::print_figure): + Change graphics_handle argument to graphics_object. + (root_figure::properties::remove_child): Add. + (figure::properties::close): Remove. + (figure::properties::set_position): Do not call set_figure_position. + (figure::properties::get_title): New method. + (gh_manager::do_make_graphics_handle): Call object_created with + a graphics_object argument. + (gh_manager::do_make_figure_handle): Likewise. + (Fdrawnow): Call redraw_figure and print_figure with a graphics_object + argument. + +2008-08-26 Maciek Gajewski + + * graphics.h.in (base_property::set): Remove inline implementation. + (base_graphics_backend::property_changed, + base_graphics_backend::object_created, + base_graphics_backend::object_destroyed): New method. + (graphics_backend::property_changed, graphics_backend::object_created, + graphics_backend::object_destroyed): Likewise. + * graphics.cc (base_property::set): Moved from header file. + (gh_manager::do_free): Add backend notification. + (gh_manager::do_make_graphics_handle): Likewise. + (gh_manager::do_make_figure_handle): Likewise. + +2008-08-25 Thomas L. Scofield + + * DLD-FUNCTIONS/__magick_read__.cc: Untabify. + (jpg_settings, encode_bool_image, encode_uint_image, encode_map): + New functions. + (write_image): Use them to handle various image types. + +2008-08-25 David Bateman + + * graphics.cc (void gh_manager::do_execute_callback + (const graphics_handle&, const octave_value&, const + octave_value&)): Don't pass the function handle as first arg of + property listener functions + + * graphics.h.in (class base_properties): Add functor for caseless + string comparison. Use it in the property map, so that user added + properties are found in a case insensitive fashion. + +2008-08-22 John W. Eaton + + * symtab.h (symbol_table::inherit): Pass reference to symbol table + to do_inherit instead of scope. + (symbol_table::do_inherit): First arg is now reference to + symbol_table, not scope id. Insert all variables from donor scope. + +2008-08-21 Thomas Treichl + + * mappers.cc: Increase test script tolerance. + +2008-08-20 John W. Eaton + + * help.cc (builtin_help): Go to next symbol name on error. + (do_type, do_which): Omit separate path search for files. + (help_from_symbol_table): Only insert Texinfo markup if it looks + like the help message is already in Texinfo. + +2008-08-19 David Bateman + + * load-path.cc (load-path::do_find_dir (const std:string&) const)): + Method to find a directory on the load-path corresponding to the + argument. + * load-path.h (load-path::do_find_dir (const std:string&) const), + load-path::find_dir (const std::string&) const): New methods. + * utils.cc (std::string contents_file_in_path (const std::string&)): + New function. + * utils.h (std::string contents_file_in_path (const std::string&)): + Declare it. + * help.cc (static bool raw_help_from_file (const std::string&, + std::string&, std::string&, bool&)): Also check is requested + argument is a directory and contains the file Contents.m. + + * OPERATORS/op-int-conv.cc (DEFINTCONVFN): New macro that warn + for integer conversion issues. Use it to replace DEFCONVFN. + * OPERATORS/op-int.h (DEFINTBINOP_OP, DEFINTNDBINOP_OP, + DEFINTBINOP_FN, DEFINTNDBINOP_FN): New macros that warn for + integer truncation issues. Use them to replace the corresponding + macros in the integer arithmetic macros. Update other integer + arithmetic functions that don't use these macros individually. + * error.cc (initialize_default_warning_state (void)): Initialize + the default warning state for the integer warnings to be off. + * gripes.cc (void gripe_binop_integer_math_truncated (const char *, + const char *, const char *), void gripe_unop_integer_math_truncated + (const char *, const char *), void gripe_non_integer_conversion + (const char *, const char *), void gripe_nan_conversion (const char *, + const char *)): Warning functions for integer conversion and math + issues. + * gripes.h (void gripe_binop_integer_math_truncated (const char *, + const char *, const char *), void gripe_unop_integer_math_truncated + (const char *, const char *), void gripe_non_integer_conversion + (const char *, const char *), void gripe_nan_conversion (const char *, + const char *)): Declare them. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::convert_gripe, + OCTAVE_VALUE_INT_SCALAR_T::convert_gripe): Adapt for new means of + flagging integer truncation. + (OCTAVE_VALUE_INT_MATRIX_T::decrement, + OCTAVE_VALUE_INT_MATRIX_T::increment, + OCTAVE_VALUE_INT_SCALAR_T::decrement, + OCTAVE_VALUE_INT_SCALAR_T::increment): Check for integer + truncation. + * ov.cc (convert_to_int_array): Adapt for new means of + flagging integer truncation. + +2008-08-19 Jaroslav Hajek + + * pt-assign.h (tree_simple_assignment::first_execution): New + member field. + (tree_simple_assignment::first_execution): Ditto. + * pt-assign.cc (tree_simple_assignment::tree_simple_assignment): + Initialize first_execution. + (tree_multi_assignment::tree_multi_assignment): Ditto. + (tree_simple_assignment::rvalue): Check for obsolete built-in + variables only at first execution. + (tree_multi_assignment::rvalue): Ditto. + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Checks whether LB and UB are + of proper size. + + * oct-obj.cc, oct-obj.h (octave_value_list::make_argv): + Allow calling without fcn_name. + * load-save.cc (parse_save_options (const string_vector&, ...)): + Return string_vector with parsed arguments removed instead. + (parse_save_options (const std::string&, ...)): Ditto. + (Fsave): Fix calls to parse_save_options. + +2008-08-19 John W. Eaton + + * parse.y (Feval): Return value produced by evaluating CATCH string. + +2008-08-12 John W. Eaton + + * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): + Call stash_parent_function_scope for user function. + * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline): + Likewise. + + * ov-struct.cc (octave_struct::subsref): Don't allow resizing for + simple x(idx) case. + +2008-08-07 John W. Eaton + + * ov.cc (octave_value::idx_type_value): Don't include default + argument values in definition. + + * glrender.h, zfstream.h: Don't include config.h. + + * oct-errno.h: Include . + + * Cell.cc, DLD-FUNCTIONS/regexp.cc, DLD-FUNCTIONS/dlmread.cc, + debug.cc, error.cc, file-io.cc, graphics.cc, help.cc, input.cc, + lex.l, load-path.cc, load-save.cc, ls-mat-ascii.cc, + ls-oct-ascii.cc, oct-stream.cc, octave.cc, variables.cc, + ov-fcn-handle.cc, parse.y, pr-output.cc, symtab.cc, sysdep.cc, + utils.cc, graphics.h.in: Replace all uses of NPOS with + std::string::npos. + + * ov.cc (octave_value::idx_type_value): Move definition here. + * ov.h: From here. + + * DLD-FUNCTIONS/fsolve.cc (override_options): Don't fail if + options_map does not contain an expected keyword. + Fix typo in warning identifier. + (make_unimplemented_options): Use CamelCase names here. + +2008-08-06 S�ren Hauberg + + * error.cc (Ferror): Update format of error messages in exmple. + * parse.y: (Feval): Likewise. + +2008-08-06 John W. Eaton + + * DLD-FUNCTIONS/fsolve.cc (hybrd_info_to_fsolve_info): + Update INFO values to be compatible with Matlab's current fsolve. + (make_unimplemented_options, override_options): New functions. + (Ffsolve): Handle optimset options. Update doc string. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op, + octave_user_script::do_multi_index_op): + Call octave_call_stack::backtrace_error_message. + * toplev.h (octave_call_stack::do_pop): Don't call + backtrace_error_message here. + * toplev.cc, toplev.h (octave_call_stack::do_backtrace_error_message): + Rename from octave_call_stack::backtrace_error_message. + * toplev.h (octave_call_stack::backtrace_error_message): + New public static function. + +2008-08-05 John W. Eaton + + * gripes.cc (gripe_truncated_conversion, + gripe_logical_conversion): Don't declare as extern here. + * utils.cc (octave_format, octave_vformat): Likewise. + * pr-output.cc (octave_print_internal (std::ostream&, const Cell&, + bool, int, bool)): Likewise. + + * toplev.cc (octave_call_stack::backtrace_error_message): New + function. + * toplev.h: Provide decl. + (octave_call_stack::do_pop): Call backtrace_error_message if + error_state is nonzero. + + * pt-unop.cc (tree_prefix_expression::eval_error, + tree_postfix_expression::eval_error): Delete. Eliminate all uses. + * pt-unop.h: Delete decls. + + * pt-select.cc (tree_switch_case::eval_error, + tree_switch_command::eval_error): Delete. Eliminate all uses. + (tree_if_command::eval): Omit "evaluating if command" message. + * pt-select.h: Delete decls. + + * pt-loop.cc (tree_while_command::eval_error, + tree_complex_for_command::eval_error, + tree_simple_for_command::eval_error, + tree_do_until_command::eval_error): Delete. Eliminate all uses. + * pt-loop.h: Delete decls. + + * pt-exp.cc (tree_expression::is_logically_true): Omit "evaluating + conditional expression" error message. + + * pt-decl.cc (tree_global_command::eval): Omit "evaluating global + command" error message. + (tree_static_command::eval): Omit "evaluating static command" + error message. + + * pt-colon.cc (tree_colon_expression::eval_error): Omit + "evaluating colon expression" error message. + * pt-colon.h (tree_colon_expression::eval_error): Eliminate + default argument value. + + * pt-idx.cc (tree_index_expression::eval_error): Delete. + Eliminate all uses. + * pt-idx.h: Delete decl. + + * pt-binop.cc (tree_binary_expression::eval_error): Delete. + * pt-binop.cc, pt-cbinop.cc: Eliminate all uses of eval_error. + * pt-binop.h: Delete decl. + + * pt-assign.cc (tree_simple_assignment::eval_error, + tree_multi_assignment::eval_error): Delete. Eliminate all uses. + * pt-assign.h: Delete decls. + + * ov-usr-fcn.cc (octave_user_script::traceback_error, + octave_user_function::traceback_error): Delete. Eliminate all uses. + * ov-usr-fcn.h: Delete decls. + + * ov-builtin.cc (octave_builtin::do_multi_index_op): Call + gripe_library_exectuion_error on octave_execution_exception. + * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Likewise. + * ov.cc (do_binary_op, do_cat_op, do_unary_op, + do_non_const_unary_op): Likewise. + * pt-stmt.cc (tree_statement::eval): Likewise. + + * gripes.cc (gripe_library_execution_error): New function. + * gripes.h: Provide decl. + + * dirfns.cc (Fpathsep): Fix usage of dir_path::path_sep_str. + * defaults.cc (set_exec_path, set_image_path): Likewise. + * load-path.h (load_path::set_command_line_path): Likewise. + * load-path.cc (maybe_add_path_elts, load_path::do_initialize, + load_path::do_path, genpath, Fpath): Likewise. + (split_path): Fix usage of dir_path::path_sep_char. + +2008-08-04 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_autoload): + Fix usage of file_ops::dir_sep_chars. + * variables.cc (looks_like_struct): + Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. + * octave.cc (execute_command_line_file): Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + * load-save.cc (find_file_to_load): Likewise. + * load-path.cc (load_path::do_find_file): Likewise. + * graphics.cc (drawnow): Likewise. + * parse.y (frob_function): Likewise. + + * octave.cc (initialize_pathsearch): Fix usage of + file_ops::dir_sep_str. + * help.cc (Flookfor): Likewise. + * dirfns.cc (Ffilesep): Likewise. + (Fautoload): Likewise. + + * defaults.cc (subst_octave_home): Fix usage of + file_ops::dir_sep_char. + (Fmfilename): Likewise. + +2008-07-31 John W. Eaton + + * parse.y (assign_lhs): Call force_local_variable on all elements + of lexer_flags.pending_local_variables here, then clear the set. + (matrix): Clear lexer_flags.pending_local_variable here. + * lex.l (lexical_feedback::init): Clear it. + (force_local_variable): No longer static. + (is_variable): Also return true for names in the + lexer_flags.pending_local_variables. + (handle_identifier): If we are parsing a matrix list, mark + identifiers as pending local variables rather than forcing them to + be local variables immediately. + * lex.h (lexical_feedback::pending_local_variables): New data member. + (force_local_variable): Provide decl. + +2008-07-30 John W. Eaton + + * ov-intx.h, ov.cc: Style fixes. + + * gripes.cc (gripe_truncated_conversion): Use the warning ID + Octave:int-convert-overflow. + +2008-07-30 Jaroslav Hajek + + * gripes.cc (gripe_truncated_conversion): New function. + * gripes.h (gripe_truncated_conversion): Declare it. + * ops.h (DEFCONVFNX2): New macro. + (DEFCONVFN, DEFCONVFN2): Call DEFCONVFNX2 instead of DEFCONVFNX. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::convert_gripe): New member + function. + (OCTAVE_VALUE_INT_MATRIX_T::int*_array_value): Call convert_gripe. + (OCTAVE_VALUE_INT_SCALAR_T::convert_gripe): New member function. + (OCTAVE_VALUE_INT_SCALAR_T::int*_scalar_value): Call convert_gripe. + (OCTAVE_VALUE_INT_SCALAR_T::int*_array_value): Call int*_scalar_value. + * ov.cc (convert_to_int_array): New function. + (int_vector_value): Call convert_to_int_array. + +2008-07-30 John W. Eaton + + * defun-dld.h (DEFUNX_DLD): Eliminate fsname arg. + * defun-int.h (DEFINE_FUN_INSTALLER_FUN2, + DEFINE_FUN_INSTALLER_FUN3, DEFINE_FUNX_INSTALLER_FUN2): Delete. + (DEFINE_FUNX_INSTALLER_FUN): Rename from DEFINE_FUNX_INSTALLER_FUN3. + Don't emit fsname function. Don't append cxx_abi to gname. + (DEFINE_FUN_INSTALLER_FUN): Define in terms of + DEFINE_FUNX_INSTALLER_FUN, not DEFINE_FUN_INSTALLER_FUN2. + * dynamic-ld.cc (octave_dynamic_loader::name_mangler, + octave_dynamic_loader::name_uscore_mangler): New functions. + (octave_dynamic_loader::mangle_name, + octave_dynamic_loader::xmangle_name): Delete. + (octave_dynamic_loader::do_load_oct): Search for function with + name_mangler then name_uscore_mangler. + + * oct-stream.cc (do_read): New arg, do_NA_conv. + Perform NA translation if do_NA_conv is true. + (DO_READ_VAL_TEMPLATE, read_fptr): Include the new arg for do_read + in decl. + (octave_stream::read): Pass do_NA_conv to do_read. + +2008-07-29 David Bateman + + * data.cc (FNA): Add tests for conversion of single to double NA + values. + + * ov-flt-re-mat.cc (Fsingle): Documentation fix. + +2008-07-28 David Bateman + + * error.cc (last_error_id, last_error_message, last_warning_id, + last_warning_message): New functions to return the error/warning + message and id without exposing the internal values. + * error.h (last_error_id, last_error_message, last_warning_id, + last_warning_message): Declare them. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Use them to pass the error + to the ErrorHandler function. + +2008-07-28 John W. Eaton + + * error.cc (Flasterror, Flasterr): Unwind-protect error_state. + + * DLD-FUNCTIONS/__magick_read__.cc (F__magick_write__, write_image): + New functions. + +2008-07-25 John W. Eaton + + * DLD-FUNCTIONS/det.cc (Fdet): Return calculated determinant for + numerically singular matrices, not 0. + + * symtab.cc (get_dispatch_type): New function. + (symbol_table::fcn_info::fcn_info_rep::find): Use it. + + * ov-class.cc (set_class_relationship): Delete static function. + (Fsuperiorto, Finferiorto): Warn about precedence conflicts. + Call symbol_table::set_class_relationship instead of local static + function. + * symtab.h (symbol_table::class_precedence_table): New data member. + (symbol_table::set_class_relationship, symbol_table::is_superiorto): + New static functions. + +2008-07-24 John W. Eaton + + * load-path.h (load_path::dir_info::class_info): New struct. + (load_path::dir_info::method_file_map_type): Now a map from + class name to a to a class_info object. Change all uses. + * load-path.cc (load_path::dir_info::get_method_file_map): + Also look for private functions in the class directory. + (load_path::add_to_method_map): Also add private functions from + class directories to private_fcn_map. + + * dirfns.cc (Fmkdir): If directory already exists, return status = + true, but also set error message. + +2008-07-23 John W. Eaton + + * ov-usr_fcn.cc (octave_user_function::do_multi_index_op): + Don't unwind_protect and set curr_parent_function here. + * toplev.cc (curr_parent_function): Delete definition. + * toplev.h: (curr_parent_function): Delete declaration. + + * ov-usr-fcn.h (octave_user_function::parent_scope): New data member. + (octave_user_function::parent_fcn_scope, + octave_user_function::stash_parent_fcn_scope): New functions. + * ov-usr_fcn.cc (octave_user_function::octave_user_function): + Initialize parent_scope. + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): + Check parent of current function by looking at call stack, not + global curr_parent_function variable. + * parse.y (frob_function): If parsing nested function, stash + current parent function scope. + * ov-fcn.h (octave_function::parent_fcn_scope): New virtual function. + +2008-07-22 Michael Goffioul + + * graphics.cc (F__go_execute_callback__): New function. + + * DLD-FUNCTIONS/fltk_backend.cc: Undefine min/max after FLTK headers + inclusion. + + * graphics.h.in (class base_graphics_event, class graphics_event): New + classes (replace gh_manager::event_data). + (class gh_manager::event_data): Remove. + (gh_manager::post_function, gh_manager::do_post_function): Use + graphics_event::event_fcn type. + (gh_manager::event_queue, gh_manager::do_post_event): Use + graphics_event type. + * graphics.cc (class callback_event, class function_event, class + set_event): Renamed from xxx_data classes. + (graphics_event::create_callback_event, + graphics_event::create_function_event, + graphics_event::create_set_event): Renamed from gh_manager::xxx + equivalent methods, removed reference count increment. + (gh_manager::do_post_event): Likewise. + (gh_manager::do_post_event): Use graphics_event type. + (gh_manager::do_post_function): Use graphics_event::event_fcn type. + +2008-07-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.51+. + +2008-07-21 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.51. + (OCTAVE_RELEASE_DATE): Now 2008-07-21. + + * ov-class.cc (octave_class::subsasgn): Only do internal magic if + rhs is not an octave_class object. + + * OPERATORS/op-struct.cc: Define concatenation operators for + struct/matrix concatenation (valid if matrix is empty). + * OPERATORS/op-cell.cc (install_cell_ops): Likewise, for cells. + + * DLD-FUNCTIONS/fltk_backend.cc: Don't include oct.h. + Make compilation of entire file conditional on HAVE_FLTK. + + * gl-render.cc: Make compilation of entire file conditional on + HAVE_OPENGL. + + * Makefile.in (GL_RENDER_SRC, FLTK_BACKEND_SRC): Delete variables. + (DLD_XSRC): Always include fltk_backend.cc in the list. + (DIST_SRC): Always include gl-render.cc in the list. + +2008-07-19 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.50+. + (OCTAVE_API_VERSION): Now api-v33+. + +2008-07-18 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 3.1.50. + (OCTAVE_API_VERSION): Now api-v33. + (OCTAVE_RELEASE_DATE): Now 2008-07-18. + (OCTAVE_COPYRIGHT): Update date to 2008. + +2008-07-18 John W. Eaton + + * Makefile.in (__magick_read__.df): New rule. + Append MAGICK_INCFLAGS to CPPFLAGS. + + * Makefile.in (EXTRAS): Add graphics-props.cc to the list. + List graphics-props.cc as a target generated by genprops.awk. + +2008-07-18 Carlo de Falco + + * gl-render.h: Conditionally include GL/gl.h or OpenGL/gl.h + and GL/glu.h or OpenGL/glu.h + +2008-07-17 John W. Eaton + + * symtab.cc (out_of_date_check_internal): New arg, dispatch_type. + Use it to handle class methods. + + * toplev.h (octave_call_stack::do_caller): New function. + (octave_call_stack::caller): Use it. + +2008-07-17 Jaroslav Hajek + + * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, + regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): + Use OCT_LINK_DEPS instead of DL_LDFLAGS for target-specific + dependencies. + +2008-07-17 David Bateman + + * DLD-FUNCTION/__magick_read__.cc (F__magick_read__): Allow build + without GraphicsMagick++ installed. + +2008-07-16 John W. Eaton + + * graphics.h.in (gh_manager::autolock): Delete copy constructor + and assignment definitions. + +2008-07-16 Michael Goffioul + + * graphics.h.in (callback_property::execute): Remove static version. + (base_properties::is_hittest, base_properties::is_interruptible, + base_properties::is_selected, base_properties::is_selectionhighlight): + New convenience property accessors. + (base_graphics_object::get_handle, graphics_object::get_handle): Idem. + (gh_manager::graphics_lock): New global mutex + (gh_manager::lock, gh_manager::unlock, gh_manager::do_lock, + gh_manager::do_unlock): Add accessors for it. + (gh_manager::autolock): New class for easy locking of the graphics + system. + (gh_manager::event_data): New class for event management. + (gh_manager::event_queue): New object to hold pending events. + (gh_manager::callback_objects): New stack of callback objects. + (gh_manager::execute_callback, gh_manager:post_callback, + gh_manager::post_function, gh_manager::post_set, + gh_manager::process_events, gh_manager::flush_events, + gh_manager::restore_gcbo): New static methods for event management. + (gh_manager::do_execute_callback, gh_manager::do_post_callback, + gh_manager::do_post_function, gh_manager::do_post_set, + gh_manager::do_process_events, gh_manager::do_post_event, + gh_manager::do_restore_gcbo): New non-static versions. + * graphics.cc (xreset_gcbo): Remove. + (execute_callback): Likewise. + (base_property::run_listeners, callback_property::execute): Use + gh_manager::execute_callback. + (class callback_event_data, class function_event_data, class + set_event_data): New classes to implement various types of events. + (gh_manager::event_data::create_callback_event, + gh_manager::event_data::create_function_event, + gh_manager::event_data::create_set_event): Implement event factory + methods. + (gh_manager::do_restore_gcbo, gh_manager::do_execute_callback, + gh_manager::do_post_event, gh_manager::do_post_callback, + gh_manager::do_post_function, gh_manager::do_post_set, + gh_manager::do_process_events): New methods for event management. + (Fishandle, Fset, Fget, F__get__, F__go_figure__, F__go_delete__, + F__go_axes_init__, F__go_handles__, F__go_figure_handles__, + Favailable_backends, Fdrawnow, Faddlistener, Faddproperty, + get_property_from_handle, set_property_in_handle): Lock graphics + system. + (GO_BODY): Likewise. + (Fdrawnow): Support single "expose" argument. + +2008-07-15 John W. Eaton + + * DLD-FUNCTIONS/__convn__.cc (convn): Cast second arg to + octave_idx_type in call to std::max. + +2008-07-14 John W. Eaton + + * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, + regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): + Simplify with target-specific settings for DL_LDFLAGS. + + * DLD-FUNCTIONS/__magick_read__.cc: Delete "using namespace std" + and "using namespace Magick" directives. Style fixes. + + * oct-conf.h.in (OCTAVE_CONF_MAGICK_INCFLAGS, + OCTAVE_CONF_MAGICK_LIBS): Substitute here. + * toplev.cc (octave_config_info): Include MAGICK_INCFLAGS and + MAGICK_LIBS in the struct. + * Makefile.in (DLD_XSRC): Add __magick_read__.cc to the list. + (OCTAVE_LIBS): Add $(MAGICK_LIBS) to the list for static linking case. + (__magick_read__.d, __magick_read__.o, pic/__magick_read__.o): + Append MAGICK_INCFLAGS to CPPFLAGS. + (__magick_read__.oct): Append MAGICK_LIBS to LDFLAGS. + +2008-07-14 Thomas L. Scofield + + * DLD-FUNCTIONS/__magick_read__.cc: New file from Octave Forge. + +2008-07-11 John W. Eaton + + * syscalls.cc (const_value): Delete arg NM. Change all uses. + + * DLD-FUNCTIONS/fft.cc (do_fft): Avoid GCC warning. + * DLD-FUNCTIONS/fft2.cc (do_fft2): Likewise. + * DLD-FUNCTIONS/fftn.cc (do_fftn): Likewise. + * DLD-FUNCTIONS/qr.cc (Fqrshift): Likewise. + * DLD-FUNCTIONS/lookup.cc (Flookup): Likewise. + * gl-render.cc (opengl_renderer::draw): Likewise. + * graphics.cc (axes::update_axis_limits, + hggroup::update_axis_limits, Favailable_backends): + Likewise. + * pt-cmd.cc (tree_no_op_command::dup, tree_function_def::dup): + Likewise. + * pt-const.cc (tree_constant::dup): Likewise. + * pt-id.cc (tree_identifier::dup): Likewise. + * pt-jump.cc (tree_break_command::dup, tree_continue_command::dup, + tree_return_command::dup): Likewise. + + * DLD-FUNCTIONS/colamd.cc: Style fixes. + (tree_postorder): Rename from TreePostorder. + (tree_postorder, coletree): Avoid GCC warnings. + + * DLD-FUNCTIONS/chol.cc (Fchol): Avoid GCC warnings. + (Fcholdelete, Fcholshift): Delete unused arg nargout. + + * toplev.cc, toplev.h (octave_call_stack::caller_user_function, + octave_call_stack::caller_user_script, + octave_call_stack::do_caller_user_function, + octave_call_stack::do_caller_user_script): + Delete functions and decls. + + * defun.cc (print_usage): Call octave_call_stack::caller_user_code, + not octave_call_stack::caller_user_function. + * debug.cc (get_user_code): Likewise. + + * toplev.h (octave_call_stack::difference_type): Delete typedef. + * toplev.cc, toplev.h (octave_call_stack::caller_user_code_line, + octave_call_stack::do_caller_user_code_line, + octave_call_stack::caller_user_code_column, + octave_call_stack::do_caller_user_code_column, + octave_call_stack::caller_script, + octave_call_stack::do_caller_script, + octave_call_stack::caller_user_function, + octave_call_stack::do_caller_user_function, + octave_call_stack::caller_user_code, + octave_call_stack::do_caller_user_code): + Delete unused difference_type arg. + + * ov-float.h, ov-flt-re-mat.cc, ov-range.h, ov-re-mat.h, + ov-re-sparse.cc, ov-scalar.h: Check for NaN in bool_value and + bool_array_value member functions to bool. + + * ops.h (DEFSCALARBOOLOP_OP): New macro. + * OPERATORS/op-s-s.cc, OPERATORS/op-fs-fs.cc: Use it to define + el_and and el_or ops. + +2008-07-10 David Bateman + + * DLD-FUNCTIONS/lookup.cc (assign): Delete. + (Flookup): Use new NDArray constructors rather than assign. + * data.cc (Fsort): Use new NDArray constructors rather than + directly assigning. + * besselj.cc (int_array2_to_matrix, int_arrayn_to_array, + int_array2_to_float_matrix, int_arrayn_to_float_array): Delete. + (do-bessel): Use new NDArray constructors. + * max.cc (MINMAX_SPARSE_BODY, MINMAX_INT_BODY, MINMAX_SINGLE_BODY, + MINMAX_DOUBLE_BODY): Use new NDArray constructors. + * ov-bool.h (array_value, float_array_value): Explictly cast + boolean scalar to double before the assignment to avoid ambiguity. + +2008-07-10 David Bateman + + * ls-mat4.cc (read_mat_binary_data, save_mat_binary_data): Add + loading and saving of sparse matrices. + +2008-07-10 Michael Goffioul + + * Makefile.in: Add OPENGL_LIBS to liboctinterp link command. Add + GRAPHICS_CFLAGS to fltk_backend.cc compilation command. + * data.cc: Define hypotf to _hypotf when not present. + * gl-render.h: Replace OCTGRAPHICS_API with OCTINTERP_API. + * gl-render.cc: Get rid of Array2. + * OPERATORS/op-int.h: Use powf instead of pow when invoked + with float arguments. + +2008-07-09 John W. Eaton + + * input.cc (get_debug_input): Don't delete global_command here. + * toplev.cc (main_loop): Undo previous change. + + * toplev.h (octave_call_stack::instance_ok): Push top scope when + creating instance. + + * DLD-FUNCTIONS/inv.cc (Finv): Avoid GCC warning. + + * DLD-FUNCTIONS/expm.cc (Fexpm): Avoid GCC warning. + + * ov-fcn-inline.cc (octave_fcn_inline::load_ascii): Avoid GCC warning. + +2008-07-09 Michael Goffioul + + * gl-render.cc (opengl_renderer::draw(figure)): Enable line smoothing + according to __enhanced__ property. + (opengl_renderer::draw_marker): Only draw markers with valid call + lists ID. + (opengl_renderer::make_marker_list): Do not produce filled marker call + list for non-fillable markers. + (opengl_renderer::draw(axes)): Do not antialias axes system. + + * gl-render.cc (opengl_renderer::set_polygon_offset): Also enable + polygon offseting in GL_LINE mode. + (opengl_renderer::draw_marker): Offset markers foward instead of + backward (to draw them above lines). + + * Makefile.in: new substituted variables GL_RENDER_SRC and + FLTK_BACKEND_SRC. + + * gl-render.cc (vertex_data::vertex_data_rep::vertex_data(void), + vertex_data::vertex_data(void), vertex_data::vertex_data(...)): + initialize reference counting correctly. + +2008-07-09 John W. Eaton + + * toplev.cc (main_loop): Unwind-protect global_command. + * input.cc (get_debug_input): Likewise. + +2008-07-09 David Bateman + + * pt-id.cc (octave_value_list tree_identifier::rvalue (int), + octave_lvalue tree_identifier::lvalue (void)): Remove + MAYBE_DO_BREAKPOINT. + +2008-07-08 John W. Eaton + + * graphics.h.in (axes::properties::keypos): Declare as + any_property instead of double_property. + +2008-06-28 John W. Eaton + + * debug.cc (push_dummy_call_stack_elt): Delete. + (Fdbstack): Don't push dummy stack elt. Use nskip instead of + nframes, and curr_frame instead of idx. Pass curr_frame to + octave_call_stack::backtrace. + + * ls-mat5.cc (read_mat5_binary_element): Explicitly pass 0 for + current_context in call to symbol_table::varref. + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii): Likewise. + Fix test. + + * mex.cc (mexGetVariable, mexPutVariable): Use octave_call_stack + methods to manipulate scope and context. + * parse.y (source_file, Fassignin, Fevalin): Likewise. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Call octave_call_stack::push after call to symbol_table::push_scope. + Call unwind_protect::add with octave_call_stack::unwind_pop + immediately after call to octave_call_stack::push. + + * symtab.cc (symbol_table::xcurrent_caller_scope): Delete definition. + * symtab.h (symbol_table::xcurrent_caller_scope): Delete decl. + Delete all uses. + (xcurrent_context_this_table): Delete. Delete all uses. + (symbol_table::current_caller_scope): Delete. + + * toplev.cc (octave_call_stack::do_num_user_code_frames): + New function. + (octave_call_stack::do_backtrace): New arg, curr_user_frame. + Rename nframes arg to nskip. Correctly handle curr_frame not at + end of stack. + (octave_call_stack::do_goto_frame_relative): Rename n arg to nskip. + Correctly handle curr_frame not at end of stack. + (octave_call_stack::do_goto_caller_frame): New function. + (octave_call_stack::do_goto_base_frame): New function. + * toplev.h: Provide decls for new functions. + (octave_call_stack::call_stack_elt::prev): New data member. + Initialize it in constructor. + (octave_call_stack::const_reverse_iterator, + octave_call_stack::reverse_iterator): New typedefs. + (octave_call_stack::symbol_table::scope_id current_scope, + octave_call_stack::symbol_table::context_id current_context, + octave_call_stack::num_user_code_frames, + octave_call_stack::goto_caller_frame, + octave_call_stack::goto_base_frame, + octave_call_stack::do_num_user_code_frames, + octave_call_stack::do_current_scope, + octave_call_stack::do_current_context): New functions. + + (octave_call_stack::push): Default value for context arg is + symbol_table::current_context, not 0. + (octave_call_stack::do_push): Save previous frame. Always push + new frame on back of stack. Call symbol_table::set_scope_and_context. + (octave_call_stack::do_pop): Restore previous frame. Always pop + frame from back of stack. Call symbol_table::set_scope_and_context. + +2008-06-26 John W. Eaton + + * token.h: Omit "class symbol_table::symbol_record" decl; + + * lex.l (grab_block_comment): Use parens around || expression + within && expression. + +2008-06-23 John W. Eaton + + * debug.cc (Fdbstack): Avoid shadowed variable warning. + +2008-06-23 Jaroslav Hajek + + * genprops.awk (emit_source): Avoid gensub for portability. + (BEGIN): Ditto. + +2008-06-20 Jaroslav Hajek + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): Make "once" an output + argument. + (octregexp): Do not use cell arrays when "once" is requested. + + * ov.cc (make_vector_dims): New function. + (vector_value, complex_vector_value, float_vector_value, + float_complex_vector_value): Query N-d array values and simplify, + avoid copying. + (column_vector_value, complex_column_vector_value, + float_column_vector_value, float_complex_column_vector_value, + row_vector_value, complex_row_vector_value, + float_row_vector_value, float_complex_row_vector_value): + Simplify to trivial wrappers. + (int_vector_value): Avoid conversions if integer type, query N-d array + value, simplify. + +2008-06-17 John W. Eaton + + * toplev.h, toplev.cc (class octave_call_stack): + Push elements on and pop from back of queue. + (octave_call_stack::do_push, octave_call_stack::do_pop): + Always adjust curr_frame. + (octave_call_stack::size, octave_call_stack::do_size): New functions. + * pt-stmt.cc (tree_statement::eval): + Also call octave_call_stack::set_statement when debugging. + * debug.cc (push_dummy_call_stack_elt): New function. + (Fdbstack): Omit dbstack from call stack by popping element rather + than adjusting frame number. Correctly handle arg. + +2008-06-12 David Bateman + + * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrshift, Fqrdelete): + Allow single precision arguments, add tests for single precision. + +2008-06-11 John W. Eaton + + * ov-base.cc (octave_base_value::streamoff_value, + octave_base_value::streamoff_array_value): Delete. + * ov-base.h: Delete decls. + (octave_base_value::is_streamoff): Delete. + * ov-float.cc (octave_float_scalar::streamoff_value, + octave_float_scalar::streamoff_array_value): Delete. + * ov-float.h: Delete decls. + * ov-flt-re-mat.cc (octave_float_matrix::streamoff_array_value): Delete. + * ov-flt-re-mat.h: Delete decl. + * ov-re-mat.cc (octave_matrix::streamoff_array_value): Delete. + * ov-re-mat.h: Delete decl. + * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value): Delete. + * ov-re-sparse.h: Delete decl. + * ov-scalar.cc (octave_scalar::streamoff_value, + octave_scalar::streamoff_array_value): Delete. + * ov-scalar.h: Delete decls. + * ov.cc (octave_value::octave_value (const streamoff_array&), + octave_value::octave_value (const ArrayN&), + octave_value::streamoff_value (void) const, + octave_value::streamoff_array_value (void) const): Delete. + * ov.h: Delete decls. + (octave_value::is_streamoff): Delete. + * ov.cc (install_types): Don't register streamoff type. + * ov-streamoff.h, ov-streamoff.cc, OPERATORS/op-streamoff.cc: Delete. + * Makefile.in: Delete them from the lists. + + * error.cc (verror): Restore newline in msg_string. Stripping + "error: " prefix when buffering error messages is no longer neeed. + +2008-06-25 David Bateman + + * pr-output.cc (Frats): Print usage if nargin == 0. + +2008-06-10 John W. Eaton + + * mexproto.h (mxCreateLogicalScalar): Declar arg as mxLogical, not int. + +2008-06-09 John W. Eaton + + * graphics.cc (execute_callback): Pass CB by const reference and + explicitly make a copy. + (xget_ancestor): Pass GO by const reference and explicitly make a copy. + + * error.cc (verror): Omit "name: " and "\a" from Vlast_error_msg. + Save line and column information from user code. + * toplev.cc (octave_call_stack::do_caller_user_code_line, + octave_call_stack::do_caller_user_code_column): New functions. + * toplev.h: Provide decls. + (octave_call_stack::caller_user_code_line, + octave_call_stack::caller_user_code_column): New functions. + (octave_call_stack::current_line, octave_call_stack::current_column): + Default return value is -1, not 0. + +2008-06-06 John W. Eaton + + * ov.h (octave_value::erase_subfunctions): + New function. + * ov-base.h (octave_base_value::erase_subfunctions): + New virtual function. + * ov-usr-fcn.h (octave_user_function::erase_subfunctions): + New function. + * symtab.h (symbol_table::fcn_info::::erase_subfunction, + symbol_table::fcn_info::fcn_info_rep::erase_subfunction, + symbol_table::erase_subfunctions_in_scope): + New functions. + (symbol_table::fcn_info::fcn_info_rep::clear_user_function): + Erase subfunctions here. + + * variables.cc (Fmlock): Doc fix. + +2008-06-05 John W. Eaton + + * gl-render.cc (opengl_renderer::draw): Correctly avoid shadow + warnings from gcc for xmin, xmax, ymin, ymax, zmin, and zmax. + + * graphics/ChangeLog, graphics/Makefile.in, graphics/Makerules.in, + graphics/fltk_backend/Makefile.in, graphics/opengl/Makefile.in: + Delete. + + * gl-render.cc, gl-render.h: Move here from graphics/opengl. + * Makefile.in: Add them to the appropriate lists. + (octave$(EXEEXT)): Also link with $(OPENGL_LIBS) + + * fltk_backend.cc: Move here from graphics/fltk_backend. + * Makefile.in (DLD_XSRC): Add it to the list + (fltk_backend.oct): Include special rules for linking with + $(GRAPHICS_LIBS) and $(FT2_LIBS). + + * dynamic-ld.cc (octave_dynamic_loader::mex_mangler, + octave_dynamic_loader::mex_uscore_mangler, + octave_dynamic_loader::mex_f77_mangler): New functions. + (octave_dynamic_loader::do_load_mex): Use them. + (octave_dynamic_loader::do_remove_oct): Rename from + octave_dynamic_loader::do_remove. + (octave_dynamic_loader::do_remove_mex): New function. + * dynamic-ld.h: Provide/fix decls. + + * graphics.cc (properties::update_normals): Style fixes. + * graphics.h.in: Style fixes. + + ChangeLog entries for gl-render.h, gl-render.cc, and + fltk_backend.cc before the move: + + 2008-06-05 John W. Eaton + + * opengl/gl-render.cc (xmin): New static function. + + * opengl/gl-render.h (opengl_renderer): Style fixes. + * fltk_backend/fltk_backend.cc: Style fixes. + + 2008-04-26 Michael Goffioul + + * opengl/gl-render.h (opengl_renderer::draw(hggroup)): New method. + * opengl/gl-render.cc (opengl_renderer::draw(hggroup)): Likewise. + (opengl_renderer::draw(graphics_object)): Call it. + + 2008-03-17 Shai Ayal + + * fltk_backend/fltk_backend.cc (plot_window::resize, + plot_window::draw): make canvas the size of figure.position + + 2008-03-09 Shai Ayal + + * fltk_backend/fltk_backend.cc (plot_window::handle): add zoom + stack + + 2008-03-06 Shai Ayal + + * fltk_backend/fltk_backend.cc (plot_window::handle): Add handling + of the 'a' and 'g' keys + (plot_window: toggle_grid): New helper function + (plot_window): Add new togglegrid button + + 2008-03-01 Shai Ayal + + * fltk_backend/fltk_backend.cc (OpenGL_fltk::draw_overlay, + OpenGL_fltk::zoom, OpenGL_fltk::set_zoom_box): Added to support + zoom box + (plot_window::handle): Added zoom box code, B-3 now does autoscale + (plot_window::axis_auto): New utility function to call axis("auto") + (plot_window::button_press): "A" button now does autoscale + + * opengl/gl-render.cc (make_marker_list): Add the "+x*.^v><" + markers + + 2008-02-27 Michael Goffioul + + * opengl/gl-render.cc (opengl_renderer::draw(patch), + opengl_renderer::draw(surface)): Adapt to type change of facealpha and + edgealpha, using double_radio_property class. + + 2008-02-26 Michael Goffioul + + * opengl/gl-render.h: Make sure windows.h is included before OpenGL + headers. + * fltk_backend/Makefile.in (FLTK_EXTRA_CXXFLAGS): Use $(srcdir) for + includesion of OpenGL renderer headers. + (Makeconf): Move inclusion of Makeconf later on, to avoid freezing + MinGW make. + + * fltk_backend/Makefile.in (GRAPHICS_CFLAGS): New substituted + variable. + + 2008-02-25 Shai Ayal + + * fltk_backend/fltk_backend.cc (class plot_window): Many changes + to use figure::properties instead of figure handle to reference + the figure + (class figure_manager): ditto + (__fltk_redraw__): moved most of functionality into the + figure_manager class + (plot_window::pixel2pos): Modified to use axes::pixel2coord + (plot_window::pixel2staus): Modified to use pixel2pos + (plot_window::handle): Added zoom with mouse + + 2008-02-24 Shai Ayal + + * fltk_backend/fltk_backend.cc (OpenGL_fltk::Draw): removed double + buffer switch + (OpenGL_fltk::setup_viewport): removed call to glOrtho -- + gl-render takes care of all the transformations + + 2008-02-23 Shai Ayal + + * fltk_backend/fltk_backend.cc (plot_window::mark_modifed): mark + the whole window as damaged (otherwise changing figure.postion + does not have immediate effect) + (plot_window::draw): New function, checks for window size + (__fltk_maxtime__): New DEFUN to allow tweaking of fltk timeout + (__fltk_redraw__): Use fltk_maxtime as timeout + + 2008-02-21 Michael Goffioul + + * opengl/gl-render.cc (opengl_renderer::patch_tesselator::combine): + Protect against NULL vertex data. + + * opengl/gl-render.cc (opengl_renderer::draw(patch)): Add marker + rendering of patch objects. + + 2008-02-21 Shai Ayal + + * opengl/gl-render.cc: remove OpenGL includes + * opengl/gl-render.h: add OpenGL includes + * fltk_backend/fltk_backend.cc: remove OpenGL includes + (__fltk_redraw__): put figure handle into the figure's + __plot_stream__ property for later + (fltk_backend::close_figure): use argument as figure handle to + close + + 2008-02-20 Shai Ayal + + * fltk_backend/Makefile.in: initial import + + * fltk_backend/fltk_backend.cc: initial import + + + 2008-02-20 Michael Goffioul + + * opengl/gl-render.h (opengl_renderer::draw(patch)): New method to + render patch objects. + (class opengl_renderer::patch_tesselator): Forward declaration. + * opengl/gl-render.cc (opengl_texture::create): Use RGB data format + instead of RGBA. + (class opengl_tesselator): New classes to abstract GLU tessellation + process. + (class opengl_renderer::patch_tesselator): New class to render opaque + patch objects. + (class vertex_data): New class to hold vertex data during tessellation + of patch objects. + (opengl_renderer::draw(patch)): New method to render patch objects (no + transparency, no border, no marker yet). + (opengl_renderer::draw(graphics_object)): Dispatch to it. + + * opengl/gl-render.cc (opengl_renderer::draw(patch)): Use patch color + data and support face/vertex single color specification. + + * opengl/gl-render.cc (opengl_tesselator::begin_polygon): Set + tessellation property also for non-filled polygons. + (opengl_renderer::patch_tesselator::vertex): Protect against empty + color matrices. + (opengl_renderer::draw(patch)): Render patch border (no transparency + yet). + + 2008-02-19 Michael Goffioul + + * opengl/gl-render.cc (opengl_texture::texture_rep::tex_coord, + opengl_texture::tex_coord): New wrapper around glTexCoord2d. + (opengl_renderer::draw(surface)): Use it for texturemap + implementation. + (opengl_renderer::draw(surface)): Fix indexing bug when creating clip + matrix. + (opengl_texture::operator=): Add assignment operator. + (opengl_texture::create): New static opengl_texture creator. + (opengl_texture::is_valid): New accessor. + + 2008-02-18 Michael Goffioul + + * opengl/gl-render.cc (class opengl_texture): New class to wrap + texture operations in OpenGL. + + 2008-02-17 Michael Goffioul + + * opengl/gl-render.cc (opengl_renderer::draw(surface)): Set material + color when rendering surface facets. + + * opengl/gl-render.cc (opengl_renderer::draw(surface)): Add rendering + of mesh and markers. + + 2008-02-16 Michael Goffioul + + * opengl/gl-render.cc (opengl_renderer::draw(figure)): Initialize the + OpenGL context correctly. + (opengl_renderer::draw(surface)): Add missing glEnd call. + + 2008-02-14 Michael Goffioul + + * opengl/gl-render.h opengl/gl-render.cc: Add rendering + interface for surface objects (actual implement still + missing). + + 2008-02-14 Michael Goffioul + + * Makefile.in Makerules.in: Initial import + * opengl/Makefile.in: Likewise. + * opengl/gl-render.h opengl/gl-render.cc: Likewise. + +2008-06-04 Shai Ayal + + * graphics.cc (axes::properties::set_defaults): Preserve position + if mode is replace. + (axes::properties::sync_positions): Use default_axes_postion for + consistency. + + * graphics.h.in (axes::properties::sync_positions, + axes::properties::update_position, + axes::properties::update_outerposition): New functions to sync + outerposition and position. + + * graphics.h.in (axes::properties::update_xlim, + axes::properties::update_ylim, axes::properties::update_zlim): + pass is_logscale flag to axes::properties::calc_ticks_and_lims + * graphics.cc (axes::properties::calc_ticks_and_lims): Added + support for log scale + + * graphics.h.in (axes::properities::fix_limits) : New method. + (axes::properties::update_xlim, axes::properties::update_ylim, + axes::properties::update_zlim): Use fix_limits. + + * graphics.cc (axes::properties::calc_ticks_and_lims): Make sure + that lo <= hi. + + * graphics.h.in (axes::pixel2coord, axes::coord2pixel): New functions. + + * graphics.cc (convert_position): No longer static. + * graphics.h.in: Provide decl. + + * graphics.cc (Favailable_backends): New function. + * graphics.h.in (base_graphics_backend::available_backends_list): + New function. + + * graphics.cc (axes::properties::calc_ticks_and_lims): Refactor. + Adjust axes limits & tics together so that the result is consistent. + (axes::properties::calc_tick_sep): Ditto. + (axes::properties::get_axis_limits): Ditto. Now a member of + axes::properties + (magform): Now file-scope static function instead of + axes::properties member function. + + * graphics.h.in (axes::properties::update_xlim): call the new + axes::properties::calc_ticks_and_lims method + (axes::properties::update_ylim): ditto + (axes::properties::update_zlim): ditto + +2008-06-04 Michael Goffioul + + * ov-fcn-inline.h (class octave_fcn_inline): Mark with OCTINTERP_API. + * ov-fcn-handle.h (class Octave_fcn_handle): Likewise. + * ls-oct-binary.h (save_binary_data, read_binary_data): Likewise. + + * genprops.awk (emit_source): Fix if-then-else statement generation + when the first property is hidden. + * graphics.h.in (base_properties::adopt): Call mark_modified. + (class hggroup): New graphics object class. + * graphics.cc (lookup_object_name, make_graphics_object_from_type, + property_list::lookup, property_list::set, + root_figure::init_factory_properties): Support hggroup as possible + object type. + (hggroup::update_axis_limits): New graphics object class. + (make_graphics_object): Look for "parent" property in the arguments + and use it as actual parent for the created object. + (F__go_hggroup__): New function. + (F__go_delete__): Set Vdrawnow_requested to true. + + * graphics.h.in (base_property::clone, string_property::clone, + radio_property::clone, color_property::clone, double_property::clone, + double_radio_property::clone, array_property::clone, + row_vector_property::clone, bool_property::clone, + handle_property::clone, callback_property::clone, any_property::clone, + property::clone): New virtual method. + (property::create): New static method to create dynamic properties. + (base_properties::has_property): New method to check the existence of + a property. + (any_property::any_property, row_vector_property::row_vector_property, + double_radio_property::double_radio_property): New copy constructors. + * graphics.cc (lookup_object_name): New static utility function. + (make_graphics_object_from_type): Likewise. + (gh_manager::do_make_graphics_handle): Use it. + (dprop_obj_map): New static map used for chaching purpose in dynamic + property creation. + (property::create): New static method to create dynamic properties. + (base_properties::has_property): New method to check the existence of + a property. + (base_properties::override_defaults): Check parent validity. + (Faddlistener): Documentation fix. + (Faddproperty): New function to create dynamic properties. + + * genprops.awk (emit_get_array): Don't produce get_xxx_property + accessors. + * graphics.h.in (array_property::get_limits): New method to return the + array limits. + (base_properties::get_xdata_property, + base_properties::get_ydata_property, + base_properties::get_zdata_property, + base_properties::get_ldata_property, + base_properties::get_udata_property, + base_properties::get_xldata_property, + base_properties::get_xudata_property, + base_properties::get_cdata_property): Remove methods, replaced with + limit-based equivalent. + (base_graphics_object::get_xdata_property, + base_graphics_object::get_ydata_property, + base_graphics_object::get_zdata_property, + base_graphics_object::get_ldata_property, + base_graphics_object::get_udata_property, + base_graphics_object::get_xldata_property, + base_graphics_object::get_xudata_property, + base_graphics_object::get_cdata_property): Likewise. + (graphics_object::get_xdata_property, + graphics_object::get_ydata_property, + graphics_object::get_zdata_property, + graphics_object::get_ldata_property, + graphics_object::get_udata_property, + graphics_object::get_xldata_property, + graphics_object::get_xudata_property, + graphics_object::get_cdata_property): Likewise. + (base_properties::get_xlim, base_properties::get_ylim, + base_properties::get_zlim, base_properties::get_clim, + base_properties::get_alim, base_properties::is_xliminclude, + base_properties::is_yliminclude, base_properties::is_zliminclude, + base_properties::is_climinclude, base_properties::is_aliminclude): + New methods. + (base_graphics_object::get_xlim, base_graphics_object::get_ylim, + base_graphics_object::get_zlim, base_graphics_object::get_clim, + base_graphics_object::get_alim, base_graphics_object::is_xliminclude, + base_graphics_object::is_yliminclude, + base_graphics_object::is_zliminclude, + base_graphics_object::is_climinclude, + base_graphics_object::is_aliminclude): Likewise. + (graphics_object::get_xlim, graphics_object::get_ylim, + graphics_object::get_zlim, graphics_object::get_clim, + graphics_object::get_alim, graphics_object::is_xliminclude, + graphics_object::is_yliminclude, graphics_object::is_zliminclude, + graphics_object::is_climinclude, graphics_object::is_aliminclude): + Likewise. + (base_graphics_object::update_axis_limits): Provide default behavior + by passing the call to the parent object. + (line::properties::xdata, line::properties::ydata, + line::properties::zdata, line::properties::ldata, + line::properties::udata, line::properties::xldata, + line::properties::xudata): Replace 'l' modifier with 'u'. + (line::properties::xlim, line::properties::ylim, + line::properties::zlim, line::properties::xliminclude, + line::properties::yliminclude, line::properties::zliminclude): New + hidden properties. + (line::properties::update_xdata, line::properties::update_ydata, + line::properties::update_zdata, line::properties::update_xldata, + line::properties::update_xudata, line::properties::update_ldata, + line::properties::update_udata): New updaters that update limit + properties. + (line::properties::compute_xlim, line::properties::compute_ylim): New + method to compute actual limits taking into account x/y data and + upper/lower bounds. + (text::properties::position): Add 'u' modifier. + (text::properties::xlim, text::properties::ylim, + text::properties::zlim, text::properties::xliminclude, + text::properties::yliminclude, text::properties::zliminclude): New + hidden properties. + (text::properties::update_position): New updater that updates limit + properties. + (image::properties::xdata, image::properties::ydata, + image::properties::cdata): Replace 'l' modifier with 'u'. + (image::properties::cdatamapping): Add 'l' modifier. + (image::properties::xlim, image::properties::ylim, + image::properties::clim, image::properties::xliminclude, + image::properties::yliminclude, image::properties::climinclude): New + hidden properties. + (image::properties::get_climinclude, + image::properties::is_climinclude): Provide specialized inline + accessors. + (image::properties::update_xdata, image::properties::update_ydata, + image::properties::update_cdata): New updaters that update limit + properties. + (patch::properties::xdata, patch::properties::ydata, + patch::properties::zdata, patch::properties::cdata): Replace 'l' + modifier with 'u'. + (patch::properties::cdatamapping): Add 'l' modifier. + (patch::properties::alphadatamapping): New property. + (patch::properties::xlim, patch::properties::ylim, + patch::properties::zlim, patch::properties::clim, + patch::properties::alim, patch::properties::xliminclude, + patch::properties::yliminclude, patch::properties::zliminclude, + patch::properties::climinclude, patch::properties::aliminclude: New + hidden properties. + (patch::properties::get_climinclude, + patch::properties::is_climinclude, patch::properties::get_aliminclude, + patch::properties::is_aliminclude): Provide specialized inline + accessors. + (patch::properties::update_xdata, patch::properties::update_ydata, + patch::properties::update_zdata, patch::properties::update_cdata): New + updaters that update limit properties. + (surface::properties::xdata, surface::properties::ydata, + surface::properties::zdata, surface::properties::cdata, + surface::properties::alphadata): Replace 'l' modifier with 'u'. + (surface::properties::cdatamapping, + surface::properties::alphadatamapping): Add 'l' modifier. + (surface::properties::xlim, surface::properties::ylim, + surface::properties::zlim, surface::properties::clim, + surface::properties::alim, surface::properties::xliminclude, + surface::properties::yliminclude, surface::properties::zliminclude, + surface::properties::climinclude, surface::properties::aliminclude: New + hidden properties. + (surface::properties::get_climinclude, + surface::properties::is_climinclude, + surface::properties::get_aliminclude, + surface::properties::is_aliminclude): Provide specialized inline + accessors. + (surface::properties::update_xdata, surface::properties::update_ydata, + surface::properties::update_zdata): Update limit properties. + (surface::properties::update_cdata, + surface::properties::update_alphadata): New updaters that update limit + properties. + * graphics.cc (base_properties::update_axis_limits): Simply call + update_axis_limits in owning graphics_object. + (base_graphics_object::update_axis_limits): Provide default behavior + by passing the call to the parent object. + (check_limits_vals(double&,double&,double&,const octave_value&)): New + static method to work with new limit properties in graphics objects. + (get_children_limits): New static method to compute the raw limits of + a set of children, based on the new limit properties. + (axes::update_axis_limits): Simplify and call get_children_limits. Add + handling of alpha limits. + (line::properties::compute_xlim, line::properties::compute_ylim): New + methods to compute line limits taking into account upper/lower bounds. + + * graphics.cc (axes::properties::sync_positions): Update + transformation data. + + * graphics.cc (Faddlistener): Rename from Fadd_listener. + + * graphics.h.in (axes::properties::pixel2coord): Center Z coordinate + on x_zlim instead of 0. + (axes::properties::zoom, axes::properties::unzoom, + axes::properties::clear_zoom_stack): New methods to handle zoom stack. + (axes::properties::zoom_stack): New field to hold zoom stack. + (axes::properties::update_xlim, axes::properites::update_ylim): + Additional do_clr_zoom argument to control whether the zoom stack will + be cleared. + (axes::properties::update_zlim): Clear zoom stack. + * graphics.cc (axes::properties::zoom, axes::properties::unzoom, + axes::properties::clear_zoom_stack): New methods to handle zoom stack. + + * genprops.awk (emit_source): Use all properties in factory defaults. + + * graphics.h.in (base_property::base_property): Set internal counter + to 1 by default. + (property::property): Adapt constructors to default counter value in + base_property. + + * graphics.h.in (base_properties::get_property): Make virtual and + remove const modifier. + * graphics.cc (base_properties::get_property): Can return built-in + properties. Generate an error if the property does not exist. + (base_properties::add_listener): Use get_property. + (Fadd_listener): Add documentation. + * genprops.awk (emit_common_declarations, emit_source): Emit code for + overloaded get_property method. + + * genprops.awk (emit_declarations): Run listeners in the property + setter methods. + * graphics.h.in (enum listener_mode): New enum type for listeners. + (base_property::set): Make non-virtual and handle listeners execution. + (base_property::listeners): New field holding a map of listeners. + (base_property::add_listener, base_property::run_listeners, + base_property::do_set): New methods to handle listeners. + (property::add_listener, property::run_listeners): Likewise. + (base_properties::add_listener): Likewise. + (base_graphics_object::add_property_listener, + graphics_object::add_property_listener): Likewise. + (all property classes): Rename set to do_set and make it protected. + * graphics.cc (base_property::run_listeners): New method to execute + listeners. + (color_property::set, double_radio_property::set, + handle_property::set): Rename to do_set. + (base_properties::add_listener): New method to handle listener + additio. Only handle dynamic properties. + (Fadd_listener): New octave interface to add property listeners to + graphics object. + + * genprops.awk (emit_get_data): Remove. + (emit_declarations): Treat row_vector_property as array_property and + remove data_property references. + * graphics.h.in (array_property::array_property(array_property)): Add + copy constructor. + (class data_property): Remove (replaced by array_property). + (class base_graphics_backend, class graphics_backend): Replace + data_property references with array_property. + (line::properties::xdata, line::properties::ydata, + line::properties::zdata, line::properties::ldata, + line::properties::udata, line::properties::xldata, + line::properties::xudata): Turn into row_vector_property. + (image::properties::xdata, image::properties::ydata): Likewise. + (image::properties::init): Add length constraints for xdata and ydata. + (patch::properties::xdata, patch::properties::ydata, + patch::properties::zdata, patch::properties::facevertexalphadata): + Turn into array_property. + (surface::properties::xdata, surface::properties::ydata, + surface::properties::zdata): Likewise. + (patch::properties::init): Add size constraints for xdata, ydata, + zdata and facevertexalphadata. + (surface::properties::init): Add size constraints for xdata, ydata and + zdata. + * graphics.cc (check_limit_vals): Remove override with data_property. + (axes::update_axis_limits): Replace data_property references with + array_property. + + * graphics.h.in (root_figure::get_default): Use factory defaults when + no explicit default value exists. + (figure::properties::set___backend__): Reset __plot_stream__ to empty + value. + * graphics.cc (gh_manager::gh_manager): Call + graphics_backend::default_backend to make sure the default backend is + initialized. + + * graphics.h.in (patch::properties::edgealpha, + surface::properties::facealpha, surface::properties::edgealpha): Fix + typos in property names. + + * graphics.h.in (class double_radio_property): New property class for + holding face/edge alpha values. + (patch::properties::facealpha, patch::properties::edgealpha, + surface::properties::facealpha, surface::properties::edgealpha): Use + double_radio_property class. + * graphics.cc (double_radio_property::set): Implement new property + class. + * genprops.awk (emit_get_double_radio): New function to emit code for + double_radio_property. + (emit_declarations): Use it. + + * graphics.h.in (array_property::array_property(void)): New default + constructor. + (array_property::xmin, array_property:xmax, array_property::xminp, + array_property::min_val, array_property::max_val, + array_property::min_pos): New fields and accessors to hold min/max + values of the array data. + (array_property::get_data_limits): New method to compute min/max + values of the array data. + (base_properties::get_cdata_property, + graphics_object::get_cdata_property): Return array_property. + (image::properties::cdata, surface::properties::cdata, + patch::properties::cdata, patch::properties::facevertexcdata): Turn + into array_property type. + (image::properties::init, surface::properties::init, + patch::properties::init): Add constraint initialization for cdata and + facevertexcdata (patch only). + * genprops.awk (emit_get_array): New function to emit accessor for + array_property. + (emit_declarations): Use it. + * graphics.cc (get_array_limits): New template function to compute + min/max values of an Array object. + (array_property::get_data_limits): New method to compute min/max + values of the array data, using get_array_limits. + (check_limit_vals): Overridden function with array_property. + (axes::update_axis_limits): Turn cdata property into array_property. + + * graphics.h.in (patch::properties::get_color_data): New utility + function to retrieve actual color data. + * graphics.cc (patch::properties::get_color_data): Likewise. + + * graphics.h.in (base_scaler::is_linear, lin_scaler::is_linear, + scaler::is_linear): New method to detect linear scales. + (graphics_xform::scale(Matrix)): New method to scale 2D/3D coordinates + directly. + (patch::properties::facelighting): Set default value to "none". + + * graphics.h.in (axes::axes): Be sure to initialize transformation + data correctly. + + * graphics.cc (xget_ancestor): Pass graphics_object argument by value + instead of by reference. + + * graphics.h.in (surface::properties::xdata, + surface::properties::ydata, surface::properties::zdata, + surface::properties::normalmode, surface::properties::vertexnormals): + Add 'u' modifier. + (surface::properties::update_normals): New method to compute normals + automatically. + (surface::properties::update_xdata, surface::properties::update_ydata, + surface::properties::update_zdata, + surface::properties::update_normalmode, + surface::properties::update_vertexnormals): New updaters to update + normals automatically. + * graphics.cc (surface::properties::update_normals): Likewise. + (cross_product): New inlined utility function for cross product + computation adn accumulation. + + * graphics.h.in (class base_scaler, class lin_scaler, class + log_scaler, class scaler): Add scale method for NDArray. + (log_scaler::do_scale): Factorize scaling code. + + * graphics.h.in (figure::properties::update_position): Re-remove. + (figure::properties::facecolor): Re-add 'texturemap' value. + (surface::properties::get_color_data): New method to compute actual + surface color data from cdata. + * graphics.cc (surface::properties::get_color_data): Likewise. + (xget_ancestor): New utility function to retrieve an ancestor of a + given type. + (convert_cdata): New utility function to convert cdata property into + actual color data. + + * graphics.h.in (surface::properties::facecolor): Add "texturemap" + as possible value. + (class surface::properties): New properties alphadata, + alphadatmapping, ambientstrength, backfacelighting, diffusestrength, + edgealpha, edgelighting, erasemode, facelighting, meshstyle, + normalmode, specularcolorreflectance, specularexponent, + specularstrength, vertexnormals. + (surface::properties::init): Add constraints for alphadata, + vertexnormals and cdata (the latter are commented until cdata + has changed type). + + * graphics.h.in (base_properties::update_boundingbox): New method + to handle object resize. + (figure::properties::set_boundingbox): New method to set figure + position from backend. + (figure::properties::update_position): Remove method. + (figure::properties::position): Remove 'u' modifier and add 'S' + modifier. + (axes::properties::update_boundingbox): Overload to recompute + transformation when axes size changed. + * graphics.cc (base_properties::update_boundingbox): New method. + (figure::properties::set_boundingbox, + figure::properties::set_position): Likewise. + + * genprops.awk: Add 'U' modifier to support extern updaters. + * graphics.h.in (base_graphics_backend::gripe_invalid): New method + to simplify error reporting. + (class base_graphics_backend): Use it. + (base_graphics_backend::set_figure_position): New backend method. + (graphics_backend::set_figure_position): Likewise. + (figure::properties::position): Mark property with updater. + (figure::properties::update_position): New updater. + + * graphics.h.in (root_figure::properties::callbackobject): + New root property. + (root_figure::properties::cbo_stack): New field. + * graphics.cc (xset_gcbo, xreset_gcbo): New utility functions. + (execute_callback): Set callbackobject property in root object + before executing a callback. + (root_figure::properties::set_callbackobject): Implement accessor. + + * graphics.h.in (root_figure::properties::callbackobject): + New root property. + (root_figure::properties::cbo_stack): New field. + * graphics.cc (xset_gcbo, xreset_gcbo): New utility functions. + (execute_callback): Set callbackobject property in root object + before executing a callback. + (root_figure::properties::set_callbackobject): Implement accessor. + + * graphics.h.in (class root_figure::properties, + class line::properties, class text::properties, + class image::properties, class patch::properties, + class surface::properties): Export classes with + OCTINTERP_API. + + * graphics.cc (axes::properties::set_defaults): Use correct + default values for gridlinestyle and minorgridlinestyle. + +2008-06-03 Jaroslav Hajek + + * load-save.cc (Fload): Fix "-7" option. + +2008-06-02 David Bateman + + * pt.cc (tree:last_break_function): Next pointer to last function + with a breakpoint. + * pt.h (tree:last_break_function): ditto. + * debug.cc (Fdbstep): Use tree::break_function value of zero to + signal to step into the next function. Set tree::last_break_function + to indicate position of last breakpoint. + (Fdbnext): Set tree::last_break_function to indicate position of + last breakpoint. + * pt-bp.h (MAYBE_DO_BREAKPOINT): Check tree::break_function value + of zero as well. Only check tree::last_line if we are in teh same + function as the last breakpoint. + * input.cc (char Vfilemarker): New global variable. + (Ffilemarker): New function to query and set Vfilemarker. + * input.h (extern char Vfilemarker): Make Vfilemarker available. + * util.cc (fcn_file_in_path): If the input argument contains + Vfilemarker, strip the trailing part of string from this point + when looking for function file. + * toplev.cc (octave_call_stack::fo_backtrace): Mark subfunctions + with the name of the parent function and Vfilemarker. + * symtab.cc (symbol_table::find_function (const std::string&, + tree_argument_list *, const string_vector&, octave_value_list*, + bool&): If function name contains Vfilemarker, check in scope of + specified parent function. + + * DLD-FUNCTIONS/betainc.cc: Move test code here. Add test code for + single precision type. + * DLD-FUNCTIONS/gammainc.cc: Ditto. + * DLD-FUNCTIONS/gcd.cc (Fgcd): Support single precision. Move test + code here. Add test code for single precision type. + * data.cc: Move test code here and add tests for single precision + type. Add tests for Fislogical. + (NATIVE_REDUCTION): Support the 'double' argument. + * mapper.cc: Move test code here and add tests for single precision + type. + * ov-float.cc (CD_SCALAR_MAPPER): Replace Complex with + FloatComplex. + (erf, erfc, abs, acos, asin, asinh, atan, atanh, ceil, cos, cosh, + exp, expm1, floor, log10, log1p, sin, sinh, sqrt, tan, tanh): Use + float version of base functions (ie. ::sinf and not ::sin) + (lgamma, acosh, log, log2, log10, log1p): Use single precision + infinity value. + * ov-flt-complex.cc (erf, erfc, expm1, log1p): Use the float + version of base functions. + * ov-flt-cx-mat.cc (DARRY_MAPPER): Replace NDArray with FloatNDArray. + (erf, erdc, gamma): Use FloatNDArray::dmapper and not + NDArray::dmapper. + * ov-flt-cx-mat.h (is_double_type): Delete. + (is_single_type): New method. + * ov-flt-re-mat.cc (lgamma, acosh, log, log2, log10, log1p, + sqrt): Use single precision infinity value. + + * chol.cc (Fcholinv, Fchol2inv, Fcholupdate, Fcholinsert, + Fcholdelete, Fcholshift): Allow single precision arguments. + (Fchol): Move test code here. Add test code for single precision. + (Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Add test code + for single precision. + * conv2.cc (Fconv2): Add single precision test code. + * det.cc (Fdet): For single values or empty matrices, return + single precision arg for single precion input. Move test code + here. Add single precision test code. + * fft.cc (do_fft): For empty single precision arguments return a + single precision value. Add single precision test code. Remove + fft2 test code. + * fft2.cc (do_fft2): For empty single precision arguments return a + single precision value. Add single precision test code. Move fft2 + test code here. + * fftn.cc (do_fftn): For empty single precision arguments return a + single precision value. + * eig.cc (Feig): Move test code here. Add single precision test + code. + * expm.cc (Fexpm): Ditto. + * find.cc (Ffind): Ditto. + * hess.cc (Fhess): Ditto. + * inv.cc (Finc): Ditto. + * lu.cc (Flu): Ditto. + * qr.cc (Fqr): Ditto. + * schur.cc (Fschur): Ditto. + * svd.cc (Fsvd): Ditto. + * syl.cc (Fsyl): Ditto. + + * op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, + op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, + op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, + op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc: Add mixed + double, single precision concatenation operators. + + * data.cc (Fall, Fany, Fdiag, Fcat, Fismatrix, Fones, Fzeros, + Finf, FNaN, FNA, Feye, Flinspace, Freshape, Ftranspose, + Fctranspose, Fsort). Move tests here. Add single precision tests. + * mappers.cc (Ffinite, Fisinf, Fisna, Fisnan): Ditto. + * ov-float.cc (octave_float_scalar:resize): single precision + return value. + * ov.cc (octave_value::octave_value (const + FloatComplexDiagMatrix&)): Ditto. + * data.cc (Fnorm): Add single precision. + (do_cat): Disable fast return and skipping empty matrices, as they + play a part in determining the return type. + * ov.cc (octave_value do_cat_op (const octave_value&, const + octave_value&, const Array&)): ditto. + +2008-06-02 Jaroslav Hajek + + * ov-cell.cc (Fcellstr): For compatibility with Matlab, return {''} + when given ''. + +2008-05-26 Jaroslav Hajek + + * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function, + fsolve_user_jacobian): Reshape argument to original dims before + passing. + (Ffsolve): Save original dimensions of the starting guess and reshape + on return. Fix tests. + +2008-05-21 David Bateman + + * DLD-FUNCTIONS/quad.cc (quad_float_user_function): New function. + (Fquad): Handle float type. + New tests. + +2008-05-21 Jaroslav Hajek + + * OPERATORS/op-fcm-fcm.cc (trans_mul, mul_trans, herm_mul, mul_herm): + New functions. + (install_fcm_fcm_ops): Install them. + * OPERATORS/op-fm-fm.cc (trans_mul, mul_trans): New functions. + (install_fm_fm_ops): Install them. + + * OPERATORS/op-sm-m.cc (trans_mul): New function. + (install_sm_m_ops): Register it. + * OPERATORS/op-m-sm.cc (mul_trans): New function. + (install_m_sm_ops): Register it. + * OPERATORS/op-scm-cm.cc (trans_mul, herm_mul): New function. + (install_scm_cm_ops): Register it. + * OPERATORS/op-cm-scm.cc (mul_trans, mul_herm): New function. + (install_cm_scm_ops): Register it. + + * dMatrix.cc: Declare DSYRK. + (xgemm): Call DSYRK if symmetric case detected. + * CMatrix.cc: Declare ZSYRK, ZHERK. + (xgemm): Call ZSYRK/ZHERK if symmetric/hermitian case detected. + + * ov.h (octave_value::compound_binary_op): New enum. + (do_binary_op (octave_value::compound_binary_op, ...), + octave_value::binary_op_fcn_name (compound_binary_op), + octave_value::do_binary_op (compound_binary_op, ...)): + New declarations. + (OV_COMP_BINOP_FN): New macro (+ several expansions). + * ov.cc (octave_value::binary_op_fcn_name (compound_binary_op), + decompose_binary_op, do_binary_op (compound_binary_op, ...)): + New functions. + * ov-typeinfo.h (octave_value_typeinfo::register_binary_class_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::register_binary_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_register_binary_class_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_register_binary_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_lookup_binary_class_op + (octave_value::compound_binary_op), + octave_value_typeinfo::do_lookup_binary_op + (octave_value::compound_binary_op, ...)): + New declarations. + (octave_value_typeinfo::lookup_binary_class_op + (octave_value::compound_binary_op), + (octave_value_typeinfo::lookup_binary_op + (octave_value::compound_binary_op, ...)): + New functions. + (octave_value_typeinfo::compound_binary_class_ops, + octave_value_typeinfo::compound_binary_ops): + New fields. + * ov-typeinfo.cc (octave_value_typeinfo::register_binary_class_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::register_binary_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_register_binary_class_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_register_binary_op + (octave_value::compound_binary_op, ...), + octave_value_typeinfo::do_lookup_binary_class_op + (octave_value::compound_binary_op), + octave_value_typeinfo::do_lookup_binary_op + (octave_value::compound_binary_op, ...)): + New functions. + (octave_value::do_register_type): Resize also compound_binary_ops + field. + * pt-exp.h (tree_expression::is_unary_expression): New virtual + function. + * pt-unop.h (tree_unary_expression::is_unary_expression): New virtual + override. + * pt-cbinop.h, pt-cbinop.cc: New files (implement + tree_compound_binary_expression class). + * pt-all.h: Include pt-cbinop.h. + * Makefile.in (PT_INCLUDES, PT_SRC): Include them in the lists. + * parse.y (make_binary_op): Call maybe_compound_binary_expression. + * OPERATORS/op-m-m.cc (trans_mul, mul_trans): New operator handlers. + (install_m_m_ops): Register them. + * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): + New operator handlers. + (install_cm_cm_ops): Register them. + + * DLD-FUNCTIONS/matrix_type.cc: Fix tests relying on the + older more optimistic hermitian check. + +2008-05-21 David Bateman + + * DLD-FUNCTIONS/rcond.cc (Frcond): Add support for single precision. + + * DLD-FUNCTIONS/sqrt.m: Replace DBL_* with FLT_* for single + precision types. + * data.cc (static octave_value fill_matrix (const + octave_value_list&, double, float, const char *)): Add function + with additional argument to allow for different valid for double + and single precision. + (Finf, FNaN, FNA, Frealmax, Frealmin): Use it here. + (Feps): Modify behavior for a single numerical argument to give + difference to next largest value in the class of the type passed. + +2008-05-21 John W. Eaton + + * pt-idx.h (tree_index_expression::tree_index_expression (int, int)): + Delete default argument values. + +2008-05-20 David Bateman + + * data.cc (Flog2): Handle single precision. + * ov-float.h, ov.float.cc, ov-flt-complex.h, ov-flt-complex.cc, + ov-flt-re-mat.h, ov-flt-re-mat.cc, ov-flt-cx-mat.h, + ov-flt-cx-mat.cc: Provide single precision version of log2 mapper + function. + + * DLD-FUNCTIONS/__convn__.cc, DLD-FUNCTIONS/__pchip_deriv__.cc, + DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, + DLD-FUNCTIONS/conv2.cc, DLD-FUNCTIONS/gammainc.cc, + DLD-FUNCTIONS/givens.cc, DLD-FUNCTIONS/kron.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/syl.cc, data.cc: + Prefer demotion to single precision rather than promotion to double. + + * ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, + ov-flt-cx-mat.cc, ov-flt-cx-mat.h, ov-flt-re-mat.cc, + ov-flt-re-mat.h (numeric_conversion_function (void) const): + Remove method. + + * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h + (numeric_conversion_function (void) const): Add method for + conversion to single precision. + + * DLD-FUNCTIONS/conv2.cc (Fconv2): Don't access third arg if we + don't have one. + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/expm.cc, + DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/hess.cc, + DLD-FUNCTIONS/qr.cc: COnvert for use with single precision. + + * OPERATORS/op-int.h, OPERATORS/op-int-conv.cc, + OPERATORS/op-int-concat.cc: Adapt for single precision. + + * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, + OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, + OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, + OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: + Add includes for single precision types. + + * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, + OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fs.cc, + OPERATORS/op-fm-fs.cc, OPERATORS/op-fs-fcm.cc, + OPERATORS/op-fs-fcs.cc, OPERATORS/op-fs-fm.cc, + OPERATORS/op-fs-fs.cc, OPERATORS/op-int.h, ov.cc, ov-scalar.cc, + ov-float.h, ov-flt-complex.cc, ov-float.cc, ov-flt-re-mat.cc, + ov-flt-cx-mat.cc: Replace octave_float with octave_scalar_float + + * OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, + OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, + OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, + OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, + OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc, + OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, + OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, + OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, + OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, + OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, + OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, + OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc: + Add mixed single/double assign operators. + + * ov.h (numeric_demotion_function): New method for double to + single demotion. + * ov-base.h (numeric_demotion_function): Declare virtual version. + + * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h + (numeric_cdemote_function (void) const): Add method for + conversion to single precision renamed from the method + numeric_conversion_function + + * ov.cc (do_binary_op): Use demotion function seperately than the + numeric conversion function so as to avoid isses like + a=zeros(2,2);a(1,:)=1:2. + + * OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, + OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc, + OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, + OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, + OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, + OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, + OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, + OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, ov-float.cc, + ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-mat.cc, + ov-flt-cx-mat.h, ov-flt-re-mat.cc, ov-flt-re-mat.h: New files. + * Makefile.in (OV_INCLUDES, OV_SRC, OP_XSRC. FLOAT_OP_XSRC, + DOUBLE_OP_XSRC): Add them here. + + * DLD-FUNCTIONS/__convn__.cc, DLD-FUNCTIONS/__lin_interpn__.cc, + DLD-FUNCTIONS/__pchip_deriv__.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/betainc.cc, DLD-FUNCTIONS/bsxfun.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/conv2.cc, + DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/fft.cc, + DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, + DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/givens.cc, + DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc, + DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/max.cc, + DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/schur.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, + DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc, + DLD-FUNCTIONS/typecast.cc, OPERATORS/op-b-b.cc, + OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-cs-cs.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-range.cc, OPERATORS/op-s-s.cc, bitfcns.cc, data.cc, + oct-stream.cc, ov-base.cc, ov-base.h, ov-bool-mat.cc, + ov-bool-mat.h, ov-bool.h, ov-ch-mat.cc, ov-ch-mat.h, + ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, ov-intx.h, + ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.h, + ov.cc, ov.h, pr-output.cc, pr-output.h, pt-mat.cc, utils.cc, + utils.h, xdiv.cc, xdiv.h, xpow.cc, xpow.h: + Allow single precision types. + +2008-05-20 David Bateman + + * DLD-FUNCTIONS/rcond.cc: New function. + * Makefile.in (DLD_XSRC): Add it here. + + * debug.cc (Fdbstop): If no line specified assume line 1. + (Fdbstep, Fdbcont, Fdbnext): Move debugging functions + to normal commands. + (Fdbquit): New command to quit debugging mode and return to the + prompt. + (Fdbstep): Modify the dbstep command for compatibility. + * input.cc (Vdebugging_current_line): Store current line being + debugged for use in DEFCMD versions of debug commands. + (match_sans_spaces_semi): Delete. + (static void get_debug_input (const std;string&)): New function to + parse input in debug mode using standard Octave parser. + (static octave_value_list get_user_input (const + octave_value_list&, int)): Remove debugging specialization. + * input.h (Vdebugging_current_line): Store current line being + debugged for use in DEFCMD versions of debug commands. + * parse.y (make_return_command): Special handling in debug mode. + * pt-bp.h (MAYBE_DO_BREAKPOINT): Support break in n lines needed + to support "dbstep N". + * pt.cc (tree::break_next): Convert to a down counter to support + break in N lines. Breakpoint occure when tree::break_next is zero. + * toplev.cc (octave_user_script * + octave_call_stack::do_caller_user_script (difference_type) const): + Support skipping the first N functions to support "dbstep out". + (octave_user_function * octave_call_stack::do_caller_user_function + (difference_type) const): Ditto. + (octave_user_code * octave_call_stack::do_caller_user_code + (difference_type) const): Ditto. + * toplev.h (octave_user_script * + octave_call_stack::do_caller_user_script (difference_type) const): + Add difference_type argument. + (octave_user_function * octave_call_stack::do_caller_user_function + (difference_type) const): Ditto. + (octave_user_code * octave_call_stack::do_caller_user_code + (difference_type) const): Ditto. + (static octave_user_script *caller_script (difference_type)): + Ditto. + (static octave_user_function *caller_user_function + (difference_type q)): Ditto. + (static octave_user_code *caller_user_code (difference_type q)): + Ditto. + +2008-05-20 Kim Hansen + + * load-path.cc (load_path::do_initialize): + Include separator when appending sys_path. + +2008-05-20 Bill Denney + + * file-io.cc (Ffgets, Fgets, Ffputs, Ffscanf): Doc fix (seealso). + +2008-05-20 Thomas Weber + + * DLD-FUNCTIONS/rand.cc (Frandn): Doc fix. + +2008-05-20 David Bateman + + * load-save.cc (do_load): Treat non verbose list_only output in + the same manner as Fwho. + * symtab.h (static void clear_variable_regexp (const + std::string&): New method. + (static std::list regexp (const std::string&)): Ditto. + (static std::list regexp_variables (const + std::string&)): Ditto. + (static std::list regexp_global_variables (const + std::string&)): Ditto, + (static std::list regexp_variables (const + string_vector&)): Ditto. + (void do_clear_variable_regexp (const std::string&)): Ditto. + (std::list do_regexp (const std::string&, bool) + const): Ditto. + (do_who): Accept the "-regexp" option. Use regexp versions of + symbol table functions. + (static inline bool name_match_any_pattern (const string_vector&, + int, int, bool): Add regexp argument, and use regexp matching if + true. + (do_clear_variables): Add regexp option and pass to + name_match_any_pattern. + (Fclear): Accept the -regexp option. + +2008-05-07 John W. Eaton + + * pt-arg-list.cc, pt-arg-list.h (tree_argument_list::dup): + New arg, context. + * pt-assign.cc, pt-assign.h (tree_simple_assignment::dup, + tree_multi_assignment::dup): Likewise. + * pt-binop.cc, pt-binop.h (tree_binary_expression::dup, + tree_boolean_expression::dup): Likewise. + * pt-cell.cc, pt-cell.h (tree_cell::dup): Likewise. + * pt-cmd.cc, pt-cmd.h (tree_no_op_command::dup, + tree_function_def::dup): Likewise. + * pt-colon.cc, pt-colon.h (tree_colon_expression::dup): Likewise. + * pt-const.cc, pt-const.h (tree_constant::dup): Likewise. + * pt-decl.cc, pt-decl.h (tree_decl_elt::dup, tree_decl_init_list::dup, + tree_global_command::dup, tree_static_command::dup): Likewise. + * pt-except.cc, pt-except.h (tree_try_catch_command::dup, + tree_unwind_protect_command::dup): Likewise. + * pt-exp.h (tree_expression:dup): Likewise. + * pt-fcn-handle.cc, pt-exp.h (tree_expression:dup): Likewise. + * pt-fcn-handle.h (tree_fcn_handle::dup, + tree_anon_fcn_handle::dup): Likewise. + * pt-id.cc, pt-id.h (tree_identifier::dup): Likewise. + * pt-idx.cc, pt-idx.h (tree_index_expression::dup): Likewise. + * pt-jump.cc, pt-jump.h (tree_break_command::dup, + tree_continue_command::dup, tree_return_command::dup): Likewise. + * pt-loop.cc, pt-loop.h (tree_while_command::dup, + tree_do_until_command::dup, tree_simple_for_command::dup, + tree_complex_for_command::dup): Likewise. + * pt-mat.cc, pt-mat.h (tree_matrix::dup): Likewise. + * pt-misc.cc, pt-misc.h (tree_parameter_list::dup, + tree_return_list::dup): Likewise. + * pt-select.cc, pt-select.h (tree_if_clause::dup, + tree_if_command_list::dup, tree_if_command::dup, + tree_switch_case::dup, tree_switch_case_list::dup, + tree_switch_command::dup, tree_statement::dup, + tree_statement_list::dup, tree_prefix_expression::dup, + tree_postfix_expression::dup): Likewise. + + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, + octave_fcn_handle::save_binary, octave_fcn_handle::save_hdf5): + Pass context to symbol_table::all_variables. + * load-save.cc (dump_octave_core): Likewise. + * ov-fcn-handle.cc (Ffunctions): Don't skip anonymous functions + with the name set to the text of the function body. + Pass context to symbol_table::all_variables and + symbol_table::symbol_record::varval. + + * symtab.h (symbol_table::varref, symbol_table::do_varref, + symbol_table::varval, symbol_table::do_varval, + symbol_table::all_variables, symbol_table::do_all_variables, + symbol_table::symbol_record::varref, + symbol_table::symbol_record::varval, + symbol_table::symbol_record::is_defined, + symbol_table::symbol_record::is_variable, + symbol_table::symbol_record::symbol_record_rep::varref, + symbol_table::symbol_record::symbol_record_rep::varval, + symbol_table::symbol_record::symbol_record_rep::is_defined, + symbol_table::symbol_record::symbol_record_rep::is_variable, + ): + * symtab.h (symbol_table::do_inherit): New arg, donor_context. + Look for value in donor_contxt. Set value in base context. + * symtab.cc (symbol_table::symbol_record::symbol_record_rep::dump): + Pass xcurrent_context to varval. + +2008-05-06 David Bateman + + * ov-fcn-inline.cc (Finline): Also ignore NaN, Inf, pi, NA and eps. + + * bitfcns.cc (BITOP): Treat octave_bool types and octave_scalar. + +2008-05-06 John W. Eaton + + * symtab.h (symbol_table::scope_id_cache): New class. Use it to + replace scope_ids_in_use and scope_ids_free_list. + (symbol_table::erase_scope): Call free_scope. + (symbol_table::free_scope): Call scope_id_cache::free. + + * ov-fcn.h (octave_function::lock_subfunctions, + octave_function::unlock_subfunctions): New virtual functions. + (octave_function::lock_subfunctions): Call lock_subfunctions here. + (octave_function::unlock_subfunctions): Call unlock_subfunctions here. + * ov-usr-fcn.h (octave_user_function::lock_subfunctions, + octave_user_function::unlock_subfunctions): New functions. + + * symtab.h (symbol_table::lock_subfunctions, + symbol_table::lock_subfunctions, + symbol_table::fcn_info::lock_subfunction, + symbol_table::fcn_info::unlock_subfunction, + symbol_table::fcn_info::fcn_info_rep::lock_subfunction, + symbol_table::fcn_info::fcn_info_rep::unlock_subfunction): + New functions. + + * symtab.h (symbol_table::set_scope, symbol_table::get_instance): + Don't set instance unless allocation succeeds. + (symbol_table::print_scope, symbol_table::do_print_scope): Delete. + (symbol_table::free_scope): Avoid using invalid iterator. + (symbol_table::erase_scope): Call free_scope here. + + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, + octave_fcn_handle::load_binary, octave_fcn_handle::load_hdf5): + Cache anonymous name here. + (octave_fcn_handle::octave_fcn_handle): Move here from + ov-fcn-handle.h. Cache name if function is user-defined. + + * pt-id.cc (tree_identifier::dup): Avoid shadow warning. + + * symtab.h (symbol_table::cache_name, symbol_table::do_cache_name): + New functions. + (symbol_table::get_instance): Cache top-level name here. + * parse.y (finish_function): Call symbol_table::cache_name here. + + * symtab.cc (F__dump_symtab_info__): New function. + + * symtab.cc (symbol_table::dump, symbol_table::dump_global, + symbol_table::dump_functions, symbol_table::do_dump, + symbol_table::symbol_record::symbol_record_rep::dump, + symobl_table::fcn_info::fcn_info_rep::dump): New functions. + * symtab.h: Provide decls. + (symtab::scopes, symbol_table::symbol_record::dump, + symbol_table::fcn_info::dump): New functions. + (symtab::get_instance): New arg, create; if false throw error if + instance for given scope is not found. + + * ov-base.cc (octave_base_value::dump): New virtual function. + * ov-base.h: Proivde decl. + * ov.h (octave_value::dump): New function. + + * ov.h, ov.c (octave_value::function_value): New const version. + * ov-base.h, ov-base.cc (octave_base_value::function_value): Likewise. + * ov-builtin.h (octave_builtin::function_value): Likewise. + * ov-fcn-handle.h (octave_fcn_handle::function_value): Likewise. + * ov-mex-fcn.h (octave_mex_function::function_value): Likewise. + * ov-usr-fcn.h (octave_user_script::function_value, + octave_user_function): Likewise. + + * symtab.h, symtab.cc: Use consistent naming scheme for iterator + typedefs. Change all uses. + + * variables.cc (F__print_symtab_info__, F__print_symbol_info__): + Delete. + + * ov-cell.cc (Fstruct2cell): Handle structure arrays properly. + +2008-05-05 David Bateman + + * sysdep.cc (Fputenv): Allow single arg. Alias to setenv. + +2008-05-05 John W. Eaton + + * input.cc (Fre_read_readline_init_file): New function. + +2008-05-04 John W. Eaton + + * ov-fcn-handle.cc (Ffunctions): Pass octave_value object instead + of Cell in structure field assignment. + + * parse.y (frob_function): Don't install subfunctions here. + (finish_function): Handle subfunctions here. + Conditionally define tree_function_def object here. + + * symtab.h (symbol_table::fcn_info::fcn_info_rep::find_function): + Initialize args_evaluated. + * pt-id.cc (tree_identifier::rvalue): Likewise. + * variables.cc (symbol_exist): Likewise. + + * pt-id.h (tree_identifier::tree_identifer): Delete useless statement. + + * variables.cc (get_global_value): Use symbol_table::global_varval + instead of passing scope to symbol_table::varval. + (set_global_value): Use symbol_table::global_varref + instead of passing scope to symbol_table::varref. + (do_who): Use symbol_table::glob_global_variables + instead of passing scope to symbol_table::glob_variables. + (do_clear_globals): + Use symbol_table::global_variable_names and + symbol_table::clear_global instead of passing scope to + symbol_table::clear_variables. + Use symbol_table::global_variable_names instead of passing scope + to symbol_table::variable_names. + + * unwind-prot.cc (unwind_protect::save_size_t): New function. + (saved_variable::restore_value): Handle size_t values. + (saved_variable::saved_variable): New size_t constructor. + (saved_variable::size_type): New var_type enum value. + (saved_variable::ptr_to_size_t, saved_variable::size_t_value): + New union elements. + * unwind-prot.h (unwind_protect::save_size_t): Provide decl + (unwind_protect_size_t): New macro. + + * toplev.cc (octave_call_stack::do_goto_frame, + octave_call_stack::do_goto_frame_relative): New functions. + (octave_call_stack::do_backtrace): Also return scope and context ids. + * toplev.h (octave_call_stack::do_goto_frame, + octave_call_stack::do_goto_frame_relative): Provide decls. + (octave_call_stack::curr_frame): New data member. + (octave_call_stack::octave_call_stack): Initialize it. + (octave_call_stack::call_stack_elt::scope, + (octave_call_stack::call_stack_elt::context): New data members., + (octave_call_stack::current_frame, + (octave_call_stack::do_current_frame + octave_call_stack::do_goto_frame, + octave_call_stack::do_goto_frame_relative): New functions. + (octave_call_stack::push, octave_call_stack::do_push): + New args, scope and context. + (octave_call_stack::do_push, octave_call_stack::do_pop): Update + curr_frame if debugging. + + * symtab.cc (symbol_table::global_table): New map for global values. + (symbol_table::xcurrent_context): New variable for context info. + * symtab.h: Provide decls. + (symbol_table::global_varref, symbol_table::global_varval, + symbol_table::current_context, + symbol_table::set_scope_and_context, + symbol_table::glob_global_variables, + symbol_table::global_variable_names, + symbol_table::top_leve_variable_names): + New functions. + (symbol_table::context_id, const_global_table_iterator, + global_table_iterator): New typedefs. + (symbol_table::xcurrent_context_this_table): New variable. + (symbol_table::symbol_table): Initialize it. + (symbol_table::set_scope): Use it. + (symbol_table::symbol_record::find, symbol_table::do_find): + Use symbol_table::global_varref instead of passing scope to + symbol_table::varref. + (symbol_table::symbol_record::symbol_record_rep::value_stack): + Now a std::deque instead of a std::stack. + (symbol_table::symbol_record::symbol_record_rep::push_context, + symbol_table::symbol_record::symbol_record_rep::pop_context): + Don't push or pop persistent of global variables. + (symbol_table::symbol_record::symbol_record_rep::varval, + Handle context here. Call symbol_table::global_varval instead of + passing scope to symbol_table::varval. + (symbol_table::symbol_record::symbol_record_rep::varref): + Handle context here. Call symbol_table::global_varref instead of + passing scope to symbol_table::varref. + (symbol_table::symbol_record::varref, + symbol_table::symbol_record::varval): No need to handle global + values specially here. + (symbol_table::symbol_record::push_context + symbol_table::symbol_record::pop_context: No need to handle global + or persistent values specially here. + (symbol_table::get_instance): Don't return global scope. + (symbol_table::do_push_context, symbol_table::do_pop_context): + Increment/decrement xcurrent_context. + (symbol_table::do_clear_global, symbol_table::do_clear_global_pattern): + Use global_table instead of separate scope. + + * symtab.h, symtab.cc (symbol_table::fcn_info::fcn_info_rep::find, + symbol_table::fcn_info::fcn_info_rep::find_function, + symbol_table::fcn_info::find, symbol_table::fcn_info::find_function, + symbol_table::find, symbol_table::find_function, + symbol_table::do_find, symbol_table::insert, symbol_table::varref, + symbol_table::varval, symbol_table::persistent_varref, + symbol_table::persistent_varval, symbol_table::erase_persistent, + symbol_table::is_variable, symbol_table::clear, + symbol_table::clear_variables, symbol_table::clear_global, + symbol_table::clear_variable, symbol_table::clear_global_pattern, + symbol_table::clear_variable_pattern, symbol_table::push_context, + symbol_table::pop_context, symbol_table::mark_hidden, + symbol_table::mark_global, symbol_table::glob, + symbol_table::glob_variables, symbol_table::variable_names, + symbol_table::is_local_variable, symbol_table::is_global): + Eliminate scope arg. Change all uses. + (symbol_table::erase_scope, symbol_table::dup_scope): + Require scope arg. + + * pt-stmt.cc (tree_statement::eval): Don't update statement info + in octave_call_stack if debugging. + + * pt-id.h (tree_identifier::xsym): New function. + (tree_identifier::rvalue, tree_identifier::lvalue, + tree_identifier::dup, tree_identifier::is_defined, + tree_identifier::is_variable, tree_identifier::mark_global, + tree_identifier::mark_as_static, tree_identifier::do_lookup, + tree_identifier::mark_as_formal_parameter): + Use xsym to access symbol. + (tree_identifier::scope): New data member. + (tree_identifier::tree_identifier): Initialize it. + + * ov-usr-fcn.cc (octave_user_script::octave_user_script, + octave_user_function::octave_user_function): + Initialize call_depth to -1. + (octave_user_script::do_multi_index_op): Fix comparison of + call_depth with Vmax_recursion_depth. + (octave_user_function::do_multi_index_op): + Compare call depth > 0, instead of > 1. + * ov-usr-fcn.h (octave_user_function::save_args_passed): + Compare call depth > 0, instead of > 1. + + * input.cc (Vdebugging): New variable. + (get_user_input): Eliminate DEBUG argument. Use global Vdebugging + variable instead. Change all callers. + (saved_frame): New static variable. + (restore_frame): New function. + (do_keyboard): Unwind-protect Vdebugging here and set it to TRUE. + Save current frame. Use unwind_protect to restore it. + (Fkeyboard): Save current frame. Use unwind_protect to restore it. + Move up the call stack one frame before calling do_keyboard. + * input.h (Vdebugging): Provide decl. + + * mex.cc (mexGetVariable): Handle global vars with get_global_value. + (mexPutVariable): Likewise, with set_global_value. + + * octave.cc (intern_argv): Assert that we are at the top level. + Don't pass scope to symbol_table::varref or symbol_table::mark_hidden. + + * load-save.cc (install_loaded_variable): Use + symbol_table::global_varref instead of passing global scope to + symbol_table::varref. + + * help.cc (make_name_list): Call symbol_table::global_variable_names + and symbol_table::top_level_variable_names instead of passing + scope to symbol_table::variable_names. + + * debug.cc (do_dbupdown, Fdbup, Fdbdown): New functions. + (current_stack_frame): Delete static variable. + (Fdbstack): Rename from F__dbstack__. Implement all of dbstack + here instead of partially in dbstack.m. + +2008-05-03 John W. Eaton + + * pt-arg-list.cc (F__end__): If there are more dimensions than + indices, smash extra dimensions first. + (num_indices): New static variable. + (tree_argument_list::convert_to_const_vector): Save and set it. + + * parse.y (parse_fcn_file): Also temporarily set parser_end_of_input + and get_input_from_eval_string to false while reading script files. + +2008-05-01 John W. Eaton + + * parse.y (load_fcn_from_file): Expect + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): + Search currently loaded .oct files by file name. Don't search + currently loaded files for functions. + (octave_shlib_list::find_file, octave_shlib_list::do_find_file): + New functions. + (octave_shlib_list::search, octave_shlib_list::do_search): Delete. + + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): No need to + do load_path lookups here. + (octave_shlib_list::iterator, octave_shlib_list::const_iterator): + New typedefs. + (octave_shlib_list::do_remove, octave_shlib_list::do_search, + octave_shlib_list::do_display): Use them. + (octave_mex_file_list::iterator, octave_mex_file_list::const_iterator): + New typedefs. + (octave_mex_file_list::do_remove): Use them. + +2008-05-03 Rafael Laboissiere + + * DLD-FUNCTIONS/time.cc, file_io.cc: Use ischar instead of + deprecated isstr. + +2008-04-30 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): + If function already exists, reload it anyway. Clear existing + oct_file only if reloading a function from the same file. + (octave_shlib_list::display): New static function. + (octave_shlib_list::do_display): New function. + + * symtab.cc (out_of_date_check_internal): Better handling for + functions found in files by relative file names. + (load_out_of_date_fcn): New function. + + * ls-oct-ascii.cc (extract_keyword): Return early if first char is + not a comment character. + (read_ascii_data): Accept .nargin. and .nargout. as valid identifiers. + + * ov-fcn-handle.cc: Combine tests. Test saving and loading + handles for built-in, .oct, and .m functions. + (octave_fcn_handle::save_ascii, octave_fcn_handle::save_binary, + octave_fcn_handle::save_hdf5, octave_fcn_handle::print): + Avoid dereferencing invalid pointer. + + * data.cc: Fix tests. Use "%!assert", not "%! assert" for + individual assert tests. + +2008-04-30 Jaroslav Hajek + + * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, + ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-cx-sparse.cc, ov-cx-sparse.h, ov-intx.h, ov-range.h, + ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, + ov-scalar.cc, ov-scalar.h, ov.h: + Provide log2 mapper function. + * data.cc (Flog2): New function. + +2008-04-25 John W. Eaton + + * pt-stmt.h (tree_statement_list::function_body): New data member. + (tree_statement_list::tree_statement_list): Initialize it. + (tree_statement_list::mark_as_script_body): New function. + (tree_statement::maybe_echo_code, tree_statement::eval): + Rename in_function_body argument to in_function_or_script_body. + * pt-stmt.cc (tree_statement::eval): Only set statement in call + stack if in_function_or_script_body is true. + + * pt-stmt.cc (tree_statement_list::eval): Call elt->eval with + function_body || script_body. + * ov-usr-fcn.cc (octave_user_script::octave_user_script): + command list as script body here. + (octave_user_function::octave_user_function): + Mark command list as function body here. + * parse.y (start_function, make_anon_fcn_handle): Not here. + + * toplev.h, toplev.cc (octave_call_stack::backtrace, + octave_call_stack::do_backtrace): New arg, N. Skip innermost N + stack frames. + + * debug.cc (F__dbstack__): New function. + (current_stack_frame): New static variable. + + * error.cc (verror, pr_where): Use octave_call_stack instead of + tree_statement stack to get line and column information. + (pr_where): Use octave_call_stack instead of tree_statement stack + to get current statement. + * input.cc (get_user_input): Extract current line number from + octave_call_stack instead of tree_statement_stack. + * pt-stmt.cc (tree_statement::eval): Put current statement on + octave_call_stack instead of tree_statement_stack. + * pt-stmt.h, pt-stmt.cc (class tree_statement_stack): Delete. + + * toplev.h, toplev.cc (octave_call_stack::call_stack_elt): + New nested struct. + (octave_call_stack::cs): Now a deque of call_stack_elts. + Change all uses. + (octave_call_stack::current_statement, + octave_call_stack::current_line, + octave_call_stack::current_column, + octave_call_stack::top_statement, + octave_call_stack::set_statement, octave_call_stack::backtrace): + New static functions. + (octave_call_stack::do_current_line, + octave_call_stack::do_current_column, + octave_call_stack::do_top_statement, + octave_call_stack::do_set_statement, + octave_call_stack::do_backtrace): New member functions. + +2008-04-24 John W. Eaton + + * toplev.h, toplev.cc (octave_call_stack::unwind_pop_script): + Delete unused function. + + * ov-usr-fcn.cc: Move constructor definitions here, from ov-usr-fcn.h. + * ov-usr-fcn.h (octave_user_script::octave_user_script): + Also Initialize t_parsed and t_checked. + +2008-04-24 Jaroslav Hajek + + * ov-usr-fcn.h (octave_user_script::octave_user_script): + Initialize call_depth. + +2008-04-24 John W. Eaton + + * file-io.cc (do_stream_open): Return -1 for directories. + +2008-04-23 John W. Eaton + + * DLD-FUNCTIONS/__qp__.cc (qp): Avoid bounds error when removing + constraint from active set. + + * lex.l (text_yyinput): New function. Use it in place of yyinput. + (next_token_is_sep_op, scan_for_comments, eat_whitespace, + have_continuation): No need to check for CR or CRLF. + * parse.y (text_getc): Also return NL for single CR. + +2008-04-32 Michael Goffioul + + * input.cc (get_input_from_file): Open file in binary mode. + +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 + + * lex.l, lex.h (process_comment): New arg, start_in_block. Call + grab_block_comment if start_in_block is true. Change all uses. + * lex.l (grab_block_comment): New function. + (grab_comment_block): New arg, at_bol. Change all uses. + Call grab_block_comment if we find the start of a block comment. + (block_comment_nesting_level): New static variable. + (^{S}*{CCHAR}\{{S}*{NL}): New rule. + (<>): Warn about open block comments. + (reset_parser): Set block_comment_nesting_level to zero. + * parse.y (parse_fcn_file): Stash help text from + gobble_leading_white_space after calling reset_parser. + (text_getc): Keep track of input_line_number here. + (skip_white_sapce): Don't increment input_line_number here. + * lex.l (grab_comment_block): Or here. + + * lex.l (Vdisplay_tokens): New static variable. + (F__display_tokens__): New function. + (display_token): New function. + (DISPLAY_TOK_AND_RETURN): New macro. + (COUNT_TOK_AND_RETURN): Use DISPLAY_TOK_AND_RETURN. + ([\"\'], "'", \"): Move handle_string outside of + COUNT_TOK_AND_RETURN macro parameter list. + (handle_identifier): Don't use macros to return token values here. + ({S}*{COMMENT}{SNLCMT}*|{S}*{NL}{SNLCMT}*): + Recognize block comments here. + + * pr-output.cc (Fdisp): If nargout > 0, produce an sq-string + unless arg is a dq-string. + +2008-04-17 John W. Eaton + + * parse.y (looks_like_copyright): Handle leading whitespace. + (class stdio_stream_reader): New class. + (skip_white_space): New function. + (gobble_leading_white_space): New arg, EOF. Change all uses. + Use skip_white_space and grab_comment_block to process comments. + (process_leading_comments): Delete. + (parse_fcn_file): Call gobble_leading_white_space instead of + process_leading_comments. + Skip parsing if gobble_leading_white_space detects EOF. + * lex.l (process_comment): Delete CCHAR arg. Change all uses. + ({CCHAR}): Unput comment character before calling process_comment. + (grab_comment_block): Rename from grab_help_text. Don't discard + spaces from comment text. Update input_line_number and + current_input_column as characters are read. Warn only once about + incompatible comment characters in a given block of comments. + Use stream_reader class instead of accessing yyinput and yyunput + directly. + (class flex_stream_reader): New class. + (process_comment): Use grab_comment_block to handle all comments. + Don't call maybe_gripe_matlab_incompatible_comment. + Always store comment text returned by grab_comment_block. + * lex.h (grab_comment_block): Provide decl. + (class stream_reader): New class. + +2008-04-16 John W. Eaton + + * parse.y (Fautoload, Fmfilename): Call + octave_call_stack::caller_user_code, not + octave_call_stack::caller_user_script_or_function. + * toplev.cc, toplev.h (octave_call_stack::caller_user_code): + Rename from octave_call_stack::caller_user_script_or_function. + (octave_call_stack::do_caller_user_code): Rename from + octave_call_stack::do_caller_user_script_or_function. + * ov-usr-fcn.h (class octave_user_code): New class, derived from + octave_fucntion. + (class octave_user_function, class octave_user_script): Derive + from octave_user_code, not octave_function. + (octave_user_script::user_code_value, + octave_user_function::user_code_value): New functions. + * ov.cc (octave_value::user_script_value, + octave_value::user_code_value): New functions. + * ov.h: Provide decls. + (octave_value::is_user_code, octave_value::is_user_script): + New functions. + * ov-base.cc (octave_base_value::user_script_value, + octave_base_value::user_code_value): New virutal functions. + * ov-base.h: Provide decls. + (octave_base_value::is_user_script, octave_base_value::is_user_code): + New virtual functions. + * error.cc (verror, pr_where, error_2, warning_1): + Call octave_call_stack::caller_user_code instead of + octave_call_stack::caller_user_script_or_function + * input.cc (get_user_input): Likewise. + * debug.h (bp_table::breakpoint_map): Use pointer to + octave_user_code instead of octave_user_function. + * debug.cc (get_user_code): Rename from get_user_function. + Return pointer to octave_user_code instead of octave_user_function. + Change all uses. + (bp_table::do_add_breakpoint, bp_table::do_remove_breakpoint, + bp_table::do_remove_all_breakpoints_in_file, + bp_table::do_get_breakpoint_list): + Avoid dereferencing invalid pointers. + (parse_dbfunction_params): Call + octave_call_stack::caller_user_code, not + octave_call_stack::caller_user_script_or_function. + + * load-save.cc (Fsave): Fix continuation character in doc string. + + * pt-walk.h (tree_walker::visit_function_def): New function. + * pt-pr-code.cc (tree_print_code::visit_function_def): New function. + * pt-pr-code.h: Provide decl. + * pt-bp.cc (tree_breakpoint::visit_function_def): New function. + * pt-bp.h: Provide decl. + * pt-check.cc (tree_checker::visit_function_def): New function. + * pt-check.h: Provide decl. + + * parse.y (finish_function): Return ptr to tree_function_def object + if curr_fcn_ptr is not defined. Avoid dereferencing invalid pointers. + (frob_function): Set curr_fcn_ptr only when reading a function file. + (function): Call finish function in both cases to generate value + of production. + + * pt-cmd.h, pt-cmd.cc (tree_function_def): New class. + + * parse.y (parse_and_execute): Delete. + * parse.h: Delete decl. + + * pt-pb.cc (tree_breakpoint::visit_octave_user_script): New function. + * pt-pb.h: Provide decl. + * pt-check.cc (tree_checker::visit_octave_user_script): New function. + * pt-check.h: Provide decl. + * pt-pr-code.cc (tree_print_code::visit_octave_user_script): + New function. + * pt-pr-code.h: Provide decl. + * pt-walk.h (visit_octave_user_script): New pure virtual function. + + * parse.y (make_script, process_leading_comments, + looking_at_function_keyword): New static functions. + (SCRIPT): New token. + (script): New non-terminal. + (command): Handle script here. + (parse_fcn_file): Eliminate EXEC_SCRIPT argument. Change all + callers. Parse scripts and return an octave_user_script rather + than executing them here. + (load_fcn_from_file): Handle script and function files the same. + (source_file): Call d_multi_index_op on object returned by + parse_fcn_file. + (is_function_file): Delete. + (gobble_leading_white_space): Don't recurse. Simplify. Eliminate + SKIP_CODE, IN_PARTS, and SAVE_COPYRIGHT arguments. Change all + callers. + (octave_function_ptr): Delete unused typedef. + (get_help_from_file): If help text isn't found by + gobble_leading_whitespace, parse file to find it. + + * lex.l (SCRIPT_FILE_BEGIN): New exclusive start state. + (prep_lexer_for_script): New function. + (grab_help_text): New arg, EOF. + (process_comment): New function. + ({CCHAR}): Use it. + * lex.h (prep_lexer_for_script): Provide decl. + + * lex.h, lex.cc, parse.y (lexical_feedback::beginning_of_function): + Delete data member and all uses. + + * ov-usr-fcn.cc (octave_user_script::~octave_user_script): + Move destructor here from ov-usr-fcn.h. Delete cmd_list. + (octave_user_script::subsref, octave_user_script::accept, + octave_user_script::traceback_error): New functions. + (octave_user_script::do_multi_index_op): + Execute cmd_list instead of calling source_file. + * ov-usr-fcn.h (octave_usr_script::cmd_list, + octave_usr_script::t_parsed, octave_usr_script::t_checked, + octave_usr_script::call_depth): New data members. + (octave_usr_script::octave_usr_script): Initialize all data members. + (octave_usr_script::octave_usr_script (const std::string&, const + std::string&, tree_statement_list *, const std::string&)): + New constructor. + (octave_usr_script::function_value, + octave_usr_script::user_script_value, mark_fcn_file_up_to_date, + octave_usr_script::stash_fcn_file_time, + octave_usr_script::time_parsed, octave_usr_script::time_checked, + octave_usr_script::subsref, octave_usr_script::body): New functions. + (octave_user_script::subsref, octave_user_script::accept, + octave_user_script::traceback_error): Provide decls. + +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-07 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc (Fqrshift): New function. + * DLD-FUNCTIONS/chol.cc (Fcholinsert, Fcholdelete, Fcholshift): + New functions. + +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-01 John W. Eaton + + * pt-id.h (do_lookup (bool&, bool)): Delete. + (do_lookup (tree_argument_list *, const string_vector&, + octave_value_list&, bool&)): Call MAYBE_DO_BREAKPOINT here. + +2008-04-02 David Bateman + + * graphics.cc (void gnuplot_backend::close_figure (const + octave_value&) const): Allow for an input and output stream. + +2008-03-28 Jaroslav Hajek + + * DLD-FUNCTIONS/lookup.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2008-03-28 David Bateman + + * ov-complex.cc (SCALAR_MAPPER, CD_SCALAR_MAPPER): New macro for + complex values with zero imaginary part. + (erf, erfc, gamma, lgamma): Use the new mappers to define these + mapper functions. + * ov-complex.h (erf, erfc, gamma, lgamma): Declare them. + * ov-cx-mat.cc (any_element_less_than, any_element_greater_than): + New static functions + (DARRAY_MAPPER, CD_ARRAY_MAPPER): New macro for complex values + with zero imaginary part. + (erf, erfc, gamma, lgamma): Use the new mappers to define these + mapper functions. + * ov-cx-mat.h (erf, erfc, gamma, lgamma): Declare them. + * ov-cx-sparse.cc (any_element_less_than, any_element_greater_than): + New static functions + (DSPARSE_MAPPER, CD_SPARSE_MAPPER): New macro for complex values + with zero imaginary part. + (erf, erfc, gamma, lgamma): Use the new mappers to define these + mapper functions. + * ov-cx-sparse.h (erf, erfc, gamma, lgamma): Declare them. + * ov-re-sparse.cc (CD_SPARSE_MAPPER): Use correct mapper functors. + * mapper.cc: Add tests for the above cases. + +2008-03-27 John W. Eaton + + * DLD-FUNCTIONS/max.cc: Rename from minmax.cc. + * Makefile.in (DLD_XSRC): Rename minmax.cc to max.cc. + + * DLD-FUNCTIONS/__convn__.cc (convn): Use traits class and + typedefs to allow all types to be deduced from argument types. + +2008-03-27 S�ren Hauberg + + * DLD-FUNCTIONS/__convn__.cc (Fconvn): Allow convolving real data with + complex data. + +2008-03-26 John W. Eaton + + * ov-range.h (octave_range::subsref (const std::string&, + const std::list&, int)): + Forward to simple subsref. + * ov-base-sparse.h (octave_base_sparse::subsref (const std::string&, + const std::list&, int)): Likewise. + * ov-base-scalar.h (octave_base_sparse::subsref (const std::string&, + const std::list&, int)): Likewise. + * ov-base-matrix.h (octave_base_matrix::subsref (const std::string&, + const std::list&, int)): Likewise. + + * ov-struct.cc, ov-cell.h (octave_cell::subsref (const + std::string&, const std::list&, int)): + Define nargout version of subsref instead of simple version. + * ov-struct.cc, ov-struct.h (octave_struct::subsref (const + std::string&, const std::list&, int)): + Define nargout version of subsref instead of simple version. + + * ov-builtin.h (octave_builtin::subsref (const std::string&, + const std::list&): Forward to nargout subsref. + * ov-cell.h (octave_cell::subsref (const std::string&, + const std::list&)): + * ov-class.h (octave_class::subsref (const std::string&, + const std::list&): Likewise. + * ov-fcn-handle.h (octave_fcn_handle::subsref (const std::string&, + const std::list&): Likewise. + * ov-list.h (octave_list::subsref (const std::string&, + const std::list&): Likewise. + * ov-mex-fcn.h (octave_mex_function::subsref (const std::string&, + const std::list&): Likewise. + * ov-struct.h (octave_struct::subsref (const std::string&, + const std::list&)): + * ov-usr-fcn.h (octave_user_function::subsref (const std::string&, + const std::list&): Likewise. + + * ov.cc (octave_value::subsref): Use value of nargout instead of + is_constant method to decide which type of subsref method to call. + (octave_value::assign): Always call simple subref method here. + + * DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/det.cc, + DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/inv.cc, + DLD-FUNCTIONS/qr.cc, DLD-FUNCTIONS/symrcm.cc, file-io.cc): + Texinfo fixes. + +2008-03-26 S�ren Hauberg + + * DLD-FUNCTIONS/__convn__.cc (Fconvn): + Call complex_array_value to extract N-d array. + +2008-03-26 John W. Eaton + + * ov-base-sparse.cc (octave_base_sparse::print_raw): + Also display percentage of elements that are nonzero. + +2008-03-25 S�ren Hauberg + + * DLD-FUNCTIONS/__convn__.cc: New file. + * Makefile.in: Add __convn__.cc + +2008-03-25 David Bateman + + * DLD-FUNCTIONS/hex2num.cc: New function + * Makefile.in (DLD_XSRC): Add hex2num.cc. + +2008-03-25 Jaroslav Hajek + + * mappers.cc (Fexpm1, Flog1p): New functions. + * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, + ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-cx-sparse.cc, ov-cx-sparse.h, ov-range.h, ov-re-mat.cc, + ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, ov-scalar.cc, + ov-scalar.h, ov.h: + Provide expm1 and log1p functions. + + * mappers.cc (Froundb): New functions + * ov-base.cc, ov-base.h, ov-bool-mat.h, ov-bool-sparse.h, + ov-bool.h, ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, + ov-cx-sparse.cc, ov-cx-sparse.h, ov-intx.h, ov-range.h, + ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, + ov-scalar.cc, ov-scalar.h, ov.h: + Provide roundb mapper function. + +2008-03-25 Jaroslav Hajek + + * load-save.cc (save_vars): Handle -struct modifier. + (save_fields): New function. + (Fsave): Document new feature. + +2008-03-25 John W. Eaton + + * lex.h (lexical_feedback::looking_at_initializer_expression): + New data member. + * lex.l (lexical_feedback::init): Initialize it. + (handle_identifier): Don't unconditionally force identifiers to be + variables in the current scope. Don't call force_local_variable + for symbols that appear in parameter initializer expressions. + * parse.y (decl_param_init): New parser "subroutine". + (decl2): Use it. Set lexer_flags.looking_at_initializer_expression + to false after parsing initializer. + +2008-03-24 David Bateman + + * data.cc (map_s_s): Fix for sparse/sparse mappers that resulted + in an empty sparse matrix being returned. + (Fhypot): New function based on the libm hypot function. + +2008-03-24 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-21 John W. Eaton + + * ov-cell.h (octave_cell::is_constant): Return true. + * ov-cell.h, ov-cell.cc (octave_cell::subsref (const std::string&, + const std::list&)): Define. + (octave_cell::subsref (const std::string&, + const std::list&, int)): Call panic_impossible. + + * ov-struct.h (octave_struct::is_constant): New function. + * ov-struct.h, ov-struct.cc (octave_struct::subsref (const std::string&, + const std::list&)): Define. + (octave_struct::subsref (const std::string&, + const std::list&, int)): Call panic_impossible. + +2008-03-21 David Bateman + + * DLD-FUNCTIONS/amd.cc: New file. + * Makefile.in (DLD_XSRC): Add amd.cc. + +2008-03-20 David Bateman + + * Cell.cc (Cell Cell::diag (void) const): delete. + (Cell Cell::diag (octave__idx_type) const):Rewrite in terms of + template classes function. + * Cell.h (Cell diag (void) const): delete. + + * ov.h (octave_value diag (octave_idx_type) const): New method. + * ov-base.h (virtual octave_value diag (octave_idx_type) const): + New virtual method. + * ov-base.cc (octave_value octave_base_value::diag + (octave_idx_type) const): New default method. + + * ov-base-mat.h (octave_value diag (octave_idx_type) const): New + method. + * ov-base-sparse.h (octave_value diag (octave_idx_type) const): New + method. + * ov-base-scalar.h (octave_value diag (octave_idx_type) const): New + method. + * ov-range.h (octave_value diag (octave_idx_type) const): New + method. + + * data.cc (make_diag, make_spdiag): Delete. + (Fdiag): Rewrite in terms of octave_value diag function. + + * data.cc (static octave_value make_diag (const Cell&, + octave_idx_type)): New instantiation of template function. + (static octave_value make_diag (const octave_value&, + octave_idx_type)): Allow cell arrays. + + * Cell.cc (Cell Cell::diag (void) const, Cell Cell::diag + (octave__idx_type)): New methods for diagonal matrices. + * Cell.h (Cell Cell::diag (void) const, Cell Cell::diag + (octave__idx_type)): Declare them. + +2008-03-18 David Bateman + + * ov-re-mat.cc (lgamma): Convert to a allow negative arguments. + * ov-re-sparse.cc (lgamma): ditto. + * ov-scalar.cc (lgamma): ditto. + + * DLD-FUNCTIONS/minmax.cc: 64-bit indexing fix. + +2008-03-13 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Handle num_named_args in initialization list instead of functinon body. + + * octave.gperf: Eliminate varargin and varargout keywords. + * lex.l (is_keyword_token): Eliminate varargin_kw and varargout_kw + from switch statement. + * parse.y (return_list): Eliminate special cases for VARARGOUT. + Call validate on tree_parameter_list object. + (param_list1): Likewise, for VARARGIN. + * pt-misc.cc (tree_parameter_list::validate): New function. + (tree_parameter_list::mark_varargs_only): Now private. + (tree_parameter_list::mark_varargs): Now private. + * pt-misc.h (tree_parameter_list::validate): Provide decl. + +2008-03-12 John W. Eaton + + * variables.cc (Vwhos_line_format): Omit print_dims parameter. + Fix doc string in Vwhos_line_format DEVAR. + (symbol_record_name_compare): Delete unused function. + (whos_parameter::dimensions): Delete struct field. + (symbol_info_list): New class. + (dimensions_string_req_first_space, make_dimensions_string, + dimensions_string_req_total_space): Delete. + (parse_whos_line_format): Move functionality to new + symbol_info_list class. + (print_symbol_info_line): Move functionality to new + symbol_info_list::struct symbol_info::displaly_line method. + (do_who): Simplify with new symbol_info_list class. + Handle index expressions in addition to symbol names. + + * DLD-FUNCTIONS/dlmread.cc (Fdlmread): Fix separator detection. + +2008-03-11 John W. Eaton + + * DLD-FUNCTIONS/eig.cc (Feig): Handle possible error from EIG. + * DLD-FUNCTIONS/qp.cc (qp, Fqp): Likewise. + * xpow.cc (xpow): Likewise. + +2008-03-11 John W. Eaton + + * DLD-FUNCTIONS/dlmread.cc: Style fixes. + +2008-03-11 David Bateman + + * DLD-FUNCTIONS/dlmread.cc: Function ported from octave forge. Add + spreadsheet style ranges. + * Makefile.in (DLD_XSRC): Add dlmread.cc. + +2008-03-10 John W. Eaton + + * mex.cc (mxCreateLogicalScalar): Argument is now mxLogical. + + * data.cc (Fisfloat): New function. + * ov.h (octave_value::is_float_type): Ditto. + * ov-base.h (octave_base_value::is_float_type): Ditto. + * ov-complex.h (octave_complex): Ditto. + * ov-cx-mat.h (octave_complex_matrix): Ditto. + * ov-cx-sparse.h (octave_sparse_complex_matrix): Ditto. + * ov-range.h (octave_range): Ditto. + * ov-re-mat.h (octave_matrix): Ditto. + * ov-re-sparse.h (octave_sparse_matrix): Ditto. + * ov-scalar.h (octave_scalar): Ditto. + + * mxarray.h.in (mxLogical): Use unsigned char instead of int. + From Antwerpen, G. (Gert) van . + +2008-03-07 John W. Eaton + + * ov-struct.cc (octave_struct::print_raw): Don't print contents fo + struct arrays that have more than one element. + +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 + + * parse.y: Move tests here from test/test_eval.m. + * DLD-FUNCTIONS/fft.cc: Move tests here from test/test_signal.m. + * DLD-FUNCTIONS/dassl.cc: Move tests here from test/test_diffeq.m. + * DLD-FUNCTIONS/lsode.cc: Move tests here from test/test_diffeq.m. + * DLD-FUNCTIONS/quad.cc: Move tests here from test/test_quad.m. + * DLD-FUNCTIONS/time.cc: Move tests here from test/test_system.m. + +2008-03-06 Alexander Barth + + * DLD-FUNCTIONS/__lin_interpn__.cc (lookup): + Handle decreasing coordinate values. + +2008-03-05 Jaroslav Hajek + + * DLD-FUNCTIONS/chol.cc (Fcholupdate): Adjust code to meet + Octave's coding guidelines. + + * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): Adjust + code to meet Octave's coding guidelines. + * DLD-FUNCTIONS/qr.cc (Fqrdelete): Fix incorrect test. + + * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): Modify to use + 0-based indexing in liboctave's QR classes. + +2008-03-04 Jaroslav Hajek + + * DLD-FUNCTIONS/chol.cc (Fcholupdate): New function. + + * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): + New functions. + +2008-03-04 Ryan Rusaw + + * toplev.h (octave_call_stack::element): New static function. + (octave_call_stack::cs): Now std::deque instead of std::list. + + * pt-stmt.cc (curr_statement, curr_caller_statement): Delete. + * pt-stmt.h: Delete decls. + + * pt-stmt.h, pt-stmt.cc (tree_statement_stack): New class. + + * pt-stmt.cc (tree_statement::eval): Use tree_statement_stack + instead of curr_statement variable. + + * ov-usr-func.cc (octave_user_function::do_multi_index_op): + Don't set curr_caller_statement. + + * error.cc (verror, pr_where): Call tree_statement_stack::current_line + and tree_statement_stack::current_column instead of + instead of curr_statement->line and curr_statement->column. + * input.cc (get_user_input): Likewise. + +2008-02-27 John P. Swensen + + * debug.cc (get_user_function): Call symtab::find_function instead + of symtab::find_user_function. + +2008-02-27 John W. Eaton + + * oct-stream.cc (do_read): Stop reading if seek fails. + +2008-02-26 John W. Eaton + + * ov-base-int.cc (octave_base_int_helper, + octave_base_int_helper_traits): New templates and specializations. + (octave_base_int_matrix::convert_to_str_internal, + octave_base_int_matrix::convert_to_str_internal): Use them. + + * DLD-FUNCTIONS/rand.cc (do_rand): Pass name of calling function + to octave_rand::state. + + * variables.cc (bind_ans): Handle cs-lists recursively. + + * ov-cs-list.h, ov-cs-list.cc (octave_cs_list::print, + octave_cs_list::print_raw): Delete. + +2008-02-25 John W. Eaton + + * Cell.cc (Cell::map): New function. + * Cell.h (Cell::map): Declare. + (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, + xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, + xisxdigit, xtoascii, xtolower, xtoupper): New mapper functions. + (ctype_mapper): New private typedef. + + * ov-cell.h (xisalnum, xisalpha, xisascii, xiscntrl, xisdigit, + xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, + xisxdigit, xtoascii, xtolower, xtoupper): New mapper functions. + +2008-02-25 Michael Goffioul + + * ov-scalar.cc (octave_scalar::round): Use xround instead of ::round + in mapper implementation. + +2008-02-25 John W. Eaton + + * ov-base.cc (UNDEFINED_MAPPER, STRING_MAPPER): New macros. Use + them to define mapper functions. + + * mappers.cc (Fisalnum, Fisalpha, Fisascii, Fiscntrl, Fisdigit, + Fisgraph, Fislower, Fisprint, Fispunct, Fisspace, Fisupper, + Fisxdigit, Ftoascii, Ftolower, Ftoupper): + Use DEFUNX to define ctype mapper functions. + Use new function names. + + * ov-base.h, ov-base.cc, ov-str-mat.h, ov-str-mat.cc: + Prepend x to ctype mapper function names. + + * graphics.h.in (row_vector_property::row_vector_property): + Set default constraints here. + (row_vector_property::add_constraint): New function. + (row_vector_property::validate): Delete decl. + (axes::properties::init): Use single-arg add_constraint function + for xlim, ylim, zlim, clim, and alim properties. + + * graphics.cc (row_vector_property::validate): Delete. + + * graphics.cc (axes::properties::update_camera, + axes::properties::update_aspectratios): + Avoid shadow warnings from GCC. + + * graphics.h.in (base_properties::get_bounding_box): + Avoid unused argument warning from GCC. + + * graphics.h.in (array_property::add_constraint): Arg is now const + reference, not value. + + * graphics.h.in, graphics.cc (class row_vector_property): New class. + (axes::properties): xlim, ylim, zlim, clim, alim, xtick, ytick, + ztick properties are now row_vector_property objects instead of + array_property objects. + + * genprops.awk: Special case row_vector_property in the same way + as array_property. + +2008-02-22 John W. Eaton + + * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/colamd.cc, + DLD-FUNCTIONS/convhulln.cc, DLD-FUNCTIONS/dmperm.cc, + DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/symbfact.cc, zfstream.h, zfstream.cc: + Use 0 instead of NULL. + +2008-02-22 David Bateman + + * DLD-FUNCTIONS/chol.c (Fchol, Fcholinv, Fchol2iinv): Treat + sparse matrices. Add the "lower" and "vector" flags. + * DLD-FUNCTIONS/inv.c (Finv): Treat sparse matrices. + * DLD-FUNCTION/sparse.cc (static bool is_sparse (const + octave_value&)): Remove and use arg.is_sparse_type () instead. + (Fspcumprod, Fspcumsum, Fspprod, spsum, spsumsq, spdiag): Remove. + * DLD-FUNCTIONS/splu.cc: Remove. + * DLD-FUNCTIONS/lu.cc: Treat sparse matrices, Add "vector" flag. + * DLD-FUNCTIONS/spchol.cc: Move to symbfact.cc + * DLD-FUNCTIONS/symbfact.cc: Remove cholesky functions Fspchol, + Fspcholinv, Fspchol2inv. + * DLD-FUNCTIONS/luinc.cc: Modify for new sparse LU + constructors. Ass the 'vector' flag. + * DLD-FUNCTIONS/spparms.cc: Add the sum_tol flag. + + * Makifile.in (DLD_XSRC): Remove spchol.cc, splu.cc and add + symbfact.cc + * data.cc (NATIVE_REDUCTION): Treat sparse matrices + (DATA_REDUCTION): Ditto. + (template static octave_value make_spdiag (const T&, + octave_idx_type)): New template function for sparse diag + function. Instantiate it. + (static octave_value make_diag (const octave_value&, + octave_idx_type): Use make_spdiag for sparse matrice. + (Fatan2): Compatibility fixes for mixed full/sparse matrices. + +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-20 John W. Eaton + + * data.cc (map_d_m, map_m_d, map_m_m, Fatan2, Ffmod): + Handle N-d arrays. + + * ov-bool-mat.h (octave_bool_matrix (const Array2&)): Delete. + +2008-02-20 David Bateman + + * DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/find.cc, + * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qr.cc: + Treat sparse matrices. + + * DLD-FUNCTIONS/sparse.cc (Fspmin, Fspmax, Fatan2): Remove functions. + + * DLD-FUNCTIONS/dmperm.cc: Rename from spqr.cc. + (Fspqr): Delete function. + + * DLD-FUNCTIONS/spqr.cc, DLD-FUNCTIONS/spdet.cc, + DLD-FUNCTIONS/spfind.cc: Remove. + + * Makefile.in (DLD_XSRC): Add dmperm.cc to the list. + Delete det.cc, find.cc, minmax.cc, and qr.cc from the list. + + * Makefile.in (OV_SRC): Remove ov-mapper.cc. + (OV_INCLUDES): Remove ov-mapper.h. + (DEFUN_PATTERN): No longer accept DEFUN_MAPPER as valid. + * ov-mapper.cc, ov-mapepr.h: Delete, remove all includes of + ov-mapper.h from all files. + + * op-b-sbm.cc, op-bm-sbm.cc, op-smb-b.cc, op-sbm-bm.cc: Include + ov-bool-sparse.h. + + * defun-int.h (DEFUN_MAPPER_INTERNAL, install_builtin_mapper): + Remove. + * defun.cc (install_builtin_mapper): Ditto. + * defun.h (DEFUN_MAPPER): Remove. + + * mappers.cc: Rewrite all mapper function using DEFUN and newly + introduced octave_value mapper functions. + (dummyp, xabs, xisalnum, xisascii, xiscntrl, xisdigit, + xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, + xtoascii, xtolower, xtoupper, xconj, ximag, xreal): Remove + static wrapper functions. + + * mkbuiltins (XDEFUN_MAPPER_INTERNAL, install_builtin_functions): + Remove. + * mkgendoc (XDEFUN_MAPPER_INTERNAL): Remove. + + * ov.cc (octave_mapper::register_type): Remove. + + * ov.h (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, + ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, + imag, isinf, isna, isnan, lgamma, log, log10, real, round, signum, + sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, iscntrl, + isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, + isxdigit, toascii, tolower, toupper): + New octave_value mapper functions. + + * ov-base.h (abs, acos, acosh, angle, arg, asin, asinh, atan, + atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, + gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, + signum, sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, + iscntrl, isdigit, isgraph, slower, isprint, ispunct, isspace, + isupper, isxdigit, toascii, tolower, toupper): + New virtual mapper functions. + * ov-base.cc (abs, acos, acosh, angle, arg, asin, asinh, atan, + atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, + gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, + signum, sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, + iscntrl, isdigit, isgraph, slower, isprint, ispunct, isspace, + isupper, isxdigit, toascii, tolower, toupper): + Base versions of mapper functions. + + * ov-bool-mat.h (abs, acos, acosh, angle, arg, asin, asinh, atan, + atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, + gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, + signum, sin, sinh, sqrt, tan, tanh): + Mapper function recast boolen matrix as double. + * ov-bool.h (abs, acos, acosh, angle, arg, asin, asinh, atan, + atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, + gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, + signum, sin, sinh, sqrt, tan, tanh): Ditto. + * ov-bool-sparse.h (abs, acos, acosh, angle, arg, asin, asinh, + atan, atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, + floor, gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, + round, signum, sin, sinh, sqrt, tan, tanh): Ditto. + (char_array_value): New method to convert to charNDArray. + * ov-bool-sparse.cc (char_array_value): New method to convert to + charNDArray. + * ov-complex.cc (char_array_value): ditto. + (xabs, ximag, xreal): Static wrapper functions. + (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, + conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, + isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, + tanh): New mapper methods. + * ov-complex.h: Provide decls. + + * ov-cx-mat.cc (char_array_value): New method to convert to + charNDArray. + (xabs, ximag, xreal): Static wrapper functions. + (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, + conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, + isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, + tanh): New mapper methods. + * ov-cx-mat.h: Provide decls. + + * ov-cx-sparse.cc (char_array_value): New method to convert to + charNDArray. + (xabs, ximag, xreal): Static wrapper functions. + (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, + conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, + isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, + tanh): New mapper methods. + * ov-cx-sparse.h: Provide decls. + + * ov-intx.h (abs, signum, imag, ceil, conj, fix, floor, real, + round, finite, isinf, isna, isnan): Define for both matrix and + scalar classes. + + * ov-range.h (abs, acos, acosh, angle, arg, asin, asinh, atan, + atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, + gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, + signum, sin, sinh, sqrt, tan, tanh): New mapper functions. + + * ov-re-mat.cc (any_element_less_than): Static function to check if + any elemet was less than a value, + (any_element_greater_than): Ditto with greater than. + (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, + conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, imag, + isinf, isna, isnan, lgamma, log, log10, real, round, signum, sin, + sinh, sqrt, tan, tanh): New mapper functions. + * ov-re-mat.h: Provide decls. + + * ov-scalar.cc (any_element_less_than): Static function to check if + any elemet was less than a value, + (any_element_greater_than): ditto with greater than. + (abs acos acosh angle arg asin asinh atan atanh + ceil conj cos cosh erf erfc exp finite fix floor gamma imag + isinf isna isnan lgamma log log10 real round signum sin sinh + sqrt tan tanh): New mapper functions. + * ov-scalar.h: Provide decls. + + * ov-str-mat.cc (xisalnum, xisascii, xiscntrl, xisdigit, + xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, + xtoascii, xtolower, xtoupper): New static wrapper functions. + (isalnum, isalpha, isascii, iscntrl, isdigit, isgraph, islower, + isprint, ispunct, isspace, isupper, isxdigit, toascii, tolower, + toupper): New mapper methods. + * ov-str-mat.h: Provide decls. + +2008-02-18 David Bateman + + * data.cc (Fatan2): Reject arguments that are integer types. + +2008-02-19 Jaroslav Hajek + + * DLD-FUNCTIONS/qr.cc: Doc fix. + +2008-02-18 John W. Eaton + + * symtab.h + (symbol_table::fcn_info::fcn_info_rep::clear_unlocked_functions): + symbol_table::fcn_info::fcn_info_rep::clear_cmdline_function, + symbol_table::fcn_info::fcn_info_rep::clear_autoload_function): + New functions. + (symbol_table::fcn_info::fcn_info_rep::clear_user_function): + Don't clear locked functions. + (symbol_table::fcn_info::fcn_info_rep::clear_mex_function): + Call clear_user_function instead of setting function_on_path directly. + (symbol_table::fcn_info::fcn_info_rep::clear): + Use new functions to do the real work. + + * ov.h (octave_value::lock, octave_value::unlock, + octave_value::islocked): New functions. + * ov-base.cc (octave_base_value::lock, octave_base_value::unlock): + New functions. + * ov-base.h Provide decls. + (octave_base_value::islocked): New function. + * ov-fcn.h (octave_function::islocked): Now const. + +2008-02-15 John W. Eaton + + * ov-builtin.cc (octave_builtin::do_multi_index_op): + Catch possible octave_execution_exception. + * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Likewise. + * ov.cc (do_binary_op, do_cat_op, do_unary_op, + octave_value::do_non_const_unary_op): Likewise. + +2008-02-14 John W. Eaton + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/qz.cc: + Don't check f77_exception_encountered. + + * sighandlers.cc (user_abort): If interrupting immediately, set + octave_interrupt_state if it is not already set. + + * pt-stmt.cc (tree_statement::eval): Catch execution exceptions. + + * octave.cc (lo_error_handler): New static function. + (initialize_error_handlers): Set liboctave_error_handler to + lo_error_handler, not error. + + * DLD-FUNCTIONS/urlwrite.cc (urlget): Call octave_rethrow_exception + instead of octave_throw_interrupt_exception. + * utils.cc (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_FOR_VSNPRINTF): + Likewise. + +2008-02-12 David Bateman + + * graphics.h.in: Implement the cdatamapping property in patch and + image objects. + +2008-02-12 John W. Eaton + + * pt-loop.cc (tree_simple_for_command::eval): Compute range + element with multiplication. + +2008-02-11 John W. Eaton + + * Makefile.in ($(MAKEDEPS)): Skip dependencies if omit_deps is defined. + +2008-02-09 John W. Eaton + + * pr-output.cc (set_range_format): Eliminate sign arg. + Change all callers. + +2008-02-08 John W. Eaton + + * ov-struct.cc (octave_struct::subsref): Allow Cell::index to resize. + + * input.cc (interactive_input): Eliminate debug arg. Change All uses. + (get_user_input): Don't process input_buf if there is an error. + Call reset_error_handler instead of setting error_state to 0. + +2008-02-08 Michael Goffioul + + * graphics.h.in (callback_property::execute): New static + helper method (useful to execute callbacks by name). + * graphics.cc (callback_property::execute): Likewise. + (execute_callback): Avoid undefined argument when executing + callback. Do not use arguments when the callback is a string. + +2008-02-07 John W. Eaton + + * ov-range.h (octave_range::sort): New functions. + +2008-02-07 David Bateman + + * Makefile.in (DLD_XSRC): Delete spkron.cc. + * DLD-FUNCTIONS/spkron.cc: Delete. + * DLD-FUNCTIONS/kron.cc: Include here and dispatch to the sparse + version if either argument is sparse. + +2008-02-06 John W. Eaton + + * Makefile.in (parse.cc): Also use --defines option for bison. + +2008-02-06 Michael Goffioul + + * graphics.cc (axes::properties::set_defaults): Set default axes + color to white. + +2008-02-06 John W. Eaton + + * Makefile.in (parse.cc): Use "-o $@" instead of renaming y.tab.c. + (maintainer-clean): Don't remove y.tab.c. + + * Makefile.in (parse.cc : parse.y): Use mv instead of move-if-change. + (stamp-prereq, stamp-liboctave-prereq): Eliminate. + (clean): Don't remove stamp-prereq and stamp-liboctave-prereq. + (OPT_BASE, OPT_IN, OPT_INC): New macros. + (OPT_HANDLERS): Define in terms of OPT_BASE. + ($(OPT_INC) : %.h : %.in): New pattern rule. + (PREREQ): New macro. + ($(MAKEDEPS)): Simplify with $(PREREQ). + +2008-02-05 John W. Eaton + + * Makefile.in: Unconditionally include $(MAKEDEPS). + Mark $(MAKEDEPS) as .PHONY targets if omit_deps is true. + +2008-02-05 Michael Goffioul + + * graphics.h.in (base_properties::get_boundingbox): New method. + (figure::properties::get_boundingbox): Overload method. + (axes::properties::get_boundingbox): Likewise. + * graphics.cc (figure::properties::get_boundingbox): Return a + left-to-right/top-to-bottom bounding box rectangle. + (axes::properties::get_boundingbox): Likewise. + (axes::properties::update_camera): Remove backend access and + use the new axes bounding box. + +2008-02-04 Shai Ayal + + * graphics.h.in (axes::properties::update_xlim, + axes::properties::update_ylim, axes::properties::update_zlim): + New update methods. + + * graphics.cc (axes::properties::calc_ticks): New function. + (axes::properties::magform): New function. + (axes::update_axis_limits): Call update_{x,y,z}lims if + appropriate. + +2008-02-04 Michael Goffioul + + * graphics.h.in (base_graphics_backend::get_screen_size, + graphics_backend::get_screen_size): New methods. + (graphics_backend::available_backends): Export symbol. + (class figure::properties, class axes::properties): Export classes. + (figure::properties::get_boundingbox): New utility method. + (figure::properties::position): Use valid default position. + (axes::properties::gridlinestyle, + axes::properties::minorgridlinestyle): + Use dotted line style as default. + * graphics.cc (default_figure_position): New static function. + (gnuplot_backend::get_screen_size): New method. + (figure::properties::get_boundingbox): New utility method. + +2008-02-02 Shai Ayal + + * graphics.h.in (base_scaler::~base_scalar): New virtual destructor. + * graphics.cc (axes::properties::update_camera): Tag abs with std. + + * graphics.h.in (graphics_backend::find_backend): New function. + (class figure): Add __backend__ property and set method. + +2008-02-02 John W. Eaton + + * help.cc (do_type): Don't print dyamically loaded function files. + + * ov-fcn.h (octave_function::is_dynamically_loaded_function): Delete. + +2008-02-01 John W. Eaton + + * symtab.cc (Fset_variable, Fvariable_value): + New functions, but commented out for now. + +2008-01-30 Michael Goffioul + + * graphics.h.in (axes::properties::get_transform_matrix, + axes::properties::get_inverse_transform_matrix, + axes::properties::get_opengl_matrix_1, + axes::properties::get_opengl_matrix_2, + axes::properties::get_transform_zlim): New accessors. + (base_properties::is_clipping): New accessor. + (class graphics_xform): New class encapsulating axes transformation. + (axes::properties::get_transform): New method returning a + graphics_xform object. + * graphics.cc (class graphics_xform): New class. + +2008-01-31 David Bateman + + * ov.cc (octave_value::octave_value (const ArrayN&), + octave_value::octave_value (const Sparse&, const MatrixType &), + octave_value::octave_value (const ArrayN&)): New + constructors. + * ov.h: (octave_value (const ArrayN&), + octave_value (const Sparse&, const MatrixType &), + octave_value (const ArrayN&)): Declare them. + (octave_value sort (octave_idx_type, sortmode) const, octave_value + sort (Array &, octave_idx_type, sortmode) const): + octave_value sort method. + + + * ov-base.cc (sort): Base versions of teh octave_value sort methods. + * ov-base.h (sort): Declare the octave_value sort methods + * ov-base-scalar.h (sort): Simple sort methods for scalars. + * ov-base-mat.h, ov-base-sparse.h (sort): Sort methods calling + underlying array or sparse sort methods. + * ov-str-mat.h (sort): String specific sort methods. + + * TEMPLATE-INST/Array-tc.cc: Instantiate the array sort methods. + * ov-streamoff.h (sort): Sort versions returning and error. + * oct-stream.cc, ov-typeinfo.cc, Array-os.cc: Null instantiation + of array sort methods. + + * Makefile.in (DLD_XSRC): Remove sort.cc + * DLD-FUNCTIONS/sort.cc: Remove + * data.cc (Fsort): New function using octave_value sort methods + for the sorting. Add tests. + +2008-01-30 Thomas Weber + + * pager.cc (Fmore): Doc fix. + +2008-01-28 Michael Goffioul + + * genprops.awk: Add update ('u') modifier and document the + readonly ('r') modifier. + * graphics.h.in (class base_scaler, class lin_scaler, class + log_scaler, class scaler): New classes to make abstraction of the + axis scale. + (base_graphics_backend::get_screen_resolution, + graphics_backend::get_screen_resolution): New methods. + (axes::properties::sx, axes::properties::sy, + axes::properties::sz): New scaler fields. + (axes::properties::get_x_scaler, axes::properties::get_y_scaler, + axes::properties::get_z_scaler): New accessors. + (axes::properties::x_render, axes::properties::x_render_inv, + axes::properties::x_gl_mat1, axes::properties::x_gl_mat2, + axes::properties::x_zlim): New utility Matrix fields. + (axes::properties::get_boundingbox, + axes::properties::update_camera, + axes::properites::update_aspectratios, + axes::properties::update_transform, + axes::properties::update_xscale, axes::properties::update_yscale, + axes::properties::update_zscale, axes::properties::update_view, + axes::properties::update_xdir, axes::properties::update_ydir, + axes::properties::update_zdir): New updater methods. + (axes::properties::init): Initialize sx, sy, sz and x_zlim correctly. + (axes::properties::position): Use valid default position value. + (axes::properties::xscale, axes::properties::yscale, + axes::properties::zscale, axes::properties::xdir, + axes::properties::ydir, axes::properties::zdir, + axes::properties::view): Add updater ('u') property modifier. + * graphics.cc (default_axes_position, default_axes_outerposition): + New initializers. + (convert_position): New utility function to convert position + according to specified units. + (gnuplot_backend::get_screen_resolution): New method. + (axes::properties::set_defaults): Initilize recently added properties. + (xform_matrix, xform_vector, transform, xform_scale, + xform_translate, scale, translate, xform, normalize, dot, cross, + unit_cube, cam2xform, xform2cam): New inline transformation + utility functions. + (axes::properties::update_camera, + axes::properties::update_aspectratios, + axes::properties::get_boundingbox): New updater methods for + computing transformation matrices. + (axes::update_axis_limits): Update transformation data. + +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-25 David Bateman + + * DLD-FUNCTIONS/rand.cc (Frandp): Relax relative error on randp + tests. + +2008-01-25 Michael Goffioul + + * graphics.h.in (base_properties::get_backend, + base_graphics_object::get_backend, graphics_backend::get_backend): + New methods for convenient access to the backend. + (figure::get_backend, figure::set_backend): Remove. + * graphics.cc (base_properties::get_backend): New method. + (Fdrawnow): Use graphics_object::get_backend to simplify code. + +2008-01-24 Pascal Dupuis + + * mxarray.h.in: Include . + +2008-01-22 John W. Eaton + + * graphics.cc (clear_drawnow_request): New function. + (Fdrawnow): Add it to the unwind_protect stack. + + * input.cc (Vdrawnow_requested): No longer static. + * input.h: Provide decl. + * graphics.cc (Fdrawnow, Fset, make_graphics_object): + Use Vdrawnow_requested directly. + + * toplev.cc (octave_add_atexit_function, + octave_remove_atexit_function): New functions. + (Fatexit): Use them. + * graphics.cc (Fdrawnow): Call octave_add_atexit_function instead + of using eval. + * toplev.h (octave_add_atexit_function, + octave_remove_atexit_function): Provide decls. + +2008-01-22 Michael Goffioul + + * graphics.h.in (base_properties::is_visible, + base_properties::set_modified): New accessors. + (class base_graphics_backend, class graphics_backend): New classes + for handling octave/backend interaction. + (figure::properties::close): Add "pop" argument controlling + whether the figure should be popped from the list of existing figures. + (class figure::properties): New backend field and accessors, holding + the graphics backend associated with the figure. + * graphics.cc (class gnuplot_backend): New class for the default + gnuplot backend. + (figure::properties::close): Add "pop" argument and transfer the + figure closing to the associated backend. + (Fdrawnow): New builtin function, converted from drawnow.m. + +2008-01-19 John W. Eaton + + * genprops.awk (emit_source): Use "pname" for property name argument. + +2008-01-19 Shai Ayal + + * graphics.h.in (class figure::properties): New properties: + alphamap, currentcharacter, currentobject, current_point, + dockcontrols, doublebuffer, filename, integerhandle, + inverthardcopy, keypressfcn, keyreleasefcn, menubar, mincolormap, + name, numbertitle, paperunits, paperposition, paperpositionmode, + papersize, papertype, pointer, pointershapecdata, + pointershapehotspot, position, renderer, renderermode, resize, + resizefcn, selectiontype, toolbar, units, windowbuttondownfcn, + windowbuttonmotionfcn, windowbuttonupfcn, windowbuttonwheelfcn, + windowstyle, wvisual, wvisualmode, xdisplay, xvisual, xvisualmode, + buttondownfcn. + +2008-01-19 Michael Goffioul + + * graphics.h.in (base_properties::beingdeleted, + base_properties::is_beingdeleted, + base_properties::get_beingdeleted, + base_properties::set_beingdeleted): + Add beingdeleted property and accessors. + * graphics.cc (base_properties::get): Likewise. + (gh_manager::free): Set beingdeleted to "on" when freeing an object. + * genprops.awk: Skip C++-style comments in property declaration. + + * graphics.h.in (class axes::properties): New properties: alim, + alimmode, xminortick, yminortick, zminortick, ambientlightcolor, + cameraposition, cameratarget, cameraupvector, cameraviewangle, + camerapositionmode, cameratargetmode, cameraupvectormode, + cameraviewanglemode, currentpoint, drawmode, fontangle, fontname, + fontsize, fontweight, fontunits, gridlinestyle, + minorgridlinestyle, linestyleorder, linewidth, plotboxaspectratio, + plotboxaspectratiomode, projection, tickdir, tickdirmode, + ticklength, tightinset, units, x_viewtransform, + x_projectiontransform, x_viewporttransform, x_normrendertransform, + x_rendertransform. + * genprops.awk: Handle new readonly modifier 'r'. + +2008-01-18 Juhani Saastamoinen + + * genprops.awk: Avoid using "default" as a variable name. + +2008-01-17 Michael Goffioul + + * graphics.h.in (data_property::get_data_limits): Reset min/max values. + +2008-01-17 David Bateman + + * ov-fcn-inline.cc: Add tests for Finline. + +2008-01-17 Ben Abbott + + * load-path.cc (F__pathorig__): Rename from Fpathdef. + (Frestoredefaultpath): New function. + +2008-01-16 John W. Eaton + + * pt-assign.cc (tree_simple_assignment::rvalue, + tree_multi_assignment::rvalue): Handle assignment of + comma-separated lists. + +2008-01-15 John W. Eaton + + * mappers.cc (install_mapper_functions): Move test for asin here + from test/test_arith.m. + + * graphics.h.in (class line::properties, class text::properties): + Rename erase_mode property to erasemode. + +2008-01-15 Michael Goffioul + + * graphics.h.in (base_properties::remove_child, + base_properties::adopt, base_properties::update_axis_limits): + Make virtual. + (base_graphics_object::mark_modified, + base_graphics_object::override-defaults, + base_graphics_object::set_from_list, base_graphics_object::set, + base_graphics_object::get, base_graphics_object::get_parent, + base_graphics_object::remove_child, base_graphics_object::adopt, + base_graphics_object::reparent, base_graphics_object::defaults, + base_graphics_object::type): Add default implementation. + (class root_figure, class figure, class axes, class line, + class text, class image, class patch, class surface): + Remove overloaded virtual methods whose implementation is + identical to the default one. + + * genprops.awk: Handle 'h' modifier for hidden properties. + Replace "get(void)" method with "get(bool all = false)" to allow + access to hidden properties. + + * graphics.h.in (base_properties::get, base_graphics_object::get, + graphics_object::get, root_figure::get, figure::get, axes::get, + line::get, text::get, patch::get, surface::get, image::get): + New arg, ALL, to access hidden properties. + (gh_manager::do_get_object): Do not look for invalid handles. + (figure::properties::__plot_stream__, + figure::properties::__enhanced__, axes::properties::__colorbar__): + Make properties hidden. + (axes::properties, line::properties, text::properties, + patch::properties, surface::properties): Remove obsolete 'a' + property modifier. + * graphics.cc (base_properties::get): New arg ALL, to access + hidden properties. + (base_properties::mark_modified): Call mark_modified only on valid + parent object. + (__get__): New internal function returning all properties, + including the hidden ones. + +2008-01-15 John W. Eaton + + * graphics.cc (properties::set_currentfigure, + properties::set_currentaxes): Don't convert arg to double + before passing to graphics_handle constructor. + (base_properties::remove_child): Call mark_modified if list of + children changes. + +2008-01-15 Shai Ayal + + * graphics.h.in (class line::properties): New properties: + displayname, erasemode. + (class text::properties) New properties: backgroundcolor, + displayname, edgecolor, erase_mode, editing, fontunits, linestyle, + linewidth, margin, verticalalignment. + +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. + + * symtab.h (symbol_table::do_pop_context): Remove symbol_records + which have no more context. + (symbol_table::symbol_record::pop_context, + (symbol_table::symbol_record::symbol_record_rep::pop_context): + Return size of value_stack, or 1 if variable is persistent or global. + +2008-01-14 Kai Habel + + * graphics.h.in (class patch::properties): New properties: + cdatamapping, facevertexalphadata, facevertexcdata, vertexnormals, + normalmode, facelighting, edgealpha, edgelighting, + backfacelighting, ambientstrength, diffusestrength, + specularstrength, specularexponent, specularcolorreflectance, + erasemode. + +2008-01-14 Michael Goffioul + + * graphics.h.in (gh_manager::do_make_graphics_handle, + gh_manager::make_graphics_handle): New boolean parameter + do_createfcn. + * graphics.cc (xcreatefcn): New static function. + (gh_manager::do_make_graphics_handle): New boolean parameter + do_createfcn. Execute createfcn callback accordingly. + (make_graphics_object, F__go_figure__): Use do_createfcn + parameter and call xcreatefcn + + * genprops.awk (emit_get_callback): Pass user data to execute method. + * graphics.cc (execute_callback): New static function. + (callback_property::validate): Make it work. + (callback_property::execute): Make it work. + (gh_manager::do_free): Execute delete function here. + * graphics.h.in (callback_property::execute): Fix decl. + (base_properties::buttondownfcn, base_properties::createfcn, + base_properties::deletefcn, base_properties::userdata): Default + value is empty Matrix, not undefined octave_value object. + (base_properties::execute_createfcn): New function. + (base_properties::execute_deletefcn): New function. + +2007-12-13 Shai Ayal + + * graphics.h.in, graphics.cc (class base_properties): New + properties: busyaction, buttondownfcn, clipping, createfcn, + deletefcn, handlevisibility, hittest, interruptible, selected, + selectionhighlight, uicontextmenu, userdata, visible. + (class figure): Delete visible property. + +2008-01-13 Michael Goffioul + + * graphics.h.in: Sprinkle with OCTINTERP_API as needed. + (axes::properties::xaxislocation): Allow value of zero. + (axes::properties::yaxislocation): Likewise. + +2008-01-12 Michael Goffioul + + * Makefile.in (distclean): Delete graphics-props.cc. + + * genprops.awk: Handle new graphics property classes. + + * graphics.h.in, graphics.cc: Adapt for new specific property types. + +2008-01-12 John W. Eaton + + * toplev.cc (octave_config_info): Add GNUPLOT to the struct. + * oct-conf.h.in (OCTAVE_CONF_GNUPLOT): New macro. + +2008-01-11 John W. Eaton + + * DLD-FUNCTIONS/__qp__.cc (qp): Undo part of change from + 2007-09-04 (compute Y at each iteration). + +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. + + * DLD_FUNCTIONS/__gnuplot_raw__.l: Delete. + * Makefile.in (DLD_XSRC): Remove it from the list. + (BUILT_DISTFILES): Remove __gnuplot_raw__.cc from the list. + (stamp-prereq): Don't depend on __gnuplot_raw__.cc. + (maintainer-clean): Don't remove __gnuplot_raw__.cc. + (__gnuplot_raw__.cc): Delete target. + (__gnuplot_raw__.o, pic/__gnuplot_raw__.o): Delete targets. + + * 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 + + * 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. + + * gripes.cc (gripe_wrong_type_arg (const std::string&, const + octave_value&, bool)): New function. + * gripes.h: Provide decl. + + * oct-stream.cc (printf_value_cache::printf_value_cache): + Reject structs, cells, objects, and lists. + (octave_base_stream::do_printf): Quit early if printf_value_cache + constructor fails. + + * parse.y (make_anon_fcn_handle): Don't attempt to convert + expression to assignment to __retval__. + +2008-01-07 Michael Goffioul + + * ov-builtin.h (octave_builtin): Tag with OCTINTERP_API. + * ov-dld-fcn.h (octave_dld_function): Likewise. + + * ov-dld-fcn.cc (octave_dld_function::create): New function. + * ov-dld-fcn.h: Provide decl. + * defun.h (DEFINE_FUNX_INSTALLER_FUN3): Call it instead of + creating a new octave_dld_function object directly. + +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. + +2008-01-04 Thomas Weber + + * variables.cc (Fclear): Doc fix. + +2008-01-04 John W. Eaton + + * symtab.h (symbol_table:pop_scope): Avoid accessing beyond end of + scope_stack. + +2008-01-04 David Bateman + + * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Use data method instead of + elem in the case where F(0) is non-zero. + +2007-12-28 John W. Eaton + + Merge changes from object branch: + + 2007-12-12 John W. Eaton + + * load-path.cc (load_path::dir_info::get_file_list, + load_path::move_method_map, load_path::remove_method_map, + load_path::do_find_fcn, load_path::do_find_private_fcn, + load_path::do_find_method, load_path::do_find_file, + load_path::do_find_first_of, load_path::do_find_all_first_of, + load_path::do_display, load_path::add_to_method_map, genpath, + execute_pkg_add_or_del): Use file_ops::concat. + + 2007-08-24 John W. Eaton + + * variables.cc (Fmislocked): return value for nargin == 0 case. + + 2007-07-27 John W. Eaton + + * pt-idx.cc (tree_index_expression::rvalue): + Pass substring of type to subsref when doing partial evaluation. + (tree_index_expression::lvalue): Likewise. + + 2007-06-29 John W. Eaton + + * ov-class.cc (is_built_in_class, set_class_relationship, + Fsuperiorto, Finferiorto): New functions. + (octave_class::in_class_method): New function. + (octave_class::subsref, octave_class:subsasgn): Use it. + + 2007-06-28 John W. Eaton + + * ov-class.cc (sanitize): New function. + (make_idx_args): Use it. + + 2007-06-28 John W. Eaton + + * ov-class.cc (octave_class::subsasgn): Expect and use only + one return value from feval of subsasgn method. + + * ov.cc (octave_value::assign): Don't convert to struct if + indexing a class object with ".". + + * pt-idx.cc (tree_index_expression::make_arg_struct): + Use Cell instead of octave_value_list for subscripts. + + * ov-class.cc (make_idx_args): For "." index, subs field is + string, not cell. + + 2007-06-27 John W. Eaton + + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, + octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, + octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, + octave_fcn_handle::load_hdf5): Adapt to new symbol table objects. + + * symtab.h (symbol_table::all_variables, + symbol_table::do_all_variables): New arg, defined_only. + + 2007-06-26 John W. Eaton + + * ls-mat5.cc (read_mat5_binary_element): Adapt to new symbol table + objects. + + * variables.cc (Vwhos_line_format): New static variable. + (Fwhos_line_format): New function. + (symbol_record_name_compare): Delete function. + (symbol_record_name_compare, whos_parameter): New structs. + (print_descriptor, dimensions_string_req_first_space, + dimensions_string_req_total_space, make_dimensions_string, + parse_whos_line_format, print_symbol_info_line): New static + functions, adapted from old symbol table class. + (do_who): Adapt to new symbol table objects. + + * symtab.h (symbol_table::glob_variables): New functions. + (symbol_table::do_glob): New argument, vars_only. Change all uses. + + 2007-06-22 John W. Eaton + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::help_for_dispatch): + New function. + * symtab.h: Provide decl. + (symbol_table::fcn_info::help_for_dispatch, + symbol_table::help_for_dispatch): New functions. + + * help.cc (help_from_symbol_table): Call + symbol_table::help_for_dispatch instead of + extract_help_from_dispatch. + + * help.cc (extract_help_from_dispatch): Delete. + * help.h: Delete decl. + + 2007-06-21 John W. Eaton + + * DLD-FUNCTIONS/dispatch.cc (class octave_dispatch): Delete class. + (builtin, any_arg_is_magic_colon, dispatch_record): Delete functions. + (Fbuiltin, Fdispatch): Adapt to new symbol table objects. + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::print_dispatch): + New function. + * symtab.h: Provide decl. + (symbol_table::fcn_info::print_dispatch, symbol_table::print_dispatch): + New functions. + + * symtab.h (symbol_table::fcn_info::fcn_info_rep::clear_dispatch, + symbol_table::fcn_info::clear_dispatch, symbol_table::clear_dispatch): + New functions. + + * symtab.h (symbol_table::fcn_info::fcn_info_rep::get_dispatch, + symbol_table::fcn_info::get_dispatch, symbol_table::get_dispatch): + New functions. + + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find): + Use leftmost class argument as dispatch type, or first argument if + there are no class arguments. + + 2007-06-20 John W. Eaton + + * ov-base.cc (Vprint_answer_id_name, Fprint_answer_id_name): Delete. + (octave_base_value::print_with_name): Always print name. + + * ov-base.cc (Vsilent_functions): No longer static. + * ov-base.h: Provide decl. + + * ov-class.cc (Fmethods): Define as command. + + * ov-class.cc (octave_class::print): Simply call print_raw. + + * ov-class.cc (octave_class::print_with_name): New function. + * ov-class.h: Provide decl. + + 2007-06-19 John W. Eaton + + * ov.cc (octave_value::do_unary_op, octave_value::do_binary_op): + Handle class methods. + + * ov.cc (octave_value::unary_op_fcn_name, + octave_value::binary_op_fcn_name): New functions. + * ov.h: Provide decls. + + * ov-typeinfo.cc (octave_value_typeinfo::register_unary_class_op, + octave_value_typeinfo::register_binary_class_op, + octave_value_typeinfo::do_register_unary_class_op, + octave_value_typeinfo::do_register_binary_class_op, + octave_value_typeinfo::do_lookup_unary_class_op, + octave_value_typeinfo::do_lookup_binary_class_op): New functions. + * ov-typeinfo.h: Provide decls. + + * ov-typeinfo.h (octave_value_typeinfo::unary_class_op_fcn, + octave_value_typeinfo::binary_class_op_fcn): New typedefs. + (octave_value_typeinfo::unary_class_ops, + octave_value_typeinfo::binary_class_ops): New data members. + (octave_value_typeinfo::octave_value_typeinfo): Initialize them. + (octave_value_typeinfo::lookup_unary_class_op, + octave_value_typeinfo::lookup_binary_class_op): New functions. + + * OPERATORS/op-class.cc: New file. + * Makefile.in (OP_XSRC): Add it to the list. + + * ov.cc (install_types): Call octave_class::register_type here. + + * ov-class.h (octave_class): Implement by containing a map object + instead of deriving from octave_struct. + * ov-class.cc (octave_class::subsref, octave_class::subsasgn): + Don't use octave_class implementation as default action. + + * ov.h, ov.cc (octave_value::octave_value (const Octave_map&, const + std::string&)): New constructor. + + 2007-06-18 John W. Eaton + + * ov-class.cc (octave_class::subsref, octave_class::subsasgn): + Handle dispatch to user-defined methods. + + * parse.y (load_fcn_from_file): New arg, dispatch_type. + Change all uses. + + * ov-fcn.h (octave_function::is_class_constructor, + octave_function::is_class_method, octave_function::dispatch_class): + New virtual functions. + + * ov-usr-fcn.h (octave_user_function::dispatch_class, + octave_usr_function::stash_dispatch_class): New functions. + (octave_usr_fucntion::xdispatch_class): New data member. + * parse.y (frob_function): Call stash_dispatch_class here. + + * ov-struct.cc (Ffieldnames): Also handle objects. + + * ov-class.cc (Fmethods): New function. + * load-path.cc (load_path::do_methods): New function. + * load-path.h (load_path::methods): New function. + + * ov.h (octave_value::is_object): New function. + * ov-base.h (octave_base_value::is_object): New virtual function. + * ov-class.h (octave_class::is_object): New function. + * ov-class.cc (Fisobject): New function. + + 2007-06-15 John W. Eaton + + * ov-class.cc (octave_class::print): Call display method if found. + + * symtab.h (symbol_table::fcn_info::find_method): New function. + (symbol_table::find_method): New function. + (symbol_table::fcn_info::fcn_info_rep::find_method): Provide decl. + * symtab.cc (symbol_table::fcn_info::fcn_info_rep::find_method): + New function. + (symbol_table::fcn_info::fcn_info_rep::find): Use it. + + 2007-06-14 John W. Eaton + + * symtab.h (symbol_table::clear_mex_functions): Make it work. + (symbol_table::fcn_info::fcn_info_rep::clear_mex_function, + symbol_table::fcn_info::clear_mex_function): New functions. + + 2007-06-08 John W. Eaton + + * defun.cc (Falias): Delete. + + * variables.cc (load_fcn_try_ctor): New function. + (lookup): call load_fcn_try_ctor instead of load_fcn_from_file. + + * variables.cc, variables.h (at_top_level, lookup_by_name, lookup, + initialize_symbol_tables, fcn_out_of_date, symbol_out_of_date, + lookup_function, lookup_user_function, link_to_global_variable, + link_to_builtin_or_function, force_link_to_function, Fdocument, + is_local_variable, do_clear_all, do_clear_functions, + do_clear_globals, do_clear_variables, do_clear_function, + do_clear_global, do_clear_variable, do_clear_symbol, + do_clear_function_pattern, do_clear_global_pattern, + do_clear_variable_pattern, do_clear_symbol_pattern, + clear_function, clear_variable, clear_symbol): + Delete (some functionality moved to the new symtab.cc and some is + no longer needed). + (Fignore_function_time_stamp): Move to symtab.cc. + + * lex.l (lookup_identifier): Delete. + + * parse.y (is_function_file): New function. + (load_fcn_from_file): Return pointer to octave_function, not bool. + + * ov-usr-fcn.h, ov-usr-fcn.cc (octave_user_function::argn_sr, + octave_user_function::nargin_sr, octave_user_function::nargout_sr, + octave_user_function::varargin_sr): Delete data members. + (octave_user_function::install_automatic_vars): Delete. + (octave_user_script::do_multi_index_op): New function. + + * ov-fcn.h (octave_function::locked, octave_function::my_dir_name): + New data members. + (octave_function::dir_name, octave_function::stash_dir_name, + octave_function::lock, octave_function::unlock, + octave_function::islocked): New functions. + + * of-fcn-handle.h, ov-fcn-handle.cc (octave_fcn_handle::subsref): + Call out_of_date_check here to simplify time stamp checking. + (octave_fcn_handle::reload_warning): Delete. + + * ov.h (octave_value::is_user_script, octave_value::is_user_function): + New functions. + * ov-base.h (octave_base_value::is_user_script, + octave_base_value::is_user_function): New pure virtual functions. + * ov-fcn.h (octave_function::is_user_script, + octave_function::is_user_function): Delete. + + * load-save.cc (install_loaded_variable): Greatly simplify. + + * load-path.h, load-path.cc: Change private_fcn_file to private_file. + (load_path::private_fcn_map): New data member. + (load_path::do_add, load_path::do_remove, load_path::do_update): + Also manage private_file_map here. + (load_path::add_to_private_fcn_map): New function. + (load_path::remove_private_fcn_map): New function. + (load_path::do_find_private_fcn): Make it work. + (get_file_list): New function. + (load_path::do_display): Use it. Display private map. + (load_path::find_method, load_path::find_fcn): Handle directory name. + + * token.cc, token.h, toplev.cc, debug.cc, defun.cc, defun-dld.h, + defun-int.h, error.cc, help.cc, load-save.h, load-save.cc, mex.cc, + octave.cc, ov-fcn-handle.cc, ov-usr-fcn.cc, parse.h, parse.y, + lex.l, variables.cc: Adapt to new symbol table objects (my + apologies for the lack of detail). + + * unwind-prot.h (unwind_protect::add): Set default value for ptr arg. + + * pt-stmt.cc (tree_statement::eval): Rework method for deciding + whether to assign value to ans. + + * pt-idx.cc (tree_index_expression::rvalue): + Looking up symbol may evaluaate first args now. + + * pt-id.h, pt-id.cc (tree_identifier::document, + tree_identifier::is_defined, tree_identifier::define, + tree_identifier::is_function, tree_identifier::lookup, + tree_identifier::link_to_global): Delete. + (tree_identifier::do_lookup): Simplify. + (tree_identifier::rvalue): Looking up symbol can't execute script now. + + * pt-misc.cc (tree_parameter_list::initialize_undefined, + tree_parameter_list::is_defined): Call is_variable for elt, not + is_defined. + + * pt-fcn-handle.h (tree_anon_fcn_handle::fcn): Now pointer to + octave_user_function, not value. Change all uses. + + * pt-decl.h (tree_decl_command::initialized): Delete data member. + (tree_decl_elt::is_variable): New function. + * pt-decl.cc: Fix all uses of tree_decl_command::initialized. + + * ls-hdf5.cc, ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, + ls-oct-ascii.cc, ls-oct-binary.cc, input.cc: Don't include symtab.h. + + * dynamic-ld.h, dynamic-ld.cc (octave_dynamic_loader::load_oct, + octave_dynamic_loader::load_mex, octave_dynamic_loader::do_load_oct, + octave_dynamic_loader::do_load_mex): Adapt to new symbol table + objects. Return pointer octave_function instead of bool. + + * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Disable for now. + Disable code that works with old symbol tables. + (Fbuiltin): Simply call symbol_table::add_dispatch. + + * pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, pt-assign.h, + pt-binop.cc, pt-binop.h, pt-bp.h, pt-cell.cc, pt-cell.h, + pt-cmd.cc, pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, + pt-const.h, pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, + pt-exp.h, pt-fcn-handle.cc, pt-fcn-handle.h, pt-id.cc, pt-id.h, + pt-idx.cc, pt-idx.h, pt-jump.cc, pt-jump.h, pt-loop.cc, pt-loop.h, + pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h, pt-select.cc, + pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, pt-unop.h: + Adapt dup functions to use scope instead of symbol_table objects. + + * TEMPLATE-INST/Array-sym.cc: Delete. + * Makefile.in (TI_XSRC): Remove it from the list. + + * symtab.h, symtab.cc: Replace with new versions. + + 2007-05-16 John W. Eaton + + * oct-lvalue.cc, oct-lvalue.h (octave_lvalue::chg_fcn): Delete. + Fix all uses. + + 2007-05-15 John W. Eaton + + * load-path.cc (load_path::do_find_private_function): New function. + * load-path.h (load_path::do_find_private_function): Provide decl. + (load_path::find_private_function): New function. + + 2007-05-08 John W. Eaton + + * pt-idx.cc (tree_index_expression::rvalue): Handle dispatch here. + + * pt-id.cc (tree_identifier::is_variable, tree_identifier::lookup): + New functions. + * pt-id.cc: Provide decls. + + * parse.y (current_class_name): New global variable. + * parse.h: Provide decl. + + * parse.y (load_fcn_from_file, parse_fcn_file): + New arg, dispatch_type. + (parse_fcn_file): Protect current_class_name and set it to + dispatch_type before parsing function. + (load_fcn_from_file): If dispatch_type is not empty, call + load_path::find_method instead of load_path::find_fcn. + * parse.h: Fix decls for extern functions. + + * lex.h (lexical_feedback::parsing_class_method): New data member. + * lex.l (lexical_feedback::init): Initialize it. + (lookup_identifier): Check it and set sym_name accordingly. + + * ov-usr-fcn.h (octave_user_function::mark_as_class_constructor, + octave_user_function::is_class_constructor, + octave_user_function::mark_as_class_method, + octave_user_function::is_class_method): New functions. + (octave_user_function::class_constructor, + octave_user_function::class_method): New data members. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Initialize them. + + * load-path.h, load-path.cc: Use typedefs to simplify template decls. + Use fcn consistently instead of function. + + 2007-05-03 John W. Eaton + + * ov-class.cc (Fclass): Move here. + * ov-typeinfo.cc: From here. + + * input.cc (octave_gets): Call load_path::update if user input + contains something other than one of the characters " \t\n\r". + + * ov-class.cc, ov-class.h: New files. + * Makefile.in: Add them to the appropriate lists. + + * load-path.cc (genpath): Skip directories beginning with "@". + (load_path::dir_info::get_file_list): Don't return anything. + Call get_private_function_map here. + (load_path::dir_info::initialize): Not here. + (load_path::dir_info_::get_method_file_map): New function. + (load_path::method_map): New data member. + (load_path::do_clear): Also clear method_map. + (load_path::do_add): Also call add_to_method_map. + (load_path::do_update): Also clear method_map and call + (load_path::do_find_method): New function. + (load_path::do_add_to_method_map): New function. + (load_path::move_fcn_map, load_path::move_method_map): New functions. + (load_path::move): Use them. + (load_path::remove_fcn_map, load_path::remove_method_map): + New functions. + (load_path::remove): Use them. + * load-path.h: Provide/fix decls. + (load_path::find_method): New static function. + + * Makefile.in (%.df : %.cc): Use mv instead of + $(simple-move-if-change-rule). + +2007-12-21 John W. Eaton + + Version 3.0.0 released. + + * version.h (OCTAVE_VERSION): Now 3.0.0. + (OCTAVE_API_VERSION): Now api-v32. + (OCTAVE_RELEASE_DATE): Now 2007-12-21. + +2007-12-19 Thomas Kasper + + * OPERATORS/op-scm-cs.cc (DEFBINOP (pow)): Extract complex value + from second arg. + +2007-12-12 David Bateman + + * DLD-FUNCTIONS/sparse.cc (Fsparse): Check for scalar arguments + for 2 argument version. + +2007-12-12 John W. Eaton + + * graphics.h.in (class axes) Add the layer property. + * graphics.cc (class axes) Ditto. + + * graphics.cc (gh_manager::get_handle): Use ceil instead of trunc. + +2007-12-11 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.19+. + +2007-12-11 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.19. + (OCTAVE_API_VERSION): Now api-v31. + (OCTAVE_RELEASE_DATE): Now 2007-12-11. + + * graphics.cc (make_graphics_object): + If successful, call __request_drawnow__. + + * input.cc (Vgud_mode): New static variable. + (F__gud_mode__): New function. + (get_user_input): If debug and Vgud_mode, print location info in + format for Emacs GUD mode. + +2007-12-11 David Bateman + + * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: Privilege + conversion to dense matrices for compatibility. + + * DLD-FUNCTIONS/sparse.cc (FSparse): Remove the mutate flag, as + default bahavior is now to keep matrix sparse always. + + * graphics.cc (axes::properties::properties): + Initialize xcolor, ycolor, and zcolor to (0, 0, 0). + + * graphics.h.in (gh_manager::next_handle): Now double. + * graphics.cc (gh_manager::get_handle, gh_manager::gh_manager): + Set fractional part of next_handle to a random value. + +2007-12-10 John W. Eaton + + * ov-cell.cc (octave_cell::all_strings): Handle empty elements. + Handle N-d cell arrays. + + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): + For compatibility, return [x, fval, info] instead of [x, info, msg]. + Move tests here from test/test_nonlin.m. + + * OPERATORS/op-cm-s.cc: Define function for el_mul with + DEFNDBINOP_OP, not DEFBINOP_OP. + + * OPERATORS/op-s-cm.cc: Define functions for el_and and el_or + operators with DEFNDBINOP_FN. + + * oct-hist.cc (default_history_file): Use file_ops::concat. + * load-path.cc (dir_info::initialize, dir_info::get_file_list, + load_path::do_find_fcn, load_path::do_find_file, genpath, + execute_pkg_add_or_del, load_path::do_find_first_of, + load_path::do_find_all_first_of): Likewise. + + * help.cc (Flookfor): Avoid doubling directory separator. + * dirfns.cc (Fmkdir): Likewise. + + * pt-mat.cc (tree_matrix::rvalue): Produce sq_string if any + strings are sq_string objects. + +2007-12-10 David Bateman + + * graphics.h.in (data_property::data): Declare as NDArray instead + of Matrix. Change all uses. + +2007-12-10 Shai Ayal + + * graphics.h.in (class figure) Add the color property. + * graphics.cc (class figure) Ditto. + +2007-12-07 David Bateman + + * data.cc (Fnorm): Don't return a scalar stored as a sparse + matrix. Convert it to a scalar. + + * graphics.cc (check_limit_val): Delete. + (check_limit_vals): Simplify and no longer use check_limit_val. + +2007-12-05 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.18+. + +2007-12-05 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.18. + (OCTAVE_API_VERSION): Now api-v30. + (OCTAVE_RELEASE_DATE): Now 2007-12-05. + +2007-12-04 John W. Eaton + + * Makefile.in (INCLUDES): Add builtins.h to the list. + + * oct-hist.cc (default_history_file): Use += instead of + push_back to append character to std::string object. + + * Makefile.in (LIBDLFCN): Delete all uses. + + * toplev.cc (octave_config_info): Remove LIBDLFCN and + DLFCN_INCFLAGS from the list. + * oct-conf.h.in (OCTAVE_CONF_DLFCN_INCFLAGS, OCTAVE_CONF_LIBDLFCN): + Delete. + + * error.cc (Ferror): Handle error id. + + * load-save.cc (Fsave, Fload): Doc fixes. + From Marco Caliari . + +2007-12-04 Shai Ayal + + * graphics.h.in (base_properties::get_type + base_properties::get___modified__, + base_properties::get___myhandle__): New functions. + +2007-12-04 Christoph Mayer . + + * toplev.h (clean_up_and_exit, recover_from_exception, + do_octave_atexit, global_command, curr_parent_function): + Tag with OCTINTERP_API. + +2007-12-03 David Bateman + + * DLD-FUNCTIONS/luinc.cc: Make tests conditional on HAVE_UMFPACK. + * DLD-FUNCTIONS/spqr.cc: Make tests conditional on HAVE_CXSPARSE. + + * DLD-FUNCTIONS/regexp.cc: Use "%!testif" blocks for conditional + tests on PCRE. + + * graphics.cc (class axes): Add color and activepositionproperty + properties to axis objects. + * graphics.h.in (class axes): ditto. + + * DLD-FUNCTIONS/regexp.cc: Also include sys/types.h for regexp. + +2007-11-30 John W. Eaton + + * DLD-FUNCTIONS/sort.cc (operator < (const Complex&, const Complex&), + operator > (const Complex&, const Complex&)): + Pass args by const reference, not value. + + * data.cc, matherr.c, pr-output.cc, sysdep.cc, + DLD-FUNCTIONS/__dsearchn__.cc, DLD-FUNCTIONS/minmax.cc, + DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/sort.cc, + DLD-FUNCTIONS/tsearch.cc: Include lo-math.h instead of cmath + or math.h. + +2007-11-30 Moritz Borgmann + + * ls-mat5.h (mat5_data_type): Delete trailing comma in enum decl. + * oct-stream.cc (octave_base_stream::do_printf): Use + OCTAVE_EMPTY_CPP_ARG to avoid annoying Sun compiler warning. + * OPERATORS/op-sbm-sbm.cc (DEFDBLCONVFN): Delete useless macro + invocation. + + * DLD-FUNCTIONS/typecast.cc (typecast): No longer static. + +2007-11-30 John W. Eaton + + * graphics.cc (updating_axis_limits): New static variable. + (check_limit_val, check_limit_vals, get_axis_limits): New functions. + (axes::update_axis_limits): Make it work. + * graphics.h.in (base_properties::get_children): New function. + (base_properties::get_xdata, base_properties::get_ydata, + base_properties::get_zdata, base_properties::get_ldata, + base_properties::get_udata, base_properties::get_xldata, + base_properties::get_xudata, base_properties::get_cdata, + base_properties::get_properties (void) const): + New virtual functions. + (graphics_object::get_xdata, graphics_object::get_ydata, + graphics_object::get_zdata, graphics_object::get_ldata, + graphics_object::get_udata, graphics_object::get_xldata, + graphics_object::get_xudata, graphics_object::get_cdata, + graphics_object::get_properties (void) const, + root_figure::get_properties (void) const, + figure::get_properties (void) const, + axes::get_properties (void) const, + line::get_properties (void) const, + text::get_properties (void) const, + image::get_properties (void) const, + patch::get_properties (void) const, + surface::get_properties (void) const)): New functions. + (radio_property::radio_property (const radio_values&)): + Provide default value for argument. + (radio_property::radio_property (const radio_values&, const + std::string&)): Delete. + (axes::xlimmode, axes::ylimmode, axes::zlimmode, axes::climmode, + axes::xscale, axes::yscale, axes::zscale): Declare as + radio_property instead of octave_value values. Adjust all uses. + +2007-11-29 John W. Eaton + + * pr-output.cc (octave_print_internal_template (std::ostream&, + const octave_int&, bool)): Rename from octave_print_internal. + (PRINT_INT_SCALAR_INTERNAL): New macro. Use it to define + non-template functions for printing scalar octave_int values. + (octave_print_internal_template (std::ostream&, const intNDArray&, + bool, int)): Rename from octave_print_internal. + (PRINT_INT_ARRAY_INTERNAL): New macro. Use it to define + non-template functions for printing scalar octave_int values. + * pr-output.h: Declare non-template functions for printing + octave_int scalar and array values. + Delete declarations of template funtions for printing octave_int + scalar and array values. + +2007-11-28 John W. Eaton + + * graphics.cc (base_properties::update_axis_limits, + axes::update_axis_limits): New functions. + * graphics.h.in (class data_property): New class. + (graphics_object::update_axis_limits): New function. + (base_graphics_object::update_axis_limits): New virtual function. + (base_properties::update_axis_limits, axes::update_axis_limits): + Provide decls. + (class line, class image, class patch, class surface): Use it + instead of octave_value for data properties. Tag data properties + with "l" modifier. + (class axes): Tag scale properties with "l" modifier. + * genprops.awk: Handle "l" modifier. + + * mkbuiltins: Emit #include "builtins.h" for the builtins.cc file. + From Christoph Mayer . + + * TEMPLATE-INST/Array-tc.cc (resize_fill_value): + Delete. + + * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)): + Initialize undefined values to resize_fill_value (). + +2007-11-27 John W. Eaton + + * TEMPLATE-INST/Array-tc.cc (resize_fill_value): + Tag inline. From Moritz Borgmann . + + * pt-bp.cc (tree_breakpoint::visit_decl_command): Also check line + number of cmd. + * pt-decl.cc (tree_global_command::eval, tree_static_command::eval): + Insert MAYBE_DO_BREAKPOINT here. + + * error.cc (Fwarning): If setting state "all" to "error", leave + Octave:matlab-incompatible and Octave:single-quote-string warning + states unchanged. + (warning_enabled): Allow individual warning states to override + "warning error all". + + * octave.cc (execute_eval_option_code, execute_command_line_file): + Handle interrupts. + * toplev.cc (recover_from_exception): Now extern. + * toplev.h (recover_from_exception): Provide decl. + + * pt-idx.cc (tree_index_expression::lvalue): Treat object == [] + the same as undefined. + +2007-11-26 John W. Eaton + + * oct-stream.cc (DO_DOUBLE_CONV): Always use long. + + * oct-stream.cc (do_write): Call float_value and double_value on + octave_int objects instead of relying on conversion operators. + + * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ): + Call double_value on octave_int objects + instead of relying on conversion operator. + (read_mat5_binary_file_header): + Call char_value on octave_int objects + instead of relying on conversion operator. + (read_mat5_binary_element): + Call bool_value on octave_int objects + instead of relying on conversion operator. + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value, + OCTAVE_VALUE_INT_MATRIX_T::scalar_value, + OCTAVE_VALUE_INT_MATRIX_T::matrix_value, + OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value, + OCTAVE_VALUE_INT_MATRIX_T::array_value, + OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, + OCTAVE_VALUE_INT_SCALAR_T::double_value, + OCTAVE_VALUE_INT_SCALAR_T::scalar_value, + OCTAVE_VALUE_INT_SCALAR_T::matrix_value, + OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, + OCTAVE_VALUE_INT_SCALAR_T::array_value, + OCTAVE_VALUE_INT_SCALAR_T::complex_array_value, + Call double_value on octave_int objects + instead of relying on conversion operator. + (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, + OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): + Call bool_value on octave_int objects + instead of relying on conversion operator. + (OCTAVE_VALUE_INT_MATRIX_T::char_array_value, + OCTAVE_VALUE_INT_SCALAR_T::char_array_value): + Call char_value on octave_int objects + instead of relying on conversion operator. + +2007-11-26 David Bateman + + * Sparse-op-defs.h (SPARSE_BASE_REDUCTION_OP): Check that the fill + value is not zero before creating the matrices. + + * graphics.cc (class axes): Add the {x|y|z}color color property. + * graphics.h.in (class axes): ditto. + + * ov-base.cc (Vsparse_auto_mutate, Fsparse_auto_mutate): New + internal variable and built-in function to set it. + * ov-base.h (extern bool Vsparse_auto_mutate): Export internal + variable to other functions. + * ov-re-sparse.cc (octave_sparse_matrix::try_narrowing_conversion + (void)), ov-cx-sparse.cc + (octave_sparse_complex_matrix::try_narrowing_conversion (void)), + ov-bool-sparse.cc + (octave_sparse_bool_matrix::try_narrowing_conversion (void)): + Use Vsparse_auto_mutate flag to determine whether to convert + sparse matrices to full matrices if that saves space. + + * DLD-FUNCTIONS/minmax.cc (MINMAX_DOUBLE_BODY): New version of + MINMAX_BODY macro without the initialization. + (MINMAX_INT_BODY): Macro for min/max for the integer types + (MINMAX_BODY): New macro that calls the appropriate instantiation + of the other two macros. + + * graphics.cc (class axes): Add __colorbar__ property. + * graphics.h.in (class axes): ditto. + + * data.cc (Fnorm): Document the "inf" string argument for matrice + and vectors and the "fro" argument for vectors. + + * graphics.h.in (class figure): Add __enhanced__ property to cache + whether the terminal supports enhanced mode. Add interpreter + property to all text classes, to determine the renderer for the + text. + * graphics.cc (class figure): ditto. + +2007-11-26 Shai Ayal + + * graphics.cc (string_properties): delete class + (property_name): rename class to caseless_str. + (radio_values::possible_vals): change type to caseless_str. + +2007-11-26 Michael Goffioul + + * builtins.h (install_builtins): Tag with OCTINTERP_API. + * toplev.h (octave_interpreter_ready, octave_initialized): Likewise. + +2007-11-14 John W. Eaton + + * mex.cc (mex::foreign_memlist): New data member. + (mex::mark_foreign, mex::unmark_foreign): New functions. + (mex::free): Don't warn about pointers found in foreign_memlist. + (maybe_mark_foreign): New function. + (mxArray_octave_value::get_data, mxArray_octave_value::get_ir, + mxArray_octave_value::get_jc): + Call maybe_mark_foreign on returned pointer. + +2007-11-14 David Bateman + + * mex.cc (mxArray_sparse::mxArray_sparse (const mxArray_sparse&)): + Also ensure that pr and pi are correctly copied. + +2007-11-14 John W. Eaton + + * Makefile.in (@bsd_gcc_kluge_targets_frag@): Delete line for + Makefrag.bsd substitution. + + * graphics.h.in (base_properties::tag): New property. + (base_properties::get_tag, base_properties::set_tag): New functions. + (root_figure::set, root_figure::get, figure::set, figure::get, + axes::set, axes::get, line::set, line::get, text::set, text::get, + patch::set, patch::get, surface::set, surface::get): Handle tag. + +2007-11-14 Joseph P. Skudlarek + + * DLD-FUNCTIONS/regexp.cc: Undo previous change. + +2007-11-14 John W. Eaton + + * mex.cc (mex::mark, mex::unmark): Now public. + (mex::persistent): Delete. + (mexMakeArrayPersistent): Call maybe_unmark_array instead of + mex::persistent. + (mexMakeMemoryPersistent): Call maybe_unmark instead of + mex::persistent. + (maybe_unmark (void *)): New function. + (mxSetDimensions, mxSetPr, mxSetPi, mxSetData, mxSetImagData, + mxSetIr, mxSetJc): Use it. From David Bateman. + +2007-11-13 Joseph P. Skudlarek + + * DLD-FUNCTIONS/rand.cc (Frand): Update URL reference in doc string. + +2007-11-12 David Bateman + + * graphics.h.in, graphics.cc (class text): Add the fontangle and + fontweight properties. Add string_property class to handle the + string radio values. + +2007-11-12 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.17+. + +2007-11-12 David Bateman + + * graphics.h.in, graphics.cc (class text): Add the fontname and + fontsize properties. + +2007-11-10 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.17. + (OCTAVE_API_VERSION): Now api-v29. + (OCTAVE_RELEASE_DATE): Now 2007-11-10. + +2007-11-09 John W. Eaton + + * DLD-FUNCTIONS/__gnuplot_raw__.l: Don't add atexit ("closeplot") + to PKG_ADD file. + +2007-11-09 David Bateman + + * graphics.cc, graphics.h.in (class patch): Add the field "keylabel". + + * data.cc (Fcputime) [__WIN32__]: Correct scaling of sys and usr times. + + * graphics.cc (is_handle): Handle must be a real scalar. + +2007-11-09 Joseph P. Skudlarek + + * data.cc (Fislogical): Fix typo in documentation entry. + +2007-11-08 John W. Eaton + + * DLD-FUNCTIONS/__gnuplot_raw__.l (F__gnuplot_save_data__): + Note obsolescence in doc string. + (WARN_OBSOLETE): New macro + (F__gnuplot_save_data__, Fgnuplot_command_plot, + Fgnuplot_command_replot, Fgnuplot_command_splot, + Fgnuplot_command_using, Fgnuplot_command_with, + Fgnuplot_command_axes, Fgnuplot_command_title, + Fgnuplot_command_end, Fgnuplot_use_title_option, + F__clear_plot_window__, Fcloseplot, Fpurge_tmp_files, + F__gnuplot_raw__, F__gnuplot_send_inline_data__, F__gnuplot_set__, + F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__, + F__gnuplot_replot__): Use WARN_OBSOLETE. + +2007-11-07 John W. Eaton + + * DLD-FUNCTIONS/regexp.cc: Handle HAVE_PCRE_PCRE_H. Check + HAVE_PCRE_H instead of HAVE_PCRE to decide whether to include pcre.h. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (Fgnuplot_command_plot, + Fgnuplot_command_replot, Fgnuplot_command_splot, + Fgnuplot_command_using, Fgnuplot_command_with, + Fgnuplot_command_axes, Fgnuplot_command_title, + Fgnuplot_command_end, Fgnuplot_use_title_option, + F__clear_plot_window__, Fcloseplot, Fpurge_tmp_files, + F__gnuplot_raw__, F__gnuplot_send_inline_data__, F__gnuplot_set__, + F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__, + F__gnuplot_replot__): Note obsolescence in doc string. + +2007-11-06 Kai Habel + + * graphics.h.in (class surface::properties): New properties, + cdata, facecolor, facealpha, edgecolor, linestyle, + linewidth, marker, markeredgecolor, markerfacecolor, markersize. + * graphics.cc (surface::properties::properties, + surface::properties::set, surface::properties::get, + surface::properties::factory_defaults): Handle new properities. + +2007-11-06 David Bateman + + * data.cc (DATA_REDUCTION): Handle the 'native' and 'double' + arguments of the Fsum function. + * OPERATORS/op-bm-bm.cc (matrix_to_bool_matrix, + scalar_to_bool_matrix): New type conversion functions. + (install_bm_bm_ops): Install new type conversions functions. + +2007-11-06 Michael Goffioul + + * toplev.cc (Fsystem) [__WIN32__ && ! __CYGWIN__]: + Quote the complete command. + +2007-11-06 John W. Eaton + + * data.cc (Fnorm): New tests. + + * defun-int.h (DEFINE_FUNX_INSTALLER_FUN3): Don't install function + if check_version produces an error. + +2007-11-05 John W. Eaton + + * pt-idx.cc (tree_index_expression::lvalue): Try to do a better + job of computing the number of elements in lvalue expressions when + the last indexing element is ".". + +2007-11-02 John W. Eaton + + * file-io.cc (fopen_mode_to_ios_mode): Use std::ios::app instead + of std::ios::ate. + +2007-11-02 Olli Saarela + + * input.cc, pr-output.cc, bitfcns.cc, DLD-FUNCTIONS/time.cc: + Fix broken @examples in help texts. + +2007-10-31 John W. Eaton + + * data.cc (Fnorm): Avoid warning about p_val possibly being used + uninitialized. + + * version.h (OCTAVE_VERSION): Now 2.9.16+. + +2007-10-31 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.16. + (OCTAVE_API_VERSION): Now api-v28. + (OCTAVE_RELEASE_DATE): Now 2007-10-31. + +2007-10-31 Muthiah Annamalai + + * pt-assign.h (tree_simple_assignment::op_type, + tree_multi_assignment::op_type): New functions. + * pt-unop.h (tree_unary_expression::op_type): New function. + +2007-10-31 John W. Eaton + + * graphics.cc (line::properties::get): Fix property name + (markerface -> markerfacecolor). + + * Makefile.in (INCLUDES): Add debug.h to the list. + +2007-10-30 John Swensen + + * debug.h: New file. + * debug.cc (parse_dbfunction_params, do_find_bkpt_list, + intmap_to_ov): New functions. + (Fdbstop, Fdbclear): Use parse_dbfunction_params. + Improve compatibility. + (Fdbstatus): Improve compatibility. + + * help.cc (do_which): No longer static. + * help.h: Provide decl. + +2007-10-30 David Bateman + + * symtab.cc: Doc fixes for small book format. + +2007-10-30 John W. Eaton + + * file-io.cc (fopen_mode_to_ios_mode): Handle 'W' as 'w' and 'R' + as 'r', but warn about them. + +2007-10-29 Thomas Treichl + + * data.cc: Include sytime.h, sys/types.h, and sys/resource.h. + +2007-10-25 John W. Eaton + + * graphics.cc (figure::properties::set_currentaxes): + Allow currentfigure to be NaN. + +2007-10-25 Michael Goffioul + + * DLD-FUNCTIONS/__contourc__.cc: Use unsigned int instead of uint. + (drawcn): Use 1 << k instead of pow (2, k). + +2007-10-25 John W. Eaton + + * symtab.h (symbol_record::TYPE): Delete trailing comma in enum decl. + + * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Use + OCTAVE_EMPTY_CPP_ARG to avoid annoying Sun compiler warning. + + * Makefile.in (graphics.h): Use $(AWK) instead of awk. + + * DLD-FUNCTIONS/time.cc (Ftime, Fmktime): Avoid unnecessary cast. + + * data.cc (Ftic, Ftoc): Call double_value on octave_time objects + instead of relying on conversion operator. + * ov.cc (octave_value::octave_value (octave_time)): Likewise. + + * variables.cc (symbol_out_of_date): Use explicit conversion to + time_t instead of relying on conversion operator. + * ov-fcn-handle.cc (octave_fcn_handle::subsref): Likewise. + + * data.cc (tic_toc_timestamp): Rename from __tic_toc_timestamp__. + Change all uses. + +2007-10-24 David Bateman + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::OCTAVE_VALUE_INT_MATRIX_T + (const ArrayN&)): New constructor. + * ov.cc (octave_value::octave_value(const ArrayN) with T being + octave_int8, octave_uint8, octave_int16, octave_uint16, + octave_int32, octave_uint32, octave_int64, octave_uint64): New + constructors. + * ov.h (octave_value::octave_value(const ArrayN) with T being + octave_int8, octave_uint8, octave_int16, octave_uint16, + octave_int32, octave_uint32, octave_int64, octave_uint64): + Declare them. + * DLD-FUNCTIONS/sort.cc (template class octave_sort, + template class vec_index, template class + octave_sort *>, with T being + octave_int8, octave_uint8, octave_int16, octave_uint16, + octave_int32, octave_uint32, octave_int64, octave_uint64): New + instantiations of sort template classes. + (Fsort): Use them. + +2007-10-24 John W. Eaton + + * graphics.cc (root_figure::properties::set_currentfigure): + Allow currentfigure to be NaN. + + * pt-idx.cc (tree_index_expression::lvalue): Correctly compute + number of elements in lvalue expression when last indexing + element is ".". + +2007-10-23 John W. Eaton + + * graphics.cc (is_handle (const graphics_handle&)): New function. + (gh_manager::do_free, reparent, base_properties::set_parent, + properties::get_title, properties::get_xlabel, + properties::get_ylabel, properties::get_zlabel, + properties::remove_child, make_graphics_object, F__go_figure__, + F__go_delete__, __go_axes_init__): Call OK on graphics handle + object instead of relying on implicit conversion operator. + * graphics.h.in (graphics_handle::operator double ()): Delete. + (graphics_handle::operator bool ()): Delete. + (gh_manager::do_handle_list, gh_manager::do_figure_handle_list, + base_properties::adopt): Call VALUE on graphics handle object + instead of relying on implicit conversion operator. + + * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Call + DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 with "( )" as arg list + instead of "()". + + * mxarray.h.in (mxClassID): Delete trailing comma in enum decl. + + * symtab.h (symbol_table::symbol_table): Reduce default table size + to 64. + +2007-10-22 Kim Hansen + + * unwind-prot.cc: Include . + +2007-10-22 David Bateman + + * data.cc (Ftic, Ftoc, Fcputime): New builtin versions of the + benchmarking functions for speed. + * oct-map.cc (Octave_map::squeeze, Octave_map::permute): New methods. + (Octave_map::index (const octave_value_list&, bool)): Add resize_ok + argument, define as const and use const_iterator internally. + (Octave_map::index (idx_vector&, ...), Octave_map::index (Array + &, ...)): New forms of the index function. + * oct-map.h (squeeze, permute, indx (const octave_value_list&, bool), + index (idx_vector&, ...), index (Array &, ...)): Add + or update declaration. + * ov-struct.cc (octave_struct::do_index_op (const octave_value_list&, + bool)): New method. + * ov-struct.h (do_index_op (const octave_value_list&, bool)): Declare + it. + (squeeze (void), permute (const Arra&, bool): New methods. + +2007-10-19 Kai Habel + + * DLD-FUNCTIONS/__contourc__.cc (add_point): Rename from + cl_add_point. Change all uses. + (end_contour): Rename from cl_end_contour. Change all uses. + (start_contour): Rename from cl_start_contour. Change all uses. + (drawcn): Rename from cl_drawcn. New algorithm for locating contours. + (mark_facets): New function. + (cntr): Rename from cl_cntr. Change all uses. New algorithm for + locating contours. + +2007-10-19 John W. Eaton + + * ov-cell.cc (octave_cell::subsasgn): If RHS is cs-list, don't + fail if shape of LHS is different. + * ov-struct.cc (octave_struct::subsasgn): Likewise. + +2007-10-19 Olli Saarela + + * help.cc (Flookfor): Call print_usage instead of usage. + * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): Likewise. + +2007-10-17 John W. Eaton + + * DLD-FUNCTIONS/spchol.cc (Fsymbfact): Delete special code for METIS. + +2007-10-17 Gabriele Pannocchia + + * DLD-FUNCTIONS/__qp__.cc (qp): Fix check for Wact(j). + +2007-10-15 S�ren Hauberg + + * error.cc (Ferror): Make text fit on pages when using smallbook. + * load-save.cc (Fsave_header_format_string): Ditto. + * ov-struct.cc (Fcell2struct): Ditto. + * DLD-FUNCTIONS/besselj.cc (Fairy): Ditto. + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Ditto. + +2007-10-15 David Bateman + + * graphics.cc (axes::properties::get): Fix typo. + +2007-10-13 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.15+. + +2007-10-13 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.15. + (OCTAVE_API_VERSION): Now api-v27. + (OCTAVE_RELEASE_DATE): Now 2007-10-13. + +2007-10-13 David Bateman + + * graphics.h.in (class patch): Add the faces and vertices properties. + * graphics.cc (patch::properties::properties): Initialize faces + and vertices. + (patch::properties::get): Also fetch faces and vertices. + (patch::properties::factory_defaults): Set faces and vertices. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-11 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (urlget): Disable use of EPSV mode. + +2007-10-11 Brian Gough + + * DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/regexp.cc, dirfns.cc, + input.cc: Spelling fixes. + +2007-10-10 John W. Eaton + + * OPERATORS/op-sbm-sbm.cc (bool_matrix_to_double_matrix): + New conversion function. + (install_sbm_sbm_ops): Install it. + + * ov-re-mat.cc (double): Handle sparse as a special case. + +2007-10-10 Olli Saarela + + * data.cc, debug.cc, dirfns.cc, error.cc, file-io.cc, help.cc, + load-save.cc, ov-fcn-inline.cc, parse.y, pr-output.cc, symtab.cc, + syscalls.cc, toplev.cc, variables.cc, DLD-FUNCTIONS/bsxfun.cc, + DLD-FUNCTIONS/cellfun.cc, DLD-FUNCTIONS/fft.cc, + DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftw.cc, + DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/lsode.cc, + DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/regexp.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/spchol.cc, + DLD-FUNCTIONS/splu.cc, DLD-FUNCTIONS/spparms.cc: Spelling fixes. + +2007-10-10 Kim Hansen + + * DLD-FUNCTIONS/lpsolve.cc: Delete. + * Makefile.in (DLD_XSRC): Remove it from the list. + + * data.cc (Fsqueeze): Document 2d behaviour. + * ov-range.h (octave_range::squeeze): New function. + +2007-10-09 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (urlget_cleanup): New function. + (urlget): Protect call to curl_easy_perform with + BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and + END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. + +2007-10-09 David Bateman + + * input.cc (accept_line): Drop this function and remove automatic + insertion of closing quotes as the transpose operator confuses it. + (initialize_command_input): Remove accept_line from here as well. + +2007-10-09 John W. Eaton + + * ov-mapper.cc (octave_mapper::apply): If possible, use + d_d_map_fcn to handle complex values which have imag(z) == 0. + + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread) [! HAVE_CURL]: + Throw error instead of returning empty string hiding error message + in third return value. + (progress_func): Delete. + (Furlread): Don't set progress callback for curl. + (write_data, form_query_string, urlget): Now static. + +2007-10-08 David Bateman + + * input.cc (quoting_filename): Function to add a leading quote to + a string if needed. + (accept_line): Function to check if a string needs a closing quote + before calling the rl_newline function. + (initialize_command_input): Initialize completer_quote_characters, + filename_quote_characters, quoting_function, + user_accept_line_function. + + * data.cc (template static make_diag (...)): New + template class version of make_diag. Make other make_diag + functions depend on it. + ( static octave_value make_diag (const octave_value&, + octave_idx_type)): Treat all possible internal Octave types. + +2007-10-08 John W. Eaton + + * load-save.cc (save_vars, dump_octave_core): + Don't pass INFNAN_WARNED to do_save. + (do_save): Delete unused arg, INFNAN_WARNED. + Don't pass INFNAN_WARNED to save_ascii_data. + * ls-oct-ascii.cc (save_ascii_data_for_plotting): + Don't pass INFNAN_WARNED to save_ascii. + (save_ascii_data): Delete unused arg, INFNAN_WARNED. + + * ov.h (octave_value::save_ascii): Delete unused arg, INFNAN_WARNED. + * ov-base-int.cc (octave_base_int_matrix::save_ascii, + octave_base_int_scalar::save_ascii): Likewise. + * ov-base-sparse.cc (octave_base_sparse::save_ascii): Likewise. + * ov-base.cc (octave_base_value::save_ascii): Likewise. + * ov-bool-mat.cc (octave_bool_matrix::save_ascii): Likewise. + * ov-bool.cc (octave_bool::save_ascii): Likewise. + * ov-cell.cc (octave_cell::save_ascii): Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii): Likewise. + * ov-fcn-inline.cc (octave_fcn_inline::save_ascii): Likewise. + * ov-list.cc (octave_list::save_ascii): Likewise. + * ov-struct.cc (octave_struct::save_ascii): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::save_ascii): Likewise. + * ov-range.cc (octave_range::save_ascii): Likewise. + + * ov-scalar.cc (octave_scalar::save_ascii): Remove warning about + reloading inf/nan values. Delete unused arg, INFNAN_WARNED. + * ov-complex.cc (octave_complex::save_ascii): Likewise. + * ov-re-mat.cc (octave_matrix::save_ascii): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::save_ascii): Likewise. + + * ov-fcn-inline.cc (Finline): Use DEFUNX instead of DEFUN. + +2007-10-08 Michael Goffioul + + * sighandlers.h (can_interrupt): Tag with OCTINERP_API. + * sysdep.h (raw_mode, octave_popen, octave_pclose, + same_file_internal): Likewise. + +2007-10-06 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): + Always allow MVAL to re resized if NR > 0. + (FINISH_CHARACTER_CONVERSION): Likewise. + + * mappers.cc (install_mapper_functions): Undo previous change. + Fix doc string for lgamma. + (xzlgamma): Delete. + +2007-10-05 John W. Eaton + + * graphics.h.in (axes::properties): New property, colororder. + * graphics.cc (default_colororder): New function. + (axes::properties::properties, axes::properties::get, + axes::properties::set_defaults, + axes::properties::factory_defaults, ): Handle colororder. + + * mappers.cc (xzlgamma): New static function. + (install_mapper_functions): Pass xzlgamma for c_c_map for lgamma + mapper. Pass 1 for can_ret_cmplx_for_real and set hi to + octave_Inf. + +2007-10-04 John W. Eaton + + * DLD-FUNCTIONS/symrcm.cc: Move static functions to top of file to + avoid forward decls. + (Q_enq): Delete unused arg QH. Change all uses. + (Q_deq): Delete unused arg QT. Change all uses. + (find_starting_node): Delete unused local variable J. + (H_heapify_min, H_insert, find_starting_node, Fsymrcm): + Move local variable decls to point of first use. + + * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): + Avoid control-reaches-end-of-non-void-function warning. + + * pt-const.cc (tree_constant::dup): Avoid unused parameter warning. + + * pr-output.cc (set_real_format, set_real_matrix_format, + set_complex_format, set_complex_matrix_format): + Delete unused arg, SIGN. Change uses. + + * oct-map.cc (Octave_map::Octave_map): Avoid shadow warning. + + * load-save.cc (write_header): Use reinterpret_cast to avoid + old-style cast warning. + + * data.cc (do_permute): Delete unused arg, FNAME. Change all uses. + + * sysdep.cc (w32_set_octave_home, w32_set_quiet_shutdown, + MINGW_signal_cleanup): + Only define if defined (__WIN32__) && ! defined (_POSIX_VERSION). + +2007-10-04 Jason Riedy + + * ls-mat5.cc (read_mat5_binary_data): Map miUTF16 to miUINT16, + miUTF32 to miUINT32. The matfile format currently states that + wide UTF formats are in the same byte order as the integers. + (read_mat5_binary_element): Replace all UTF16 and UTF32 + characters with the high bit set (value >127) by '?' and warn + that we've done so. + +2007-10-04 Michael Goffioul + + * sysdep.cc (w32_set_octave_home): Base OCTAVE_HOME location on + octinterp, not the main exe. + +2007-10-03 John W. Eaton + + * data.cc (Fnorm): New function. + (F__vnorm__): Delete. + +2007-10-03 Michael Goffioul + + * DLD-FUNCTIONS/typecast.cc: Include . + +2007-10-03 John W. Eaton + + * oct-map.cc (Octave_map::Octave_map (const dim_vector&, + const string_vector&)): Delete. + (Octave_map::Octave_map (const dim_vector&, const Cell&)): + New function. + * ov-struct.cc (Fstruct): Allow creation of empty struct arrays + with field names. + +2007-10-01 Shai Ayal + + * graphics.cc ((color_property::color_property (const + octave_value& val)): Undo change from 2007-09-26 + (patch::properties::properties): use the "a" modifier to + face_color & edge_color properties + (patch::properties::set): Undo change from 2007-09-26 + * graphics.h.in (color_property::color_property + (const octave_value& val)): Undo change from 2007-09-26 + +2007-10-01 Michael Goffioul + + * octave.cc (octave_main): Add "--line-editing" option to force + readline line editing. + +2007-09-28 David Bateman + + * ov-range.h (int8_array_value, int16_array_value, int32_array_value, + int64_array_value, uint8_array_value, uint16_array_value, + int32_array_value, uint64_array_value): New methods + +2007-09-28 Kai Habel + + * graphics.h.in (color_property::colormap_property (const Matrix&)): + Use floating point math in calculation of colormap. + +2007-09-26 David Bateman + + * graphics.cc (color_values::str2rgb): accept upper, lower and + mixed-case versions of the string representing the color. Allow + black defined as "k" and white as "w". + (color_property::color_property (const octave_value& val, + const radio_values &v)): Modify the constructor to also take a + radio_values argument. Use it. + (patch::properties::set): Change set_facecolor calls to initialize + the color_property argument with the available radio_values. + * graphics.h.in (color_property::color_property + (const octave_value& val, const radio_values &v)): Also pass a + radio_values argument. + + * ov-range.h (sparse_matrix_value, sparse_complex_matrix_value): + New methods. + + * mk-pkg-add: Simplfy the autoload commands. + * parse.y (Fautoload): Allow bare filename if file is in the same + directory as the script from where the autoload command is run. + +2007-09-25 Matthias Drochner + + * syscalls.cc (Fpopen2): Doc fix. + Use "sort -r" instead of "sort -nr" in test. + +2007-09-18 John W. Eaton + + * input.cc (input_event_hook, Finput_event_hook): Call + command_editor::add_event_hook and + command_editor::remove_event_hook intstead of + command_editor::set_event_hook and + command_editor::restore_event_hook. + +2007-09-17 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.14+. + +2007-09-17 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.14. + (OCTAVE_API_VERSION): Now api-v26. + (OCTAVE_RELEASE_DATE): Now 2007-09-17. + + * Makefile.in (DISTFILES): Add genprops.awk to the list. + + * ov-typeinfo.h (cat_op_fcn): Third arg in function pointer + typedef is now Array instead of Array. + + * file-io.cc (do_stream_open): Use binary mode by default. + +2007-09-14 Shai Ayal + + * genprop.awk: Handle "a" modifier. + +2007-09-14 Kai Habel + + * graphics.h.in (radio_values::contains): New function. + (radio_values::validate): Use it. + * graphics.cc (color_property::operator =): Call it instead of + validate here. + +2007-09-13 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (glpk): Pass LPX_FX, not LB_DB, to + lpx_set_col_bnds when lb[i] == ub[i]. + From: Zhi Wang . + + * graphics.h.in (colormap_property::colormap_property): + Use jet colormap as default. + +2007-09-12 John W. Eaton + + * graphics.cc (text::properties::properties): Default color is + black, not white. + * graphics.h (text::properties::color): Declare as color_property, + not octave_value. + + * graphics.h.in (root_figure::defaults, figure::defaults, + axes::defaults, line::defaults, text::defaults, image::defaults, + patch::defaults, surface::defaults): New functions. + * gripes.cc (gripe_not_implemented): New function. + * gripes.h: Provide decl. + +2007-09-10 John W. Eaton + + * genprops.awk: Add missing newline character at end of file. + From Alexander Klimov . + +2007-09-10 David Bateman + + * data.cc (do_cat): Avoid invalid indexing into ra_idx vector. + +2007-09-06 David Bateman + + * DLD-FUNCTIONS/__delaunay__.cc, DLD-FUNCRIONS/__voronoi__.cc, + DLD-FUNCTIONS/convhulln.cc: Avoid variables in global scope + +2007-09-06 David Bateman + + * Makefile.in (stamp-prereq): Add graphics.h to the dependency list. + +2007-08-31 John W. Eaton + + * Makefile.in (INCLUDES): Remove graphics.h from the list. + (DISTFILES): Include graphics.h.in in the list. + (genprops.awk): New file. + (graphics.h): New rule. + (distclean): Remove graphics.h. + * graphics.h.in: New file, from graphics.h. + (graphics_handle): Now a class instead of typedef. Adapt all uses. + (OCTAVE_GRAPHICS_PROPERTY_INTERNAL, OCTAVE_GRAPHICS_PROPERTY, + OCTAVE_GRAPHICS_MUTABLE_PROPERTY): Delete macros. + (class root_figure, class figure, class axes, class line, class + text, class image, class patch, class surface): Use genprops.awk + to generate property declarations and set/get functions. + * graphics.h: Delete. + * graphics.cc (nan_to_empty, empty_to_nan): Delete. + (root_figure::properties::set, figure::properties::set, + axes::properties::set, line::properties::set, + text::properties::set, image::properties::set, + patch::properties::set, surface::properties::set): Call + type-specific set functions to set properties. + (root_figure::properties::set_currentfigure, + figure::properties::set_currentaxes, figure::properties::set_visible, + axes::properties::get_title, axes::properties::get_xlabel, + axes::properties::get_ylabel, axes::properties::get_zlabel, + axes::properties::set_title, axes::properties::set_xlabel, + axes::properties::set_ylabel, axes::properties::set_zlabel): + Define custom versions. + +2007-09-06 David Bateman + + * DLD-FUNCTIONS/bsxfun.cc: New function. + * DLD-FUNCTIONS/typecast.cc: New function. + * Makefile.in (DLD_XSRC): Add bsxfun.cc and typecast.cc. + * ov.cc (do_cat_op): Modify use of Array to + Array and adjust where necessary. + * ov.h (do_cat_op): ditto. + * data.cc (do_cat): ditto. + * pt-mat.cc (tree_matrix::rvalue): ditto. + +2007-09-05 Michael Goffioul + + * oct-stream.cc (octave_base_stream::do_printf): Ignore precision + portion of format string if printing Inf, NaN, or NA values. + +2007-09-05 David Bateman + + * DLD-FUNCTIONS/sort.cc (mx_sort_sparse, mx_sort_sparse_indexed): + New template classes for sparse sort functions. + (Fsort): Use them. + * ov.h (octave_value (const Sparse&, const MatrixType&), + octave_value (const Sparse&, const MatrixType&)): New + constructors. + * ov.cc (octave_value::octave_value (const Sparse&, + const MatrixType&), octave_value::octave_value (const + Sparse&, const MatrixType&)): Define them. + * ov-re-sparse.h (octave_sparse_matrix (const MSparse&, + const MatrixType&), octave_sparse_matrix (const Sparse&), + octave_sparse_matrix (const Sparse&, const MatrixType&)): + New constructors. + * ov-cx-sparse.h (octave_sparse_complex_matrix (const MSparse&, + const MatrixType&), octave_sparse_complex_matrix (const + Sparse&), octave_sparse_complex_matrix (const + Sparse&, const MatrixType&)): ditto. + +2007-09-04 Gabriele Pannocchia + + * DLD-FUNCTIONS/__qp__.cc (qp): Use Wact(j) == i - n_eq when + checking for blocking constraint. Don't resize lambda_tmp. Only + compute Y = Aact.pseudo_inverse () if it is needed. + +2007-08-31 Michael Goffioul + + * ls-mat-ascii.cc (get_lines_and_columns): Check beg variable for + NPOS to avoid segmentation fault. + + * load-path.cc (load_path::do_find_file): Do not assume paths + use forward slashes. + +2007-08-30 John W. Eaton + + * sysdep.cc (Fpause): Doc fix. + +2007-08-30 Gabriele Pannocchia + + * DLD-FUNCTIONS/__qp__.cc (qp): Resize Wact to n_act-neq, not n_act. + +2007-08-29 John W. Eaton + + * graphics.cc (class root_figure::properties): + Rename from root_figure::root_figure_properties. + (class figure::properties): Rename from figure::figure_properties. + (class axes::properties): Rename from axes::axes_properties. + (class line::properties): Rename from line::line_properties. + (class text::properties): Rename from text::text_properties. + (class image::properties): Rename from image::image_properties. + (class patch::properties): Rename from patch::patch_properties. + (class surface::properties): Rename from surface::surface_properties. + + * base-list.h (octave_base_list::remove): Implement our own + remove_if function here. + +2007-08-28 John W. Eaton + + * graphics.h (base_properties): Move class definition before + definition of base_graphics_object class. Provide forward + declaration of base_graphics_object prior to definition of + base_properties. + (base_graphics_object::get_properties): New virtual function. + (graphics_object::get_properties, root_figure::get_properties, + figure::get_properties, axes::get_properties, + line::get_properties, text::get_properties, image::get_properties, + patch::get_properties, surface::get_properties): New functions. + (root_figure::properties, figure::properties, axes::properties, + line::properties, text::properties, image::properties, + patch::properties, surface::properties): Data member now private. + +2007-08-27 John W. Eaton + + * load-path.cc (load_path::do_find_file): Also files with non + rooted relative names. + * load-save.cc (find_file_to_load): Likewise. Also handle + appending .mat to files with relative names. + + * graphics.cc (base_properties::mark_modified, + base_properties::override_defaults, + base_properties::delete_children, figure::get_default, + axes::get_default): Move definitions here, from graphics.h. + * graphics.h (class gh_manager): Move decl to end of file. + + * Cell.h (Cell::Cell (const octave_value_list&)): Create row + vector instead of column vector. + + * pt-idx.cc (tree_index_expression::lvalue): Handle [x.a] = + ... style assignments. + * ov-struct.cc (octave_struct::subsasgn): Handle case of RHS as + comma-separated list. + + * ov-cell.cc (gripe_failed_assignment): New function. + (octave_cell::subsasgn): Call gripe_failed_assignment if assign + methods fail. + +2007-08-24 David Bateman + + * symtab.cc (void symbol_table::clear (void)): If the record in + the symbol table to clear is a user function that is a sub + function with a static parent or if the parent is the current + parent function, don't delete the record. + (void symbol_table::clear_functions (void)): ditto. + (void symbol_table::clear (const std::string&)): ditto. + (void symbol_table::clear_function (const std::string&)): ditto. + + * graphics.h (class text): Add property color. + * graphics.cc (text::text_properties::text_properties) ditto. + (text::text_properties::set): ditto. + (text::text_properties::get): ditto. + (text::text_properties::factory_defaults): ditto. + +2007-08-24 John W. Eaton + + * mappers.cc (dummyp): New function. + (install_mapper_functions): Use it to handle character data in + finite, isinf, isna, and isnan functions. + + * load-path.cc (load_path::do_remove): Call remove_hook function + before removing directory from list. + +2007-08-24 David Bateman + + * ov-bool-sparse.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class + is now logical. + * ov-re-sparse.cc, ov-cx-sparse.cc + (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class is now double. + * ov-mapper.cc (octave_mapper::apply): Use is_sparse_type method + rather than comparing class name. + * ls-mat5.cc (save_mat5_element_length, save_mat5_binary_element): + ditto. + * pt-mat.cc (tree_matrix:rvalue): sparse matrices are now of class + "double" or "logical", create new single type concat clause for + them. + * mex.cc (get_class_id): No longer need to special case sparse + matrices. + + * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/convhulln.cc, + DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/__voronoi__.cc: New + functions ported from octave-forge. + * DLD-FUCTIONS/__dsearchn__.cc: New file. + * DLD-FUNCTIONS/__voronoi__.cc: Return point at infinity and + include it in the polygrons of the Voronoi diagram for + compatibility. + * Makefile.in: Add specific build targets for __delanayn__.cc, + convhulln.cc and __voronoi__.cc to link to Qhull. + (DLD_SRC): Add new functions. + (OCTAVE_LIBS): Add QHULL_LIBS + +2007-08-22 David Bateman + + * variables.cc (Fmunlock): Call munlock and not mlock. + * symtab.cc (symbol_record::mark_as_formal_parameter): Typo. + +2007-08-10 John W. Eaton + + * pt-idx.cc (tree_index_expression::get_struct_index): Improve + error message. + * ov-struct.cc (Fstruct, Fcell2struct): Trap invalid field names here. + +2007-08-10 Peter A. Gustafson + + * graphics.h, graphics.cc (axes::axes_properties): New properties, + xaxislocation and yaxislocation. + +2007-08-10 Kai Habel + + * graphics.cc, graphics.h (patch): New class. + (axes::axes_properties): New properties, clim and climmode. + (surface::surface_properties::surface_properties): Handle patch. + (F__go_patch__): New function. + +2007-07-30 John W. Eaton + + * mex.cc (mxArray_number::mxArray_number (int, const char **)): + First arg is now mwSize. + (max_str_len): Return mwSize value, not int. + * mxarray.h.in (mxArray::mxArray (int, const char **)): + First arg is now mwSize. + (mxArray::mxArray (mxClassID, mwSize, mwSize, int, mxComplexity)): + Third arg is now mwSize. + (mxArray::get_string (char *, int)): Second arg is now mwSize. + +2007-07-26 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc: Include glpk/glpk.h if + HAVE_GLPK_GLPK_H is defined. + +2007-07-26 David Bateman + + * pr-output.cc (Frats): Return character array with same number of + rows as original value. + +2007-07-26 John W. Eaton + + * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename cur_fcn to xfcn. + + * version.h (OCTAVE_VERSION): Now 2.9.13+. + +2007-07-25 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.13 + (OCTAVE_API_VERSION): Now api-v25. + (OCTAVE_RELEASE_DATE): Now 2007-07-25. + + * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename fcn to curr_fcn. + +2007-07-25 David Bateman + + * Makefile.in: Adjust DISTFILES to allow out of tree "make dist" + to work. + +2007-07-24 Shai Ayal + + * graphics.cc (color_property::operator = (const octave_value&)): + New method. + * graphics.h: Provide decl. + +2007-07-24 Rafael Laboissiere + + * oct-conf.h.in (OCTAVE_CONF_RUNTEST): Delete definition. + * toplevel.cc (Foctave_config_info): Remove RUNTEST from struct. + +2007-07-23 David Bateman + + * pr-output.cc (rat_format, rat_string_len): Global variable + controlling behavior of rational approximation. Use throughout. + (class pr_rational_float): New class for rational approximation of + floats, specifically with the << operator defined. + (std::ostream& operator << (std::ostream&, const + pr_rational_float&)): Operator to print rational approximations of + double values. + (std::string rational_approx (double, int)): Function to convert a + double value to a string of maximum length giving the rational + approximation. + (pr_any_float): Include the output of rational approximations. + (Fformat): Add the "rat" format as an option. + (Frats): New function. + +2007-07-23 Aquil H. Abdullah + + * mex.cc (mxCreateStructArray): Declare second arg as const. + * mexproto.h (mxCreateStructArray): Ditto. + +2007-07-20 David Bateman + + * zfstream.cc (BUFSIZE): Increase default buffer size to 256kB + (gzfilebuf::underflow): Stash the last 16 characters read, so as + to avoid calling pbackfail as much as possible. + +2007-07-18 David Bateman + + * zfstream.cc (int_type gzfilebuf::pbackfail (int_type)): New + method to putback a character when the putback position in the + internal buffer doesn't exist. + * zfstream.h (int_type pbackfail (int_type)): Declaration it. + +2007-07-14 Michael Goffioul + + * ov-bool-sparse.cc (octave_sparse_bool_matrix:load_hdf5): + Use OCTAVE_LOCAL_BUFFER for temporary boolean value. + +2007-06-27 David Bateman + + * DLD-FUNCTIONS/sparse.cc (Fspdiag): Ensure spdiag(zeros(1,0)) returns + 0x0 matrix. Doc update. + * data.cc (Fdiag): Doc update. + +2007-06-28 John W. Eaton + + * ov-cell.cc (octave_cell::subsasgn): Given x = {}, convert to + struct for assignments like x(1).f = val; + + * oct-stream.cc (octave_scan_1): New function + (octave_scan): Use it. Handle fmt.width. + + * graphics.h (axes::axes_properties::visible): New data member. + * graphics.cc (axes::axes_properties::axes_properties, + axes::axes_properties::set, axes::axes_properties::get, + axes::axes_properties::factory_defaults): Handle visible property. + +2007-06-27 Kai Habel + + * graphics.h (color_values::color_values): Arg is now std:string + instead of char. Call str2rgb, not c2rgb. + * graphics.h, graphics.cc: (color_values::str2rgb): Rename from + c2rgb. Handle long color names, not just single char abbreviations. + +2007-06-27 David Bateman + + * load-save.cc (Fsave): Ensure header is written for non + existent file with "-append". + * ls-hdf5.h: First steps towards having append work for hdf5. + +2007-06-26 John W. Eaton + + * load-save.cc (Fsave): Open files correctly for -append. + Don't write file headers if appending. Error for -append -hdf5. + +2007-06-25 Olaf Till + + * oct-stream.h (octave_stream_list::list): Use std::map. + (octave_stream_list::curr_len): Delete data member. + (octave_stream_list::octave_stream_list): Fix initializations. + + * oct-stream.cc (octave_steam_list::do_insert, + octave_steam_list::do_lookup, octave_steam_list::do_remove, + octave_steam_list::do_clear, octave_steam_list::do_list_open_files, + octave_steam_list::do_open_file_numbers, + octave_steam_list::do_get_file_number): + Use new octave_stream_list::list type. + (octave_stream_list::do_insert): Insert octave_stream with key + corresponding to file-descriptor. + (octave_stream_list::do_insert, octave_steam_list::insert): + Remove const qualifier of argument. + +2007-06-18 S�ren Hauberg + + * DLD-FUNCTIONS/__lin_interpn__.cc: Replace octave_NaN with octave_NA. + +2007-06-15 Shai Ayal + + * graphics.h (OCTAVE_GRAPHICS_PROPERTY_INTERNAL, + OCTAVE_GRAPHICS_PROPERTY, OCTAVE_GRAPHICS_MUTABLE_PROPERTY): + New macros. Use them to declare individual properties and define + accessor methods for each property in the property classes. + +2007-06-15 Kai Habel + + * graphics.cc (Fget, Fset): Handle vectors of handles. + +2007-06-14 John W. Eaton + + * sysdep.cc (octave_popen, octave_pclose): New functions. + * sysdep.h: Provide decls. + + * oct-procbuf.cc (procbuf::open): Use octave_popen. + (procbuf::close): Use octave_pclose. + * oct-prcstrm.cc (octave_oprocstream::octave_oprocstream, + octave_iprocstream::ictave_oprocstream): Likewise. + + * graphics.h (text::text_properties::rotation): New data member. + * graphics.cc (text::text_properties::text_properties, + text::text_properties::set, text::text_properties::get, + text::text_properties::factory_defaults): Handle rotation property. + +2007-06-14 Kai Habel + + * graphics.cc (color_values::c2rgb): Also accept 'k' for black. + +2007-06-14 David Bateman + + * ov-ch-mat.h (idx_vector index_vector (void) const): Remove + definition. + * ov-ch-mat.cc (idx_vector index_vector (void) const): Move it + here. Special case ":" case for compatibility. + +2007-06-13 John W. Eaton + + * ov-re-mat.cc (octave_matrix::load_ascii): + Do a better job of handling read errors and empty matrices. + * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Likewise. + * ov-bool-mat.cc (octave_bool_matrix::load_ascii): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::load_ascii): Likewise. + +2007-06-13 David Bateman + + * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): Don't treat as single + argument if arg2 is empty and nargin=2. + +2007-06-13 Shai Ayal + + * graphics.h, graphics.cc: Move class declarations to graphics.h. + Move larger functions outside of class declarations in graphics.cc. + +2007-06-12 Benjamin Lindner + + * DLD-FUNCTIONS/cellfun.cc: Use fullfile to generate filenames + instead of assuming / will work as directory separator. + +2007-06-12 David Bateman + + * DLD-FUNCTIONS/interpn.cc: Remove it. + * DLD-FUNCTIONS/__lin_interpn__.cc: Move it. This is now a support + function of interpn.m. + * Makefile.in (DLD_XSRC): Remove interpn.cc and add __lin_interpn__.cc. + +2007-06-07 David Bateman + + * ov-fcn-handles.cc (octave_fcn_handle::save_hdf5): More care that + all open HDF5 descriptors are closed. + (octave_fcn_handle::load_hdf5): Ditto. + +2007-06-06 Benjamin Lindner + + * utils.cc [__MINGW32__]: Don't define HAVE_C99_VSNPRINTF. + +2007-06-06 Michael Goffioul + + * defaults.h.in, ls-hdf5.h, ov-complex.h, ov-cx-mat.h, ov-intx.h, + sysdep.h: Sprinkle with OCTINTERP_API as needed. + +2007-06-05 John W. Eaton + + * help.h (raw_help): Tag with OCTINTERP_API. + + * Makefile.in (INCLUDES): Remove mxarray.h from the list so that + it is not distributed. + (EXTRAS): Add mxarray.h to the list so that it is installed. + + * sysdep.cc (same_file_internal) [OCTAVE_USE_WINDOWS_API]: + Avoid leaking file handles. + +2007-05-08 Michael Weitzel + + * DLD-FUNCTIONS/symrcm.cc: Fix for queuing error that might cause + an infinite loop. + +2007-06-04 John W. Eaton + + * data.cc (Fislogical): Rename from Fisbool. + Make isbool an alias for islogical. + +2007-06-03 David Bateman + + * Makefile.in (DISTFILES): Add mxarray.h.in + (install-inc): Modify target so that mxarray.h is installed + correctly. + (distclean): Remove mxarray.h on distclean. + * mex.cc: Use mwSize for dimensions and mwIndex for indexing + throughout, with the exception of struct key indexes. + * mexproto.h: ditto. + * mxarray.h: remove. + * mxarray.h.in: Copy here and define mwSize, mwIndex, and use + throughout. + * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): Use mwSize and + mwIndex. + * ov-bool-sparse (octave_sparse_bool_matrix::as_mxArray): ditto. + * ov-cell.cc (octave_cell:as_mxArray): ditto. + * ov-ch-mat.cc (octave_char_matrix:as_mxArray): ditto. + * ov-cx-mat.cc (octave_complex_matrix::as_mxArray): ditto. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray): ditto. + * ov-int.h (as_mxArray): ditto. + * ov-range.cc (octave_range:as_mxArray): ditto. + * ov-re-mat.cc (octave_matrix:as_mxArray): ditto. + * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray): ditto. + * ov-struct.cc (octave_struct::as_mxArray): ditto. + +2007-06-02 David Bateman + + * graphics.cc (color_property class): g++ doesn't like anonymous + enums. Give type to color_type enum. + +2007-05-31 Shai Ayal + + * graphics.cc (radio_values, radio_property, color_values): + New classes. + (color_property class): Handle both color and radio values. + +2007-05-31 John W. Eaton + + * toplev.cc (main_loop): Improve bad_alloc error message. + + * octave.cc (execute_command_line_file, execute_eval_option_code): + Likewise. + +2007-05-31 Michael Goffioul + + * toplev.cc (octave_atexit_functions): + Now std::list instead of std::stack. + (do_octave_atexit): Adapte to octave_atexit_functions as list. + (Fatexit): Allow second arg of false to remove element from list. + + * DLD-FUNCTIONS/symrcm.cc: Use ! instead of "not". + + * sysdep.cc (same_file_internal) [OCTAVE_USE_WINDOWS_API]: + Use INVALID_HANDLE_VALUE, not INVALID_FILE_HANDLE. + +2007-05-28 G. D. McBain + + * ov-list.cc (append): Doc fix. + +2007-05-28 John W. Eaton + + * pt-loop.cc (DO_ND_LOOP): Avoid parser problem with obsolete g++. + +2007-05-23 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.12+. + +2007-05-23 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.12. + (OCTAVE_RELEASE_DATE): Now 2007-05-23. + + * parse.y (make_anon_fcn_handle): Don't build assignment expression. + * ov-fcn-handle.cc (octave_fcn_handle::print_raw): + Don't split assignment expression. + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Special case for inline function body evaluation. + +2007-05-22 John W. Eaton + + * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): + Set current function as parent of anonymous function handle. + + * Makefile.in (uninstall): Also remove + $(DESTDIR)$(octincludedir)/octave, $(DESTDIR)$(octincludedir), + $(DESTDIR)$(octlibdir), and $(DESTDIR)$(octfiledir). + +2007-05-22 Thomas Weber + + * debug.cc, error.cc, load-save.cc, oct-hist.cc, sighandlers.cc, + symtab.cc: Fix typos. + +2007-05-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.11+. + +2007-05-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.11. + (OCTAVE_API_VERSION): Now api-v24. + (OCTAVE_RELEASE_DATE): Now 2007-05-22. + +2007-05-21 David Bateman + + * debug.cc (Fdbstop): handle integer, vector and multiple line + arguments. + (Fdbclar): ditto. Eliminate extraneous debugging messages. + +2007-05-21 S�ren Hauberg + + * load-path.cc (Fpath, Frehash): Replace "LOADPATH" with "load + path" in doc strings. + + * parse.y (Feval): Add example. + +2007-05-21 David Bateman + + * error.cc (rethrow_error): Use NULL name so that "error:" is not + added to the message + (Frethrow): Correctly treat empty stack. + +2007-05-21 John W. Eaton + + * oct-map.h (Octave_map::numel): Return number of array elements, + not number of map elements. + (Octave_map::nfields): Rename from length. + (Octave_map::empty): Delete. + Change all uses of empty to check nfields () == 0 instead. + +2007-05-21 S�ren Hauberg + + * help.cc (Fautoload): Doc fix. + * variables.cc (Fiscommand): Doc fix. + +2007-05-19 David Bateman + + * ov-fcn-inline.cc (Fvectorize): Doc fix. + +2007-05-16 S�ren Hauberg + + * ov.cc (Fsubsref, Fsubsasgn): Doc fix. + +2007-05-16 John W. Eaton + + * load-path.h (load_path::sys_path): New static data member. + (load_path::system_path): New static function. + (load_path::do_system_path): New function. + * load-path.cc (Vsystem_path): Delete. + (load_path::do_initialize): Use sys_path, not Vsystem_path. + (Fpathdef): Call load_path::system_path instead of using Vsystem_path. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. + +2007-05-16 David Bateman + + * load_pathc.cc (std::string octave_system_path (void)): New + function. + * load-path.h (std::string octave_system_path (void)): Declare it. + + * load-save.cc (static load_save_format get_file_format + (std::istream&, const std::string&)): Add filename argument, and + pass it to read_mat5_binary_header. Use new format throughout file. + (Fload): Don't allow gzip of matlab v7 files as the files + themselves include compression. + + * ls-mat5.cc (arrayclsstype:MAT_FILE_WORKSPACE_CLASS): New class + type. + (read_mat5_binary_element): Workspaces, don't have dimensions, so + don't read them. Implement read of matlab objects, but only use + them for inline functions. Implement reading of function and + workspace classes. + (read_mat5_binary_header): Add filename argument. Read sub-system + specific data block given as an offset in bytes 117 to 124. + (save_mat5_binary_element): Include saving of inline functions. + + * ls-mat5.h (read_mat5_binary_header): Include filename. + + * ov-fcn-handle.cc (octave_fcn_handle_save_ascii, + octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, + octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, + octave_fcn_handle::load_hdf5): Save and reload the local symbol + table of the user function associated with anonymous function + handles. Save and load the absolute path and the exec_prefix for + normal function handles and use then to find equivalent functions + between different installations of Octave. Attempt to maintain + backward and forward compatibility. + (Ffunctions): Additional outputs, including the workspace of + anonymous functions, and more compatiable outputs. + + * ov-fcn-handle.h (user_function_value): Expose the user function + value of a function handle. + + * ov-fcn-inline.cc (Octave_map octave_fcn_inline::map_value + (void) const): Return a structure compatiable with matlab's class + implementation of inline functions. + + * ov-fcn-inline.h (map_value): Declare it. + +2007-05-14 Bob Weigel + + * DLD-FUNCTIONS/svd.cc: Doc fix. + +2007-05-14 Thomas Weber + + * DLD-FUNCTIONS/fft.cc (do_fft): Handle empty matrices. New tests. + +2007-05-14 S�ren Hauberg + + * toplev.cc (Fatexit): Simplify example in doc string. + * help.cc (Flookfor): Doc fix. + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): + Reformat to avoid long lines in doc string example. + +2007-05-13 S�ren Hauberg + + * toplev.cc (Fquit): Doc fix. + * help.cc (Fhelp): Doc fix. + * oct-hist.cc (Fsaving_history): Doc fix. + +2007-05-11 John W. Eaton + + * variables.cc (symbol_out_of_date): + Always check for files that have gone missing. + +2007-05-08 Michael Weitzel + + * DLD-FUNCTIONS/symrcm.cc: New function for Reverse Cuthill-McKee + permutation. + +2007-05-07 John W. Eaton + + * oct-map.cc (Octave_map::resize): Handle case of no keys. + (keys_ok): Rename from equiv_keys. Return value is now status. + Pass key names as string_vector reference arg. + (Octave_map::assign (const octave_value_list&, const Octave_map&)): + Call keys_ok, not equiv_keys. Handle case of no keys. + +2007-04-30 John W. Eaton + + * Makefile.in (%.df : %.cc): Use mv instead of + $(simple-move-if-change-rule). + +2007-04-30 David Bateman + + * pt-loop.cc (DO_ND_LOOP): New args, CONV and ARG. + Use octave_idx_type instead of int for loop counters. + Remove redundant assignments to variable "quit" as it is + always defined in quit_loop_now. + Special case rows = 0 and 1 cases in loops over arrays. + Include some of the code that was separate from the macro + DO_ND_LOOP in the macro itself + (tree_simple_for_command::eval): USE DO_ND_LOOP for all loops. + (DO_LOOP): Delete. + +2007-04-30 John W. Eaton + + * mex.cc (mex::cleanup): Don't call unmark for elements of the set + inside the loop. From Laurent Mazet . + +2007-04-30 David Bateman + + * OPERATORS/op-int-conv.cc: Define sq and dq string conversion + operators. Delete old char_matrix_str conversions. + * OPERATORS/op-int-conv.cc (install_int_conv_ops): Install them. + +2007-04-27 Benjamin Lindner . + + * octave.cc (execute_startup_files): Call same_file to check for + already executed init files. + +2007-04-27 John W. Eaton + + * sysdep.cc (same_file_internal): New function. POSIX code + from same_file in utils.cc. Windows code from + Benjamin Lindner . + Don't canonicalize file names. + Also return false if stat calls fail. + * sysdep.h: Provide decl. + * utils.cc (same_file): Use same_file_internal. + +2007-04-27 David Bateman + + * graphic.cc (get_property_form_handle, set_property_in_handle): + New functions. + * grahics.h: New file. + * mex.cc (mexGet, mexSet): use the above to implement mexGet + and mexSet. + * Makefile.in (INCLUDES): Add graphics.h + +2007-04-26 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Only deal with varargout if ret_list->takes_varargs () is true. + +2007-04-26 S�ren Hauberg + + * DLD-FUNCTIONS/urlwrite.cc: Doc fix. + +2007-04-26 David Bateman + + * pt-loop.cc (tree_simple_for_command::eval (void)): Correct + reshaping of dim_vector in for loop for multi-dimensional array. + +2007-04-26 John W. Eaton + + * load-save.cc (find_file_to_load): Only consider regular files. + +2007-04-24 Shai Ayal + + * graphics.cc (color_property): Eliminate alpha channel from RGB + color spec. + +2007-04-23 Shai Ayal + + * graphics.cc (color_property::color_property): + New arg A for alpha channel. Set rgba instead of red, green, blue. + (color_property::color_property (char)): New constructor. + (color_propery::rgba): New data member. + (color_property::red, color_property::green, color_property::blue): + Delete. + (color_property::validate): Use rgba. + (color_property::c2rgba): New function. + +2007-04-23 S�ren Hauberg + + * data.cc (Fsize_equal): Allow more than two arguments. + +2007-04-20 John W. Eaton + + * DLD-FUNCTIONS/__gnuplot_raw__.l (deftypefn): + (Vautomatic_replot): Delete static variable. + (Fautomatic_replot): Delete function. + + * toplev.cc (Fcasesen): Delete obsolete function. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (gnuplot::makeplot): Check + whether caller is "splot", not "gsplot". + +2007-04-19 John W. Eaton + + * lex.l (is_keyword_token): Delete all_va_args_kw switch case. + * octave.gperf: Remove all_va_args_kw from the list. + +2007-04-19 Daniel J. Sebald + + * syscalls.cc: Fix popen2 test to stop trying after 100 times + throught the loop. + +2007-04-16 Geordie McBain + + * ov-fcn-inline.cc (Fargnames): Doc fix. + +2007-04-13 Geordie McBain + + * DLD-FUNCTIONS/find.cc (Ffind): Doc fix. + +2007-04-11 John W. Eaton + + * Makefile.in (DOCSTRINGS): Don't echo commands. + (doc-files): Use mv, not $(simple-move-if-change-rule). + + * data.cc (Fnot, Fuplus, Fuminus, Ftranspose, Fctranspose, Fplus, + Fminus, Fmtimes, Fmrdivide, Fmpower, Fmldivide, Flt, Fle, Feq, + Fge, Fgt, Fne, Ftimes, Frdivide, Fpower, Fldivide, Fand, For): + New functions. + +2007-04-09 John W. Eaton + + * graphics.cc (line::line_properties::markeredgecolor, + line::line_properties::markerfacecolor): New properties. + +2007-04-06 John W. Eaton + + * data.cc (F__vnorm__): New function. + + * pt-fcn-handle.cc (tree_anon_fcn_handle::param_list, + tree_anon_fcn_handle::cmd_list, tree_anon_fcn_handle::ret_list, + tree_anon_fcn_handle::sym_tab): Delete. Remove all uses. + (tree_anon_fcn_handle::fcn): New data member. + (tree_anon_fcn_handle::tree_anon_fcn_handle): Initialize it. + (tree_anon_fcn_handle::rvalue, tree_anon_fcn_handle::dup): + Extract parameter list, return list, function body, and symbol + table from fcn. + (tree_anon_fcn_handle::parameter_list, tree_anon_fcn_handle::body): + Forward request to fcn. + + * ov-usr-fcn.h (octave_user_function::local_sym_tab): Rename from + sym_tab. Change all uses. + (octave_user_function::sym_tab): New function. + + * octave.cc (execute_command_line_file): + +2007-04-05 David Bateman + + * DLD-FUNCTIONS/regexp.cc (Fregexprep): Correct iteration over + cell arrays so that the source and pattern are iterated seperately + in the same manner as matlab. + +2007-04-05 Laurent Mazet + + * mex.cc (mxArray_octave_value::get_string): Copy nel elements, + not buflen elements. + +2007-04-05 John W. Eaton + + * oct-stream.cc (DO_DOUBLE_CONV): New macro. + (do_printf): Use it. + +2007-04-04 John W. Eaton + + * input.cc (octave_yes_or_no): Force interactive_input to use readline. + + * octave.cc (execute_eval_option_code): Catch bad::alloc here. + +2007-04-03 John W. Eaton + + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): + Use && for logical, not &. + + * DLD-FUNCTIONS/qr.cc (Fqr): Clarify nargin check. + + * error.cc (Frethrow): Add braces to avoid ambiguous if/else. + * oct-stream.cc (octave_scan<>): Likewise. + * DLD-FUNCTIONS/colamd.cc (Fetree): Likewise. + * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Likewise. + + * ov-fcn-handle.cc (make_fcn_handle): Pass ultimate parent + function name to lookup_function. + +2007-03-29 John W. Eaton + + * DLD-FUNCTIONS/filter.cc (filter): Fix typo in doc string. + From Utkarsh Upadhyay . + +2007-03-28 Rafael Laboissiere + + * DLD-FUNCTIONS/__glpk__.cc: Fix #ifdef logic around GLPK_PRE_4_14. + +2007-03-27 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.10+ + +2007-03-27 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.10. + (OCTAVE_API_VERSION): Now api-v23. + (OCTAVE_RELEASE_DATE): Now 2007-03-27. + + * version.h (OCTAVE_COPYRIGHT): Update for 2007. Add "and others". + (X_OCTAVE_WARRANTY_STATEMENT): Rename from OCTAVE_WARRANTY_STATEMENT. + Accept arg. + (OCTAVE_WARRANTY_STATEMENT): Define using X_OCTAVE_WARRANTY_STATEMENT. + (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Define using + X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY. + (X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Rename + from OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY. + Accept arg and pass to X_OCTAVE_WARRANTY_STATEMENT. + (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): Pass empty + arg to X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS. + (OCTAVE_STARTUP_MESSAGE): Put info about news last. + +2007-03-27 John W. Eaton + + * Makefile.in (dist, conf-dist): Use ln, not $(LN_S). + +2007-03-26 Juhani Saastamoinen + + * file-io.cc (do_stream_open) [! HAVE_ZLIB]: + Call fopen with mode, not tmode. + +2007-03-26 John W. Eaton + + * OPERATORS/op-str-str.cc (DEFCHARNDBINOP): New macro. Use it to + define functions for eq and ne ops. Also define lt, le, ge, and + gt ops. + +2007-03-23 David Bateman + + * DLD-FUNCTIONS/rand.cc: Make more statistical tests optional. + +2007-03-23 John W. Eaton + + * bitfcns.cc (Fbitshift): Error if third argument is not a scalar. + +2007-03-23 David Bateman + + * DLD-FUNCTIONS/rand.cc: Make statistical tests optional and + add tests for fixed sequences. + +2007-03-22 John W. Eaton + + * graphics.cc (base_graphics_object::mark_modified): + New virtual function. + (base_properties::__modified__): New data member. + (base_properties::base_properties): Initialize it. + (graphics_object::mark_modified, base_properties::mark_modified, + root_figure::mark_modified, figure::mark_modified, + axes::mark_modified, line::mark_modified, text::mark_modified, + image::mark_modified, surface::mark_modified, + root_figure::root_figure_properties::mark_modified, + figure::figure_properties::mark_modified, + axes::axes_properties::mark_modified, + line::line_properties::mark_modified, + text::text_properties::mark_modified, + image::image_properties::mark_modified, + surface::surface_properties::mark_modified): New functions. + (figure::figure_properties::set, figure::figure_properties::get, + axes::axes_properties::set, axes::axes_properties::get, + line::line_properties::set, line::line_properties::get, + text::text_properties::set, text::text_properties::get, + image::image_properties::set, image::image_properties::get, + surface::surface_properties::set, surface::surface_properties::get): + Handle __modified__ property. + + * parse.y (Fautoload): Use warning_with_id. + +2007-03-21 John W. Eaton + + * DLD-FUNCTIONS/__qp__.cc (ABS): Delete. Use std::abs instead. + (null): Set elements of retval with magnitudes less than eps to 0. + + * error.cc (Fwarning): Allow setting options with struct. + If setting options, return previous state. + + * graphics.cc (axes::axes_properties::set_defaults): Reverse sense + of mode test for setting outerposition property. + (figure::figure_properties::set): If setting visible property, + make this figure the current figure. + (gh_manager::figure_handle_list, gh_manager::do_figure_handle_list): + New functions. + (F__go_figure_handles__): New function. + + * sysdep.cc (Fpause): Also call drawnow if nargin == 0. + (Fkbhit, Fsleep, Fusleep): Also call drawnow here. + +2007-03-20 David Bateman + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Correct for shape of return + matrix for the case of UniformOutput being true. + +2007-03-20 John W. Eaton + + * sysdep.cc (Fpause): Call drawnow. + +2007-03-15 John W. Eaton + + * variables.cc (F__lock_global__): Delete. + +2007-03-14 John W. Eaton + + * graphics.cc: New file. + * Makefile.in (DIST_SRC): Add it to the list. + +2007-03-13 John W. Eaton + + * file-io.cc (do_stream_open): Use binary mode if 't' is not + specified in mode, but don't add 'b' if it is already present. + +2007-03-09 David Bateman + + * data.cc (do_cat): Also treat case of all empty matrices. + +2007-03-08 John W. Eaton + + * mex.cc (mxArray_octave_value::set_dimensions, + mxArray_octave_value::set_m, mxArray_octave_value::set_n, + mxArray_octave_value::set_class_name, + mxArray_octave_value::set_ir, mxArray_octave_value::set_jc, + mxArray_octave_value::remove_field, + mxArray_octave_value::set_field_by_number): + Don't panic; request mutation instead. + (class mxArray_octave_value): + + * mxarray.h (mxArray::set_m, mxArray::set_n, + mxArray::set_dimensions): Wrap method call call with + DO_VOID_MUTABLE_METHOD. + +2007-03-08 David Bateman + + * data.cc (do_cat): Ignore leading empty matrices. + +2007-03-07 Bob Weigel + + * urlwrite.cc (urlget): Allow URL redirects. + +2007-03-05 David Bateman + + * DLD-FUNCTIONS/md5sum.cc (Fmd5sum): Treat both files and strings. + +2007-03-05 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Check GLPK_PRE_4_14, not + GLPK_PRE_4_15. + +2007-03-02 John W. Eaton + + * parse.y (Fautoload): Undo previous change. + Warn if FILE is not an absolute file name. + + * utils.cc (make_absolute): Make copy of arg before + +2007-03-01 John W. Eaton + + * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&), + (octave_base_matrix::octave_base_matrix (const MT&, const MatrixType&)): + Use common definition with default argument value. + * ov-base-scalar.h (octave_base_scalar::typ): New data member. + Initialize in constructors. + (octave_base_scalar::matrix_type): New funtions. + +2007-03-01 David Bateman + + * DLD-FUNCTIONS/md5sum.cc: New file. + * Makefile.in (DLD_XSRC): Add md5sum.cc + +2007-03-01 Olli Saarela + + * input.cc (FPS1): Fix @seealso. + +2007-03-01 David Bateman + + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Special case scalar + types and always return "Full" matrix type. + +2007-02-28 John W. Eaton + + * input.cc (interactive_input): Also call flush_octave_stdout + after calling drawnow. + +2007-02-27 John W. Eaton + + * Makefile.in (uninstall): Also remove octave-$(version)$(EXEEXT), + oct-gperf.h, and all .oct files. Remove PKG_ADD. + From Thomas Treichl . + + * load-path.h, (load_path::initialize, load_path::do_initialize): + New arg, set_initial_path. + * load-path.cc (load_path::do_initialize): Don't add system + directories to apth if set_initial_path is false. + * octave.cc (set_initial_path): New static variable. + (NO_INITIAL_PATH_OPTION): New define. + (usage_string): Include --no-initial-path in message. + (long_opts): Include no-initial-path/NO_INITIAL_PATH_OPTION here. + (octave_main): Handle NO_INITIAL_PATH_OPTION. + Pass set_initial_path to load_path::initialize. + + * parse.y (Fautoload): Warn about duplicate entries. Only insert + the first found. + +2007-02-27 David Bateman + + * error.cc (Vlast_error_file, Vlast_erro_name, Vlast_error_row, + Vlast_error_column): New static variables. + (verror): Use them to store the location of last error. + (rethrow_error, Frethrow, Flasterror): New functions. + + * DLD-FUNCTIONS/regexp.cc (octcellregexp): Wrapper to octregexp + function for cases when string or pattern are cell arrays + (Fregexp, Fregexpi): Use them. + (octregexprep): New function with functionality of old Fregexprep. + (Fregexprep): Treat cell arguments. + +2007-02-26 Michael Goffioul + + * Makefile.in: Use $(LN_S) instead of ln or ln -s. + + * DLD-FUNCTIONS/getrusage.cc: Undef min after including windows.h. + +2007-02-25 John W. Eaton + + * DLD-FUNCTIONS/interpn.cc: Include dNDArray.h, not dMatrix.cc. + + * error.h: Include cstdarg. + From Juhani Saastamoinen . + +2007-02-23 John W. Eaton + + * variables.cc (lookup_function): Don't dereference NULL + curr_parent_fucntion pointer. + * ov-fcn-handle.cc (make_fcn_handle): Call lookup_function with + parent set to empty string if call_stack is empty. + + * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Also adjust argument list + in calls to functions that are not overloaded. Call + lookup_by_name to find function instead of searching fbi_symtab + directly. + + * help.cc (do_which): Return empty string if file not found. + +2007-02-22 John W. Eaton + + * mex.cc (mxArray_cell::mxArray_cell (const mxArray_cell&), + mxArray_struct::mxArray_struct (const mxArray_struct&)): + Avoid calling clone on 0 elements. + + * variables.cc (symbol_out_of_date): If checking nested function, + look for file using parent function name. Delete unused + variable NAMES. + + * oct-stream.cc (octave_stream::do_gets): If no limit or not + at limit, read ahead one character at end of line for compatibility. + (octave_stream::gets, octave_stream::getl): Set max_len to -1 if + tc_max_len is not defined. + * file-io.cc (Ffgets, Ffgetl): If no limit specified, pass + undefined octave_value object as max_len in call to + octave_stream::gets. + +2007-02-21 John W. Eaton + + * mex.cc (mexErrMsgIdAndTxt, mexWarnMsgIdAndTxt): Handle second + arg as format and accept variable number of arguments. + * mexproto.h: Fix decls. + + * error.h, error.cc (vmessage, vusage, vwarning, verror, + vparse_error, vmessage_with_id, vusage_with_id, vwarning_with_id, + verror_with_id, vparse_error_with_id): Provide va_list versions of + variadic error, warning, and message functions. + (message, usage, warning, error, parse_error, message_with_id, + usage_with_id, warning_with_id, error_with_id, + parse_error_with_id): Call va_list versions. + + * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Return error + code and message instead of throwing error if functionality is + missing. + + * oct-obj.h (octave_value_list::splice): Set default for + replacement list argument. + +2007-02-20 Rafael Laboissiere + + * DLD-FUNCTIONS/__glpk__.cc: Adapt code for changes in the GLPK + API for version 4.15 or later. + +2007-02-20 John W. Eaton + + * mxarray.h (mxArray::get_scalar): New function. + * mex.cc (mxArray_base::get_scalar): New pure virtual function. + (mxArray_octave_value::get_scalar, mxArray_matlab::get_scalar, + mxArray_number::get_scalar): New functions. + (mxGetScalar): Call get_scalar here. + + * mex.cc (mxArray_octave_value::get_dimensions): Cache ndims here. + (mxArray_octave_value::get_number_of_dimensions): + Call get_dimensions here to cache both ndims and dims. + +2007-02-17 John W. Eaton + + * variables.cc (symbol_out_of_date): Don't exit early if looking + at nested function. + +2007-02-16 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): Clear + function if original was loaded from relative path and the name + can no longer be found in path. Mark files found from relative + path as relative. + (clear): Only warn if there is more than one function to clear. + + * variables.cc (symbol_out_of_date): Don't ignore return value in + call to octave_env::make_absolute. + (symbol_out_of_date): Clear symbol if original was loaded from + relative path and name can no longer be found in path. + + * dynamic-ld.cc (octave_dynamic_loader::do_load_oct): + Also check whether new file is same as the old file. + + * utils.cc (same_file): Move here from variables.cc. + * utils.h: (same_file): Provide decl. + + * parse.y (frob_function): Stash parent function name if parsing + nested function. + + * ov-fcn-handle.cc (make_fcn_handle): Pass current function name + as parent in call to lookup_function. + + * ov-fcn.h (octave_function::parent_fcn_name): New virtual function. + + * ov-usr-fcn.h (octave_user_function::parent_name): New data member. + (octave_user_function::stash_parent_function_name, + octave_user_function::parent_function_name): New methods. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Initialize parent_name. + + * variables.h, variables.cc (lookup_function): New arg, parent. + If not empty, try this first for lookup. + + * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): If doing + path lookup, check relative status. Pass relative to oct_file_in_path. + (octave_dynamic_loader::do_load_mex): Likewise, for mex_file_in_path + + * defun-int.h, defun.cc (install_mex_function): New arg, relative. + (install_dld_function): Likewise. + (octave_dld_fcn_installer): Likewise. + (DEFINE_FUNX_INSTALLER_FUN3): Pass relative to install_dld_function. + + * dynamic-ld.h (octave_dynamic_loader::load_oct, + octave_dynamic_loader::load_mex, + octave_dynamic_loader::do_load_oct + octave_dynamic_loader::do_load_mex): New arg, relative. + + * dirfns.h (Vcurrent_directory): Delete unused variable. + + * variables.cc (symbol_out_of_date): Also compare function time + stamp to Vlast_chdir_time if function is from relative lookup. + + * dirfns.cc (Vlast_chdir_time): New variable. + (octave_change_to_directory): Update it if chdir succeeds. + * dirfns.h (Vlast_chdir_time): Provide decl. + + * ov-fcn.h (octave_function::relative): New data member. + (octave_function::mark_relative, octave_function::is_relative): + New functions. + + * parse.y (fcn_file_from_relative_lookup): New static variable. + (load_fcn_from_file): Note whether function file was found from + relative path element. + (frob_function): Maybe mark function as relative. + + * parse.y (lookup_autoload): Don't call octave_env::make_absolute + on return value. + * variables.cc (symbol_out_of_date): Make name absolute after call + to lookup_autoload. + + * input.cc (interactive_input): New arg, DEBUG. Don't call + drawnow if debugging. + (get_user_input): Pass DEBUG to interactive_input. + +2007-02-16 Michael Goffioul + + * syscalls.cc (Fpopen2): New function. + (pipe): Modify to return input and output file descriptor + seperately rather than in a list. + +2007-02-16 Muthiah Annamalai + + * debug.cc (Fdbtype): Improve compatibility. + +2007-02-16 John W. Eaton + + * toplev.cc (wait_for_input): New function. + (run_command_and_return_output): Use it instead of napping. + + * oct-procbuf.h (octave_procbuf::pid): Now const. + * procstream.h (procstreambase::pid): Now const. + (procstreambase::file_number): New function. + +2007-02-15 John W. Eaton + + * mxarray.h (mxChar): Use char instead of unsigned short. + + * toplev.cc (Foctave_config_info): Remove + OCTAVE_CONF_MKOCTFILE_INCFLAGS and OCTAVE_CONF_MKOCTFILE_LFLAGS + from the list. + * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_INCFLAGS, + OCTAVE_CONF_MKOCTFILE_LFLAGS): Don't define. + (OCTAVE_CONF_INCLUDEDIR, OCTAVE_CONF_OCTINCLUDEDIR, + OCTAVE_CONF_OCTLIBDIR, OCTAVE_CONF_PREFIX): New definitions. + +2007-02-14 Alexander Barth + + * DLD-FUNCTIONS/interpn.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2007-02-14 John W. Eaton + + * input.cc (interactive_input): Check error_state after call to feval. + +2007-02-10 John W. Eaton + + * oct-stream.cc (octave_stream::rewind): Call seek (0, SEEK_SET) + instead of rep->rewind. + (octave_base_stream::rewind): Delete Function. + * oct-stream.h (octave_base_stream::rewind): Delete decl. + +2007-02-09 John W. Eaton + + * ls-mat5.cc (PAD): Adjust to change in write_mat5_tag. + (TAGLENGTH): Delete unused macro. + + * ov-struct.cc (octave_struct::load_ascii, + octave_struct::load_binary, octave_struct::load_hdf5): + Delete obsolete attempt at backward compatibility. + + * ls-mat5.cc (read_mat5_binary_element): Don't attempt to read + fieldnames if there are no fields. + (write_mat5_tag): Don't use small data element format if bytes == 0. + + * ls-mat5.cc (read_mat5_binary_element): Always create a structure + that is at least 1x1. + * ov-struct.cc (octave_struct::load_ascii, + octave_struct::load_binary, octave_struct::load_hdf5): Likewise. + +2007-02-08 Michael Goffioul + + * DLD-FUNCTIONS/__glpk__.cc: Include glplib.h if glpk.h does not. + Provide definitions for lib_set_fault_hook and lib_set_print_hook + if they are not defined. + +2007-02-07 John W. Eaton + + * defaults.cc (subst_octave_home): + Only substitute at beginning of string. + + * ls-hdf5.cc (save_hdf5_empty): Use OCTAVE_LOCAL_BUFFER. + * ov-bool-mat.cc (octave_bool_matrix::save_hdf5, + octave_bool_matrix::load_hdf5): Likewise. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_hdf5, + octave_sparse_bool_matrix::load_hdf5): Likewise. + +2007-02-07 Michael Goffioul + + * ov-cell.cc (octave_cell::save_hdf5): Correct test for H5Dwrite + return value. + +2007-02-07 John W. Eaton + + * zfstream.cc (gzfilebuf::open_mode): Always append "b" to c_mode. + + * toplev.cc (Foctave_config_info): Use struct for conf_info. + Call subst_octave_home on selected values when initializing map. + * defaults.cc (subst_octave_home): Now extern. + * defaults.h.in: Provide decl. + +2007-02-05 John W. Eaton + + * mex.cc (mxArray_number::as_octave_value): Fake mxSINGLE_CLASS + by returning double-precision values. + (mxArray_sparse::as_octave_value): Clarify error message. + + * ov-complex.h (octave_complex): Use std instead of OCTAVE_STD + since the latter was unconditionally defined to be std anyway. + +2007-02-05 Michael Goffioul + + * ov-complex.h: Tag octave_complex class with OCTINTERP_API. + +2007-01-30 John W. Eaton + + * Merge of changes from graphics-branch: + + 2007-01-26 John W. Eaton + + * DLD-FUNCTIONS/__contourc__.cc: New function. + * Makefile.in (DLD_XSRC): Add it to the list. + + 2007-01-25 John W. Eaton + + * input.cc (Vdrawnow_requested): New static variable. + (F__request_drawnow__): New function. + (interactive_input): New function. Update Vlast_prompt_time here. + (octave_gets, get_user_input, octave_yes_or_no): + Call interactive_input instead of gnu_readline. + + * symtab.h (symbol_record::eternal): New data member. + (symbol_record::symbol_record): Initialize it. + (symbol_record::make_eternal, symbol_record::is_eternal): + Don't forward to symbol_def functions. + (symbol_record::symbol_def::make_eternal, + symbol_record::symbol_def::is_eternal): Delete. + (symbol_record::symbol_def::eternal): Delete data member. + (symbol_record::symbol_def::symbol_def): Delete initialization. + + * pt-id.cc (tree_identifier::link_to_global): Include variable + name in warning message. + + * variables.cc (F__lock_global__): New function. + + 2007-01-11 John W. Eaton + + * ls-oct-ascii.cc (save_ascii_data_for_plotting, save_three_d): + Set precision to 6 instead of 4. + +2007-01-29 David Bateman + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Don't panic if + nargout is greater than 3. + +2007-01-24 John W. Eaton + + * pt-assgn.cc (former_built_in_variables): New static data. + (maybe_warn_former_built_in_variable): New static function. + (tree_simple_assignment::tree_simple_assignment, + tree_multi_assignment::tree_multi_assignment): + Move definition here from pt-assign.h + Maybe warn about assignment to obsolete built-in variables. + + * version.h (OCTAVE_STARTUP_MESSAGE): Mention "news" function. + + * pt-stmt.cc (tree_statement::eval): Use dynamic_cast, not + static_cast. + + * help.cc (help_from_file): Show .oct or .mex file name if one + exists in the same directory as the .m file. + +2007-01-23 Luis F. Ortiz + + * strfns.cc (Fstrncmp): New function. + +2007-01-17 John W. Eaton + + * help.cc (help_from_file, help_from_symbol_table, help_from_list): + Rewrite using raw_ versions. + +2007-01-17 David Bateman + + * help.cc (raw_help, raw_help_from_file, + raw_help_from_symbol_table, raw_help_from_list): New functions. + * help.h (raw_help): Provide decl. + +2007-01-16 John W. Eaton + + * DLD-FUNCTIONS/__pchip_deriv__.cc: Fix dpchim decl for --enable-64. + (F__pchip_deriv__): Fix call to dpchim for --enable-64. + + * DLD-FUNCTIONS/fftw.cc: Delete decl for fftw_planner. + +2007-01-11 Michael Goffioul + + * load-path.h (class load_path): Tag with OCTINTERP_API. + + * ls-oct-binary.cc (read_binary_data): Use unsigned char, not + char, for reading flags and data types. + +2007-01-10 Luis F. Ortiz + + * parse.y (load_fcn_from_file): Delete unused variable NAMES. + If NM is absolute, strip directory and extension parts. + +2007-01-10 Michael Goffioul + + * DLD-FUNCTIONS/getrusage.cc: Use #ifdef __WIN32__, not __MINGW32__. + +2007-01-10 John W. Eaton + + * parse.y (load_fcn_from_file): Only compare last two characters + when looking for ".m". + +2007-01-06 John W. Eaton + + * version.h (OCTAVE_CONFIG_STATEMENT): New macro + (OCTAVE_NAME_AND_VERSION): Remove config info. + (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY): + Use OCTAVE_CONFIG_STATEMENT here. + +2007-01-05 David Bateman + + * Makefile.in (DLD_XSRC): Add fftw.cc and remove fftw_wisdom.cc + * DLD-FUNCTIONS/fftw.cc: New file. + * DLD-FUNCTIONS/fftw_wisdom.cc: Delete. + * defaults.cc (Vfftw_wisdom_program): Delete variable. + (set_default_fftw_wisdom_prog): Delete function that sets it. + (install_defaults): Delete set_default_fftw_prog from defaults. + (Ffftw_wisdom_program): Delete. + +2007-01-04 David Bateman + + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, + octave_fcn_handle::load_binary): + Throw error if handle can't be created. + +2007-01-04 Luis F. Ortiz + + * mex.cc (mxArray_number::mxArray_number (int, const char **)): + Correctly index LHS in assignment. + +2007-01-03 John W. Eaton + + * data.cc (Fisinteger): New function. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::is_integer_type, + OCTAVE_VALUE_INT_SCALAR_T::is_integer_type): New function. + * ov.h (octave_value::is_integer_type): New function. + * ov-base.h (octave_base_value::is_integer_type): New virtual function. + +2007-01-03 Michael Goffioul + + * toplev.cc (Fsystem): Handle async calls on Windows systems. + +2007-01-03 David Bateman + + * (OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, + OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, + OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, + OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc): + Modify div and ldiv functions so that scalars stored as sparse + matrices are special cased. + + * ov-re-sparse.cc (double_value, complex_value): Scalar can be + stored as a sparse matrix and so don't warn on implicit conversion + to a scalar. + * ov-cx-sparse.cc (double_value, complex_value): ditto. + * ov-bool-sparse.cc (double_value, complex_value): ditto. + +2007-01-03 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load_mex): Also check + for _mexFunction. + +2006-12-30 John W. Eaton + + * ov-fcn-inline.cc: For compatibility, class id is + "function_handle", not "inline function". + +2006-12-27 John W. Eaton + + * Makefile.in (%.df : %.cc): Insert a "do not edit" notice in the + .df files. + + * mex.cc (mxArray_matlab::get_class_name, + mxArray_octave_value::get_class_id): Use "function_handle", not + "function handle". + +2006-12-14 John W. Eaton + + * pt-decl.cc (tree_decl_elt::eval): New function. + * pt-decl.h (tree_decl_elt::eval): Provide decl. + (tree_decl_elt::is_defined, tree_decl_elt::lvalue_ok, + tree_decl_elt::mark_as_formal_parameter, tree_decl_elt::rvalue, + tree_decl_elt::lvalue): New functions. + + * pt-misc.h (class tree_parameter_list): Derive from + octave_base_list instead of + octave_base_list. + (tree_parameter_list::tree_parameter_list (tree_identifier *)): Delete. + (tree_parameter_list::tree_parameter_list (tree_decl_elt *)): + New function. + * pt-misc.cc (tree_parameter_list::mark_as_formal_parameters, + tree_parameter_list::initialize_undefined_elements, + tree_parameter_list::undefine, tree_parameter_list::dup, + tree_parameter_list::convert_to_const_vector, + tree_parameter_list::is_defined): Handle argument list elements + as tree_decl_list objects instead of tree_identifier objects. + (tree_parameter_list::define_from_arg_vector): Likewise. + Always process entire list, setting default values if possible. + Accept ":" to mean "use default argument". + + * parse.y (param_list2): Use decl2 to recognize + "identifier '=' expression" in addition to "identifier". + + * parse.y (return_list1, make_anon_fcn_handle, finish_function): + Adapt to new definition of tree_parameter_list. + * pt-bp.cc (tree_breakpoint::visit_parameter_list): Likewise. + * pt-check.cc (tree_checker::visit_parameter_list): Likewise. + * pt-pr-code.cc (tree_print_code::visit_parameter_list): Likewise. + +2006-12-08 John W. Eaton + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value, + OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, + OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, + OCTAVE_VALUE_INT_MATRIX_T::char_array_value): + Use fortran_vec to avoid expensive indexing operator. + +2006-12-08 David Bateman + + * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::matrix_value, + OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, + OCTAVE_VALUE_INT_MATRIX_T::matrix_value, + OCTAVE_VALUE_INT_MATRIX_T::comlex_matrix_value): New functions. + (OCTAVE_VALUE_INT_MATRIX_T::array_value, + OCTAVE_VALUE_INT_MATRIX_T::comlex_array_value): + Use octave_idx_type instead of int for indexing. + +2006-12-04 David Bateman + + * xpow.cc (xpow (const Matrix&, double)): Add matrix type probing + to matrix inverse. + (xpow (const ComplexMatrix&, double)): ditto. + * DLD-FUNCTIONS/inv.cc (Finv): Add matrix type probing. + +2006-12-06 John W. Eaton + + * sysdep.cc: Include "Cell.h" here. + * input.h: Include "oct-obj.h", not "ov-list.h". + +2006-12-06 Michael Goffioul + + * mappers.cc (install_mapper_functions): Undefine isascii before + the DEFUN_MAPPER for it. + + * input.cc (get_user_input): Prevent out of bounds array access + when checking for EOL. + +2006-12-05 John W. Eaton + + * ls-oct-ascii.cc (extract_keyword): If no match and looking for + more, skip to end of line before trying another match. + + * pt-mat.cc (tm_row_const::empty): New function. + (tm_const::init): Don't append anything if tmp tm_row_const object + is empty. + (tree_matrix::rvalue): Default return value is Matrix(). + Don't do anything if tmp tm_const object is empty. + + * dirfns.cc (Fmkdir): Fix thinko in previous change. + +2006-12-05 Paul Kienzle + + * DLD-FUNCTIONS/rand.cc: Test for Poisson generator with lambda > 1e8. + +2006-12-04 David Bateman + + * data.cc (Fdata): If ndims is greater than nargout and + nargout is greater than 1, then collect size of trailing + dimensions into retval(end). + + * load-path.cc (load_path::do_find_fcn): Return empty string if + tests fail. + + * ov-base-mat.cc (void octave_base_matrix::assign (const + octave_value_list&, const MT&)): Invalidate matrix type on + assignment. + +2006-11-30 John W. Eaton + + * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): + Accept "r" or "w" for second argument. + +2006-11-29 John W. Eaton + + * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Look in load-path + if reading wisdom file, but not if writing. + +2006-11-28 John W. Eaton + + * mex.cc (mxArray_struct::get_field_by_number): + Return 0 if key_num is out of range. + (mxArray_struct::set_field_by_number): + Do nothing if key_num is out of range. + (mxArray_cell::get_cell, mxArray_cell::set_cell): + Avoid out-of-bounds indexing + +2006-11-28 Luis F. Ortiz + + * mex.cc (mxArray_matlab::get_n, mxArray_octave_value::get_n): + Return product of last N-1 dims. + +2006-11-28 John W. Eaton + + * lex.l (eat_whitespace): Also handle CRLF as EOL. + + * dirfns.cc (Fmkdir): Handle "mkdir (parent, dir)". + +2006-11-21 John W. Eaton + + * load-path.cc (load_path::do_find_file, + load_path::do_find_first_of, load_path::do_find_all_first_of): + Call rooted_pathname instead of absolute_pathname. + * utils.cc (fcn_file_in_path, oct_file_in_path, mex_file_in_path): + Likewise. + +2006-11-16 Michael Goffioul + + * oct-hist.cc (default_history_file): Instead of appending + "/.octave_hist", append directory separator (but only if + necessary), then ".octave_hist". + +2006-11-16 John W. Eaton + + * data.cc (Fresize): Fix doc string. + +2006-11-15 John W. Eaton + + * DLD-FUNCTIONS/__gnuplot_raw__.l (write_data, write_inline_data): + New functions. + (save_in_tmp_file): Use write_data. + (gnuplot::send_inline_data, gnuplot_do_send_inline_data): + New functions. + (F__gnuplot_send_inline_data__, F__gnuplot_save_data__): + New functions. + + * ls-oct-ascii.cc (save_ascii_data_for_plotting): + Call save_ascii_data with precision = 4. + (save_three_d): Temporarily set precision to 4 for output stream. + +2006-11-15 Michael Goffioul + + * Cell.h (Cell): Tag class with OCTINTERP_API. + +2006-11-13 John W. Eaton + + * octave.cc (maximum_braindamage): Disable + Octave:fopen-file-in-path and Octave:load-file-in-path warnings. + + * load-save.cc (find_file_to_load): New function. + (Fload): Call find_file_to_load to search load path for file. + + * file-io.cc (Ffopen): Search load path for file. + + * load-path.cc (path::do_find_first_of, path::do_find_file): + Break out of all loops once file is found, not just innermost one. + + * data.cc (Fsize_equal): New function. + +2006-11-13 Michael Goffioul + + * ov.cc (check_subsref_elements, Fsubsref, Fsubsasgn): + New functions. + + * ov-re-mat.h, ov-scalar.h, pr-output.h: + Sprinkle with OCTINTERP_API as needed. + +2006-11-11 John W. Eaton + + * Makefile.in (parse.cc): Avoid creating empty files. + (%.df : %cc, builtins.cc, mkbuiltins, PKG_ADD, DOCSTRINGS, + doc-files, gendoc.cc, ops.cc, $(OPT_HANDLERS), oct-errno.cc, + oct-gperf.h): Use $(simple-move-if-change-rule) here. + (lex.cc, __gnuplot_raw__.cc): + Use $(destdir-move-if-change-rule) here. + (ifndef omit_deps): Don't include stamp-prereq here. + ($(DEF_FILES), $(MAKEDEPS)): Also depend on stamp-prereq. + +2006-11-10 John W. Eaton + + * ov-str-mat.cc (octave_char_matrix_str::load_ascii, + octave_char_matrix_str::load_binary): + Use chMatrix as buffer instead of C string. + +2006-11-09 John W. Eaton + + * ov-usr-fcn.h (octave_user_function::inline_function): + New data member. + (octave_user_function::mark_as_inline_function): Set it. + (octave_user_function::is_inline_function): Check it. + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Also skip setting curr_parent_fucntion if evaluating an inline + function. + (octave_user_function::octave_user_function): + Initialize inline_function. + * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): + Mark user function as inline here. + +2006-11-09 Michael Goffioul + + * load-path.cc (load_path::move): Don't use reference to file_info + object that will be erased. + +2006-11-07 John W. Eaton + + * utils.cc (file_in_path): Don't unconditionally return "". + + * pager.cc (default_pager): Don't append options here. + (pager_command): New function. + (do_sync): Use it. + (VPAGER_FLAGS): New variable. + (FPAGER_FLAGS): New function. + +2006-11-06 John W. Eaton + + * oct-hist.cc (default_history_file): If env_file is not empty, + just accept it rather than checking to see if it exists. + +2006-11-03 Bill Denney + + * help.cc (keywords): Document try and unwind_protect. + +2006-11-03 John W. Eaton + + * Makefile.in (DLL_CXXDEFS): Rename from XTRA_CXXDEFS. + (DLL_CDEFS): Rename from XTRA_CDEFS. + Substitute OCTINTERP_DLL_DEFS, not XTRA_OCTINTERP_DEFS. + +2006-11-02 Michael Goffioul + + * sysdep.cc (MSVC_init): Also cal w32_sigint_init and + w32_set_quiet_shutdown. + +2006-11-01 John W. Eaton + + * ov.h (octave_value::idx_type_value): New function. + * data.cc (fill_matrix, Flinspace, Freshape): Use idx_type_value + instead of int_value to extract size args. + +2006-10-31 John W. Eaton + + * ov-range.h (octave_range::empty_clone): Return octave_matrix + object instead of octave_range. + +2006-10-29 Juhani Saastamoinen + + * ls-mat5.cc (read_mat5_tag): Declare bytes as int32_t, not just int. + +2006-10-28 John W. Eaton + + * toplev.cc (Fatexit): Push function names on the stack even if we + don't have atexit or on_exit. + +2006-10-28 Michael Goffioul + + * mappers.cc (install_mapper_functions): Undefine toascii before + the DEFUN_MAPPER for it. + +2006-10-27 John W. Eaton + + * mexproto.h: Include oct-dlldefs.h. + + * pr-output.cc (SPECIALIZE_UABS): New macro. + Use it to generate specializations of abs for unsigned int types. + Instantiate abs for signed int types. + + * load-path.cc (load_path::do_initialize): + Use dir_path::path_sep_str instead of ":". + Don't append ":::" to xpath when calling do_set. + + * dirfns.cc (Fls, cleanup_iprocstream): Delete. + + * sysdep.cc (Ftilde_expand): If arg is cellstr, return cellstr. + + * ov.h (octave_value::is_cellstr): New function. + * ov-base.h (octave_base_value::is_cellstr): New function. + * ov-cell.h (octave_cell::is_cellstr): New function. + * ov-cell.cc (Fiscellstr): Implement with is_cellstr. + * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)): + New constructor. + (Cell::is_cellstr): New function. + * Cell.h: Provide decls. + + * defaults.cc (subst_octave_home): If dir_sep_char is not '/', + replace before returning. + From Michael Goffioul . + +2006-10-26 John W. Eaton + + * cutils.c (octave_strcasecmp, octave-strncasecmp): + Move to liboctave/lo-cutils.c. + * utils.h: Delete decls. + * strcasecmp.c: Move to liboctave/strcasecmp.c. + * strncase.c: Move to liboctave/strncase.c. + * Makefile.in (DIST_SRC): Delete them from the list. + + * bitfcns.cc (bitshift): If A < 0, return -bitshift (-A, N, MASK). + +2006-10-26 Michael Goffioul + + * help.cc (display_help_text): Quote sed patterns with ". + + * file-io.cc: Include file-io.h. + + * TEMPLATE-INST/Array-os.cc, TEMPLATE-INST/Array-sym.cc, + TEMPLATE-INST/Array-tc.cc, defun-int.h, error.h, file-io.h, + gripes.h, ls-oct-ascii.h, mexproto.h, oct-map.h, oct-obj.h, + oct-stream.cc, oct-stream.h, octave.h, ov-base.h, + ov-bool-sparse.cc, ov-bool-sparse.h, ov-cx-sparse.cc, + ov-cx-sparse.h, ov-fcn.h, ov-re-sparse.cc, ov-re-sparse.h, + ov-str-mat.h, ov-typeinfo.cc, ov-typeinfo.h, ov.h, pager.h, + parse.h, pr-output.cc, pr-output.h, procstream.h, sighandlers.h, + symtab.h, unwind-prot.h, utils.h, variables.h: + Sprinkle with OCTINTERP_API as needed. + +2006-10-26 John W. Eaton + + * ov-bool.h (octave_bool::sparse_matrix_value, + octave_bool::sparse_complex_matrix_value + octave_bool::sparse_bool_matrix_value): New functions. + +2006-10-25 John W. Eaton + + * sighandlers.cc: Check defined (RETSIGTYPE_IS_VOID) instead of + RETSIGTYPE == void. + + * oct-procbuf.cc (BUFSIZ): Define if not already defined. + (octave_procbuf::open): Pass BUFSIZ as size argument to setvbuf. + +2006-10-25 Michael Goffioul + + * Makefile.in (XTRA_CDEFS, XTRA_CXXDEFS): Substitute here. + + * oct-procbuf.cc [_MSC_VER]: Define W32POPEN and W32PCLOSE the + same as for __MINGW32__. + (octave_procbuf::open, octave_procbuf::close) [_MSC_VER]: + Use the same code as for __MINGW32__ and __CYGWIN__. + + * oct-prcstrm.cc [_MSC_VER]: Define popen and pclose. + +2006-10-25 John W. Eaton + + * sysdep.cc (w32_set_octave_home): Correctly initialize bin_dir. + Fill it with '\0' instead of ' '. + +2006-10-24 Michael Goffioul + + * Makefile.in: Filter out $(XTRA_CXXDEFS) from $(ALL_CXXFLAGS) for + $(DLD_PICOBJ). + +2006-10-24 John W. Eaton + + * sysdep.cc (MSC_init): New function. + (sysdep_init): Call it. + (w32_set_octave_home): New function, based on code from Michael + Goffioul . + (MINGW_init): Call w32_set_octave_home here too. + +2006-10-23 John W. Eaton + + * symtab.cc (symbol_table::clear_mex_functions): New function. + * symtab.h: Provide decl. + * vriables.cc (clear_mex_functions): New function. + * variables.h Provide decl. + * toplev.cc: Call clear_mex_functions instead of delete_symbol_tables. + + * variables.cc (delete_symbol_tables): Delete. + * variables.h: Delete decl. + + * mex.cc (mex::unmark_array): New function. + (mex::persistent): Define with unmark_array. + (maybe_unmark_array): New function. + (mxArray_struct::set_field_by_number, mxArray_cell::set_cell): + Call maybe_unmark_array on val to avoid freeing val twice on exit + from mex function. + (mxFree): Call xfree, not free. + +2006-10-21 John W. Eaton + + * ov-intx.h + (OCTAVE_VALUE_INT_MATRIX_T::OCTAVE_TYPE_PREDICATE_FUNCTION, + (OCTAVE_VALUE_INT_SCALAR_T::OCTAVE_TYPE_PREDICATE_FUNCTION): + Function is now const, so it properly overloads method in base + class. + + * mex.cc (mxArray_octave_value::is_uint32): + Call val.is_uint32_type, not val.is_int32_type. + (mxArray_octave_value::is_uint64): + Call val.is_uint64_type, not val.is_int64_type. + (mxArray_octave_value::is_uint8): + Call val.is_uint8_type, not val.is_int8_type. + +2006-10-20 Paul Kienzle + + * ov-mex-fcn.h (octave_mex_function::atexit): New function. + (octave_mex_function::exit_fcn_ptr): New data member. + * ov-mex-fcn.cc (octave_mex_function::exit_fcn_ptr): New data member. + (octave_mex_function::octave_mex_function): Initialize it. + (octave_mex_function::~octave_mex_function): + If we have an exit function, call it. + +2006-10-20 John W. Eaton + + * variables.cc (delete_symbol_tables): New function. + * variables.h: Provide decl. + * toplev.cc (do_octave_atexit): Call it. + + * mex.cc (mex::mex): New arg, a pointer to the current mex function. + (mex::curr_mex_fcn): New data member. + (mex::current_mex_function): New function. + (mexAtExit): Set exit function pointer in current mex file object. + +2006-10-20 Paul Kienzle + + * mex.cc (enum callstyle): Delete enum definition. + (Fortran_mex, C_mex): Delete functions. + (call_mex): First arg is now bool. + * ov-mex-fcn.cc (call_mex): Fix decl to match new definition. + (Fortran_mex, C_mex): Delete decls. + (octave_mex_function::do_multi_index_op): Simplify call to call_mex. + +2006-10-20 John W. Eaton + + * lex.l (handle_identifier): If a command name is found, skip + starting command mode if parsing an object index. + +2006-10-20 David Bateman + + * DLD-FUNCTION/spqr.cc (dmperm_internal): New function with core + of Fdmperm. + (Fdmperm): Call dmperm_internal rather then calculating loally. + (Fsprank): New function to calculate the strutural rank also using + dmperm_internal. + +2006-10-19 John W. Eaton + + * ov-struct.cc (octave_struct::as_mxArrary): + Use OCTAVE_LOCAL_BUFFER to allocate tempoarary array of field names. + + * mxarray.h (mxArray::persistent): Delete var and all uses. + (mxArray::mark_persistent, mxArray::unmark_persistent, + mxArray::is_persistent): Delete functions. + * mex.cc (mex::function_name): Use mxArray::strsave, not strsave. + (mex::mark_array): New function. + (mex::make_value): Use it. + (mex::free_value): Return true if we found ptr in arraylist. + (mex::persistent (mxArray *)): Remove ptr from arraylist instead + of marking it as persistent. + (mxArray::malloc): Call ::malloc instead of malloc. + (mxArray::calloc): Call ::calloc instead of calloc. + (maybe_mark_array): New function. + (mxCreateCellArray, mxCreateCellMatrix, mxCreateCharArray, + mxCreateCharMatrixFromStrings, mxCreateDoubleMatrix, + mxCreateDoubleScalar, mxCreateLogicalArray, mxCreateLogicalMatrix, + mxCreateLogicalScalar, mxCreateNumericArray, + mxCreateNumericMatrix, mxCreateSparse, + mxCreateSparseLogicalMatrix, mxCreateString, mxCreateStructArray, + mxCreateStructMatrix, mxDuplicateArray): Use it. + (mxDestroyArray): No need to check persistence now. + Also delete ptr if mex_context->free_value does not. + (call_mex): No need to delete elements of argout now. + +2006-10-18 John W. Eaton + + * dynamic-ld.cc (octave_shlib_list::remove, + octave_shlib_list::do_remove, octave_mex_file_list::remove, + octave_mex_file_list::do_remove): New arg, cl_hook. + (octave_shlib_list::do_remove): Pass cl_hook to octave_shlib close + function. + (octave_dynamic_loader::do_load_oct): Don't call close on shl + directly. Pass do_clear_function to octave_shlib_list::remove. + + * mex.cc (mexUnlock): Don't warn if unlocking a function that is + not locked. + + * pt-fcn-handle.cc (tree_anon_fcn_handle::dup): + Correctly duplicate symbol table info. + +2006-10-17 Michael Goffioul + + * oct-map.h: Include . + +2006-10-16 John W. Eaton + + * oct-stream.cc (octave_stream_list::do_remove): Handle "all" as a + special case. + +2006-10-13 Michael Goffioul + + * Makefile.in: Adapt rules to use $(LIBPRE). + +2006-10-11 John W. Eaton + + * mex.h (UINT64_T, uint64_T, INT64_T, int64_T, UINT32_T, uint32_T, + INT32_T, int32_T, UINT16_T, uint16_T, INT16_T, int16_T, UINT8_T, + uint8_T, INT8_T, int8_T): Conditionally define. + From Andy Adler . + +2006-10-09 John W. Eaton + + * oct-conf.h.in (OCTAVE_CONF_CURL_LIBS): Substitute. + * toplev.cc (octave_config_info): Add CURL_LIBS to the list. + +2006-10-09 Alexander Barth + + * DLD-FUNCTIONS/urlwrite.cc: New file providing urlwrite and urlread. + +2006-10-09 John W. Eaton + + * pt-mat.cc (tree_matrix::dup): Append new elements to new matrix. + * pt-cell.cc (tree_cell::dup): Append new elements to new cell array. + +2006-10-04 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.9+. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (F__clear_plot_window__): + Rename from Fclearplot. Only clear plot window. + +2006-10-03 John W. Eaton + + * DLD-FUNCTIONS/luinc.cc (Fluinc): Avoid crash if SparseLU or + SparseComplexLU constructor fails. + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): + Delete unused variable. + +2006-10-03 David Bateman + + * Makefile.in (OCT_LINK_DEPS) Include $(CAMD_LIBS) in the list. + (octave$(EXEEXT)): Include $(CAMD_LIBS) in link command. + +2006-10-02 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.9. + (OCTAVE_API_VERSION): Now api-v22. + (OCTAVE_RELEASE_DATE): Now 2006-10-02. + + * pr-output.cc (pr_plus_format): Use "inline" instead of "static + inline" for template functions to avoid problems when not + compiling with g++. + + * mex.cc (call_mex): Delete elements of argout. + From Kai Labusch . + +2006-09-29 John W. Eaton + + * DLD-FUNCTIONS/spfind.cc (sparse_find_non_zero_elem_idx): + Leading dimension is NR, not NC. + + * Makefile.in (DEP_5): Include oct-errno.cc in the list. + +2006-09-27 John W. Eaton + + * pr-output.cc (abs): New template function. Instantiate for + unsigned types. + +2006-09-27 David Bateman + + * file-io.cc (Fsprintf): If fmt is an sq_string, return an sq_string. + + * DLD-FUNCTIONS/sparse.cc (spfind, sparse_find): Delete. + * DLD-FUNCTIONS/spfind.cc: New file implementating compatible + sparse find function. + * Makefile.in (DLD_XSRC): Add spfind.cc. + +2006-09-26 Bill Denney + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx, Ffind): + Handle direction and limit on number of elements to find. + +2006-09-26 John W. Eaton + + * error.cc (warning_1): Call error_2, not error. + +2006-09-15 John W. Eaton + + * ops.h (DEFSTRDBLCONVFN): New arg, TFROM. + * OPERATORS/op-double-conv.cc: Declare and install sq_string + conversions too. + + * ov-base-int.cc (octave_base_int_scalar::convert_to_str_internal, + octave_base_int_matrix::convert_to_str_internal): + New functions. + * ov-base-int.h: Provide decls. + +2006-09-15 S�ren Hauberg . + + * data.cc (Fsize): If nargout > ndims, fill with 1. + +2006-09-15 John W. Eaton + + * octave.cc: Fix xerbla decl. + +2006-09-13 John W. Eaton + + * DLD-FUNCTIONS/cellfun.cc: Improve error message for uniform + output case when results are not scalars. Avoid shadow decls. + +2006-09-13 David Bateman + + * ov-scalar.h (octave_scalar::sparse_matrix_value, + octave_scalar::sparse_complex_matrix_value): New extractor functions. + * ov-complex.h (octave_complex::sparse_matrix_value, + octave_complex::sparse_complex_matrix_value): Ditto. + * DLD-FUNCTIONS/spkron.cc (Fspkron): Change example in help. + +2006-09-12 David Bateman + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Allow matlab compatiable + 'UniformOutput' and 'ErrorHandler' options. Change output when + called with function handler or inline function to by default have + 'UniformOutput' set to true. Allow functions with multiple inputs + and outputs. Add test code. Replace some int with octave_idx_type. + (Fnum2cell): Replace some int with octave_idx_type. Add test code. + +2006-09-11 Yozo Hida + + * DLD-FUNCTIONS/gcd.cc (Fgcd): Extend range by using std::floor + instead of converting to int. + +2006-09-05 John W. Eaton + + * mex.cc (mxArray_sparse::as_octave_value): Cast nzmax to + octave_idx_type for sparse matrix constructors. + +2006-09-01 John W. Eaton + + * dirfns.cc: Don't handle nargout == 0 as a special case. + (octave_change_to_directory): Perform tilde expansion on directory + name here. + +2006-08-30 John W. Eaton + + * load-save.cc (get_file_format): Fix misplaced #endif. + +2006-08-29 John W. Eaton + + * load-path.cc (execute_pkg_add_or_del): + Source PKG_ADD or PKG_DEL in base workspace. + * parse.y (source_file): New optional arg, context. + * parse.h (source_file): Fix decl. + +2006-08-25 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.8+. + +2006-08-24 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.8. + (OCTAVE_API_VERSION): Now api-v21. + (OCTAVE_RELEASE_DATE): Now 2006-08-24. + +2006-08-23 John W. Eaton + + * ov.h (octave_value::save_ascii): Delete strip_nan_and_inf arg. + * ov-base.h, ov-base.cc (octave_base_value::save_ascii): Likewise. + * ov-base-int.h, ov-base-int.cc (octave_base_int_matrix::save_ascii, + octave_base_int_scalar::save_ascii, ): Likewise. + * ov-base-sparse.cc, ov-base-sparse.h + (octave_base_sparse::save_ascii): Likewise. + * ov-bool-mat.cc, ov-bool-mat.h (octave_bool_matrix::save_ascii): + Likewise. + * ov-bool.cc, ov-bool.h (octave_bool::save_ascii): Likewise. + * ov-cell.cc, ov-cell.h (octave_cell::save_ascii): Likewise. + * ov-complex.cc, ov-complex.h (octave_complex::save_ascii): Likewise. + * ov-fcn-handle.cc, ov-fcn-handle.h (octave_fcn_handle::save_ascii): + Likewise. + * ov-fcn-inline.cc, ov-fcn-inline.h (octave_fcn_inline::save_ascii): + Likewise. + * ov-list.cc, ov-list.h (octave_list::save_ascii): Likewise. + * ov-range.cc, ov-range.h (octave_range::save_ascii): Likewise. + * ov-scalar.cc, ov-scalar.h (octave_scalar::save_ascii): Likewise. + * ov-str-mat.cc, ov-str-mat.h (octave_char_matrix_str::save_ascii): + Likewise. + * ov-struct.cc, ov-struct.h (octave_struct::save_ascii): Likewise. + * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. + * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): + Likewise. + * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): + Likewise. + * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. + + * ls-oct-ascii.cc, ls-oct-ascii.h (save_ascii_data): + Delete strip_nan_and_inf arg. + (save_ascii_data_for_plotting): Delete strip_nan_and_inf arg from + call to save_ascii_data. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (handle_using): Accept "(EXPR)" + as components of using clauses. + (enum _toktype): New element DOLLAR. + Accept "$" in lexer. + + * ls-oct-ascii.cc (save_ascii_data): Delete arg strip_nan_and_inf. + Change all uses. + + * ls-oct-ascii.h (save_three_d): Provide decl. + * load-save.h (save_ascii_data_for_plotting, save_three_d): + Delete decls. + +2006-08-22 John W. Eaton + + * ov.h (octave_value::save_ascii): strip_nan_and_inf is now int, + not bool. + * ov-base.h, ov-base.cc (octave_base_value::save_ascii): Likewise. + * ov-base-int.h, ov-base-int.cc (octave_base_int_matrix::save_ascii, + octave_base_int_scalar::save_ascii, ): Likewise. + * ov-base-sparse.cc, ov-base-sparse.h + (octave_base_sparse::save_ascii): Likewise. + * ov-bool-mat.cc, ov-bool-mat.h (octave_bool_matrix::save_ascii): + Likewise. + * ov-bool.cc, ov-bool.h (octave_bool::save_ascii): Likewise. + * ov-cell.cc, ov-cell.h (octave_cell::save_ascii): Likewise. + * ov-complex.cc, ov-complex.h (octave_complex::save_ascii): Likewise. + * ov-fcn-handle.cc, ov-fcn-handle.h (octave_fcn_handle::save_ascii): + Likewise. + * ov-fcn-inline.cc, ov-fcn-inline.h (octave_fcn_inline::save_ascii): + Likewise. + * ov-list.cc, ov-list.h (octave_list::save_ascii): Likewise. + * ov-range.cc, ov-range.h (octave_range::save_ascii): Likewise. + * ov-scalar.cc, ov-scalar.h (octave_scalar::save_ascii): Likewise. + * ov-str-mat.cc, ov-str-mat.h (octave_char_matrix_str::save_ascii): + Likewise. + * ov-struct.cc, ov-struct.h (octave_struct::save_ascii): Likewise. + * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): Likewise. + * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): + Likewise. + + * ov-cx-mat.cc, ov-cx-mat.cc (octave_complex_matrix::save_ascii): + Don't strip Inf and NaN here. Call ComplexMatrix::save_ascii to + do the real work. + * ov-re-mat.cc, ov-re-mat.cc (octave_matrix::save_ascii): + Don't strip Inf and NaN here. Call Matrix::save_ascii to do the + real work. + + * ov-re-mat.cc, ov-cx-mat.cc (strip_infnan): Delete. + * ls-oct-ascii.cc, ls-oct-ascii.h (save_ascii_data): + strip_nan_and_inf is now int, not bool. + (strip_infnan): Delete. + (save_ascii_data_for_plotting): Call save_ascii_data with + strip_nan_and_inf = 2. + + * Makefile.in (INCLUDES): Remove matrix.h from the list. + +2006-08-22 David Bateman + + * sparse-xpow.cc: Replace all uses of pow by std::pow. + (elem_pow): Simplify for two sparse matrices arguments. + +2006-08-22 John W. Eaton + + * ls-oct-ascii.cc: Increase default value of save_precision to 16. + + * ls-mat-ascii.cc (save_mat5_ascii_data): Use scientific format. + +2006-08-21 John W. Eaton + + * ls-mat5.cc (read_mat5_binary_data, read_mat5_integer_data, + write_mat5_array): Unconditionally enable code for 64-bit int types. + + * ov-fcn-handle.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): + For compatibility, set class to function_handle. + +2006-08-18 John W. Eaton + + * pr-output.cc (set_real_matrix_format): Also always include space + for sign if values are int, inf, or nan. + (set_complex_format, set_complex_matrix_format): Always include + space for sign in real format, but never in imaginary format. + + * gripes.cc (gripe_logical_conversion): New function. + * gripes.h: Provide decl. + * ov.h (octave_value::bool_value, octave_value::bool_matrix_value, + octave_value::bool_array_value): New arg, warn. + * ov-base.cc, ov-base.h (octave_base_value::bool_value, + octave_base_value::bool_matrix_value, + octave_base_value::bool_array_value): Likewise. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, + OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): Likewise. + * ov-range.h (octave_range::bool_array_value): Likewise. + * ov-re-mat.cc, ov-re-mat.h (octave_matrix::bool_array_value): + Likewise. + * ov-re-sparse.cc, ov-re-sparse.h + (octave_sparse_matrix::bool_array_value): Likewise. + * ov-scalar.h (octave_scalar::bool_value, + octave_scalar::bool_array_value): Likewise. + * OPERATORS/op-bm-b.cc (oct_assignop_conv_and_assign): + Ask for warning from bool_array_value. + * OPERATORS/op-bm-bm.cc (oct_assignop_conv_and_assign): Likewise. + * ov-bool.h (octave_bool::bool_value, + octave_bool::bool_matrix_value, octave_bool::bool_array_value): + Likewise. + * ov-bool-mat.h (octave_bool_matrix::bool_matrix_value, + octave_bool_matrix::bool_array_value): Likewise. + * ov-bool-sparse.cc, ov-bool-sparse.h + (octave_sparse_bool_matrix::bool_matrix_value, + octave_sparse_bool_matrix::bool_array_value): Likewise. + +2006-08-18 Benjamin Lindner + + * ls-mat5.cc (read_mat5_tag): Declare type as int32_t, not int. + (read_mat5_binary_element): Likewise, for len and element_length. + +2006-08-18 John W. Eaton + + * load-save.h (enum load_save_format): New element, LS_MAT_ASCII_LONG. + * load-save.cc (Fload, Fsave): Make -ascii Matlab compatible. + (do_save): Handle LS_MAT_ASCII. + * ls-mat-ascii.cc (save_mat_ascii_data): New function. + * ls-mat-ascii.h: Provide decl. + +2006-08-17 John W. Eaton + + * ls-mat5.cc (save_mat5_element_length): Correctly compute element + length for character data. Handle N-d character data + (save_mat5_binary_element): Handle N-d character data. + +2006-08-16 John W. Eaton + + * parse.y (gobble_leading_white_space): New arg, SKIP_CODE. + Change all uses. + +2006-08-15 John W. Eaton + + * help.cc (help_from_file): Call get_help_from_file with new file + arg. Print file info here. + + * parse.y (get_help_from_file): Delete include_file_info arg. + Provide two versions, one that returns the file found in a + reference arg and one that does not. + + * variables.cc (do_isglobal): New function. + (Fisglobal): Use it. + (Fis_global): New function. + +2006-08-14 John W. Eaton + + * variables.cc (symbol_record_name_compare): Fix casts. + + * ov-cell.cc (octave_cell::subsasgn): Call empty_conv for 0x0 + objects, not just empty objects. + + * oct-map.h (Octave_map::clear): Also clear key_list. + + * load-path.cc (load_path::find_dir_info, load_path::do_add, + load_path::do_remove): Perform tilde expansion on directory here. + +2006-07-29 John W. Eaton + + * matrix.h: Delete to avoid conflict with liboctave/Matrix.h on + case-insensitive filesystems. + + * version.h (OCTAVE_VERSION): Now 2.9.7+. + +2006-07-28 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.7. + (OCTAVE_API_VERSION): Now api-v20. + (OCTAVE_RELEASE_DATE): Now 2006-07-28. + + * load-path.cc (path::do_add): Warn for trailing "//". + + * strfns.cc: Comment out some tests for snapshot. + +2006-07-27 John W. Eaton + + * defaults.cc (Vlocal_api_arch_lib_dir): New variable. + (set_default_local_api_arch_lib_dir): New function. + (install_defaults): Call it. + (set_exec_path): Put Vlocal_api_arch_lib_dir in the list. + * toplev.cc (localapiarchlibdir): Include it in the list. + * defaults.h.in (OCTAVE_LOCALAPIARCHLIBDIR): Substitute here. + +2006-07-26 John W. Eaton + + * mex.cc (mxArray::as_octave_value (mxArray *)): New static function. + (call_mex, mexPutVariable, mexCallMATLAB, + mxArray_cell::as_octave_value, mxArray_struct::as_octave_value): + Use static version of as_octave_value here. + (mxArray_sparse::mxArray_sparse (const mxArray_sparse&)): + Check pr, ir, and jc before calling memcpy. + (mxArray_number::mxArray_number): Check pr before calling memcpy + + * mxarray.h (mxArray::as_octave_value (mxArray *)): Provide decl. + (mxArray::as_octave_value): Now protected. + + * file-io.cc (Ffeof, Fferror): Use DEFUNX instead of DEFUN. + + * mex.cc (xfree): New function. + (mex::free): Use it. + (mxArray_struct::~mxArray_struct, mxArray_cell::~mxArray_cell): + Delete elements with delete, not mxDestroyArray. + (mex::cleanup): Don't call mex::free or mex::free_value. + (mex::free_value): Add debug warning. + (mex::mark, mex::unmark): Fix debug warning. + (call_mex): Use unwind_protect frame. + (mexUnlock): Use iterator to remove item from mex_lock_count. + + * octave.cc (maximum_braindamage): Use disable_warning instead of + bind_internal_variable to disable function-name-clash warning. + * error.cc (disable_warning): No longer static. + * error.h: Provide decl. + +2006-07-25 David Bateman + + * mex.cc (mxArray_octave_value::get_class_id): Handle sparse. + (class mxArray_sparse): Derive from mxArray_matlab, not + mxArray_number. + (mxArray_sparse::as_octave_value): Implement function. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::as_mxArray): + Implement function. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray): + Implement function. + * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray): + Implement function. + +2006-07-25 John W. Eaton + + * mex.cc (mxArray_struct::as_octave_value, call_mex, + mexCallMATLAB, mxArray_cell::as_octave_value): + Convert NULL mxArray* pointers to empty matrix values. + (mxArray_octave_value:get_ir): Fix typo. + +2006-07-22 John W. Eaton + + * mxarray.h: New file. + * mex.h, mexproto.h, mex.cc: New implementation of mxArray and MEX + interface. + + * ov.h (octave_value::mex_get_ir, octave_value::mex_get_jc): + New functions. + * ov-base.h (octave_base_value::mex_get_ir, + octave_base_value::mex_get_jc): New virtual functions. + * ov-base-sparse.h (octave_base_sparse::mex_get_ir, + octave_base_sparse::mex_get_jc): New functions. + + * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::as_mxArray, + OCTAVE_VALUE_INT_MATRIX_T::as_mxArray): New functions. + * ov-int8.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-uint8.h, + ov-uint16.h, ov-uint32.h, ov-uint64.h: Define OCTAVE_INT_MX_CLASS + before including ov-intx.h. Undef it after. + * ov-range.cc (octave_range::as_mxArray): New function. + * ov-range.h: Provide decl. + * ov-scalar.cc (octave_scalar::as_mxArray): New function. + * ov-scalar.h: Provide decl. + * ov-complex.cc (octave_complex::as_mxArray): New function. + * ov-complex.h: Provide decl. + * ov-re-mat.cc (octave_matrix::as_mxArray): New function. + * ov-re-mat.h: Provide decl. + * ov-cx-mat.cc (octave_complex_matrix::as_mxArray): New function. + * ov-cx-mat.h: Provide decl. + * ov-ch-mat.cc (octave_char_matrix::as_mxArray): New function. + * ov-ch-mat.h: Provide decl. + * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): New function. + * ov-bool-mat.h: Provide decl. + * ov-bool.cc (octave_bool::as_mxArray): New function. + * ov-bool.h: Provide decl. + + * ov-struct.h (octave_struct::numel): New function. + + * ls-mat5.cc (arrayclasstype): Use "MAT_FILE_" instead of "mx" as + prefix for element names. + + * ov.h (octave_value::as_mxArray): New function. + * ov-base.cc (octave_base_value::as_mxArray): New function. + * ov-base.h: Provide decl. + + * ov.h (octave_value::mex_get_data): New function. + * ov-base.h (octave_base_value::mex_get_data): New function. + * ov-base-scalar.h (octave_base_scalar::mex_get_data): New function. + * ov-base-matrix.h (octave_base_matrix::mex_get_data): New function. + * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::mex_get_data): New function. + + * ov.h (octave_value::nfields): New function. + * ov-base.cc (octave_base_value::nfields): New virtual function. + * ov-base.h: Provide decl. + * ov-struct.h (octave_struct::nfields): New function. + +2006-07-19 John W. Eaton + + * OPERATORS/op-bm-bm.cc (oct_assignop_conv_and_assign): New function. + (install_bm_bm_ops): Install it for various types. + * OPERATORS/op-bm-b.cc (oct_assignop_conv_and_assign): New function. + (install_bm_b_ops): Install it for various types. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, + OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): New functions. + * ov-range.h (octave_range::bool_array_value): New function. + * ov-re-sparse.cc (octave_sparse_matrix::bool_array_value): + New function. + * ov-re-sparse.h: Provide decl. + * ov-re-mat.cc (octave_matrix::bool_array_value): New function. + * ov-re-mat.h: Provide decl. + + * ov-base.cc (octave_base_value::numeric_assign): + Avoid memory leak when converting LHS. + +2006-07-18 John W. Eaton + + * ov.h (octave_value::is_int8_type, octave_value::is_int16_type, + octave_value::is_int32_type, octave_value::is_int64_type, + octave_value::is_uint8_type, octave_value::is_uint16_type, + octave_value::is_uint32_type, octave_value::is_uint64_type): + New functions. + * ov-base.h (octave_base_value::is_int8_type, + octave_base_value::is_int16_type, + octave_base_value::is_int32_type, + octave_base_value::is_int64_type, + octave_base_value::is_uint8_type, + octave_base_value::is_uint16_type, + octave_base_value::is_uint32_type, + octave_base_value::is_uint64_type): New functions. + * ov-int8.h, ov-int16.h, ov-int32.h, ov-int16.h, ov-uint8.h, + ov-uint16.h, ov-uint32.h, ov-uint16.h: Define OCTAVE_BASE_INT_T. + * ov-intx.h: Use OCTAVE_BASE_INT_T to define type-specific predicate. + + * ov.h (octave_value::is_double_type, octave_value::is_single_type): + New functions. + * ov-base.h (octave_base_value::is_double_type, + octave_base_value::is_single_type): New functions. + * ov-re-mat.h (octave_matrix::is_double_type): New function. + * ov-cx-mat.h (octave_matrix::is_double_type): New function. + * ov-scalar.h (octave_scalar::is_double_type): New function. + * ov-complex.h (octave_complex::is_double_type): New function. + * ov-range.h (octave_range::is_double_type): New function. + * ov-re-sparse.h (octave_sparse_matrix::is_double_type): New function. + * ov-cx-sparse.h (octave_sparse_complex_matrix::is_double_type): + New function. + +2006-07-15 John W. Eaton + + * ov-typeinfo.cc: Also instantiate arrays of assignany_ops. + + * oct-errno.cc.in (octave_errno::octave_errno): VALUE field in + errno_struct no longer const. + + * DLD-FUNCTIONS/dispatch.cc (octave_dispatch::do_index_op): + Declare resize_ok arg as bool, not int. + Provide default value for resize_ok. + +2006-07-14 John W. Eaton + + * oct-stream.cc (do_write): Include explicit instantiations. + + * ov-str-mat.h (octave_char_matrix_sq_str::resize): + Include fill arg to match base class. + * ov-struct.h (octave_struct::resize): Likewise. + + * ov-base-mat.cc, ov-base-mat.h, ov-base-sparse.cc, + ov-base-sparse.h, ov-base.cc, ov-base.h, ov-bool.cc, + ov-bool.h, ov-complex.cc, ov-complex.h, ov-intx.h, ov-list.cc, + ov-list.h, ov-range.cc, ov-range.h, ov-scalar.cc, ov-scalar.h, + ov-str-mat.cc, ov-str-mat.h, ov.h (do_index_op): + Declare resize_ok arg as bool, not int. + Provide default value for resize_ok. + + * c-file-ptr-stream.h (c_file_ptr_stream::c_file_ptr_stream): + Qualify init. + +2006-07-13 John W. Eaton + + * oct-map.h (Octave_map::del): Add missing std:: qualifier to use + of find template. + +2006-07-07 John W. Eaton + + * ov.h (octave_value::is_bool_scalar): New function. + * ov-base.h (octave_base_value::is_bool_scalar): New function. + * ov-bool.h (octave_bool::is_bool_scalar): New function. + + * oct-map.cc (Octave_map::keys): Use assert. + (Octave_map::assign): Avoid inserting new key in map unless + assignment to cell succeeds. + + * oct-map.h (Octave_map::del): Only touch key_list if map contains key. + Assert that key_list contains key. + + * oct-map.h (Octave_map::maybe_add_to_key_list): For efficiency, + check map, not key_list. From Paul Kienzle . + +2006-07-06 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Declare mrowsc volatile. + + * ov-struct.cc (octave_struct::print_raw): Print keys in key_list + order. + + * oct-map.h (Octave_map::key_list): New data member. + (Octave_map::maybe_add_to_key_list): New function. + (Octave_map::key_list_iterator, Octave_map::const_key_list_iterator): + New typedefs. + (Octave_map::del): Also delete key from key_list. + * oct-map.cc (Octave_map::keys): Compute return value from + key_list instead of map. + (Octave_map::assign, Octave_map::contents): Call maybe_add_to_key_list. + * oct-map.h, oct-map.cc (Octave_map::Octave_map): + Insert keys in key_list. + + * oct-map.h (Octave_map::Octave_map (const dim_vector&, + const string_vector&)): New arg, key_list_arg. + * oct-map.cc: Move definition here. + +2006-07-05 John W. Eaton + + * mex.cc (mexGetVariable): Rename from mexGetArray, swap arguments. + (mexGetVariablePtr): Rename from mexGetArrayPtr, swap arguments. + (mexErrMsgIdAndTxt, mexWarnMsgIdAndTxt): New functions. + * mexproto.h: Provide decls. + Include decls for as yet unsupported functions. + * mex.h: Add enum for class ids. + (mexGetArray): Define using mexGetVariable. + (mexGetArrayPtr): Define using mexGetVariablePtr. + +2006-07-02 John W. Eaton + + * ov-str-mat.cc (CHAR_MATRIX_CONV): Omit "warn-" from label. + * parse.y (maybe_warn_variable_switch_label): Likewise. + +2006-07-01 John W. Eaton + + * parse.y (finish_cell): Use finish_matrix to do constant folding. + +2006-06-30 John W. Eaton + + * ov-base.cc (octave_base_value::numeric_assign): + Avoid memory leak when converting LHS. + + * oct-hist.cc (do_history, initialize_history, Fhistory_file): + Don't perform tilde expansion on history file name. + + * syscalls.cc (Flstat, Fstat): Don't perform tilde expansion on arg. + * input.cc (Fread_readline_init_file): Likewise. + * dirfns.cc (Fcd, Freaddir): Likewise. + + * load-path.cc (genpath): Don't perform tilde expansion on name. + (load_path::do_add): Don't warn about moving "." to front of list. + +2006-06-28 John W. Eaton + + * load-path.cc (Faddpath): Don't treat "." specially here. + Don't check directory status here. + (Fpath): Handle all args. Don't treat "." specially here. + (Faddpath, Frmpath): Delete unused variable xpath. + (load_path::do_add): New function. + (load_path::do_prepend, load_path::do_append): Use it. + (load_path::do_remove): Really prevent removal of ".". + (load_path::do_clear): Clearing doesn't remove ".". + (load_path::append, load_path::prepend, load_path::do_append, + load_path::do_prepend): New arg, warn. + + * load-path.h: Fix decls. + + * DLD-FUNCTIONS/regexp.cc (octregexp_list): + Avoid bug in older versions of g++. + +2006-06-27 John W. Eaton + + * Makefile.in (clean): Also remove $(DLD_OBJ). + + * sighandlers.cc (install_signal_handlers): Don't handle SIGPROF. + From Geoffrey Knauth . + +2006-06-25 John W. Eaton + + * mk-pkg-add: Avoid apparently non-portable sed patterns. + +2006-06-21 John W. Eaton + + * variables.cc (do_who): Handle mex. + + * symtab.cc (SYMBOL_DEF::type_as_string, SYMBOL_DEF::which, + symbol_table::clear_functions, table::clear_function, + symbol_table::clear_function_pattern): + Handle mex. + * symtab.h (symbol_record::is_mex_function, + symbol_record::symbol_def::is_mex_function): New functions. + (symbol_record::TYPE): New value, MEX_FUNCTION. + (symbol_record::is_function, symbol_table::user_function_name_list, + SYMTAB_ALL_TYPES): Handle MEX_FUNCTION. + + * ov-fcn.h (octave_function::octave_function): + Provide default for doc string arg. + + * defun.cc (install_mex_function): New function. + * defun-int.h: Provide decl. + + * ov-builtin.cc (any_arg_is_magic_colon): Delete. + (octave_builtin::do_multi_index_op): Call has_magic_colon method + for args instead of any_arg_is_magic_colon. + + * ov-base.h (octave_base_value::is_mex_function): New function. + * ov.h (octave_value::is_mex_function): New function. + + * ov-mex-fcn.h, ov-mex-fcn.cc: New files. + + * parse.y (load_fcn_from_file): Also handle .mex files. + + * dynamic-ld.cc (octave_dynamic_loader::load_oct): Rename from load. + (octave_dynamic_loader::do_load_oct): Rename from do_load. + * dynamic-ld.h: Fix decls. + + * utils.cc (mex_file_in_path): New function. + * utils.h: Provide decl. + + * variables.cc (symbol_out_of_date): Also handle mex files. + + * load-path.cc (load_path::dir_info::get_file_list, + load_path::dir_info::get_private_function_map, + load_path::do_find_fcn, load_path::add_to_fcn_map, + load_path::do_display): Also handle mex files. + * load-path.h (load_path::find_mex_file): New static function. + (load_path::MEX_FILE): New static data member. + (load_path::do_find_fcn): By default, also look for mex files. + + * matrix.h, mex.h, mex.cc: New files from Octave Forge + * mexproto.h: New file, extracted from mex.h. + * Makefile.in: Add them to the appropriate lists. + +2006-06-20 John W. Eaton + + * ov-re-mat.cc (octave_matrix::convert_to_str_internal): + Don't lose empty dimensions on conversion to char. + + * strfns.cc (Fstrcmp): Handle comparison of cellstr and empty string. + +2006-06-16 John W. Eaton + + * parse.y (%union): New type, anon_fcn_handle_type. + (anon_fcn_handle): Now anon_fcn_handle_type, not tree_constant_type. + (make_anon_fcn_handle): Return tree_anon_fcn_handle, not tree_constant. + + * comment-list.cc (octave_comment_list::dup): New function. + * comment-list.h: Provide decl. + + * pt-cmd.cc (tree_no_op_command::dup): New function. + * pt-cmd.h: Provide decl. + (tree_command::dup): New pure virtual function. + + * pt-loop.cc (tree_while_command::dup, tree_do_until_command::dup, + tree_simple_for_command::dup, tree_complex_for_command::dup): + New functions. + * pt-loop.h: Provide decls. + + * pt-jump.cc (tree_break_command::dup, tree_continue_command::dup, + tree_return_command::dup): New functions. + * pt-jump.h: Provide decls. + + * pt-except.cc (tree_try_catch_command::dup, + tree_unwind_protect_command::dup): New functions. + * pt-except.h: Provide decls. + + * pt-select.cc (tree_if_clause::dup, tree_if_command_list::dup, + tree_if_command::dup, tree_switch_case::dup, + tree_switch_case_list::dup, tree_switch_command::dup): + New functions. + * pt-select.h: Provide decls. + + * pt-decl.cc (tree_decl_elt::dup, tree_decl_init_list::dup, + tree_global_command::dup, tree_static_command::dup): New functions. + * pt-decl.h: Provide decls. + + * pt-exp.h (tree_expression::copy_base): New function. + (tree_expression::dup): New pure virtual function. + + * pt-fcn-handle.cc, pt-fcn-handle.h (tree_anon_fcn_handle): New class. + + * pt-fcn-handle.cc (tree_function_handle::dup): New function. + * pt-fcn-handle.h: Provide decl. + + * pt-colon.cc (tree_colon_expression::dup): New function. + * pt-colon.h: Provide decl. + (tree_colon_expression::tree_colon_expression (tree_expression *, + tree_expression *, tree_expression *, int, int)): New constructor. + + * pt-const.cc (tree_constant::dup): New function. + (tree_constant::tree_constant (const octave_value&, const + std::string&, int, int)): New constructor. + * pt-const.h: Provide decls. + + * pt-idx.cc (tree_index_expression::dup): New functoin. + (tree_index_expression::tree_index_expression (int, int)): + New constructor. + * pt-idx.h: Provide decls. + + * pt-arg-list.cc (tree_argument_list::dup): New function. + * pt-arg-list.h: Provide decl. + + * pt-id.cc (tree_identifier::dup): New function. + * pt-id.h: Provide decl. + + * pt-cell.cc (tree_cell::dup): New function. + * pt-cell.h: Provide decl. + + * pt-mat.cc (tree_matrix::dup): New function. + * pt-mat.h: Provide decl. + + * pt-assign.cc (tree_simple_assignment::dup, + tree_multi_assignment::dup): New functions. + * pt-assign.h: Provide decls. + + * pt-binop.cc (tree_binary_expression::dup, + tree_boolean_expression::dup): New functions. + * pt-binop.h: Provide decls. + + * pt-unop.cc (tree_prefix_expression::dup, + tree_postfix_expression::dup): New functions. + * pt-unop.h: Provide decls. + + * pt-stmt.cc (tree_statement::dup, tree_statement_list::dup): + New functions. + * pt-stmt.h: Provide decls. + + * pt-misc.cc (tree_parameter_list::dup, + tree_return_list::dup): New functions. + * pt-misc.h: Provide decls. + + * symtab.cc (symbol_table::dup, symbol_table::inherit, + symbol_record:is_automatic_variable): New functions. + * symtab.h: Provide decls. + (symbol_record::automatic_variable): New data member. + (symbol_record::symbol_record): Initialize it. + (symbol_record::mark_as_automatic_variable): New function. + + * pt-walk.h (tree_walker::visit_anon_fcn_handle): + New pure virtual function. + * pt-pr-code.cc (tree_print_code::visit_anon_fcn_handle): New function. + * pt-pr-code.h: Provide decl. + * pt-bp.cc (tree_breakpoint::visit_anon_fcn_handle): New function. + * pt-bp.h: Provide decl. + * pt-check.cc (tree_checker::visit_anon_fcn_handle): New function. + * pt-check.h: Provide decl. + +2006-06-13 John W. Eaton + + * pt-stmt.cc (tree_statement_list::eval): Revise previous change + to preserve return-last-value-computed semantics. + + * DLD-FUNCTIONS/fsolve.cc (hybrd_info_to_fsolve_info): + Warn about invalid values of INFO from MINPACK instead of calling + panic_impossible. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Don't assign values returned by evaluation of cmd_list to + temporary variable. Delete unused variable last_computed_value. + + * pt-stmt.cc (tree_statement_list::eval): + Clear retval before each statement is evaluated. + +2006-06-12 John W. Eaton + + * unwind-prot.h (unwind_protect_fptr): New macro. + * load-path.cc (load_path::do_set): Use it instead of + unwind_protect_ptr when protecting add_hook function pointer. + * dynamic-ld.cc (octave_dynamic_loader::do_load): Use FCN_PTR_CAST + here instead of reinterpret_cast. + +2006-06-09 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.6+. + +2006-06-09 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.6. + (OCTAVE_API_VERSION): Now api-v19. + (OCTAVE_RELEASE_DATE): Now 2006-06-09. + + * ov-cell.cc (cell::save_hdf5): Use leading zeros to keep elements + correctly sorted in the HDF file. + From Stephen Fegan . + +2006-06-08 John W. Eaton + + * ov-usr-fcn.cc (function::do_multi_index_op): Append contents of + varargout to ret_list before calling convert_to_const_vector. + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + No need to handle all_va_args here. + + * ov-va-args.h, ov-va-args.cc: Delete files. + * Makefile.in (OV_INCLUDES, OV_SRC): Delete from the lists. + + * ov.cc (install_types): Don't register octave_all_va_args type. + * ov.h, ov.cc (octave_value::octave_value (octave_value::all_va_args)): + Delete. + * ov.h (octave_value::is_all_va_args): Delete. + (octave_value::enum all_va_args): Delete. + + * pt-pr-code.cc (tree_print_code::visit_octave_user_function_header): + Print "varargout" and "varargin" instead of "...". + + * pt-misc.h, pt-misc.cc (tree_parameter_list::convert_to_const_vector): + Arg is now const Cell& instead of tree_va_return_list*. + + * ov-usr-fcn.h, ov-usr-fcn.cc (octave_user_function::vr_list, + octave_user_function::curr_va_arg_number): + Delete variables and all uses. + (octave_function::octave_va_start, octave_function::octave_va_arg, + octave_function::octave_vr_val, octave_function::has_varargout): + Delete functions and all uses. + + * ov-fcn.h (octave_function::octave_va_start, + octave_function::octave_va_arg, octave_function::octave_vr_val, + octave_function::has_varargout): Delete. + + * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Delete. + + * lex.l ({EL}): Don't handle "..." as varargin or varargout. + * octave.gperf (all_va_args, ALL_VA_ARGS, all_va_args_kw): Delete. + * parse.y (ALL_VA_ARGS): Delete token and all uses. + + * defaults.h.in (OCTAVE_DATAROOTDIR): Substitute here. + * toplev.cc (octave_config_info): Add datarootdir to the struct. + +2006-06-07 John W. Eaton + + * ov-cell.cc (octave_cell::subsasgn): Handle c-s list object on + RHS if last index is '{'. + * pt-assign.cc (tree_multi_assignment::rvalue): Compute all LHS + lvalues before evaluating RHS. If LHS lvalue expects more than + one output, pass octave_cs_list object to assign method. + * pt-idx.cc (tree_index_expression::lvalue): Compute expected + number of values if '{' index appears last. + * pt-arg-list.cc (tree_argument_list::lvalue_list): New function. + * pt-arg-list.h (tree_argument_list::lvalue_list): Provide decl. + * oct-lvalue.h (octave_lvalue::nel): New data member. + (octave_lvalue::numel): New functions + * oct-obj.cc (octave_value_list::has_magic_colon): New function. + * oct-obj.h (octave_value_list::has_magic_colon): Provide decl. + * pt-arg-list.cc (tree_argument_list::nargout_count): Delete function. + * pt-arg-list.h (tree_argument_list::nargout_count): Delete decl. + +2006-06-06 John W. Eaton + + * sighandlers.cc (generic_sig_handler, sigint_handler): + Use strsignal instead of accessing sys_siglist directly. + * siglist.h: Use HAVE_DECL_SYS_SIGLIST instead of SYS_SIGLIST_DECLARED. + * siglist.c: Update sys_siglist. + (init_signals, strsignal): New functions. + * octave.cc (octave_main): Call init_signals here. + + * toplev.cc (Foctave_config_info): Delete LIBPLPLOT from struct. + +2006-06-05 John W. Eaton + + * pt-assign.cc (Vprint_rhs_assign_val): Delete variable. + (Fprint_rhs_assign_val): Delete function. + tree_simple_assignment::rvalue, tree_multi_assignment::rvalue): + No special case for Vprint_rhs_assign_val. + +2006-06-02 John W. Eaton + + * pt-arg-list.h (tree_argument_list::mark_as_simple_assign_lhs, + tree_argument_list::is_simple_assign_lhs): New functions. + (tree_argument_list::simple_assign_lhs): New data member. + * parse.y (assign_lhs): Classify LHS here. + (make_assign_op): Create simple or multi assign op based on + classification of LHS, not its length. + +2006-06-01 John W. Eaton + + * Makefile.in (DLD_XSRC): Add __pchip_deriv__.cc to the list. + +2006-06-01 David Bateman + + * DLD-FUNCTIONS/__pchip_deriv__.cc: New file. + +2006-05-31 John W. Eaton + + * load-path.h (load_path::set_command_line_path): Make it + additive. + +2006-05-26 John W. Eaton + + * load-path.cc (genpath, maybe_add_path_elts, Fgenpath, Frehash, + Fpath, Fpathdef): Move here from defaults.cc. + * load-path.cc, load-path.h: New files. + * Makefile.in (INCLUDES, DIST_SRC): Add them to the lists. + * help.cc (make_name_list, simple_help): Use load_path instead of + octave_fcn_file_name_cache. + (Flookfor): Use load_path instead of Vload_path_dir_path. + * octave.cc (octave_main): Likewise. + * parse.y (load_fcn_from_file): Likewise. + * utils.cc (Ffile_in_loadpath, file_in_path, fcn_file_in_path, + oct_file_in_path): Likewise. + * variables.cc (symbol_exist, symbol_out_of_date): Likewise. + * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Likewise. + * utils.cc (Ffind_first_of_in_loadpath): Delete. + * input.cc (octave_gets): Call load_path::update here. + * dirfns.cc (octave_change_to_directory): Likewise. + * defaults.cc (VLOADPATH, VDEFAULT_LOADPATH, Vload_path_dir_path, + maybe_add_or_del_packages, update_load_path_dir_path, + execute_default_pkg_add_files, set_load_path): Delete. + * defaults.h.in (Vload_path_dir_path, + execute_default_pkg_add_files, maybe_add_default_load_path, + set_load_path): Delete decls. + + * fn-cache.h, fn-cache.cc: Delete. + * Makefile.in (INCLUDES, DIST_SRC): Remove them from the lists. + + * input.cc (octave_gets): Only update Vlast_prompt_time if we are + interactive and actually printing a prompt. Don't print prompt if + reading startup files or command line files. Initialize + Vlast_prompt_time to 0. + + * pr-output.cc (set_format): Always include space for sign. + +2006-05-23 John W. Eaton + + * load-save.cc (Fsave): Use tellp instead of pubseekoff to + determine whether we are at beginning of file. + + * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::increment, + OCTAVE_VALUE_INT_SCALAR_T::decrement, + OCTAVE_VALUE_INT_MATRIX_T::increment, + OCTAVE_VALUE_INT_MATRIX_T::decrement): New functions. + * OPERATORS/op-int.h (OCTAVE_INSTALL_M_INT_UNOPS, + OCTAVE_INSTALL_S_INT_UNOPS, OCTAVE_M_INT_UNOPS, + OCTAVE_S_INT_UNOPS): Uncomment increment and decrement ops. + +2006-05-19 John W. Eaton + + * symtab.cc (SYMBOL_DEF::document): If definition is a function, + also pass doc string to function object. + * ov-fcn.h (octave_function::document): New function. + * defun.cc (print_usage (octave_function *)): New function. + (print_usage (void)): New function. + (print_usage (const std::string&)): Provide for backward + compatibility. Ignore arg. + (Fprint_usage): Don't accept arg. + * defun-int.h (print_usage (void)): Provide decl. + (print_usage (const std::string&)): Tag with GCC_ATTR_DEPRECATED. + +2006-05-04 David Bateman + + * DLD-FUNCTIONS/conv2.cc: New file from Octave Forge. + * Makefile.in (DLD_XSRC): Add it to the list + +2006-05-17 Bill Denney + + * help.cc (keywords): Improve and Texinfoize. + +2006-05-17 John W. Eaton + + * symtab.cc (Vwhos_line_format): Show class instead of type. + (symbol_table::parse_whos_line_format): + Use 't' for "Type" and 'c' for "Class". + (symbol_record::print_symbol_info_line): Likewise. + (maybe_list_cmp_fcn): Fix casts. + +2006-05-11 John W. Eaton + + * octave.cc (IMAGE_PATH_OPTION): New macro. + (usage_string, verbose_usage): Include --image-path option. + (long_opts): Include --image-path. + (octave_main): Handle IMAGE_PATH_OPTION. + + * toplev.cc (Foctave_config_info): Delete fcnfilepath, imagepath, + localfcnfilepath, and localoctfilepath from the struct. + * defaults.h.in (OCTAVE_FCNFILEPATH, OCTAVE_IMAGEPATH, + OCTAVE_LOCALFCNFILEPATH, OCTAVE_LOCALOCTFILEPATH): Delete variables. + + * octave.cc (octave_main): Call set_exec_path and set_load_path + instead of bind_internal_variable. + + * defaults.cc (Fpathdef): Rename from FDEFAULT_LOADPATH. + Don't allow default path to be set. + (Fpath): Rename from FLOADPATH. Make Matlab-compatible. + (update_load_path_dir_path): No need to pass VDEFAULT_LOADPATH to + dir_path constructor now. + (update_exec_path, FDEFAULT_EXEC_PATH, + set_default_default_exec_path, set_default_exec_path, + maybe_add_default_load_path): Delete functions. + (VDEFAULT_EXEC_PATH): Delete variable. + (FEXEC_PATH): Leading and trailing colons no longer special. + (set_exec_path, set_load_path, set_image_path, + maybe_add_path_elts): New functions. + (install_defaults): Call set_exec_path and set_load_path instead + of set_default_exec_path and set_default_path. Don't call + set_default_default_exec_path. Do call set_image_path. + * defaults.cc (genpath, Fgenpath): New functions. + (Vlocal_ver_oct_file_dir, Vlocal_api_oct_file_dir, + Vlocal_oct_file_dir, Vlocal_ver_fcn_file_dir, + Vlocal_api_fcn_file_dir, Vlocal_fcn_file_dir, Vimage_dir): + New variables. + (set_default_local_ver_oct_file_dir, + set_default_local_api_oct_file_dir, + set_default_local_oct_file_dir, + set_default_local_ver_fcn_file_dir, + set_default_local_api_fcn_file_dir, + set_default_local_fcn_file_dir, set_default_image_dir): + New functions. + (install_defaults): Call them. + * defaults.h.in (set_exec_path, set_load_path, set_image_path, + Vlocal_ver_oct_file_dir, Vlocal_api_oct_file_dir, + Vlocal_oct_file_dir, Vlocal_ver_fcn_file_dir, + Vlocal_api_fcn_file_dir, Vlocal_fcn_file_dir, + Vlocal_fcn_file_dir, Vimage_dir): Provide decls. + +2006-05-10 John W. Eaton + + * ov-cell.cc (Fcellstr): Trim trailing blanks. + * Cell.h (Cell::Cell (const string_vector&)): New arg, TRIM. + + * oct-hist.cc (initialize_history, Fhistory_size): + Also call command_history::set_size here. + + * defun.cc (Fprint_usage): New function. + * help.cc (display_usage_text): New function. + +2006-05-09 Keith Goodman + + * DLD-FUNCTIONS/rand.cc: Doc string fix. + +2006-05-09 Jorge Barros de Abreu + + * data.cc (FInf, FNaN): Fix typo in doc string. + +2006-05-08 John W. Eaton + + * Makefile.in (DEFUN_PATTERN): Match DEFUNX_DLD. + * mkbuiltins: Handle XDEFUNX_DLD_INTERNAL. + * mkgendoc: Likewise. + * mk-pkg-add: Likewise. Do all the matching with sed. + * defun-int.h (DEFINE_FUNX_INSTALLER_FUN, DEFINE_FUNX_INSTALLER_FUN2, + DEFINE_FUNX_INSTALLER_FUN3): New macros. + (DEFINE_FUN_INSTALLER_FUN3): Define using DEFINE_FUNX_INSTALLER_FUN3. + (DEFUNX_DLD_INTERNAL): New macro. + * defun-dld.h (DEFUNX_DLD): New macro. + + * DLD-FUNCTIONS/__gnuplot_raw__.l: Mark __gnuplot_set__ as a + command, not a rawcommand. + + * load-save.cc: No need to handle built-in variables. + * help.cc (simple_help): No need to handle built-in variables. + + * variables.cc (is_builtin_variable, builtin_string_variable, + builtin_real_scalar_variable, builtin_any_variable): + Delete functions. + (Fexist, Fdocument, do_who, Fwho, link_to_builtin_or_function): + No need to handle built-in variables. + * variables.h (is_builtin_variable, builtin_string_variable, + builtin_real_scalar_variable, builtin_any_variable): Delete decls. + + * symtab.h (symbol_record::symbol_def::is_builtin_variable, + symbol_record::is_builtin_variable): Delete. + (symbol_record::TYPE): Remove BUILTIN_VARIABLE from enum. + (symbol_record::symbol_def::is_variable, SYMTAB_ALL_TYPES, + SYMTAB_VARIABLES): No need to handle built-in variables now. + (symbol_record::define_builtin_variable, + symbol_record::link_to_builtin_variable): Delete decls. + * symtab.cc (record::define, SYMBOL_DEF::type, + SYMBOL_DEF::type_as_string): No need to handle built-in variables. + (symbol_record::define_builtin_variable): Delete. + (symbol_record::variable_reference): No need to attemp to link to + built-in variable. + + * utils.cc (check_preference, warn_old_style_preference): Delete. + * utils.h (check_preference): Delete decl. + + * defun-int.h: Delete all DEFVAR macros. + + * Makefile.in, mkbuiltins: No need for VAR_FILES. + + * parse.y (current_script_file_name): Delete all uses. + (clear_current_script_file_name): Delete function. + + * variables.cc (symbols_of_variables): Delete DEFVAR and function. + (bind_ans): Lookup ans in curr_sym_tab, not fbi_sym_tab. + SR is no longer static, so we insert value in local scope. + + * defun.cc (bind_builtin_variable): Delete function. + * defun-int.h: Delete decl. + + * defaults.cc (fftw_wisdom_program): Rename from fftw_wisdom_prog. + Change all uses. + (VDEFAULT_LOADPATH): Rename from Vdefault_load_path. Change all uses. + (VLOADPATH): Rename from Vload_path. Change all uses. + (VDEFAULT_EXECPATH): Rename from Vdefault_exec_path. Change all uses. + (VEXECPATH): Rename from Vexec_path. Change all uses. + (VEDITOR): Rename from Veditor. Change all uses. + (Ffftw_wisdom_program, FDEFAULT_LOADPATH, FLOADPATH, + FDEFAULT_EXEC_PATH, FEXEC_PATH, FEDITOR, FIMAGEPATH): New functions. + (fftw_wisdom_program, default_load_path, loadpath, + default_exec_path, exec_path, editor, image_path): Delete functions. + (symbols_of_defaults): Delete DEFVARs and function. + + * pr-output.cc (set_output_prec_and_fw): Set Voutput_precision and + Voutput_max_field_width directly instead of calling + bind_builtin_variable. + + * octave.cc (octave_main, maximum_braindamage): + Call bind_internal_variable instead of bind_builtin_variable. + + * pager.cc (Fmore): Set Vpage_screen_output directly instead of + calling bind_builtin_variable. + + * error.cc (Fwarning): Set Vdebug_on_warning directly instead of + calling bind_builtin_variable. + + * error.cc (initialize_warning_options): Now static. + (disable_warning, initialize_default_warning_state): New functions. + + * error.h (initialize_warning_options): Delete decl. + (initialize_default_warning_state): Provide decl. + * octave.cc (octave_main): Call initialize_default_warning_state + instead initialize_warning_options. + + * lex.l (warn_matlab_incompatible, warn_separator_insert, + warn_single_quote_string): Delete functions. + (symbols_of_lex): Delete DEFVARS. + (Vwarn_matlab_incompatible, Vwarn_separator_insert, + Vwarn_single_quote_string): Delete variables. + (maybe_warn_separator_insert, gripe_single_quote_string, + gripe_matlab_incompatible): Call warning_with_id instead of warning. + + * variables.h (SET_NONEMPTY_INTERNAL_STRING_VARIABLE, + SET_INTERNAL_VARIABLE_WITH_LIMITS): New macros. + + * ls-oct-ascii.cc (Fsave_precision): New function. + (save_precision): Delete function. + (symbols_of_ls_oct_ascii): Delete DEFVAR and function. + + * oct-hist.cc (initialize_history): New function. + * oct-hist.h: Provide decl. + * octave.cc (octave_main): Call initialize_history instead of + command_history::read. + + * oct-hist.cc (Fhistory_size, Fhistory_file, + Fhistory_timestamp_format_string, Fsaving_history): New functions. + (history_size, history_file, history_timestamp_format_string, + saving_history): Delete functions. + (symbols_of_oct_hist): Delete DEFVARs and function. + + * pt-mat.cc (Fstring_fill_char): New function. + (string_fill_char): Delete function. + (symbols_of_pt_mat): Delete DEFVAR and function. + + * variables.cc (Fignore_function_time_stamp, ans): New functions. + (ignore_function_time_stamp): Delete function. + (symbols_of_variables): Delete DEFVARs and function. + + * oct-procbuf.cc: (Vkluge_procbuf_delay): Delete variable. + (octave_procbuf::open): Never delay after fork. + (kluge_procbuf_delay): Delete function. + (symbols_of_oct_procbuf): Delete DEFVAR and function. + + * dirfns.cc (Fconfirm_recursive_rmdir): New function. + (confirm_recursive_rmdir): Delete function. + (symbols_of_dirfns): Delete DEFVAR and function. + + * error.cc (initialize_warning_options): Now extern. + Rename from init_warning_options. + * error.h: Provide decl. + * octave.cc (octave_main): Call it here. + + * error.cc (Fbeep_on_error, Fdebug_on_error, Fdebug_on_warning): + New functions. + (beep_on_error, debug_on_error, debug_on_warning): Delete Functions. + (symbols_of_error): Delete DEFVARs and function. + + * help.cc (Finfo_file, Finfo_program, Fmakeinfo_program, + Fsuppress_verbose_help_message): New function. + (info_file, info_program, makeinfo_program, + suppress_verbose_help_message): Delete function. + (symbols_of_help): Delete DEFVARs and function. + (Vinfo_program): Rename from Vinfo_prog. Change all uses. + + * input.cc (FPS1, FPS2, FPS4, Fcompletion_append_char, + Fecho_executing_commands): New functions. + (ps1, ps2, ps4, completion_append_char, echo_executing_commands): + Delete functions. + (symbols_of_input): Delete DEFVARs and function. + (VPS1, VPS2, VPS4): Rename from Vps1, Vps2, Vps4. Change all uses. + (Fecho): Set Vecho_executing_commands directly. + + * load-save.cc (crash_dumps_octave_core, Fdefault_save_options, + Foctave_core_file_limit, Foctave_core_file_name, + Foctave_core_file_options, Fsave_header_format_string): + New functions. + (crash_dumps_octave_core, default_save_options, + octave_core_file_limit, octave_core_file_name, + octave_core_file_options, save_header_format_string): + Delete functions. + (symbols_of_load_save): Delete DEFVARs and function. + + * ov-base.cc (Fprint_answer_id_name, Fsilent_functions): New functions. + (print_answer_id_name, silent_functions): Delete functions. + (symbols_of_ov_base): Delete DEFVARs and function. + + * ov-usr-fcn.cc (Fmax_recursion_depth): New function. + (max_recursion_depth): Delete function. + (symbols_of_ov_usr_fcn): Delete DEFVAR for max_recursion_depth. + Delete function. + + * pager.cc (Fpage_output_immediately, Fpage_screen_output, FPAGER): + New functions. + (page_output_immediately, page_screen_output, pager_binary): + Delete functions. + (symbols_of_pager): Delete DEFVARs and function. + (VPAGER): Rename from Vpager_binary. Change all uses. + + * pr-output.cc (Ffixed_point_format, Fprint_empty_dimensions, + Fsplit_long_rows, Foutput_max_field_width, Foutput_precision, + Fstruct_levels_to_print): New functions. + (fixed_point_format, print_empty_dimensions, split_long_rows, + output_max_field_width, output_precision, struct_levels_to_print): + Delete functions. + (symbols_of_pr_output): Delete DEFVARs and function. + + * pt-assign.cc (Fprint_rhs_assign_val): New function. + (print_rhs_assign_val): Delete function. + (symbols_of_pt_assign): Delete DEFVAR. Delete function. + + * sighandlers.cc (Fdebug_on_interrupt, Fsighup_dumps_octave_core, + Fsigterm_dumps_octave_core): New functions. + (debug_on_interrupt, sighup_dumps_octave_core, + sigterm_dumps_octave_core): Delete functions. + (symbols_of_sighanlders): Delete DEFVARs. Delete function. + + * symtab.cc (Vdebug_symtab_lookups): Now bool. + (Fdebug_symtab_lookups, Fwhos_line_format, + Fvariables_can_hide_functions): New functions. + (debug_symtab_lookups, whos_line_format, + variables_can_hide_functions): Delete functions. + (symbols_of_symtab): Delete DEFVARs and function. + +2006-05-04 David Bateman + + * DLD-FUNCTIONS/sqqr (Fdmperm): Allow compilation with versions + v2.0.0 of CXSparse or later. + +2006-05-04 John W. Eaton + + * variables.cc (set_internal_variable): Move here from + DLD-FUNCTIONS/__gnuplot_raw__.l. + * variables.h (SET_INTERNAL_VARIABLE): Likewise. + (set_internal_variable): Provide decls. + + * DLD-FUNCTIONS/__gnuplot_raw__.l: Convert all DEFVARs to DEFUN_DLDs. + (gnuplot::init): Delete. + (gnuplot::gnuplot): Don't call init here. + (set_internal_variable): New functions. + (SET_INTERNAL_VARIABLE): New macro. + + * Makefile.in: Undo changes of 2006-03-16. + * DLD-FUNCTINS/__gnuplot_raw__.l: Move here from __gnuplot_raw__.l. + Undo changes of 2006-03-16. + +2006-05-03 David Bateman + + * ov-base-mat.h: Add caching of matrix type, and code to supply + and copy matrix type. + * ov-bool-mat.h: Add caching to constructor. + * ov-re-mat.h: ditto. + * ov-cx-mat.h: ditto. + * ov.cc: Add to the BoolMatrix, Matrix and the ComplexMatrix + octave_value constructors, the ability to specify the matrix type. + * ov.h: Adapt declaration of above constructors. + (MatrixType matrix_type(void) const, MatrixType matrix_type (const + MatrixType&)): New functions for probing and setting matrix type. + * ov-base.cc (virtual MatrixType matrix_type(void) const, virtual + MatrixType matrix_type (const MatrixType&)): New default functions + for probing and setting matrix type. + * ov-base.h (virtual MatrixType matrix_type(void) const, virtual + MatrixType matrix_type (const MatrixType&)): Declarations. + * ov-base-sparse.h: Replace all uses of SparseType with + MatrixType. Replace sparse_type function with matrix_type function. + * ov-bool-sparse.h: Replace all uses of SparseType with MatrixType. + * ov-cx-sparse.h: ditto. + * ov-re-sparse.h: ditto. + * sparse-xdiv.cc: ditto. + * sparse-xdiv.h: ditto. + * sparse-xpow.cc: ditto. + * DLD-FUNCTIONS/luinc.cc: ditto. + * DLD-FUNCTIONS/splu.cc: ditto. + * xdiv.cc (xdiv, xleftdiv): Pass the matrix type, simplfy since + the matrix solve function now calls lssolve if singular. + * xdiv.h (xdvi, xleftdiv): Update the declarations + * OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, + OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-m.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-m.cc: Update use of + xdiv and xleftdiv functions to allow matrix type caching. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Update to allow typing + of Matrix, and ComplexMatrix types. Add new test code for this. + + * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): new function. + + * DLD-FUNCTIONS/regexp.cc (class regexp_elem): New class to store + matched element in a std::list. + (octregexp_list): Take algorithm from octregexp and construct a + list of matches. + (octregexp): Rewrite to use linked list of matches. + (Fregexprep): New function, working directly in linked list of + matches. + +2006-05-02 John W. Eaton + + * lex.l ({CCHAR}): Exit rawcommand mode if returning '\n' token. + +2006-05-02 David Bateman + + * DLD-FUNCTIONS/rand.cc (do_rand): Require real scalar for seed. + +2006-05-01 John W. Eaton + + * error.h (Vwarning_option): Delete. + * variables.cc (looks_like_struct): Remove use from commented code. + + * gripes.cc, gripes.h (gripe_implicit_conversion): New arg, ID. + Change all uses. + + * defaults.cc (set_local_site_defaults_file, set_site_defaults_file): + Allow filenames to be set from the environment. + + * oct-map.cc (octave_map::resize): No longer const. + * ov-struct.h (octave_struct::resize): Deal with it. + + * octave.cc (initialize_error_handlers): Also call + set_liboctave_warning_with_id_handler. + (execute_startup_files): Check that home_rc is not an empty string. + (F__version_info__): Resize vinfo before assigining elements. + + * ov-base.cc (warn_num_to_str, warn_resize_on_range_error): + Delete functions. + (symbols_of_ov_base): Delete DEFVARS. + (Vwarn_num_to_str, Vwarn_resize_on_range_error): Delete variables. + (value::convert_to_str): Check state of warning ID + Octave:num-to-str instead of using Vwarn_num_to_str. + * OPERATORS/op-chm.cc: Likewise. + * ov-base.h (Vwarn_num_to_str, Vwarn_resize_on_range_error): + Delete decls. + + * ov-list.cc (octave_list::assign): Call warning_with_id instead + of warning. + + * parse.y (warn_assign_as_truth_value, warn_associativity_change, + warn_function_name_clash, warn_future_time_stamp, + warn_missing_semicolon, warn_precedence_change, + warn_variable_switch_label, symbols_of_parse): + Delete DEFVARs and functions. + (Vwarn_assign_as_truth_value, Vwarn_associativity_change, + Vwarn_function_name_clash, Vwarn_future_time_stamp, + Vwarn_missing_semicolon, Vwarn_precedence_change, + Vwarn_variable_switch_label): Delete variables. + * parse.h (Vwarn_future_time_stamp): Delete decl. + * parse.y (fold): Check state of warning ID + Octave:associativity-change and Octave:precedence-change instead + of using Vwarn_associativity_change and Vwarn_precedence_change. + (maybe_warn_associativity_change, maybe_warn_missing_semi, + maybe_warn_assign_as_truth_value, make_binary_op, make_boolean_op, + frob_function): Call warning_with_id instead of warning. + * dynamic-ld.cc (octave_dynamic_loader::do_load): Likewise. + + * ov.cc (warn_fortran_indexing, warn_imag_to_real, symbols_of_ov): + Delete DEFVARs and functions. + (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete variables. + + * ov.cc (octave_value::vector_value, octave_value::int_vector_value, + octave_value::complex_vector_value): Check state of warning ID + Octave:fortran-indexing instead of using Vwarn_fortran_indexing. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::double_value, + octave_sparse_complex_matrix::complex_value): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::matrix_value, + octave_complex_matrix::complex_value): Likewise. + * ov-re-mat.cc (octave_matrix::complex_value, + octave_matrix::double_value): Likewise. + * ov-streamoff.cc (octave_streamoff::streamoff_value): Likewise. + * ov-re-sparse.cc (octave_sparse_matrix::complex_value, + octave_sparse_matrix::double_value): Likewise. + * ov-range.cc (octave_range::complex_value, + octave_range::double_value): Likewise. + * ov-ch-mat.cc (octave_char_matrix::complex_value, + octave_char_matrix::double_value): Likewise. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::complex_value, + octave_sparse_bool_matrix::double_value): Likewise. + * ov-bool-mat.cc (octave_bool_matrix::complex_value, + octave_bool_matrix::double_value): Likewise. + + * ov-cx-sparse.cc (octave_sparse_complex_matrix::double_value, + octave_sparse_complex_matrix::matrix_value, + octave_sparse_complex_matrix::sparse_matrix_value): Check state of + warning ID Octave:imag-to-real instead of using Vwarn_imag_to_real. + * ov-cx-mat.cc (octave_complex_matrix::double_value, + octave_complex_matrix::matrix_value, + octave_complex_matrix::complex_value, + octave_complex_matrix::sparse_matrix_value): Likewise. + * ov-complex.cc (octave_complex::double_value, + octave_complex::matrix_value, octave_complex::array_value): Likewise. + + * ov.h (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete decls. + + * pt-mat.cc (warn_empty_list_elements, warn_string_concat): + Delete functions. + (symbols_of_pt_mat): Delete DEFVARs. + (Vwarn_empty_list_elements, Vwarn_string_concat): Delete variables. + (tm_row_const::tm_row_const_rep::eval_warning, tm_const::init, + maybe_warn_string_concat): Call warning_with_id instead of warning. + + * ov-str-mat.cc (warn_str_to_num, symbols_of_ov_str_mat): + Delete DEFVAR and functions. + (Vwarn_str_to_num): Delete variable. + (CHAR_MATRIX_CONV): Call warning_with_id instead of warning. + + * utils.cc (warn_neg_dim_as_zero, symbols_of_utils): + Delete DEFVAR and functions. + (Vwarn_neg_dim_as_zero): Delete variable. + (check_dimensions): Call warning_with_id instead of warning. + + * pt-misc.cc (warn_undefined_return_values, symbols_of_pt_misc): + Delete DEFVAR and functions. + (Vwarn_undefined_return_values): Delete variable. + (tree_parameter_list::initialize_undefined_elements): + Call warning_with_id instead of warning. + + * dynamic-ld.cc (warn_reload_forces_clear, symbols_of_dynamic_ld): + Delete DEFVAR and functions. + (Vwarn_reload_forces_clear): Delete variable. + (do_clear_function, octave_dynamic_loader::do_load): + Call warning_with_id instead of warning. + * error.cc (warning_enabled): Now extern. + (Fwarning): If specific id is not found, return state of "all". + + * error.h: Provide decl. + + * gripes.cc (warn_divide_by_zero, symbols_of_gripes): + Delete DEFVAR and functions. + (gripe_divide_by_zero): Check whether warning is enabled, then + call warning_with_id instead of warning. + (Vwarn_divide_by_zero): Delete variable. + +2006-04-27 John W. Eaton + + * variables.cc (Fexist): Fix doc string. + + * help.cc (simple_help): No need to handle built-in constants now. + * variables.cc (do_who): Likewise. + (symbol_exist): Likewise. + (link_to_builtin_or_function): Likewise. + * symtab.cc (SYMBOL_DEF::type_as_string): Likewise. + (record::read_only_error): Likewise. + (SYMBOL_DEF::type): Likewise. + (record::variable_reference): Likewise. + (symbol_record::define_builtin_const): Delete function. + + * symtab.h (symbol_record::define_builtin_const): Delete decl. + (symbol_record::symbol_def::is_constant): Delete function. + (symbol_record::symbol_def::is_builtin_constant): Delete function. + (symbol_record::symbol_def::is_constant): Delete function. + (symbol_record::is_builtin_constant): Delete function. + (SYMTAB_ALL_TYPES): No need to handle builtin-constants now. + (symbol_record::TYPE): Remove BUILTIN_CONSTANT from enum. + + * defun.cc (install_builtin_constant): Delete function. + * defun-int.h (install_builtin_constant): Delete decl. + + * variables.cc (bind_builtin_constant): Delete function. + * variables.h (bind_builtin_constant): Delete decl. + + * defun-int.h (DEFCONST, DEFCONSTX, DEFCONST_INTERNAL, + DEFCONSTX_INTERNAL): Delete definitions. + + * sighandlers.cc (FSIG): New function to replace DEFCONST in + symbols_of_sighandlers. + + * octave.cc (intern_argv): Set octave_argv instead of calling + bind_builtin_variable here. + (Fargv, Fprogram_invocation_name, Fprogram_name): New functions to + replace DEFCONSTs in symbols_of_toplvev in toplev.cc. + (octave_program_invocation_name, octave_program_name): + New static variables. + (execute_command_line_file): Use unwind_protect_str to protect + octave_program_invocation_name, octave_program_name instead of + using a restore function. + (restore_program_name): Delete. + + * defaults.cc (FOCTAVE_HOME): New function to replace DEFCONST in + symbols_of_defaults. + +2006-04-27 David Bateman + + * DLD-FUNCTIONS/regexp.cc (octregexp): Fix for infinite loop in + regexp. Include news regexp arguments, and associated tests. + +2006-04-26 John W. Eaton + + * oct-stream.cc: Also instantiate do_read functions for boolNDArray. + +2006-04-26 Bill Denney + + * pager.cc (Fterminal_size): Add list_in_columns to @seealso. + +2006-04-26 John W. Eaton + + * dirfns.cc (Ffilesep): New function to replace DEFCONST in + symbols_of_dirfns. + (Fpathsep): New function. + + * defaults.cc (set_default_default_exec_path): Use + dir_path::path_sep_str instead of std::string (SEPCHAR_STR). + (set_default_exec_path): Likewise. + (set_default_path): Likewise. + (maybe_add_default_load_path): Likewise. Use dir_path::is_path_sep. + +2006-04-18 John W. Eaton + + * DLD-FUNCTIONS/regexp.cc: Include , for transform decl. + + * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd): + Always return something. + + * sighandlers.cc (octave_set_signal_handler, + octave_set_interrupt_handler): New arg, restart_syscalls, with + default value true. + * sighandlers.h: Fix decls to match. + * sysdep.cc (octave_kbhit): Disable restarting of system calls. + + * help.cc (Flookfor): Add std qualifier to transform function. + Include , for transform decl. + +2006-04-16 John W. Eaton + + * pager.h (octave_diary_buf, octave_pager_buf): Use std:stringbuf + directly. + + * ls-mat-ascii.cc (read_mat_ascii_data): Use std::istringstream + directly. + * load-save.cc (parse_save_options): Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + * oct-strstrm.h (octave_istrstream::is): Likewise. + + * __gnuplot_raw__.l (printrange, handle_using, gnuplot::do_open, + gnuplot::do_set, gnuplot::do_show, gnuplot::makeplot, + gnuplot::handle_title): Use std::ostringstream directly. + * toplev.cc (run_command_and_return_output): Likewise. + * symtab.h (symbol_table::symbol_table): Likewise. + * strfns.cc (Flist_in_columns): Likewise. + * pt.cc (tree::str_print_code): Likewise. + * parse.y (yyerror, fold, finish_matrix): Likewise. + * pr-output.cc (PRINT_ND_ARRAY, octave_print_internal, Fdisp): + Likewise. + * symtab.cc (symbol_table::print_descriptor): Likewise. + * ov-list.cc (octave_list::print_raw, octave_list::save_ascii, + octave_list::save_binary, octave_list::save_hdf5): Likewise. + * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline, + octave_fcn_inline::load_ascii, octave_fcn_inline::print_raw, + Finline): Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::load_ascii, + octave_fcn_handle::save_binary, octave_fcn_handle::save_hdf5): + Likewise. + * ov-cs-list.cc (octave_cs_list::print_raw): Likewise. + * ov-cell.cc (octave_cell::print_raw, octave_cell::save_hdf5): + Likewise. + * oct-strstrm.h (octave_ostrstream::os, octave_ostrstream::str): + Likewise. + * oct-stream.h (scanf_format_list::buf, printf_format_list::buf): + Likewise. + * oct-stream.cc (scanf_format_list::scanf_format_list, + printf_format_list::printf_format_list, + octave_base_stream::do_gets, BEGIN_CHAR_CLASS_CONVERSION, + octave_stream_list::do_list_open_files): Likewise. + * ls-oct-ascii.h (extract_keyword): Likewise. + * load-save.cc (do_load): Likewise. + * lex.l (have_continuation, handle_string): Likewise. + * input.cc (get_user_input): Likewise. + * dirfns.cc (Fls): Likewise. + * error.cc (error_message_buffer, vwarning, verror, pr_where): + Likewise. + * defun.cc (print_usage): Likewise. + * help.cc (display_help_text, Ftype, first_help_sentence): + Likewise. + * ls-mat5.cc (save_mat5_binary_element): Likewise. + * DLD-FUNCTIONS/regexp.cc (octregexp): Likewise. + * DLD-FUNCTIONS/fftw_wisdom.cc (Ffftw_wisdom): Likewise. + +2006-04-13 John W. Eaton + + * Makefile.in (lex.o parse.o __gnuplot_raw__.o, pic/parse.o + pic/__gnuplot_raw__.o): Omit -Wold-style-cast from CXXFLAGS. + + * ls-mat5.cc (READ_INTEGER_DATA): Allocate local buffer to avoid + pointer tricks. + + * DLD-FUNCTIONS/regexp.cc (octregexp): Use OCTAVE_LOCAL_BUFFER + instead of allocting memory with malloc. + + * DLD-FUNCTIONS/sparse.cc (Fsparse): Use octave_value extractors + instead of using get_rep. + + * DLD-FUNCTIONS/dispatch.cc (dispatch_record): Use dynamic_cast, + not reinterpret_cast. + + * DLD-FUNCTIONS/besselj.cc (Fairy): Use int_value instead of + double_value and cast to extract kind arg. + (int_arrayN_to_array): Arg is ArrayN, not ArrayN. + + * OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, + OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, + OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, + OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc: No need to cast + away const just to cache sparse type. + * ov-base-sparse.h (octave_base_sparse::typ): Now mutable. + (octave_base_sparse::sparse_type): Now const. + + * OPERATORS/op-cm-scm.cc (DEFBINOP(div)): Explicitly cast args + here instead of using CAST_BINOP_ARGS. + + * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): Second arg to + CAST_BINOP_ARGS is also const. + + * DLD-FUNCTIONS/chol.cc (Fcholinv, Fchol2inv): Eliminate nargout + arg to avoid unused variable warnings. + + * unwind-prot.h, unwind-prot.cc (unwind_protect::save_bool, + unwind_protect::save_int, unwind_protect::save_str, + unwind_protect::save_ptr, unwind_protect::save_var): + Pointer args now const. + (unwind_protect_const_ptr): New macro. + + * symtab.cc (maybe_list_cmp_fcn): Use static_cast instead of X_CAST. + * variables.cc (symbol_record_name_compare): Likewise. + * ls-mat5.cc (MAT5_DO_WRITE, save_mat5_binary_element): Likewise. + + * ov-fcn-handle.cc (octave_fcn_handle::save_hdf5, + octave_fcn_handle::load_hdf5): Eliminate unnecessary casts. + * ov-fcn-inline.cc (octave_fcn_inline::save_hdf5, + octave_fcn_inline::load_hdf5): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::save_hdf5, + octave_char_matrix_str::load_hdf5): Likewise. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_hdf5, + octave_sparse_bool_matrix::load_hdf5): Likewise. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::save_hdf5, + octave_sparse_complex_matrix::load_hdf5): Likewise. + * ov-re-sparse.cc (octave_sparse_matrix::save_hdf5, + octave_sparse_matrix::load_hdf5): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::save_ascii, + octave_char_matrix_str::load_ascii): Likewise. + * mappers.cc (xtoascii): Likewise. + * load-save.cc (read_binary_file_header, write_header): Likewise. + * parse.y (get_help_from_file, parse_fcn_file): Likewise. + * DLD-FUNCTIONS/rand.cc (do_rand): Likewise. + * ls-hdf5.cc (read_hdf5_data, hdf5_add_attr, save_hdf5_empty, + load_hdf5_empty add_hdf5_data): Likewise. + * ls-mat4.cc (read_mat_binary_data): Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + + * oct-stream.cc (expand_char_class, octave_base_stream::do_gets): + Use static_cast instead of C-style cast. + * oct-procbuf.cc (kluge_procbuf_delay): Likewise. + * parse.y (gobble_leading_white_space,: Likewise. + * DLD-FUNCTIONS/besselj.cc (int_array2_to_matrix, + int_arrayN_to_array): Likewise. + * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Likewise. + * DLD-FUNCTIONS/ccolamd.cc (Fcsymamd): Likewise. + * pt-pr-code.cc (tree_print_code::print_comment_elt): Likewise. + * DLD-FUNCTIONS/besselj.cc (do_bessel): Likewise. + * DLD-FUNCTIONS/spchol.cc (Fsymfact): Likewise. + * DLD-FUNCTIONS/sparse.cc (sparse_find): Likewise. + * DLD-FUNCTIONS/sort.cc (FloatFlip): Likewise. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Likewise. + * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ, + read_mat5_binary_element, save_mat5_binary_element): Likewise. + + * DLD-FUNCTIONS/splu.cc (Fspinv): Use dynamic_cast instead of + C-style cast. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Likewise. + + * DLD-FUNCTIONS/sort.cc (mx_sort): Use reinterpret_cast instead of + C-style cast. + * ls-mat5.cc (write_mat5_tag): Likewise. + + * ov-typeinfo.h (octave_value_typeinfo::octave_value_typeinfo): + Eliminate unnecessary casts in constructor initializers. + + * ops.h (CAST_CONV_ARG, CAST_UNOP_ARG, CAST_BINOP_ARGS, + DEFASSIGNANYOP_FN): Use C++ dynamic_cast instead of DYNAMIC_CAST macro. + + * unwind-prot.h (unwind_protect_ptr): Use combination of + reinterpret_cast and const_cast instead of X_CAST. + + * dynamic-ld.cc (loader::do_load): Use reinterpret_cast instead of + X_CAST. + * ov-base-int.cc (octave_base_int_matrix::save_binary, + octave_base_int_matrix::load_binary, + octave_base_int_scalar::save_binary, + octave_base_int_scalar::load_binary): Likewise. + * ov-bool-mat.cc (octave_bool_matrix::save_binary, + octave_bool_matrix::load_binary): Likewise. + * ov-bool-sparse.cc (octave_sparse_bool_matrix::save_binary, + octave_sparse_bool_matrix::load_binary): Likewise. + * ov-bool.cc (octave_bool::save_binary, octave_bool::load_binary): + Likewise. + * ov-cell.cc (octave_cell::save_binary, octave_cell::load_binary): + Likewise. + * ov-complex.cc (octave_complex::save_binary, + octave_complex::load_binary): Likewise. + * ov-cx-mat.cc (octave_matrix::save_binary, + octave_matrix::load_binary): Likewise. + * ov-cx-sparse.cc (octave_sparse_complex_matrix::save_binary, + octave_sparse_complex_matrix::load_binary): Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::save_binary, + octave_fcn_handle::load_binary): Likewise. + * ov-fcn-inline.cc (octave_fcn_inline::save_binary, + octave_fcn_inline::load_binary): Likewise. + * ov-list.cc (octave_list::save_binary, octave_list::load_binary): + Likewise. + * ov-range.cc (octave_range::save_binary, octave_range::load_binary): + Likewise. + * ov-re-mat.cc (octave_matrix::save_binary, + octave_matrix::load_binary): Likewise. + * ov-re-sparse.cc (octave_sparse_matrix::save_binary, + octave_sparse_matrix::load_binary): Likewise. + * ov-scalar.cc (octave_scalar::save_binary, + octave_scalar::load_binary): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::save_binary, + (octave_char_matrix_str::load_binary): Likewise. + * ov-struct.cc (octave_struct::save_binary, + octave_struct::load_binary): Likewise. + * ls-oct-binary.cc (save_binary_data, read_binary_data): Likewise. + * ls-mat4.cc (read_mat_file_header, save_mat_binary_data): Likewise. + * ls-mat5.cc (read_mat5_tag, read_mat5_binary_element, + read_mat5_binary_element, read_mat5_binary_file_header, + MAT5_DO_WRITE, write_mat5_array, write_mat5_integer_data, + save_mat5_binary_element, READ_INTEGER_DATA): Likewise. + +2006-04-12 John W. Eaton + + * ov.h (OV_REP_TYPE): New macro. + + * DLD-FUNCTIONS/sparse.cc (MINMAX_BODY): No need to cast arg1 to + const octave_sparse_matrix&. + + * ov-base.cc (print_answer_id_name, warn_resize_on_range_error, + warn_num_to_str, silent_functions): Move here, from ov.cc. + (Vwarn_resize_on_range_error, Vsilent_functions): Likewise. + (Vprint_answer_id_name): Likewise. Now static. + (symbols_of_ov_base): New function. Move DEFVARs for + print_answer_id_name, warn_resize_on_range_error, warn_num_to_str, + and silent_functions here from symbols_of_ov in ov.cc. + * ov.h (Vprint_answer_id_name): Delete decl. + * ov-base.h (Vwarn_resize_on_range_error, Vwarn_num_to_str): + Move decls here from ov.h. + + * ov-str-mat.cc (warn_str_to_num): Move here, from ov.cc. + (Vwarn_str_to_num): Likewise. Now static. + (symbols_of_ov_str_mat): New function. Move DEFVAR for + warn_str_to_num here from symbols_of_ov in ov.cc. + * ov.h (Vwarn_str_to_num): Delete decl. + + * ov-struct.cc (octave_struct::load_ascii): Pass loop counter, not + count, to read_ascii. + * ov-list.cc (octave_list::load_ascii): Likewise. + + * ov-list.cc (octave_list::do_index_op): Allow index to extract + multiple items. Result is always a list. + + * pr-output.cc (struct_levels_to_print): Move here from ov.cc. + (Vstruct-levels_to_print): Likewise. + (symbols_of_pr_output): Move DEFVAR for struct_levels_to_print here + from symbols_of_ov in ov.cc. + * pr-output.h (Vstruct_levels_to_print): Nove decl here from ov.h. + + * gripes.cc (warn_divide_by_zero): Move here from ov.cc. + (Vwarn_divide_by_zero): Likewise. Now static. + (symbols_of_gripes): New function. Move DEFVAR for + warn_divide_by_zero here from symbols_of_ov in ov.cc. + * ov.h (Vwarn_divide_by_zero): Delete decl. + + * load-save.cc (do_load): Declare count octave_idx_type, not int. + * ls-oct-ascii.cc, ls-oct-ascii.h (read_ascii_data): Likewise. + + Rearrange octave_value class hierarchy so that rep is a pointer + an octave_base_value object and the octave_base_value class + stores the reference count. Virtualness now goes with the + octave_base_value class, not the octave_value class. + + * ops.h, ov-base-int.cc, ov-base-int.h, ov-base-mat.h, + ov-base-scalar.h, ov-base-sparse.h, ov-base.cc, ov-base.h, + ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, + ov-bool-sparse.h, ov-bool.cc, ov-bool.h, ov-cell.cc, ov-cell.h, + ov-ch-mat.h, ov-colon.h, ov-complex.cc, ov-complex.h, + ov-cs-list.h, ov-cx-mat.cc, ov-cx-mat.h, ov-cx-sparse.cc, + ov-cx-sparse.h, ov-fcn-handle.h, ov-fcn-inline.h, ov-fcn.cc, + ov-fcn.h, ov-intx.h, ov-list.cc, ov-list.h, ov-range.cc, + ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, + ov-re-sparse.h, ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, + ov-streamoff.h, ov-struct.cc, ov-struct.h, ov-type-conv.h, + ov-typeinfo.cc, ov-typeinfo.h, ov-va-args.h, ov.cc, ov.h, + variables.cc, DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/splu.cc, + OPERATORS/op-chm.cc: Cope with octave_value hierarchy changes + (apologies for the lack of detail). + + * ov.cc (octave_value::nil_rep): Delete. + * ov.h (octave_value::nil_rep): Delete decl. + + * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA, + DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA, + DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2, + DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): + Move macro definitions here from ov.h. + (struct_indent, increment_struct_indent, decrement_struct_indent, + list_indent, increment_list_indent, decrement_list_indent): + Delete decls. + + * ov-base.cc. ov-base.h (do_index_op, ndims, all, any, + convert_to_str, print_with_name, numeric_assign, + reset_indent_level, increment_indent_level, + decrement_indent_level, current_print_indent_level, newline, + indent, reset): Move member functions here from octave_value class. + (count, curr_print_indent_level, beginning_of_line): + Move data members here from octave_value class. + (gripe_indexed_assignment, gripe_assign_conversion_failed, + gripe_no_conversion): Move here from ov.cc. + + * ov.h (class octave_xvalue): Delete. + (octave_value::octave_value (const octave_xvalue&)): Delete. + (anonymous union): Delete. + (octave_value::rep): Now a pointer to octave_base_value instead of + octave_value. + + (octave_value::internal_rep): Return pointer to octave_base_value, + not octave_value. + +2006-04-11 John W. Eaton + + * pt-assign.cc (tree_simple_assignment::rvalue, + tree_multi_assignment::rvalue): + Error if RHS is a comma-separated list. + +2006-04-07 John W. Eaton + + * defaults.cc (FOCTAVE_VERSION): New function to replace + corresponding DEFCONSTX macro in symbols_of_defaults. + + * file-io.cc (FP_tmpdir, FSEEK_SET, FSEEK_CUR, FSEEK_END, Fstdin, + Fstdout, Fstderr): New functions to replace DEFCONSTX macros in + symbols_of_file_io. + (const_value): New static function. + (symbols_of_file_io): Delete. + + * syscalls.cc (FF_DUPFD, FF_GETFD, FF_GETFL, FF_SETFD, FF_SETFL, + FO_APPEND, FO_ASYNC, FO_CREAT, FO_EXCL, FO_NONBLOCK, FO_RDONLY, + FO_RDWR, FO_SYNC, FO_TRUNC, FO_WRONLY, FWNOHANG, FWUNTRACED, + FWCONTINUE): New functions to replace DEFCONSTX macros in + symbols_of_syscalls. + (const_value): New static function. + (symbols_of_syscalls): Delete. + + * pr-output.cc (pr_max_internal, pr_min_internal): + Return 0 if all values are Inf or NaN. + Always leave space for sign when printing Inf or NaN values. + + * parse.y (Fmfilename): Don't let filenames like ../foo fake us out. + + * data.cc (fill_matrix): Create separate versions for int, bool, + and double, and Complex values. + (FInf, FNaN, Fe, Feps, Fpi, Frealmax, Frealmin, FI, FNA, Ffalse, + Ftrue): New functions to replace DEFCONST and DEFCONSTX macros in + symbols_of_data. Provide i, J, and j aliases for I. + Provide nan alias for NaN. Provide inf alias for Inf. + (symbols_of_data): Delete. + +2006-04-06 John W. Eaton + + * parse.y (parse_and_execute, parse_fcn_file): + Create octave_script_function object and push it on the call stack. + + * parse.y (Fmfilename): Check for script or user function file on + call stack. + + * ov-builtin.cc (octave_builtin::do_multi_index_op): + Use octave_call_stack instead of curr_function to save pointer to + current function. + * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): Likewise. + + * pt-bp.h (MAYBE_DO_BREAKPOINT): Use octave_call_stack instead of + curr_function to get pointer to current function. + * pt-arg-list.cc (list::convert_to_const_vector): Likewise. + * variables.cc (Fmlock, Fmunlock, Fmislocked): Likewise. + * input.cc (get_user_input): Likewise. + * error.cc (warning_1, error_2): Likewise. Only enter debug mode + if there is a scripting language caller. + * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Likewise. Check + scripting language caller, not current function. + + * toplev.cc (curr_caller_function, curr_function): Delete. + * toplev.h: Delete decls. + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Don't protect and set curr_caller_function. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. + * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. + + * variables.cc (do_who): Use octave_call_stack instead of + curr_caller_function to get pointer to calling function. + * input.cc (get_user_input): Likewise. + * error.cc (pr_where): Likewise. No need for curr_function now. + * parse.y (Fmfilename): Likewise. Check for scripting language + caller, not any calling function. + + * ov-usr-fcn.h (octave_user_script): New class. + * ov-fcn.h (octave_function::is_user_script): New virtual function. + + * toplev.h, toplev.cc (octave_call_stack): New class. + + * debug.cc (Fdbwhere): Use get_user_function here. + +2006-04-05 John W. Eaton + + * Makefile.in (mk-pkg-add): Use mfilename to simplify. + (PKG_ADD): Don't pass --prefix arg to mk-pkg-add. + (PKG_ADD.inst): Delete target. + (clean): Don't remove PKG_ADD.inst. + (install-oct): Don't depend on PKG_ADD.inst. Install PKG_ADD, not + PKG_ADD.inst. + + * parse.y (Fmfilename): New function. + +2006-04-04 David Bateman + + * help.cc (Flookfor): Skip overloaded functions. Lookup help text + of autoloaded function, not parent that contains the autoload. + +2006-04-03 David Bateman + + * data.cc (Fresize): New function. + * oct-map.cc, ov-base-mat.cc, ov-base-sparse.cc, ov-base.cc, + ov-bool.cc, ov-complex.cc, ov-range.cc, ov-scalar.cc, + ov-str-mat.cc (resize): Add boolean fill argument. + * oct-map.h, ov-base-mat.h, ov-base-sparse.h, ov-base.h, + ov-bool.h, ov-complex.h, ov-intx.h, ov-range.h, ov-scalar.h, + ov-str-mat.h, ov.h (resize): Ditto. + + * DLD-FUNCTIONS/rand.cc (do_rand): Additional argument for + gamma and poisson distributions. Change "state" and "seed" + arguments so that they choose between generators. + Add, poisson, gamma and exponential generators. + (Frand, Frandn): Update docs for new generators, add tests. + (Frande, Frandp, Frandg): New generators, with test code. + + * DLD-FUNCTIONS/daspk.cc (Fdaspk): Allow functions to be passed + using function handles, inline functions, and cell arrays of + strings, inline and function handles. + * DLD-FUNCTIONS/dasrtk.cc (Fdasrt): Likewise. + * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. + * DLD-FUNCTIONS/lsode.cc (Flsode): Likewise. + + * ls-hdf5.h (hdf5_fstreambase::open): Remove unused arg prot. + +2006-03-30 Bill Denney + + * data.cc: Include numel in @seealso. + +2006-03-30 David Bateman + + * DLD-FUNCTIONS/fftw_wisdom.cc: Don't attempt to save wisdom to + an empty filename or invalid filename. + +2006-03-28 John W. Eaton + + * DLD-FUNCTIONS/matrix_type.cc: Update copyright notice and FSF + address. + +2006-03-24 John W. Eaton + + * DLD-FUNCTIONS/spchol.cc (Fsymbfact): Use CHOLMOD_NAME to select + proper version of row_subtree function. + + * ov-cell.cc (octave_cell::save_hdf5): Use OSSTREAM instead of + fixed character buffer and sprintf. + * ov-list.cc (octave_list::save_hdf5, octave_list::save_ascii, + octave_list::save_binary): Likewise. + + * ov-cell.h (octave_cell::convert_to_str_internal): + Undo previous change for pad arg. + * ov-cell.cc (octave_cell::all_strings): Reinstate pad arg, pass + it on to all_strings. + * ov.h (octave_value::all_strings): Reinstate pad arg. + * ov-base.cc (octave_base_value::all_strings): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::all_strings): Likewise. + * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. + +2005-10-25 David Bateman + + * data.cc (do_cat): With 1 arg, return [](0x0) for compatibility. + +2006-03-23 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.5+. + +2006-03-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.5. + (OCTAVE_API_VERSION): Now api-v18. + (OCTAVE_RELEASE_DATE): Now 2006-03-22. + +2006-03-21 John W. Eaton + + * ov-cell.h (octave_cell::convert_to_str_internal): + Ignore pad and force args. + * ov-cell.cc (octave_cell::all_strings): Delete args. Never pad. + * ov-base.cc (octave_base_value::all_strings): Delete args. + Always force string conversion, never pad. + * ov-str-mat.cc (octave_char_matrix_str::all_strings): + Delete args. Don't strip whitespace. + * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. + * strfns.cc (Fchar): No args for all_strings. + +2006-03-21 David bateman + + * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Use GetProcessTimes for + MinGW to obtain user and system times. + +2006-03-17 John W. Eaton + + * strfns.cc (F__list_in_columns__): New function. + +2006-03-16 Bill Denney + + * DLD-FUNCTIONS/time.cc: Improve @seealso entries in doc strings. + +2006-03-16 John W. Eaton + + * __gnuplot_raw__.l (F__gnuplot_show__): Temporarily use DEFCMD + instead of DEFUN. + (symbols_of___gnuplot_raw__): Temporarily mark __gnuplot_plot__, + __gnuplot_set__, __gnuplot_splot__, and __gnuplot_replot__ as raw + commands. + + * variables.cc (is_marked_as_rawcommand, unmark_rawcommand, + mark_as_rawcommand): Temporarily not static. + * variables.h: Temporarily Provide decls. + +2006-03-16 David Bateman + + * sparse-xdiv.cc (result_ok): delete. + (xdiv, xleftdiv): Simplify to use version of SpareMatrix::solve + and SparseComplexMatrix::solve which internally treats rectangular + and singular matrices. + * DLD-FUNCTIONS/luinc.cc: Remove error test for singular matrix as + QR solver now implemented. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Paranoid check on + error_state. Disable tests for the detection of underdetermined + lower and over-determined upper matrix due to problems with + non minimum norm solutions. + * DLD-FUNCTIONS/spqr.cc: Warning for issue of use of Fspqr for + under-determined problems. + +2006-03-16 John W. Eaton + + * __gnuplot_raw__.l: Move here from DLD-FUNCTIONS/__gnuplot_raw__.l. + Use DEFUN, not DEFUN_DLD. Include defun.h, not defun-dld.h. + (gnuplot::do_init):Move guts to symbols_of___gnuplot_raw__. + (symbols_of___gnuplot_raw__): New function. + + * Makefile.in (DLD_XSRC): Delete __gnuplot_raw__.l from the list. + (DIST_SRC): Include __gnuplot_raw__.l in the list. + (__gnuplot_raw__.cc): Depend on __gnuplot_raw__.l, not + DLD-FUNCTIONS/__gnuplot_raw__.l + + * ls-oct-ascii.h (extract_keyword): Use std::string compare method + instead of strncmp. + * ls-oct-ascii.cc (extract_keyword): Likewise. + +2006-03-15 William Poetra Yoga Hadisoeseno + + * data.cc (Frows, Fcolumns): New functions. + + * DLD-FUNCTIONS/time.cc (Fstrptime, Fstrftime): Fix docstring. + + * strfns.cc (Fstrcmp): Fixed docstring. + +2006-03-15 John W. Eaton + + * pager.cc (Fterminal_size): New function. + + * help.cc (help_from_info): Simplify. + (try_info): Use feval to call doc instead of executing info program. + (additional_help_message): Point users to doc instead of help -i. + From S�ren Hauberg . + + * toplev.cc (Fsystem): Return output if nargout > 1, not 0. + +2006-03-14 Keith Goodman + + * help.cc (Fhelp, Fwhich, Flookfor): Doc string fix. + +2006-03-14 John W. Eaton + + * defun.cc (print_usage): New arg, extra_msg. + + * xpow.cc: Omit tests for now. + + * parse.y (QUOTE, TRANSPOSE): For compatibility, now have same + precedence as POW and EPOW. + +2006-03-14 Bill Denney + + * load-save.cc (Fload, Fsave): Update docstring for functional form. + +2006-03-14 John W. Eaton + + * xpow.cc (elem_xpow): Undo previous change. + +2006-03-14 Paul Kienzle + + * xpow.cc: New tests. + +2006-03-13 John W. Eaton + + * variables.cc (fcn_out_of_date): No longer static. + * ov-fcn-handle.cc (warn_reload): New function. + (octave_fcn_handle::subsref): Implement basic logic for updating + when pointed-to function changes. + +2006-03-10 John W. Eaton + + * xpow.cc (elem_xpow): Only use complex pow if really necessary. + + * symtab.cc (symbol_table::glob, symbol_table::symbol_list, + symbol_table::subsymbol_list): Force result to be a column + vector. + + * oct-stream.h (octave_stream::stream_ok): Undo previous change. + Eliminate who parameter. Change all callers. + + * variables.cc (do_who): Return more info in structure array for + verbose output. + * symtab.h (symbol_record::size, symbol_record::class_name, + symbol_record::is_sparse_type, symbol_record::is_complex_type, + symbol_record::size, symbol_record::symbol_def::class_name, + symbol_record::symbol_def::is_sparse_type, + symbol_record::symbol_def::is_complex_type): New functions. + * ov.h (octave_value::size): New function. + +2006-03-09 John W. Eaton + + * toplev.cc (run_command_and_return_output): Swap output and + status for compatibility. + + * Makefile.in (defaults.h, oct-conf.h): Force updates. + + * defaults.h.in (OCTAVE_RELEASE): New macro. + + * octave.cc (F__version_info__): New arg, release. + (initialize_version_info): Pass release arg to F__version_info__. + + * toplev.cc: Include api_version in the list. + + * Makefile.in (DIST_SRC): Include octave.cc here. + (DISTFILES, DEP_5): Not here. + + * octave.cc (F__version_info__): New function. + (initialize_version_info): New function. + (octave_main): Call initialize_version_info just before reading + init files. + + * version.h (OCTAVE_RELEASE_DATE): New macro. + + * ov-fcn-handle.h (octave_fcn_handle::dims): New function. + +2006-03-08 John W. Eaton + + * oct-stream.cc (octave_stream::stream_ok): Move definition here, + from oct-stream.h. New arg, warn. If warn is true and stream is + invalid, print warning. + (octave_stream::error): Always avoid warning message from + stream_ok. Return "invalid stream object" if stream is not ok. + +2006-03-08 David Bateman + + * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Change nnz to nz to remove + shadowed variable warning. + * DLD-FUNCTIONS/spqr.cc: Update for new upstream CXSPARSE release. + +2006-03-06 John W. Eaton + + * help.cc (display_help_text): Force linebreak with @sp. + +2006-03-06 Keith Goodman + + * bitfcns.cc, data.cc, debug.cc, file-io.cc, help.cc, + load-save.cc, mappers.cc, ov-cell.cc, ov-fcn-inline.cc, + ov-struct.cc, ov-usr-fcn.cc, ov.cc, pr-output.cc, utils.cc, + variables.cc, DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, + DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc, + DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/dassl.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, + DLD-FUNCTIONS/fftn.cc, DLD-FUNCTIONS/fftw_wisdom.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/gcd.cc, + DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/sparse.cc, + DLD-FUNCTIONS/spchol.cc, DLD-FUNCTIONS/splu.cc, + DLD-FUNCTIONS/spqr.cc, DLD-FUNCTIONS/sqrtm.cc: + Move @seealso inside @defXXX macro. Remove "and" from @seealso. + +2006-03-04 John W. Eaton + + * help.cc (additional_help_message): Don't print "\n" before message. + (help_from_symbol_table): If Vsuppress_verbose_help_message is + true, don't print which info. + +2006-03-03 John W. Eaton + + * dirfns.cc (Vconfirm_recursive_rmdir): New static variable. + (symbols_of_dirfns): DEFVAR it. + (confirm_recursive_rmdir): New function. + (Frmdir): Maybe ask for confirmation for recursive removal. + Require second arg to be "s". + + * input.cc (octave_yes_or_no): New function. + (Fyes_or_no): New function. + * input.h (octave_yes_or_no): Provide decl. + +2006-03-02 John W. Eaton + + * dirfns.cc (Fmkdir, Frmdir): Now commands. + +2006-02-20 David Bateman + + * ov.h (virtual bool is_sparse_type (bool)): New virtual function + * ov-base.h (bool is_sparse_type (bool)): New function + * ov-base-sparse.h (bool is_sparse_type (bool)): New function + * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTION/colamd.cc, + DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/splu.cc, + DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/matrix_type.cc, pt-mat.cc: + Replace us of 'arg.class_name () == "sparse"' with + 'arg.is_sparse_type ()' + +2006-02-20 David Bateman + + * pt-mat.cc (class tm_row_const): Add any_sparse bool variable. + (tm_row_const::tm_row_const_rep::do_init_element): Initialize + any_sparse variable if any matrice is sparse. + (class tm_const): Add any_sparse bool variable. + (tm_const::init): Initialize any_sparse variable. + (tree_matrix::rvalue): If any matrix is sparse use sparse matrix + as initial matrix for concatenation + * DLD-FUNCTIONS/matrix_type.cc: Add tests for new rectangular + diagonal, permuted diagonal, triangular and permuted triangular + matrices + +2006-02-20 John W. Eaton + + * toplev.cc (__builtin_delete, __builtin_new): Use std::cerr for + messages instead of std::cout. + (main_loop, do_octave_atexit): Use octave_stdout, not std::cout. + +2006-02-15 John W. Eaton + + * parse.y (Fautoload): Return struct array of autoload info if + nargin == 0. + +2006-02-15 Keith Goodman + + * help.cc (keywords): Doc string fix. + +2006-02-15 John W. Eaton + + * oct-procbuf.cc (close): Use __CYGWIN__ instead of __CYGWIN32__. + +2006-02-13 David Bateman + + * DLD_FUNCTIONS/regexp.cc (octregexp): Add matlab compatiable + named tokens. Update the tests + +2006-02-10 John W. Eaton + + * lex.l (\[{S}*): Maybe set lexer_flags.looking_at_return_list or + lexer_flags.looking_at_matrix_or_assign_lhs here. + * parse.y + (return_list_beg): Don't use in_return_list here. + (assign_lhs, matrix): Don't use in_matrix_or_assign_lhs here. + (in_matrix_or_assign_lhs, in_return_list): Delete unused macros. + (matrix): Clear lexer_flags.looking_at_matrix_or_assign_lhs in all + cases. + +2006-02-09 John W. Eaton + + * utils.cc (oct_file_in_path): Check len > 4, not len > 2. + From Larrie Carr . + +2006-02-09 David Bateman + + * DLD-FUNCTIONS/spqr.cc: New file for sparse QR and dmperm based on + CSparse. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): dintinguish between + rectangular and singular matrices. Add tests. + * DLD-FUNCTIONS/luinc.cc: Add tests. + * DLD-FUNCTIONS/spkron.cc: Ditto. + * Makefile.in (DLD_XSRC): Add spqr.cc. + (OCT_LINK_DEPS): Add CSSPARSE_LIBS. + * sparse-xdiv.h: Remove conditio of lssolve. + +2006-02-08 John W. Eaton + + * parse.y (frob_function): Clear ID_NAME from top_level symbol + table if we are defining a function at the top-level and a + function with the same name is already in the top-level symbol + table. + +2006-01-31 John W. Eaton + + * ov-base-sparse.h (octave_base_sparse::nzmax): New function. + * ov.h (octave_value::nzmax): New function. + * ov-base.cc (octave_base_value::nzmax): New function. + * ov-base.h: Provide decl. + * data.cc (Fnzmax): New function. + * DLD-FUNCTIONS/sparse.cc (Fnzmax): Delete. + +2006-01-31 Kim Hansen + + * __glpk__.cc (F__glpk__): Fix for sparse matrices. + +2006-01-30 John W. Eaton + + * gripes.cc (gripe_wrong_type_arg (const char*, const char*, bool)): + New function. + (gripe_wrong_type_arg (const char*, const std::string&, bool)): + Define using const char*, const char*, bool version. + (gripe_wrong_type_arg (const char*, const octave_value&, bool)): + Define using const char*, const std::string&, bool version. + + * ov.h (octave_value::nnz): New function. + * ov-base.cc (octave_base_value::nnz): New function. + * ov-base.h: Provide decl. + * ov-base-mat.h (octave_base_matrix::nnz): New function. + * ov-base-scalar.h (octave_base_scalar::nnz): New function. + * Cell.cc (Cell::nnz): New function. + * Cell.h: Provide decl. + * data.cc (Fnnz): New function. + * DLD-FUNCTIONS/sparse.cc (Fnnz): Delete. + +2006-01-13 John W. Eaton + + * ov-struct.cc (octave_struct::print_raw): Correctly print scalar + structs and empty struct arrays. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (Fclearplot): For compatibility, + also turn off hold state for current figure. + +2006-01-13 Bill Denney + + * dirfns.cc: Add @seealso{} to docstrings. + +2006-01-13 John W. Eaton + + * help.cc (display_help_text): Use warning() to print raw Texinfo + source. Don't redirect error output for makeinfo process. + + * DLD-FUNCTIONS/__gnuplot_raw__.l (F__gnuplot_init__): Delete + function and PKG_ADD directive. + (gnuplot::gnuplot): Call do_init here. + (gnuplot::init): Delete static function. + (gnuplot::close_all): New static function. + (class gnuplot_X): New class. + (gnpulot_X::X): New static instance. + +2006-01-12 David Bateman + + * help.cc (make_name_list): Add autoload functions to list of + available completions. + (simple_help): Add autoloaded functions to functions listed + (first_help_sentence): Avoid issue with single line help string + that is not terminated in \n. + (Flookfor): Check for string match in the keyword/function, etc + name. Also look for string match in help of autoloaded functions. + Load oct-files to be able to access their help string. + * parse.y (string_vector autoloaded_functions (void)): New + function to list all autloaded functions. + (string_vector reverse_lookup_autoload (const std::string& nm)): + Reverse lookup function to match file to autoloaded functions. + * parse.h (autoloaded_functions, reverse_lookup_autoload): + Declaration. + + * oct-map.cc (maybe_delete_elements): New function. + * oct-map.h (maybe_delete_elements): Declare it. + * ov-struct.cc (octave_struct::subsref): Handle indexing empty + structure. + (octave_struct::subsasgn): If rhs is [], delete elements. + (octave_struct::print_raw): Handle printing empty structure. + + * ls-mat5.cc (read_mat5_binary_element): Allow reading of sparse + elements when nnz doesn't equal nzmax. + +2006-01-10 David Bateman + + * DLD-FUNCTIONS/sparse.cc (sparse_find): Use Sparse::nonzero() + rather than Sparse::nnz(), due to possibility of overallocation + of memory. + +2006-01-06 John W. Eaton + + * oct-map.cc (Octave_map::transpose): Avoid GCC 3.3.x parse error. + +2005-12-14 John W. Eaton + + * oct-stream.cc (octave_stream::invalid_stream_error): Delete. + * oct-stream.h (octave_stream::stream_ok): Don't fail with error. + +2005-12-14 David Bateman + + * DLD-FUNCTIONS/regexp.cc: New file. + + * DLD-FUNCTIONS/dispatch.cc: Update tests for string/sq_string + differences. + + * error.cc (Vquiet_warning): New variable. + (vwarning): Use Vquiet_warning to prevent warning output. + (Fwarning): Include "quiet" option to Fwarning function. + Assign retval when using "query". Typo in error message. + (Flastwarn): Clear warning_state when using Flastwarn to probe warning + message. + + * ov-struct.cc: Update Fstruct tests for change in error output. + + * Makefile.in: Include regexp when needed with appropriate libraries. + +2005-12-13 David Bateman + + * Makefile.in: Change references to gplot.l to __gnuplot_raw__.l. + * DLD-FUNCTIONS/__gnuplot_raw__.l: Rename from DLD-FUNCTIONS/gplot.l. + Remove all references to deprecated gplot, gsplot, graw, gset and + gshow functions. + * help.cc (static help_list keywords[]): Remove gsplot and gplot. + + * ls-oct-ascii.cc (save_three_d): Don't strip Inf or NaN. + (save_ascii_data_for_plotting): Ditto. + +2005-12-13 John W. Eaton + + * oct-stream.cc (octave_stream_list::do_insert): Check open state + of stream in list instead of whether stream state is OK. + +2005-12-12 David Bateman + + * OPERATORS/op-struct.cc (transpose): New function. + (install_struct_ops): Install it. + + * oct-map.cc (Octave_map::transpose): New function. + * oct-map.h: Provide decl. + +2005-12-08 John W. Eaton + + * Cell.cc (Cell::column): New function. + * pt-loop.cc (DO_ND_LOOP): Simplify. + (simple_for_loop_command::eval): Correctly handle N-d numeric and + cell arrays when only the first dimension is 0. + +2005-12-07 John W. Eaton + + * lex.l (NL): Also accept '\r'. + + * error.cc (Vbacktrace_on_warning, warning_options, + Vlast_warning_id, Vlast_error_id): New file-scope variables. + (Vwarning_frequency, Vwarning_option): Delete unused variables. + (set_warning_option): Delete unused function. + (Fwarning): Update for compatibility. Use DEFCMD, not DEFUN. + (warning_enabled, check_state): New functions. + (warning (const char *fmt, ...)): Use it. + (init_warning_options): New function. + (symbols_of_error): Call it. + (vwarning, Flastwarn): Handle Vlast_warning_id. Improve compatibility. + (handle_message): New arg, ID. Change all callers. + (vwarning, verror, error_1): New arg, ID. Change all callers. + (verror, Flasterr): Handle Vlast_error_id. Improve compatibility. + + * error.cc (message_with_id, usage_with_id, warning_with_id, + error_with_id, parse_error_with_id): New functions. + (error_2, warning_1, usage_1): New functions. + * error.h (message_with_id, usage_with_id, warning_with_id, + error_with_id, parse_error_with_id): Provide decls. + +2005-11-30 John W. Eaton + + * DLD-FUNCTIONS/schur.cc (Fschur): Doc string fix. + From Jorge Barros de Abreu . + +2005-11-28 John W. Eaton + + * syscalls.cc (Funame): New function. + +2005-11-21 John W. Eaton + + * pr-output.cc (pr_int): Fix thinko in byte-swapping for bit format. + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): + Use C++ static_cast instead of C-style casts. + +2005-11-21 William Poetra Yoga H + + * DLD-FUNCTIONS/cellfun.cc (Fcellfun): + Docstring and error message fixes. + +2005-11-17 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): Don't cast arg1 to + const octave_complex_matrix&. + +2005-11-16 John W. Eaton + + * Makefile.in (PKG_ADD.inst): New target. + (install-oct): Depend on it. + (clean): Remove it. + + * mk-pkg-add: New option --install. Don't use --prefix option. + Delete obsolete comments. + + * Cell.cc (Cell::index): Indexing with () is a no-op, not an error. + * oct-map.cc (Octave_map::index): Likewise. + * ov-base-mat.cc (octave_base_matrix::do_index_op): Likewise. + * ov-base-sparse.cc (octave_base_sparse::do_index_op): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): + Likewise. + +2005-11-11 John W. Eaton + + * Makefile.in (install-oct): Fix thinko in previous change. + + * version.h (OCTAVE_VERSION): Now 2.9.4 + (OCTAVE_API_VERSION): Now api-v17. + + * variables.cc (symbol_out_of_date): Check for autoloads here too. + + * Makefile.in (PKG_ADD): Depend on $(DLD_DEF_FILES), not $(DLD_SRC). + (%.df : %.cc): Also insert PKG_ADD commands in .df files. + (install-oct): Generate PKG_ADD file for install directory here. + Don't depend on PKG-ADD. No need to make .oct file links. + (clean): No need to delete links. + (stamp-oct-links): Delete target. + (distclean): No need to remove stamp-oct-links. + (all): Depend on $(OCT_FILES), not stamp-oct-links. + + * mk-pkg-add: New file. + * Makefile.in (DISTFILES): Add it to the list. + + * mk-oct-links: Delete. + * Makefile.in (DISTFILES): Remove it from the list. + +2005-11-10 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str::permute, + octave_char_matrix_str::resize): New functions. + (octave_char_matrix_sq_str::reshape, + octave_char_matrix_sq_str::permute, + octave_char_matrix_sq_str::resize): New functions. + + * OPERATORS/op-str-str.cc, OPERATORS/op-str-s.cc, + OPERATORS/op-str-m.cc: Use DEFNDCHARCATOP_FN. + + * data.cc (do_cat): No need to handle character arrays specially here. + + * ops.h (DEFNDCHARCATOP_FN): New macro. + * OPERATORS/op-int.h (OCTAVE_INT_CHAR_CONCAT_FN, + OCTAVE_CHAR_INT_CONCAT_FN, OCTAVE_INSTALL_INT_CHAR_CONCAT_FN, + OCTAVE_INSTALL_CHAR_INT_CONCAT_FN): New macros. + * OPERATORS/op-int-concat.cc: Use them do define char/int op functions. + (install_int_concat_ops): Install char/int concat ops. + + * ov-scalar.h (class octave_scalar): Provide extractors + for all int array types and char array type. + +2005-11-09 John W. Eaton + + * ov-bool-mat.h (class octave_bool_matrix): Provide extractors + for all int array types and char array type. + * ov-bool.h (class octave_bool): Likewise. + + * ov-intx.h (class OCTAVE_VALUE_INT_MATRIX_T): Provide extractors + for all int array types and char array type. + (class OCTAVE_VALUE_INT_SCALAR_T): Provide extractors for all int + scalar and array types and char array type. + + * pt-mat.cc (tm_const::class_nm): New data member. + (tm_const::tm_const): Initialize it. + (tm_const::class_name): New function. + (tm_row_const::tm_row_const_rep::class_nm): New data member. + (tm_row_const::tm_row_const_rep::tm_row_const_rep): Initialize it. + (tm_row_const::class_name): New function. + (get_concat_class): New function. + (tm_row_const::tm_row_const_rep::do_init_element): Use it. + (tm_const::init): Use it. + +2005-11-07 John W. Eaton + + * strfns.cc (Fstrcmp): If args are not strings or cell arrays of + strings, return false. + +2005-11-01 John W. Eaton + + * Makefile.in (oct-gperf.h): Avoid extra temporary file. + (distclean): Delete oct-errno.cc here. + From Quentin Spencer . + +2005-11-01 Quentin Spencer + + * DLD-FUNCTIONS/spchol.cc: Use C++ true/false instead of + preprocessor defined TRUE/FALSE. + * Makefile.in (DISTFILES): Add mk-errno-list to the list. + +2005-10-30 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (gnuplot::set_gnuplot_exe, + gnuplot::do_set_gnuplot_exe): New functions. + (gnuplot_binary): Call gnuplot::set_gnuplot_exe here. + + * DLD-FUNCTIONS/gplot.l (gnuplot::set_gnuplot_use_title_option, + gnuplot::do_set_gnuplot_use_title_option): New functions. + (gnuplot_use_title_option): + Call gnuplot::set_gnuplot_use_title_option here. + +2005-10-27 James R. Van Zandt + + * mappers.cc: Doc fix for lgamma. + * DLD-FUNCTIONS/gammainc.cc (Fgammainc): Doc fix. + +2005-10-27 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Declare mrowsA volatile. + + * pt-mat.cc (tm_row_const::tm_row_const_rep::tm_row_const_rep): + Ensure that we always have at least two dimensions here. + (tm_const::tm_const): Likewise. + (tm_const::rows, tm_const::columns): Simplify. + (tm_row_const::rows, tm_row_const::columns)): Simplify. + +2005-10-26 John W. Eaton + + * oct-procbuf.cc (octave_procbuf::open): Cast 0 to void * to avoid + new g++ warning. + * toplev.cc (Fsystem): Likewise. + + Changes for GCC 4.1, tip from Arno J. Klaassen + : + + * ov.h (do_unary_op (octave_value::unary_op, const octave_value&)): + Publish externally used friend function. + (do_unary_op (octave_value::unary_op, const octave_value&, + const octave_value&)): Likewise. + +2005-10-25 David Bateman + + * data.cc (do_cat): called with 2 args, should return args(1) + for compatibility. + +2005-10-23 David Bateman + + * Makefile.in (DLD_XSRC): Add spchol.cc. + * sparse-xpow.cc (xpow): Change call to sparse inverse to include + SparseType. + * DLD-FUNCTIONS/colamd.c (Fsymbfact): Remove. + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): 64-bit fixes and fix + for permutation of upper/lower triangular matrices. + * DLD-FUNCTIONS/splu.cc (Fspinv): Implemtation of sparse inverse + function. + * DLD-FUNCTIONS/spchol.cc (sparse_chol): Static function for core of + the sparse cholesky factorization. + (Fspchol): New function for sparse cholesky factorization R'R. + (Fsplchol): New function for sparse cholesky factorization LL'. + (Fspcholinv): New cholesky inverse function. + (Fspchol2inv): New cholesky inverse function. + (Fsymbfact): Implementation of symbolic factorization using cholmod. + +2005-10-21 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (read_until): Special case STRING. + (handle_string): Restore function. + ("'", "\""): Call handle string when matching these tokens.. + +2005-10-20 John W. Eaton + + * pt-mat.cc (tm_row_const::all_real): New data member. + (tm_row_const::all_real_p): New function. + (tm_row_const::tm_row_const_rep::all_real): New data member. + (tm_row_const::tm_row_const_rep::all_real_p): New function. + (tm_row_const::tm_row_const_rep::init): Set all_real and all_cmplx + to true here. + (tm_row_const::all_cmplx): Rename from is_cmplx. + (tm_row_const::all_complex_p): Rename from complex_p. + (tm_row_const::tm_row_const_rep::all_cmplx): Rename from is_cmplx. + (tm_row_const::tm_row_const_rep::all_complex_p): Rename from complex_p. + (tm_row_const::tm_row_const_rep::init): Set all_real and all_cmplx + to true here. + (SINGLE_TYPE_CONCAT): New macro. + (tree_matrix::rvalue): Use it for single type cases. + + * pt-mat.cc: Sprinkle with OCTAVE_QUIT. + +2005-10-18 John W. Eaton + + * octave.cc (octave_main): If not embedded, call clean_up_and_exit + instead of return to exit function. + +2005-10-18 Arno J. Klaassen + + * DLD-FUNCTIONS/gplot.l (gnuplot::handle_title): + Omit class name from declaration. + +2005-10-17 Keith Goodman + + * DLD-FUNCTIONS/sort.cc: Doc string fix. + +2005-10-17 John W. Eaton + + * oct-conf.h.in (OCTAVE_CONF_F77_FLOAT_STORE_FLAG): Substitute + OCTAVE_CONF_F77_FLOAT_STORE_FLAG here. + +2005-10-14 John W. Eaton + + * mk-errno-list: New script. + * Makefile.in (oct-errno.cc): Use it. + +2005-10-13 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (F__gnuplot_raw__): + Call print_usage with correct function name. + +2005-10-12 John W. Eaton + + * DLD-FUNCTIONS/gplot.l: Major cleanup. + Built-in variable gnuplot_has_frames no longer necessary. + (gnuplot): New class to manage multiple gnuplot processes. + (handle_string): Delete. It was only used for the case of + __gnuplot_plot__ "file", which is no longer allowed. + +2005-10-05 John W. Eaton + + * variables.cc (symbol_exist): Chekck for autoloaded functions. + + * parse.y (Fautoload): New function. + (autoloading, autoload_map): New static variables. + (load_fcn_from_file, frob_function): Handle autoloading. + (lookup_autoload): New function. + (get_help_from_file): New args, symbol_found and include_file_info. + Change all callers. + +2005-10-05 David Bateman + + * help.cc (try_info): format in command string for mingw. + +2005-09-30 John W. Eaton + + * ov.cc (octave_value::~octave_value): No need to set rep to zero + after deleting. + +2005-09-29 John W. Eaton + + * syscalls.cc (mk_stat_map): Store mode too. + (FS_ISREG, FS_ISDIR, FS_ISCHR, FS_ISBLK, FS_ISFIFO, FS_ISLNK, + FS_ISSOCK): New functions. + (Fstat): Fix docstring. + +2005-09-28 John W. Eaton + + * oct-stream.cc (printf_value_cache::double_value): Force + character strings to be converted to ASCII equivalents. + + * data.cc (Fcomplex): New function. + + * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Return arg unchanged if + class name is same as name of conversion. + + * dirfns.cc (Frmdir, Fmkdir): For compatibility, return true for + success and false for failure. Return third value, msgid. + (Frmdir): Handle second arg for recursive behavior. + +2005-09-23 John W. Eaton + + * parse.y (load_fcn_from_file): Don't look in path if file is + absolute and has .oct or .m extension. + + * utils.cc (Ferrno_list): New function. + + * oct-errno.h, oct-errno.cc.in: New files. + * Makefile.in: Add them to the appropriate lists. + (oct-errno.cc): New rule. + ($(OPT_HANDLERS)): Use $(PERL) instead of just perl. + + * utils.cc: Include oct-errno.h. + (Ferrno): Rename from FERRNO. Allow errno to be set. Allow + lookups of errno codes by name and access to structure containing + all errno names and codes. + +2005-09-19 John W. Eaton + + * pt-bp.cc (tree_breakpoint::visit_index_expression): + Avoid dereferencing invalid pointer. + +2005-09-19 David Bateman + + * Makefile.in (OCT_LINK_DEPS): Include UFsparse libraries. + + * DLD_FUNCTIONS/__glpk__.cc (F__glpk__): Replace isinf with + xisinf. Allow sparse matrices as second argument. + + * syscalls.cc: Typos. + * sysdep.cc: Typos. + +2005-09-16 John W. Eaton + + * syscalls.cc (Fwaitpid): Doc fix. Expect WNOHANG, WUNTRACED, + WCONTINUED as args instad of int values. + Return values are now [pid, status, msg] instad of [pid, msg]. + (WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, + WIFSTOPPED, WSTOPSIG, WIFCONTINUED): New functions. + (symbols_of_syscalls): DEFCONST WNOHANG, WUNTRACED, and WCONTINUE. + + * oct-procbuf.cc (octave_procbuf::close): Call octave_syscalls::waitpid + here instead of calling waitpid directly. + * sighandlers.cc (OCL_REP::wait): Likewise. + + * sysdep.h [__MINGW32__]: Don't define waitpid here. + +2005-09-15 John W. Eaton + + * sysdep.h [__MINGW32__]: Move to definition of waitpid sysdep.h. + + * sysdep.cc, sighandlers.cc: Rename all win32_ symbols to w32. + + * sysdep.cc (w32_set_quiet_shutdown): New function. + * sysdep.h: Provide decl. + * sysdep.cc (MINGW_signal_cleanup): Use it. + * sighandlers.cc (octave_catch_interrupts): Use it. + + * sysdep.h: Provide decl. + (MINGW_SIGNAL_CLEANUP): New macro. + (USE_W32_SIGINT): Move definition here. + * sighandlers.cc: From here. + + * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): Use print_usage, not usage. + * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd, Fetree): Likewise. + (Fcolamd, Fsymamd) [! HAVE_COLAMD]: Return empty octave_value_list + object. + + * sysdep.cc (sysdep_cleanup): New function. + Move w32 clean up code here. + * toplev.cc (clean_up_and_exit): From here. + Call sysdep_cleanup here. + +2005-09-15 David Bateman + + * Makefile.in (DLD_XSRC): Add ccolamd.cc + (OCTAVE_LIBS): Add LIBGLOB. + (OCT_LINK_DEPST, octave): Add AMD, COLAMD, CCOLAMD and CHOLMOD + libraries. + * default.cc (set_default_exec_path, set_default_path, + maybe_add_default_load_path, LOADPATH): Use SEPCHAR_STR and SEPCHAR. + * help.cc (display_help_text): Exclude /dev/null on mingw. + * oct-procbuf.cc (W32POPEN, W32PCLOSE): Macros for cygwin/mingw. + (octave_procbuf::open, octave_probuf::close): Use them. + * sighandler.cc (user_abort): New function with core of old + sigint_handler. + (sigint_handler): Simplify and specialize for w32. + (w32_sigint_handler): W32 version of sigint handler. + (octave_catch_interrupts): Initialize w32 siginit handler. + * sysdep.cc (MINGW_init): New function. + (sysdep_init): Use it. + * toplev.cc (clean_up_and_exit): Clean w32 signalling shutdown. + * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): New function. + * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Allow conditional build. + Include oct-sparse.h rather than colamd.h. + * DLD-FUNCTIONS/ccolamd.cc: New file with Fccolamd a Fcsymamd. + +2005-09-14 John W. Eaton + + * ov-complex.cc (octave_complex::try_narrowing_conversion): + Don't drop -0i. + * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): + Likewise. + +2005-09-14 Daniel + + * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/chol.cc, + DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fftw_wisdom.cc, utils.cc: + Doc string fixes. + From Jorge Barros de Abreu . + +2005-09-14 David Bateman + + * help.cc (Flookfor, print_lookfor, first_help_sentence): + New functions. + +2005-09-07 Bill Denney + + * dirfns.cc (Fglob): Doc fix. + +2005-09-07 John W. Eaton + + * ov-struct.cc (Fstruct): Allow struct (zeros (0, N)) to create a + 0xN struct array. + +2005-09-04 David Bateman + + * DLD-FUNCTIONS/colamd.c (COLAMD_NAME, SYMAMD_NAME): New macros + (symetree, make_set, link, finf, etdfs, TreePostorder, coletree, + Fcolamd, Fsymamd, Fetree): Update for 64-bit indexing and colamd + versin 2.4. + +2005-09-01 John W. Eaton + + * variables.cc (symbol_out_of_date): Don't check nested functions. + +2005-08-31 John W. Eaton + + * oct-map.cc (Octave_map::index): Don't crash if index list is empty. + * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): + Likewise. + + * oct-map.h (Octave_map::ndims): New function. + +2005-08-30 John W. Eaton + + * ov-range.h (octave_range::permute): New function. + + * ov-struct.cc (octave_struct::load_ascii, + octave_struct::load_binary, octave_struct::load_hdf5): Try harder + to read old-style files correctly. + +2005-08-25 David Bateman + + * OPERATORS/op-sm-m.cc, OPERATORS/op-sm-cm.cc, OPERATORS/op-scm-m.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-m-sm.cc, OPERATORS/op-m-scm.cc, + OPERATORS/op-cm-sm.cc, OPERATORS/op-cm-scm.cc: Use mixed matrix/sparse + multiply operator rather than casting sparse to matrix. + +2005-07-18 John W. Eaton + + * strfns.cc (Fstrcmp): New function from S�ren Hauberg + and Tom Holroyd . + Adapt to Octave conventions. + +2005-07-11 David Bateman + + * ov-fc-inline.cc (Fvectorize): Allow string arguments + +2005-07-08 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (Fhold, Fishold): Delete. + (clear_before_plotting): Delete static variable. + Delete PKG_ADD line for hold. + +2005-07-07 John W. Eaton + + * pr-output.cc (pr_plus_format): Delete "static" from template decl. + + * oct-stream.cc (octave_scan): Delete explicit instantiation of + octave_scan since a specialization is provided. + + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Include + , for std::transform decl. Use std qualifier for + transform and tolower. + +2005-07-05 Antoine Moreau + + * DLD-FUNCTIONS/betainc.cc (Fbetainc): Fix doc string to match + function definition.. + +2005-07-05 Mats Jansson + + * file-io.cc (Fmkstemp): Check if second argument is true + before marking file for deletion. + +2005-07-05 John W. Eaton + + * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): + Rename from char_matrix_str::do_index_op. New arg, type. + ov-str-mat.h (octave_char_matrix_str::do_index_op): Define using + do_index_op_internal. + (octave_char_matrix_sq_str::do_index_op): New function. + +2005-07-01 John W. Eaton + + * parse.y (end_error): Also handle end_try_catch case. + +2005-06-17 John W. Eaton + + * help.cc (help_from_list, help_from_symbol_table, + help_from_file): New arg, symbol_found. + (builtin_help): Use symbol_found arg to determine whether help + text is empty or symbol is not available. + + * symtab.cc (symbol_record::print_info): Print more info. + + * DLD-FUNCTIONS/dispatch.cc (Fdispatch_help): Delete. + (dispatch_record): Don't prepend "<>" to help text. + (Fdispatch): Don't setup dispatched help. + + * help.cc (extract_help_from_dispatch): New function. + (help_from_symbol_table): Use it. + * defun.cc (print_usage): Use it. + + * toplev.cc (octave_config_info): Include localapifcnfiledir and + localapioctfiledir in the list. + + * symtab.h (symbol_record::alias): New arg, mark_to_clear. + (symbol_record::aliases_to_clear): New data member. + (symbol_record::push_alias_to_clear): New function. + * symtab.cc (symbol_record::alias): If mark_to_clear is true, push + this pointer on aliases_to_clear stack for s. + (symbol_record::clear): Also clear aliases_to_clear_stack. + + * defun.cc (install_dld_function): Create full file name alias in + fbi_sym_tab and hide it from view. + Don't call protect or make_eternal on sym_rec. + + * variables.cc (fcn_out_of_date): New function. + (symbol_out_of_date): Also check for symbol using full function + file name. + + * symtab.h (symbol_record::visible): New data member. + (symbol_record::hide, symbol_record::show, symbol_record::is_visible): + New functions. + + * symtab.h (symbol_record::maybe_delete_def): New private function. + * symtab.cc (symbol_record::clear, symbol_record::alias, + symbol_record::pop_context, + symbol_record::define (octave_function *, unsigned int)): Use it. + (symbol_table::symbol_list): Only include visible symbols in list. + + * parse.y (frob_function): Hide nested function names. + + * parse.y (frob_function): Create full file name alias in + fbi_sym_tab and hide it from view. + * defun.cc (install_dld_function): Likewise. + +2005-06-16 John W. Eaton + + * ov-dld-fcn.cc (octave_dld_function): Check Voct_file_dir to see + if function is system file, Vfcn_file_dir. + * defaults.cc (set_default_oct_file_dir): New function. + (install_defaults): Call it. + (Voct_file_dir): New global variable. + * defaults.h.in (Voct_file_dir): Provide decl. + + * variables.cc (function_out_of_date_internal): Use + Vignore_function_time_stamp only to avoid calling stat. + (symbol_out_of_date): Don't check Vignore_function_time_stamp here. + (function_out_of_date): Rename from function_out_of_date_internal. + + * defaults.cc (loadpath): Don't do anything if value is unchanged. + If loadpath changes, also update Vlast_prompt_time. + +2005-06-14 John W. Eaton + + * pt-mat.cc (Vwarn_string_concat): Default value now false. + (symbols_of_pt_mat): Change initial value here as well. + + * ls-mat5.cc, mappers.cc, oct-stream.cc, pr-output.cc: Change all + uses of octave_is_NaN_or_NA to xisnan. + +2005-06-14 Keith Goodman + + * input.cc (get_user_input): Renamed debug commands to dbnext, + dbstep, and dbcont. + * pt.cc: Renamed dbg_next to dbnext in comment string. + * pt.h: Renamed dbg_next to dbnext in comment string. + +2005-06-14 David Bateman + + * pt-arg-list.cc (F__end__): Return 1 for dimensions larger than ndim. + +2005-06-14 John W. Eaton + + * ls-mat5.cc (save_mat5_array_length): Special case for NaN, NA, + and Inf values. Only check if abs value is greater than FLT_MAX. + +2005-06-09 David Bateman + + * ls-mat5.cc (save_mat5_element_length): 1 element strings will be + saved in a compressed format, so calculate the length accordingly. + +2005-05-30 David Bateman + + * ls-mat5.cc (read_mat5_binary_element): Don't convert to string + if matrix is not of type mxCHAR_CLASS. + +2005-05-23 John W. Eaton + + * file-io.cc (Ffopen): Don't fail with internal error message if + we fail to create a valid stream object. + (do_stream_open (const std::string&, const std::string&, + const std::string&, int&): Always create octave_stream object, + even if file pointer returne from fopen is 0. + + * load-save.cc (gripe_file_open): New function. + (get_file_format, Fload, Fsave): Use it. + + * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Return + appropriately sized empty values for empty args. + + * debug.cc (Fdbwhere, get_user_function): Look at + curr_caller_function, not curr_function, since function is now set + inside mapper, built-in (and therefore dld) functions too. + +2005-05-21 John W. Eaton + + * pr-output.cc, pr-output.h (Vprint_empty_dimensions): Now extern. + * ov-cell.cc (octave_cell::print_raw): Conditionally print + dimensions of empty 2-d cell arrays. + + * DLD-FUNCTIONS/sort.cc (mx_sort, mx_sort_indexed): Return empty + values for empty args. + + * lex.l (handle_string): If single-quote string, \ and . have no + special meaning. + +2005-05-18 John W. Eaton + + * pt-colon.cc (tree_colon_expression::make_range): Don't require + scalars values as range components. + + * version.h (OCTAVE_VERSION): Now 2.9.3 + (OCTAVE_API_VERSION): Now api-v16. + + * ov-base-sparse.cc (octave_base_sparse::print_raw): + Make spacing of output consistent with other parts of Octave. + + * DLD-FUNCTIONS/rand.cc (do_rand): Chop trailing singelton + dimensions before generating array. + +2005-05-17 John W. Eaton + + * ov.cc (install_types): Don't call octave_stream::register_type. + * ov.h, ov.cc (octave_value::octave_value (const octave_stream&, + int): Delete constructor. + (octave_value::is_stream, octave_value::stream_value, + octave_value::stream_number): Delete functions. + * ov-base.h (octave_base_value::is_stream): Delete function. + * ov-base.h, ov-base.cc (octave_base_value::stream_value, + octave_base_value::stream_number): Delete functions. + * file-io.cc (Fisstream): Delete function. + * op-file.h, op-file.cc, OPERATORS/op-fil-sbm.cc, + OPERATORS/op-fil-scm.cc, OPERATORS/op-fil-sm.cc, + * OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, + OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, + OPERATORS/op-fil-m.cc, OPERATORS/op-fil-s.cc, + OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-rec.cc, + OPERATORS/op-fil-str.cc: Delete files. + * Makefile.in (OP_XSRC, SPARSE_OP_XSRC): Delete op-fil-*.cc from + the lists. + (OV_INCLUDES): Delete op-file.h from the list. + (OV_SRC): Delete op-file.cc from the list. + * oct-stream.cc, oct-stream.h (octave_stream_list::insert, + octave_stream_list::do_insert): Return stream number instead of + octave_value. + +2005-05-16 David Bateman + + * ls-mat.cc (save_mat5_binary_element): Increase size of + compression buffer. + (load_mat5_binary_element): Allow ASCII encoded as UTF8, + and give error messages for multi-byte UTF8 and UTF16 and UTF32 + encodings. + + * ls-hdf5.h (H5T_NATIVE_IDX): New macro defining native indexing + type for HDF5 files + + * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): Use + H5T_NATIVE_IDX to allow 64-bit indexing. + * ov-bool-sparse.cc (save_hdf5, load_hdf5): ditto. + * ov-re-sparse.cc (save_hdf5, load_hdf5): ditto. + * ov-cx-sparse.cc (save_hdf5, load_hdf5): ditto. + * ov-cell.cc (save_hdf5, load_hdf5): ditto. + + * load-save.cc (parse_save_options): Remove -nozip option. + (Fsave): If user defines file format, ignore completely the default + file format options. + +2005-05-12 John W. Eaton + + * Makefile.in (oct-gperf.h): Try harder to cause Make to exit here + if gperf is missing or fails to create a valid file. + +2005-05-10 John W. Eaton + + * lex.l ({SNLCMT}*\]{S}*): If whitespace was gobbled, + unput SPC before returning the token. + ({SNLCMT}*\}{S}*): Likewise. + +2005-05-09 John W. Eaton + + * parse.y (except_command): Make catch clause optional in try + statements. + * pt-except.cc (tree_try_catch_command::eval): + Always buffer error messages. + +2005-05-06 John W. Eaton + + * ov-struct.cc (octave_struct::save_ascii, + octave_struct::save_binary, octave_sruct::save_hdf5): + Always save cell array. + (octave_struct::load_ascii, octave_struct::load_binary, + octave_sruct::load_hdf5): Try to read old-style files correctly. + + * DLD-FUNCTIONS/__qp__.cc (qp): Use chol2inv to compute inverse + from Cholesky factors. + (cholinv): Delete. + + * DLD-FUNCTIONS/chol.cc (Fcholinv): New function. + (Fchol2inv): New function. + +2005-05-05 Keith Goodman + + * ov-usr-fcn.cc (Fnargout, Fnargin): Update doc strings. + * help.cc (keywords): Update doc strings for varargin, varargout. + +2005-05-05 John W. Eaton + + * oct-stream.cc (BEGIN_S_CONVERSION): Correctly handle width + specifiers. + +2005-05-04 John W. Eaton + + * ls-mat5.cc (read_mat5_binary_element): Implement reading of N-d + structure arrays. + + * ov-struct.cc (octave_struct::load_hdf5, + octave_struct::load_binary, octave_struct::load_ascii): Assign + cell_value to map slot, not octave_value containing the cell. + +2005-05-02 John W. Eaton + + * error.cc (Flasterr): Don't access argv if an error occurs when + creating it. + + * mkgendoc (main): Print header message. + +2005-05-02 Bill Denney + + * data.cc, defaults.cc, DLD-FUNCTIONS/qz.cc, file-io.cc, + sighandlers.cc, syscalls.cc: Docstring fixes. + +2005-05-02 John W. Eaton + + * pr-output.cc (octave_print_internal (std::ostream&, + const Range&, bool, int)): Don't print newline at end of broken + rows (that is handled by pr_col_num_header). + From Keith Goodman . + + * Makefile.in (octave$(EXEEXT)): List $(UMFPACK_LIBS) ahead of + $(BLAS_LIBS). + (OCTAVE_LIBS): Include $(GLPK_LIBS) in the list if dynamic linking + is not enabled. + From Dmitri A. Sergatskov . + +2005-05-02 John W. Eaton + + * oct-map.h, oct-map.cc (Octave_map::seek, Octave_map::contents): + New non-const versions. + (Octave_map::assign (const octave_value_list&, + const std::string&, const Cell&)): Allow both tmp RHS and LHS to + be resized. For clarity, always resize to new_dims. + +2005-05-02 David Bateman + + * ov-re-sparse.cc, ov-cx-sparse.cc (load_binary): read save_type into + one byte variable. + +2005-04-29 John W. Eaton + + * oct-stream.cc (DO_LITERAL_CONVERSION): Cast fmt[i] to unsigned + char for comparison. + + * c-file-ptr-stream.h (c_file_ptr_stream): New template class, + converted from i_c_file_ptr_stream. + (i_c_file_ptr_stream, o_c_file_ptr_stream, io_c_file_ptr_stream): + Now typedefs. + (i_c_zfile_ptr_stream, o_c_zfile_ptr_stream, io_c_zfile_ptr_stream): + New typedefs. + * c-file-ptr-stream.h, c-file-ptr-stream.cc (c_zfile_ptr_buf): + New class. + + * oct-stdstrm.h (class octave_tstdiostream): New template class, + converted from octave_stdiostream. + (octave_stdiostream): Now a typedef. + [HAVE_ZLIB] (octave_zstdiostream): New a typedef. + * oct-stdstrm.cc: Delete. + * Makefile.in (DIST_SRC): Remove it from the list. + +2005-04-29 David Bateman + + * Makefile.in: Add matrix_type.cc and spkron.cc to DLD_XSRC. + + * ls.mat.cc (read_mat5_binary_element): Allow for endian change + for compressed data elements. + + * ov-base-sparse.cc (assign): Invalidate matrix type. + + * ov-base-sparse.cc (SparseType sparse_type (void), + SparseType sparse_type (const SparseType&): + Functions to read and set sparse matrix type. + + * ov-bool-sparse.cc (load_binary): Remove third argument. + (load_hdf5): Cast hsize_t comparisions with int to avoid warning. + * ov-cx-sparse.cc (load_hdf5): Ditto. + * ov-re-sparse.cc (load_hdf5): Ditto. + + * ov-re-sparse.cc (convert_to_str_internal): Add third argument + for string type. + * ov-re-sparse.h (convert_to_str_internal): Adject declaration. + + * sparse-xdiv.cc (xdiv, xleftdiv): Pass SparseType as third + argument, use it and return it to allow caching of type. + * sparse-xdiv.h (xdiv, xleftdiv): Change declarations for third + argument of type SparseType. + + * DLD-FUNCTIONS/luinc.cc (Fluinc): Use type_name and not + class_name to test for real/complex sparse matrices. + Set matrix type. + + * DLD-FUNCTIONS/splu.cc (Fsplu): Set matrix type. + + * OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, + OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, + OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, + OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc (div, ldiv): + Pass and recache SparseType wirh xdiv/xleftdiv. + +2005-04-29 John W. Eaton + + * file-io.cc (maybe_warn_interface_change): Delete function. + (fopen_mode_to_ios_mode): Don't call it. + +2005-04-27 John W. Eaton + + * ov-fcn-handle.cc (octave_fcn_handle::subsref): + Check whether function referenced by handle is out of date. + (Ffunctions): Tag nameless user function as "command-line". + + * variables.cc (symbol_out_of_date (octave_fucntion *)): New function. + (function_out_of_date): New function. + * parse.y (load_fcn_from_file (const std::string&, bool)): + New function. + + * DLD-FUNCTIONS/gplot.l (gnuplot_init): New function to handle + initialization. If builtin variables have already been installed, + simply update our cached values. + (F__gnuplot_init__): Call gnuplot_init to do all the real work. + (Fclearplot, Fcloseplot, Fhold, Fishold, Fpurge_tmp_files, + F__gnuplot_raw__, F__gnuplot_set__, F__gnuplot_plot__, + F__gnuplot_splot__, F__gnuplot_replot__, Fgplot, Fgsplot, Fgraw, + Fgset, Fgshow): Call gnuplot_init before doing anything. + + * parse.y: (safe_fclose): Delete comment list to avoid memory leak. + (parse_and_execute (FILE *)): Also save and restore global_command. + +2005-04-26 John W. Eaton + + * mkbuiltins (VAR_FILES): Expect $(VAR_FILES) to have .df suffix. + + * Makefile.in (clean): Also remove $(DLD_PICOBJ). + Use mk-oct-links --delete to remove links to .oct files. + Remove $(DOC_FILES) not $(DEF_FILES) and $(VAR_FILES). + + * mk-oct-links (mk-oct-links): Handle --delete option. + Rename -p option to be --print. Skip nonexistent .df files. + +2005-04-25 John W. Eaton + + * oct-hist.cc (default_history_file, default_history_size): Now static. + * oct-hist.h: Delete decls. + + * oct-hist.cc (default_history_timestamp_format, + default_history_timestamp_format): New functions. + (Vdefault_history_timestamp_format): New variable. + (symbols_of_oct_hist): DEFVAR it. + (octave_history_write_timestamp): New function. + * oct-hist.h (octave_history_write_timestamp): Provide decl. + * toplev.cc (): call octave_history_write_timestamp here. + * octave.cc (maximum_braindamage): + Bind history_timestamp_format_string here. + +2005-04-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.9.2. + (OCTAVE_API_VERSION): Now api-v15. + + * pager.cc (default_pager): Also append -X. + + * DLD-FUNCTIONS/dispatch.cc (Fdispatch): Dispatch help on "string" + and "sq_string" types. + (dispatch_record): Add extra space to force new paragraph after + each dispatched function name if we are formatting with Texinfo. + Force noindent of preceding "Overloaded function:" tag. + +2005-04-21 John W Eaton + + * ls-mat5.cc (read_mat5_binary_element): Only read sparse matrix + values if sizeof (int) == sizeof (octave_idx_type). + + * DLD-FUNCTIONS/colamd.cc: These functions only work if + sizeof (int) == sizeof (octave_idx_type). + + * Makefile.in (parse.cc): Expect 14 shift/reduce conflicts. + + * parse.y (USING TITLE WITH AXES COLON OPEN_BRACE CLEAR): + Delete unused tokens. + + * DLD-FUNCTIONS/__qp__.cc (qp): Use octave_idx_type where needed. + + * DLD-FUNCTIONS/__qp__.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2005-04-20 John W. Eaton + + * lex.l (IDENT): Allow $ in identifiers. + * utils.cc (valid_identifier): Likewise. + +2005-04-19 John W. Eaton + + * toplev.cc (Fsystem): Move enum exec_type declaration to file + scope and rename system_exec_type. Change all uses. + +2005-04-14 David Bateman + + * load-save.cc (Vdefault_save_format, Voctave_core_file_format): + Delete variables. + (Vdefault_save_options, Voctave_core_file_options): New variables. + (get_save_format): Delete function. + (parse_save_options (const string_vector&, ...), + parse_save_options (const std::string&, ...)): New functions. + (dump_octave_core): Allow save_as_floats to be used. + (dump_octave_core): Parse save options. + (Fsave): Split parsing of options, and default formats. + (default_save_format): Delete function and DEFVAR. + (default_save_options): New function. DEFVAR it. + (octave_core_file_format): Delete function and DEFVAR. + (octave_core_file_options): New function. DEFVAR it. + + * octave.cc (default_save_format): Delete binding + (default_save_options): New bindings + + * Makefile.in: Add luinc.cc to DLD_XSRC. + * DLD-FUNCTIONS/luinc.cc: New file for incomplete LU factorization. + + * ov-bool-sparse.h (index_vector): New function. + * ov-re-sparse.cc (index_vector): Ditto. + * ov-re-sparse.h (index_vector): Definition. + + * ov-mapper.cc (any_element_less_than, any_element_greater_than): + New versions for SparseMatrix + (SPARSE_MAPPER_LOOP_2, SPARSE_MAPPER_LOOP_1, SPARSE_MAPPER_LOOP): + New macros. + (octave_mapper::apply): Add special cases for sparse arguments to + the mapper functions + + * ov-re-sparse.cc (streamoff_array_value): Use octave_idx_type. + (convert_to_str_internal): New function. + * ov-re-sparse.h (convert_to_str_internal): Definition. + + * DLD-FUNCTIONS/sparse.cc (Fsparse): More care for nargin=2 case. + + * DLD-FUNCTIONS/splu.cc (Fsplu): Use octave_idx_type. + +2005-04-14 John W. Eaton + + * strfns.cc (Fchar): If arg is a dq string, return a dq string. + + * pt-mat.cc (Vwarn_string_concat): New static variable. + (symbols_of_pt_mat): DEFVAR it. + (warn_string_concat): New function. + (maybe_warn_string_concat): New function. + (tree_matrix::rvalue): If all args are single quoted strings, + create a single quoted string object. If all args are strings + (any type), create a double quoted string object. If a mixture of + string types, maybe warn. + (class tm_row_const, class tm_row_const_rep, class tm_const): + Note whether all values are double or single quoted strings. + + * ov.h (octave_value::is_dq_string): New function. + +2005-04-13 John W. Eaton + + * strfns.cc (Fchar): Create sq_string objects here. + +2005-04-12 John W. Eaton + + * file-io.cc (Ffprintf, Fprintf, Fsprintf): + Pass octave_value to octave_stream::printf for FMT. + (Fscanf, Fsscanf): Likewise, for octave_stream::scanf and + octave_stream::oscanf. + + * oct-stream.cc, oct-stream.h (octave_stream::printf, + octave_stream::scanf, octave_stream::oscanf): New versions that + accept an octave_value for FMT. + (octave_stream::puts): New version that accepts octave_value for + value to print. + (octave_base_stream::do_scanf): If all_char_conv, force + conversion to string to avoid warning. + + * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_sq_str): New class. + (octave_char_matrix_dq_str): New typedef. + + * ov.h, ov.cc: All string constructors now take type argument. + + * ov.cc (install_types): Register octave_char_matrix_sq_str. + + * ov.h (octave_value::convert_to_str): New arg, type. + (octave_value::convert_to_str_internal): Likewise. + Change all derived classes. + + * ov.h (octave_value::is_sq_string): New predicate. + + * octave.gperf (__FILE__): Now a DQ_STRING. + + * ls-mat4.cc (read_mat_binary_data): Force sq strings here. + * ls-mat5.cc (read_mat5_binary_element): And here. + + * lex.l ([\;\,]): Return SQ_STRING, not STRING. + ([^#% \t\r\n\;\,\"\'][^ \t\r\n\;\,]*{S}*): Likewise. + (handle_string): Type of string to return depends on delimeter. + + * parse.y (DQ_STRING, SQ_STRING): New token types. + (STRING): Delete token type. + (string): New non-terminal. + (constant): Recognize string here instead of STRING. + (word_list): Likewise. + (opt_sep): Handle DQ_STRING and SQ_STRING. + + * OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, + OPERATORS/op-str-str.cc: Define operators for both sq and dq + strings. + +2005-04-08 John W. Eaton + + * Makefile.in (clean): Use exact filenames instead of *.xxx. + Also remove PKG_ADD. + (DISTFILES): Add gplot.cc to the list. + (maintainer-clean): Remove gplot.cc here. + + * Initial merge of 64-bit changes from Clinton Chee: + + 2005-04-07 John W. Eaton + + * ls-oct-ascii.h, ls-oct-ascii.cc (extract_keyword): Now template + functions defined in the header file. + + * ls-mat5.cc, ov-base-sparse.h, ov-base.h, ov-bool-sparse.cc + ov-cx-sparse.cc, ov-re-sparse.cc, ov.cc, pt-loop.cc, + sparse-xdiv.cc, sparse-xpow.cc, DLD-FUNCTIONS/sparse.cc, + DLD-FUNCTIONS/spdet.cc: + Use octave_idx_type instead of int where needed. + + 2005-03-31 Clinton Chee + + * Cell.cc, Cell.h, data.cc, defaults.cc, dirfns.cc, file-io.cc, + gripes.cc, gripes.h, ls-mat-ascii.cc, ls-mat4.cc, ls-oct-ascii.cc, + oct-map.cc, oct-map.h, oct-obj.cc, oct-obj.h, oct-stream.cc, + oct-stream.h, octave.cc, ops.h, ov-base-mat.cc, ov-base.h, + ov-bool-mat.cc, ov-cell.cc, ov-cs-list.cc, ov-cx-mat.cc, + ov-intx.h, ov-list.cc, ov-mapper.cc, ov-range.cc, ov-range.h, + ov-re-mat.cc, ov-scalar.h, ov-str-mat.cc, ov-struct.cc, ov.cc, + ov.h, pr-output.cc, pt-arg-list.cc, pt-cell.cc, pt-loop.cc, + pt-mat.cc, pt-select.cc, symtab.h, utils.cc, utils.h, xdiv.cc, + xpow.cc: + Use octave_idx_type instead of int where needed. + + 2005-04-01 John W. Eaton + + * toplev.cc (octave_config_info): Add USE_64_BIT_IDX_T to the list. + * oct-conf.h.in (OCTAVE_CONF_USE_64_BIT_IDX_T): Substitute here. + + 2005-03-31 John W. Eaton + + * DLD-FUNCTIONS/sort.cc: Don't use unsigned int for index into + dim_vector, or cast dim to unsigned int. + (Fsort): No need to cast arg before asking for dims. + + * DLD-FUNCTIONS/gcd.cc (Fgcd): Use OCTAVE_LOCAL_BUFFER to allocate + local array of NDArray objects. + + 2005-03-31 Clinton Chee + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/chol.cc, DLD-FUNCTIONS/colloc.cc, + DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, + DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/det.cc, + DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/expm.cc, DLD-FUNCTIONS/fft.cc, + DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc, + DLD-FUNCTIONS/fftw_wisdom.cc, DLD-FUNCTIONS/filter.cc, + DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/fsolve.cc, + DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/hess.cc, DLD-FUNCTIONS/inv.cc, + DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/lu.cc, + DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/quad.cc, + DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc, + DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/sort.cc, + DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/svd.cc, + DLD-FUNCTIONS/syl.cc: + Use octave_idx_type instead of int where needed. + +2005-04-06 David Bateman + + * Makefile.in: Link to UMFPACK_LIBS. Add zfstream.{cc,h} to build and + dist files. + + * zfstream.cc: New file for C++ binding for fstream like class for + zlib. + + * zfstream.h: Definition for fstream like C++ bindings to zlib. + + * load-save.cc (static bool check_gzip_magic (const std::string&)): + New function to look for GZIP magic + (static load_save_format get_file_format (const istream &file)): New + function split from old get_file_format but passed istream to allow + use with zlib istream. + (static load_save_format get_file_format (const std::string&, + const std::string&, bool)): Modify the test uncompressed file first, + then compressed version + (Fload) Allow -v6, -6, -v7 and -7 options. Split load code to allow + use of zlib. + (Fsave) Allow -zip, -z, -v6, -6, -v7 and -7 options. Split save code + to allow use of zlib. + + * load-save.h: add LS_MAT7_BINARY to load_save_format enum + + * ls-mat5.cc (read_mat5_binary_element): Test for miCOMPRESSED flag for + matlab v7 files, and decompress data in memory. Allow reading of matlab + logical variables either in mxDOUBLE_CLASS or mxUINT8_CLASS. + (int save_mat5_array_length(const double*, ...): New function to + calculate number of bytes used to save NDArray. + (int save_mat5_array_length(const Complex*, ...): New function to + calculate number of bytes used to save ComplexNDArray. + (int save_mat5_element_length): New function to find number of bytes + needed to save data element. + (save_mat5_binary_element): New input arguments, mat7_format and + compressing, that define if we are in a matlab v7 format and where we + are currently compressing the data element. If mat7_format use + miCOMPRESSED flag for matlab v7 files, and compress data in memory. + Add capability to save logical variables as mxUINT8_CLASS. If v7 + format maximum variable length is 63 characters and not 31. Use the + save_mat5_element_length function to pre-calculate the number of bytes + taken by a variable rather than use a negative seek to correct after + writing (zlib can't do negative seeking) + + * ls-mat5.h: Add to miCOMPRESSED, miUTF8, miUTF16 and miUTF32 flags to + the enum mat5_data_type. + (save_mat5_binary_element): Add args mat7_format and compressing to the + definition. + +2005-04-06 John W. Eaton + + * OPERATORS/op-scm-scm.cc: Delete #pragma implementation. + +2005-04-05 John W. Eaton + + * ov-ch-mat.h (octave_char_matrix::index_vector): New function. + + * oct-stream.cc (BEGIN_C_CONVERSION): Clear stream state if + we hit EOF after we read something. + + * pt-assign.cc (tree_multi_assignment::rvalue): + Allow assignments of the form [a,b,c] = x{:}. + +2005-03-30 John W. Eaton + + * mappers.cc (install_mapper_functions): Use std:: as needed. + * defun-int.h (DEFUN_MAPPER_INTERNAL): Don't use X_CAST on + function pointer args. + + * ov-complex.cc, ov-cx-mat.cc, xpow.cc, ls-mat5.cc: Use std:: for + Complex functions instead of relying on wrappers from oct-cmplx.h. + + * oct-stream.cc (octave_scan): Initialize c1 to EOF. + +2005-03-29 John W. Eaton + + * utils.cc (get_dimensions): Produce error instead of warning if + given a matrix argument. + + * load-save.cc (Fload, Fsave): Also accept -V4 option. + + * ls-hdf5.h (hdf5_fstreambase::hdf5_fstreambase, + hdf5_fstreambase::open): Use & instead of == to test whether mode + is std::ios::in or std::ios::out. + (hd5_ifstream::istream, hd5_ifstream::open, hd5_ofstream::istream, + hd5_ofstream::open): Default mode now includes binary flag. + +2005-03-28 John W. Eaton + + * oct-stream.cc (octave_stream::write): For compatibility, Write + zeros instead of seeking if SKIP is nonzero. + + * DLD-FUNCTIONS/gplot.l (Fgraw): Recommend __gnuplot_raw__, not + __gnuplot__raw__. + (Fgshow): Recommend __gnuplot_show__, not __gnuplot__show__. + Don't add "mark_as_rawcommand ("replot")" to PKG_ADD file. + +2005-03-26 John W. Eaton + + * input.cc (gnu_readline): Don't wrap call to command_editor::readline + with {BEGIN,END}_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. + +2005-03-25 John W. Eaton + + * toplev.cc (main_loop): Don't use octave_set_current_context here. + + * pt-loop.cc (simple_for_loop::eval): In for i = matrix ... end, + skip loop if matrix is empty. Likewise for cell arrays. + +2005-03-24 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Texinfoize doc string. + + * Makefile.in (install-oct): Always create $(octfiledir) and + install PKG_ADD file there. + + * octave.cc (octave_main): Fix logic in test for exit after + evaluating --eval option code. + +2005-03-23 John W. Eaton + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Require 9 arguments. + Print error messages and return early if value extractions fail. + Default for message level now 0. + Rename local variable error to be errnum. + (glpk_fault_hook): Call message instead of writing to octave_stderr. + (glpk_fault_hook): Call error instead of writing to octave_stderr. + (glpk): Likewise. + Declare mark static. Delete declaration of fperr. + (glpk): Delete unnecessary casts. + + * DLD-FUNCTIONS/__glpk__.cc (OCTAVE_GLPK_GET_REAL_PARAM, + OCTAVE_GLPK_GET_INT_PARAM): New macros. + (F__glpk__): Use them. + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Accept lpsolver and + save_pb in param arg instead of as separate args. + Arg list now matches new interface for glpk.m. + Don't return lambda and redcosts fields in extra if isMIP. + + * toplev.cc (do_octave_atexit): Call reset_error_handler before + each call to feval. + +2005-03-22 John W. Eaton + + * Makefile.in: Add special rule for __glpk__.oct. + + * toplev.cc (octave_config_info): Add GLPK_LIBS to the list. + * oct-conf.h.in (OCTAVE_CONF_GLPK_LIBS): Substitute here. + + * DLD-FUNCTIONS/__glpk__.cc (F__glpk__, glpk): + Adapt to Octave coding style. + (glpk): Move decls closer to first use. + (F__glpk__): Eliminate unnecessary loop seting inf values. + Ensure that isMIP is initialized. + Declare sense, nz, and isMIP volatile to avoid GCC warnings that + these variables might be might be clobbered by `longjmp' or `vfork' + + * DLD-FUNCTIONS/__glpk__.cc: New file. + + * Makefile.in (DLD_XSRC): Add it to the list. + +2005-03-21 John W. Eaton + + * octave.cc (maximum_braindamage): + Don't set warn_matlab_incompatible to true. + +2005-03-17 John W. Eaton + + * lex.l (class bracket_brace_paren_nesting_level): Use static + const int members instead of anonymous enum. + +2005-03-16 John W. Eaton + + * ov-struct.cc (octave_struct::save_ascii): Don't convert Cell + object to cs-list. + (octave_struct::save_binary): Likewise + (octave_struct::save_hdf5): Likewise. + + * DLD-FUNCTIONS/gplot.l (Fset, Fshow): Delete. + (F__gnuplot_plot__): Rename from Fgplot. + (F__gnuplot_splot__): Rename from Fgsplot. + (F__gnuplot_raw__): Rename from Fgraw. + (F__gnuplot_set__): Rename from Fgset. + (F__gnuplot_show__): Rename from Fgshow. + (F__gnuplot_replot__): Rename from Freplot. + (WARN_DEPRECATED, DEPRECATED_BODY): New macros. + (Fgplot, Fgsplot, Fgraw, Fgset, Fgshow): New functions. + +2005-03-15 John W. Eaton + + * lex.l ({NL}): Reset lexer_flags.doing_rawcommand + state here. + + * version.h (OCTAVE_API_VERSION): Now 2.9.0. + (OCTAVE_API_VERSION): Now api-v14. + + * Makefile.in (INCLUDES): Delete sparse-ops.h from the list. + + * cellfun.cc: New function from Octave-forge. Adapt to Octave + coding standards. + * Makefile.in (DLD_XSRC): Add it to the list. + +2005-03-14 John W. Eaton + + * DLD-FUNCTIONS/dispatch.cc (Fbuiltin): Avoid crash if symbol + lookup fails. + +2005-03-10 John W. Eaton + + * toplev.cc (Foctave_config_info): Print error instead of crashing + if struct does not contain field we are looking for. + +2005-03-09 John W. Eaton + + * load-save.cc (Fload, Fsave): Accept -text as an alias for -ascii. + Issue warning for future change in meaning of -ascii. + + * Makefile.in (bin-dist): Delete target. + (BINDISTFILES, BINDISTLIBS): Delete variables. + +2005-03-04 John W. Eaton + + * octave.cc (octave_main): Concatenate all --eval arguments. + +2005-03-03 John W. Eaton + + * input.cc (input_from_command_line_file): Move definition here. + * parse.y: From here. + * input.h (input_from_command_line_file): Move decl here. + * parse.h: From here. + + * input.cc (octave_gets): + Don't save history if input is from command line file. + + * parse.y (parse_and_execute, parse_fcn_file, eval_string): + Don't alter value of input_from_command_line_file here. + (input_from_command_line_file): Default value is false. + (eval_string): Turn off line editing here. + + * toplev.cc, toplev.h (main_loop): Delete fun_to_call arg and all uses. + + * octave.cc (fun_to_call): Delete static variable. + (persist, code_to_eval): New static variables. + (long_opts): Delete --funcall, add --eval and --persist. + (usage_string, verbose_usage, octave_main): Likewise. + (FUNCALL_OPTION): Delete. + (EVAL_OPTION, PERSIST_OPTION): New macros. + (maximum_braindamage): Set persist to true. + (execute_eval_option_code): New function. + (restore_program_name): New function. + (execute_command_line_file): New function. + (octave_main): Call execute_eval_option code and + execute_command_line file. If persist, go interactive even after + evaluating --eval code and/or command-line file. + + * ov-bool-sparse.h, ov-bool-sparse.cc + (octave_sparse_bool_matrix::sparse_matrix_value, + octave_sparse_bool_matrix::sparse_complex_matrix_value): + Accept bool arg. + + * parse.y (looks_like_copyright): Check first 9 characters, not 14. + +2005-03-02 John W. Eaton + + * oct-stream.cc (octave_scan (std::istream&, const + scanf_format_elt&, double*)): New specialization to handle Inf, + NaN, and NA. + + * parse.y (looks_like_copyright): + Rename from looks_like_octave_copyright. Change all uses. + Simply match "Copyright". + +2005-03-01 John W. Eaton + + * DLD-FUNCTIONS/odessa.cc: Delete. + * Makefile.in (DLD_XSRC): Remove it from the list. + (OPT_HANDLERS): Remove ODESSA-opts.cc from the list. + +2005-02-28 John W. Eaton + + * toplev.cc (octave_config_info): Remove LIBGLOB and GLOB_INCFLAGS + from the list. + * oct-conf.h.in (OCTAVE_CONF_LIBGLOB, OCTAVE_CONF_GLOB_INCFLAGS): + Delete. + * Makefile.in (OCTAVE_LIBS): Remove $(LIBGLOB) from the list. + +2005-02-25 John W. Eaton + + Sparse merge. + + 2005-02-25 John W. Eaton + + * DLD-SRC/rand.cc (Frand): Accept "state" as an alias for "seed". + + * DLD-SRC/dispatch.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + + 2005-02-13 David Bateman + + * ov-fcn-inline.h, DLD-FUNCTIONS/spparms.cc, DLD-FUNCTIONS/gcd.cc: + Remove additional licensing clause, with authors permission + + * ov-base-sparse.h: New constructor to cache SparseType, not yet + used + * ov-re-sparse.h: likewise + * ov-cx-sparse.h: likewise + * ov.h: Likewise + + * sparse-xdiv.cc: Remove spparms umfpack flag + + * DLD-FUNCTIONS/spparms.cc: Warning that umfpack flag is ignored. + + 2005-01-16 David Bateman + + * ls-mat5.cc (read_mat5_integer_data): Change "T &m" to "T *m" and + instantiate with values like octave_int8 rather than int8NDArray. + Modify function to fit + (read_mat5_binary_element): Use new form of read_mat_integer_data + to read data directly into sparse matrix + (write_mat5_integer_data): Change "const T &m" to "T *m", etc. New + instantiation with int. + (save_mat5_binary_element): Modify to save sparse data + + 2005-01-15 David Bateman + + * data.cc (do_cat): Use first non-empty matrix as base for + concatenation. + * pt-mat.cc (tree_matrix::rvalue): ditto. + + 2005-01-14 John W. Eaton + + * ov.cc (do_cat_op): When checking for empty args, use + all_zero_dims, not numel. + * ov.h (octave_value::all_zero_dims): New function. + + * ov-bool-sparse.cc (try_narrowing_conversion): Convert to + bool_matrix, not matrix. + + 2005-01-13 David Bateman + + * data.cc (make_diag): Use numel not capacity to remove ambiguity. + * ov.h (octave_value::capacity): New virtual funtion. + * ov-base.h (octave_base_value::capacity): New function calls numel. + * data.cc (Freshape): Use arg.numel() rather than arg.dims().numel() + since sparse numel now consistent. + * symtab.h (symbol_record::symbol_def::capacity, + symbol_record::capacity): New methods. + * symtab.cc (symbol_record::print_symbol_info_line, + symbol_table::parse_whos_line_format, symbol_table::maybe_list): + used capacity() and not numel() to properly assess size of + sparse objects. + * ov-base-sparse.h (octave_base_sparse::capacity): New function, + (octave_base_sparse::numel): Delete. + * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value): + Only fill from non-zero elements of sparse array. + * DLD-FUNCTIONS/splu.cc (Fsplu): Change use of nelem to numel. + * ov.cc (do_cat_op): Early return for concatenation with empty + objects. + + 2005-01-12 John W. Eaton + + * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings. + + 2005-01-11 John W. Eaton + + * OPERATORS/op-double-conv.cc: New conversions for sparse_matrix + and sparse_bool_matrix to matrix. + + 2005-01-11 David Bateman + + * ov-base-sparse.h (octave_base_sparse::any, + octave_base_sparse::all): Use new constructors, etc as pointed out + by JWE. + + 2005-01-10 John W. Eaton + + * DLD-FUNCTIONS/sparse.cc (MINMAX_BODY, Fspatan2, make_spdiag): + Write retval(0) = result instead of retval(0) = octave_value (result). + * DLD-FUNCTIONS/splu.cc (Fsplu): Likewise. + + 2005-01-08 David Bateman + + * ls-mat5.cc (read_mat5_integer_data): Instantiate for Array + (read_mat5_binary_element): Add code to read sparse matrices + saved in matlab v5 format + + 2005-01-07 David Bateman + + * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, + OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc, + OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, + OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc, + OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc, + OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc, + OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc, + OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc, + OPERATORS/op-sm-sm.cc, OPERATORS/op-s-scm.cc, + OPERATORS/op-s-sm.cc: New octave_value constructors allow + macros from ops.h to be used rather than sparse-ops.h. Remove + other explicit uses of maybe_mutate. + + * sparse-ops.h: delete file. + + * colamd.cc (Fcolamd, Fsymamd, Fetree): Remove no longer needed + use of get_rep() and use the sparse matrix conversion functions + directly. + + * data.cc (Freshape): Use arg.dims().numel() rather than + arg.numel() due to definition of numel for sparse matrices. + + * sparse.cc (Ffull, Fspfind, SPARSE_DIM_ARG_BODY, MINMAX_BODY, + Fspatan2, make_spdiag): Convert to use new octave_value sparse + constructors, sparse matrix conversion functions and remove + maybe_mutate calls. + (Fspreshape): Delete + + * splu.cc (Fsplu): Remove remaining explicit octave_value + construction. + + * ov-base-sparse.h (do_index_op, resize, reshape, permute, squeeze): + Move these methods from the derived classes. + * ov-base-spase.cc (do_index_op): Move this method from the derived + classes. + * ov-bool-sparse.h (do_index_op, resize, reshape, permute, squeeze): + delete. + * ov-re-spase.cc (do_index_op): delete. + * ov-cx-sparse.h (do_index_op, resize, reshape, permute, squeeze): + delete. + * ov-cx-spase.cc (do_index_op): delete. + * ov-bool-spase.cc (do_index_op): delete. + * ov-re-sparse.h (do_index_op, resize, reshape, permute, squeeze): + delete. + + * DLD-FUNCTIONS/spdet.cc (Fspdet): Remove use of SparseDet and + SparseComplexDET classes and use DET and ComplexDET classes. + + * DLD-FUNCTIONS/colamd.cc op-bm-sbm.cc OPERATORS/op-b-sbm.cc + OPERATORS/op-cm-scm.cc OPERATORS/op-cm-sm.cc OPERATORS/op-cs-scm.cc + OPERATORS/op-cs-sm.cc OPERATORS/op-fil-sbm.cc OPERATORS/op-fil-scm.cc + OPERATORS/op-fil-sm.cc OPERATORS/op-m-scm.cc OPERATORS/op-m-sm.cc + OPERATORS/op-sbm-b.cc OPERATORS/op-sbm-bm.cc OPERATORS/op-sbm-sbm.cc + OPERATORS/op-scm-cm.cc OPERATORS/op-scm-cs.cc OPERATORS/op-scm-m.cc + OPERATORS/op-scm-s.cc OPERATORS/op-scm-scm.cc OPERATORS/op-scm-sm.cc + OPERATORS/op-sm-cm.cc OPERATORS/op-sm-cs.cc OPERATORS/op-sm-m.cc + OPERATORS/op-sm-s.cc OPERATORS/op-sm-scm.cc OPERATORS/op-sm-sm.cc + OPERATORS/op-s-scm.cc OPERATORS/op-s-sm.cc ov-base-sparse.cc + ov-base-sparse.h ov-bool-sparse.cc ov-bool-sparse.h ov-cx-sparse.cc + ov-cx-sparse.h ov-re-sparse.cc ov-re-sparse.h sparse-base-lu.cc + sparse-base-lu.h DLD-FUNCTIONS/sparse.cc sparse-xdiv.cc sparse-xdiv.h + sparse-xpow.cc sparse-xpow.h DLD-FUNCTIONS/spdet.cc + DLD-FUNCTIONS/splu.cc DLD-FUNCTIONS/spparms.cc: Remove additional + licensing clause with authors permission. + + 2005-01-05 David Bateman + + * DLD-FUNCTIONS/colamd.cc: Rename from colamdoct.cc. Base colamd.h + now found in COLAMD/colamd.h. + (Fcolamd): Return value is now used. + (Fsymamd): ditto. + + * Makefile.in: include colamd.cc in DLD_XSRC. + + * ov.h (sparse_matrix_value, sparse_complex_matrix_value, + sparse_bool_matrix_value): New virtual functions + + * ov-base.cc (octave_base_value::sparse_matrix_value, + octave_base_value::sparse_complex_matrix_value, + octave_base_value::sparse_bool_matrix_value): New default sparse + matrix extraction functions. + + * ov-base.h (sparse_matrix_value, sparse_complex_matrix_value, + sparse_bool_matrix_value): Declare them. + + * ov-re-mat.cc (octave_matrix::sparse_matrix_value, + octave_matrix::sparse_complex_matrix_value): Conversion functions. + + * ov-re-mat.h (sparse_matrix_value, sparse_complex_matrix_value): + Declare them. + + * ov-cx-mat.cc (octave_complex_matrix::sparse_matrix_value, + octave_complex_matrix::sparse_complex_matrix_value): Conversion + functions. + + * ov-cx-mat.h (sparse_matrix_value, sparse_complex_matrix_value): + Declare them. + + * ov-bool-mat.h (sparse_matrix_value, sparse_complex_matrix_value, + sparse_bool_matrix_value): Conversion functions. + + * DLD_FUNCTIONS/spdet.cc (Fspdet): Use the above constructors + and conversion functions. + * DLD_FUNCTIONS/splu.cc (Fsplu): ditto. + + 2004-12-30 John W. Eaton + + * DLD-FUNCTIONS/splu.cc (Fsplu): Avoid shadow warnings. + + * sparse-xpow.cc (elem_xpow): Delete unsed variables. + * sparse-xdiv.cc (x_el_div): Likewise. + + * DLD-FUNCTIONS/det.cc (Fdet): Delete unused argument nargout. + * DLD-FUNCTIONS/spdet.cc (Fspdet): Likewise. + + * DLD-FUNCTIONS/sparse.cc (Fnzmax): Return a value. + + * ov.cc, ov.h (octave_value::octave_value (const SparseMatrix&), + (octave_value::octave_value (const SparseBoolMatrix&), + (octave_value::octave_value (const SparseComplexMatrix&)): + New constructors. + + 2004-12-29 John W. Eaton + + * DLD-FUNCTIONS/sparse.cc (SPARSE_DIM_ARG_BODY): Rename from + DEFUN_DLD_SPARSE_DIM_ARG. Omit HELP arg. Omit DEFUN_DLD, so the + macro only defines the function body. + (Fspprod, Fspcumprod, Fspsum, Fspcumsum, Fspsumsq): Define with + DEFUN_DLD, not DEFUN_DLD_SPARSE_DIM_ARG. Use SPARSE_DIM_ARG_BODY + to define function body. + + * DLD-FUNCTIONS/sparse.cc (load_sparse_type, sparse_type_loaded): + Delete function, variable, and all uses. + * ov.cc: Include ov-bool-sparse.h, ov-re-sparse.h, ov-cx-sparse.h. + (install_types): Register sparse types. + + Merge of sparse code from David Bateman and + Andy Adler . + + * sparse-xdiv.cc, sparse-xpow.cc: New files. + * Makefile.in (DIST_SRC): Add them to the list. + + * sparse-ops.h sparse-xdiv.h, sparse-xpow.h: New files. + * Makefile.in (INCLUDES): Add them to the list. + + * DLD-FUNCTIONS/colamdoct.cc, DLD-FUNCTIONS/sparse.cc, + DLD-FUNCTIONS/spdet.cc, DLD-FUNCTIONS/splu.cc, + DLD-FUNCTIONS/spparms.cc: New files. + * Makefile.in (DLD_XSRC): Add them to the list. + + * ov-base-sparse.cc, ov-base-sparse.h, ov-bool-sparse.cc, + ov-bool-sparse.h, ov-cx-sparse.cc, ov-cx-sparse.h, + ov-re-sparse.cc, ov-re-sparse.h: New files. + * Makefile.in (OV_SPARSE_SRC, OV_SPARSE_INCLUDES): New lists. + (OV_SRC): Add $(OV_SPARSE_SRC) to the list. + (INCLUDES): Add $(OV_SPARSE_INCLUDES) to the list. + + * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, + OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, + OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, + OPERATORS/op-fil-sbm.cc, OPERATORS/op-fil-scm.cc, + OPERATORS/op-fil-sm.cc, OPERATORS/op-m-scm.cc, + OPERATORS/op-m-sm.cc, OPERATORS/op-sbm-b.cc, + OPERATORS/op-sbm-bm.cc, OPERATORS/op-sbm-sbm.cc, + OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, + OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, + OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, + OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, + OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, + OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, + OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: New files. + * Makefile.in (SPARSE_OP_XSRC): New list. + (OP_XSRC): Add $(SPARSE_OP_XSRC) to the list. + +2005-02-23 John W. Eaton + + * parse.y (fold (tree_binary_expression*)): Skip constant folding + for some expressions to preserve warnings. + (Vwarn_associativity_change): New static variable. + (warn_associativity_change): New function. + (symbols_of_parse): DEFVAR warn_associativity_change. + (maybe_warn_associativity_change): New function. + (make_binary_op): Use it. + +2005-02-22 John W. Eaton + + * parse.y (POW, EPOW): Use %left associativity for compatibility. + + * ov-base-int.cc (octave_baes_int_matrix::load_binary): + Handle arrays with only one dimension. + * ov-bool-mat.cc (octave_bool_matrix::load_binary): Likewise. + * ov-cell.cc (octave_cell::load_binary): Likewise. + * ov-cell.cc (octave_complex_matrix::load_binary): Likewise. + * ov-re-mat.cc (octave_matrix::load_binary): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::load_binary): Likewise. + + * ov-mapper.cc (octave_mapper::subsref): Return retval after + calling next_subsref. + + * ov-mapper.cc (octave_builtin::subsref): If nargout is 0 and we + have additional indexing to perform, set it to 1 before calling + do_multi_index_op. + + * oct-map.cc (Octave_map::intfield, Octave_map::stringfield): + New functions. + * oct-map.h: Provide decls. + * DLD-FUNCTIONS/time.cc (extract_tm): Use intfield and stringfield + to access map elements. + +2005-02-21 John W. Eaton + + * ov-builtin.cc (octave_builtin::subsref): If nargout is 0 and we + have additional indexing to perform, set it to 1 before calling + do_multi_index_op. + * ov-usr-fcn.cc (octave_user_function::subsref): Likewise. + + * DLD-FUNCTIONS/gplot.l (send_to_plot_stream): + Replot with no previous plot is a no-op. + (makeplot): Likewise. + (Vautomatic_replot): Don't use this variable in low-level functions. + +2005-02-18 John W. Eaton + + * Makefile.in (oct-gperf.h): Remove -E from list of gperf options. + + * data.cc (do_permute): Use zero-based indexing for permutation + vector that is passed to octave_value::permute method. + Allow permutation vector longer than number of dimenensions of + permuted matrix. + +2005-02-17 John W. Eaton + + * version.h (OCTAVE_API_VERSION): Now 2.1.64-cvs. + (OCTAVE_API_VERSION): Now api-v12-cvs. + +2005-02-16 John W. Eaton + + * ov-base-mat.h (octave_base_matrix::squeeze): Explicitly convert + result of matrix.squeeze() to MT. + +2005-02-15 John W. Eaton + + * dirfns.cc (deftypefn): Don't print to octave_stdout if nargout > 0. + + * pt-mat.cc (tree_matrix::rvalue): Min size of ra_idx is 2. + + * file-io.cc (Ffclear): New function. + + * sighandlers.h: Define SIGCHLD if it is not already defined and + SIGCLD is defined. + + * sighandlers.cc (octave_set_signal_handler): Request system calls + restarted if interrupted by signals (except for SIGALRM). + * dirfns.cc (Fls): Don't bother with sleeping or checking errno. + +2005-02-11 John W. Eaton + + * sighandlers.cc (sigpipe_handler): Don't try to take action. + Set octave_signal_caught and octave_signals_caught here. + (sigchld_handler): Call octave_child_list::wait here. + Set octave_signal_caught and octave_signals_caught here. + (octave_signals_caught): New static file-scope variable. + (sigint_handler): Also set octave_signal_caught. + + * sighandlers.cc (sigpipe_handler): + + * DLD-FUNCTIONS/gplot.l (plot_stream_event_handler): Rename from + plot_stream_death_handler. Return true if plotter has exited. + Call close_plot_stream with false arg. + (plot_stream_pid): Delete static file-scope variable and all uses. + (close_plot_stream): New arg, remove_from_child_list, with default + value of true. Only call octave_child_list::remove if + remove_from_child_list is true. + + * pager.cc (octave_pager_pid, saved_interrupt_handler, + interrupt_handler_saved): Delete static file-scope variables and + all uses. + (clear_external_pager): Do nothing if external_pager is 0. + (pager_event_handler): Rename from pager_death_handler. + Improve warning message. Return true if pager has exited. + (octave_pager_buf::do_sync): Check errno == EPIPE after write. + (flush_octave_stdout): No need to check external_pager before + calling clear_external_pager. + + * toplev.cc (recover_from_exception): Set octave_signal_caught to zero. + (main_loop): Set octave_signal_hook to octave_signal_handler here. + + * sighandlers.cc (octave_signal_handler): New function. + * sighanlders.h: Provide decl. + + * sighandlers.cc (install_signal_handlers): Initialize + octave_signals_caught. + + * sighandlers.h (octave_child::status, have_status): New data members. + (child_event_handler): Rename from dead_child_handler. + Change all uses. + (octave_child_list::reap, octave_child_list::wait): New functions. + (octave_child_list::length, octave_child_list::do_length, + octave_child_list::elem, octave_child_list::do_elem, + octave_child_list::list, octave_child_list::curr_len): Delete. + + * sighandlers.h, sighandlers.cc + (octave_child_list::octave_child_list_rep): New class. + + * input.cc (gnu_readline, octave_gets, get_user_input): + Call OCTAVE_QUIT before doing anything. + + * base-list.h (octave_base_list::remove_if): New function. + + * TEMPLATE-INST/Array-oc.cc: Delete. + * Makefile.in (TI_XSRC): Remove from list. + +2005-02-10 Driss Ghaddab + + * cutils.c (octave_usleep) [HAVE_POLL]: Fix typo. + +2005-02-10 John W. Eaton + + * variables.cc (symbol_exist): Don't search path if explicitly + asked for a variable or builtin. From David Bateman + . + +2005-02-09 John W. Eaton + + * variables.cc (same_file): New static function. + (symbol_out_of_date): Use it. + + * syscalls.cc (Fcanonicalize_file_name): New function. + +2005-02-08 Walter Landry + + * symtab.h (symbol_record::mark_as_command): Avoid AIX compiler error. + +2005-02-07 John W. Eaton + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): Return [] instead + of [](1x0) for scalar arg of zero. + +2005-02-06 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (tmp_files): Delete. + From Todd Neal . + +2005-02-04 John W. Eaton + + * sighandlers.cc (octave_child_list::~octave_child_list): Move here. + * sighandlers.h: From here. + +2005-02-02 John W. Eaton + + * Makefile.in (parse.cc): Expect 12 shift/reduce conflicts. + * parse.y (loop_command): Allow "for (k=1:10) ... endfor". + +2005-01-27 David Bateman + + * ov-mapper.cc (octave_mapper::apply): Only work on real arguments + if c_c_map_fcn or d_d_map_fcn or d_b_map_fcn is defined.xo + +2005-01-26 Joel Andersson + + * help.cc (keywords): Document endswitch. + +2005-01-21 John W. Eaton + + * DLD-FUNCTIONS/filter.cc (filter): Avoid slow Marray indexing ops. + +2005-01-20 John W. Eaton + + * Makefile.in (EXTRAS): Move ov-base-mat.cc ov-base-scalar.cc here. + (OV_SRC): From here. + +2005-01-18 John W. Eaton + + * ov-complex.h (octave_complex::any): New function. + * ov-scalar.h (octave_scalar::any): New function. + + * file-io.cc (Fmkstemp): Fix doc string. Error message belongs in + third output value. From Mats Jansson . + +2005-01-12 John W. Eaton + + * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings. + +2005-01-11 John W. Eaton + + * DLD-FUNCTIONS/gplot.l (UNOP): Avoid trailing comment. + +2005-01-10 John W. Eaton + + * ls-oct-ascii.cc (extract_keyword (std::istream&, const + string_vector&, std::string&, int&, const bool)): + Remove duplicate definition. + +2004-12-27 Martin Dalecki + + * Cell.cc, c-file-ptr-stream.cc, comment-list.cc, oct-map.cc, + oct-obj.cc, ov-base.cc, ov-base-int.cc, ov-base-mat.cc, + ov-base-scalar.cc, ov-bool.cc, ov-bool-mat.cc, ov-builtin.cc, + ov.cc, ov-cell.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, + ov-cs-list.cc, ov-cx-mat.cc, ov-dld-fcn.cc, ov-fcn.cc, + ov-fcn-handle.cc, ov-fcn-inline.cc, ov-file.cc, ov-int16.cc, + ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-list.cc, ov-mapper.cc, + ov-range.cc, ov-re-mat.cc, ov-scalar.cc, ov-streamoff.cc, + ov-str-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-uint16.cc, + ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, + ov-va-args.cc, procstream.cc, pt-arg-list.cc, pt-assign.cc, + pt-binop.cc, pt-bp.cc, pt.cc, pt-cell.cc, pt-check.cc, pt-cmd.cc, + pt-colon.cc, pt-const.cc, pt-decl.cc, pt-except.cc, pt-exp.cc, + pt-fcn-handle.cc, pt-id.cc, pt-idx.cc, pt-jump.cc, pt-loop.cc, + pt-mat.cc, pt-misc.cc, pt-pr-code.cc, pt-select.cc, pt-stmt.cc, + pt-unop.cc, symtab.cc, token.cc, unwind-prot.cc: + Delete #pragma implementation. + + * Cell.h, c-file-ptr-stream.h, comment-list.h, oct-map.h, + oct-obj.h, ov-base.h, ov-base-int.h, ov-base-mat.h, + ov-base-scalar.h, ov-bool.h, ov-bool-mat.h, ov-builtin.h, + ov-cell.h, ov-ch-mat.h, ov-complex.h, ov-cs-list.h, ov-cx-mat.h, + ov-dld-fcn.h, ov-fcn.h, ov-fcn-handle.h, ov-fcn-inline.h, + ov-file.h, ov.h, ov-int16.h, ov-int32.h, ov-int64.h, ov-int8.h, + ov-list.h, ov-mapper.h, ov-range.h, ov-re-mat.h, ov-scalar.h, + ov-streamoff.h, ov-str-mat.h, ov-struct.h, ov-typeinfo.h, + ov-uint16.h, ov-uint32.h, ov-uint64.h, ov-uint8.h, ov-usr-fcn.h, + procstream.h, pt-arg-list.h, pt-assign.h, pt-binop.h, pt-bp.h, + pt-cell.h, pt-check.h, pt-cmd.h, pt-colon.h, pt-const.h, + pt-decl.h, pt-except.h, pt-exp.h, pt-fcn-handle.h, pt.h, pt-id.h, + pt-idx.h, pt-jump.h, pt-loop.h, pt-mat.h, pt-misc.h, pt-pr-code.h, + pt-select.h, pt-stmt.h, pt-unop.h, symtab.h, token.h, + unwind-prot.h: Delete #pragma interface. + +2004-12-27 John W. Eaton + + Merge of changes from Teemu Ikonen to + remove gnuplot from main parser. + + * pt-plot.cc, pt-plot.h: Delete. + * Makefile.in (PT_SRC, PT_INCLUDES): Delete them from the lists. + + * DLD-FUNCTIONS/gplot.l: New file. + * Makefile.in: Include it in the DLD_XSRC list. + + * dirfns.cc (octave_change_to_directory): + Don't call do_external_plotter_cd. + + * symtab.h (symbol_record::TYPE): New element, RAWCOMMAND. + (symbol_record::symbol_def::mark_as_rawcommand, + symbol_record::symbol_def::unmark_rawcommand, + symbol_record::symbol_def::is_rawcommand): New functions. + (symbol_record::symbol_def::symbol_type): Bitfield is now 9 bits wide. + (symbol_record::mark_as_rawcommand, + symbol_record::unmark_rawcommand, symbol_record::is_rawcommand): + New functions. + (SYMTAB_ALL_TYPES): Include RAWCOMMAND. + + * parse.y (make_plot_command): Delete function. + (tree_plot_command_type, subplot_type, subplot_list_type, + plot_limits_type, plot_range_type, subplot_using_type, + subplot_style_type, subplot_axes_type): + Delete non-terminal type decls. + (PLOT, STYLE, AXES_TAG): Delete token types. + (title, plot_command, plot_command2, plot_options, plot_command1, + ranges, ranges1, using, using1, style, axes): Delete non-terminals. + + * toplev.cc (do_octave_atexit): Don't call close_plot_stream. + + * variables.cc (rawcommand_set): New static variable. + (is_marked_as_rawcommand, mark_as_rawcommand, unmark_rawcommand, + Fiscommand, Fmark_as_rawcommand, Funmark_rawcommand, + Fisrawcommand, is_rawcommand_name): New functions. + * variables.h: Provide decl for is_rawcommand_name. + + * pt-bp.cc, pt-bp.h, pt-check.cc, pt-check.h, pt-pr-code.cc, + pt-pr-code.h, pt-walk.h: Delete all declarations, definitions, and + uses of visit_subplot, visit_subplot_axes, visit_subplot_list, + visit_subplot_style, and visit_subplot_using methods. + + * lex.h (lexer_flags): New field, doing_rawcommand. + * lex.l ([\;\,]): Also handle raw commands here. + (lexer_flags::init): Initialize doing_racommand to false. + (handle_identifier): Recognize raw commands ere. + (handle_string): Don't do string escape conversions on raw command + strings. + + * octave.gperf: Delete gplot_kw, gsplot_kw, replot_kw. + + * lex.h (lexer_flags): Delete fields cant_be_identifier, + doing_set, in_plot_range, in_plot_using, in_plot_style, + in_plot_axes, past_plot_range, and plotting. + * lex.l: Delete all uses of these lexer flags and remove all + special cases for plotting. + (plot_style_token, plot_axes_token, is_plot_keyword): Delete. + + * file-io.cc, file-io.h (tmp_files, mark_for_deletion, + cleanup_tmp_files): Move here. + * pt-plot.cc, pt-plot.h: From here. + + * Makefile.in (PKG_ADD): New target. + (all): Depend on PKG_ADD. + (install-oct): Depend on PKG_ADD. Install PKG_ADD file. + (gplot.cc): New target. + (stamp-prereq): Depend on gplot.cc. + (VAR): Don't include $(DLD_SRC) here. + (DLD_OBJ, DLD_DEF_FILES): Include .l files. + + * defun-int.h (DEFVAR, DEFCONST, DEFCONSTX): Move definition here. + * defun.h: From here. + +2004-12-22 John W. Eaton + + * ls-oct-ascii.cc (extract_keyword (std::istream&, const + string_vector&, std::string&, int&, const bool): New function. + * ls-oct-ascii.h: Provide decl. + * ov-bool-mat.cc (octave_bool_matrix::load_ascii): + Use new extract_keyword function to avoid calling tellg/seekg. + * ov-cell.cc (octave_cell::load_ascii): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::load_ascii): Likewise. + * ov-re-mat.cc (octave_matrix::load_ascii): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::load_ascii): Likewise. + +2004-12-20 John W. Eaton + + * pt-idx.cc (tree_index_expression::has_magic_end): Return true if + any argument list element has a magic end token. + +2004-12-03 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.64. + +2004-12-03 Teemu Ikonen + + * file-io.cc: Doc string fixes. + +2004-12-02 David Bateman + + * input.cc (get_user_input): Only set nm and line for debugging if + both debug is true and curr_caller_function is non-null. + +2004-12-02 David Bateman + + * ls-mat5.cc (arrayclasstype): Add mxINT64_CLASS, mxUINT64_CLASS, + mxFUNCTION_CLASS enum values. + (read_mat5_integer_data): New template function. + (OCTAVE_MAT5_INTEGER_READ): New macro. + (read_mat5_binary_element): Handle reading integer types. + Eliminate automatic conversion from int to double. + (write_mat5_integer_data): New template function. + Instantiate it for the 8 integer data types + (save_mat5_binary_element): Handle integer data types. + + * load-save.cc (Fload): Check file existence here. + If file does not exist, append ".mat" to name and try again. + (get_file_format): Delete check for file existence. + +2004-11-30 John W. Eaton + + * Makefile.in (oct-gperf.h): Use -L C++ instead of -L ANSI_C. + Use -Z octave_kw_hash option, delete -H and -N options. + * lex.l (is_keyword_token): Use octave_kw_hash::in_word_set + instead of octave_kw_lookup. + (is_keyword): Likewise. + +2004-11-22 John W. Eaton + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + Check to see whether object is a function or function handle + instead of constant. + +2004-11-19 John W. Eaton + + * ov-str-mat.cc (octave_char_matrix_str::do_index_op): + Skip indexing operation if indices are invalid. + + * pr-output.cc (set_range_format, set_complex_matrix_format, + set_complex_format, set_real_matrix_format, set_real_format): + Also specify std::ios::fixed for bank format. + +2004-11-17 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.63. + (OCTAVE_API_VERSION): Now api-v12. + +2004-11-17 David Bateman + + * pt-arg-list.cc (F__end__): Ask dv for the number of elements + instead indexed_object. + +2004-11-16 David Bateman + + * ov.h (octave_value::numel): Now virtual. Call rep->numel (). + * ov.cc (octave_value::numel): Delete. + * ov-base.h (octave_base_value::numel): New function. + +2004-11-12 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.62. + +2004-11-09 John W. Eaton + + * OPERATORS/op-int-concat.cc: New file for mixed integer/other + concatentation operators. + * Makefile.in (INTTYPE_OP_XSRC): Add it to the list. + + * ops.h (DEFNDCATOP_FN2): New macro. + + * OPERATORS/op-int.h (OCTAVE_CONCAT_FN2, + OCTAVE_INSTALL_CONCAT_FN2, OCTAVE_DOUBLE_INT_CONCAT_FN, + OCTAVE_INSTALL_DOUBLE_INT_CONCAT_FN, OCTAVE_INT_DOUBLE_CONCAT_FN, + OCTAVE_INSTALL_INT_DOUBLE_CONCAT_FN): New macros. + +2004-11-09 David Bateman + + * Cell.cc (concat): Delete. + (Cell::concat): New method. + * Cell.h: Provide decls. + + * oct-map.cc (concat): Delete + (Octave_map::concat): New method. + * oct-map.h: Provide decls. + + * ov.h (typedef octave_value (*cat_op_fcn) (octave_value&, + const octave_value&, const Array&): Change definition of + cat_op_fcn so first argument is not constant. + + * ops.h (CATOPDECL): First arg is no longer constant. + (DEFCATOP_FN, DEFNDCATOP_FN): Change to use new concat methods. + + * OPERATORS/op-chm.cc, OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, + OPERATORS/op-str-str.cc (DEFCATOP): Change explicit concat functions + to use new concatenation methods. + +2004-11-05 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.61. + + * DLD-FUNCTIONS/det.cc (det): Always compute rcond so we can + detect numerically singular matrices. + +2004-11-04 John W. Eaton + + * pt-colon.cc (tree_colon_expression::line, + tree_colon_expression::column): New functions. + * pt-colon.h: Provide decls. + + * oct-stream.cc (octave_stream::seek (long, int)): Return error + (but leave file position unchanged) for attempt to seek beyond end + of file. + + * DLD-FUNCTIONS/inv.cc (Finv): Check rcond value returned from + LAPACK routines, and be careful to avoid optimizing away the + 1+rcond == 1.0 check. + * DLD-FUNCTIONS/det.cc (Fdet): Likewise. + +2004-11-03 John W. Eaton + + * data.cc (Fsize): Return 1 if requested dimension is larger than + the number of dimensions of the given object. + +2004-11-01 Claude Lacoursiere a + + * ls-hdf5.cc (read_hdf5_data): Expect num_obj to be in distinct group. + * ov-cell.cc (octave_cell::load_hdf5): Likewise. + * ov-list.cc (octave_list::load_hdf5): Likewise. + * ov-struct.cc (octave_struct::load_hdf5): Likewise. + +2004-11-01 David Bateman + + * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, + MArrayN&, MArrayN&, int)): The variable si is now at least 2-D. + (Ffilter): Force si to be 2-D, while allowing arbitrary vector + orientation. + +2004-11-01 John W. Eaton + + * data.cc (INSTANTIATE_EYE): New macro. Use it to instantiate + identity matrix functions for various matrix types. + + * variables.cc (do_who): Fix typo in for loop. + +2004-10-28 John W. Eaton + + * ls-mat5.cc (save_mat5_binary_element): Save structure elements + in correct order. + +2004-10-26 John W. Eaton + + * ov-fcn.h (octave_function::octave_va_arg): No longer const. + +2004-10-22 John W. Eaton + + * DLD-FUNCTIONS/filter.cc: Remove some unnecessary parens. + +2004-10-22 David Bateman + + * DLD-FUNCTIONS/filter.cc (filter (MArray&, MArray&, + MArrayN&, MArrayN&, int)): If value to filter is + dimensionality 2 it might still be a vector, use special case. + +2004-10-21 John W. Eaton + + * ov-base.cc (INT_CONV_METHOD): Apply saturation semantics here too. + +2004-10-19 John W. Eaton + + * ov-range.h (octave_range::write): New function. + +2004-10-18 John W. Eaton + + * symtab.cc (symbol_record::dimensions_string_req_first_space, + symbol_record::make_dimensions_string): Use dims() for all objects. + +2004-10-18 Oyvind Kristiansen + + * symtab.cc (symbol_table::parse_whos_line_format): Handle + size-of-parameter and center-specific format specifiers. + +2004-10-18 John W. Eaton + + * pt-plot.cc (handle_plot_data): If plotting data from file, + always use "using" clause. + +2004-10-12 David Bateman + + * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element, + tm_const::init): Dimensionality of matrices not necessarily the + same. Check before comparing. + +2004-10-06 John W. Eaton + + * pt-fcn-handle.h (tree_fcn_handle::name): New function. + +2004-10-01 John W. Eaton + + * ov-range.h (octave_range::valid_as_scalar_index): Ensure int value. + (octave_range::valid_as_zero_index): Likewise. + + * ov-scalar.h (octave_scalar::valid_as_scalar_index): Ensure int value. + (octave_scalar::valid_as_zero_index): Likewise. + +2004-09-24 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.60. + (OCTAVE_API_VERSION): Now api-v11. + + * OPERATORS/op-int.h (OCTAVE_MM_INT_OPS): Include missing matrix + by int matrix ops. + (OCTAVE_INSTALL_MM_INT_OPS): Install them. + + * OPERATORS/op-i64-i64.cc: Define and install missing int64 by + matrix and scalar ops. + +2004-09-24 David Bateman + + * ov-fcn-inline (Finline): Attempt better auto-detection of + symbols that should be recognized as arguments. + +2004-09-24 John W. Eaton + + * ov-str-mat.cc (default_numeric_conversion_function): Return + scalar object if numel == 1. + +2004-09-23 John W. Eaton + + * ops.h (DEFSTRDBLCONVFN): New macro. + * OPERATORS/op-double-conv.cc: Use it to define new conversion op. + Define new range to double matrix conversion. + (install_int_conv_ops): Install new ops. + + * ops.h (DEFSTRINTCONVFN): New macro. + * OPERATORS/op-int-conv.cc: Use it to define new conversion ops. + (install_int_conv_ops): Install them. + + * (OCTAVE_SS_INT_OPS2, OCTAVE_SM_INT_OPS2, OCTAVE_MM_INT_OPS2, + OCTAVE_INSTALL_SS_INT_OPS2, OCTAVE_INSTALL_SM_INT_OPS2, + OCTAVE_INSTALL_MS_INT_OPS2, OCTAVE_INSTALL_MM_INT_OPS2): + Delete unused macros. + + * OPERATORS/op-int.h (OCTAVE_SS_INT_BOOL_OPS): New args Z1 and Z2. + (OCTAVE_SS_INT_OPS): Pass appropriately typed zero values to + OCTAVE_SS_INT_BOOL_OPS. + * OPERATORS/op-i64-i64.cc, OPERATORS/op-ui64-ui64.cc: Likewise. + + * pr-output.cc (pr_plus_format): Now template. + Specialize for Complex. + (octave_print_internal): Lookup print_conv_type using + octave_int, not just T. + + * ov-struct.cc (octave_struct::subsref): Pass skip to next_subsref. + + * oct-stream.cc (do_read): Hitting EOF should not be an error. + +2004-09-22 John W. Eaton + + * pt-plot.cc (send_to_plot_stream): Skip automatic replot if in + multiplot mode. + + * variables.cc (get_global_value): New arg, silent. + * variables.h (get_global_value): Default value for silent arg is + false. + +2004-09-22 David Bateman + + * ov-fcn-inline.cc (Finline): When called with a single arg, derive + argument of inline function in a compatible manner. + +2004-09-22 Federico Zenith + + * DLD-FUNCTIONS/qz.cc (Fqz): New @tex section(s) in doc string for + better formating of printed documentation. Use @var in doc string. + + * DLD-FUNCTIONS/time.cc (Fstrftime): Fix typo in doc string. + * error.cc (Flasterr, Flastwarn): Likewise. + * mappers.cc (Farg, Fasinh, Fatanh, Ffinite, Fsin, Fsinh, Ftan): + Likewise. + * file-io.cc (Fmktemp): Likewise. + * pt-plot.cc (symbols_of_pt_plot): Fix typos in doc string for + gnuplot_has_frames. + + * input.cc (symbols_of_input): Replace --echo-input with new + --echo-commands in PS4 doc string. + + * pt-assign.cc (symbols_of_pt_assign): Mark print_rhs_assign_val + as built-in in doc string. + + * symtab.cc (symbols_of_symtab): Mark variables_can_hide_functions + as built-in in doc string. + +2004-09-21 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.59. + + * oct-fstrm.h (octave_fstream::octave_fstream, + octave_fstream::create): Set default float format to actual native + format, not flt_fmt_native. + * oct-iostrm.h (octave_base_iostream::octave_base_iostream, + octave_istream::octave_istream, octave_ostream::octave_ostream): + Likewise. + * oct-prcstrm.h (octave_iprocstream::octave_iprocstream, + octave_oprocstream::octave_oprocstream, + octave_iprocstream::create, octave_oprocstream::create): + Likewise. + * oct-stdstrm.h (octave_stdiostream::octave_stdiostream, + octave_stdiostream::create): + Likewise. + * oct-stream.h (octave_base_stream::octave_base_stream): + Likewise. + * oct-strstrm.h (octave_base_strstream::octave_base_strstream, + octave_istrstream::octave_istrstream, octave_istrstream::create): + Likewise. + +2004-09-21 David Bateman + + * data.cc (Freshape): Allow a single empty dimension argument + to flag unknown dimension and calculate its value from the + other dimensions. + +2004-09-21 John W. Eaton + + * symtab.h (symbol_record::~symbol_record): Delete definition if + count goes to zero. + * symtab.cc (symbol_table::~symbol_table): Move here from symtab.h. + Call delete on each symbol record in the table instead of just + clearing them. + +2004-09-17 David Bateman + + * DLD-FUNCTIONS/sort.cc (ascending_compare, descending_compare): + Now templates (avoids g++ 3.4.x compile problems). + Fix other uses of these functions to also treat them as templates. + (mx_sort): For unsigned EIGHT_BYTE_INT versions correct the test + for the position of NaN. Problems when mode was DESCENDING or + UNDEFINED. Use static_cast (dim) rather than + (unsigned int) dim. + (IFloatFlip): Now static. + +2004-09-17 David Bateman + + * DLD-FUNCTIONS/det.cc (Fdet): Only compute estimate of the + condition number if requested as output. + + * DLD-FUNCTIONS/schur.cc (Fschur): Only compute unitary matrix if + requested as output. + +2004-09-17 John W. Eaton + + * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline): + Call eval_string instead of feval ("eval", ...). + Construct anonymous function handle to avoid going through the + symbol table. + + * ov-fcn-handle.h (octave_fcn_handle::fcn_val): New function. + (octave_fcn_handle::octave_fcn_handle (const std:string&)): + New constructor. + +2004-09-16 John W. Eaton + + * parse.y (frob_function): Clear id_name from curr_sym_tab, not + top_level_sym_tab. + + * symtab.cc (maybe_list): Count sizes using size_t, not int. + + * variables.cc (symbol_out_of_date): Always look in LOADPATH. + +2004-09-15 John W. Eaton + + * OPERATORS/op-int-conv.cc: Define and install bool to int + conversions. + * OPERATORS/op-double-conv.cc: Define and install bool to double + conversions. + + * ov.cc (octave_value::assign): Handle subsref for containers. + * oct-lvalue.cc (octave_lvale::value): Likewise. + + * DLD-FUNCTIONS/sort.cc (mx_sort): Return octave_value, not + octave_value list. + +2004-09-15 David Bateman + + * ov.cc (octave_value::octave_value (const ArrayN&, bool)): + New Constructor . + * ov.h: Provide decl. + + * DLD-FUNCTIONS/sort.cc (sortmode): New enum to define sort direction. + (template class vec_index): New class to contain values and + index for indexed sorts, replacing all previous struct versions. + Instantiate for double, Complex, char and octave_value. + (template static octave_value_list mx_sort (ArrayN &, int, + sortmode)): New templated version of mx_sort replacing all previous + versions, but specific to non indexed sorts. Instantiate for char + and double if not IEEE754. + (template <> static octave_value_list mx_sort (ArrayN &, + int, sortmode)): Specialized function of mx_sort of IEEE754. + (template static octave_value_list mx_sort_indexed + (ArrayN &, int, sortmode)): New templated version of mx_sort + for indexed sorts. Instantiate for double, Complex, char and + octave_value. + (ascending_compare, descending_compare): Comparison functions + for double, char, vec_index *, vec_index *, + vec_index *, vec_index. Fix Complex comparison + operator to sort by arg of values if absolute values are equal. + (Fsort): Update docs for new mode argument and for sorting of + strings and cell arrays of strings. Implement mode argument to + define ascending and descending sorts. Include sorting of cell + arrays of strings. Adapt for new templated versions of the mx_sort + function. + +2004-09-15 John W. Eaton + + * ov-cell.cc (octave_cell::subsref): Pass nargout to next_subsref. + * ov-builtin.cc (octave_builtin::subsref): Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::subsref): Likewise. + * ov-list.cc (octave_list::subsref): Likewise. + * ov-mapper.cc (octave_mapper::subsref): Likewise. + * ov-struct.cc (octave_struct::subsref): Likewise. + * ov-usr-fcn.cc (octave_user_function::subsref): Likewise. + + * ov-struct.cc, ov-struct.h (octave_struct::subsref (const + std::string&, const std::list&, int)): + Define this version. + (octave_struct::subsref (const std::string&, const + std::list&)): Panic in this version. + * ov-list.cc, ov-list.h: Likewise. + * ov-cell.cc, ov-cell.h: Likewise. + + * ov.cc (octave_value::subsref (int, const std::string&, const + std::list&, size_t)): New function. + * ov.h: Provide decl. + + * ov-cell.h (octave_cell::is_constant): Return false. + * ov-struct.h (octave_struct::is_constant): Delete. + * ov-list.h (octave_list::is_constant): Delete. + +2004-09-14 David Bateman + + * DLD-FUNCTIONS/sort.cc (mx_sort (charNDArray&, bool, int)): + New function to sort character strings. + (Fsort): Handle character strings. + +2004-09-11 John W. Eaton + + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii): + Write directly to OS. + (octave_fcn_handle::load_ascii, octave_fcn_handle::load_binary, + octave_fcn_handle::load_hdf5): Check parse status after calling + eval_string. Don't dereference fh unless it is valid. + +2004-09-11 David Bateman + + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, + octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, + octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, + octave_fcn_handle::load_hdf5): New functions. + * ov-fcn-handle.h: Provide decls. + + * ov-fcn-inline.cc (octave_fcn_inline::load_ascii): + Allow spaces in saved function. + (octave_fcn_inline::save_hdf5): Properly close all HDF5 objects. + + * ls-oct-ascii.cc (read_ascii_data): Check return type of + .load_ascii for errors reading the variables + + * variables.cc (lookup_function_handle, clear_variable, + clear_symbol): New functions. + * variables.h: Provide decls. + +2004-09-10 John W. Eaton + + * ov-builtin.cc (octave_builtin::do_multi_index_op): Use unwind + protect frame instead of a single unwind_protect::run. + * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. + + * data.cc (fill_matrix, identity_matrix): + Also allow logical data type. + +2004-09-10 David Bateman + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value, + OCTAVE_VALUE_INT_MATRIX_T::scalar_value, + OCTAVE_VALUE_INT_SCALAR_T::double_value, + OCTAVE_VALUE_INT_SCALAR_T::scalar_value): New functions. + +2004-09-10 John W. Eaton + + * ov-base-scalar.h (octave_base_scalar::clone, + octave_base_scalar::empty_clone): New functions. + +2004-09-09 John W. Eaton + + * pt-pr-code.h (tree_print_code::newline): New optional arg, alt_nl. + * pt-pr-code.cc (tree_print_code::newline): Use it if not printing + newlines. + (tree_print_code::visit_statement): If we printed ";", call + newline with optional arg set to "". + (tree_print_code::printing_newlines): New data member. + (tree_print_code::tree_print_code): Initialize it. + (tree_print_code::suspend_newline, tree_print_code::resume_newline): + New functions. + (tree_print_code::newline, tree_print_code::indent): Use it + + * ov-fcn-handle.cc (octave_fcn_handle::print_raw): + Print code for anonymous function handles. + +2004-09-08 John W. Eaton + + * ov-fcn-handle.cc (Ffunc2str, Ffunctions): Don't call substr(1) + on fh_nm, since we no longer need to skip "@" in the name. + + * error.cc (pr_where): Do a better job of printing location info. + + * input.cc (get_user_input): Print location info before the debug + prompt. From Keith Goodman . + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Save and set curr_caller_function and curr_caller_statement here. + * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. + + * pt-stmt.cc (curr_caller_statement): New variable. + * pt-stmt.h: Provide decl. + + * toplev.cc (curr_caller_function): New variable. + * toplev.h: Provide decl. + + * pt-arg-list.cc (convert_to_const_vector): + Unwind-protect index_position before modifying it. + Don't protect and set index_position unless stash_object is true. + +2004-09-08 David Bateman + + * ov-fcn-inline.cc (octave_fcn_inline::save_ascii, + octave_fcn_inline::load_ascii, octave_fcn_inline::save_binary, + octave_fcn_inline::load_binary, octave_fcn_inline::save_hdf5, + octave_fcn_inline::load_hdf5): New functions. + * ov-fcn-inline.h: Provide decls. + +2004-09-08 John W. Eaton + + * ov.h: Add octave_array_type_traits specialization for + boolNDArray element type. + +2004-09-07 John W. Eaton + + * oct-stream.cc: Instantiate octave_stream::write for Array. + (octave_stream::read): Expand read_fptr_table to include dt_logical. + + * ov-bool.h (octave_bool::write): New function. + * ov-bool-mat.h (octave_bool_matrix::write): New function. + + * ov-fcn-inline.h (octave_fcn_inline::octave_fcn_inline): New copy + constructor. + (octave_fcn_inline::clone, octave_fcn_inline::empty_clone): + New functions. + + * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle): New copy + constructor. + (octave_fcn_handle::clone, octave_fcn_handle::empty_clone): + New functions. + +2004-09-06 John W. Eaton + + * ov.cc (install_types): Call octave_fcn_inline::register_type. + + * version.h (OCTAVE_API_VERSION): Now api-v10. + + * OPERATORS/op-b-b.cc, OPERATORS/op-bm-bm.cc: Define and install + unary plus and unary minus operators. + + * OPERATORS/op-int.h, OPERATORS/op-cm-cm.cc, + OPERATORS/op-cs-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-range.cc: + Define and install unary plus operator. + + * ov.cc (unary_op_as_string): Handle op_uplus too. + + * parse.y (prefix_expr): Build unary plus op here instead of + converting to no-op. + (make_prefix_op): Accept op_uplus. + +2004-09-03 John W. Eaton + + * OPERATORS/op-b-bm.cc (DEFCONV): Define bool scalar to bool + matrix conversion. + (install_b_bm_ops): Install it. + Install conversion for assignment of bool matrix to indexed bool. + * OPERATORS/op-b-b.cc (install_b_b_ops): Install conversion for + assignment of bool to indexed bool. + +2004-09-03 David Bateman + + * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, + OPERATORS/op-bm-bm.cc: Modify concatenation between boolean types + so that it returns a boolean. + + * ov-bool.cc (octave_bool::do_index_op): Return boolean matrix. + + * ov-intx.h (do_index_op (const octave_value_list&, int)): + New function for indexed subsref of int types. + +2004-09-03 John W. Eaton + + * OPERATORS/op-int.h (OCTAVE_SM_INT_OPS): Define int by double + mixed comparison and bool ops. + (OCTAVE_INSTALL_SM_INT_OPS): Install them. + (OCTAVE_MS_INT_OPS): Define double by int mixed comparison and + bool ops. + (OCTAVE_INSTALL_MS_INT_OPS): Install them + + * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, + OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, + OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, + OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: + Define and install various mixed-type operators. + + * OPERATORS/op-int.h (OCTAVE_MM_INT_OPS): Also define mixed int + and double matrix comparison and bool ops. + (OCTAVE_INSTALL_MM_INT_OPS): Install them. + (OCTAVE_SS_INT_BOOL_OPS, OCTAVE_SM_INT_BOOL_OPS, + OCTAVE_MS_INT_BOOL_OPS, OCTAVE_MM_INT_BOOL_OPS): + Define logical AND and OR ops. + (OCTAVE_INSTALL_SS_INT_BOOL_OPS, OCTAVE_INSTALL_SM_INT_BOOL_OPS, + OCTAVE_INSTALL_MS_INT_BOOL_OPS, OCTAVE_INSTALL_MM_INT_BOOL_OPS): + Install them. + (OCTAVE_MM_INT_CMP_OPS, OCTAVE_MM_INT_BOOL_OPS): Accept prefix arg. + (OCTAVE_MM_CONV): New macro. + (OCTAVE_MM_INT_OPS): Use it to define complex matrix conversion. + (OCTAVE_MIXED_INT_CMP_OPS, OCTAVE_MIXED_INT_BOOL_OPS): New macros. + + * OPERATORS/op-int.h (OCTAVE_MS_INT_OPS): Don't define indexed int + matrix = complex scalar assignment ops. + (OCTAVE_MS_INT_OPS): Don't define indexed int matrix = complex + matrix assignment ops. + (OCTAVE_SM_CONV): New macro. + (OCTAVE_SM_INT_OPS): Use it to define int scalar -> (int|complex) + matrix widening ops. + (OCTAVE_RE_INT_ASSIGN_OPS, OCTAVE_CX_INT_ASSIGN_OPS): New macros. + (OCTAVE_INT_OPS): Use them here. + (OCTAVE_INSTALL_SS_INT_OPS): Install indexed int scalar = scalar + and indexed int scalar = complex scalar assignment conversions. + (OCTAVE_INSTALL_SM_INT_OPS): Install int scalar -> (int|complex) + matrix widening ops. Install indexed int scalar = + (int|real|complex) matrix assignment conversions. + (OCTAVE_INSTALL_MS_INT_OPS): Install indexed int matrix = complex + scalar assignment conversion. + (OCTAVE_INSTALL_MM_INT_OPS): Install int matrix -> complex matrix + widening op. Install indexed int matrix = complex matrix + assignment conversion. + (OCTAVE_INSTALL_RE_INT_ASSIGN_OPS, OCTAVE_INSTALL_CX_INT_ASSIGN_OPS): + New macros. + (OCTAVE_INSTALL_INT_OPS): Use them. + + * op-int.h: (OCTAVE_INSTALL_SM_INT_ASSIGNCONV): New macro. + * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, + OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, + OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, + OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: + Use it to define mixed size integer scalar/integer matrix + assignment conversions. + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, + OCTAVE_VALUE_INT_SCALAR_T::complex_array_vale): + New functions. + +2004-09-02 John W. Eaton + + * DLD-FUNCTIONS/quad.cc (Fquad): Pass "__quad_fcn_" instead of + "__quad_fcn__" to unique_symbol_name. + + * ov-fcn-inline.cc (octave_fcn_inline): Pass "__inline_" instead + of "__inline__" to unique_symbol_name. + + * variables.cc (unique_symbol_name): Make better random symbol name. + +2004-09-01 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.58. + + * Makefile.in (OP_INCLUDES): New variable. + Include OPERATORS/op-int.h here. + * Makefile.in (dist): Also link $(OP_INCLUDES). + + * Makefile.in (DISTFILES): Include $(EXTRAS) in the list. + +2004-09-01 David Bateman + + * DLD-FUNCTION/quad.cc: Allow function handle and inline functions. + Use a unique function name and delete it on exit. + + * ov.h (is_inline_function): New virtual function. + * ov-fcn-inline.h (is_inline_function): New function. + * ov-base.h (is_inline_function): New function. + + * ov-fcn-inline.cc (octave_fcn_handle::octave_fcn_handle): + Use unique_symbol_name and clear_function instead of manipulating + symbol table directly. + + * variables.cc (unique_symbol_name): New function. + (clear_function): New function. + * variables.h: Provide decls. + + * dynamic-ld.cc (do_clear_function): Rename from clear_function. + +2004-09-01 John W. Eaton + + * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, + OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, + OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, + OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: + Define and install mixed assignment ops. + * op-int.h: Define mixed integer/double ops. + Define simple division ops. + + * ov-complex.h (octave_complex_scalar): New typedef to simplify + various macros where naming consistency matters. + +2004-08-31 David Bateman + + * OPERATORS/op-int.h (ss_pow, ms_el_pow, mm_el_pow): New power + functions. + (sm_el_pow): Return correct type. + (OCTAVE_SS_POW_OPS, OCTAVE_SM_POW_OPS, OCTAVE_MS_POW_OPS, + OCTAVE_MM_POW_OPS): New macros to define the power operator over + integer types. + (OCTAVE_SS_INT_OPS, OCTAVE_SM_INT_OPS, OCTAVE_MS_INT_OPS, + OCTAVE_MM_INT_OPS): Use the new macros for the power operators. + (OCTAVE_INSTALL_SS_INT_OPS, OCTAVE_INSTALL_MS_INT_OPS, + OCTAVE_INSTALL_MM_INT_OPS): Install new power functions. + + * OPERATORS/op-int-conv.cc (INT_CONV_FUNCTIONS): Correct return + types for unsigned integer scalars and signed integer matrices. + + * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Conversion betwen same + types returns the original value. + + * bitfcns.cc (BITOP): Fix for mixed scalar/matrix ops. Allow + octave_range as an argument, by using class_name rather than + type_id to test. + +2004-08-31 John W. Eaton + + * pr-output.cc (pr_int): Also handle bank_format. + (octave_print_internal (std::ostream& os, const intNDArray&, + bool, int)): Likewise. + +2004-08-31 David Bateman + + * pr-output.cc (pr_int(std::ostream, const T&, int)): + New template function to print formatted integer types. + Instantiate it for all of the integer types. + (octave_print_internal (std::ostream, const intNDArray&, bool, + int)): Use pr_int. Align output up in columns, and check for + free_format or plus_format. + (octave_print_internal (std::ostream, const octave_int&, bool)): + Use pr_int. Check for free_format and plus_format. + + * ls-hdf5.cc (hdf5_read_next_data): When importing hdf5 files, + allow structures and lists (for backward compatibility). Also + allow importation of integer types into octave int and uint types. + +2004-08-31 John W. Eaton + + * data.cc (fill_matrix, identity_matrix): Convert class name to + oct_data_conv::data_type and switch on that. + (identity_matrix (int, int)): New template. + (identity_matrix (int, int, const std::string&)): Use it. + + * ov.h (octave_type_traits, octave_array_type_traits): Move here. + * oct-stream.cc: From here. + +2004-08-31 David Bateman + + * data.cc (Fzeros, Fones, Feye): Update help text for optional + class argument. + (static octave_value identity_matrix (int, int, const std::string&)): + New function to create identity matrices with an arbitrary type. + (Feye): Call new version of identity matrix function, even for scalars. + (static octave_value fill_matrix (const octave_value_list&, double, + const char *)): Update to allow arbitrary classes of matrices to be + created. + +2004-08-31 John W. Eaton + + * ls-mat5.cc (read_int): New function. + + * oct-stream.cc (octave_base_stream::do_read, + octave_base_stream::read, octave_base_stream::write): Delete. + * oct-stream.h: Delete decls. + + * oct-stream.cc (octave_stream::read): Handle block_size and + separate input/output types. + (octave_stream::write): Handle block_size and various input types. + (octave_type_traits, octave_array_type_traits): New traits classes. + (do_read): New templates to read data and perform type conversion. + (octave_stream::write (const Array&, int, + oct_data_conv::data_type, int, oct_mach_info::float_format), + do_write, write_int): + New templates to write ints and perform type conversion. + Instantiate for various Octave types. + + * ov.cc (octave_value::write): New function. + * ov.h: Provide decl. + * ov-base.cc (octave_base_value::write): New function. + * ov-base.h: Provide decl. + * ov-complex.h (octave_complex::write): New function. + * ov-cx-mat.h (octave_complex_matrix::write): New function. + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::write): New function. + (OCTAVE_VALUE_INT_SCALAR_T::write): New function. + * ov-re-mat.h (octave_matrix::write): New function. + * ov-scalar.h (octave_scalar::write): New function. + * ov-str-mat.h (octave_char_matrix_str::write): New function. + + * file-io.cc (Ffread): Handle block size, to/from format in + precision argument. + (Ffwrite): Handle block size in precision argument. + +2004-08-25 David Bateman + + * ov-cell.cc (octave_cell::subsasgn): Delete elements of cell array + when type is "(" and rhs is empty. + +2004-08-09 John W. Eaton + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::index_vector, + OCTAVE_VALUE_INT_SCALAR_T::index_vector): New functions. + +2004-08-06 David Bateman + + * OPERATORS/op-struct.cc: New file. + * ov-struct.h (octave_struct::resize (const dim_vector&)): + New function. + * oct-map.h (Octave_map::resize (const dim_vector&)): New function. + * ov-map.cc (Octave_map::reshape): + Correct return for same sized reshape. + (Octave_map::resize (const dim_vector&)): New function. + (concat (const Octave_map&, const Octave_map&, const Array&)): + Complete concatenation function. + * Makefile.in (OP_XSRC): Include op-struct.cc in the list. + +2004-08-05 John W. Eaton + + * pt-stmt.h (tree_statement::set_command, + (tree_statement::set_expression): New functions. + + * parse.y (param_list_beg): Handle pushing new symbol table + context for anonymous function handle parameter lists here. + (anon_fcn_handle): New non-terminal. + (expression): Include anon_fcn_handle here. + (make_anon_fcn_handle): New static function. + +2004-08-05 David Bateman + + * ov.cc (octave_value::fcn_inline_value): New virtual function. + * ov.h (octave_value::fcn_inline_value): Provide decl. + * ov-base.cc (octave_base_value::fcn_inline_value): New function + * ov-base.h (octave_base_value::fcn_inline_value): Provide decl. + * ov-fcn-handle.cc (octave_fcn_handle::octave_fcn_handle + (const std::string&, const string_vector&, const std::string&), + octave_fcn_handle::convert_to_str_internal, Finline, Fargnames, + Fformula, Fvectorize): Delete. + (octave_fcn_handle::print_raw): Remove inline case. + * ov-fcn-handle.h (octave_fcn_handle::fcn_type, + octave_fcn_handle::octave_fcn_handle (const std::string&, const + string_vector&, const std::string&), + octave_fcn_handle::inline_fcn_name, + octave_fcn_handle::inline_fcn_text, + octave_fcn_handle::inline_fcn_arg_names, + octave_fcn_handle::is_inline, + octave_fcn_handle::convert_to_str_internal, + octave_fcn_handle::typ, octave_fcn_handle::iftext, + octave_fcn_handle::ifargs): Delete constructors, + functions, and data members (moved to ov-fcn-inline.h). + * Makefile.in: Include ov-fcn-inline.h and ov-fcn-inline.cc where + appropriate. + * ov-fcn-inline.h, ov-fcn-inline.cc: New class. + +2004-08-05 John W. Eaton + + * ov-base-int.cc (octave_base_int_matrix::save_ascii, + octave_base_int_matrix::load_ascii, + octave_base_int_matrix::save_binary, + octave_base_int_matrix::load_binary, + octave_base_int_matrix::save_hdf5, + octave_base_int_matrix::load_hdf5, + octave_base_int_matrix::try_narrowing_conversion, + octave_base_int_scalar::print_raw, + octave_base_int_scalar::save_ascii, + octave_base_int_scalar::load_ascii, + octave_base_int_scalar::save_binary, + octave_base_int_scalar::load_binary, + octave_base_int_scalar::save_hdf5, + octave_base_int_scalar::load_hdf5): + Sprinkle with this-> as needed. + + * Makefile.in (EXTRAS): New macro. Move ov-base-int.cc here from + OV_INTTYPE_SRC. + (INCLUDES_FOR_INSTALL): New macro. + (install-inc, uninstall): Use it instead of INCLUDES. + + * variables.h (symbol_exist): Default for type is now "any". + +2004-08-05 David Bateman + + * ov-fcn-handle.cc (octave_fcn_handle (const std::string&, + const string_vector&, const std::string&)): New constructor for inline + function handles. + (octave_fcn_handle::print_raw): Allow inline functions to be printed. + (octave_fcn_handle::convert_to_str_internal): New function to allow + Fchar to work on inlined function handles. + (Finline, Fformula, Fargnames, Fvectorize): New functions. + * ov-fcn-handle.h (octave_fcn_handle (const std::string&, + const string_vector&, const std::string&)): Provide decl. + (octave_fcn_handle::convert_to_str_internal): Provide decl. + (fcn_type): New enum for the type of function handle. + (octave_fcn_handle::inline_fcn_text, octave_fcn_handle::is_inline, + octave_fcn_handle::inline_fcn_arg_names): New functions. + (octave_fcn_handle::typ, octave_fcn_handle::iftext, + octave_fcn_handle::ifargs): New private variables for inline functions. + +2004-08-04 John W. Eaton + + * parse.y (fcn_handle): + Recognize '@' FCN_HANDLE rather than just FCN_HANDLE. + Decrement lexer_flags.looking_at_function_handle here. + * lex.h (lexical_feedback::looking_at_function_handle): + New data member. + (lexical_feedback::init): Initialize it. + * lex.l (handle_identifier): Only reject keywords if we are + looking at a function handle. + ("@"): Recognize this separately from what follows. + Increment lexer_flags.looking_at_function_handle here. + + * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle + (octave_function*, const std::string)): Delete. + * ov.h, ov.cc (octave_value::octave_value (octave_function *)): Delete. + (octave_value::octave_value (octave_function *, const std::string)): + Delete. + + * ov-fcn-handle.h (octave_fcn_handle::fcn): Now octave_value, not + pointer to octave_function. + (octave_fcn_handle::octave_fcn_handle (const octave_value&, const + std::string)): New constructor. + * variables.cc (lookup_function): Return octave_value, not pointer + to octave_function. Change all uses. + (lookup_user_function): Return octave_value, not pointer + to octave_user_function. Change all uses. + +2004-08-03 John W. Eaton + + * ov-usr-fcn.cc (octave_user_fcn::do_multi_index_op): Call + install_automatic_vars here. + (octave_user_fcn::octave_user_fcn): Not here. + (install_automatic_vars): Don't mark argn_sr, nargin_sr, + nargout_sr, or varargin_sr as static. + + * oct-stream.cc (octave_scan): Avoid need for pushing two + characters back on the input stream. + +2004-08-02 John W. Eaton + + * oct-stream.cc (octave_scan): For %i format, recognize numbers + with leading 0x or 0X as hex and leading 0 as octal. + + * OPERATORS/op-fcn-handle.cc: Delete. + * Makefile.in (OP_XSRC): Delete it from the list. + * pr-output.cc (octave_print_internal (std::ostream&, const + std::string&, bool, int): New function. + * ov-fcn-handle.cc (octave_value::subsref): New function. + * ov-fcn-handle.h (class fcn_handle_elt, class fcn_handle_array): + Delete. + (class octave_fcn_handle): Derive from octave_base_value, not + octave_base_matrix. + + * ov-cx-mat.cc (try_narrowing_conversion): Also allow complex to + real conversion for N-d arrays. + +2004-07-30 John W. Eaton + + * lex.l ([^#% \t\r\n\;\,\"\'][^ \t\r\n\;\,]*{S}*): + Also recognize \r as a word list separator. + +2004-07-27 John W. Eaton + + * bitfcns.cc (DO_BITSHIFT): Pass mask to bitshift. + (bitshift (double, int, EIGHT_BYTE_INT): New arg, mask. + (DO_UBITSHIFT, DO_SBITSHIFT): Use bitshfit, not operator >>. + Use nbits function from octave_int type to set bits_in_type. + + * ov-struct.cc (Fisfield): Only print usage message if number of + arguments is incorrect. Return false for invalid arguments. + From Andy Adler . + +2004-07-27 David Bateman + + * Cell.cc (Cell::index): Quit early if an error occurs when + creating index vector object. + + * ov-int8.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-uint8.cc, + ov-uint16.cc, ov-uint32.cc, ov-uint64.cc (HDF5_SAVE_TYPE): Define + for HDF5 native format for the type. + + * ov-base-int.h (save_ascii, save_binary, load_binary, save_hdf5): + Delete unused arguments. + + * ov-base-int.cc (octave_base_int_matrix::save_ascii, + octave_base_int_matrix::save_binary, + octave_base_int_scalar::save_ascii, + octave_base_int_scalar::save_binary, + octave_base_int_scalar::save_hdf5): Delete unused argument. + + * ov-base-int.cc (octave_base_int_matrix::save_binary, + octave_base_int_matrix::load_binary, + octave_base_int_matrix::save_hdf5, + octave_base_int_matrix::load_hdf5, + octave_base_int_scalar::save_ascii, + octave_base_int_scalar::load_ascii, + octave_base_int_scalar::save_binary, + octave_base_int_scalar::load_binary, + octave_base_int_scalar::save_hdf5, + octave_base_int_scalar::load_hdf5): Implement missing functions. + +2004-07-23 David Bateman + + * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value, + OCTAVE_VALUE_INT_SCALAR_T::array_value): new methods to extract array + value from integer types. + + * bitfcns.cc (BITOPX): New Macro renamed from BITOP. + (BITOP): Alter to allow different types and call BITOP appropriately. + (DO_SBITSHIFT, DO_UBITSHIFT): New macros for signed, unsigned + bitshifts. + + (DO_BITSHIFT): Test for shift of more bits than in type, which is + undefined. Generalize to allow double args as well. + (Fbitshift): Add int and double types. + (Fbitmax): Return 53 bit value which conforms to IEEE754 double + mantissa. + (Fintmax, Fintmin): New functions. + (Fbitget, Fbitset, Fbitcmp): Delete. + + * OPERATORS/op-int.h: Add sm_el_pow function + + * ops.h (CATOPDECL, DEFCATOPX, DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, + CATOP_NONCONFORMANT, INSTALL_CATOP): New macros. + + * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, + OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, + OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, + OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, OPERATORS/op-m-cm.cc, + OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, + OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, + OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc, + OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc (CATOPDECL, DEFCATOPX, + DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, CATOP_NONCONFORMANT, + INSTALL_CATOP): Use them to define concatenation functions. + + * OPERATORS/op-int.h (OCTAVE_CONCAT_FN, OCTAVE_INSTALL_CONCAT_FN): + New macros to define and install concatentaion functions for int/uint + types. + + * TEMPLATE-INST/Array-tc.cc (INSTANTIATE_ARRAY_CAT): Delete. + + * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): + Also append empty elements to the list of elements to be parsed. + (tree_matrix::rvalue): Use new concatenation binary operators. + + * data.cc (cat_add_dims): Delete (now dim_vector::concat). + (do_cat): Use new concatenation binary operators. + + * ov-typeinfo.cc (cat_op_fcn): Instantiate the array of cat functions. + (register_cat_op, do_register_cat_op, do_lookup_cat_op): New functions. + (cat_ops): Lookup table of binary concatentaion operators. + + * ov-typeinfo.h (lookup_cat_op): New function. + + * ov.cc (gripe_cat_op, gripe_cat_op_conv, do_cat_op): New functions. + + * ov.h (cat_op_fcn): Definition. + (resize, do_cat_op): New functions. + + * ov-intx.h (resize): New_function + + * version.h (OCTAVE_API_VERSION): Bump version to api-v9. + + * Cell.cc, Cell.h, oct-map.cc, oct-map.h (cat): Delete. + (concat): New function. + + * Cell.cc, Cell.h (insert): New function + + * ov-base.cc, ov-base.h, ov-scalar.h, ov-complex.h, ov-bool.h, + ov-range.h, ov-base-mat.h, (resize): New function. + +2004-07-23 John W. Eaton + + * symtab.cc (whos_parameter): Move decl here, from symtab.h. + +2004-07-23 Oyvind Kristiansen + + * symtab.cc (symbol_record::subsymbols_list): New method. + (symbol_record::maybe_list): Call to subsymbols_list and merge + result with the original list of symbols. + + * symtab.cc (symbol_record::make_dimensions_string): New method. + (symbol_record::print_symbol_info_line): Print N-d info. Output + for long format now under control of format string. + (symbol_table::maybe_list): Headers to whos listing updated. + Also print footer info. + (symbol_table::print_descriptor): Method printing the + header of whos listings. + (symbol_table::parse_whos_line_format): New method. + (whos_line_format, Vwhos_line_format): New built-in variables. + (symbols_of_symtab): DEFVAR them. + (symbol_record::nelem, symbol_record::symbol_def::nelem, + symbol_record::byte_size, symbol_record::symbol_def::byte_size): + New methods. + (symbol_record::dimensions_string_req_first_space): New method. + (symbol_record::dimensions_string_req_total_space): New method. + * symtab.h (whos_parameter): New struct. Container for one + parameter in whos_line_format. + +2004-07-22 Paul Kienzle + + * DLD-FUNCTIONS/dassl.cc (Fdassl): Fix doc string. + * ov-struct.cc (Fstruct): Likewise. + * symtab.cc (Fdebug_symtab_lookups): Likewise. + +2004-07-22 David Bateman + + * data.cc (Fsize): Return 1 for dimensions exceeding ndim. + + * ov.cc (octave_value::octave_value (const ArrayN)): + New constructor. + * ov.h: Provide decl. + * ov-cx-mat.h (octave_complex_matrix (const ArrayN&)): + New constructor. + * ov-re-mat.h (octave_complex_matrix (const ArrayN&)): + New constructor. + + * ov-re-mat.h (octave_matrix(const ArrayN&)): New constructor + * pt-loop.cc (DO_ND_LOOP): New macro for use of NDArray in for loop. + (tree_simple_for_command::eval): Use it, and allow iteration over + cell arrays. + +2004-07-12 John W. Eaton + + * ov-intx.h: N-d array and scalar extractor functions take no args. + + * ov.h (octave_value::int8_scalar_value, + octave_value::int16_scalar_value, octave_value::int32_scalar_value, + octave_value::int64_scalar_value, octave_value::uint8_scalar_value, + octave_value::uint16_scalar_value, octave_value::uint32_scalar_value, + octave_value::uint64_scalar_value): New functions. + * ov-base.cc (octave_base_value::int8_scalar_value, + octave_base_value::int16_scalar_value, + octave_base_value::int32_scalar_value, + octave_base_value::int64_scalar_value, + octave_base_value::uint8_scalar_value, + octave_base_value::uint16_scalar_value, + octave_base_value::uint32_scalar_value, + octave_base_value::uint64_scalar_value): New functions. + * ov-base.h: Provide decls. + + * lex.l: (Vtoken_count): New static variable. + (COUNT_TOK_AND_RETURN): New macro. Use it everywhere a token is + returned to the parser. + (F__token_count__): New function. + +2004-06-25 John W. Eaton + + * OPERATORS/op-int-conv.cc: Add conversions for range type. + +2004-06-17 John W. Eaton + + * bitfcns.cc (bitfcns): New file. + * Makefile.in (DIST_SRC): Add it to the list. + +2004-06-16 John W. Eaton + + * OPERATORS/op-int.h: New file. + * OPERATORS/op-i16-i16.cc, OPERATORS/op-i8-i8.cc, + OPERATORS/op-ui32-ui32.cc, OPERATORS/op-i32-i32.cc, + OPERATORS/op-int-conv.cc, OPERATORS/op-ui64-ui64.cc, + OPERATORS/op-i64-i64.cc, OPERATORS/op-ui16-ui16.cc, + OPERATORS/op-ui8-ui8.cc: Use new macros from op-int.h. + +2004-06-14 John W. Eaton + + * pr-output.h, pr-output.cc (octave_print_conv): New traits class. + (template void octave_print_internal (std::ostream&, + const intNDArray&, bool, int), + (template void octave_print_internal (std::ostream&, + const octave_int&, bool)): New template functions. + Instantiate versions for new int types. + + * ov-typeinfo.h (octave_value_typeinfo::type_conv_ops): + New data member. + (octave_value_typeinfo::register_type_conv_op, + octave_value_typeinfo::lookup_type_conv_op, + octave_value_typeinfo::do_register_type_conv_op, + octave_value_typeinfo::do_lookup_type_conv_op): New functions. + + * ov-re-mat.cc (Fdouble): New function. + + * ov-range.h (octave_range::reshape): Reshape array_value, not + matrix_value. + + * ov-base-scalar.h (octave_base_scalar::all, + octave_base_scalar::any, octave_base_scalar::is_true): Use + ST() instead of 0.0. + + * ov-base-mat.h (octave_base_matrix::byte_size): New function. + + * ops.h (INSTALL_COLNVOP, DEFCONVFNX, DEFDBLCONVFN, DEFCONVFN, + DEFCONVFN2): New macros. + + * DLD-FUNCTIONS/filter.cc (Ffilter): Kluge type conversions. + + * ov.cc (install_types): Register new integer types. + + * ov.h, ov.cc (octave_value::octave_value (const octave_int8&), + octave_value::octave_value (const octave_uint8&), + octave_value::octave_value (const octave_int16&), + octave_value::octave_value (const octave_uint16&), + octave_value::octave_value (const octave_int32&), + octave_value::octave_value (const octave_uint32&), + octave_value::octave_value (const octave_int64&), + octave_value::octave_value (const octave_uint64&), + octave_value::octave_value (const int8NDArray&), + octave_value::octave_value (const uint8NDArray&), + octave_value::octave_value (const int16NDArray&), + octave_value::octave_value (const uint16NDArray&), + octave_value::octave_value (const int32NDArray&), + octave_value::octave_value (const uint32NDArray&), + octave_value::octave_value (const int64NDArray&), + octave_value::octave_value (const uint64NDArray&)): + New constructors. + + * ov.h (octave_value::internal_rep): New function. + (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Also define + static_type_id, static_type_name, and static_class_name + functions. + + * Cell.h (Cell::reshape (const dim_vector&)): New forwarding + function for return type conversion. + + * ov-int16.cc, ov-int16.h, ov-int32.cc, ov-int32.h, ov-int64.cc, + ov-int64.h, ov-int8.cc, ov-int8.h, ov-uint16.cc, ov-uint16.h, + ov-uint32.cc, ov-uint32.h, ov-uint64.cc, ov-uint64.h, ov-uint8.cc, + ov-uint8.h, ov-type-conv.h, ov-int-traits.h, + OPERATORS/op-int-conv.cc, OPERATORS/op-double-conv.cc, + OPERATORS/op-i16-i16.cc, OPERATORS/op-i32-i32.cc, + OPERATORS/op-i64-i64.cc, OPERATORS/op-i8-i8.cc, + OPERATORS/op-ui16-ui16.cc, OPERATORS/op-ui32-ui32.cc, + OPERATORS/op-ui64-ui64.cc, OPERATORS/op-ui8-ui8.cc: New files. + Makefile.in: Add them to the appropriate lists. + +2004-06-03 John W. Eaton + + * ov-fcn-handle.h (octave_function_handle::is_matrix_type, + octave_function_handle::is_numeric_type, + octave_function_handle::is_constant, + octave_function_handle::is_true): New functions. + (octave_function_handle::is_defined): Delete (inherited version is + OK). + +2004-06-03 David Bateman + + * DLD-FUNCTIONS/filter.cc: Fix for length(a)=1 && length(b)=2 case. + +2004-05-07 John W. Eaton + + * ov.cc (octave_value::print_with_name): Only print name tag if + Vprint_answer_id_name is true. + + * octave.cc (intern_argv): Insert __nargin__ in top_level_sym_tab + instead of making it a builtin variable. Mark it static. + * ov-usr-fcn.cc (octave_user_function::install_automatic_vars): + Mark local automatic variables static. + +2004-04-30 John W. Eaton + + * oct-stream.cc (octave_base_stream::clearerr): New function. + (octave_stream::clearerr): New function. + (seek (long, int)): Call clearerr here. + * oct-stdstrm.h (octave_stdiostream::clear): New function. + * c-file-ptr-stream.h (c_file_ptr_buf::clear, + i_c_file_ptr_stream::clear, o_c_file_ptr_stream::clear, + io_c_file_ptr_stream::clear): New functions. + +2004-04-29 David Bateman + + * load-save.cc (Fload, Fsave): Accept -mat as well as -mat-binary. + +2004-04-27 David Bateman + + * DLD-FUNCTIONS/sort.cc: Add missing "class" keywords to template + instantiations. + +2004-04-22 John W. Eaton + + * pt-plot.cc (Fclearplot): Temporarily turn off automatic_replot. + Clear display after resetting title, labels, etc. + +2004-04-22 John W. Eaton + + * pt-colon.cc (tree_colon_expression::rvalue): Also check for + error_state after evaluating each subexpression. + +2004-04-22 David Bateman + + * ov-base-scalar.h (octave_base_scalar::permute): New function. + + * ov-base-mat.cc (octave_base_matrix::is_true): Make N-d aware. + +2004-04-22 John W. Eaton + + * oct-stream.cc (printf_value_cache::curr_value): Now NDArray. + (printf_value_cache::double_value): Extract N-d array, not Matrix. + +2004-04-21 John W. Eaton + + * parse.y (function2): Pass id name to frob_function. Delete id. + (frob_function): Accept function name instead of identifier. + Don't try to rename symbol table entry. Lookup symbol record for + function name here. Insert name in symbol table if needed. + Operate on symbol record instead of identifier. + +2004-04-21 David Bateman + + * DLD_FUNCTIONS/fft.cc(do_fft): Correctly initialize the variable dim + for scalar arguments. + + * DLD-FUNCTIONS/minmax.cc: Handle single vector arg correctly. + +2004-04-20 John W. Eaton + + * ls-mat-ascii.cc (read_mat_ascii_data): Prepend "X" to keywords. + Only drop text after last "." in name. + + * lex.l (is_keyword): New function. + (Fiskeyword): Use it. + * lex.h: Provide decl. + + * lex.l (is_keyword_token): Rename from is_keyword. + +2004-04-16 John W. Eaton + + * file-io.cc (maybe_warn_interface_change): New function. + (fopen_mode_to_ios_mode): Use it. + +2004-04-16 Paul Kienzle + + * file-io.cc (fopen_mode_to_ios_mode): Default to binary mode. + (Ffopen): Document 't' and 'b' mode flags. + +2004-04-16 John W. Eaton + + * Makefile.in (DLD_XSRC): Add gcd.cc to the list. + +2004-04-16 David Bateman + + * DLD-FUNCTIONS/gcd.cc: New file. + +2004-04-15 David Bateman + + * ov-ch-mat.h: convert_to_str_interal returns charNDArray. + +2004-04-12 John W. Eaton + + * version.h (OCTAVE_BUGS_STATEMENT): Bug list is now bug@octave.org. + +2004-04-08 John W. Eaton + + * ov-base-mat.cc (octave_base_matrix::do_index_op): Quit early + if an error occurs when creating index vector object. + + * ov.cc (octave_value::numeric_assign): Always call maybe_mutate + on return value. + +2004-04-06 David Bateman + + * DLD_FUNCTIONS/sort.cc: Use the new template sort class, adapt for + N-d arrays, and allow optional dim argument. + + * DLD_FUNCTIONS/fftn.cc: Save result of transpose operation. + Check for failure of transpose. + +2004-04-02 John W. Eaton + + * ov-bool.h (octave_bool::bool_array_value): New function. + + * ov-base-mat.cc (octave_base_matrix::subsasgn): Don't allow + expressions like x(i)(j) or x(i){j} when x is empty. + + * load-save.cc (get_file_format): Error if file does not exist. + (Fload): Also complain here if specific file type is specified and + file does not exist. + +2004-04-02 Quentin Spencer + + * parse.y: Use persistent instead of static in warnings messages. + +2004-04-02 John W. Eaton + + * pt-decl.cc (tree_static_command::do_init): Initialize to empty + matrix by default. + +2004-04-02 David Bateman + + * ov-re-mat.cc (octave_matrix::convert_to_str_internal): + Return charNDArray. + * ov-bool-mat.cc (octave_bool_matrix::convert_to_str_internal): + Call array_value. + + * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, + DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/minmax.cc, + DLD-FUNCTIONS/filter.cc: + Convert for N-d array, better Matlab compatibility. + + * load-save.cc (Fload): Better handling of non existent files. + +2004-03-19 John W. Eaton + + * ov-list.cc (octave_list::subsref): Correctly create return value. + Return comma-separate list if {-style indexing extracts more than + one value. + +2004-03-12 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.57. + (OCTAVE_API_VERSION): Now api-v8. + + * ov-cell.cc (octave_cell::save_hdf5): Handle empty cells. + (octave_cell::load_hdf5): Likewise. + +2004-03-11 John W. Eaton + + * ov-base-mat.cc (octave_base_matrix::subsasgn): If empty, + allow type conversion when indexing with "{" and ".". + +2004-03-10 John W. Eaton + + * pr-output.cc (init_format_state): Also set compact_format. + (pr_col_num_header): Print one newline character before column + headers for compact format. + +2004-03-09 John W. Eaton + + * version.h (OCTAVE_WWW_STATEMENT): New macro. + (OCTAVE_STARTUP_MESSAGE): Include it here. + (OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS): And here. + + * octave.cc (verbose_usage): Use OCTAVE_WWW_STATEMENT here. + + * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx): If there are no + nonzero elements, return [](0x1) or [](1x0), not [](0x0). + Correctly preserve orientation for row vectors. + +2004-03-08 Petter Risholm + + * data.cc (do_cat): Check for length of args before getting dimension. + New arg, fname. Print usage message corresponding to fname. + (Fcat): Pass "cat" as fname arg to do_cat. + (Fhorzcat): Pass "horzcat" as fname arg to do_cat. + (Fvertcat): Pass "vertcat" as fname arg to do_cat. + +2004-03-05 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.56. + (OCTAVE_API_VERSION): Now api-v7. + +2004-03-04 John W. Eaton + + * ov-struct.cc (Frmfield): New function + + * oct-map.h (Octave_map::contains): Return bool, not int. + + * ov-cell.cc (Fiscellstr): No error if arg is not a cell array. + (Fcellstr): Return arg if it is already a cell array of character + strings. + +2004-03-03 John W. Eaton + + * ov-bool.cc (octave_bool::load_hdf5, octave_bool::save_hdf5): + Avoid unnecessary casts. + * ov-bool-mat.cc (octave_bool_matrix::load_hdf5, + octave_bool_matrix::save_hdf5): Likewise. + * ov-cell.cc (octave_cell::load_hdf5, octave_cell::save_hdf5): + Likewise. + * ov-complex.cc (octave_complex::load_hdf5, + octave_complex::save_hdf5): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::load_hdf5, + octave_complex_matrix::save_hdf5): Likewise. + * ov-range.cc (octave_range::load_hdf5, octave_range::save_hdf5): + Likewise. + * ov-re-mat.cc (octave_matrix::load_hdf5, octave_matrix::save_hdf5): + Likewise. + * ov-scalar.cc (octave_scalar::load_hdf5, octave_scalar::save_hdf5): + Likewise. + * ov-str-mat.cc (octave_char_matrix_str::load_hdf5, + octave_char_matrix_str::save_hdf5): Likewise. + +2004-03-03 David Bateman + + * ov-cell.cc (octave_cell::save_hdf5, octave_cell::load_hdf5): + Make N-d aware. + +2004-03-03 John W. Eaton + + * parse.y: Delete spaces surrounding = in %name-prefix directive. + +2004-03-01 Petter Risholm + + * Cell.cc (Cell::cat): New function. + * Cell.h: Provide decl. + + * oct-map.cc (Octave_map::cat): New function. + * oct-map.h: Provide decl. + + * data.cc (Fcat): Speedup implementation. + + * data.cc (Fhorzcat, Fvertcat): New functions. + + * Array-tc.cc: Instantiate cat function. + +2004-03-01 David Bateman + + * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): New functions + to save/load empty matrices keeping their dimensions. + * ls-hdf5.h (save_hdf5_empty, load_hdf5_empty): Provide decls. + + * ov-re-mat.cc (save_hdf5, load_hdf5): Cleanup, check empty matrix. + * ov-cx-mat.cc (save_hdf5, load_hdf5): Ditto. + * ov-bool-mat.cc (save_hdf5, load_hdf5): Ditto. + + * ov-str-mat.cc (save_ascoo, load_ascii, save_binary, + load_binary, save_hdf5, load_hdf5): Cleanup, check empty matrix, + and save/load N-d arrays. + +2004-02-27 John W. Eaton + + * octave.cc (execute_startup_files): Don't find current directory + for absolute name of local_rc until after executing home_rc. + +2004-02-24 John W. Eaton + + * input.cc (input_event_hook): Return type is now int. Return 0. + + * file-io.cc (do_stream_open): Don't call ::error if stream can't + be created. Don't call ::fopen if arch is invalid. Set error + state for stream if fopen fails. + * oct-stream.h (octave_stream::error (const char *)): New function. + (octave_stream::error (const std::string&)): Now public. + +2004-02-23 John W. Eaton + + * file-io.cc (Fftell): Return long integer instead of streamoff_array. + (do_stream_open): Create octave_stdiostream instead of octave_fstream. + + * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell): + Always fail. Signatures now match C library functionsb. + * oct-iostrm.cc (octave_base_iostream::seek, + octave_base_iostream::tell): Likewise. + * oct-strstrm.cc (octave_base_strstream::seek, + octave_base_strstream::tell): Likewise. + + * oct-stream.cc (octave_stream::seek, octave_stream::tell): + Signatures now match C-library functions. + + * oct-stdstrm.cc (octave_stdiostream::seek, octave_stdiostream::tell): + Call io_c_file_ptr_stream::seek and tell. Signatures now match + C-library functions. + + * c-file-ptr-stream.h (c_file_ptr_buf::seek, c_file_ptr_buf::tell): + New functions. + (i_c_file_ptr_stream::seek, i_c_file_ptr_stream::tell): Likewise. + (o_c_file_ptr_stream::seek, o_c_file_ptr_stream::tell): Likewise. + (io_c_file_ptr_stream::seek, io_c_file_ptr_stream::tell): Likewise. + +2004-02-20 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.55. + (OCTAVE_API_VERSION): Now api-v6. + + * sighandlers.cc (sigfpe_handler, sigpipe_handler): + Don't increment octave_interrupt_state if it is less than 0. + (sigint_handler): If octave_interrupt_state is less than zero, + reset it. + + * pt-except.cc (do_catch_code): Call OCTAVE_QUIT here so the catch + code won't run if an interrupt is pending. Don't run catch code + if octave_interrupt_state is less than zero. + +2004-02-20 Per Persson + + * Makefile.in (OCT_LINK_DEPS, OCTINTERP_LINK_DEPS): + Include $(LIBS) in the list before $(FLIBS). + +2004-02-20 John W. Eaton + + * pr-output.cc (octave_print_internal (std::ostream&, const + Range&, bool, int)): Don't print values beyond the limits of the + range. + + * sighandlers.cc (sigint_handler): Print message after two + consecutive interrupts, dump core after three or more. + + * load-save.cc (dump_octave_core): Handle core size limit. + Rename from save_user_variables. Change all callers. + (Fload, dump_octave_core, Fsave): Open HDF5 fils in binary mode. + (do_save): Extract switch over file types to separate function. + + * load-save.cc (Voctave_core_file_limit): New variable. + (octave_core_file_limit): New function. + (symbols_of_load_save): Add DEFVAR for octave_core_file_limit. + + * load-save.cc (Voctave_core_file_name): New variable. + (octave_core_file_name): New function. + (symbols_of_load_save): Add DEFVAR for octave_core_file_name. + + * load-save.cc (Voctave_core_file_format): + Rename from Voctave_core_format. + (octave_core_file_format): Rename from octave_core_format. + (symbols_of_load_save): Fix DEFVAR to match. + +2004-02-19 John W. Eaton + + * ov.cc (Fsizeof): New function. + + * ov.h (octave_value::byte_size): New function. + * ov-base.h (octave_base_value::byte_size): New function. + * ov-base-scalar.h (octave_base_scalar::byte_size): New function. + * ov-bool-mat.h (octave_bool_matrix::byte_size): New function. + * ov-ch-mat.h (octave_char_matrix::byte_size): New function. + * ov-cx-mat.h (octave_complex_matrix::byte_size): New function. + * ov-re-mat.h (octave_matrix::byte_size): New function. + * ov-range.h (octave_range::byte_size): New function. + * ov-cell.cc (octave_cell::byte_size): New function. + * ov-cell.h: Provide decl. + * ov-struct.cc (octave_struct::byte_size): New function. + * ov-struct.h: Provide decl. + * ov-streamoff.h (octave_streamoff::byte_size): New function. + * ov-list.cc (octave_list::byte_size): New function. + * ov-list.h: Provide decl. + + * xpow.cc (elem_xpow (const Matrix&, double)): + Convert both operands to Complex if any element of A is negative. + (elem_xpow (const NDArray&, double)): Likewise. + +2004-02-18 John W. Eaton + + * load-save.cc (Voctave_core_format): New static_variable. + (octave_core_format): New function. + (symbols_of_load_save): Add DEFVAR for octave_core_format. + (get_save_format): Rename from get_default_save_format. + Pass name of format as arg. New optional arg, fallback_format. + Change all uses. + (save_user_variables): Use pass Voctave_core_format to + get_save_format here. Pass LS_BINARY as fallback_format. + + * sighandlers.cc (my_friendly_exit): New optional arg, save_vars. + Only call save_user_variables if save_vars is true. + (sigint_handler): If interactive, offer to abort and save + workspace after three consecutive interrupts. + (sigint_handler, sigpipe_handler, sigfpe_handler): + Increment octave_interrupt_handler instead of setting it to 1. + +2004-02-16 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.54. + (OCTAVE_API_VERSION): Now api-v5. + + * Makefile.in (DLD_XSRC): Always include fftw_wisdom.cc. + + * DLD-FUNCTIONS/fftw_wisdom.cc: + Rename from DLD-FUNCTIONS/fft_wisdom.cc. + (Vfftw_wisdom_prog): Delete extern decl. + (Ffftw_wisdom): Rename from Ffft_wisdom. + Use Vfftw_wisdom_prog instead of Vwisdom_prog. + Always define function. Signal error if not configured to use FFTW3. + + * defaults.cc (symbols_of_defaults): Rename WISDOM_PROGRAM to be + FFTW_WISDOM_PROGRAM. + (Vfftw_wisdom_prog): Rename from Vwisdom_prog. + (fftw_wisdom_program): Rename from wisdom_program. + For simplicity, always define FFTW_WISDOM_PROGRAM even when not + using fftw3. + (set_default_wisdom_prog): Look for OCTAVE_FFTW_WISDOM_PROGRAM in + the environment instead of OCTAVE_WISDOM_PROGRAM. + (set_default_fftw_wisdom_prog): Rename from set_default_wisdom_prog. + * defaults.h.in (Vfftw_wisdom_prog): Provide extern decl. + +2004-02-16 David Bateman + + * DLD-FUNCTIONS/fft.cc: Adapt for Nd arrays, combine with ifft.cc. + * DLD-FUNCTIONS/ifft.cc: Delete. + * DLD-FUNCTIONS/fft2.cc: Adapt for Nd arrays, combine with ifft.cc. + * DLD-FUNCTIONS/ifft2.cc: Delete. + * DLD-FUNCTIONS/fftn.cc: New function for Nd FFT and inverse FFT. + * DLD-FUNCTIONS/fft_wisdom.cc: New function to manipulate FFTW + wisdom. + + * Makefile.in: Remove ifft.cc and ifft2.cc. Add fftn.cc and + ifftn.cc. Make building of fft-wisdom.cc conditional on the + value of FFTW_LIBS. + * defaults.cc (Vwisdom_prog): New variable + (set_default_wisdom_prog, wisdom_prog): New functions. + (symbols_of_defaults): Add DEFVAR for wisdom_prog. + +2004-02-16 John W. Eaton + + * ov-list.cc (octave_list::subsasgn): Call assign for Cell objects + here, not the base octave_value::assign. + +2004-02-15 John W. Eaton + + * lex.l (yywrap): Don't #undef this symbol. + +2004-02-15 Petter Risholm + + * pt-mat.cc: Make [,] concatenation work for N-d arrays. + +2004-02-15 John W. Eaton + + * data.cc (do_cat): Merge with Fcat. + +2004-02-15 Petter Risholm + + * ov-cell.cc (Fstruct2cell): New function. + +2004-02-14 John W. Eaton + + * Makefile.in (OCTINTERP_LINK_DEPS, OCT_LINK_DEPS): Always define. + + * oct-conf.h.in: Add OCTAVE_CONF_DL_LD, OCTAVE_CONF_DL_LDFLAGS, + and OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS. + Delete OCTAVE_CONF_MKOCTFILE_SH_LDFLAGS. + + * toplev.cc (octave_config_info): Delete MKOCTFILE_SH_LDFLAGS. + Add DL_LD, DL_LDFLAGS, and MKOCTFILE_DL_LDFLAGS to the struct. + +2004-02-14 Per Persson + + * Makefile.in (%.oct): Use DL_LD instead of SH_LD to build .oct files. + +2004-02-14 John W. Eaton + + * ov-base-scalar.h (octave_base_scalar::squeeze): New function. + +2004-02-13 Petter Risholm + + * data.cc (Fcat): New function. + * data.cc (do_cat): New function. + * data.cc (cat_add_dims): New function. + +2004-02-13 John W. Eaton + + * toplev.cc (main_loop): Call octave_parse, not yyparse. + * octave.cc (octave_main): Increment octave_debug, not yydebug. + * parse.y (%name-prefix): New directive, set to "octave_". + * parse.h: Provide declarations for octave_lex and octave_parse + instead of yylex and yyparse. + * lex.l (%option prefix): New directive, set to "_octave". + Define yylval to be octave_lval. + Move definitions of YY_INPUT, YY_FATAL_ERROR, TOK_RETURN, + TOK_PUSH_AND_RETURN, BIN_OP_RETURN, XBIN_OP_RETURN here. + * lex.h: From here. + +2004-02-07 Petter Risholm + + * ov-struct.cc (Fcell2struct): New function. + (cell2struct_check_args, cell2struct_construct_idx): Likewise. + +2004-02-07 John W. Eaton + + * ov-scalar.h (octave_scalar::empty_clone): + Return empty octave_matrix, not an octave_scalar object. + * ov-complex.h (octave_complex::empty_clone): + Return empty octave_complex_matrix, not an octave_complex object. + +2004-02-06 John W. Eaton + + * ov-usr-fcn.h (octave_user_function::function_name): Delete. + (octave_user_function::fcn_name): Delete unused data member. + (octave_user_function::stash_function_name): Save name in + tree_function::my_name instead of fcn_name. + Change all uses of fcn_name to be my_name instead. + + * pt.h, pt.cc (tree::break_function): Now pointer to + octave_function rather than octave_user_function object. + + * pt-bp.h (MAYBE_DO_BREAKPOINT): Use name instead of function_name + to get name from curr_function. + * pt-pr-code.cc (tree_print_code::visit_octave_user_function_header): + likewise. + * debug.cc (Fdbwhere, Fdbtype, ): Likewise + * error.cc (pr_where): Likewise. + * variables.cc (Fmlock, Fmunlock, Fmislocked): Likewise. + (lookup_function, lookup_user_function, link_to_builtin_or_function): + Likewise, for curr_parent_function. + + * debug.cc (get_user_function, Fdbwhere): + Cast curr_function to pointer to octave_user_function. + + * ov-mapper.cc (octave_mapper::do_multi_index_op): + Save and restore curr_function here. + * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. + + * toplev.h, toplev.cc (curr_function, curr_parent_function): Now + pointers to octave_function rather than octave_user_function objects. + + * ov-usr-fcn.h (octave_user_function::is_user_function): New function. + * ov-fcn.h (octave_function::takes_varargs, + octave_function::octave_va_start, octave_function::octave_va_arg, + octave_function::octave_all_va_args, + octave_function::takes_var_return, octave_function::octave_vr_val, + octave_function::is_user_function): New virtual functions. + +2004-02-05 John W. Eaton + + * ov-struct.cc (Fstruct): Use new Octave_map constructor to create + structures with specified sizes but no keys. + + * ov-struct.cc (Fstruct): New function, from Paul Kienzle + and Petter Risholm . + + * oct-map.h (Octave_map::Octave_map): Allow dimension to be + specified for map with no keys. + + * ov-struct.cc (fieldnames): Return 0x1 cell array if no fieldnames. + +2004-02-05 Petter Risholm + + * ov-base-mat.cc (octave_base_matrix::do_index_op): + Don't fail if number of indices is greater than 2. + +2004-02-05 John W. Eaton + + * data.cc (Fsize): Update for N-d objects. + + * ls-mat5.cc (read_mat5_binary_element): Force conversion. + + * ov-base.cc (octave_base_value::char_matrix_value): + Pass force arg to convert_to_str. + + * data.cc (Freshape): Chop trailing singletons from new dimensions. + +2004-02-03 John W. Eaton + + * error.cc (defun_usage_message): Only accept one arg, a const + std::string& object. Change all uses. Pass nul-terminated string + to defun_message_1. + (defun_usage_message_1): New function, equivalent to old + defun_usage_message. + + * ov-base.cc (nint_value): Use fix, not NINT. + (INT_CONV_METHOD): Likewise, use fix instead of just casting. + + * data.cc (make_diag): Use int_value instead of nint_value to + extract k for Matlab compatibility. + (Flinspace): Likewise, for npoints. + (fill_matrix): Likewise, for extracting dims. + (Fsize): Likewise, for extracting dim argument. Require int value. + * utils.cc (get_dimensions): Likewise. Use fix, not NINT. + +2004-02-02 John W. Eaton + + * error.cc (verror, error_1): New arg, os. Use this instead + of always printing to std:cerr. Change all callers. + + * error.cc (defun_usage_message): New function. + * error.h: Provide decl. + * defun.cc (print_usage): Use it to display error message. + + * error.cc (verror): New arg, save_last_error. Change all callers. + (usage): Set error_state after calling verror. + + * oct-map.cc (Octave_map::assign (const std::string, const Cell&)): + Set dimensions to RHS dimensions, not 1x1. + +2004-01-23 John W. Eaton + + * ov-bool.cc, ov-cx-mat.cc, ov-re-mat.cc, ov-str-mat.cc: + Include . + * file-io.cc, ls-hdf5.cc, ls-mat4.cc, ls-mat5.cc, ls-oct-binary.cc: + Include , not for new defn of OCTAVE_LOCAL_BUFFER. + * load-save.cc, ls-mat-ascii.cc, ls-oct-ascii.cc + No need to include now. + + * DLD-FUNCTIONS/eig.cc (Feig): Use new optional arg for EIG to + avoid computing eigenvectors if not requested. + Based on a patch from David Bateman . + +2004-01-23 John W. Eaton + + * ov-cell.cc (all_strings): Always compute total required length + of retval. + +2004-01-22 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.53. + (OCTAVE_API_VERSION): Now api-v4. + + * error.cc (pr_where): New arg, print_code with default value true. + (warning): Call pr_where with second arg false. + + * file-io.cc (Ffrewind): Only return value if nargout > 0. + (Ffprintf): Likewise. + (Fprintf): Likewise. + + * file-io.cc (Ffrewind): Return 0 for success, -1 for failure. + Make docs match. + + * Makefile.in (distclean): Remove DOCSTRINGS. + (maintainer-clean): Remove $(OPT_HANDLERS). + +2004-01-21 John W. Eaton + + * ov-cell.cc (octave_cell::subsref): Make '{' case N-d aware. + + * ov-scalar.cc (streamoff_array_value): New function. + * ov-scalar.h: Provide decl. + + * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): New maco. + Use it to define streamoff by matrix, streamoff by scalar, scalar + by streamoff, and matrix by streamoff comparison operators. + (install_streamoff_ops): Install them. + + * Cell.h (Cell::operator ()): Delete (we inherit them from Array). + (maybe_resize, elem_internal): Delete unused functions. + + * ls-mat5.cc (write_mat5_cell_array): Cell& arg is now const. + +2004-01-20 John W. Eaton + + * variables.cc (is_valid_function): If warn, also print error + message if arg is not a string. + + * ov-usr-fcn.cc (Fnargin, Fnargout): New functions. + + * octave.cc (intern_argv): Lookup __nargin__ instead of nargin. + * ov-usr-fcn.cc (octave_user_function::install_automatic_vars): + Lookup __nargin__ and __nargout__ instead of nargin and nargout. + + * variables.h (at_top_level): Now extern. + (lookup_user_function): New function. + * variables.cc: Provide decls. + + * ov.h, ov.cc (octave_value::user_function_value): + New virtual function. + * ov-base.h, ov-base.cc (octave_base_value::user_function_value): + Provide default version. + * ov-usr-fcn.h (octave_user_function::user_function_value): + New function. + + * ov-re-mat.cc (complex_array_value): New function. + * ov-re-mat.h: Provide decl. + + * ov-cell.cc (Fiscellstr): Don't return value on usage error. + + * error.cc: (symbols_of_error): Delete DEFVAR for error_text. + Define __error_text__ and error_text as aliases for lasterr. + + * error.cc (bind_global_error_variable, clear_global_error_variable): + Delete. + * variables.h: Delete decls. + + * parse.y (Feval, Fevalin): Don't call bind_global_error_variable. + Don't add clear_global_error_variable to the unwind_protect stack. + Increment buffer_error_messages before evaluating "eval" code, + decrement it before evaluating "catch" code. + + * pt-except.cc (do_catch_code): Don't call bind_global_error_variable. + Don't add clear_global_error_variable to the unwind_protect stack. + Decrement buffer_error_messages here. + (tree_try_catch_command::eval): Increment buffer_error_messages here. + + * error.cc, error.h (buffer_error_messages): Now an int. + +2004-01-16 John W. Eaton + + * toplev.cc (octave_config_info): Add float_format, + words_big_endian, and words_little_endian to the struct. + +2004-01-14 David Bateman + + * ov-cell.cc (octave_cell::load_hdf5): Fix for HDF5 version 1.6 + handling of number of objects in a group. + * ov-struct.cc (octave_struct::load_hdf5): Likewise. + * ov-list.cc (octave_list::load_hdf5): Likewise. + * ls-hdf5.cc (read_hdf5_data): Likewise. + +2004-01-13 John W. Eaton + + * ls-hdf5.h: Surround contents with #if defined (HAVE_HDF5). + +2004-01-10 John W. Eaton + + * oct-stream.cc (convert_to_valid_int, get_size): + Use lo_ieee_is_NaN_or_NA instead of xisnan. + (octave_base_stream::do_printf): Correct special case check for + NA, NaN, Inf, or out of range integers. + + * dirfns.cc (Fglob): Always return list of files as a cell array. + (Freaddir): Likewise. + + * dirfns.cc (Fls): If nargout > 0, return ls output. + +2004-01-09 John W. Eaton + + * load-save.cc (Fload): Assume -force by default. + + * oct-stream.cc (octave_base_stream::write): + Allow fwrite (fid, "some string") to work. + + * toplev.cc (Fcomputer): Delete. + (octave_config_info): Add unix and windows fields to the struct. + +2004-01-06 David Bateman + + * ls-hdf5.cc: Fix handle of old versus new format files. + + * ls-oct-binary.cc: Split the load/save functionality into the types + themselves. Backward compatibility maintained. + + * ov-struct.cc (save_binary, load_binary): + * ov-str-mat.cc (save_binary, load_binary): + * ov-scalar.cc (save_binary, load_binary): + * ov-re-mat.cc (save_binary, load_binary): + * ov-range.cc (save_binary, load_binary): + * ov-list.cc (save_binary, load_binary): + * ov-cx-mat.cc (save_binary, load_binary): + * ov-complex.cc (save_binary, load_binary): + * ov-cell.cc (save_binary, load_binary): + * ov-bool.cc (save_binary, load_binary): + * ov-bool-mat.cc (save_binary, load_binary): + New functions for loading and saving structures in octave binary + format. + + * ov-str-mat.h (save_binary, load_binary): + * ov-scalar.h (save_binary, load_binary): + * ov-re-mat.h (save_binary, load_binary): + * ov-range.h (save_binary, load_binary): + * ov-list.h (save_binary, load_binary): + * ov-cx-mat.h (save_binary, load_binary): + * ov-complex.h (save_binary, load_binary): + * ov-cell.h (save_binary, load_binary): + * ov-bool.h (save_binary, load_binary): + * ov-bool-mat.h (save_binary, load_binary): + * ov-struct.h (save_binary, load_binary): + Provide decls. + + * ov.h (save_binary, load_binary): New virtual functions. + + * ov-base.cc (save_binary, load_binary): New functions, for fallbacks + with error message. + * ov-base.h: Provide decls. + + * load-save.cc: Remove "-import" flag and make it the default. + * load-save.h: Likewise. + + * ls-oct-ascii.cc: Split the load/save functionality into the types + themselves. Save "string" variables with the name "string" rather than + string array. Backward compatiability maintained in ov-cs-mat.cc. + Include new version of extract_keyword that halts if the next value is + invalid rather that searching for the next valid value. + + * ls-oct-ascii.h: Extract_keyword header updated. + Include definition of OCT_RBV and CELL_ELT_TAG, since they are now + used elsewhere. + + * ls-hdf5.cc: Split load/save functionality into the types themselves. + The hdf5 format is changed so that each object is a group with a + dataset "type" being a string with the octave_value type and the + dataset or group "value" containing the value of the data, struct, etc. + This allows extensibility. Backward compatibility is maintained. The + "import" flag is now assumed to always be true and has been removed. + + * ov-struct.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-str-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-scalar.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-re-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-range.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-list.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-cx-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-complex.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-cell.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-bool.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-bool-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + New functions for loading and saving structures in octave ascii + and hdf5 formatted files. + + * ov-struct.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-str-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-scalar.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-re-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-range.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-list.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-cx-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-complex.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-cell.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-bool.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + * ov-bool-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): + Provide decls. + + * ov-typeinfo.cc (octave_value_typeinfo::do_lookup_type): Include + make_unique so that the stored type value is not used for all loaded + variables. + + * ov.h: (save_ascii, load_ascii, save_hdf5 and load_hdf5): + New virtual functions. + + * ov-base.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): + New functions, for fallbacks with error message. + * ov-base.h: Provide decls. + +2003-12-22 John W. Eaton + + * ov-cx-mat.cc (octave_complex_matrix::assign): RHS arg is N-d. + * ov-cx-mat.h: Fix decl. + + * ops.h (DEFNDASSIGNOP_FN): New macro. + * OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, + OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-m-s.cc: Use it instead of DEFASSIGNOP_FN. + +2003-12-19 John W. Eaton + + * xpow.cc (xpow (double, double)): Avoid apparent GNU libm bug. + +2003-12-17 John W. Eaton + + * symtab.cc (symbol_record::print_symbol_info_line): + Also check is_static to see if a symbol can be cleared. + +2003-12-16 John W. Eaton + + * lex.l (is_keyword): Also allow varargout_kw if + lexer_flags.looking_at_return_list is false provided that we are + defining a function and we haven't seen the function name yet. + * parse.y (return_list): Don't require [] around varargout. + + * DLD-FUNCTIONS/find.cc (DO_FIND_OP): Delete macro. + (find_to_fortran_idx): Delete. Move guts of function to + find_nonzero_elem_idx. + (find_nonzero_elem_idx): Now a template function. Handle overall + array index here too. Make it N-d aware. + + * pt-pr-code.cc (tree_print_code::visit_complex_for_command, + tree_print_code::visit_octave_user_function_header, + tree_print_code::visit_matrix, tree_print_code::visit_cell, + tree_print_code::visit_multi_assignment): Keep track of nearest + [, {, or ( nesting level. + (tree_print_code::visit_index_expression): Likewise. Check nesting + level to decide how to print index. + (tree_print_code::reset): Also reset nesting level stack. + + * pt-pr-code.h (tree_print_code::nesting): New data member. + (tree_print_code::tree_print_code): Initialize it. + + * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&)): + If arg has no dimensions, resize to be 0x0. + +2003-12-15 John W. Eaton + + * oct-map.cc (Octave_map::assign): Use Octave_map::contents member + function instead of operator []. + * ov-struct.cc (octave_struct::subsasgn): Likewise. + * DLD-FUNCTIONS/time.cc (extract_tm): Likewise. + + * DLD-FUNCTIONS/time.cc (mk_tm_map): Use Octave_map::assign member + function instead of operator []. + * DLD-FUNCTIONS/getrusage.cc (Fgetrusage): Likewise. + * DLD-FUNCTIONS/getgrent.cc (mk_gr_map): Likewise. + * DLD-FUNCTIONS/getpwent.cc (mk_pw_map): Likewise. + * load-save.cc (do_load): Likewise. + * ls-hdf5.cc (hdf5_read_next_data): Likewise. + * ls-mat5.cc (read_mat5_binary_element): Likewise. + * oct-map.cc (Octave_map::reshape): Likewise. + * oct-map.cc (Octave_map::index): Likewise. + * ov-fcn-handle.cc (Ffunctions): Likewise. + * pt-idx.cc (make_arg_struct): Likewise. + * sighandlers.cc (make_sig_struct): Likewise. + * syscalls.cc (mk_stat_map): Likewise. + * toplev.cc (Foctave_config_info): Likewise. + + * ls-hdf5.cc (add_hdf5_data): Temporary Octave_map is now const. + * ls-mat5.cc (save_mat5_binary_element): Likewise. + + * oct-map.cc (Octave_map::assign (const std::string&, const + octave_value&)): New function. + * oct-map.h: Provide decl. + (Octave_map::contents (const std::string&)): New function. + (Octave_map::operator [] (const std::string&) const): Delete. + (Octave_map::operator [] (const std::string&)): Delete. + +2003-12-09 John W. Eaton + + * OPERATORS/op-cell.cc: Allow transpose for cell arrays. + * OPERATORS/op-m-m.cc, OPERATORS/op-cm-cm.cc, + OPERATORS/op-bm-bm.cc, OPERATORS/op-streamoff.cc, + OPERATORS/op-str-str.cc: Improve error message for attempt to + transpose N-d object. + +2003-11-27 John W. Eaton + + * pt-arg-list.cc (F__end__): Handle N-d objects. + +2003-11-25 John W. Eaton + + * OPERATORS/op-b-bm.cc: New file. + + * OPERATORS/op-bm-b.cc (op_el_and, op_el_or): Define and install. + * OPERATORS/op-bm-bm.cc (op_el_and, op_el_or, assign): Likewise. + + * ov-str-mat.cc (CHAR_MATRIX_CONV): New macro. + * ov-str-mat.h (octave_char_matrix_str::double_value, + octave_char_matrix_str::matrix_value, + octave_char_matrix_str::array_value, + octave_char_matrix_str::complex_value, + octave_char_matrix_str::complex_matrix_value, + (octave_char_matrix_str::complex_array_value): Use it. + + * ov-bool-mat.cc (default_numeric_conversion_function): + Convert to NDArray, not Matrix. + * ov-str-mat.cc (default_numeric_conversion_function): Likewise. + + * ov-range.h (octave_range::array_value): New function. + (octave_range::complex_array_value): Likewise. + * ov-ch-mat.h (charNDArray::array_value): New function. + (charNDArray::complex_array_value): Likewise. + * ov-str-mat.h (octave_char_matrix_str::array_value): Likewise. + (octave_char_matrix_str::complex_value): Likewise. + (octave_char_matrix_str::complex_matrix_value): Likewise. + (octave_char_matrix_str::complex_array_value): Likewise. + + * mappers.cc (acosh, log, log10, sqrt): + Use octave_Inf instead of DBL_MAX for range limit. + +2003-11-24 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.52. + (OCTAVE_API_VERSION): Now api-v3. + + * DLD-FUNCTIONS/rand.cc (do_rand): Pass function name from arg + list in calls to error. + + * ov-cs-list.cc, ov-cs-list.h (octave_cs_list::octave_cs_list): + Explicitly initialize base class in constructors. + + * ov.h (octave_value::all_strings): Pass second arg to rep function. + + * ov.h (octave_value::string_value): Pass arg to rep function. + + * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f): Delete unused arg names. + * DLD-FUNCTIONS/rand.cc (Frand, Frandn): Likewise. + * ls-hdf5.h (hdf5_streambase::hdf5_streambase): Likewise. + * ls-hdf5.cc (read_hdf5_data): Likewise. + * ls-utils.cc (get_save_type): Likewise. + * parse.y (Fassignin): Likewise. + * utils.cc (empty_arg): Likewise. + * ov-usr-fcn.h (octave_user_function::subsref): Likewise. + * ov-base-mat.h (octave_base_matrix::subsref): Likewise. + * ov-mapper.h (octave_mapper::subsref): Likewise. + * ov-builtin.h (octave_builtin::subsref): Likewise. + * ov-complex.cc (octave_complex::complex_array_value): Likewise. + * ov-cell.h (octave_cell::subsref): Likewise. + * ov-base-scalar.h (octave_base_scalar::subsref): Likewise. + * ov-struct.h (octave_struct::subsref): Likewise. + * ov-range.h (octave_range::subsref): Likewise. + * ov-list.h (octave_list::subsref): Likewise. + * ov-base.cc (octave_base_value::print_info): Likewise. + * pt-check.cc (tree_checker::visit_subplot_axes): Likewise. + * pr-output.cc (octave_print_internal (std::ostream&, double, bool), + octave_print_internal (std::ostream&, const Complex&, bool), + octave_print_internal (std::ostream&, const ArrayN&, + bool, int): Likewise. + * oct-stream.cc (octave_scan<> (std::istream&, const + scanf_format_elt&, char*): Likewise + * TEMPLATE-INST/Array-tc.cc (resize_fill_value): + Likewise. + * pt-bp.cc (tree_breakpoint::visit_octave_user_function, + tree_breakpoint::visit_octave_user_function_header, + tree_breakpoint::visit_octave_user_function_trailer, + tree_breakpoint::visit_plot_limits, + tree_breakpoint::visit_plot_range, + tree_breakpoint::visit_subplot, + tree_breakpoint::visit_subplot_axes, + tree_breakpoint::visit_subplot_list, + tree_breakpoint::visit_subplot_style, + tree_breakpoint::visit_subplot_using): Likewise. + * ov.cc (octave_value::column_vector_value, + (octave_value::complex_column_vector_value, + (octave_value::row_vector_value, + octave_value::complex_row_vector_value, + octave_value::do_non_const_unary_op): Likewise. + + * load-save.cc: Only include ls-hdf5.h if HAVE_HDF5 is defined. + From Melqart . + + * pr-output.h (octave_fcn_handle::print_as_scalar): Delete. + + * pr-output.cc (octave_print_internal): New version for + ArrayN objects. + * pr-output.h: Provide decl. + * ov-fcn-handle.cc (octave_fcn_handle::print_raw): Use it. + + * OPERATORS/op-fcn-handle.cc: New file. + * Makefile.in (OP_XSRC): Add it to the list. + + * ov-fcn-handle.h, ov-fcn-handle.cc (octave_fcn_handle): + Now an array of function handle objects. + + * ov.h, ov.cc (octave_value::octave_value (const fcn_handle_array&), + (octave_value::octave_value (octave_function *f, const std::string&)): + New constructors. + (octave_value::octave_value (const octave_fcn_handle&)): Delete. + + * ov-base-mat.cc (octave_base_matrix::print_as_scalar): + Check dims instead of rows and columns. + + * ov.h (octave_value::is_function_handle): New function. + * ov-base.h (octave_base_value::is_function_handle): New function. + +2003-11-23 John W. Eaton + + * ov-bool-mat.h (octave_bool_matrix::array_value): Construct return + value directly from matrix data member, not matrix.matrix_value (). + + * ov-re-mat.h (octave_matrix::index_vector): Construct idx_vector + from NDArray, not Matrix. + + * ov-bool-mat.h (octave_bool_matrix::index_vector): Construct + idx_vector from boolNDArray, not boolMatrix. + + * ov.cc (install_types): Also register dld function type. + + * OPERATORS/op-streamoff.cc: Install increment and decrement operators. + * ov-streamoff.h (octave_streamoff::increment, + octave_streamoff::decrement): New functions. + + * ov-streamoff.h, ov-streamoff.cc: Move streamoff_array class to + liboctave/so-array.h and liboctave/so-array.cc. + + * oct-stream.cc (octave_stream::seek): Extract std::streamoff from + tc_offset instead of int. + + * ov-re-mat.cc (octave_matrix::double_value): Use numel, not length. + + * ov-re-mat.cc (octave_matrix::streamoff_array_value): New function. + * ov-re-mat.h: Provide decl. + + * ov-scalar.cc (octave_scalar::streamoff_value): New function. + * ov-scalar.h: Provide decl. + + * ov.cc (octave_value::streamoff_array_value, + octave_value::streamoff_value): New functions. + * ov.h: Provide decls. + + * ov-base.cc (octave_base_value::streamoff_array_value, + octave_base_value::streamoff_value): New functions. + * ov-base.h: Provide decls. + + * ov-usr-fcn.cc (install_automatic_vars): Don't do anything unless + sym_tab is defined. + + * ov-streamoff.h, ov-streamoff.cc, OPERATORS/op-streamoff.cc: + New files. + + * ov-cell.h (octave_value_cell::is_matrix_type): New function. + + * ov-mapper.h (octave_mapper::octave_mapper): No copying. + * ov-fcn.h (octave_function::octave_function): Likewise. + * ov-usr-fcn.h (octave_function::octave_function): Likewise. + * ov-builtin.h (octave_builtin::octave_builtin): Likewise. + * ov-dld-fcn.h (octave_dld_function::octave_dld_function): Likewise. + +2003-11-22 John W. Eaton + + * ov-mapper.h (octave_mapper::octave_mapper): Make public. + Provide copy constructor and assignment operator. + * ov-fcn.h (octave_function::octave_function): Likewise. + * ov-builtin.h (octave_builtin::octave_builtin): Likewise. + * ov-dld-fcn.h (octave_dld_function::octave_dld_function): Likewise. + + * ov-typeinfo.cc (octave_value_typeinfo::register_type, + octave_value_typeinfo::do_register_type): New arg, val. + Save it in vals array. + (octave_value_typeinfo::lookup_type, + octave_value_typeinfo::do_lookup_type): New functions. + * ov-typeinfo.h: Provide decl. + (octave_value_typeinfo::vals): New data member. + (octave_value_typeinfo::octave_value_typeinfo): Initialize it. + + * ov.h (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Pass + + * ov.h (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Define register_type + here. Also pass an empty object of the to-be-registered type to + register_type. + (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Declare register_type + here, but don't define it. + +2003-11-21 John W. Eaton + + * ov-fcn-handle.h (octave_fcn_handle::octave_fcn_handle (void)): + New constructor. + + * ov-usr-fcn.h (octave_user_function::octave_user_function): + Delete decl for private constructor. + + * ov-str-mat.cc (octave_char_matrix_str::matrix_value): + Conversion to matrix is an error unless explicitly forced. + + * ov-str-mat.cc (octave_char_matrix_str::double_value): New function. + * ov-str-mat.h: Provide decl. + + * ov-file.cc (print_raw): Use parens around ?: conditional used on + RHS of << output operator. + + * c-file-ptr-stream.cc (c_file_ptr_buf::seekoff, + c_file_ptr_buf::seekpos): Can't use fseek here, so just fail (by + returning -1) until we have a better solution. + + * oct-stream.cc (octave_stream::tell): Return std::streamoff, not long. + * oct-iostrm.cc (octave_base_iostream::tell): Likewise. + * oct-stdstrm.cc (octave_stdiostream::tell): Likewise. + * oct-strstrm.cc (octave_base_strstream::tell): Likewise. + * oct-stream.h, oct-iostrm.h, oct-stdstrm.h, oct-strstrm.h: + Fix decls to match. + +2003-11-20 John W. Eaton + + * ls-mat-ascii.cc (get_lines_and_columns): Delete second arg in + call to istream::seekg. + + * ov-mapper.cc (MAPPER_LOOP_2, any_element_less_than, + any_element_greater_than, octave_mapper::apply): + Handle N-d arrays. + +2003-11-19 John W. Eaton + + * ls-mat5.cc (read_mat5_binary_element, save_mat5_binary_element): + Handle N-d arrays. + + * lex.l (next_token_is_index_op): New function. + (handle_close_bracket): Use it. + + * ls-hdf5.cc, ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, + ls-oct-ascii.cc, ls-oct-binary.cc, ls-utils.cc, ls-hdf5.h, + ls-mat-ascii.h, ls-mat4.h, ls-mat5.h, ls-oct-ascii.h, + ls-oct-binary.h, ls-utils.h: New files, extracted from load-save.cc. + * Makefile.in: Add them to the appropriate lists. + +2003-11-18 John W. Eaton + + * pr-output.cc (octave_print_internal): Don't indent rows for + plus_format. Use pr_plus_format for Range type with plus_format. + (plus_format_chars): New static variable. + (set_format_style): Allow optional arg for plus format to set it. + (pr_plus_format): Use it. + + * ov-bool.h (octave_bool::array_value, + octave_bool::complex_array_value): New functions. + + * ov-base-mat.cc (octave_base_matrix::do_index_op): + Ensure correct number of indices for Array indexing code. + +2003-11-17 John W. Eaton + + * DLD-FUNCTIONS/qz.cc (qz): Use x.data()+offset instead of &a(i,j). + First and third args for dlag2 are const. + + * DLD-FUNCTIONS/sort.cc (Fsort): Use const qualifier as appropriate. + + * DLD-FUNCTIONS/balance.cc (balance): Use data() instead of + fortran_vec where appropriate in call to dggbak. + + * DLD-FUNCTIONS/dasrt.cc (dasrt_user_j): Simplify inserting x and + xdot in arg vector. + (dasrt_user_f): Likewise. + (dasrt_user_cf): Likewise. + * DLD-FUNCTIONS/dassl.cc (dassl_user_function): Likewise. + (dassl_user_jacobian): Likewise. + * DLD-FUNCTIONS/lsode.cc (lsode_user_function): Likewise. + (lsode_user_jacobian): Likewise. + * DLD-FUNCTIONS/daspk.cc (daspk_user_function): Likewise. + (daspk_user_jacobian): Likewise. + +2003-11-16 John W. Eaton + + * ov-range.h (octave_range::reshape): New function. + +2003-11-15 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.51. + (OCTAVE_API_VERSION): Now api-v2. + + * version.h (OCTAVE_BUGS_STATEMENT): Also tell people to look at + http://www.octave.org/bugs.html. + + * oct-map.cc (Octave_map::assign): Use resize, not resize and fill. + * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise. + + * Cell.cc (Cell::Cell): Pass dim_vector to resize instead of two ints. + +2003-11-14 John W. Eaton + + * Makefile.in (stamp-liboctave-prereq): New target. + ($(DEF_FILES), $(MAKEDEPS)): Depend on it. + (distclean): Remove it. + + * parse.y (cancel_obj_idx): New rule. + (postfix_expr, prefix_expr): Use begin_obj_idx after every + postfix_expr on RHS. Use cancel_obj_idx as soon as possible for + cases where we are not working on an index expression. + + * lex.l (maybe_unput_comma, handle_close_bracket): + Don't insert comma if we are looking at an object index and the + closest nesting level is a brace. + + * parse.y (postfix_expr): Use begin_obj_idx between postfix_expr + and the indexing delimiter rather than after it. + + * lex.h (lexical_feedback::braceflag): New member variable. + * lex.l (lexical_feedback::init): Initialize braceflag. + (\{{S}*): Increment lexer_flags.braceflag, not + lexer_flags.bracketflag. + (handle_close_bracket): Handle lexer_flags.braceflag and + lexer_flags.bracketflag separately based on bracket_type. + Delete unnecesary yyinput/yyunput. + + * lex.l (next_token_is_postfix_unary_op): Also recognize ++ and --. + + * ov-typeinfo.cc (octave_value_typeinfo::register_type, + octave_value_typeinfo::do_register_type): + New arg, c_name for class name. + * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-builtin.cc, + ov-cell.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, + ov-cs-list.cc, ov-cx-mat.cc, ov-dld-fcn.cc, ov-fcn-handle.cc, + ov-file.cc, ov-list.cc, ov-mapper.cc, ov-range.cc, ov-re-mat.cc, + ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov-usr-fcn.cc, + ov-va-args.cc: Pass class name to DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA. + * ov.h (octave_value::class_name): New virtual function. + (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Define c_name, for class name. + Pass c_name to octave_value_typeinfo::register_type. + (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Declare static member + c_name for class name. Provide class_name member function. + + * ov-typeinfo.cc (Fclass): New function. + +2003-11-13 John W. Eaton + + * utils.cc (Fisvarname): Pass correct name to make_argv. + + * ov-cell.cc (Fiscellstr): New function. + + * ov-file.h (octave_file::all, octave_file::any, + octave_file::dims, octave_file::is_real_type, + octave_file::ist_real_scalar): New functions. + + * lex.l (bracket_brace_paren_nesting_level::is_bracket_or_brace): + New function. + (handle_close_bracket): New arg, bracket_type. Change all uses. + First arg is now bool. + ({SNLCMT}*\}{S}*): New pattern. + (maybe_unput_comma): Handle brace nesting level the same as brackets. + (handle_close_brace): Likewise. + ({S}+): Likewise. + ({S}*{COMMENT}{SNLCMT}*): Likewise. + ({S}*{NL}{SNLCMT}*): Likewise. + ({NL}): Likewise. + ({CCHAR}): Likewise. + (")"): Likewise. + (\{{S}*): Handle the same as \[{S}*. + ("}"): Handle the same as \]. + + * Makefile.in (stamp-prereq): Add oct-gperf.h, parse.cc, and + lex.cc to the list. + +2003-11-12 John W. Eaton + + * ov-cell.cc (print_as_scalar): New function. + * ov-cell.h: Provide decl. + + * ov-cell.cc (octave_cell::print_name_tag): Delete. + * ov-cell.h: Delete decl. + + * ov-base-mat.cc (octave_base_matrix::print_name_tag): Delete. + * ov-base-mat.h: Delete decl. + + * ov-base.cc (octave_base_value::print_name_tag): + Use print_as_scalar here. + * ov.h (octave_base_value::print_as_scalar): New virtual function. + * ov-base.h (octave_base_value::print_as_scalar): + New default implementation. + * ov-base-mat.h (octave_base_matrix::pirnt_as_scalar): + Don't declare as virtual here. + + * ov-struct.cc (octave_struct::print_raw): If only printing keys, + also print dimensions of fields and overall array. + + * sysdep.cc (Fnative_float_format): New function. + + * input.cc (generate_possible_completions): Also append all + possible filename completions here. + +2003-11-11 John W. Eaton + + * oct-stream.cc: Explicitly instantiate octave_scan functions. + + * TEMPLATE-INST/Array-c.cc, TEMPLATE-INST/Array-os.cc, + TEMPLATE-INST/Array-sym.cc, ov-typeinfo.cc: + Use new INSTANTIATE_ARRAY macro. + + * data.cc (do_permute): New function. + (Fpermute, Fipermute): Use it. + + * ov-base.cc (octave_base_value::permute): New function. + * ov-base.h: Provide decl. + + * ov.h (octave_value::ipermute): New function. + +2003-11-11 Petter Risholm + + * data.cc (Fpermute, Fipermute): New functions. + * ov.h (octave_value::permute): New function. + * ov-base-mat.h (octave_base_matrix::permute): New function. + +2003-11-10 John W. Eaton + + * oct-obj.h (octave_value_list): Internal representation is now + std::vector instead of Array. + + * ov-list.h, ov-list.cc: Internal representation is now Cell, not + octave_value_list. + (Flist): Print one-time warning. + + * ov.cc (octave_value::octave_value (const octave_value_list&, bool)): + Cope with octave_cs_list not being derived from octave_list. + + * ov-cs-list.cc (octave_cs_list): Handle conversion of Cell array + to octave_value_list here. + + * ov-cs-list.h (class octave_cs_list): Derive from + octave_base_value, not octave_list. + + * ov-cs-list.h, ov-cs-list.cc: Remove commented-out code. + + * TEMPLATE-INST/Array-tc.cc (resize_fill_value): Use modern + specialization syntax. + + * ov-cell.cc (octave_cell::print_raw): Use dim_vector::str. + + * Cell.cc, Cell.h, debug.cc, file-io.cc, load-save.cc, + oct-fstrm.cc, oct-iostrm.cc, oct-iostrm.h, oct-map.cc, oct-map.h, + oct-prcstrm.cc, oct-stdstrm.h, oct-stream.cc, oct-strstrm.h, + octave.cc, ov-base.h, ov-cell.cc, ov.cc, ov.h, pt-cell.h, + pt-mat.cc, pt-mat.h, pt-plot.cc, pt-stmt.cc, variables.cc, + DLD-FUNCTIONS/rand.cc: Avoid -Wshadow warnings. + +2003-11-01 John W. Eaton + + * ov.h (octave_base_value::is_bool_matrix): New virtual function. + * ov-base.h (octave_base_value::is_bool_matrix): New function. + +2003-10-31 John W. Eaton + + * ov.cc (octave_value::length): If any dim is zero, return 0. + + * ov-cell.cc (octave_cell::subsref): When indexing with '{', quit + early if an error occurs in do_index_op. + + * ov.cc (octave_value::next_subsref): Don't do anything if + error_state is true. + + * cutils.c (octave_usleep) [HAVE_SELECT]: Introduce new local + scope for declaration of delay. + [HAVE_POLL]: Likewise, for delay and pfd. + + * ov-base.cc (octave_base_value::bool_array_value): + Function takes no args. + * ov-base.h: Likewise, for decl. + * ov-bool-mat.h (boolNDArray::bool_array_value): Likewise. + + * ov-fcn.cc, ov-fcn.h (octave_value::clone, + octave_value::empty_clone): Return type is octave_value*, not + octave_function*. + +2003-10-29 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str::reshape): New function. + Force result to be a string. + +2003-10-29 Petter Risholm + + * data.cc (DATA_REDUCTION): Work on NDArray and ComplexNDArray + objects instead of Matrix and ComplexMatrix objects. + +2003-10-29 John W. Eaton + + * ov-bool-mat.h (octave_bool_matrix::NDArray, + octave_bool_matrix::ComplexNDArray): New functions. + + * ov-complex.cc (octave_complex::array_value, + octave_complex::complex_array_value): New functions. + * ov-complex.h: Provide decls. + + * ov-scalar.cc (octave_scalar::array_value, + octave_scalar::complex_array_value): New functions. + * ov-scalar.h: Provide decls. + + * oct-map.cc (Octave_map::reshape): New function. + * oct-map.h: Provide decl. + + * ov-struct.h (octave_struct::reshape): New function. + + * Cell.h (Cell:Cell (const Array&): New constructor. + + * data.cc (Freshape): New function. + * ov.h (octave_value::reshape): New function. + * ov-base-mat.h (octave_base_matrix::reshape): New function. + * ov-base.cc (octave_base_value::reshape): New function. + * ov-base.h: Provide decl. + + * DLD-FUNCTIONS/balance.cc: lscale and rscale args for dggbak are + const. Use data() instead of fortran_vec where possible. + * DLD-FUNCTIONS/qz.cc: Likewise. + + * data.cc (fill_matrix): Remove trailing singletons before + allocating the result matrix. + + * input.cc (get_user_input): Don't forget about the diary here. + +2003-10-28 John W. Eaton + + * ov-list.h (octave_list::nelem): Delete. + (octave_list::dims): New function. + * ov-range.h (octave_list::dims): New function. + * ov-struct.h (octave_struct::dims): New function. + * ov-base-scalar.h (octave_base_scalar::dims): New function. + + * ov.h (octave_value::rows): No longer virtual. + * ov.cc (octave_value::rows): Provide common implementation. + * ov-base.h (octave_base_value::rows): Delete. + * ov-base-mat.h (octave_base_matrix::rows): Delete. + * ov-base-scalar.h (octave_base_scalar::rows): Delete. + * ov-struct.h (octave_struct::rows): Delete. + * ov-range.h (octave_range::rows): Delete. + + * ov.h (octave_value::columns): No longer virtual. + * ov.cc (octave_value::columns): Provide common implementation. + * ov-base.h (octave_base_value::columns): Delete. + * ov-base-mat.h (octave_base_matrix::columns): Delete. + * ov-base-scalar.h (octave_base_scalar::columns): Delete. + * ov-struct.h (octave_struct::columns): Delete. + * ov-range.h (octave_range::columns): Delete. + + * ov.h (octave_value::numel): No longer virtual. + * ov.cc (octave_value::numel): Provide common implementation. + * ov-base.h (octave_base_value::numel): Delete. + * ov-base-mat.h (octave_base_matrix::numel): Delete. + * ov-base-scalar.h (octave_base_scalar::numel): Delete. + * ov-struct.h (octave_struct::numel): Delete. + + * ov-cs-list.h (octave_cs_list::dims): New function. + (octave_cs_list::length): Delete. + + * ov.h (octave_value::ndims): No longer virtual. + * ov.cc (octave_value::ndims): Provide common implementation. + * ov-base.h (octave_base_value::ndims): Delete. + * ov-base-mat.h (octave_base_matrix::ndims): Delete. + * ov-base-scalar.h (octave_base_scalar::ndims): Delete. + * ov-struct.h (octave_struct::ndims): Delete. + + * ov-cell.cc (Fcell): Make it work for N-d cells. + + * Cell.h (Cell::Cell (const dim_vector&, const octave_value&)): + New constructor. + + * ov.h (octave_value::length): No longer virtual. + * ov.cc (octave_value::length): Provide common implementation. + * ov-base.h (octave_base_value::length): Delete. + * ov-base-mat.h (octave_base_matrix::length): Delete. + * ov-base-scalar.h (octave_base_scalar::length): Delete. + * ov-struct.h (octave_struct::length): Delete. + * ov-cs-list.h (octave_cs_list::length): Delete. + * ov-list.h (octave_list::length): Delete. + * ov-range.h (octave_range::length): Delete. + + * load-save.cc (save_mat5_binary_element): Use numel instead of + array_length. + * ov-struct.cc (octave_struct::print_raw): Likewise. + * pt-loop.cc (tree_complex_for_command::eval): Likewise. + * oct-map.cc (Octave_map::numel): New function. + * oct-map.h: Provide decl. + + * oct-map.cc, oct-map.h (Octave_map::array_length): Delete. + (common_size): New static function. + (Octave_map::assign): Make resizing work for N-d cell objects. + + * oct-map.cc (Octave_map::dims): New function. + * oct-map.h: Provide decl. + + * pr-output.cc (print_empty_nd_array): New static function. + (PRINT_ND_ARRAY): Use it. + + * ov.h (octave_value::is_empty): No longer virtual. Return value + based on numel. + * data.cc (Fisempty): Use it. + (Fnumel): New function. + + * ov.h (octave_value::numel): New function. + * ov-base.h (octave_base_value::numel): Likewise. + * ov-base-mat.h (octave_base_matrix::numel): Likewise. + * ov-base-scalar.h (octave_base_scalar::numel): Likewise. + +2003-10-27 Petter Risholm + + * ov-base-mat.cc (octave_base_matrix::is_true): + Only work for 2-dimensional objects. + * data.cc (ANY_ALL (FCN)): Allow dim to take values large than 2. + + * ov.h (octave_value::ndims): New function. + * ov-base.h (octave_base_value::ndims): Likewise. + * ov-base-scalar.h (octave_base_scalar::ndims): Likewise. + * ov-base-mat.cc (octave_base_matrix::ndims): New function. + (octave_base_matrix::length): Move here from ov-base-mat.h. + Make it work for N-d arrays. + * ov-base-mat.h (octave_base_matrix::ndims): Provide decl. + * data.cc (Fndims): New built-in function. + +2003-10-27 John W. Eaton + + * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/qz.cc: + Use new F77 arg macros in declarations of external Fortran + subroutines and for calling them. + + * ops.h (DEFNDUNOP_OP, DEFNDUNOP_FN): New arg e, to name value + extractor function prefix. + * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-m-m.cc: + Change all uses. + + * ov-cx-mat.h (octave_complex_matrix::complex_array_value, + octave_char_matrix::char_array_value, + octave_bool_matrix::bool_array_value): Rename from array_value. + * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, + OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, + OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-s-cm.cc: Use complex_array, char_array, and + bool_array as appropriate (instead of just array). + + * ov-base.cc (octave_base_value::array_value, + octave_base_value::bool_array_value, + octave_base_value::complex_array_value, + octave_base_value::char_array_value): Provide default implementations. + * ov-base.h: Provide decls. + + * ov.h (octave_value::array_value, octave_value::bool_array_value, + octave_value::complex_array_value, octave_value::char_array_value): + New virtual functions. + +2003-10-25 John W. Eaton + + * pt-idx.cc (make_subs_cell): Pass dim_vector object to resize. + + * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): + Use resize_and_fill for types. + + * oct-obj.h (octave_value_list::maybe_resize): Use resize_and_fill. + (octave_value_list::resize (int, const octave_value&)): Likewise. + + * oct-map.cc (Octave_map::assign): Use resize_and_fill as needed. + + * Cell.h (Cell (void)): Default size is now 0x0. + +2003-10-23 John W. Eaton + + * OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-cs-m.cc, OPERATORS/op-m-cm.cc, OPERATORS/op-s-cm.cc: + Include headers for N-d operators. + +2003-10-17 John W. Eaton + + * ops.h (DEFNDUNOP_OP, DEFNDUNOP_FN, DEFNDBINOP_OP, + DEFNDBINOP_FN): New N-dimensional macros. + * OPERATORS/op-bm-bm.cc, OPERATORS/op-cm-cm.cc, + OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, + OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, + OPERATORS/op-cs-m.cc, OPERATORS/op-m-cm.cc, + OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-m-s.cc, OPERATORS/op-s-cm.cc, + OPERATORS/op-s-m.cc: Use N-dimensional macros as appropriate. + + * DLD-FUNCTIONS/rand.cc (do_rand, Frand, Frandn): + Handle N-dimensions. + + * xpow.cc (elem_xpow (double, const NDArray&), + elem_xpow (double, const ComplexNDArray&), + elem_xpow (const NDArray&, double), + elem_xpow (const NDArray&, const NDArray&), + elem_xpow (const NDArray&, const Complex&), + elem_xpow (const NDArray&, const ComplexNDArray&), + elem_xpow (const Complex&, const NDArray&), + elem_xpow (const Complex&, const ComplexNDArray&), + elem_xpow (const ComplexNDArray&, double), + elem_xpow (const ComplexNDArray&, const NDArray&), + elem_xpow (const ComplexNDArray&, const Complex&), + elem_xpow (const ComplexNDArray&, const ComplexNDArray&): + New functions. + * xpow.h: Provide decls. + + * xdiv.cc (x_el_div (double, const NDArray&), + x_el_div (double, const ComplexNDArray&), + x_el_div (const Complex, const NDArray&), + x_el_div (const Complex, const ComplexNDArray&)): New functions. + * xdiv.h: Provide decls. + + * ov-bool-mat.h (boolNDArray::array_value): New function. + * ov-ch-mat.h (charNDArray::array_value): New function. + * ov-cx-mat.h (ComplexNDArray::array_value): New function. + * ov-re-mat.h (NDArray::array_value): New function. + (NDArray::double_nd_array_value): Delete. + +2003-10-16 John W. Eaton + + * parse.y (text_getc): New static function. + (gobble_leading_white_space): Use it to simplify EOL processing. + +2003-10-15 John W. Eaton + + * file-io.cc (fopen_mode_to_ios_mode): Ignore "t" in mode string. + + * strfns.cc (Fischar): rename from Fisstr. + +2003-10-09 John W. Eaton + + * pr-output.cc (PRINT_ND_ARRAY): New macro. + (octave_print_internal): Use it. + +2003-10-08 John W. Eaton + + * ov.cc (octave_value::octave_value (const ArrayN&, + bool)): New constructor. + * ov.h: Provide decl. + + * ov.h (octave_value::squeeze): New virtual function. + * ov-base.cc (squeeze): Provide default implementation. + * ov-base-mat.h (octave_base_matrix::squeeze): New function. + * data.cc (Fsqueeze): New function. + +2003-10-03 John W. Eaton + + * load-save.cc (make_valid_identifier): Return new string. + Arg is now string, not char *. + (ident_is_all_digits): New function. + (hdf5_read_next_data): Use it. + +2003-10-02 John W. Eaton + + * input.cc (input_event_hook): Clear the event hook if hook_fcn + does not name a valid function. + +2003-10-01 John W. Eaton + + * mappers.cc (xabs): New function. + (install_mapper_functions): Use it instead of abs for complex args + in Octave's abs mapper function. + +2003-09-27 Joseph P. Skudlarek + + * DLD-FUNCTIONS/minmax.cc (min, max): Use @deftypefn machinery, + doc missing semantics, and add more examples to texinfo strings. + +2003-09-26 John W. Eaton + + * load-save.cc (read_mat5_binary_element): Return early if the + miMATRIX element has length zero. + +2003-09-24 John W. Eaton + + * ov-cell.cc (octave_cell::subsasgn): Also attempt empty + conversion after extracting single element from cell array to + allow things like x{i}.elt = rhs to work. + +2003-09-19 John W. Eaton + + * ov.h (octave_value::dim_vector): New function. + + * ov.h, ov.cc (octave_value::octave_value (const Cell&)): + New arg, is_cs_list. + (octave_value::octave_value (const NDArray&)): + Create octave_matrix object, not octave_double_nd_array object. + (octave_value::octave_value (const ComplexNDArray&), + octave_value::octave_value (const boolNDArray&), + octave_value (const charNDArray&, bool)): New constructors. + + * ov.h, ov.cc (octave_value::nil_rep): New function. + (octave_value::octave_value (void)): Use it to initialize empty + octave_value objects. + + * ov-list.h, ov-list.cc (octave_list::octave_list (const Cell&)): + New constructor. + * ov-cs-list.h (octave_cs_list::octave_cs_list (const Cell&)): + Likewise. + + * data.cc (Fsize): Handle N-d objects. + + * pr-output.cc (octave_print_internal): New versions for NDArray, + ComplexNDArray, boolNDArray, and charNDArray objects. + * pr-output.h: Provide decls. + + * ov-re-nd-array.h, ov-re-nd-array.cc: Delete. + + * Cell.h, Cell.cc, ov-base-mat.h, ov-base-mat.cc, ov-bool-mat.h, + ov-bool-mat.cc, ov-ch-mat.h, ov-ch-mat.cc, ov-cx-mat.h, + ov-cx-mat.cc, ov-re-mat.h, ov-re-mat.cc, ov-str-mat.h, + ov-str-mat.cc: Now N-dimensional. + + * oct-map.h, oct-map.cc: Now based on Cell ojects instead of + octave_value_list objects. Change all uses. + + * TEMPLATE-INST/Array-tc.cc: Also instantiate ArrayN objects. + Don't instantiate assign funcitons for Array2 objects. + +2003-09-11 John W. Eaton + + * pt-plot.cc (symbols_of_pt_plot): Default for automatic replot is + now true. + + * pr-output.cc (Fformat): Doc fix. + (current_output_max_field_width, current_output_precision): + New functions. + (float_format::float_format (int, int, int)): Use them to provide + default values for field width and precision. + (print_g): New static variable. + (set_real_format, set_real_matrix_format, set_complex_format) + (set_complex_matrix_format, set_range_format): Handle print_g. + (pr_float, pr_complex): Don't scale if using print_g. + (set_format_style): Accept new "g" and "G" modifiers for short and + long formats and set print_g. + Set default precision and width for short to 5, 10. + Set default precision and width for long to 15, 20. + +2003-09-10 John W. Eaton + + * OPERATORS/op-m-cs.cc (complex_matrix_conv): Delete function. + (install_m_cs_ops): Don't install complex_matrix_conv here. + + * OPERATORS/op-s-cs.cc (complex_matrix_conv): Delete function. + (install_s_cs_ops): Don't install complex_matrix_conv here. + + * OPERATORS/op-s-s.cc (matrix_conv): Delete function. + (install_s_s_ops): Don't install matrix_conv here. + + * OPERATORS/op-cs-s.cc (complex_matrix_conv): Delete function. + (install_cs_s_ops): Don't install complex_matrix_conv here. + + * OPERATORS/op-cs-m.cc (complex_matrix_conv): Delete function. + (install_cs_m_ops): Don't install complex_matrix_conv here. + + * OPERATORS/op-cs-cs.cc (complex_matrix_conv): Delete function. + (install_cs_cs_ops): Don't install complex_matrix_conv here. + + * ov-typeinfo.cc (do_register_unary_op, + do_register_non_const_unary_op, do_register_binary_op, + do_register_assign_op, do_register_assignany_op, + do_register_pref_assign_conv, do_register_widening_op): + Print warning if installing a duplicate function. + +2003-09-10 Petter Risholm + + * data.cc, ov-base.cc, ov-base.h, ov.h, ov.cc, ov-re-mat.h, + ov-scalar.h, ov-re-nd-array.h, ov-re-nd-array.cc: Use NDArray, not + ArrayN. + +2003-09-09 John W. Eaton + + * ov.h (octave_value::double_nd_array_value): New function. + (octave_value::is_real_nd_array): New function. + + * ov-base.cc (octave_base_value::double_nd_array_value): New function. + * ov-base.h: Provide decl. + (octave_base_value::is_real_nd_array): New function. + +2003-09-09 Petter Risholm + + * ov-re-mat.h (octave_matrix::double_nd_array_value): New function. + * ov-scalar.h (octave_scalar::double_nd_array_value): New function. + + * ov-re-nd-array.cc (octave_double_nd_array::assign): New function. + (octave_double_nd_array::try_narrowing_conversion): Likewise. + (octave_double_nd_array::valid_as_scalar_index): Likewise. + (octave_double_nd_array::double_value): Likewise. + (octave_double_nd_array::matrix_value): Likewise. + (octave_double_nd_array::complex_value): Likewise. + (octave_double_nd_array::convert_slice_to_matrix): Likewise. + * ov-re-nd-array.h: Provide decls. + (octave_double_nd_array::is_real_nd_array): New function. + (octave_double_nd_array::double_nd_array_value): New function. + (octave_double_nd_array::double_nd_array_value): New function. + + * OPERATORS/op-m-nd.cc, OPERATORS/op-nd-m.cc, + OPERATORS/op-nd-nd.cc, OPERATORS/op-nd-s.cc, OPERATORS/op-s-nd.cc: + New files. + * Makefile.in (OP_XSRC): Add them to the list. + +2003-09-09 David Bateman + + * OPERATORS/op-cs-s.cc (DEFBINOP): First arg is complex, second is + double. + +2003-09-05 John W. Eaton + + * pt-cell.cc (tree_cell::rvalue): Don't assume that the number of + elements in a tree_argument_list is the same as the number of + objects it contains (cs-list objects expand to more than one). + + * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): + New function, extracted from tm_row_const::tm_row_const_rep::init. + (tm_row_const::tm_row_const_rep::init): Use it. + Also handle cs-list objects. + + * ov-cs-list.cc (octave_cs_list::print_raw): New function. + * ov-cs-list.h (octave_cs_list::print_raw): Provide decl. + * ov-list.h (octave_list::lst): Now protected instead of private. + +2003-09-04 John W. Eaton + + * pt-plot.cc (subplot_style::columns_ok): Allow boxes style to + have 2 columns as well. + +2003-08-28 John W. Eaton + + * dirfns.cc (Fls): Check EAGAIN to avoid losing output. + * toplev.cc (run_command_and_return_output): Likewise. + +2003-08-25 John W. Eaton + + * OPERATORS/op-str-s.cc, OPERATORS/op-str-m.cc: New files. + * Makefile.in (OP_XSRC): Add them to the list. + +2003-08-22 John W. Eaton + + * defaults.cc (maybe_add_or_del_packages): Use source_file instead + of parse_and_execute. + * parse.y (source_file): New function. + (Fsource): Use it. + * parse.h (source_file): Provide decl. + +2003-08-21 John W. Eaton + + * utils.cc (octave_vsnprintf): Copy va_list to avoid using more + than once. + +2003-08-07 John W. Eaton + + * utils.cc (octave_vsnprintf): Call octave_raw_vsnprintf instead + of calling vsnprintf directly. + (octave_vsnprintf) [HAVE_C99_VSNPRINTF]: Declare nchars to be size_t. + +2003-08-06 Heine Kolltveit + + * utils.cc (check_dimensions(Array&, char), + get_dimensions(octave_value&, char, Array&): New functions. + * utils.h (check_dimensions (Array&, char), + get_dimensions (octave_value&, char, Array&)): Provide decl. + + * data.cc (fill_matrix): Also create N-d arrays. + (Fones, Fzeros): Handle more than 2 args to create N-d arrays. + +2003-07-30 John W. Eaton + + * data.cc (make_diag): Use std::abs instead of our own ABS macro. + + * utils.cc (identity_matrix): Move here from data.cc. + (identity_matrix): Use std::min instead of our own MIN macro. + + * utils.h (identity_matrix): Provide decl. + + * DLD-FUNCTIONS/svd.cc (Fsvd): Improve handling of empty matrix arg. + + * ov.cc (octave_value(const ArrayN&)): New constructor. + * ov.h (octave_value(const ArrayN&)): Provide decl. + +2003-07-30 Heine Kolltveit + + * ov.cc (octave_value(const ArrayN&)): New constructor. + * ov.h (octave_value(const ArrayN&)): Provide decl. + +2003-07-30 John W. Eaton + + * ov.h (Vpropagate_empty_matrices): Delete decl. + * ov.cc: (Vpropagate_empty_matrices): Delete. + (propagate_empty_matrices): Delete. + (symbols_of_ov): Delete DEFVAR for propagate_empty_matrices. + + * utils.cc (empty_arg): Behave as though propagate_empty_matrices + is always 1. + * ov-range.cc (octave_range::is_true): Likewise. + * ov-base-mat.cc (octave_base_matrix::is_true): Likewise. + + * octave.cc (maximum_braindamage): Also set + warn_matlab_incompatible to TRUE. + + * lex.l (Vwhitespace_in_literal_matrix): Delete. + (whitespace_in_literal_matrix): Delete. + (symbols_of_lex): Delete DEFVAR for whitespace_in_literal_matrix. + ({S}*\,{S}*, {S}+, + ({S}*{COMMENT}{SNLCMT}*, + {S}*{NL}{SNLCMT}*, maybe_unput_comma): Behave as though + old Vwhitespace_in_literal_matrix varaible is always 1. + + * octave.cc (maximum_braindamage): Don't set + whitespace_in_literal_matrix. + +2003-07-29 John W. Eaton + + * Makefile.in (install-lib): Use $(INSTALL), not + $(INSTALL_PROGRAM) for $(SHLLIB) files. + +2003-07-29 Paul Kienzle + + * Makefile.in: Don't need special system.c for Cygwin. + * oct-procbuf.cc: Use popen rather than fork/exec for Windows. + +2003-07-28 Paul Kienzle + + * sysdep.cc (CYGWIN_init): Convert TMPDIR to system agnostic path. + +2003-07-25 Paul Kienzle + + * help.cc (try_info, display_help_text): + Protect spaces in filenames with quotes. + * oct-hist.cc (do_edit_history): Likewise. + * pt-plot.cc (open_plot_stream): Likewise. + +2003-07-15 John W. Eaton + + * oct-stream.cc (get_size, octave_base_stream::error, + octave_base_stream::do_gets, octave_base_stream::getl, + octave_base_stream::gets, octave_base_stream::do_scanf, + octave_base_stream::scanf, octave_base_stream::do_oscanf, + octave_base_stream::oscanf, do_printf_conv, + octave_base_stream::do_printf, octave_base_stream::printf, + octave_base_stream::puts, octave_base_stream::invalid_operation, + octave_stream::getl, octave_stream::gets, octave_stream::scanf, + octave_stream::oscanf, octave_stream::printf, octave_stream::puts, + octave_stream::invalid_stream_error): Handle name of calling + function for error messages as a std::string object. Change all + callers. + + * file-io.cc (Fprintf, Fputs): New functions, so we can get + function prefixes on error messages right. + (Ffgetl, Ffgets, Ffprintf, Fsprintf, Fputs, Ffscanf, Fsscanf): + Pass name of calling function to octave_stream method. + + * oct-stream.h (octave_base_stream::do_char_scanf, + octave_base_stream::do_real_scanf): Delete unused decls. + + * load-save.cc (read_mat5_binary_element): Correctly read struct + arrays. + + * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): + New args, warnfor and nargout. Change all callers. + (symbols_of_pt_misc): New function. + (warn_undefined_return_values): New function. + + * octave.cc (maximum_braindamage): Don't set + define_all_return_values. + + * ov-usr-fcn.cc (ov_user_function::do_multi_index_op): Always + intiialize undefined elements in ret_list to []. + Never return last computed value. + (Vreturn_last_computed_value, Vdefine_all_return_values): Delete. + (return_last_computed_value, define_all_return_values): Delete. + (symbols_of_ov_usr_fcn): Delete DEFVARs for + return_last_computed_value, define_all_return_values, and + default_return_value. + +2003-07-14 John W. Eaton + + * pt-misc.cc (tree_parameter_list::convert_to_const_vector): + Don't skip undefined elements. + +2003-07-13 John W. Eaton + + * octave.cc (maximum_braindamage): Don't set + default_global_variable_value or initialize_global_variables. + + * pt-decl.cc (Vinitialize_global_variables): Delete. + (initialize_global_variables): Delete. + (symbols_of_pt_decl): Delete. + (tree_global_command::do_init): Default initial value is now + always []. + +2003-07-11 John W. Eaton + + * octave.cc (maximum_braindamage): Don't set default_eval_print_flag. + + * parse.y (Vdefault_eval_print_flag): Delete: + (default_eval_print_flag): Delete. + (symbols_of_parse): Delete DEFVAR for default_eval_print_flag. + (Feval, Fevalin): Return empty octave_value_list and turn printing + on in eval_string if nargout is zero. + + * ov-list.cc (octave_list::assign): Check + Vwarn_resize_on_range_error, not Vresize_on_range_error. + + * ov.cc (Vwarn_resize_on_range_error): New variable. + (warn_resize_on_range_error): New function. + (symbols_of_ov): Add DEFVAR for warn_resize_on_range_error. + + * ov.cc (Vresize_on_range_error): Delete. + (resize_on_range_error): Delete. + (symbols_of_ov): Delete DEFVAR for resize_on_range_error. + + * pt-mat.cc (Vwarn_empty_list_elements): New variable. + (warn_empty_list_elements): New function. + (symbols_of_pt_mat): Add DEFVAR for warn_empty_list_elements. + (tm_row_const::tm_row_const_rep::init, tm_const::init): + Check Vwarn_empty_list_elements, not Vempty_list_elements_ok. + + * pt-mat.cc (Vempty_list_elements_ok): Delete. + (empty_list_elements_ok): Delete. + (symbols_of_pt_mat): Delete DEFVAR for empty_list_elements_ok. + +2003-07-11 Russell Standish + + * TEMPLATE-INST/Array-tc.cc (resize_fill_value): Provide + specialization. + +2003-07-10 John W. Eaton + + * strfns.cc (Fchar): Force string conversions without warnings. + + * ov.h (octave_value::convert_to_str, octave_value::all_strings, + octave_value::string_value, octave_value:convert_to_str_internal): + New arg, force. Fix all derived classes to match. + + * strfns.cc (Fchar): Temporarily reset Vwarn_num_to_str to avoid + warnings. + + * ov.cc (convert_to_str): New arg, force. + + * octave.cc (maximum_braindamage): Don't set treat_neg_dim_as_zero. + + * utils.cc (Vwarn_neg_dim_as_zero): New variable. + (warn_neg_dim_as_zero): New function. + (symbols_of_utils): Add DEFVAR for warn_neg_dim_as_zero. + (check_dimensions): Check Vwarn_neg_dim_as_zero, not + Vtreat_neg_dim_as_zero. + + * utils.cc (Vtreat_neg_dim_as_zero): Delete. + (treat_neg_dim_as_zero): Delete. + (symbols_of_utils): Delete DEFVAR for treat_neg_dim_as_zero. + +2003-07-09 John W. Eaton + + * octave.cc (maximum_braindamage): Don't set prefer_column_vectors. + + * ov.cc (Vprefer_column_vectors): Delete. + (prefer_column_vectors): Delete. + (symbols_of_ov): Delete DEFVAR for prefer_column_vectors. + + * octave.cc (maximum_braindamage): Don't set do_fortran_indexing. + + * ov-re-mat.cc (octave_matrix::double_value, + octave_matrix::complex_value): Use Vwarn_fortran_indexing, not + Vdo_fortran_indexing. + * ov-range.cc (octave_range::double_value, + octave_range::complex_value): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::double_value, + octave_complex_matrix::complex_value): Likewise. + * ov-ch-mat.cc (octave_char_matrix::double_value, + octave_char_matrix::complex_value): Likewise. + * ov-bool-mat.cc (octave_bool_matrix::double_value, + octave_bool_matrix::complex_value): Likewise. + + * ov.cc (Vwarn_fortran_indexing): New variable. + (warn_fortran_indexing): New function. + (symbols_of_ov): Add DEFVAR for warn_fortran_indexing. + (octave_value::vector_value, octave_value::int_vector_value, + (octave_value::complex_vector_value): Check + Vwarn_fortran_indexing, not Vdo_fortran_indexing. + + * ov.h (Vwarn_fortran_indexing): Provide decl. + + * ov.cc (Vdo_fortran_indexing): Delete unused variable. + (do_fortran_indexing): Delete unused function. + (symbols_of_ov): Delete DEFVAR for do_fortran_indexing. + * ov.h (Vdo_fortran_indexing): Delete decl. + + * ov.cc (octave_value::convert_to_str): Call convert_to_str_internal. + (octave_value::convert_to_str_internal): New virtual function. + Rename all derived class convert_to_str functions to match. + + * variables.cc (generate_struct_completions): Set + discard_warning_messages, not Vwarning_option. Also protect + warning_state. + + * parse.y (fold): Temporarily discard warning messages. + Also protect warning_state. + + * error.cc (discard_warning_messages): New variable. + (vwarning): Use it. + (warning): Don't print backtrace if discard_warning_messages is true. + + * ov.cc (octave_value::convert_to_str): + Handle type conversion warning here. + + * gripes.cc (gripe_implicit_conversion): + New function accepting std::string args. + + * octave.cc (maximum_braindamage): Don't set + implicit_num_to_str_ok or implicit_str_to_num_ok. + + * ov-base.cc (octave_base_value::char_matrix_value): + Vimplicit_num_to_str_ok no longer exists. + (octave_base_value::all_strings): Likewise. + (octave_base_value::string_value): Likewise. + + * ov-str-mat.cc (octave_char_matrix_str::matrix_value): Warn based + on Vwarn_str_to_num instead of Vimplicit_str_to_num_ok. + + * ov.cc (Vwarn_num_to_str, Vwarn_str_to_num): New variables. + (warn_num_to_str, warn_str_to_num): New functions. + (symbols_of_ov): Add DEFVARs for warn_num_to_str and Vwarn_str_to_num. + * ov.h (Vwarn_num_to_str, Vwarn_str_to_num): Provide decl. + + * ov.cc (Vimplicit_num_to_str_ok, Vimplicit_str_to_num_ok): + Delete unused variables. + (implicit_num_to_str_ok, implicit_str_to_num_ok): + Delete unused functions. + (symbols_of_ov): Delete DEFVARs for implicit_num_to_str_ok and + implicit_str_to_num_ok. + * ov.h (Vimplicit_num_to_str_ok, Vimplicit_str_to_num_ok): + Delete decls. + + * pt-mat.cc (tree_matrix::rvalue): Vimplicit_num_to_str_ok no + longer exists. + + * ov.cc (Vwarn_imag_to_real): New variable. + (warn_imag_to_real): New function. + (symbols_of_ov): Add DEFVAR for warn_imag_to_real. + * ov.h (Vwarn_imag_to_real): Provide decl. + + * ov.cc (Vok_to_lose_imaginary_part): Delete unused variable. + (ok_to_lose_imaginary_part): Delete unused function. + (symbols_of_ov): Delete DEFVAR for ok_to_lose_imaginary_part. + * ov.h (Vok_to_lose_imaginary_part): Delete decl. + + * ov-complex.cc (octave_complex::double_value): Warn based on + Vwarn_imag_to_real instead of Vok_to_lose_imaginary_part. + (octave_complex::matrix_value): Likewise. + * ov-cx-mat.cc (octave_complex_matrix::double_value): Likewise. + (octave_complex_matrix::matrix_value): Likewise. + + * octave.cc (maximum_braindamage): Don't set ok_to_lose_imaginary_part. + +2003-07-08 John W. Eaton + + * sighandlers.cc (sig_hup_or_term_handler): New function. + (install_signal_handlers): Install sig_hup_or_term_handler for + SIGHUP and SIGTERM instead of generic_sig_handler. + (Vsighup_dumps_octave_core, Vsigterm_dumps_octave_core): + New static variables. + (sighup_dumps_octave_core, sigterm_dumps_octave_core): + New static functions. + (symbols_of_sighandlers): Add DEFVARs for sighup_dumps_octave_core + and sigterm_dumps_octave_core. + + * defaults.h.in (OCTAVE_LOCALAPIFCNFILEDIR, OCTAVE_LOCALAPIOCTFILEDIR): + Subsitute new variables. + + * defun.cc (check_version): Compare version to OCTAVE_API_VERSION, + not OCTAVE_VERSION. Mismatch is now fatal. + * defun-int.h (DEFINE_FUN_INSTALLER_FUN3): Pass + OCTAVE_API_VERSION instead of OCTAVE_VERSION to check_version. + * version.h (OCTAVE_API_VERSION): New macro, initial value api-v1. + + * defaults.cc (Vdefault_exec_path): New static variable. + (set_default_default_exec_path): New function. + (install_defaults): Call it. + (exec_path): Use it. + (default_exec_path): New function. + (symbols_of_defaults): Add DEFVAR for DEFAULT_EXEC_PATH. + +2003-07-07 John W. Eaton + + * defaults.h.in (OCTAVE_LOCALSTARTUPFILEDIR, OCTAVE_STARTUPFILEDIR): + Set values directly instead of constructing them. + +2003-06-28 Arno J. Klaassen + + * toplev.cc (octave_config_info): Key for OCTAVE_CONF_DEFS should + be DEFS, not UGLY_DEFS. + +2003-06-27 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.50. + +2003-06-26 John W. Eaton + + * variables.cc (symbol_exist): Distinguish between user and dld + functions loaded in memory. + +2003-06-24 John W. Eaton + + * pt-mat.cc (tm_row_const::init, tm_const::init): Don't ignore + empty matrices that have one non-zero dimension. + + * variables.cc (symbol_exist): Use dir_path::find_first_of to + search for .oct and .m files. + + * ov-base.cc (octave_base_value::subsasgn): Also allow type + conversion for empty numeric objects with more than one index. + * ov-base-mat.cc (octave_base_matrix::subsasgn): Likewise. + +2003-06-23 John W. Eaton + + * variables.cc (do_who): New arg, return_list. If return_list is + true, return values in cell or struct arrays instead of printing. + (Fwho, Fwhos): If nargout is 1, ask do_who to return lists of values. + * oct-map.h (Octave_map (const std::string&, const octave_value_list&): + New constructor. + +2003-06-19 John W. Eaton + + * pt-idx.cc (tree_index_expression::rvalue): + Correctly handle index expressions like x(end).f(end). + (tree_index_expression::lvalue): Likewise. + + * pt-arg-list.cc (F__end__): Add nr, nc info to error messages. + +2003-06-18 John W. Eaton + + * pr-output.cc (set_format (const Matrix&, int&, double&)): Ask + any_element_is_negative to return true for negative zero as well. + (set_format (const ComplexMatrix&, int&, int&, double&)): Likewise. + +2003-06-16 John W. Eaton + + * toplev.cc (main_loop): Set octave_interrupt_hook and + octave_bad_alloc_hook to unwind_protect::run_all here. + (recover_from_exception): Don't call unwind_protect::run_all here. + + * pt-except.cc (do_catch_code): Return immediately if + octave_interrupt_immediately is nonzero. + + * sighandlers.cc (sigint_handler): If jumping, don't set + octave_interrupt_state. + +2003-06-14 John W. Eaton + + * load-save.cc (get_save_type): Avoid all save types other than + LS_DOUBLE to avoid apparent Matlab bugs. + +2003-06-13 John W. Eaton + + * parse.y (frob_function, parse_fcn_file): Handle help_buf as + stack of strings. + * lex.l ({CCHAR}): Handle help_buf as stack of strings. + Store text returned from grab_help_text in help_buf here. + (reset_parser): Handle help_buf as stack of strings. + (prep_for_nested_function): Push empty string onto help_buf stack. + (grab_help_text): Return help text instead of storing it in help_buf. + * parse.h, parse.y (help_buf): Now a stack of strings. + + * oct-stream.cc (printf_value_cache::string_value): Don't attempt + to extract values when none are available. + +2003-06-04 John W. Eaton + + * pt-plot.cc (Vgnuplot_has_multiplot): Delete variable. + (gnuplot_has_multiplot): Delete. + (symbols_of_pt_plot): Delete DEFVAR for gnuplot_has_multiplot. + +2003-05-28 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.49. + +2003-05-28 Teemu Ikonen + + * load-save.cc (save_mat5_binary_element, save_mat_binary_data): + Allow saving of non-7-bit ASCII characters. + +2003-05-28 John W. Eaton + + * oct-stream.cc (FINISH_CHARACTER_CONVERSION, + octave_base_stream::do_scanf): Do a better job of resizing for + charachter conversions. + +2003-05-25 John W. Eaton + + * ov-cx-mat.cc (octave_complex_matrix::assign): Move definition here. + * ov-cx-mat.h: From here. + +2003-05-24 John W. Eaton + + * ov-range.cc (octave_range::try_narrowing_conversion): Convert to + [](1x0) instead of [](0x0) if range is empty. + +2003-05-14 John W. Eaton + + * Makefile.in: Handle DESTDIR. + +2003-05-13 John W. Eaton + + * lex.l: Use yyunput (X, yytext) instead of unput (X) for newer + versions of flex. + +2003-05-06 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.48. + +2003-05-02 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.47. + +2003-05-01 John W. Eaton + + * load-save.cc (save_ascii_data): If saving a range with + non-integer base, limit, or increment, save as matrix instead. + (get_save_type): Avoid unsigned types. + +2003-04-30 John W. Eaton + + * octave.cc (initialize_pathsearch): Don't save old and set new + value of TEXMFDBS. + + * toplev.cc (restore_texmfdbs_envvar): Delete function. + (Fsystem): Don't set and reset TEXMFDBS. + + * toplev.h, toplev.cc (octave_original_texmfdbs): Delete variable. + +2003-04-25 John W. Eaton + + * DLD-FUNCTIONS/getpwent.cc (Fgetpwnam): Delete unnecessary + c_str() method. + +2003-04-22 John W. Eaton + + * file-io.cc: Include for auto_ptr. + +2003-04-18 John W. Eaton + + * toplev.cc (octave_config_info): Delete LIBKPATHSEA from struct. + * oct-conf.h.in: Don't substitute LIBKPATHSEA. + + * octave.cc (octave_main): Don't call dir_path::set_program_name. + +2003-04-17 John W. Eaton + + * ov-file.h (octave_file::empty_clone): Create an octave_scalar + object, not an octave_file object. + +2003-04-01 John W. Eaton + + * load-save.cc (hdf5_read_next_data): Extract list before + assigning to map element. + (add_hdf5_data): Prefix faked names with '_' so they are valid + identifiers. + +2003-03-24 Mats Jansson + + * syscalls.cc (Fkill): Fixed docstring typo. + +2003-03-18 John W. Eaton + + * ov-cell.h (octave_cell::is_matrix_type): New function. + +2003-03-09 Duncan Temple Lang + + * octave.cc (octave_main): New arg, embedded. + * octave.h: Fix decl. + * main.c: Pass 0 for embedded here. + +2003-03-03 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.46. + + * oct-conf.h.in: Undo previous change. + + * load-save.cc (read_mat5_binary_element): Handle structure arrays. + (save_mat5_binary_element): Likewise. + +2003-03-01 John W. Eaton + + * ov-cell.cc (octave_cell::subsasgn): Use make_unique in + appropriate places to preserve copy on write semantics. + + * oct-conf.h.in: Substitute OCTAVE_CONF_KPATHSEA_INCFLAGS. + + * oct-stdstrm.h (octave_stdiostream::output_stream): Return stream + if mode is out, not in. + +2003-02-22 John W. Eaton + + * strfns.cc (Fchar): New function. + + * ov-cell.cc (octave_cell::all_strings): Allow elements to be + string arrays. + * ov.cc (octave_value::all_strings, octave_value::convert_to_str): + New optional arg, pad. Change all derived classes. + + * ov-struct.cc (Ffieldnames, Fisfield): Move here from data.cc. + + * data.cc (Ffieldnames): Rename from Fstruct_elements. Return + cell array instead of a string array. + (Fisfield): Rename from struct_contains. + +2003-02-22 Paul Kienzle + + * toplev.cc: Put config info in array of strings, then convert to map. + +2003-02-22 John W. Eaton + + * variables.cc (symbol_exist): For names like foo.bar, don't omit + the part after the dot. + +2003-02-21 John W. Eaton + + * octave.cc (fun_to_call): New static variable. + (octave_main): Pass it to main_loop. + (long_opts): Accept --funcall. + (usage_string, verbose_usage): Add --funcall. + + * toplev.cc (main_loop): New arg, fun_to_call. If non-empty, + evaluate this function before continuing. + +2003-02-21 Paul Kienzle + + * file-io.cc (Fmkstemp): Use OCTAVE_LOCAL_BUFFER instead of using + std::auto_ptr directly. + +2003-02-21 John W. Eaton + + * ov.h, ov.cc (octave_value (long long int)): New constructor. + (octave_value (unsigned long long int)): Likewise. + + * oct-obj.h (octave_value_list::operator delete): Handle systems + with or without placement delete. + +2003-02-21 Paul Kienzle + + * utils.cc (octave_vsnprintf): Return value of vsnprintf is int, + not size_t. Make sure there is some space left in the buffer for + vsnprintf versions which return the number of characters written + even when the buffer is too short. + +2003-02-20 John W. Eaton + + * debug.cc (get_user_function): Use dynamic_cast, not static_cast. + + * ov-usr-fcn.cc (octave_user_function::traceback_error): Now const. + + * ov.cc (octave_value (const octave_fcn_handle&)): New constructor. + (octave_value::fcn_handle_value): New virtual function. + * ov-base.cc (octave_value::fcn_handle_value): Provide default. + * ov-usr-fcn.cc (octave_user_function::stash_fcn_file_name): New + arg, nm. Change all callers. + * ov-fcn.h (octave_function::is_nested_function): New virtual function. + * parse.y (get_feval_args): New function. + (feval (octave_function *, const octave_value_list&, int)): Likewise. + (feval (const octave_value_list&, int)): Allow the first arg to be + a function handle as well as a string. + * variables.cc (load_function): New function. + * pt-walk.h, pt-pr-code.h, pt-pr-code.cc, pt-check.h, pt-check.cc, + pt-bp.h, pt-bp.cc: Handle new tree_fcn_handle class. + * pt-all.h: Include pt-fcn-handle.h. + * pt-fcn-handle.h, pt-fcn-handle.cc, ov-fcn-handle.h, + ov-fcn-handle.cc: New files. + +2003-02-19 John W. Eaton + + * parse.y (FCN_HANDLE): New token type. + (fcn_handle): New non-terminal. + (primary_expr): Also accept fcn_handle. + (tree_fcn_handle_type): New %type. + (union): New field, tree_fcn_handle_type. + (make_fcn_handle): New function. + + * lex.l (@{IDENT}): Recognize function handle syntax. + (@): Don't recognize "@" as a single token. + + * load-save.cc (struct hdf5_callback_data): Provide constructor. + (hdf5_callback_data::name, hdf5_callback_data::doc): Now + std::string instead of char*. Change all uses. + +2003-02-18 Roger Banks + + * load-save.cc (read_ascii_data, read_ascii_data, + read_mat5_binary_element, save_mat5_binary_element, + save_ascii_data): Handle cell arrays. + (write_mat5_cell_array): New function. + +2003-02-18 John W. Eaton + + * Makefile.in (DLD_XSRC): Delete log.cc from the list. + Add sqrtm.cc to the list. + + * DLD-FUNCTIONS/log.cc: Delete. + +2003-02-18 Paul Kienzle + + * DLD-FUNCTIONS/sqrtm.cc: New file. + +2003-02-18 David Bateman + + * DLD-FUNCTIONS/lu.cc (Flu): Allow non-square matrices. + +2003-02-17 John W. Eaton + + * load-save.cc (read_binary_file_header, do_load, do_save, + write_header): No longer static. + (load_save_format): Move enum decl to load-save.h. + +2003-02-15 John W. Eaton + + * oct-stdstrm.h, oct-stdstrm.cc (octave_base_stdiostream, + octave_iostdiostream, octave_istdiostram, octave_ostdiostream): + Combine all functionality into one class, octave_stdiostream. + Change all uses. + + * file-io.cc (Ftmpfile, Fmkstemp): New functions. + * oct-stdstrm.h (octave_iostdiostream): New class. + (octave_istdiostream::octave_istdiostream, + octave_istdiostream::create, + octave_ostdiostream::octave_ostdiostream, octave_ostdiostream::create, + octave_iostdiostream::octave_iostdiostream, + octave_iostdiostream::create): Make close function the last arg. + Change all uses. + + * c-file-ptr-stream.h (io_c_file_ptr_stream): New class. + +2003-02-14 John W. Eaton + + * octave.cc (maximum_braindamage): Set boolean built-in variables + to true and false instead of 1.0 and 0.0. + (octave_main): Likewise. + * error.cc (Fwarning): Likewise. + + * pager.cc (Fmore): Make the no-arg case work too. + + * ov-str-mat.h (octave_char_matrix_str::is_real_type, + octave_char_matrix_str::is_matrix_type, + octave_char_matrix_str::is_numeric_type): Always return false. + +2003-02-13 John W. Eaton + + * lex.l (): If we are parsing a command, reset start state. + Use BEGIN (INITIAL) instead of BEGIN 0. Use parens around start + state in BEGIN statements. + +2003-02-13 Paul Kienzle + + * variables.cc (Fmlock, Fmunlock, Fmislocked): New functions. + + * variables.cc (mlock, munlock, mislocked): New functions. + * variables.h: Provide decls. + + * symtab.h (symbol_record::unmark_static): New function. + +2003-02-12 John W. Eaton + + * error.cc (reset_error_handler): New function. + * toplev.cc (main_loop): Use it here. + * lex.l (reset_parser): Don't set error_state and warning_state here. + * parse.y (eval_string): Reset parser before calling yyparse. + +2003-01-29 John W. Eaton + + * data.cc (Ffmod): New function. + + * c-file-ptr-stream.cc (c_file_ptr_buf::underflow_common): New + function. + * c-file-ptr-stream.h (c_file_ptr_buf::underflow, + c_file_ptr_buf::uflow): Use it. + (c_file_ptr_buf): Derive from std::streambuf, not OCTAVE_STD_FILEBUF. + Don't cache file descriptor. + +2003-01-28 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc: Move min and max functions from here to + liboctave/dMatrix.cc and liboctave/CMatrix.cc. + +2003-01-24 John W. Eaton + + * DLD-FUNCTIONS/rand.cc: Rewrite to use new octave_rand functions. + +2003-01-23 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_printf): Handle values + outside the range of integers in int conversions for + compatibilitiy wtih Matlab. + +2003-01-22 John W. Eaton + + * load-save.cc (get_mat_data_input_line): Handle lines with CR + only as separator. + + * oct-stream.cc (octave_base_stream::do_printf): Handle Inf and + NaN in int conversions for compatibility with Matlab. + + * data.cc (symbols_of_data): Doc fix for realmin. + + * cutils.c (octave_raw_vsnprintf): New function. + * utils.cc (octave_snprintf): Move here from cutils.c. + (octave_Vsnprintf): Likewise. Allow octave_raw_vsnprintf to be + interrupted. + * utils.h (octave_vsnprintf, octave_snprintf): No longer extern "C". + +2003-01-21 John W. Eaton + + * pt-loop.cc (tree_complex_for_command::eval): Fix typo. + +2003-01-16 Mumit Khan + + * mk-oct-links: Use $SED if set. + * mkbuiltins: Likewise. + * mkdefs: Likewise. + * mkdocs: Likewise. + * mkgendoc: Likewise. + * mkops: Likewise. + +2003-01-11 Paul Kienzle + + * Makefile.in (gendoc$(BUILD_EXEEXT)): Pass $(BUILD_CXXFLAGS) and + $(BUILD_LDFLAGS) to compiler. + +2003-01-11 John W. Eaton + + * parse.y (Fassignin): New function. + +2003-01-10 John W. Eaton + + * sighandlers.cc (make_sig_struct): New function. + (symbols_of_sighandlers): Add DEFCONST for SIG struct. + + * syscalls.cc (Fkill): New function. + +2003-01-06 John W. Eaton + + * oct-stream.cc (get_size): If only one dimension is specified and + it is zero, also set the other dimension to zero instead of one. + +2003-01-04 John W. Eaton + + * sysdep.cc [__DECCXX]: Add a kluge for some missing template + functions. + +2003-01-03 John W. Eaton + + * ov-usr-fcn.cc (octave_vr_val): Assert vr_list != 0, not vr_list. + * variables.cc (builtin_string_variable, builtin_any_variable, + builtin_real_scalar_variable, bind_builtin_variable): Likewise. + + * TEMPLATE-INST/Array-tc.cc: Provide specialization of + Array::resize_fill_value before instantiation of + Array. + + * oct-obj.h (octave_value_list::operator delete): Define version + of delete operator to correspond to placement new operator. + + * mkgendoc: In generated code, define __USE_STD_IOSTREAM if using + Compaq C++. + + * Makefile.in (distclean): Also remove doc-files and gendoc.cc. + + * input.cc (initialize_command_input): Use const for + initialization of char * from literal string. + + * pt-plot.cc (subplot::extract_plot_data): Call single_subsref, + not subsref. + * ov.h, ov.cc (single_subsref (const std::string&, const + octave_value_list&)): Rename from subsref. + + * symtab.cc (symbol_table::rename): Explicitly convert C string to + std::string so type of second arg of ?: matches third. + (symbol_table::lookup): Likewise. + + * mappers.cc: Remove std:: qualifiers from C library names. + +2003-01-03 John W. Eaton + + * pt-exp.h (tree_expression::has_magic_end): New pure virtual function. + * pt-id.h (tree_identifier::has_magic_end): New function. + * pt-colon.h (tree_colon_expression::has_magic_end): Likewise. + * pt-idx.h (tree_index_expression::has_magic_end): Likewise. + * pt-const.h (tree_constant::has_magic_end): Likewise. + * pt-unop.h (tree_unary_expression::has_magic_end): Likewise. + * pt-binop.h (tree_binary_expression::has_magic_end): Likewise. + * pt-assign.h (tree_multi_assignment::has_magic_end): Likewise. + (tree_simple_assignment::has_magic_end): Likewise. + * pt-mat.cc (tree_matrix::has_magic_end): Likewise. + * pt-arg-list.cc (tree_argument_list::has_magic_end): Likewise. + + * pt-arg-list.cc (tree_argument_list::append): Check all + expression types for magic end token.. + + * file-io.cc (Ftmpnam): Improve error checking. + (symbols_of_file_io): Move definition of P_tmpdir here from dirfns.cc. + + * dirfns.cc (symbols_of_dirfns): Install new built-in constant + P_tmpdir. + +2003-01-02 John W. Eaton + + * dirfns.cc (symbols_of_dirfns): New function. + Install new built-in constant filesep. + + * utils.cc (Fisvaranme): New function. + (valid_identifier): Identifiers can't start with digits! Doh! + + * lex.l (Fiskeyword): New function. + + * Makefile.in (INCLUDES): Don't forget base-list.h. + + * symtab.cc (symbol_record::define): If definition already exists, + redefine it instead of replacing it. + + * variables.cc (symbol_exist): Don't use reference when handling + sr->def (). + + * pt-plot.cc (save_in_tmp_file): octave_value arg is now const. + * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): + Likewise. + + * symtab.cc (symbol_record::clear): Don't do anything if the + symbol record is already undefined. + +2003-01-01 John W. Eaton + + * pt-arg-list.cc (tree_argument_list::append): New function. + (tree_argument_list::convert_to_const_vector): Don't save and + set pointer to indexed object if list_includes_magic_end is false. + * pt-arg-list.h (tree_argument_list::append): Provide decl. + (tree_argument_list::list_includes_magic_end): New data member. + (tree_argument_list::tree_argument_list): Initialize it. + + * ov-base.cc (octave_base_value::char_matrix_value, + octave_base_value::all_strings, octave_base_value::string_value): + Attempt conversions here if Vimplicit_num_to_num_ok is true. + + * ov.cc (Vimplicit_num_to_str_ok): Move here from pt-mat.cc and + make extern. + * ov.h: Provide decl. + + * oct-stream.cc (printf_value_cache::looking_at_string): Delete. + (printf_value_cache::string_value): Just attempt conversion. + (octave_base_stream::do_printf): When doing '%s' format, + just attempt converstion. + + * file-io.cc (Ffread): Allow size to be omitted even when + additional arguments are given. + +2002-12-31 John W. Eaton + + * pt-arg-list.cc (F__end__): Fail if rows or columns is negative. + (tree_argument_list::convert_to_const_vector): Only protect and + save pointer to the indexed object if it is a constant. + + * syscalls.cc (Fmkfifo): Use long_value instead of cast. + + * ov.h (octave_value::short_value, octave_value::ushort_value, + octave_value::uint_value, octave_value::long_value, + octave_value::ulong_value): New functions. + + * syscalls.cc (mk_stat_map, Fgetegid, getgid, geteuid): Likewise. + Delete unnecessary casts. + * file-io.cc (Ffgetl, Ffgets, Fftell, Fsscanf): Likewise. + * toplev.cc (Fsystem): Likewise. + + * ov-file.h (octave_file::double_value, octave_file::scalar_value): + Delete unnecessry cast. + + * ov.cc (octave_value::octave_value): Add constructors for + octave_time, short int, unsigned short int, unsigned int, long + int, unsigned long int, + + * ov.h (octave_value::do_subsref (const std::string&, const + octave_value_list&)): Rename from subsref. Change all derived classes. + + * input.cc (generate_completion): Delete unused variable prefix_len. + + * ov.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): Delete volatile + qualifier for decls of static_type_id and t_id. + (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Likewise, for def of t_id. + +2002-12-30 John W. Eaton + + * utils.cc (Ffile_in_path): Index args correctly. + + * utils.cc (Ffile_in_path): Call error, not print_usage, for + invalid option error. + (Ffile_in_loadpath): Likewise. + + * load-save.cc: Use OCTAVE_LOCAL_BUFFER instead of local automatic + arrays or using new/delete. + + * lex.l (.): Try another approach to handling EOF here. + + * load-save.cc (read_mat_ascii_data): Use isalpha and isalnum, not + ::isalpha and ::isalnum. + + * defaults.cc (maybe_add_or_del_packages): SCRIPT_FILE arg is now + a const reference type. + + * ov.h (octave_value::subsref, octave_value::subsasgn, + octave_value::assign, octave_value::do_non_const_unary_op, + octave_value::numeric_assign): TYPE arg is now a const reference + type. Change all derived classes. + + * ov.cc (octave_value::subsref (const std::string&, const + octave_value_list&)): Move body here, from ov.h. + + * octave.cc (octave_main): Return 0 at end of function to avoid + compiler warnings. + +2002-12-30 Paul Kienzle + + * parse.y: Fix typo in doc string. + +2002-12-29 John W. Eaton + + * DLD-FUNCTIONS/lpsolve.cc (Flpsolve): Rename from Flp_solve. + (Flpsolve_options): Rename ffrom Flp_solve_options. + +2002-12-27 John W. Eaton + + * parse.y (Fevalin): New function. + + * variables.cc (curr_caller_sym_tab): New global variable. + * variables.h: Provide decl. + (initialize_symbol_tables): Initialize it. + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Protect and set it here. + +2002-12-26 John W. Eaton + + * utils.cc (search_path_for_file): Second arg now string_vector. + Use find_first_of, not find. + (search_path_for_all_files): Second arg now string_vector. + Use find_all_first_of, not find_all. + (Ffile_in_path): Accept cell array of strings as first argument. + (Ffile_in_loadpath): Likewise. + + * dynamic-ld.cc (octave_dynamic_loader::load): New arg, file_name. + (octave_dynamic_loader::do_load): Likewise. If file_name is not + empty, use it instead of searching in path. + + * parse.y (load_fcn_from_file): Use find_first_of to perform search. + + * ov-cell.cc (octave_cell::all_strings): New function. + * ov-cell.h: Provide decl. + +2002-12-25 John W. Eaton + + * parse.y (function_end): If parsing a nested function, set + lexer_flags.parsing_nested_function to -1. + (frob_function): If lexer_flags.parsing_nested_function is + negative, set it to zero. + * lex.h (lexical_feedback::parsing_nested_function): Now int. + Change uses as needed. + + * lex.l (NESTED_FUNCTION_BEGIN): Rename from NESTED_FUNCTION_START. + Now an exclusive start state. + (NESTED_FUNCTION_END): New exclusive start state. + (is_keyword): When matching a new function keyword in a nested + function context, explicitly return END and set start state to + NESTED_FUNCTION_END. + (.): Accept EOF here too. + + * variables.cc (link_to_builtin_or_function): Maybe prepend parent + function name symbol name. + + * parse.y (parent_function_name): New variable. + (fcn_name): New non-terminal. + (function2): Use it. + (parsed_fcn_name): Fold into fcn_name. + (function_end): Don't call check_for_garbage_after_fcn_def. + Set lexer_flags.parsing_nested_function on EOF. + * parse.h: Provide decl for parent_function_name. + + * ov-usr-fcn.h (octave_user_function::mark_as_nested_function, + (octave_user_funciton::is_nested_function): New functions. + (octave_user_function::nested_function): New data member. + (octave_user_function::do_multi_index_op): Maybe protect and set + curr_parent_function pointer. + * parse.y (frob_function): Maybe mark as nested function. + + * toplev.cc (curr_parent_function): New global variable. + * toplev.h: Provide decl. + + * lex.l (check_for_garbage_after_fcn_def): Delete. + * lex.h: Delete decl. + + * lex.l (prep_for_nested_function): New function. + (): Use it here. + (is_keyword): And here. + (lookup_identifier): Maybe prepend parent function name. + + * variables.cc (initialize_symbol_tables): Give names to the three + main symbol tables. + * symtab.cc (symbol_table::lookup, symbol_table::rename): Print + debugging info if Vdebug_symtab_lookups is nonzero. + (debug_symtab_lookups): New function. + (Vdebug_symtab_lookups): New static varaible. + (symbols_of_symtab): DEFVAR it. + * symtab.h (symbol_table::table_name): New member variable. + (symtab_count): New static member variable. + (symbol_table::symbol_table): Handle table name. + +2002-12-24 John W. Eaton + + * parse.y (frob_function): Don't give nested functions the same + name as the function file. + + * lex.h (lexical_feedback::parsing_nested_function): New data member. + * lex.l (lexical_feedback::init): Initialize it to false. + (): Set lexer_flags.parsing_nested_function + to true. + + * parse.y (symtab_context): Now a stack. Change all uses. + + * lex.l (NESTED_FUNCTION_START): New start state to handle + "function" keyword in a nested function context. + (prep_for_function): New function. + (is_keyword): Allow functions to be nested in function files. + + * lex.l (is_keyword): Maybe ignore END tokens. + Increment and decrement end_tokens_expected as appropriate. + (handle_identifier): If is_keyword returns -1, return immediately. + ({IDENT}{S}*): Do nothing if handle_identifier returns -1. + + * parse.y (end_tokens_expected): New variable. + (parse_fcn_file): Protect and set it. + + * parse.y (begin_obj_idx): Increment + lexer_flags.looking_at_object_index. + (postfix_expr): Decrement it as appropriate here. + + * lex.h (lexical_feedback::looking_at_object_index): Now int. + + * parse.y (postfix_expr): Reset lexer_flags.looking_at_object_index + in () and {} cases too. + +2002-12-21 John W. Eaton + + * pt-arg-list.cc (indexed_object, indexed_position): + New file-scope static variables. + (tree_argument_list::convert_to_const_vector): New arg, object. + Protect and set indexed_object and indexed_position. + (F__end__): New function. + + * octave-lvalue.h (octave_lvalue::object): New member function. + * pt-idx.cc (make_value_list): New arg, object. Change all + callers. Pass object to convert_to_const_vector. + + * lex.h (lexical_feedback.looking_at_object_index): New data member. + * lex.l (lexical_feedback::init): Initialize it. + (is_keyword): If looking at object index, end is not a keyword. + (handle_identifier): If end is not a keyword, transform it to __end__. + * parse.y (begin_obj_idx): New non-terminal. + (postfix_expr): Use it. + + * defun.cc (install_builtin_function): New arg, can_hide_function. + * defun-int.h: Fix decl. + (DEFCONSTFUN_INTERNAL): New macro. + * defun.h (DEFCONSTFUN): New macro. + * mkbuiltins (XDEFCONSTFUN_INTERNAL): New macro. + * mkgendoc: Likewise. + * Makefile.in (DEFUN_PATTERN): Make it work for DEFCONSTFUN too. + * symtab.h (symbol_record::can_hide_function): New data member. + (symbol_record::symbol_record): Initialize it. + * symtab.cc (symbol_record::variable_reference): Also check + can_hide_function flag. + +2002-12-20 John W. Eaton + + * DLD-FUNCTIONS/time.cc (extract_tm): Use int_value() instead of + casting double_value() to int. + + * ov.cc (octave_value::next_subsref): Arg "skip" is now size_t. + + * oct-obj.h (octave_value_list::octave_value_list (double), + octave_value_list::octave_value_list (const Matrix&), + octave_value_list::octave_value_list (const DiagMatrix&), + octave_value_list::octave_value_list (const RowVector&), + octave_value_list::octave_value_list (const ColumnVector&), + octave_value_list::octave_value_list (const Complex&), + octave_value_list::octave_value_list (const ComplexMatrix&), + octave_value_list::octave_value_list (const ComplexDiagMatrix&), + octave_value_list::octave_value_list (const ComplexRowVector&), + octave_value_list::octave_value_list (const ComplexColumnVector&), + octave_value_list::octave_value_list (const char *), + octave_value_list::octave_value_list (const std::string&), + octave_value_list::octave_value_list (const string_vector&), + octave_value_list::octave_value_list (double, double, double), + octave_value_list::octave_value_list (const Range&): Delete. + Adjust uses of octave_value/octave_value_list to handle this change. + + * ov.cc (octave_value::octave_value (int)): New constructor. + * ov.h: Provide decl. + In files that construct integer-valued octave_value objects, use + ints instead of casing to double. + +2002-12-19 John W. Eaton + + * load-save.cc (read_mat_ascii_data): Allow commas to separate values. + Try harder to convert filenames to valid identifiers in a + Matlab-compatible way. + +2002-12-18 John W. Eaton + + * Makefile.in: No need to add $(LIBKPATHSEA) to LINK_DEPS, since + it is not included in liboctave. + +2002-12-18 JD Cole + + * pt-check.cc (tree_checker::visit_subplot_axes, + tree_checker::visit_do_until_command): New functions. + * pt-check.h: Provide decl. + +2002-12-17 John W. Eaton + + * variables.cc (Fclear): Fix off-by-one error. + + * oct-stream.cc (octave_base_stream::do_gets): Correctly read + last line of file even if it does not end with new line + character. + + * pt-select.cc (equal): Don't look up == op, just try it and see + whether it works. + + * oct-stream.cc (printf_format_list::printf_format_list): + Handle empty format string. + +2002-12-06 John W. Eaton + + * pt-mat.cc (class tm_row_const::tm_row_const_rep): Derive from + octave_base_list instead of SLList. Fix tm_row_const member + functions as needed, change all uses. + (class tm_const): Derive from octave_base_list, not SLList. Fix + member functions as needed, change all uses. + * pt-mat.h (class tree_matrix): Derive from octave_base_list + instead of including SLList object as data member. Fix member + functions as needed, change all uses. + + * pt-idx.h (tree_index_expression::args, + tree_index_expression::arg_nm, tree_index_expression::dyn_field): + Now std::list, not SLList. Fix member functions as needed, change + all uses. + + * oct-map.h (Octave_map::map): Now std::map instead of CHMap. + Fix member functions as needed, change all uses. + + * oct-lvalue.h (octave_lvalue::idx): Now std::list instead of + SLList object. Fix member functions as needed, change all uses. + + * dynamic-ld.cc (octave_shlib_list::lib_list): Now std::list + instead of DLList object. Fix member functions as needed, change + all uses. + + * ov.h (octave_value::subsref, octave_value::subsasgn): + Index arg is not std::list, not SLList. Change all derived + classes, all uses. + + * pt-stmt.h (tree_statement_list): Derive from base_octave_list + object instead of including SLList object as data member. Fix + member functions as needed, change all uses. + * pt-select.h (tree_switch_case_list): Likewise. + (tree_if_command_list): Likewise. + * pt-misc.h (tree_parameter_list, tree_return_list, + tree_va_return_list): Likewise. + * pt-plot.h (subplot_list): Likewise. + * pt-mat.h (tree_matrix): Likewise. + * pt-decl.h (tree_decl_init_list): Likewise. + * pt-arg-list.h (tree_argument_list): Likewise. + * comment-list.h (octave_comment_list): Likewise. + + * BaseSLList.cc, DLList.cc, Map.cc, SLList.cc, SLStack.cc, + Stack.cc: Delete. + * Makefile.in (DIST_SRC): Delete them from the list. + + * BaseSLList.h, DLList.h, Map.h, Pix.h, SLList.h, SLStack.h, + Stack.h: Delete + * Makefile.in (INCLUDES): Delete them from the list. + + * Map-oct-obj.cc, SLList-expr.cc, SLList-misc.cc, SLList-plot.cc, + SLList-tc.cc, SLList-tm.cc: Delete. + * Makefile.in (TI_XSRC): Delete them from the list. + + * ov-base-mat.cc (octave_base_matrix::assign): Pass + MT::resize_fill_value () as third arg for ::assign. + + * Cell.h (Cell::resize_fill_value): Use empty Matrix object, not + undefined octave_value object. + (Cell::Cell (int, int, const octave_value&)): Use + resize_fill_value () as default value, not undefined octave_value + object. + +2002-12-05 John W. Eaton + + * Makefile.in (DEFUN_PATTERN): Make it work for DEFCMD too. + + * base-list.h: New file. + +2002-12-04 John W. Eaton + + * toplev.cc (octave_interpreter_ready): New global variable. + * toplev.h: Provide decl. + + * octave.cc (octave_main): Call execute_default_pkg_add_files just + before executing startup files. Set octave_interpreter_ready to + true before calling execute_default_pkg_add_files. + + * defaults.cc (maybe_add_or_del_packages, default_load_path, + update_load_path_dir_path): New static functions. + (set_default_path, loadpath): Call update_load_path_dir_path. + (symbols_of_defaults): Use DEFVAR, not DEFCONST for DEFAULT_LOADPATH. + (execute_default_pkg_add_files): New function. + * defaults.h.in: Provide decl. + + * utils.cc (search_path_for_all_files): New function. + (Ffile_in_loadpath, Ffile_in_path): Allow search to return all + files in the path. + + * Cell.cc (Cell (const string_vector&)): New constructor. + + * oct-obj.cc (octave_value_list::assign): Allow optional fill + value for resizing. + * oct-map.cc (Octave_map::assign): Pass fill_value in initial + assignment too. + +2002-12-03 John W. Eaton + + * TEMPLATE-INST/Map-tc.cc, TEMPLATE-INST/Map-fnc.cc: Delete. + * Makefile.in (TI_XSRC): Delete them from the list. + + * fn-cache.h (octave_fcn_file_name_cache::cache): Now std::map, + not CHMap. + + * TEMPLATE-INST/SLStack-i.cc, TEMPLATE-INST/SLStack-ovl.cc, + TEMPLATE-INST/SLStack-pc.cc, TEMPLATE-INST/SLStack-str.cc, + TEMPLATE-INST/SLStack-sym.cc, TEMPLATE-INST/SLStack-tok.cc, + TEMPLATE-INST/SLStack-ue.cc, TEMPLATE-INST/SLStack-ui.cc: + Delete unnecessary files. + * Makefile.in (TI_XSRC): Delete them from the list. + + * toplev.cc (octave_atexit_functions): Now std::stack, not SLStack. + * pt-plot.cc (tmp_files): Likewise. + * lex.l (token_stack): Likewise. + (class bracket_brace_paren_nesting_level): Make context a data + member instead of deriving from SLStack object. + Use std::stack instead of SLStack. + * ov-usr-fcn.h (octave_user_function::saved_args): Likewise. + * symtab.h (symbol_record::context): Likewise. + (symbol_record::global_link_context): Likewise. + + * unwind-prot.h (unwind_protect::elt_list): Rename from list. + Now std::stack, not SLStack. + + * pt-stmt.h (tree_statement_list): Make list member data instead + of deriving from SLList object. + * pt-select.h (tree_switch_case_list): Likewise. + (tree_if_command_list): Likewise. + * pt-plot.h (subplot_list): Likewise. + * pt-mat.h (tree_matrix): Likewise. + * pt-decl.h (tree_decl_init_list): Likewise. + * pt-arg-list.h (tree_argument_list): Likewise. + * comment-list.h (octave_comment_list): Likewise. + + * defun.h (DEFCMD): Rename from DEFUN_TEXT. Provide DEFUN_TEXT as + an alias for DEFCMD. Change all uses. + + * variables.cc (at_top_level): New function. + (do_who, Fmark_as_command, Funmark_command): Use it. + + * lex.l (COMMAND_START): Rename from TEXT_FCN. Change all uses. + (MATRIX_START): Rename from MATRIX. Change all uses. + * variables.cc (command_function_set): Rename from + text_function_set. + (mark_as_command): Rename from mark_as_text_function. + (is_marked_as_command): Rename from is_marked_as_text_function. + (Fmark_as_command): Rename from Fmark_as_text_function. + (Funmark_command): Rename from Funmark_text_function. + (is_command_name): Rename from is_text_function_name. + * symtab.h (symbol_record::COMMAND): Rename from TEXT_FUNCTION. + (symbol_record::mark_as_command): Rename from mark_as_text_function. + (symbol_record::unmark_command): Rename from + symbol_record::unmark_text_function. + (symbol_record::is_command): Rename from + symbol_record::is_text_function. + (symbol_record::symbol_def::mark_as_command): Rename from + symbol_record::symbol_def::mark_as_text_function. + (symbol_record::symbol_def::unmark_command): Rename from + symbol_record::symbol_def::unmark_text_function. + (symbol_record::symbol_def::is_command): Rename from + symbol_record::symbol_def::is_text_function. + + * pt-jump.h, pt-jump.cc: Undo previous changes. + * parse.y: Undo previous changes for brea, continue, and return. + +2002-11-25 John W. Eaton + + * pt-stmt.cc (tree_statement::eval): Allow the lookup to execute + script files. If script file has been executed, don't bother to + call expr->rvalue (). + +2002-11-22 John W. Eaton + + * Makefile.in (OCTINTERP_LINK_DEPS): Include $(FLIBS) in + OCTINTERP_LINK_DEPS. + + * variables.cc (text_function_set): New static data. + (mark_as_text_function, unmark_text_function, + is_marked_as_text_function, Fmark_as_text_function, + Funmark_text_function): New functions. + (is_text_function_name): Handle functions marked as text functions + in special list, not just those marked in the symbol record. + * symtab.h (symbol_record::mark_as_text_function, + symbol_record::unmark_text_function, + symbol_record::symbol_def::mark_as_text_function, + symbol_record::symbol_def::unmark_text_function): New functions. + + * oct-map.h (Octave_map::rows, Octave_map::columns): New functions. + * ov-struct.h (octave_struct::rows, octave_struct::columns, + octave_struct::length): New functions. + +2002-11-21 John W. Eaton + + * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_SH_LDFLAGS): New macro. + * toplev.cc (octave_config_info): Add it to the struct. + + * lex.l (): If yytext begins with # or %, don't + recognize it as a string. + + * oct-map.h (Octave_map::operator[]): New const version. + * oct-map.cc (equiv_keys): New function. + (assign (const idx_vector&, const Octave_map&)): New function. + * ov-struct.cc (octave_struct::subsasgn): Use it. + +2002-11-20 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.40. + + * p-b-b.cc, op-bm-bm.cc, op-chm.cc, op-cm-cm.cc, op-cm-cs.cc, + op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, + op-cs-s.cc, op-fil-b.cc, op-fil-bm.cc, op-fil-cm.cc, op-fil-cs.cc, + op-fil-lis.cc, op-fil-m.cc, op-fil-rec.cc, op-fil-s.cc, + op-fil-str.cc, op-list.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, + op-m-s.cc, op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, + op-s-s.cc, op-str-str.cc, op-bm-b.cc, op-cell.cc, BaseSLList.cc, + BaseSLList.h, ChangeLog, Map.cc, Map.h, SLList.cc, SLList.h, + SLStack.cc, SLStack.h, Stack.cc, Stack.h, oct-map.cc, oct-map.h, + oct-obj.cc, oct-obj.h, c-file-ptr-stream.cc, c-file-ptr-stream.h, + ov-base-mat.cc, ov-base-scalar.cc, ov-base-scalar.h, ov-base.cc, + ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h, + ov-builtin.cc, ov-builtin.h, ov-ch-mat.cc, ov-ch-mat.h, + ov-colon.cc, ov-complex.cc, ov-complex.h, ov.h, ov-cx-mat.cc, + ov-cx-mat.h, ov-fcn.cc, ov-fcn.h, ov-file.cc, ov-file.h, + ov-list.cc, ov-list.h, ov-mapper.cc, ov-mapper.h, ov-range.cc, + ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h, + ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, ov-struct.h, + ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, ov-usr-fcn.h, + ov-va-args.cc, ov.cc, ov-base-mat.h, procstream.cc, procstream.h, + pt-arg-list.cc, pt-arg-list.h, pt-binop.cc, pt-binop.h, + pt-check.cc, pt-check.h, pt-cmd.cc, pt-cmd.h, pt-colon.cc, + pt-colon.h, pt-const.cc, pt-const.h, pt-decl.cc, pt-decl.h, + pt-except.cc, pt-except.h, pt-exp.cc, pt-exp.h, pt-id.cc, pt-id.h, + pt-idx.cc, pt-idx.h, pt-jump.cc, pt-jump.h, pt-loop.cc, pt-loop.h, + pt-mat.cc, pt-mat.h, pt-misc.cc, pt-misc.h, pt-pr-code.cc, + pt-pr-code.h, pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, + pt-unop.cc, pt-unop.h, pt.cc, pt.h, symtab.h, token.cc, token.h, + unwind-prot.cc, unwind-prot.h, ov-base-nd-array.cc, + ov-re-nd-array.h, ov-re-nd-array.cc, ov-base-nd-array.h, + comment-list.h, comment-list.cc, DLList.cc, DLList.h, + ov-dld-fcn.h, ov-dld-fcn.cc, Cell.cc, Cell.h, pt-cell.h, + pt-cell.cc, ov-cell.h, ov-cell.cc, pt-plot.cc, pt-plot.h, + pt-assign.cc, pt-assign.h, pt-bp.cc, pt-bp.h, symtab.cc, + ov-cs-list.h, ov-cs-list.cc: + Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of + "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)". + +2002-11-19 John W. Eaton + + * oct-obj.h (octave_value_list::~octave_value_list): New function. + +2002-11-19 John W. Eaton + + * DLD-FUNCTIONS/odessa.cc (odessa_user_j): Put T in args(1), not + args(0). + +2002-11-18 John W. Eaton + + * parse.y (symtab_context): Now extern. + * parse.h: Provide decl. + * lex.l (reset_parser): Set it to 0. + +2002-11-15 John W. Eaton + + * pt-bp.cc (octave_debug_on_interrupt_state): New global variable. + * pt-bp.h: Provide decl. + (MAYBE_DO_BREAKPOINT): Check it. + + * sighandlers.cc (sigint_handler): Handle debug_on_interrupt. + (Vdebug_on_interrupt): New static variable. + (symbols_of_sighandlers): New function. DEFVAR Vdebug_on_interrupt. + (debug_on_interrupt): New function. + + * lex.h (YY_FATAL_ERROR): Use OCTAVE_QUIT here. + + * utils.cc (toplevel): Delete variable. + + * sighandlers.cc (OCTAVE_MEMORY_EXHAUSTED_ERROR): Delete. + +2002-11-14 John W. Eaton + + * sighandlers.cc (octave_new_handler): Delete. + (install_signal_handlers): Don't call set_new_handler. + * toplev.cc (main_loop): Handle bad_alloc exception here. + + * sighandlers.cc (octave_new_handler): Allow return after + OCTAVE_JUMP_TO_TOP_LEVEL. + (sigfpe_handler): Likewise. + +2002-11-13 John W. Eaton + + * variables.cc (is_variable): New static function. + (generate_struct_completions): Only evaluate objects that look + like variables. + +2002-11-12 John W. Eaton + + * pt-jump.h, pt-jump.cc (tree_break_expression, + tree_continue_expression, tree_return_expression): Rename from + tree_break_command, tree_continue_command, tree_return_command. + Implement as expressions that return TRUE instead of commands. + Change all uses. + * parse.y (make_break_expression, make_continue_expression, + make_return_expression): Rename from make_break_command, + make_continue_command, make_return_command. Change all uses. + (jump_expr): Rename from jump_command, type is now expression. + Use in simple_expr, not command. + + * toplev.cc (octave_initialized): New global variable. + (main_loop): Set it to true here. + * sighandlers.cc (sigint_handler): Exit immediately if we have not + finished init process. + + * load-save.cc (extract_keyword): Return std::string, not char *. + Change all uses. + (read_ascii_data): Likewise. + (read_binary_data): Likewise. + (read_hdf5_data): Likewise. + (read_mat_ascii_data): Likewise. + (read_mat_binary_data): Likewise. + (do_load): Name and doc are now std::string objects, not char *. + (install_loaded_variable): Likewise. + (read_hdf5_data): Doc is now std::string object, not char *&. + (read_mat_ascii_data): Call OCTAVE_QUIT in strategic locations. + (get_lines_and_columns): Likewise. + + * toplev.cc (main_loop): Call OCTAVE_QUIT after executing command. + * parse.y (parse_and_execute (FILE *)): Likewise. + +2002-11-12 Joseph P. Skudlarek + + * input.cc (match_sans_spaces_semi): Rename from match_sans_spaces. + Ignore trailing semicolons too. Change all callers. + +2002-11-11 John W. Eaton + + * octave.gperf: Allow "persistent" as a synonym for static. + + * defun-int.h (DEFUN_MAPPER_INTERNAL): Don't forget doc string + when creating octave_mapper object. + + * sysdep.cc (BSD_init): Avoid failure if FP_X_DNML is not defined. + +2002-11-08 John W. Eaton + + * cutils.c: Be sure to always return buf. + + Undo previous vnprintf changes. The portable snprintf I found + does not handle floating point conversions... + +2002-11-07 John W. Eaton + + * Makefile.in (liboctinterp.$(LIBEXT)): Include $(XERBLA) here. + (octave.$(EXEEXT)): Not here. + (liboctinterp.$(SHLEXT)): Include $(PIC_XERBLA) here. + + * main.c: Move decl for xerbla here from octave.cc. + + * cutils.c (octave_vsnprintf): Use portable_snprintf to avoid + having to cope with all kinds of buggy implementations. + + * snprintf.c: New file. + * Makefile.in (DISTFILES): Add it to the list. + + * oct-snprintf.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + + * oct-snprintf.c: New file. + * Makefile.in (DIST_SRC): Add it to the list. + + * toplev.cc (main_loop): Use SET_OCTAVE_INTERRUPT_IMMEDIATELY + instead of assigning octave_interrupt_immediately. + +2002-11-06 John W. Eaton + + * utils.cc (jump_to_top_level): Delete. + + * toplev.cc (toplevel): Delete. + (main_loop): Adapt to new signal/exception handling scheme. + + * sighandlers.cc (octave_signal_mask, octave_save_signal_mask, + octave_restore_signal_mask): Move to libcruft/misc/quit.cc. + (sigint_handler) [USE_EXCEPTIONS_FOR_INTERRUPTS]: set + octave_interrupt_state. Only jump if octave_interrupt_immediately + is true, and then only to enclosing context. + + * lex.h (YY_FATAL_ERROR): Use OCTAVE_JUMP_TO_TOP_LEVEL, not + jump_to_top_level. + * sighandlers.cc (octave_new_handler, sigfpe_handler, endif, + sigpipe_handler): Likewise. + + * input.cc (gnu_readline): Surround call to + command_editor::readline with + BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and + END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. + + * data.cc, oct-stream.cc, ov-cell.cc, ov-mapper.cc, ov-re-mat.cc, + ov.cc, pr-output.cc, pt-loop.cc, pt-stmt.cc, xdiv.cc, xpow.cc, + DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, + DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc, + DLD-FUNCTIONS/kron.cc, DLD-FUNCTIONS/log.cc, + DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qz.cc, + DLD-FUNCTIONS/rand.cc, DLD-FUNCTIONS/sort.cc: Sprinkle with + OCTAVE_QUIT. + + * DLD-FUNCTIONS/odessa.cc (Fodessa): Correctly extract bsub from + function arg. + +2002-11-04 John W. Eaton + + * cutils.c (octave_vsnprintf): Handle C99 snprintf semantics. + + * oct-obj.h (octave_value_list::operator =): Copy names too. + (octave_value_list::octave_value_list (const octave_value_list&)): + Likewise. + +2002-11-01 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.39. + + * variables.cc (generate_struct_completions): Temporarily reset + discard_error_messages and error_state + (looks_like_struct): Temporarily reset Vwarning option, + error_state, and discard_error_messages. + + * pt-idx.cc (tree_index_expression::eval_error): Now const. + (tree_index_expression::get_struct_index): Require valid identifier. + (tree_index_expression::make_arg_struct, + tree_index_expression::rvalue, tree_index_expression::lvalue): + Handle possible error from get_struct_index. + + * utils.cc (valid_identifier): Move here from load-save.cc. + * utils.h: Provide decl. + + * input.cc (generate_possible_completions): Call + command_editor::filename_completion_desired here. + (generate_possible_completions): Don't generate struct completions + if text contains directory separator or "..". + +2002-10-31 John W. Eaton + + * DLD-FUNCTIONS/odessa.cc (odessa_user_f, odessa_user_j, + odessa_user_b): Reorder args for consistency with other solvers. + (Fodessa): Use extract_function to set args. + (odessa_user_j): Rename from odessa_user_mf. + + * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function, fsolve_user_jacobian): + Print warning if user returns complex value. + * DLD-FUNCTIONS/quad.cc (quad_user_function): Likewise. + * DLD-FUNCTIONS/lsode.cc (lsode_user_function, lsode_user_jacobian): + Likewise. + * DLD-FUNCTIONS/dassl.cc (dassl_user_function, dassl_user_jacobian): + Likewise. + * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f, dasrt_user_cf, dasrt_user_j): + Likewise. + * DLD-FUNCTIONS/daspk.cc (daspk_user_function, daspk_user_jacobian): + Likewise. + + * DLD-FUNCTIONS/daspk.cc (daspk_user_jacobian): New function. + (Fdaspk): Handle extracting Jacobian from function argument. + + * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function): New function. + (Ffsolve): Handle extracting Jacobian from function argument. + + * Makefile.in (%.oct): Depend on octave$(EXEEXT) so that octave + will be built before any .oct files. + (all): Depend on stamp-oct-links. + (octave$(EXEEXT)): Don't depend on stamp-oct-links. + + * ov-base.cc (octave_base_value::subsasgn): Handle default numeric + case here. + * ov-base-mat.cc (octave_base_matrix::subsasgn): Delete. + +2002-10-30 John W. Eaton + + * Makefile.in (OCT_LINK_DEPS): Add $(BLAS_LIBS), $(FFTW_LIBS), and + $(FLIBS). + +2002-10-29 John W. Eaton + + * version.h (OCTAVE_VERSION): Now 2.1.38. + + * utils.cc (octave_vformat): Get return value from + streambuf::vform. + + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Always return solution. + Don't barf on nargout == 3. + + * pt-idx.h (tree_index_expression::dyn_field): New data member. + * pt-idx.cc (tree_index_expression::tree_index_expression + (tree_expression*, tree_expression*, int, int)): New constructor. + (tree_index_expression::append (tree_expression*)): New function. + (tree_index_expression::get_struct_index): New function. + (tree_index_expression::make_arg_struct): Handle dynamic fields. + (tree_index_expression::rvalue): Likewise. + (tree_index_expression::lvalue): Likewise. + + * parse.y (make_indirect_ref (tree_expression*, tree_expression*)): + New function. + (indirect_ref_op): New non-terminal. + (postfix_expr): Use it. + Recognize dynamic struct field references. + (parsing_indir): Delete unused non-terminal. + + * lex.l ("("): Set lexer_flags.looking_at_indirect_ref to false here. + + * pt-idx.cc (tree_index_expression::name): Simplify. + +2002-10-28 John W. Eaton + + * oct-conf.h.in (OCTAVE_CONF_HAVE_DLOPEN_API, + OCTAVE_CONF_HAVE_LOADLIBRARY_API, OCTAVE_CONF_HAVE_SHL_LOAD_API): + Delete. + * toplev.cc (octave_config_info): Delete them from the struct + + * load-save.cc (read_ascii_data): Use octave_read_double and + octave_read_complex so that we handle Inf, NaN, and NA. + (read_mat_ascii_data): Likewise. + (save_ascii_data): Use octave_write_double andoctave_write_complex. + +2002-10-25 John W. Eaton + + * toplev.cc (octave_config_info): Rename WITH_DYNAMIC_LINKING to + ENABLE_DYNAMIC_LINKING. + * oct-conf.h.in: Likewise. + * mkbuiltins: Likewise. + * fn-cache.cc (file_name_cache_elt::update): Likewise. + * Makefile.in: Likewise. + +2002-10-24 John W. Eaton + + * cutils.c (octave_vsnprintf): Buffer and buffer size now static. + * utils.cc (octave_vformat): Don't free buffer returned from + octave_vsnprintf here. + + * ov-usr-fcn.cc (va_arg, va_start, vr_val): Only print warning + once per session. + + * ov-mapper.cc (octave_mapper::apply): Don't try real_type case if + arg is a string and we have a ch_map_fcn. + + * Makefile.in: Add $(LIBKPATHSEA) to $(OCTAVE_LIBS) if + $(INCLUDE_LINK_DEPS) is false, not if $(SHARED_LIBS) is false. + +2002-10-23 John W. Eaton + + * DLD-FUNCTIONS/daspk.cc (daspk): Use set_options, not copy. + * DLD-FUNCTIONS/dasrt.cc (dasrt): Likewise. + * DLD-FUNCTIONS/dassl.cc (dassl): Likewise. + * DLD-FUNCTIONS/fsolve.cc (fsolve): Likewise. + * DLD-FUNCTIONS/lsode.cc (lsode): Likewise. + * DLD-FUNCTIONS/odessa.cc (Fodessa): Likewise. + * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. + +2002-10-22 John W. Eaton + + * oct-map.cc (Octave_map::assign): Fix typo in resizing. + + * pt-loop.cc (tree_complex_for_command::eval): Only return list + for val if struct array has more than one element. + (tree_simple_for_command::eval): Likewise. + + * ov-struct.cc (octave_struct::print_raw): Don't create + octave_list directly, use octave_value (const octave_value_list&) + constructor instead. + Call print_with_name for tmp, not val(0). + + * version.h (OCTAVE_VERSION): Now 2.1.37. + (OCTAVE_CONTRIB_STATEMENT): New macro. + (OCTAVE_STARTUP_MESSAGE): Use it. + +2002-10-17 John W. Eaton + + * data.cc (fill_matrix): If nargin is zero, use val, not 0.0. + + * main.c: New file. + * octave.h: New file. + * octave.cc (octave_main): Rename from main. + Include octave.h. + * Makefile.in (OBJECTS): Add octave.o, builtins.o, and ops.o to + the list. + (octave): Depend on and link main.o, not octave.o, builtins.o, and + ops.o (they are now in liboctinterp). + (DEP_5): Add main.c here. + + * oct-conf.h.in: No need to substitute OCTAVE_CONF_OCTAVE_LITE. + * toplev.cc (octave_config_info): Likewise, don't include it in + struct. + + * mkbuiltins: Remove check for OCTAVE_LITE, since it is now + implied by WITH_DYNAMIC_LINKING. + * Makefile.in: Likewise, replace tests for OCTAVE_LITE with tests + for WITH_DYNAMIC_LINKING instead. + + * oct-conf.h.in: Use OCTAVE_CONF_HAVE_DLOPEN_API, + OCTAVE_CONF_HAVE_LOADLIBRARY_API, and + OCTAVE_CONF_HAVE_SHL_LOAD_API instead of OCTAVE_CONF_WITH_DL and + OCTAVE_CONF_WITH_SHL. + * toplev.cc (octave_config_info): Likewise. + +2002-10-16 John W. Eaton + + * help.cc (display_help_text): Quote output file name for Cygwin. + + * Makefile.in (install-lib): Don't bother with versions for + $(SHLBIN) files. + + * help.cc (display_help_text): Match zero or more comment + characters instead of one or more. + + * Makefile.in (install-oct): Process files from $(DLD_DEF_FILES), + not $(DLD_SRC). Look for them in current directory, not $(srcdir). + +2002-10-15 John W. Eaton + + * ov-mapper.cc (octave_mapper::apply): Handle real and complex + types first. If the arg is something else, try ch_map_fcn if it + is defined. + +2002-10-15 Paul Kienzle + + * Makefile.in: If building shared but not static libs, only set + XERBLA to the location of the pic object file if FPICFLAG is + defined. + +2002-10-14 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/getrusage.cc, data.cc, + file-io.cc, ov-base.cc, ov-bool-mat.cc, ov-ch-mat.cc, + ov-complex.cc, ov-cx-mat.cc, ov-range.cc, ov-re-mat.cc, + ov-re-nd-array.cc: Change all uses of octave_Inf, octave_NA, and + octave_NaN to be calls to lo_ieee_Inf_value, lo_ieee_NA_value, and + lo_ieee_NaN_value instead of using the constants directly to avoid + linking problem with Cygwin. + + * Makefile.in (install): No need to use cd to create links. + +2002-10-14 Paul Kienzle + + * Makefile.in: Merge liboctave with liboct-readline and + liboct-pathsearch. + Use link dependencies for shared libs if INCLUDE_LINK_DEPS. + (LIBRARIES): If doing shared libs, include versioned library in list. + (liboctinterp.$(SHLEXT), liboctinterp.$(SHLEXT_VER)): Reverse + actions -- build unversioned library, symbolic link adds version + info. + (install, uninstall): Handle link and load forms of the library + separately. + + * toplev.cc (octave_config_info): Remove LIBOCT_READLINE and + LIBOCT_PATHSEARCH, add LIBREADLINE. + * oct-conf.h.in: Likewise. + +2002-10-11 John W. Eaton + + * lex.l (handle_identifier): Don't enter token in local symbol + table if the following token is a dot and it looks like a binary + operator. + (force_local_variable): If name is not a variable, clear it before + defining. + + * oct-procbuf.cc (Vkluge_procbuf_delay): Make default 0 for all + systems. + + * octave.cc (execute_startup_files, initialize_pathsearch): + Use file_ops::dir_sep_str instead of OCTAVE_DIR_SEP_STR. + (main): Use file_ops::dir_sep_chars instead of OCTAVE_DIR_SEP_CHARS. + + * ov-re-mat.cc (octave_matrix::convert_to_str): Warn for out of + range conversions. For negative values, set to 0. + * ov-scalar.cc (octave_scalar:convert_to_str): Likewise. + + * mappers.cc (xabs): New static function. + (install_mapper_functions): Use it for abs for character matrices. + Handle ch_map_flag separately from can_ret_cmplx_for_real in + all uses of DEFUN_MAPPER. + * defun.h (DEFUN_MAPPER): Handle ch_map_flag separately from + can_ret_cmplx_for_real. + * defun-int.h (DEFUN_MAPPER_INTERNAL): Likewise. + * mkbuiltins: Likewise. + * mkgendoc: Likewise. + * ov-mapper.cc (octave_mapper::apply): Use ch_map_flag and + can_ret_cmplx_for_real instead of flag. + * ov-mapper.h (octave_mapper::ch_map_flag): Rename from flag. + (octave_mapper::can_ret_cmplx_for_real): New data member. + (octave_mapper::octave_mapper): Handle it here. + +2002-10-10 John W. Eaton + + * octave.cc (execute_startup_files): Don't forget directory + separator for local initfile. + + * move-if-change: Delete. + * Makefile.in (DISTFILES): Delete it from the list. + +2002-10-09 John W. Eaton + + * Makefile.in: Use $(EXEEXT) and $(BUILD_EXEEXT) as appropriate. + + * pt-plot.cc (Vgnuplot_binary): Use GNUPLOT_BINARY as default. + + * octave.cc (execute_startup_files): + Use octave_env::getcwd instead of "./". + Use OCTAVE_DIR_SEP_STR instead of "/". + (initialize_pathsearch): Use OCTAVE_DIR_SEP_STR instead of /. + (main): Look for OCTAVE_DIR_SEP_CHARS, not '/'. + +2002-10-08 John W. Eaton + + * Makefile.in (gendoc): Use $(BUILD_CXX), not $(CXX). + +2002-10-07 John W. Eaton + + * utils.cc (octave_sleep): Cast result of modf to unsigned int. + +2002-10-07 Paul Kienzle + + * sighandlers.cc (my_friendly_exit): If kill is unavailable, use + raise. + +2002-10-06 John W. Eaton + + * sysdep.cc (CYGWIN_init): New function. + (sysdep_init) [__CYGWIN__]: Call it. + + * pt-plot.cc (subplot::handle_plot_data): Surround file names in + single quotes, not double (for Windows). + (do_external_plotter_cd): Likewise. + +2002-10-03 John W. Eaton + + * cutils.c (octave_usleep): Call octave_sleep, not sleep. + + * utils.cc (octave_sleep (double)): New function. + * utils.h: Provide decl. + * sysdep.cc (Fpause, Fsleep): Use it. + + * cutils.c (do_octave_usleep): Merge with octave_usleep. + (octave_usleep): Make it work for Windows systems. From Paul + Kienzle . + +2002-10-03 Paul Kienzle + + * cutils.c (octave_usleep): Make it work for Windows systems. + + * toplev.cc (Fsystem): Error message if fork is not available. + +2002-10-02 John W. Eaton + + * cutils.c (octave_sleep): Handle Windows, which may not have + sleep, but should have Sleep. + + * oct-conf.h.in (OCTAVE_CONF_SED): Add an entry for SED. + * toplev.cc (octave_config_info): Likewise. + * Makefile.in (oct-gperf.h): Use $(SED), not sed. + +2002-09-27 John W. Eaton + + * file-io.cc (fopen_mode_to_ios_mode): Set ios::ate instead of + ios::app for "a+" mode. + * oct-stream.cc (octave_stream::mode_as_string): Recognize + ios::ate, not ios::app as "a+" mode. + (octave_stream::mode_as_string): Use parens since | has lower + precedence than ==. + +2002-09-26 Paul Kienzle + + * sysdep.cc: Include conio.h if it exists. + (octave_kbhit): Rename from kbhit. Implement with _kbhit if it + exists. Change all callers. + * cutils.c (octave_sleep): New function. + Change all callers of sleep to use octave_sleep instead. + +2002-09-26 John W. Eaton + + * BaseSLList.cc, BaseSLList.h, Cell.cc, Cell.h, DLList.cc, + DLList.h, Map.cc, Map.h, OPERATORS/op-b-b.cc, + OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, + OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, + OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, + OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, + OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, + OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, + OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, + OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-m-s.cc, OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, + OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, + OPERATORS/op-str-str.cc, SLList.cc, SLList.h, SLStack.cc, + SLStack.h, Stack.cc, Stack.h, c-file-ptr-stream.cc, + c-file-ptr-stream.h, comment-list.cc, comment-list.h, oct-map.cc, + oct-map.h, oct-obj.cc, oct-obj.h, ov-base-mat.cc, ov-base-mat.h, + ov-base-nd-array.cc, ov-base-nd-array.h, ov-base-scalar.cc, + ov-base-scalar.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, + ov-bool-mat.h, ov-bool.cc, ov-bool.h, ov-builtin.cc, ov-builtin.h, + ov-cell.cc, ov-cell.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, + ov-complex.cc, ov-complex.h, ov-cs-list.cc ov-cs-list.h, + ov-cx-mat.cc, ov-cx-mat.h, ov-dld-fcn.cc, ov-dld-fcn.h, ov-fcn.cc, + ov-fcn.h, ov-file.cc, ov-file.h, ov-list.cc, ov-list.h, + ov-mapper.cc, ov-mapper.h, ov-range.cc, ov-range.h, ov-re-mat.cc, + ov-re-mat.h, ov-re-nd-array.cc, ov-re-nd-array.h, ov-scalar.cc, + ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, + ov-struct.h, ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, + ov-usr-fcn.h, ov-va-args.cc, ov.cc, ov.h, procstream.cc, + procstream.h, pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, + pt-assign.h, pt-binop.cc, pt-binop.h, pt-bp.cc, pt-bp.h, + pt-cell.cc, pt-cell.h, pt-check.cc, pt-check.h, pt-cmd.cc, + pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, + pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, pt-exp.cc, + pt-exp.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-jump.cc, + pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, + pt-misc.h, pt-plot.cc, pt-plot.h, pt-pr-code.cc, pt-pr-code.h, + pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, + pt-unop.h, pt.cc, pt.h, symtab.cc, symtab.h, token.cc, token.h, + unwind-prot.cc, unwind-prot.h: + If __GNUG__, use pragma interface/implementation. Allow this to + be turned off by defining NO_PRAGMA_INTERFACE_IMPLEMENTATION. + +2002-09-26 Paul Kienzle + + * mappers.cc (install_mapper_functions): Install erf, not xerf. + Install erfc, not xerfc. + + * pt-bp.cc (tree_breakpoint::visit_unwind_protect_command): + Rename lst1 and lst2 to avoid dlgs.h conflict. + + * parse.y: Replace TEXT with STRING to avoid winnt.h conflict. + * lex.l: Ditto. + + * sysdep.cc (raw_mode): Non-fatal warning if raw_mode is not + supported. + + * sighandlers.cc: Don't define handlers for non-existent signals. + + * utils.cc: Don't include unneeded termio headers. + +2002-09-19 John W. Eaton + + * BaseSLList.cc, BaseSLList.h, Cell.cc, Cell.h, DLList.cc, + DLList.h, Map.cc, Map.h, OPERATORS/op-b-b.cc, + OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, + OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, + OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, + OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, + OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, + OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, + OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, + OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, + OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, + OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, + OPERATORS/op-m-s.cc, OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, + OPERATORS/op-s-cs.cc, OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, + OPERATORS/op-str-str.cc, SLList.cc, SLList.h, SLStack.cc, + SLStack.h, Stack.cc, Stack.h, c-file-ptr-stream.cc, + c-file-ptr-stream.h, comment-list.cc, comment-list.h, oct-map.cc, + oct-map.h, oct-obj.cc, oct-obj.h, ov-base-mat.cc, ov-base-mat.h, + ov-base-nd-array.cc, ov-base-nd-array.h, ov-base-scalar.cc, + ov-base-scalar.h, ov-base.cc, ov-base.h, ov-bool-mat.cc, + ov-bool-mat.h, ov-bool.cc, ov-bool.h, ov-builtin.cc, ov-builtin.h, + ov-cell.cc, ov-cell.h, ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, + ov-complex.cc, ov-complex.h, ov-cs-list.cc ov-cs-list.h, + ov-cx-mat.cc, ov-cx-mat.h, ov-dld-fcn.cc, ov-dld-fcn.h, ov-fcn.cc, + ov-fcn.h, ov-file.cc, ov-file.h, ov-list.cc, ov-list.h, + ov-mapper.cc, ov-mapper.h, ov-range.cc, ov-range.h, ov-re-mat.cc, + ov-re-mat.h, ov-re-nd-array.cc, ov-re-nd-array.h, ov-scalar.cc, + ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, + ov-struct.h, ov-typeinfo.cc, ov-typeinfo.h, ov-usr-fcn.cc, + ov-usr-fcn.h, ov-va-args.cc, ov.cc, ov.h, procstream.cc, + procstream.h, pt-arg-list.cc, pt-arg-list.h, pt-assign.cc, + pt-assign.h, pt-binop.cc, pt-binop.h, pt-bp.cc, pt-bp.h, + pt-cell.cc, pt-cell.h, pt-check.cc, pt-check.h, pt-cmd.cc, + pt-cmd.h, pt-colon.cc, pt-colon.h, pt-const.cc, pt-const.h, + pt-decl.cc, pt-decl.h, pt-except.cc, pt-except.h, pt-exp.cc, + pt-exp.h, pt-id.cc, pt-id.h, pt-idx.cc, pt-idx.h, pt-jump.cc, + pt-jump.h, pt-loop.cc, pt-loop.h, pt-mat.cc, pt-mat.h, pt-misc.cc, + pt-misc.h, pt-plot.cc, pt-plot.h, pt-pr-code.cc, pt-pr-code.h, + pt-select.cc, pt-select.h, pt-stmt.cc, pt-stmt.h, pt-unop.cc, + pt-unop.h, pt.cc, pt.h, symtab.cc, symtab.h, token.cc, token.h, + unwind-prot.cc, unwind-prot.h: + Use USE_PRAGMA_INTERFACE_IMPLEMENTATION instead of __GNUG__ to + decide whether to use the interface/implementation pragmas. + +2002-09-18 John W. Eaton + + * load-save.cc: Undo previous change. + + * ov-struct.cc (octave_struct::subsasgn): Ensure that indexed + object is not shared before calling subsasgn. + +2002-09-04 John W. Eaton + + * load-save.cc: Use % instead of # as comment character in ascii + data files. + +2002-08-17 Mumit Khan + + * c-file-ptr-stream.h (c_file_ptr_buf::c_file_ptr_buf): Add Intel + C++ runtime support. + + * Cell.h, gripes.cc, ov-base-scalar.cc, ov-colon.cc, ov-fcn.cc, + ov-file.cc, ov-mapper.h, ov-va-args.cc, token.cc, xpow.cc, + OPERATORS/op-b-b.cc, OPERATORS/op-bm-b.cc, OPERATORS/op-bm-bm.cc, + OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, OPERATORS/op-cm-cm.cc, + OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, OPERATORS/op-cs-m.cc, + OPERATORS/op-cs-s.cc, OPERATORS/op-fil-b.cc, OPERATORS/op-fil-bm.cc, + OPERATORS/op-fil-cm.cc, OPERATORS/op-fil-cs.cc, + OPERATORS/op-fil-lis.cc, OPERATORS/op-fil-m.cc, + OPERATORS/op-fil-rec.cc, OPERATORS/op-fil-s.cc, + OPERATORS/op-fil-str.cc, OPERATORS/op-list.cc, OPERATORS/op-m-cm.cc, + OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, + OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, + OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc, + TEMPLATE-INST/Array-sym.cc, TEMPLATE-INST/Array-tc.cc, + TEMPLATE-INST/Map-tc.cc, TEMPLATE-INST/SLList-expr.cc, + TEMPLATE-INST/SLList-tc.cc, TEMPLATE-INST/SLList-tm.cc, + TEMPLATE-INST/SLStack-sym.cc: Make the implementation of + octave_value_list visibile for template instantiation. + +2002-08-17 John W. Eaton + + * DLD-FUNCTIONS/dasrt.cc: Include not . + + * pager.h: Include lo-sstream.h and use macros instead of using + strstreambuf class directly. + + * load-save.cc (read_mat_ascii_data): Handle istrstream here too. + + * procstream.h (procstream::procstream): Also accept std::string arg. + (iprocstream::iprocstream, iprocstream::open): Likewise. + (oprocstream::oprocstream, oprocstream::open): Likewise. + (procstreambase::procstreambase, procstreambase::open): Likewise. + + * pt-plot.cc (gnuplot_terminal_type): Now std::string&, not char*. + (send_to_plot_stream): Likewise, for cmd arg. + + * pt-plot.h, pt-plot.cc: Include lo-sstream.h and use macros + instead of using strstream classes directly. + * oct-strstrm.h: Likewise. + * error.h, error.cc: Likewise. + * oct-stream.h, oct-stream.cc: Likewise. + * lex.l: Likewise. + * toplev.cc: Likewise. + * utils.cc: Likewise. + * pt.cc: Likewise. + * pr-output.cc: Likewise. + * ov-list.cc: Likewise. + * ov-cs-list.cc: Likewise. + * ov-cell.cc: Likewise. + * load-save.cc: Likewise. + * help.cc: Likewise. + * dirfns.cc: Likewise. + +2002-08-15 Paul Kienzle + + * input.cc (octave_read): Do a better job of buffering. + +2002-08-15 John W. Eaton + + * Makefile.in (DLD_DEF_FILES): New macro. + (DEF_5): Delete. + (DEF_4): Now only includes $(SOURCES). + (DEF_FILES): Append $(DLD_DEF_FILES) here. + (stamp-oct-links): Pass $(DLD_DEF_FILES) to mk-oct-links instead + of a list of source files. + * mk-oct-links: Work on .df files instead of .cc files. + + * parse.y (case_list): Allow it to be empty. + + * ov.cc, ov.h (octave_value::int_vector_value): New function. + +2002-08-14 John W. Eaton + + * Makefile.in (OCTAVE_LIBS): Only include $(LIBKPATHSEA) if not + using shared libraries. + + * ov.cc (octave_value::octave_value (const octave_value_list&, bool)): + Don't forget to assign rep. + +2002-08-12 John W. Eaton + + * lex.l: Warn for various Matlab-incompatibilities. + No longer accept <> for NOTEQ. + (gripe_matlab_incompatible): New function. + (maybe_gripe_matlab_incompatible_comment): Likewise. + (gripe_matlab_incompatible_continuation): Likewise. + (gripe_matlab_incompatible_operator): Likewise. + (warn_matlab_incompatible): New function. + (Vwarn_matlab_incompatible): New static variable. + (symbols_of_lex): Add a DEFVAR for it. + + + * file-io.cc (fopen_mode_to_ios_mode): Default value is std::ios::in. + Return std::ios::openmode instead of int. + +2002-08-10 John W. Eaton + + * DLD-FUNCTIONS/dasrt.cc (DASRT_ABORT1, DASRT_ABORT2): + "##" pastes tokens, not strings. + + * DLD-FUNCTIONS/odessa.cc: Add std:: qualifiers as needed. + +2002-08-09 John W. Eaton + + * variables.cc (Fisglobal): Rename from Fis_global. + * file-io.cc (Fisstream): Rename from Fis_stream. + * data.cc (Fisbool): Rename from Fis_bool. + (Fiscomplex): Rename from Fis_complex. + (Fislist): Rename from Fis_list. + (Fismatrix): Rename from Fis_matrix. + (Fisstruct): Rename from Fis_struct. + + * parse.y (switch_case): Make list of command optional. + +2002-08-08 John W. Eaton + + * pr-output.cc (pr_max_internal): Use octave_is_NaN_or_NA instead + of xisnan. + (pr_min_internal): Likewise. + (output_max_field_width): Likewise. + (output_precision): Likewise. + (pr_any_float): Handle NA. + * mappers.cc (Fisna, F_is_nan_or_na): New functions. + * data.cc (symbols_of_data): New constant, NA. + +2002-08-07 John W. Eaton + + * pt-binop.h (tree_binary_expression::is_binary_expression): + New function, return true. + (tree_boolean_expression::is_boolean_expression): New function, + return true. + * pt-exp.h (tree_expression::is_binary_expression): New function. + (tree_expression::is_boolean_expression): Likewise. + * parse.y (EXPR_OR_OR): Now lower precedence than EXPR_AND_AND. + (EXPR_OR): Now lower precedence than EXPR_AND. + (make_boolean_op): Maybe warn about change in precedence. + (make_binary_op): Likewise. + (Vwarn_precedence_change): New static variable. + (warn_precedence_change): New function. + (Vwarn_precedence_change): New DEFVAR. + +2002-08-05 John W. Eaton + + * data.cc (ANY_ALL): Improve arg checks. + +2002-08-04 John W. Eaton + + * ov.h (octave_value::assign_op): New enum values, op_pow_eq and + op_el_pow_eq. + * ov.cc (octave_value::assign_op_as_string): Handle them here. + (ocatave_value::op_eq_to_binary_op): And here. + * parse.y (POW_EQ, EPOW_EQ): New tokens. + (assign_expr): Handle them here too. + (make_assign_op): And here. + + * lex.l: Recognize {POW}= and {EPOW}=. + +2002-08-02 John W. Eaton + + * ov-base-scalar.h (octave_base_scalar::all): New int arg. + (octave_base_scalar::any): Likewise. + * ov-range.h (octave_range::all): Likewise. + (octave_range::any): Likewise. + + * Makefile.in (doc-files): Use mv, not move-if-change here. + + * variables.cc (symbol_exist): New function. + (Fexist): Use it. Handle optional type arg. Make return codes + more compatible with Matlab. + + * data.cc (ANY_ALL): New macro. + (Fany, Fall): Replace guts with ANY_ALL. + +2002-08-01 John W. Eaton + + * data.cc (Fall, Fany): Handle optional DIM argument. + + * ov.h (octave_value::any): New arg, dim. + (octave_value::all): Likewise. + * ov-base.h (octave_base_value::any): Likewise. + (octave_base_value::all): Likewise. + * ov-base-mat.h (octave_base_matrix::any): Likewise. + (octave_base_matrix::all): Likewise. + + * Makefile.in: Use $@-t instead of $@.t. + (doc-files): Use move-if-change when creating doc-files. + + * error.cc (warning): Don't print warning backtrace at top level. + + * ov-cell.cc (octave_cell::print_raw): Print empty dimensions too. + (octave_cell::print_name_tag): Don't print new line if cell is empty. + + * octave.cc (intern_argv): Don't install __argv__. + + * defun-int.h (UNDERSCORIFY): Delete. + (DEFCONST_INTERNAL): Don't install double underscore versions of + constants since they aren't really needed. + (DEFCONSTX_INTERNAL): Likewise. + +2002-07-31 John W. Eaton + + * symtab.cc (symbol_table::clear (void)): Clear all records. + (symbol_table::clear (const std::string&)): Delete second arg. + Clear any symbol that matches, regardless of type. + + * symtab.h (symbol_table::variable_name_list): New function. + (symbol_table::global_variable_name_list): Likewise. + (symbol_table::user_function_name_list): Likewise. + + * symtab.h, symtab.cc (symbol_table::clear_variables): New function. + (symbol_table::clear_functions): Likewise. + (symbol_table::clear_globals): Likewise. + (symbol_table::clear_variable): New function. + (symbol_table::clear_function): Likewise. + (symbol_table::clear_global): Likewise. + (symbol_table::clear_variable_pattern): New function. + (symbol_table::clear_function_pattern): Likewise. + (symbol_table::clear_global_pattern): Likewise. + + * variables.cc (name_matches_any_pattern): Rename from + var_matches_any_pattern. + (is_local_variable): New static inline function. + (maybe_warn_exclusive): Likewise. + (do_clear_all): Likewise. + (do_clear_functions): Likewise. + (do_clear_globals): Likewise. + (do_clear_variables): Likewise. + (do_clear_function): Likewise. + (do_clear_global): Likewise. + (do_clear_variable): Likewise. + (do_clear_symbol): Likewise. + (do_clear_function_pattern): Likewise. + (do_clear_global_pattern): Likewise. + (do_clear_variable_pattern): Likewise. + (do_clear_symbol_pattern): Likewise. + (do_clear_functions): Likewise. + (do_clear_functions): Likewise. + (do_clear_globals): Likewise. + (do_clear_variables): Likewise. + (do_clear_symbols): Likewise. + (do_matlab_compatible_clear): Likewise. + (CLEAR_OPTION_ERROR): New macro. + (Fclear): Rewrite for Matlab compatibility and to cope with new + symbol table semantics. + +2002-07-30 John W. Eaton + + * symtab.cc (symbol_table::clear): Simply clear everything. + (symbol_table::clear_functions, symbol_table::clear_globals, + symbol_table::clear_all): New functions. + + * symtab.h (symbol_record::symbol_def::next_elem): Delete. + (symbol_record::symbol_def::symbol_def): Delete intializer. + + * symtab.h, symtab.cc (symbol_record::push_def): Delete. + (symbol_record::remove_top_def): Delete. + (symbol_record::replace_all_defs): Delete. + (symbol_record::hides_fcn): Delete. + (symbol_record::hides_builtin): Delete. + + * symtab.h (symbol_table::~symbol_table): Call clear before + deleting the table. + + * variables.cc (initialize_symbol_tables): Create fbi_sym_tab too. + (Fexist): Look in fbi_sym_tab, not global_sym_tab. + + * parse.y (function_symtab): Rename from global_symtab. + Set curr_sym_tab to fbi_sym_tab, not global_sym_tab. + Change all uses of global_symtab to be function_symtab instead. + (frob_function): Rename and look for function name in fbi_sym_tab, + not global_sym_tab. + (parse_fcn_file): Clear function name from fbi_sym_tab, not + global_sym_tab. + + * load-save.cc (save_vars): Look for built-in vars in fbi_sym_tab. + * symtab.cc (symbol_record::link_to_builtin_variable): Likewise. + * variables.cc (is_builtin_variable): Likewise. + (bind_ans): Likewise. + (bind_builtin_constant): Likewise. + (bind_builtin_variable): Likewise. + (builtin_string_variable): Likewise. + (builtin_real_scalar_variable): Likewise. + (builtin_any_variable): Likewise. + (is_text_function_name): Likewise, for functions. + (force_link_to_function): Likewise. + (is_builtin_function_name): Likewise. + (is_mapper_function_name): Likewise. + (is_valid_function): Likewise. + (Fclear): Likewise. + (F__print_symtab_info__): Likewise. + * defun.cc (print_usage): Likewise. + (install_builtin_mapper): Likewise. + (install_builtin_function): Likewise. + (install_dld_function): Likewise. + (Falias): Likewise. + * dynamic-ld.cc (clear_function): Likewise. + * variables.cc (do_who): Likewise, for built-ins and functions. + (link_to_builtin_or_function): Likewise. + * help.cc (LIST_SYMBOLS): Likewise. + (make_name_list): Handle fbi_sym_tab too. + + * variables.cc (fbi_sym_tab): New symbol table. + * variables.h (fbi_sym_tab): Provide decl. + +2002-07-29 John W. Eaton + + * symtab.h (symbol_record::alias): Delete unused arg force. + Change all callers. + + * variables.cc (link_to_global_variable): Give local variable + global value. + + * pt-id.cc (tree_identifier::link_to_global): Warn about global + variables that have been defined before being declared global. + for a global variable to be used before it is declared global. + * pt-decl.cc (tree_global_command::do_init): Handle possible error + from tree_identifier::link_to_global. + +2002-07-25 John W. Eaton + + * ov.cc (silent_functions, Vsilent_functions): Move here. + (octave_value::print_with_name): Don't print anything if we are + evaluating a function and Vsilent_functions is true. + + * pt-stmt.cc: From here. + (symbols_of_pt_stmt): Delete. + (tree_statement_list::eval): Don't bother with Vsilent_functions here. + +2002-07-24 John W. Eaton + + * Makefile.in (OPT_HANDLERS): New targets. + (doc-files): New target. + (gendoc.cc): Depend on doc-files, not $(DOC_FILES). + + * DLD-FUNCTIONS/daspk.cc, DLD-FUNCTIONS/dasrt.cc, + DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/fsolve.cc, + DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/odessa.cc + DLD-FUNCTIONS/quad.cc: Replace option handling code with include + directive. + +2002-07-22 John W. Eaton + + * pt-loop.cc (tree_simple_for_command::eval): Once we know the RHS + is a matrix type check for real_type, not real_matrix. + +2002-07-19 John W. Eaton + + * DLD-FUNCTIONS/quad.cc (quad): Cope with changes to Quad constructors. + +2002-07-17 John W. Eaton + + * DLD-FUNCTIONS/daspk.cc (Fdaspk): Also return istate and error + message. Only generate error if user is not at least requesting + the istate output. + * DLD-FUNCTIONS/dasrt.cc (Fdasrt): Likewise. + * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. + * DLD-FUNCTIONS/lsode.cc (Fodessa): Likewise. + +2002-07-16 John W. Eaton + + * DLD-FUNCTIONS/dasrt.cc (Fdasrt): No need to find ng here. + (dasrt_user_j): New function. + (Fdasrt): Handle Jacobian function. + + * DLD-FUNCTIONS/dassl.cc (dassl_user_jacobian): New function. + (Fdassl): Handle Jacobian function. + + * DLD-FUNCTIONS/dasrt.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2002-07-12 John W. Eaton + + * lex.l (@): Handle new token. + * parse.y (constant): Accept function handle syntax. + (make_constant): Create function handles here. + +2002-07-11 John W. Eaton + + * defun.cc (check_version): Improve error message. + * error.cc (warning): Only print backtrace once per warning series. + Print backtrace before warning messages. + +2002-07-10 John W. Eaton + + * lex.l (maybe_unput_comma): Also handle '{' as an indexing op. + + * DLD-FUNCTIONS/odessa.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2002-07-05 John W. Eaton + + * pt-assign.cc (tree_multi_assignment::rvalue): Call + lhs->nargout_count, not lhs->length. + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): + Handle cs-list objects here. + (tree_argument_list::nargout_count): New function. + * pt-arg-list.h: Provide decl. + + * ov-cs-list.h, ov-cs-list.cc: New files. + * Makefile.in: Add them to the appropriate lists. + + * ov.cc: Include ov-cs-list.h. + New arg, is_cs_list for constructor taking octave_value_list arg. + (install_types): Register ov_cs_list. + * ov.h (octave_value::is_cs_list): New function. + * ov-base.h (octave_base_value::is_cs_list): Likewise. + * ov-cell.cc (octave_cell::subsref): Return cs-list for "{" indexing. + +2002-07-04 John W. Eaton + + * pt-mat.cc (Vempty_list_elements_ok): Default value is now 1. + * octave.cc (maximum_braindamage): No longer need to set value here. + + * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Warn that these + functions are deprecated. + * lex.l (EL): Warn that `...' is deprecated. + * ov-usr-fcn.cc (octave_user_function::varargout_to_vr_val, + octave_user_function::has_varargout): New functions. + (Fvr_val): Ensure varargout is not defined. + (octave_user_function::do_multi_index_op): Copy values from + varargout here. + +2002-07-03 John W. Eaton + + * ov-usr-fcn.h (octave_user_function::varargin_sr): New data member. + * ov-usr-fcn.cc (octave_user_function::octave_user_function): + Initialize it. + (bind_automatic_vars): Handle varargin. Change all callers. + + * octave.gperf: Handle varargin and varargout as keywords. + * lex.l (is_keyword): Likewise. + (IDENT): Move all actions into handle_identifier. + (handle_identifier): Now takes no args. + + * lex.l (EL): Return VARARGIN or VARARGOUT, not ELLIPSIS. + * parse.y (param_list): Use VARARGIN instead of ELLIPSIS. + (return_list): Use VARARGOUT instead of ELLIPSIS. + + * data.cc (make_diag const octave_value&, const octave_value&): + Allow first arg to be 1x0 or 0x1. + +2002-07-02 John W. Eaton + + * defaults.cc (loadpath): Comment out previous change. + + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Return message too. Only + generate error if user is not at least requesting the info output. + + * DLD-FUNCTIONS/lsode.cc (Flsode): Fix typos in setting return value. + +2002-07-01 John W. Eaton + + * oct-stream.cc (printf_value_cache::double_value): If the current + element is empty and there are no more elements in the value list, + set curr_state to conversion_error. + + * input.cc (initialize_command_input): Include (, ), {, and } as + word break characters. + + * variables.cc (looks_like_struct): Don't evaluate text if it is a + function. From Ben Sapp . + + * symtab.h (symbol_record::is_function): Also return true if + symbol is a text function or a mapper function. + +2002-06-28 John W. Eaton + + * defaults.cc (loadpath): Warn if loadpath doesn't contain + leading, trailing, or doubled colon. + + * pt-decl.cc (tree_static_command::eval, tree_global_command::eval): + Call error for any non-zero value of error_state. + * pt-select.cc (tree_if_command::eval): Likewise. + * pt-loop.cc (tree_while_command::eval_error): Don't check error_state. + (tree_do_until_command::eval_error): Likewise. + (tree_simple_for_command::eval_error): Likewise. + (tree_complex_for_command::eval_error): Likewise. + * pt-assign.cc (tree_multi_assignment::eval_error): Likewise. + (tree_simple_assignment::eval_error): Likewise. + * pt-idx.cc (tree_index_expression::eval_error): Likewise. + * pt-colon.cc (tree_colon_expression::eval_error): Likewise. + (tree_colon_expression::rvalue): Delete rendundant error_state check. + +2002-06-26 John W. Eaton + + * ov-mapper.cc (MAPPER_LOOP, MAPPER_LOOP_1, MAPPER_LOOP_2): New macros. + (octave_mapper::apply): Use them to inline the mapper loops. + + * pt-unop.cc (tree_prefix_expression::rvalue): Ensure that the + operand is defined for op_incr and op_decr. + (tree_postfix_expression::rvalue): Likewise. + From Ben Sapp . + +2002-06-25 John W. Eaton + + * ov-mapper.cc (octave_mapper::apply): Exit loops on error. + +2002-06-03 John W. Eaton + + * ov-struct.cc (octave_struct::print_raw): Print field names with + data types if Vstruct_levels_to_print is 0. + (octave_struct::print_name_tag): Don't emit newline if + Vstruct_levels_to_print is negative. + * ov.cc (struct_levels_to_print): Allow negative values too. + +2002-05-24 John W. Eaton + + * DLD-FUNCTIONS/lsode.cc (Flsode): Also return istate and error + message. Only generate error if user is not at least requesting + the istate output. + + * load-save.cc (hdf5_import_multidim, hdf5_check_attr, + hdf5_callback_data, hdf5_read_next_data, read_hdf5_data, + add_hdf5_data): Use 0, not NULL in calls to HDF routines. + + * oct-procbuf.cc (octave_procbuf::open): Use NULL, not 0 as last + arg in call to execl. + + * debug.cc (get_user_function): Initialise dbg_fcn to 0, not NULL. + +2002-05-23 John W. Eaton + + * DLD-FUNCTIONS/lsode.cc (LSODE_options::da_set_opt_mf, + LSODE_options::da_get_opt_mf): New typedefs. + (LSODE_OPTIONS::da_set_fcn, LSODE_OPTIONS::da_get_fcn): New fields. + (lsode_option_table): Fill them in. + (set_lsode_option (const Array&)): New function. + (print_lsode_option_list): Handle vector options. + (show_lsode_option_list): Likewise. + (Flsode_options): Likewise. + + * DLD-FUNCTIONS/lsode.cc (LSODE_options::s_set_opt_mf, + LSODE_options::s_get_opt_mf): New typedefs. + (LSODE_OPTIONS::s_set_fcn, LSODE_OPTIONS::s_get_fcn): New fields. + (lsode_option_table): Fill them in. + (set_lsode_option (const std::string&)): New function. + (print_lsode_option_list): Handle string options. + (show_lsode_option_list): Likewise. + (Flsode_options): Likewise. + +2002-05-22 John W. Eaton + + * c-file-ptr-stream.h (c_file_ptr_buf::fclose): New function. + (c_file_ptr_buf::c_file_ptr_buf): Use it as default argument + instead of extern "C" fclose function. + (i_c_file_ptr_stream::i_c_file_ptr_stream): Likewise. + (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise. + * oct-stdstrm.h (octave_istdiostream::octave_istdiostream): Likewise. + (octave_istdiostream::create): Likewise. + * oct-stdstrm.h (octave_ostdiostream::octave_ostdiostream): Likewise. + (octave_ostdiostream::create): Likewise. + + * oct-prcstrm.cc (cxx_pclose): New static function. + (octave_iprocstream::octave_iprocstream): Pass it to + octave_istdiostream constructor instead of extern "C" pclose function. + (octave_oprocstream::octave_oprocstream): Pass it to + octave_ostdiostream constructor instead of extern "C" pclose function. + + * debug.cc (Fdbtype): Use C++ strings, not C strings. + +2002-05-22 Mumit Khan + + * debug.cc: Include cstdlib instead of stdlib.h. Include cstring. + (dbtype): Use strchr instead of index. + * TEMPLATE-INST/Array-tc.cc (Array::resize_fill_value): + Fix template specialization syntax. + +2002-05-17 Mumit Khan + + * c-file-ptr-stream.h (OCTAVE_STD_FILEBUF): New macro to handle + various forms of extensions to std::filebuf. + (c_file_ptr_buf::c_file_ptr_buf): Use. + * pt-idx.cc (tree_index_expression::tree_index_expression): Remove + default arguments are from definition. + * symtab.cc (SYMBOL_DEF::print_info): Add std::. + (symbol_record::print_info): Likewise. + (symbol_table::print_info): Likewise. + +2002-05-16 John W. Eaton + + * oct-map.cc (Octave_map::assign): Resize RHS if it is shorter + than existing struct array. + + * ov-cell.cc (octave_cell::subsasgn): If an error has occurred, + skip final assignment step. + * ov-list.cc (octave_list::subsasgn): Likewise. + * oct-lvalue.cc (octave_lvalue::assign): Add parens to clarify intent. + (octave_lvalue::do_unary_op): Likewise. + + * parse.y (function_end): Also accept end of input as end of + function if input is coming from an eval string. + + * pr-output.cc (pr_any_float): Don't convert -0 to 0. + +2002-05-15 John W. Eaton + + * input.cc (generate_completion): If it looks like we are + completing a struct, set completion append char to '\0'. + + * variables.cc (generate_struct_completions): Temporarily set + warnings off here. + + * error.cc (warning): Don't do anything if Vdebug_option == "off". + Only print backtrace if Vdebug_option == "backtrace". + (handle_message): Now returns a string containing the text of the + formatted message. Change all callers. + (Fwarning): Now a text-style function. Handle Matlab-compatible + warning options. + (Flasterr, Flastwarn, set_warning_option): New functions. + (Vlast_error_message, Vlast_warning_message, Vwarning_frequency, + Vwarning_option): New static variables. + (vwarning): Set Vlast_warning_message here too. + (verror): Set Vlast_error_message here too. + +2002-05-14 John W. Eaton + + * ov.h (octave_value::get_count): Now const. + + * ov.h, ov.cc (octave_value::do_non_const_unary_op, + octave_value::assign): Idx is now a list of octave_value_list + objects. + + * ov-base.cc, ov-base.h (octave_base_value::do_struct_elt_index_op, + octave_base_value::struct_elt_ref): Delete. + * ov-struct.cc, ov-struct.h (octave_sruct::do_struct_elt_index_op, + octave_struct::struct_elt_ref): Delete. + * ov.cc, ov.h (octave_value::do_struct_elt_index_op, + octave_value::struct_elt_ref, octave_value::assign_struct_elt, + octave_value::convert_and_assign, octave_value::try_assignment, + octave_value::try_assignment_with_conversion, + octave_value::simple_assign): Delete. + + * parse.y (make_index_expression): Type is now a single + character. Change all callers. If expr is already an index + expression, append index to it. + (make_indirect_ref): Likewise. + + * pt-pr-code.cc (octave_print_internal (std::ostream&, const + Cell&, bool, int)): Now just a dummy function, panic if called. + + * pt-idx.cc (tree_index_expression::make_arg_struct): New function. + (tree_index_expression::type): Delete enum, rename from itype, now + a string. + (tree_index_expression::arg_nm): Now a list of string_vector objects. + (tree_index_expression::idx): Now a list of tree_argument_list* + objects. + (tree_index_expression::is_index_expression): Always return true. + (tree_index_expression::apend, make_value_list, make_subs_cell): + New functions. + + * pt-pr-code.cc (visit_index_expression): Handle new definition of + tree_index_expression object. + * pt-check.cc (visit_index_expression): Likewise. + * pt-bp.cc (visit_index_expression): Likewise. + + * ov-usr-fcn.h (octave_user_function::restore_args_passed): + Clear args_passed even if nothing was saved. + + * ov-base.cc (octave_base_value::subsasgn, + octave_base_value::map_keys, octave_base_value::print_info): + New functions. + + * ov.h, ov.cc (octave_value::map_keys, octave_value::print_info, + octave_value::subsref, octave_value::subsasgn, + octave_value::numeric_assign, octave_value::next_subsref): + New functions. + (octave_value::empty_conv): New static function. + (octave_value (octave_value *, int)): New arg, count. + + * ov-base-mat.cc (octave_base_matrix::subsref, + octave_base_matrix::subsasgn): New functions. + * ov-base-mat.h: Provide decls. + + * ov-builtin.cc (octave_builtin::subsref): New function. + * ov-builtin.h: Provide decl. + + * ov-range.cc (octave_range::subsref): New function. + * ov-range.h: Provide decl. + + * ov-cell.cc (octave_cell::subsref, octave_cell::subsasgn, + octave_cell::list_value, octave_cell::print, + octave_cell::print_raw, octave_cell::print_name_tag): New functions. + * ov-cell.h: Provide decls. + + * ov-struct.cc (octave_struct::dotref, octave_struct::subsref, + octave_struct::subsasgn, gripe_invalid_index, + gripe_invalid_index_for_assignment, grip_invalid_index_type, + gripe_failed_assignment): New functions. + (octave_struct::numeric_conv): New static function. + * ov-struct.h: Provide decls. + (octave_struct::is_constant): Return true. + (octave_struct::map_keys): New function. + + * ov-list.cc (octave_list::subsref, octave_list::subsasgn): + New functions. + * ov-list.h: Provide decls. + + * ov-usr-fcn.cc (octave_user_function::subsref, + octave_user_function::print_symtab_info): New functions. + * ov-usr-fcn.h: Provide decl. + + * ov-mapper.cc (octave_mapper::subsref): New function. + * ov-mapper.h: Provide decl. + + * ov-base.cc (octave_base_value::subsref, + octave_base_value::subsasgn): New functions. + * ov-base.h: Provide decls. + + * ov-base.cc (octave_base_value::do_index_op): New arg, resize_ok. + * ov-base-mat.cc (octave_base_matrix::do_index_op): Likewise. + * ov-base-nd-array.cc (octave_base_nd_array::do_index_op): Ditto. + * ov-bool-mat.cc (octave_bool::do_index_op): Ditto. + * ov-str-mat.cc (octave_char_matrix_str::do_index_op): Ditto. + * ov-range.cc (octave_range::do_index_op): Ditto. + * ov-list.cc (octave_list::do_index_op): Ditto. + * ov.cc (octave_value::do_index_op): Ditto. + + * ov-base-mat.cc (octave_base_matrix::print_info): New function. + + * ov-base-mat.h (octave_base_matrix::empty_clone): New function. + * ov-base-nd-array.h (octave_base_nd_array::empty_clone): Ditto. + * ov-base.h (octave_base_value::empty_clone): Ditto. + * ov-bool-mat.h (octave_bool::empty_clone): Ditto. + * ov-ch-mat.h (octave_char_matrix::empty_clone): Likewise. + * ov-colon.h (octave_magic_colon::empty_clone): Likewise. + * ov-complex.h (octave_complex::empty_clone): Likewise. + * ov-cx-mat.h (octave_complex_matrix::empty_clone): Likewise. + * ov-fcn.cc (octave_function::empty_clone): Likewise. + * ov-file.h (octave_file::empty_clone): Likewise. + * ov-range.h (octave_range::empty_clone): Likewise. + * ov-list.h (octave_list::empty_clone): Likewise. + * ov-re-mat.h (octave_matrix::empty_clone): Likewise. + * ov-re-nd-array.h (octave_double_nd_array::empty_clone): Likewise. + * ov-str-mat.h (octave_char_matrix_str::empty_clone): Likewise. + * ov-struct.h (octave_struct::empty_clone): Likewise. + * ov-va_args.h (octave_all_va_args::empty_clone): Likewise. + * ov.h (octave_value::empty_clone): Likewise. + + * ov-base-mat.h (octave_base_matrix::clone): Now const. + * ov-base-nd-array.h (octave_base_nd_array::clone): Likewise. + * ov-base.h (octave_base_value::clone): Likewise. + * ov-bool-mat.h (octave_bool::clone): Likewise. + * ov-ch-mat.h (octave_char_matrix::clone): Likewise. + * ov-colon.h (octave_magic_colon::clone): Likewise. + * ov-complex.h (octave_complex::clone): Likewise. + * ov-cx-mat.h (octave_complex_matrix::clone): Likewise. + * ov-fcn.h (octave_function::clone): Likewise. + * ov-file.h (octave_file::clone): Likewise. + * ov-range.h (octave_range::clone): Likewise. + * ov-list.h (octave_list::clone): Likewise. + * ov-re-mat.h (octave_matrix::clone): Likewise. + * ov-re-nd-array.h (octave_double_nd_array::clone): Likewise. + * ov-str-mat.h (octave_char_matrix_str::clone): Likewise. + * ov-struct.h (octave_struct::clone): Likewise. + * ov-va_args.h (octave_all_va_args::clone): Likewise. + * ov.h (octave_value::clone): Likewise. + + * oct-lvalue.cc (octave_lvalue::assign, octave_lvalue::set_index, + octave_lvalue::do_unary_op): Idx is now a list of indices. Simplify. + * oct-lvalue.h (octave_lvalue::value): Simplify. + (octave_lvalue::struct_elt_names): Delete data member. + (octave_lvalue::type): Now string + Update decls. + + * pt-exp.h (tree_expression::is_indirect_ref): + Delete virtual function. + + * pt-plot.cc (subplot::extract_plot_data): Use subsref, instead of + do_index_op. + + * pt-stmt.cc (tree_statement::eval): Don't try to avoid binding + ans for structure references. + + * symtab.cc (symbol_record::symbol_def::print_info): Rename from + symbol_record::symbol_def::dump_symbol_info. + (symbol_record::print_info): Rename from + symbol_record::dump_symbol_info. Now const.. + (symbol_record::print_symbol_info_line): Now const. + (symbol_table::print_info): Rename from print_stats. Accept + ostream arg. Now const. Print more info. + * symtab.h: Update decls. + + * toplev.cc (octave_config_info): Indexing a map now returns a + list, but we only want to return the first element. + + * variables.cc (generate_struct_completions, looks_like_struct): + Simplify using eval_string. + (F__print_symtab_info__): Rename from F__dump_symtab_info__. + Handle "top-level" and individual function names in addition to + "global". + (F__print_symbol_info__): Rename from F___dump_symbol_info__. + + * octave.cc (intern_argv): Built-in variable argv is now a cell array. + + * ov-complex.cc (valid_scalar_indices): Delete. + * ov-scalar.cc (valid_scalar_indices): Delete. + + * oct-obj.cc (octave_value_list::valid_scalar_indices): New function. + (octave_value_list::index): New arg, resize_ok. + * oct-obj.h: Provide decls. + + * oct-map.cc (Octave_map::keys): Rename from make_name_list. + Change all uses. + (Octave_map::assign, Octave_map::index): New functions. + * oct-map.h: Provide decls. + + * data.cc (Fstruct_contains): Use map_value instead of + do_struct_elt_index_op. + + * Cell.h (Cell (const Array2&, int, int)): + New constructor. + (Cell::resize_fill_value): New static function. + + * input.cc (initialize_command_input): Set basic and completer + word break characters. + +2002-05-07 John W. Eaton + + * ov.h (octave_value::subsref): New function. + * ov-base.cc (octave_base_value::subsref): Likewise. + + * ov-struct.cc (octave_struct::print_raw): Print scalar struct + arrays more compactly. + + * DLD-FUNCTIONS/time.cc (extract_tm): Handle new struct array def. + + * oct-map.cc (Octave_map::array_len): New data member. + (Octave_map::operator[], Octave_map::contsnts): Return + octave_value_list, not Octave_value. Change callers as necessary. + (Octave_map::assign): New function. + (Octave_map::array_length): New fucntion. + * oct-obj.cc (octave_value_list::assign): New function. + +2002-05-06 John W. Eaton + + * TEMPLATE-INST/Map-oct-obj.cc: New file. + * Makefile.in (TI_XSRC): Add it to the list. + + * oct-map.h (Octave_map): Make CHMap a data + member instead of deriving from CHMap, in + preparation for structure arrays. + + * pt-indir.h, pt-indir.cc: Delete. + + * pt-all.h: Don't include pt-indir.h. + + * Makefile.in (PT_SRC): Delete pt-indir.cc from the list. + (PT_INCLUDES): Delete pt-indir.h from the list. + + * pt-walk.h (tree_walker::visit_indirect_ref): Delete. + * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_indirect_ref): + Likewise. + * pt-check.h, pt-check.cc (tree_checker::visit_indirect_ref): Likewise. + * pt-bp.h, pt-bp.cc (tree_breakpoint::visit_indirect_ref): Likewise. + + * pt-walk.h: Delete forward decl for tree_indirect_ref. + * variables.h: Likewise. + + * parse.y (make_indirect_ref): Return tree_index_expression, not + tree_indirect_ref. + + * pt-idx.h (tree_index_expression::struct_elt_name): New function. + + * pt-idx.cc (tree_index_expression::lvalue): Handle dot case too. + (tree_index_expression::name): Likewise. + (tree_index_expression rvalue (int)): Likewise. + (tree_index_expression::eval_error): Likewise. + * pt-pr-code.cc (visit_index_expression): Likewise. + * pt-bp.cc (tree_breakpoint::visit_index_expression): Likewise. + + * pt-idx.h (tree_index_expression::dot): New type enum element. + (tree_index_expression::expr_type): New function. + (tree_index_expression::tree_index_expression (tree_expression*, + const std::string&, int, int)): New constructor. + (tree_index_expression::is_index_expression): Return value is now + conditional on itype. + (tree_index_expression::is_indirect_ref): New function. + (tree_index_expression::lvalue_ok): Also return true if itype is dot. + +2002-05-03 John W. Eaton + + * parse.y (ABORT_PARSE): Maybe restore symbol table context too. + + * pt-idx.h (tree_index_expression::type): New enum. + (tree_index_expression::etype): New data member. + * pt-idx.h (tree_index_expression::tree_index_expression): + New arg, t, to set type of index. + * parse.y (make_index_expression): Likewise. + Change all callers. + + * ov-base.cc (cell_conv): New conversion function. + (install_base_type_conversions): Install it. + Install conversion for indexed assignment of octave_cells to + undefined values. + + * TEMPLATE-INST/Array-tc.cc: Instantiate assign functions too. + (Array::resize_fill_value (void)): + Provide specialization for octave_value. + + * ov-cell.cc (octave_cell::assign (const octave_value_list&, + const octave_value&)): New function. + * Cell.h (Cell::Cell (const octave_value&)): New function. + + * OPERATORS/op-cell.cc (install_list_ops): Use DEFASSIGNANYOP_FN + and INSTALL_ASSIGNANYOP, not DEFASSIGNOP_FN and INSTALL_ASSIGNOP. + +2002-05-03 Cai Jianming + + * OPERATORS/op-cell.cc: New file. + * Makefile.in (OP_XSRC): Include it in the list. + + * parse.y (cell): Return a cell type instead of Matrix type. + + * ov.cc (install_types): Install octave_cell type. + + * pr-output.cc (octave_print_internal): Handle Cells. + * pr-output.h (octave_print_internal): Provide decl. + + * ov-cell.h (octave_cell): Derive from octave_base_matrix. + * ov-cell.cc (do_index_op, assign, print, print_raw, + print_name_tag): Delete. + + * Cell.cc (allocator, index): Delete. + * Cell.h (Cell): Derive from Array2. + Most functions removed since we can use those from Array2 instead. + +2002-05-02 Cai Jianming + + * ov-base-mat.cc (octave_base_matrix::assign): + New function. + * ov-base-mat.h (octave_base_matrix::assign): Provide decl. + * ov-bool-mat.cc (octave_bool_matrix::assign): Delete. + * ov-bool-mat.h (octave_bool_matrix:assign): Delete decl + * ov-cx-mat.cc (octave_complex_matrix::assign (const + octave_value_list& idx, const ComplexMatrix&)): Delete. + * ov-cx-mat.h (octave_complex_matrix:assign (const + octave_value_list& idx, const ComplexMatrix&)): Replace decl with + function. + * ov-re-mat.cc (octave_bool_matrix::assign): Delete. + * ov-re-mat.h (octave_bool_matrix:assign): Delete decl. + +2002-05-02 Cai Jianming + + * OPERATORS/op-bm-b.cc: New file.x + * Makefile.in (OP_XSRC): Add it to the list. + +2002-04-30 John W. Eaton + + * octave.cc (print_version_and_exit): Use + OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not + OCTAVE_NAME_AND_VERSION. + + * octave.cc (verbose_usage): + Use OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not + OCTAVE_NAME_VERSION_AND_COPYRIGHT. + + * version.h (OCTAVE_COPYING_STATEMENT, OCTAVE_WARRANTY_STATEMENT, + OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, + X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS, + OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS, + OCTAVE_BUGS_STATEMENT): New macros. + (OCTAVE_STARTUP_MESSAGE): Define in terms of + X_OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_WARRANTY_AND_BUGS + to include bugs address and amplified warranty information. + + * DLD-FUNCTIONS/lsode.cc (Flsode): Delete unused variable nsteps. + +2002-04-29 John W. Eaton + + * help.cc (additional_help_message): Use www.octave.org, not + www.che.wisc.edu/octave/octave.html. + * octave.cc (verbose_usage): Likewise. + +2002-04-27 John W. Eaton + + * DLD-FUNCTIONS/daspk.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +2002-04-25 Paul Kienzle + + * DLD-FUNCTIONS/kron.cc: New file. + * Makefile.in (DLD_SRC): Add it to the list. + +2002-04-22 John W. Eaton + + * parse.y (save_symtab): New non-terminal. Save current symbol + table context here. + (function_beg): Use it. + (symtab_context): New file-scope variable. + (recover_from_parsing_function): Restore symbol table context here. + +2002-04-17 John W. Eaton + + * load-save.cc (get_lines_and_columns): Handle CRLF as line + separator in addition to LF. + +2002-04-11 John W. Eaton + + * load-save.cc (hdf5_ofstream::hdf5_ofstream): + Explicitly List std::ostream(0) in constructor. + (hdf5_ifstream::hdf5_ifstream): + Explicitly List std::istream(0) in constructor. + (hdf5_fstreambase::hdf5_fstreambase): Use std::ios::setstate, not set. + (hdf5_fstreambase::close): Likewise. + (hdf5_fstreambase::open): Likewise. + +2002-04-10 Ben Sapp + + * pt-stmt.cc (delete_breakpoint): List breakpoints if line < 0. + * debug.cc (get_user_function): Check symbol by name first. + (Fdbstop): Rename from Fdbg_set. + (Fdbclear): Rename from Fdbg_delete. + (Fdbstatus): Rename from Fdbg_list. + (Fdbg_where): Rename from Fdbwhere. + (do_dbtype, Fdbtype): New functions. + +2002-04-10 Peter Van Wieren + + * load-save.cc (save_mat5_binary_element): Save elements of 2d + character matrices in proper order. + +2002-04-09 Paul Kienzle + + * utils.cc (do_string_escapes): Handle \0 too. + (undo_string_escape): Likewise. + +2002-04-04 John W. Eaton + + * toplev.cc (octave_config_info): Define struct member EXEEXT, not EXE. + * Makefile.in (install-bin): Use $(EXEEXT), not $(EXE). + * oct-conf.h.in (OCTAVE_CONF_EXEEXT): Define and substitute + OCTAVE_CONF_EXEEXT, not OCTAVE_CONF_EXE. + +2002-04-03 Steven G. Johnson + + * DLD-FUNCTIONS/balance.cc: Use F77_FUNC instead of F77_FCN. + * DLD-FUNCTIONS/qz.cc: Likewise. + * DLD-FUNCTIONS/rand.cc: Likewise. + * octave.cc: Likewise. + * toplev.cc (Foctave_config_info): Delete use of FORTRAN_MAIN_FLAG. + * oct-conf.h.in: Delete use of OCTAVE_CONF_FORTRAN_MAIN_FLAG. + * syscalls.cc (mk_stat_map): + Use HAVE_STRUCT_STAT_ST_RDEV instead of HAVE_ST_RDEV. + Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of HAVE_ST_BLKSIZE. + Use HAVE_STRUCT_STAT_ST_BLOCKS instead of HAVE_ST_BLOCKS. + +2002-04-02 John W. Eaton + + * lex.l, lex.h (parser_end_of_input): New global variable. + (reset_parser): Reset it here. + * parse.y (input): Set it to TRUE on EOF. + (parse_and_executed): Save and restore it, check it to correctly + break out of parse-execute loop. + (parse_fcn_file): Likewise. + (eval_string): Likewise. + * toplev.cc (main_loop): Likewise. + + * parse.y (input): Call YYACCEPT for END_OF_INPUT. + Return no-op command for bare newline. + (parse_and_execute): Handle change in yyparse return value semantics. + + * toplev.cc (main_loop): Likewise. + +2002-03-25 John W. Eaton + + * parse.y (parse_fcn_file): Call error if there is no input file. + (parse_and_execute (FILE *): Protect get_input_from_eval_string. + Set get_input_from_eval_string to false before calling yyparse. + * lex.l (reset_parser): Also skip yyrestart (stdin) if + reading_script_file is true. + +2002-03-07 John W. Eaton + + * pt-loop.cc (evaluating_looping_command): New global. + (tree_while_command::eval): Protect evaluating_looping_command. + Set it to true while evaluating loop. + (tree_do_until_command::eval): Ditto. + (tree_simple_for_command::eval): Ditto. + (tree_complex_for_command::eval): Ditto. + * pt-loop.h (evaluating_looping_command): Provide decl. + * parse.y (parse_fcn_file): Protect get_input_from_eval_string. + Set get_input_from_eval_string to false before calling yyparse. + (make_break_command): Also check evaluating_looping_command. + (make_continue_command): Also check evaluating_looping_command. + (eval_string (const std::string&, bool, int&, int)): Loop over + yyparse to handle multi-line strings. + Move call to unwind_protect::run_frame to end of function. + Don't reset parser before calling yyparse. + Correctly handle return, break, and continue. + + * input.cc (input_from_eval_string_pending): New global variable. + (get_usr_input): Use it. + * input.h (input_from_eval_string_pending): Provide decl. + +2002-03-06 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Don't unwind_protect num_named_args (it doesn't change on + recursive calls). + Do re-initialize curr_va_arg_number to num_named_args after + unwind_protecting. + + * ov-usr-fcn.h (octave_user_function::clear_args_passed): Delete. + (octave_user_function::saved_args): New data member. + (octave_user_function::save_args_passed): New function. + (octave_user_function::restore_args_passed): Ditto. + * ov-usr-fcn.cc (clear_args_passed): Delete. + (restore_args_passed): New function. + (octave_user_function::do_multi_index_op): Correctly save and + restore args passed for recursive calls. + + * TEMPLATE-INST/SLStack-ovl.cc: New file. + * Makefile.in: Add it to the list. + +2002-02-22 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): + Handle define_all_return_values after function is evaluated. + From Paul Kienzle . + + * ov-scalar.cc (convert_to_str): Use octave_value (std::string) + constructor instead of octave_value (char *) constructor so that + setstr (0) will work. + + * pager.cc (octave_pager_buf::sync): Set pointer to beginning + of buffer after calling flush_currnt_contents_to_diary. + (octave_diary_buf::sync): Call eback only once. + +2002-01-03 John W. Eaton + + * lex.l (.): Remove test for EOF since it is already handled + separately. + +2001-12-05 John W. Eaton + + * load-save.cc (save_mat5_binary_element): + Extract dimensions directly from tc. + Handle ranges the same as real matrices. + +2001-11-16 John W. Eaton + + * data.cc (DATA_REDUCTION): If no DIM arg, pass -1 to FCN. + +2001-11-09 John W. Eaton + + * oct-conf.h.in (FFTW_LIBS, LD_CXX, LIBOCT_PATHSEARCH, + LIBOCT_READLINE, MKOCTFILE_LFLAGS): Substitute. + * toplev.cc (octave_config_info): Add them to the map. + +2001-11-08 John W. Eaton + + * DLD-FUNCTIONS/lsode.cc (Flsode): Don't bother to give OUTPUT + matrix a size before calling integration function. + +2001-11-06 John W. Eaton + + Makefile.in (OCTAVE_LIBS): Add $(LIBOCT_READLINE) and + $(LIBOCT_PATHSEARCH) to the list. + +2001-10-08 John W. Eaton + + * DLD-FUNCTIONS/dassl.cc (dassl_user_function): Allow user + supplied RES function to return IDID as second value. + +2001-07-23 John W. Eaton + + * parse.y: Clear help_buf after documenting function. + +2001-06-29 Mumit Khan + + * defun-int.h (DEFINE_FUN_INSTALLER_FUN{2,3}): New macros. + (DEFINE_FUN_INSTALLER_FUN): Use. + * dynamic-ld.cc ({STRINGIFY, STRINGIFY1}): New macros. + (octave_dynamic_loader::mangle_name): Support dynamic linking + for GNU v3 and Sun C++ ABI. + +2001-06-26 Mumit Khan + + * c-file-ptr-stream.h (c_file_ptr_buf::c_file_ptr_buf): Add GCC3 + libstdc++-v3 support. + * load-save.cc (save_mat5_binary_element): Cast arguments to the + correct type. + (save_ascii_data): Eliminate compiler warning. + * toplev.cc (system): Prefix std::. + +2001-05-31 John W. Eaton + + * ov-cx-mat.cc: Deleve unnecessary instantiation of assign function. + * ov-re-mat.cc: Likewise. + * ov-re-nd-array.cc: Likewise. + * ov-str-mat.cc: Likewise. + * ov-bool-mat.cc: Likewise. + + * load-save.cc (save_ascii_data): When saving string data, get raw + string value for matrix row since there may be embedded nuls. + + * pt-mat.cc (Vstring_fill_char): No longer static. + * pt-mat.h: Provide declaration. + +2001-05-17 John W. Eaton + + * octave.cc (initialize_pathsearch): Save initial value of the + TEXMFDBS environment variable here. + * toplev.cc (restore_texmfdbs_envvar): New function. + (Fsystem): Set TEXMFDBS back to original value before running + subprocesses. + +2001-05-02 Mumit Khan + + * Makefile.in (octave): Add $(FFTW_LIBS). + +2001-04-27 John W. Eaton + + * DLD-FUNCTIONS/sort.cc (mx_sort): Check for NaNs in comparisons. + +2001-04-26 John W. Eaton + + * Makefile.in (OCTAVE_LIBS): Delete $(LIBREADLINE) from the list. + (octave): Delete TERMLIBS from link command. + * oct-conf.h.in: Delete references to LIBREADLINE, TERMLIBS. + * toplev.cc (octave_config_info): Delete entries for LIBREADLINE, + TERMLIBS. + +2001-04-25 John W. Eaton + + * Makefile.in (install-lib): Don't use mk-libdir-link. + (install-inc): Don't use mk-includedir-link. + +2001-04-19 John W. Eaton + + * parse.y (fold (tree_binary_expression *)): + Set discard_error_messages here instead of buffer_error_messages. + Don't add clear_global_error_variable to the unwind_protect stack. + (fold (tree_unary_expression *)): Likewise. + (finish_colon_expression): Likewise. + (finish_matrix): Likewise. + + * error.cc (panic): Set discard_error_messages to false here. + (verror): Return immediately if discard_error_messages is true. + + * error.cc (discard_error_messages): New global variable. + * error.h: Provide declaration. + +2001-04-18 John W. Eaton + + * lex.l: If unexpected character is EOF, report EOF error instead + of invalid character error. + +2001-04-18 Mumit Khan + + * load-save.cc (read_mat5_binary_element): Cast arguments to the + correct type when adding stream positions. + * DLD-FUNCTIONS/det.cc (det): Explicity create a Complex value to + work around a Sun C++ type conversion bug. + +2001-04-17 John W. Eaton + + * symtab.cc (define_builtin_const): Don't call replace_all_defs + here. + + * error.cc (error_message_buffer): Now static. + * error.h (error_message_buffer): Delete extern declaration. + +2001-03-29 John W. Eaton + + * DLD-FUNCTIONS/besselj.cc (besselh): Use K arg. + From: Thomas Stuart . + + * oct-stream.cc (get_size): Don't allow [Inf, N] as a size + specification for the read and scanf functions. + (get_size): SIZE is now an Array instead of a Matrix object. + (read): Likewise. Change all callers. + (scanf): Likewise. Change all callers. + +2001-03-26 John W. Eaton + + * DLD-FUNCTIONS/det.cc (Fdet): Only return rcond if nargout > 1. + * DLD-FUNCTIONS/inv.cc (Finv): Only return rcond if nargout > 1. + +2001-03-26 Paul Kienzle + + * DLD-FUNCTIONS/det.cc (Fdet): Suppress warning, but return rcond. + * DLD_FUNCTIONS/inv.cc (Finv): Return rcond if requested. + +2001-02-28 John W. Eaton + + * pt.h (tree::break_statement): New static member. + (tree::break_function): Make const. + * pt.cc (tree::break_statement): Initialize here. + (tree::break_function): Make const. + * pb-bp.h (break_statement): Delete global varaible declaration. + * pt-bp.cc (break_statement): Delete global variable definition. + + * pt-bp.h (tree_breakpoint::bp_list): Rename from lst. + + * pt.h: Don't inlcude ov-usr-fcn.h. + Provide forward declaration of octave_user_function class. + +2001-02-28 Ben Sapp + + * debug.cc (get_user_function): Simplify by using curr_function. + (Fdbg_where): New function. + (Fdbg_list): Now DLD_TEXT instead of DLD_FCN. + (Fdbg_set): Likewise. + (Fdbg_delete): Likewise. + + * pt-bp.h (break_statement): New global variable. + (MAYBE_DO_BREAKPOINT): Check for dbg_next and dbg_step. + Print line, column, and current statement. + * pt-bp.cc (break_statement): New global variable + (tree_breakpoint::visit_do_until_command): Return immediately if + we've already found the line. + (tree_breakpoint::visit_colon_expression): Set breakpoint info here. + (tree_breakpoint::visit_binary_expression): Recurse here when + checking for breakpoints. + + * debug.cc: Move here from DLD-FUNCTIONS/debug.cc. + * Makefile.in (DIST_SRC): Add it to the list. + (DLD_XSRC): Delete it from the list. + + * pt.h (tree::last_line, tree::break_function): New static members. + * pt.cc(tree::last_line, tree::break_function): Initialize them. + + * pt-cell.h (tree_cell::tree_cell): Accept line and column info. + * pt-mat.h (tree_matrix::tree_matrix): Likewise. + + * ov-usr-fcn.h (octave_user_function::sym_tab): Delete. + + * input.cc (get_user_input): Handle dbg_next. + Set tree:break_function and tree::last_line when doing dbg_step. + +2001-02-28 John W. Eaton + + * lex.l (handle_string): Save line and column information in token. + (is_keyword): Save line and column information for plot style and + axes tokens. + + * toplev.cc (main_loop): Set retval to non-zero value if error + occurs when not interactive. + +2001-02-26 John W. Eaton + + * parse.y (gobble_leading_white_space): Handle CRLF here too. + * lex.l (check_for_garbage_after_fcn_def): Likewise. + + * lex.l: Add numeric value of character to error message for + unrecognized characters. + +2001-02-22 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc (EMPTY_RETURN_CHECK): For empty matrix + args, make Octave's min and max behave like Matlab. + +2001-02-18 John W. Eaton + + * OPERATORS/op-s-s.cc (el_or, el_and): Return bool value. + +2001-02-14 John W. Eaton + + * pt-binop.cc (tree_boolean_expression::rvalue): + Don't cast result to double. + + * OPERATORS/op-b-b.cc: Allow & and | operators to return bool values. + +2001-02-09 John W. Eaton + + * data.cc (DATA_REDUCTION): Undo previous change. + +2001-02-13 Matthew W. Roberts + + * load-save.cc (Fload): Accept -4 as an alias for -v4 and -mat4-binary. + (Fsave): Likewise. + +2001-02-13 John W. Eaton + + * lex.l (lexical_feedbac::init): + Initialize looking_at_matrix_or_assign_lhs too. + +2001-02-09 John W. Eaton + + * data.cc (DATA_REDUCTION): Allow FCN(x,0) to be equivalent to FCN(x). + +2001-02-06 Mumit Khan + + * oct-stream.cc (octave_scan): Partially implement and specialize + for char*. Delete the old template instantiations. + (BEGIN_S_CONVERSION): Use strings instead of ostrstreambuf. + (octave_base_stream::do_scanf): Pass correct parameter to + do_scan_conv. + +2001-02-05 Mumit Khan + + * pr-output.cc (set_format): Add std:: namespace qualifier as + needed. + + * oct-stream.cc (octave_scan): Implement, and specialize for + char*. Delete the old template instantiations. + (BEGIN_S_CONVERSION): Use strings instead of ostrstreambuf. + (octave_base_stream::do_scanf): Pass correct parameter to + do_scan_conv. + + * Makefile.in (TEMPLATE_AR, TEMPLATE_ARFLAGS): Use to create + archive libraries containing templates. + + * c-file-ptr-stream.h: Include . Use instead of + + (c_file_ptr_buf::int_type): Compat typedef for non-ISO libstdc++. + (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Use. + (c_file_ptr_buf::c_file_ptr_buf): Handle various compilers. + (c_file_ptr_buf::file_number): New member function. + (c_file_ptr_buf::fd): New private data. + (i_c_file_ptr_stream::i_c_file_ptr_stream): Initialize stream + correctly. + (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise. + * c-file-ptr-stream.cc + (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Add + ISO-compliant EOF handling. + * oct-stream.cc (octave_base_stream::file_number): Use + c_file_ptr_buf::file_number to get underlying file descriptor. + + * comment-list.cc: Add missing class qualifier. + + * file-io.cc, load-save.cc, mappers.cc, oct-fstrm.cc, oct-fstrm.h, + oct-iostrm.cc, oct-iostrm.h, oct-stdstrm.cc, oct-stdstrm.h, + oct-stream.cc, oct-stream.h, oct-strstrm.cc, oct-strstrm.h, + ov-base-nd-array.cc, ov-base-scalar.h, ov-complex.cc, ov-cx-mat.cc, + pager.cc, pr-output.cc, procstream.h, pt-bp.h, utils.cc: + Add std:: namespace qualifier as needed, and replace + deprecated or invalid libstdc++-v2 names with standard ones + where appropriate. + + * DLD-FUNCTIONS/minmax.cc: Fix docstring. + + * oct-fstrm.cc (octave_fstream::octave_fstream): Maintain fix for + libstdc++-v2. + + * oct-stdstrm.cc (octave_ostdiostream::create): Remove default + parameter value in definition. + + * oct-stream.cc (octave_stream::mode_as_string): Don't assume + std::iso::openmode is an integral quantity. + + * pager.cc, procstream.h: Initialize streams correctly. + + * utils.cc: Use CXX_ISO_COMPLIANT_LIBRARY guard. + + * ov-base-nd-array.cc (idx_list_to_idx_array): Inline. + + * ov-base-scalar.h (octave_base_scalar::octave_base_scalar): Use + ``const ST& s'' instead of ST to workaround gcc3 complex bug. + +2001-02-05 John W. Eaton + + * lex.l (next_token_is_bin_op): Remove Checks for spacing except + for ops that begin with +, - but are not ++, --, +=, or -=. + +2001-02-02 John W. Eaton + + * input.cc (get_user_input): Handle dbg_cont and dbg_step here. + * debug.cc (Fdbg_cont): Delete. + * pt-bp.h (MAYBE_DO_BREAKPOINT): Check tree::break_next here. + * pt.h (tree::break_next): New static member. + * pt.cc: Initialize it. + + * parse.h (feval (const octave_value_list&, int)): + Set default value for nargout. + (feval (const std::string&, const octave_value_list&, int)): + Set default values for args and nargout. + +2001-02-01 Ben Sapp + + * DLD-FUNCTIONS/debug.cc: New file. + * pt-bp.h, pt-bp.cc: New files, for breakpoints. + * Makefile.in: Add them to the appropriate lists. + + * pt-stmt.cc (tree_statement_list::set_breakpoint, + tree_statement_list::delete_breakpoint, + tree_statement_list::list_breakpoints): New functions. + + * pt.h (tree::break_point): New data member. + (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint): + New virtual functions. + + * pt-mat.cc (tree_matrix::rvalue): Check for breakpoint here. + * pt-unop.cc (tree_prefix_expression::rvalue): Likewise. + (tree_postfix_expression::rvalue): Likewise. + * pt-loop.cc (tree_do_until_command::eval): Likewise. + (DO_LOOP): Likewise. + (tree_simple_for_command::eval): Likewise. + (tree_complex_for_command::eval): Likewise. + * pt-assign.cc (tree_simple_assignment::rvalue): Likewise. + * pt-binop.cc (tree_binary_expression::rvalue): Likewise. + (tree_boolean_expression::rvalue): Likewise. + * pt-cell.cc (tree_cell::rvalue): Likewise. + * pt-colon.cc (tree_colon_expression::rvalue): Likewise. + * pt-except.cc (tree_try_catch_command::eval): Likewise. + (tree_unwind_protect_command::eval): Likewise. + * pt-id.cc (tree_identifier::rvalue): Likewise. + (tree_identifier::lvalue): Likewise. + * pt-indir.cc (tree_indirect_ref::rvalue): Likewise. + * pt-jump.cc (tree_break_command::eval): Likewise. + (tree_continue_command::eval): Likewise. + (tree_return_command::eval): Likewise. + +2001-01-29 John W. Eaton + + * Map.h, Map.cc (CHMap::operator = (const CHMap&)): New function. + (Map::operator = (const Map&)): Likewise. + (Map (const Map&)): Likewise. + + * OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-s.cc, + OPERATORS/op-m-cs.cc, OPERATORS/op-m-s.cc: + Make ldiv operator work for row vector by scalar ops. + + * OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc, + OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc: + Make div operator work for scalar by column vector ops. + +2001-01-17 John W. Eaton + + * parse.y (safe_fclose): Discard comments at the end of a file. + +2001-01-16 John W. Eaton + + * error.cc (pr_where): Call pr_where_1 with two args, not one, to + avoid processing format escapes that might appear in formatted code. + +2001-01-05 John W. Eaton + + * error.cc (vwarning): Write to output_buf, then send formatted + message to diary and error streams. + +2001-01-02 John W. Eaton + + * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): + Handle empty matrix dimensions correctly. + +2000-12-14 John W. Eaton + + * pager.h (octave_pager_buf::diary_skip): New data member. + (octave_pager_buf::octave_pager_buf): Initialize it. + * pager.cc (octave_pager_buf::set_diary_skip): New function. + (octave_pager_stream::set_diary_skip): New function. + (octave_pager_buf::sync): Call flush_current_contents_to_diary + instead of octave_diary.write. + (octave_pager_buf::flush_current_contents_to_diary): Use + diary_skip, reset when done. + (open_diary_file): Call octave_stdout.set_diary_skip here. + +2000-12-06 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc (EMPTY_RETURN_CHECK): New macro. + (min, max): Use it. + + * DLD-FUNCTIONS/minmax.cc (MINMAX_BODY): New macro. If single arg + is empty, return empty matrix result and empty matrix for index. + (Fmin, Fmax): Use MINMAX_BODY, so we have consistent definition + for min and max functions. + +2000-11-30 Joerg Specht + + * help.cc (display_help_text): Append new line at end of doc string. + +2000-11-30 John W. Eaton + + * DLD-FUNCTIONS/lsode.cc (LSODE_ABORT1, LSODE_ABORT2): Omit `##' + in macro definition since they are not needed to paste strings + together and picky compilers choke on them. + * DLD-FUNCTIONS/quad.cc (QUAD_ABORT1, QUAD_ABORT2): Likewise. + * DLD-FUNCTIONS/fsolve.cc (FSOLVE_ABORT1, FSOLVE_ABORT2): Likewise. + * DLD-FUNCTIONS/dassl.cc (DASSL_ABORT1, DASSL_ABORT2): Likewise. + +2000-11-29 John W. Eaton + + * mkbuiltins (XDEFUNX_INTERNAL): New macro. + * mkgendoc (XDEFUNX_INTERNAL): Likewise. + * defun-int.h (DEFUNX_INTERNAL): Use it. + + * defun.h (DEFUNX): New macro. + * defun-int.h (DEFUNX_INTERNAL, DECLARE_FUNX): New macro. + (DECLARE_FUN): Define in terms of DECLARE_FUNX. + + * mkdefs: Read and print one line at a time, so we can force + patterns to match only at the beginning of a line. + + * defun-int.h (UNDERSCORIFY): Omit `##' in macro definition since + they are not needed to paste strings together and picky compilers + choke on them. + +2000-11-17 John W. Eaton + + * load-save.cc (save_ascii_data_for_plotting): New function. + * pt-plot.cc (save_in_tmp_file): Use it instead of save_ascii_data. + + * load-save.cc (save_ascii_data): Warn if saving Inf or NaN values. + New arg, infnan_warned. Use it to warn just once per set. + Now static. + (do_save): New arg, infnan_warned. Pass to save_ascii_data. + (save_vars): Initialize infnan_warned here, pass to do_save. + +2000-11-16 Paul Kienzle + + * file-io.cc (Ffprintf): If no file id parameter, don't return + count of characters if nargout is 0 (for compatibility with + Matlab). + +2000-11-16 Ben Sapp + + * DLD-FUNCTIONS/rand.cc (do_rand): Declare loop counter as + volatile int, not just volatile. + +2000-10-31 John W. Eaton + + * load-save.cc (skip_comments): Allow % as comment character too. + (extract_keyword): Likewise. + + * Makefile.in (oct-gperf.h): Remove -a, -g, and -p flags for gperf. + +2000-10-30 John W. Eaton + + * load-save.cc (do_load): Allow result to be returned instead of + inserting variables in the symbol table. Change patterned after + patch by Kian Ming Adam Chai . + +2000-10-27 John W. Eaton + + * Makefile.in (ops.cc): Don't substitute BLAS_LIBS and LIBS here. + + * oct-conf.h.in (OCTAVE_CONF_SPECIAL_MATH_LIB): Delete. + (OCTAVE_CONF_BLAS_LIBS): Add. + * toplev.cc (octave_config_info): Likewise, add BLAS_LIBS and + remove SPECIAL_MATH_LIB from the struct. + + * parse.y (feval (const octave_value_list&, int)): Don't panic + while processing arg names if arg.length() and arg_names.length() + differ. + +2000-10-12 Paul Kienzle + + * ov-cell.h (octave_cell::is_cell): New function. + + * pt-select.cc (equal): New static function. + (tree_switch_case::label_matches): Use it to compare case label + against arg. Handle cell arrays as case labels. + +2000-10-12 John W. Eaton + + Change patterned after patch by Cai Jianming + to support for DIM arg in 2.0.x sources. + + * data.cc (DATA_REDUCTION): New macro. Handle second DIM arg here. + (Fcumprod): Replace function body with DATA_REDUCTION. + (Fcumsum): Likewise. + (Fprod): Likewise. + (Fsum): Likewise. + (Fsumsq): Likewise. + +2000-10-10 John W. Eaton + + * error.cc (pr_where_2): New function. + (pr_where_1): Use it instead of error_1 to avoid setting error_state. + +2000-10-02 John W. Eaton + + * xdiv.cc (xdiv): Warn if execution falls through to lssolve. + +2000-09-06 John W. Eaton + + * utils.cc (FERRNO): New function (currently commented out). + + * c-file-ptr-stream.cc (c_file_ptr_buf::close): Call flush here. + (c_file_ptr_buf::~c_file_ptr_buf): Not here. + * c-file-ptr-stream.h (c_fie_ptr_buf::close_fcn): New typedef. + (c_file_ptr_buf::cf): New data member. Add default constructor arg. + (class c_file_ptr_buf): Derive from filebuf, not streambuf. + (i_c_file_ptr_stream, o_c_file_ptr_stream): Handle close function here. + * oct-procstrm.cc (octave_iprocstream, octave_oprocstream): Likewise. + (octave_iprocstream::do_close, octave_oprocstream::do_close): Delete. + * oct-stdstrm.cc (octave_base_stdiostream::~octave_base_stdiostream): + Don't do anything. + (octave_istdiostream::create): Handle close function here. + (octave_istdiostream::octave_istdiostream): Likewise. + (octave_ostdiostream::create): Likewise. + (octave_ostdiostream::octave_ostdiostream): Likewise. + (class octave_base_stdiostream): Don't cache FILE pointer here. + +2000-09-01 John W. Eaton + + * syscalls.cc (Ffcntl): Don't assume that the file id passed in is + the same as the underlying system file id. + +2000-08-22 John W. Eaton + + * parse.y: Use octave_time, not time. + +2000-08-03 John W. Eaton + + * oct-stream.cc (printf_value_cache::double_value): Also set + curr_stat to conversion_error if there are no values at all. + +2000-08-02 John W. Eaton + + * dirfns.cc (Flink, Fsymlink, Freadlink): New functions. + +2000-08-01 John W. Eaton + + * load-save.cc (Vsave_header_format_string): New variable. + (symbols_of_load_save): DEFVAR it. + (save_header_format, default_save_header_format): New functions. + (write_header): Use Vsave_header_format_string here. + +2000-07-28 John W. Eaton + + * pt-pr-code.h (tree_print_code::curr_print_indent_level, + (tree_print_code::beginning_of_line): No longer static. + (tree_print_code::tree_print_code): Initialize them here. + * pt-pr-code.cc: Not here. + + * pt-stmt.cc (tree_statement::eval): Set curr_statement here. + (tree_statement_list::eval): Not here. + + Debug-on-error stuff based on a patch submitted by Paul Kienzle + for 2.0.x. + + * error.cc (Vdebug_on_warning): New static flag variable. + (debug_on_warning): New function. + (symbols_of_warning): DEFVAR debug_on_warning. + (warning): Handle debug_on_warning here. + + * input.cc (do_keyboard): New function. + (Fkeyboard): Use it to do the real work. + * pt-stmt.cc (curr_statement): New static variable. + (tree_statement::eval): Save and restore it here. + * error.cc (Vdebug_on_error): New static flag variable. + (debug_on_error): New function. + (symbols_of_error): DEFVAR debug_on_error. + (pr_where, pr_where_1): New functions. + (error): Handle debug_on_error here. + +2000-07-20 Joao Cardoso + + * Makefile.in (octave): Link with $(LD_CXX) instead of $(CXX) + +2000-07-20 John W. Eaton + + * oct-stream.cc (octave_base_stream::oscanf): Advance to next + format element before attempting to pick up any trailing stuff. + +2000-07-17 John W. Eaton + + * lex.l (next_token_is_bin_op): Don't recognize `..' as a binary op. + + * load-save.cc (get_file_format): Call read_mat5_binary_file_header + with third arg true instead of false, so we don't barf if the file + is not a matlab v5 binary file. + +2000-07-14 John W. Eaton + + * Makefile.in (octave): Link to ../libcruft/blas-xtra/xerbla.o here. + + * octave.cc (main): Remove kluge to attempt linking our version of + xerbla. + +2000-07-07 Steven G. Johnson + + * load-save.cc (have_h5giterate_bug): New file-scope variable. + (hdf5_read_next_data): Only increment current_item if + have_h5giterate_bug is true. + (read_hdf5_data): Set have_h5giterate_bug here. + Only increment hs.current_item if have_h5giterate_bug is true. + +2000-07-05 John W. Eaton + + * c-file-ptr-stream.cc (c_file_ptr_buf::close): + Return -1 if file pointer is NULL. + Set file pointer to 0 after closing. + (c_file_ptr_buf::~c_file_ptr_buf): Call close after flushing. + +2000-07-05 Steven G. Johnson + + * Makefile.in (BLAS_LIBS): Substitute here. + (octave): Use $(BLAS_LIBS) in the final link command. + +2000-06-30 Steven G. Johnson + + * Makefile.in (octave): Link $(FLIBS) last. + * octave.cc (main): Force our own xerbla to be linked instead of + some system version. + +2000-06-29 James R. Van Zandt + + * load-save.cc (load_save_format): New value, LS_MAT5_BINARY. + (arrayclasstype, mat5_data_type): New enums. + (read_mat5_binary_data): New function. + (read_mat5_tag): New function. + (read_mat5_binary_element): New function. + (read_mat5_binary_file_header): New function. + (get_file_format): Check for mat5 binary format too. + (do_load): Handle mat5 binary format. + (write_mat5_tag): New function. + (write_mat5_array): New function. + (class mat5_callback): New class. + (save_mat5_binary_element): New functnon. + (do_save): Handle mat5 binary format. + (write_header): Handle LS_MAT5_BINARY case too. + (save_user_variables): Handle LS_MAT5_BINARY case too. + (Fsave): Handle LS_MAT5_BINARY case too. + (Fload): Handle LS_MAT5_BINARY case too. + +2000-06-29 Steven G. Johnson + + All of the following changes are protected by #ifdef HAVE_HDF5. + + * load-save.cc (load_save_format): New value, LS_HDF5. + (make_valid_identifier): New function. + (class hdf5_fstreambase, class hdf5_ifstream, class hdf5_ofstream): + New classes for reading and writing hdf5 data. + (hdf5_types_compatible): New function. + (hdf5_import_multidim): New function. + (hdf5_check_attr): New function. + (hdf5_read_next_data): New function. + (hdf5_make_complex_type): New function. + (hdf5_make_range_type): New function. + (read_hdf5_data): New function. + (get_file_format): Handle HDF5 format. + (do_load): Handle LS_HDF5 case. + (Fload): Handle HDF5 format. + (hdf5_add_attr): New function. + (save_type_to_hdf5): New function. + (add_hdf5_data): New function. + (do_save): Handle HDF5 format. + (get_default_save_format): Handle LS_HDF5 case. + (write_header): Handle LS_HDF5 case. + (save_user_variables): Handle HDF5 format. + (Fsave): Handle HDF5 format. + +2000-06-28 John W. Eaton + + * help.cc (display_help_text): If writing to filter fails, send + unformatted text to output stream. + +2000-06-27 John W. Eaton + + * OPERATORS/op-bm-bm.cc (eq): Define using mx_el_eq, not operator ==. + (ne): Likewise, use mx_el_ne, not operator !=. + + * pr-output.cc (Fdisp): Delete. + +2000-06-26 John W. Eaton + + * pr-output.cc (float_format::float_format): Set default values + for width and precision to -1. + (operator << (ostream&, pr_formatted_float&): Set width and + precision if values are >= 0. + (set_real_format, set_real_matrix_format, set_range_format, + set_complex_format, set_complex_matrix_format): If we have all + integers, infinities, or nans, set precision equal to field width. + + * load-save.cc (read_ascii_data): Allow empty strings and string + vectors to be restored. + + * variables.cc (var_matches_any_pattern): New function. + (Fclear): Use it to make exclusive clear work correctly. + +2000-06-08 John W. Eaton + + * ov-range.h (octave_range::is_numeric_type): New function. + + * sysdep.cc (Fkbhit): Also ask for input if forced_interactive. + +2000-06-07 John W. Eaton + + * Makefile.in (oct-gperf.h): Use $(GPERF) instead of gperf. + +2000-05-31 John W. Eaton + + * DLD-FUNCTIONS/qz.cc (Fqz): When computing finite generalized + eigenvalues, don't write past the end of the array. + +2000-05-11 John W. Eaton + + * ov-base-nd-array.h, ov-base-nd-array.cc, ov-re-nd-array.h, + ov-re-nd-array.h: New files. + * Makefile.in: Add them to the appropriate lists. + + * pt-stmt.h, pt-stmt.cc (class tree_statement): + Store comments associated with this parse tree element. + * pt-select.h, pt-select.cc (class tree_if_clause, + class tree_if_command, class tree_switch_case + class tree_switch_command): Likewise. + * pt-loop.h, pt-loop.cc (class tree_while_command, + class tree_do_until_command, class tree_simple_for_command, + class tree_complex_for_command): Likewise. + * pt-except.h, pt-except.cc (class tree_try_catch_command, + class tree_unwind_protect_command): Likewise. + * ov-usr-fcn.h, ov-usr-fcn.cc (class octave_user_function): Likewise. + * pt-pr-code.h, pt-pr-code.cc (tree_print_code::print_comment_elt, + tree_print_code::print_comment_list, + tree_print_code::print_indented_comment): New functions. + (tree_print_code::visit_simple_for_command, + tree_print_code::visit_complex_for_command, + tree_print_code::visit_octave_user_function_header, + tree_print_code::visit_octave_user_function_trailer, + tree_print_code::visit_if_command, tree_print_code::visit_statement, + tree_print_code::visit_switch_case, + tree_print_code::visit_switch_command, + tree_print_code::visit_try_catch_command, + tree_print_code::visit_unwind_protect_command + tree_print_code::visit_while_command, + tree_print_code::visit_do_until_command): Handle comments. + * lex.l, parse.y: Handle comments in parse trees. + * comment-list.h, comment-list.cc: New files. + * Makefile.in: Add them to the appropriate lists. + +2000-04-23 etienne grossmann + + * pt-mat.cc (tm_row_const::tm_row_const_rep::eval_error): + New args x and y, for dimension mismatch info. + Change callers where appropriate. + (tm_const::init): Report mismatched column dimensions. + +2000-04-11 John W. Eaton + + * sysdep.cc (kbhit): Also clear cin if at EOF. + +2000-04-11 Joao Cardoso + + * sysdep.cc (kbhit): New arg, wait. + (raw_mode): Ditto. + (Fkbhit): If given an arg, call kbhit with wait = false. + + * DLD-FUNCTIONS/minmax.cc (Fmax, Fmin): Fix doc string. + +2000-04-04 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load): Undo previous change. + +2000-04-03 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::do_load): Also fail with + error message if we don't find the mangled function name in the + file. + +2000-03-31 John W. Eaton + + * oct-stream.cc (printf_value_cache::string_value): Return string + matrices in a Matlab-compatible way. + (printf_value_cache): Redesign the way list_exhausted works. + + * oct-fstrm.cc (octave_fstream::do_close): New function. + * oct-stdstrm.cc (octave_istdiostream::do_close): Ditto. + (octave_ostdiostream::do_close): Ditto. + * c-file-ptr-stream.cc (c_file_ptr_buf::close): Ditto. + (i_c_file_ptr_stream::close): Ditto. + (o_c_file_ptr_stream::close): Ditto. + * oct-prcstrm.cc (octave_iprocstream::do_close): Ditto. + (octave_oprocstream::do_close): Ditto. + (octave_iprocstram::~octave_iprocstram): Call do_close here. + (octave_iprocstram::~octave_oprocstram): Likewise. + + * oct-stream.h (octave_base_stream::do_close): New virtual function. + (octave_base_stream::close): If stream is open, call do_close. + + * c-file-ptr-stream.cc (c_file_ptr_buf::flush): New function. + (c_file_ptr_buf::~c_file_ptr_buf): Use it. + (c_file_ptr_buf::overflow): Ditto. + (c_file_ptr_buf::sync): Ditto. + +2000-03-30 John W. Eaton + + * oct-procbuf.cc (octave_procbuf::open): Make output streams line + buffered. + +2000-03-24 John W. Eaton + + * sighandlers.cc (my_friendly_exit): Prefix failure messages with + panic instead of error. + + * c-file-ptr-stream.cc (c_file_ptr_buf::~c_file_ptr_buf): + Avoid dereferencing NULL pointer. + + * oct-stream.cc (printf_format_list::add_elt_to_list, + printf_format_list::process_conversion, + printf_format_list::finish_conversion): New args, flags, fw, and prec. + (printf_format_list::printf_format_list): Save more complete info. + (printf_format_list::printme): Print flags, fw, and prec. + (octave_base_stream::printf): Simplify. + (do_printf_conv): Delete have_arg arg, since it is always true now. + (octave_base_stream::do_printf): Handle case of no args and % + directly instead of using do_printf_conv. + (printf_value_cache::exhausted): Rename from no_more_values. + (DO_PCT_CONVERSION): New macro + (octave_base_streain::do_scanf, octave_base_streain::do_oscanf): + Use it. + (scanf_format_list::finish_conversion): `%' counts as a conversion too. + Also don't forget to set type for it. + (OCTAVE_SCAN_0): Delete. + (OCTAVE_SCAN): Rename from OCTAVE_SCAN_1. + (octave_base_stream::scanf, octave_base_stream::oscanf): Don't + special-case number of conversions here. + (octave_base_stream::oscanf, octave_base_stream::do_oscanf): Only + cycle through fmt elements if the number of conversions is greater + than 0. + + * oct-stream.h (scanf_format_list::next): New arg, `cycle'. + (printf_format_list::next): New arg, `cycle'. + (printf_format_list::last_elt_p): New function. + (printf_format_elt): New fields fw, prec, and flags. + Define copy constructor and assignment operator. + (scanf_format_elt): Define copy constructor and assignment operator. + +2000-03-23 John W. Eaton + + * oct-stream.cc (OCTAVE_SCAN_0, OCTAVE_SCAN_1): New macros. + (do_scanf_conv, BEGIN_S_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, + do_scanf, scanf, do_oscanf, do_oscanf, oscanf): Use them instead + of calling istream::scan directly. + (octave_scan): New function. + (do_scanf_conv): Second arg is now scanf_format_elt instead of char*. + Change all callers. + + * oct-procbuf.h, oct-procbuf.cc (octave_procbuf): + Derive from c_file_ptr_buf instead of filebuf. + + * oct-stream.cc (octave_base_stream::printf): Use octave_format + instead of ostream::form. Return number of characters written. + +2000-03-22 John W. Eaton + + * oct-stream.cc (do_printf_conv): Use octave_format instead of + ostream::form. Return number of characters written. + (octave_base_stream::do_printf): Return number of characters written. + + * error.cc (verror, vwarning): Use octave_format instead of + ostream::vform. + + * utils.cc (octave_format, octave_vformat): New functions. + * cutils.c (octave_snprintf, octave_vsnprintf): New functions. + + * oct-lvalue.h (dummy_val): New static variable. + (octave_lvalue::octave_lvalue): Use it to initialize val. + + * variables.cc (is_valid_function): Look in the global symbol + table for functions. + +2000-03-21 John W. Eaton + + * Makefile.in (LIBRARIES): Conditionally define. + (libraries): Depend on $(LIBRARIES). + (octave): Depend on $(LIBRARIES), not libraries. Also depend on + stamp-prereq and stamp-oct-links. + (all): Don't depend on stamp-prereq or stamp-oct-links. + (liboctinterp.$(LIBEXT), liboctinterp.$(SHELXT)): Delete target + before rebuilding. + +2000-03-21 Ben Sapp : + + * Makefile.in (libraries): Depend only on library targets, not + archive members. + +2000-03-17 John W. Eaton + + * Makefile.in (objects): New target + + * c_file_ptr_stream.h, c_file_ptr_stream.cc: New files. + * oct-stdstrm.h, oct-stdstrm.cc, oct-prcstrm.cc: + Use c_file_ptr_buf, i_c_file_ptr_stream, and o_c_fie_ptr_stream + instead of stdiobuf, istdiostream, and ostdiostream. + + * pr-output.cc (set_real_format, set_real_matrix_format, + set_complex_format, set_complex_matrix_format, set_range_format): + Do the right thing again for int, NaN, and Inf values. + +2000-03-14 John W. Eaton + + * pr-output.cc (pr_plus_format): Rename from do_plus_format. + Change all callers. + (pr_float, pr_complex): New arg, scale. Handle scaling here. + (float_format): New class for managing details of formatting + floats. Use it instead of character string formats and the + nonstandard form() function from the GNU iostream library. + +2000-02-23 John W. Eaton + + * Makefile.in (clean): Also delete gendoc. + +2000-02-18 James R. Van Zandt + + * load-save.cc (Vcrash_dumps_octave_core): Fix comment for this var. + +2000-02-18 John W. Eaton + + * lex.l (handle_number): Don't transorm `[Dd]' to `e' if reading + hex. + +2000-02-11 John W. Eaton + + * Makefile.in (install-inc): Install files in + $(octincludedir)/octave. + (uninstall): Remove them from the correct directory too. + + * defaults.h, defaults.cc (Vlocal_ver_arch_lib_dir): New variable. + * defaults.cc (set_default_local_ver_arch_lib_dir): New function. + (install_defaults): Call it. + (exec_path): Prepend the versioned form of the local arch lib + directory to the standard path. + * defaults.h.in (OCTAVE_LOCALVERARCHLIBDIR, + OCTAVE_LOCALVERFCNFILEDIR, OCTAVE_LOCALVEROCTFILEDIR): + Substitute these too. + * toplev.cc (Foctave_config_info): Add them to the struct. + +2000-02-08 John W. Eaton + + * toplev.cc (Foctave_config_info): Add MKOCTFILE_INCFLAGS to the + struct. + * oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_INCFLAGS): Define. + +2000-02-07 John W. Eaton + + * DLD-FUNCTIONS/balance.cc (Fbalance): Explicitly request + conversion from Matrix to ComplexMatrix. + * DLD-FUNCTIONS/qz.cc (Fqz): Likewise. + + * ov-re-mat.h (octave_matrix::complex_matrix_value): Explicitly + request conversion from Matrix type. + + * ov-ch-mat.h (octave_char_matrix::matrix_value): Explicitly + request conversion from charMatrix type. + (octave_char_matrix::complex_matrix_value): Likewise. + * ov-bool-mat.h (octave_bool_matrix::matrix_value): Likewise. + (octave_bool_matrix::complex_matrix_value): Likewise. + + * ov-range.h (octave_range::complex_matrix_value): Explicitly + request conversion from Matrix type. + + * ov-cx-mat.h, ov-re-mat.h: Explicitly request conversions from + diagonal matrix types in constructors. + + * mappers.cc (ximag, xreal): Return double, not Complex. + + * error.cc (panic): Turn off buffering of error messages. + Don't call flush_octave_stdout here, verror will do it for us. + (verror): Don't call flush_octave_stdout if buffering error messages. + + * pt-except.cc (tree_try_catch_command::eval): Only restore + buffer_error_message value (by running the unwind_protect element + for it) if it has been saved. + + * help.cc (Ftype): Return value if nargout is NOT equal to zero. + Delete unnecessary unwind_protect::begin_frame(). + + * toplev.cc (octave_config_info): Stuff lots of new config info in + the struct. + + * oct-conf.h.in: Delete TARGET_HOST_TYPE. + +2000-02-04 John W. Eaton + + * siglist.c: Include . + + * lex.l (is_plot_keyword): Add minimum match length in call to + almost_match. + + * Makefile.in (%.df : %.cc): Don't pass -c to compiler. + +2000-02-03 John W. Eaton + + * ov-base-mat.cc: Include pr-output.h here. + + * DLD-FUNCTIONS/rand.cc (curr_rand_dist): Return const char * + instead of char *. + + * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell): + Call pubseekoff instead of seekoff. + + * DLD-FUNCTIONS/dassl.cc (print_dassl_option_list): Use stream + manipulators instead of GNU iostream-specific form function. + * DLD-FUNCTIONS/fsolve.cc (print_fsolve_option_list): Ditto. + * DLD-FUNCTIONS/lsode.cc (print_lsode_option_list): Ditto. + * DLD-FUNCTIONS/quad.cc (print_quad_option_list): Ditto. + * pr-output.cc (pr_scale_header): Ditto. + + * sighandlers.h: Include signal.h here. + * sighandlers.cc: Not here. + + * utils.cc: Include setjmp.h, not csetjmp. + * toplev.cc: Ditto. + + * sighandlers.cc: Include signal.h, not csignal. + + * pt-plot.h: Don't include csignal. + * toplev.cc: Ditto. + * oct-hist.cc: Ditto. + * octave.cc: Ditto. + * pager.cc: Ditto. + * input.cc: Ditto. + * help.cc: Ditto. + + * pt-plot.cc (send_to_plot_stream): Use operator== and substr + method to do limited-length string comparison. + * input.cc (generate_completion): Likewise. + * ov-dld-fcn.cc (octave_dld_function::octave_dld_function): Likewise. + * ov-usr-fcn.cc (octave_user_function::mark_as_system_fcn_file): + Likewise. + + * utils.cc (check_preference): Expect exact string matches. + * variables.cc (ignore_function_time_stamp): Likewise. + * lex.l (whitespace_in_literal_matrix): Likewise. + + * mappers.cc (xconj, ximag, xreal): New functions. Use them in + DEFUN_MAPPER calls. + + * defun-int.h (DEFUN_MAPPER_INTERNAL): Cast function pointer args + to octave_mapper constructor. + +2000-02-02 John W. Eaton + + * procstream.cc (procstreambase::procstreambase, + procstreambase::open, procstreambase::close): + Call std::ios::setstate, not set. + + * lex.l (plot_axes_token): Declare plot_axes as const char *. + Declare tmp const char **. + + * oct-procbuf.h: Include fstream, not streambuf.h. + + * load-save.cc (Fsave): Call pubseekoff instead of seekoff. + * oct-strstrm.cc (octave_base_strstream::tell): Likewise. + (octave_base_strstream::seek): Likewise. + + * oct-stream.cc (octave_base_stream::read): Rename count to char_count. + (octave_base_stream::do_gets): Likewise. + + * octave-stream.cc (octave_base_stream::write): Rename flt_fmt to ffmt. + (octave_base_stream::read): Likewise. + + * TEMPLATE-INST/SLStack-sym.cc: Delete meaningless `extern + template' declarations. + * TEMPLATE-INST/Array-tc.cc: Ditto. + + * TEMPLATE-INST/Map-fnc.cc: Don't try to instantiate goodCHptr or + CHptr_to_index here. + * TEMPLATE-INST/Map-tc.cc: Likewise. + * Map.h (CHNode::goodCHptr, CHNode::CHptr_to_index): Now member + functions. Change all callers. + + * load-save.cc (read_binary_file_header): Declare magic_len `const'. + + * token.h (token::token (const token&), token::operator=): + Delete unnecessary definitions. + + * oct-stream.cc (octave_stream::mode_as_string): Use + std::ios::binary, not std::ios::bin. + * load-save.cc (Fsave, Fload, save_user_variables): Likewise. + + * DLD-FUNCTIONS/qz.cc (Fqz): Use Array class instead of + trying to create automatic int array with variable size. + + * variables.cc (F__dump_symbol_info__): Fix continuation char. + * mappers.cc (Ftoupper): Likewise. + * DLD-FUNCTIONS/besselj.cc (Fairy, Fbesselj): Likewise. + * DLD-FUNCTIONS/chol.cc (Fchol): Likewise. + * DLD-FUNCTIONS/det.cc (Fdet): Likewise. + * DLD-FUNCTIONS/eig.cc (Feig): Likewise. + * DLD-FUNCTIONS/gammainc.cc (gammainc): Likewise. + * DLD-FUNCTIONS/givens.cc (givens): Likewise. + * DLD-FUNCTIONS/hess.cc (hess): Likewise. + * DLD-FUNCTIONS/inv.cc (inv): Likewise. + * DLD-FUNCTIONS/log.cc (logm): Likewise. + * DLD-FUNCTIONS/lu.cc (lu): Likewise. + * DLD-FUNCTIONS/qr.cc (qr): Likewise. + * DLD-FUNCTIONS/schur.cc (schur): Likewise. + * DLD-FUNCTIONS/balance.cc (balance): Likewise. + * DLD-FUNCTIONS/svd.cc (svd): Likewise. + * DLD-FUNCTIONS/syl.cc (syl): Likewise. + * DLD-FUNCTIONS/expm.cc (Fexpm): Likewise. + + * token.h (token::token_type, token::end_tok_type, + token::plot_tok_type): Delete extraneous comma from enum decls. + * load-save.cc (load_save_format): Likewise. + + * pt-idx.cc (tree_index_expression::tree_index_expression): + Delete default arg values. + * oct-fstrm.cc (octave_fstream::octave_fstream): Likewise. + * oct-stream.cc (octave_stream::octave_stream): Likewise. + + * siglist.h, siglist.c: New files. + * Makefile.in: Add them to the appropriate lists. + * siglist.c (sys_siglist): Move definition here from sighandlers.cc. + * siglist.h (sys_siglist): Move declaration here from sighandlers.h. + + * ov.h, ov-bool.h, ov-bool-mat.h (bool_matrix_value): + Delete unnecessary arg. + + * ov.h (octave_value::do_multi_index_op): Rename from do_index_op. + + * ov-fcn.h (octave_function::is_system_fcn_file): Now const. + + * Map.cc (index_to_CHptr): Now a macro. + (CHMap::hash): Now a member function. + + * defun-int.h (UNDERSCORIFY): New macro. + (DEFCONST_INTERNAL, DEFCONSTX_INTERNAL): Use it. + + * data.cc (Fis_list): Fix continuation char. + * defaults.cc (IMAGEPATH): Likewise. + + * Map.cc (CHptr_to_index, goodCHptr): Delete static decl. + + * ov.h (unary_op, binary_op, assign_op): Prepend `op_' to elts. + Change all usses + + * All source files: Sprinkle with std:: qualifier as needed. + +2000-01-31 John W. Eaton + + * sighandlers.cc (install_signal_handlers): Add std:: qualifier + for set_net_handler. + + * All source files: Include iostream, fstream, strstream, + etc. as needed instead of using forward declarations for these + classes. + +2000-01-30 John W. Eaton + + * input.cc (input_event_hook, Finput_event_hook): New functions. + (hook_fcn, user_data): New static variables. + +2000-01-28 John W. Eaton + + * pt-except.cc (do_catch_code): Don't do anything special for + tree_return_command::returning, or tree_break_command::breaking. + + * error.cc (vwarning): New function. + (warning): Use it instead of calling verror. + + * oct-stream.cc (octave_base_stream::oscanf): + Result is now always nconv+1 elements. Return count of successful + conversions in last element. + * file-io.cc (Ffscanf, Fsscanf, Fscanf): Fix doc string. + + * pt-except.cc (do_catch_code): Unwind-protect buffer_error_messages. + Be sure to run all unwind-protects before returning. + (tree_try_catch_command::eval): Add do_catch_code cleanup function + to unwind-protect stack before resetting buffer_error_messages. + Use unwind-protect to save and restore buffer_error_messages. + If there is no catch code, discard the cleanup function and run + the unwind-protect for buffer_error_messages. + + * error.cc (bind_global_error_variable): Avoid dereferencing + error_message_buffer if it is NULL. + + * parse.y (evaluating_function_body): New global flag. + * ov-usr-fcn.cc (octave_user_function::do_index_op): + Protect and set it here. + * parse.y (make_break_command, make_return_command): Check it here. + + * error.cc (warning_state): New global flag. + (warning): Set it here. + * lex.l (reset_parser): Clear it here. + * parse.y (fold): Check it here. + +2000-01-27 John W. Eaton + + * pt-walk.h (tree_walker::visit_do_until_command): New pure virtual. + * pt-pr-code.cc (tree_print_code::visit_do_until_command): + New function. + * pt-loop.h (tree_do_until_command): New class. + (tree_while_command::expr, tree_while_command::list): + Now protected instead of private. + * parse.y (make_do_until_command): New function. + (loop_command): Recognize do-until statement. + (DO, UNTIL): New tokens. + + * input.cc (match_sans_spaces): Require non-blank part of test + string to match standard string exactly. + +2000-01-26 John W. Eaton + + * oct-stream.h (scanf_format_elt::char_class): New struct elt. + Add arg to constructor. + (scanf_format_elt::special_conversion): New enum. + * oct-stream.cc (scanf_format_list::add_elt_to_list): New arg, + char_class. Pass it to scanf_format_elt constructor. + (scanf_format_list::scanf_format_list): Create separate list + elements for whitespace and literal conversions. + (expand_char_class): New function. + (scanf_format_list::finish_conversion): Extract character class + (not including the delimiting brackets) and expand the list of + characters. Pass the result to add_elt_to_list. + (scanf_format_list::all_character_conversions): Also accept '^', + scanf_format_elt::literal_conversion, and + scanf_format_elt::whitespace_conversion types too. + (DO_WHITESPACE_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, + BEGIN_C_CONVERSION, BEGIN_S_CONVERSION, DO_LITERAL_CONVERSION): + New macros. + (octave_base_stream::do_scanf, octave_base_stream::do_oscanf): + Use them to avoid code duplication. + Handle whitespace, literal text, and character class conversions. + (octave_base_stream::oscanf): Loop over all format list elements, + not just the first nconv elements. Clear status flags on is for + all streams. + +2000-01-25 John W. Eaton + + * xdiv.cc (result_ok): Just check value of info. + (solve_singularity_warning): New function. + (xleftdiv, xdiv): Pass pointer to solve_singularity_warning to + solve function. + + * lex.l (handle_identifier): Set next_tok_is_eq if we are looking + at `=', but not if we are looking at `=='. + + * pt-pr-code.cc (tree_print_code::visit_unwind_protect_command): + Print `unwind_protect_cleanup', not `cleanup_code'. + + * pager.cc (octave_pager_buf::flush_current_contents_to_diary): + New function. + (octave_pager_stream::flush_current_contents_to_diary): + Ditto. + (close_diary_file): Use the new octave_pager_stream function to + try to flush the current buffer to the diary when it is closed. + + * variables.cc (Fexist): Return 6 for built-in constants. + + * pt-plot.cc (Fgshow): Don't append " " after last arg. + (Fgset): Likewise. + +2000-01-23 John W. Eaton + + * ov-base-mat.h (octave_base_matrix::length): Return 0 for empty + arrays. + +2000-01-20 John W. Eaton + + * DLD-FUNCTIONS/time.cc (Fstrptime): New function. + + * load-save.cc (Fsave): Add missing else. + +2000-01-17 John W. Eaton + + * DLD-FUNCTIONS/gammainc.cc (Fgammainc): Texinfoize doc string. + * ov-typeinfo.cc (Ftypeinfo): Ditto. + * parse.y (Vwarn_future_time_stamp): Ditto. + * DLD-FUNCTIONS/minmax.cc (Fmax, Fmin): Ditto. + * ov-usr-fcn.cc (Fva_arg, Fva_start, Fvr_val): Ditto. + * defaults.cc (VOCTAVE_HOME, Frehash): Ditto. + * toplev.cc (Fwarranty, Fcasesen): Ditto. + * utils.cc (Fdo_string_escapes, Ffile_in_loadpath): Ditto. + * variables.cc (F__dump_symtab_info__, F__dump_symbol_info__): Ditto. + * ov-list.cc (Flist, Fappend, Fnth, Freverse, Fsplice): Ditto. + * input.cc (Fread_readline_init_file): Ditto. + * file-io.cc (Fis_stream): Ditto. + * ov-cell.cc (Fiscell, Fcell): Ditto. + * pt-assign.cc (Vprint_rhs_assign_val): Ditto. + * pt-decl.cc (Vinitialize_global_variables): Ditto. + * symtab.cc (Vvariables_can_hide_functions): Ditto. + + * pt-plot.cc (Fgraw, Fgset, Fgshow, Vgnuplot_command_plot, + Vgnuplot_command_replot, Vgnuplot_command_splot, + Vgnuplot_command_using, Vgnuplot_command_with, + Vgnuplot_command_axes, Vgnuplot_command_title, + Vgnuplot_command_end): Texinfoize doc strings. + + * oct-procbuf.cc (__kluge_procbuf_delay__): Rename from + kluge_procbuf_delay. Texinfoize doc string. + +2000-01-13 John W. Eaton + + * parse.y (gobble_leading_whitespace): Discard first space character + after consecutive comment characters. + * lex.l (grab_help_text): Ditto. + + * lex.l (Vwhitespace_in_literal_matrix, Vwarn_separator_insert, + Vwarn_single_quote_string): Texinfoize doc string. + +2000-01-11 John W. Eaton + + * ov.h, ov.cc (octave_value::column_vector_value, + octave_value::row_vector_value, + octave_value::complex_column_vector_value, + octave_value::complex_row_vector_value): New functions. + (octave_value::vector_value): Now returns Array. + (octave_value::complex_vector_value): Now returns Array. + Sprinkle conversions where necessary. + + * ov.cc (Vprefer_column_vectors): Now static. + * ov.h (octave_value (const ComplexRowVector&), + octave_value (const ComplexColumnVector&), + octave_value (const RowVector&), octave_value (const ColumnVector&)): + Delete second arg. Change all callers. + + * oct-obj.h (octave_value_list (const RowVector&), + octave_value_list (const ColumnVector&), + octave_value_list (const ComplexRowVector&), + octave_value_list (const ComplexColumnVector&)): Likewise. + * ov-cx-mat.h, ov-cx-mat.cc + (octave_complex_matrix (const ComplexRowVector&), + (octave_complex_matrix (const ComplexColumnVector&)): + Delete second arg, simply create object with orientation + corresponding to vector arg. Move constructors to class decl. + * ov-re-mat.h, ov-re-mat.cc (octave_matrix (const RowVector&), + (octave_matrix (const ColumnVector&)): + Delete second arg, simply create object with orientation + corresponding to vector arg. Move constructors to class decl. + +2000-01-07 Ben Sapp + + * mappers.cc (Fconj, Ferf, Ferfc, Fgamma, Fimag, Flgamma, Flog10, + Freal, Fround): Add @seealso{...} to doc strings. + +2000-01-06 John W. Eaton + + * oct-stream.cc (do_scanf): Do the right thing again for character + conversions. + + * help.cc (display_help_text): Also strip out leading spaces + before Texinfo @-commands before sending doc string to makeinfo. + (display_help_text): Improve format of `See also' string. + +2000-01-05 John W. Eaton + + * help.cc (display_help_text): Pass a definition for @seealso + through the filter. + +1999-12-22 John W. Eaton + + * lex.l (Vwarn_single_quote_string): New variable. + (syms_of_lex): DEFVAR it. + (warn_single_quote_string): New function. + (gripe_single_quote_string): New function. + Use new stuff to allow warnings for code that uses single quote + characters to introduce string constants. + +1999-12-20 John W. Eaton + + * mkbuiltins: Add #undef quad to generated file. + +1999-12-15 John W. Eaton + + * lex.l (Vwarn_separator_insert): New variable. + (syms_of_lex): DEFVAR it. + (warn_separator_insert): New function. + (maybe_warn_separator_insert): New function. + Use new stuff to allow warnings for code that might result in + auto-insertion of commas or semicolons, depending on the value of + whitespace_in_literal_matrix. + + * parse.y (Fsource): Record function file name here too. + +1999-12-13 John W. Eaton + + * variables.cc (link_to_global_variable): If the local symbol is + not a variable, don't bother to clear it. Instead, just redefine + it by aliasing to the global symbol. + +1999-11-23 John W. Eaton + + * DLD-FUNCTIONS/balance.cc (Fbalance): Texinfoize doc string. + * DLD-FUNCTIONS/det.cc (Fdet): Ditto. + * DLD-FUNCTIONS/eig.cc (Feig): Ditto. + * DLD-FUNCTIONS/givens.cc (Fgivens): Ditto. + * DLD-FUNCTIONS/inv.cc (Finv): Ditto. + * DLD-FUNCTIONS/chol.cc (Fchol): Ditto. + * DLD-FUNCTIONS/hess.cc (Fhess): Ditto. + * DLD-FUNCTIONS/lu.cc (Flu): Ditto. + * DLD-FUNCTIONS/qr.cc (Fqr): Ditto. + * DLD-FUNCTIONS/schur.cc (Fschur): Ditto. + * DLD-FUNCTIONS/svd.cc (Fsvd): Ditto. + * DLD-FUNCTIONS/expm.cc (Fexpm): Ditto. + * DLD-FUNCTIONS/log.cc (Flogm, Fsqrtm): Ditto. + * DLD-FUNCTIONS/syl.cc (Fsyl): Ditto. + * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto. + * DLD-FUNCTIONS/qz.cc (Fqz): Ditto. + * DLD-FUNCTIONS/dassl.cc (Fdassl, Fdassl_options): Ditto. + * DLD-FUNCTIONS/lsode.cc (Flsode, Flsode_options): Ditto. + * data.cc (Flength, Fsize, Fisempty): Ditto. + * sysdep.cc (Fkbhit): Ditto. + * input.cc (Fkeyboard, Finput): Ditto. + * variables.cc (ans): Ditto. + * pr-output.cc (Fdisp, Fformat): Ditto. + * ov.cc (Vprint_answer_id_name): Ditto. + * defaults.cc (IMAGEPATH): Ditto. + * error.cc (Ferror, Fwarning, Fusage, error_text, beep_on_error): + Ditto. + * load-save.cc (Fload, Fsave, Vdefault_save_format, + Vsave_precision): Ditto. + * file-io.cc (Ffflush, Ffopen, Ffclose, Ffputs, Ffgetl, Ffgets, + Ffprintf, Fsprintf, Fscanf, Ffscanf, Fsscanf, Ffread, Ffwrite, + Ffseek, Fftell, Ffeof, Fferror, Ffreport, Ftmpnam, Vstdin_file, + Vstdout_file, Vstderr_file, SEEK_SET, SEEK_CUR, SEEK_END): Ditto. + * pager.cc (Vpager_binary, Vpage_output_immediately, + Vpage_screen_output, Fmore): Ditto. + +1999-11-21 John W. Eaton + + * utils.cc (Vtreat_neg_dim_as_zero): Texinfoize doc string. + * DLD-FUNCTIONS/find.cc (Ffind): Ditto. + * DLD-FUNCTIONS/rand.cc (Frand, Frandn): Ditto. + * DLD-FUNCTIONS/sort.cc (Fsort): Ditto. + * mappers.cc (Fisinf, Fisnan, Ffinite): Ditto. + * data.cc (Fall, Fany, Fdiag, Fones, Fzeros, Feye, Flinspace): Ditto. + * defaults.cc (Vloadpath, Vdefault_loadpath): Ditto. + * parse.y (Feval, Ffeval, Vdefault_eval_print_flag, + Vwarn_missing_semicolon, Vwarn_function_name_clash, Fsource): Ditto. + * ov-usr-fcn.cc (Vmax_recursion_depth, Vdefault_return_value, + Vdefine_all_return_values, Vreturn_last_computed_value): Ditto. + * ov.cc (Vok_to_lose_imaginary_part, Vdo_fortran_indexing, + Vprefer_column_vectors, Vresize_on_range_error, + Vwarn_divide_by_zero): Ditto. + * pt-stmt.cc (Vsilent_functions): Ditto. + * variables.cc (Vignore_function_time_stamp): Ditto. + * dynamic-ld.cc (Vwarn_reload_forces_clear): Ditto. + +1999-11-20 John W. Eaton + + * DLD-FUNCTIONS/fft.cc (Ffft): Texinfoize doc string. + * DLD-FUNCTIONS/ifft.cc (Fifft): Ditto. + * DLD-FUNCTIONS/fft2.cc (Ffft2): Ditto. + * DLD-FUNCTIONS/ifft2.cc (Fifft2): Ditto. + * DLD-FUNCTIONS/filter.cc (Ffilter): Ditto. + * DLD-FUNCTIONS/quad.cc (Fquad, Fquad_options): Ditto. + * DLD-FUNCTIONS/colloc.cc (Fcolloc): Ditto. + * DLD-FUNCTIONS/fsolve.cc (Ffsolve, Ffsolve_options): Ditto. + * defaults.cc (Veditor): Ditto. + * pt-plot.cc (Vautomatic_replot, Vgnuplot_binary, + Vgnuplot_has_frames, Vgnuplot_has_multiplot, Fclearplot, + Fcloseplot, Fpurge_tmp_files, Fishold, Fhold): + + * Makefile.in (parse.cc): Expect 11 shift/reduce conflicts now. + +1999-11-19 John W. Eaton + + * parse.y (Vwarn_assign_as_truth_value, Vwarn_variable_switch_label): + Texinfoize doc strings. + + * DLD-FUNCTIONS/pinv.cc (Fpinv): Texinfoize doc string. + + * defun-int.h (DEFUN_DLD_INTERNAL): New macro. + * defun-dld.h [MAKE_BUILTINS] (DEFUN_DLD): Simply expand to + DEFUN_DLD_INTERNAL. + * mkbuiltins: Generate code to define DEFUN_DLD_INTERNAL. + * mkgendoc: Likewise. + + * Makefile.in (gendoc.o): Don't optimize when creating gendoc. + (%.dc : %.cc): Delete rule. + + * pt-decl.cc (Vdefault_global_variable_value): Texinofize doc string. + * variables.cc (Fclear, Fdocument, Fexist, Fis_global, Fwho): Ditto. + * help.cc (Ftype, Fwhich): Ditto. + * ov.cc (Vstruct_levels_to_print, Vimplicit_str_to_num_ok): Ditto. + * data.cc (Fis_struct, Fstruct_elements, Fstruct_constains): Ditto. + * strfns.cc (Fisstr, Fsetstr): Ditto. + * pt-mat.cc: (Fimplicit_num_to_str_ok, Fstring_fill_char): Ditto. + * utils.cc (Fundo_string_escapes): Ditto. + * mappers.cc: (Fisalnum, Fisalpha, Fisascii, Fiscntrl, Fisdigit, + Fisgraph, Fislower, Fisprint, Fispunct, Fisspace, Fisupper, + Fisxdigit, Ftoascii, Ftolower, Ftoupper): Ditto. + +1999-11-18 John W. Eaton + + * syscalls.cc (symbols_of_syscalls): Use DEFCONSTX to define + Octave constants for C macros like O_WRONLY. + + * oct-lvalue.cc (octave_lvalue::set_index): Disallow expressions + like x(i)(j) = rhs. + +1999-11-17 John W. Eaton + + * symtab.cc (symbol_record::type_as_string): New function. + + * symtab.cc (symbol_record::which): New functions. + * help.cc (do_which): New functions. + (Fwhich): Use them. + + * help.cc (help_from_symbol_table, help_from_file): New functions. + (builtin_help): Use them. + + * help.cc (do_type): New function. + (symbol_record::type): New function. + (Ftype): Use them. + + * help.cc (print_symbol_type): Delete. + + * symtab.cc (symbol_table::name_list): Delete count arg. + (symbol_table::symbol_list): Likewise. + (symbol_table::glob): Likewise. Also return Array + instead of symbol_record **. + Change all callers. + * help.cc (names, display_symtab_names): Delete count arg. + + * help.cc (print_symbol_type, Ftype): No longer need to look up + fcn_file_name in the loadpath. + + * help.cc (print_symbol_type): Handle dld functions. + (help_from_symbol_table, help_from_file): New functions. + (builtin_help): Use them. + +1999-11-16 John W. Eaton + + * ov-cell.cc (Fiscell, Fcell): New Functions. + (octave_cell::do_index_op): New function. + + * utils.cc (get_dimensions): Move here from data.cc and make extern. + (Vtreat_neg_dim_as_zero, treat_neg_dim_as_zero): Likewise. + (symbols_of_utils): New function. + + * data.cc (fill_matrix (const octave_value_list&, double, + const char*)): New function. + (Fones, Fzeros): Use it to avoid some code duplication. + +1999-11-15 John W. Eaton + + * pt-cell.h, pt-cell.cc, ov-cell.h, ov-cell.cc, Cell.h, Cell.cc: + New files. + * Makefile.in: Add them to the appropriate lists. + * pt-walk.h (visit_cell (tree_cell&): New pure virtual. + * pt-pr-code.cc (tree_print_code::visit_cell (tree_cell&)): New + function. + * TEMPLATE-INST/Array-tc.cc: Instantiate 2D arrays of octave_value + objects. + * pt-all.h: Include pt-cell.h. + * ov.h, ov.cc (octave_value::is_cell, octave_value::cell_value): + New functions. + * ov-base.h, ov-base.cc (octave_value::is_cell, + octave_value::cell_value): Provide defaults. + * lex.h, lex.l: Handle `{' and `}' tokens (for cell arrays). + (bracketflag): Rename from braceflag. + (handle_close_bracket): Rename from handle_close_brace. + (class bracket_brace_paren_nesting_level): Rename from + brace_paren_nesting_level. + (bracket_brace_paren_nesting_level::bracket, + bracket_brace_paren_nesting_level::is_bracket): New functions to + keep count of nesting level for `[' and `]'. + (bracket_brace_paren_nesting_level::brace, + bracket_brace_paren_nesting_level::is_brace): Now keeps count of + nesting level for `{' and `}'. + * parse.y (tree_cell_type): New type. + Give '{' the same precedence and associativity as '(' and '.' + (matrix_rows, matrix_rows1): Rename from rows, rows1. + (cell, cell_rows, cell_rows1): New non-terminals. + (cell_or_matrix_row): Rename from matrix_row. + (primary_expr): Accept cell here. + (postfix_expr): Allow indexing using '{' arg_list '}'. + (finish_cell): New function. + +1999-11-12 John W. Eaton + + * utils.cc (jump_to_top_level): No longer declared extern "C". + + * cutils.c (octave_strcasecmp, octave_strncasecmp): New functions. + * utils.cc (almost_match): Call octave_strncasecmp instead of + calling strncasecmp directly. + +1999-11-10 John W. Eaton + + * parse.y: Don't define warn_reload_forces_clear here. + + * Makefile.in (DISTFILES): Include DOCSTRINGS. + +1999-11-05 John W. Eaton + + * sighandlers.cc (install_signal_handlers): Don't install + sigwinch_handler. + + * oct-iostrm.h (octave_istream::eof, octave_ostream::eof): Provide + implementation for these. + + * oct-stream.cc (octave_base_stream::do_scanf): + The stdin stream is only special if we are interactive. + (octave_base_stream::scanf): Ditto. + (octave_base_stream::do_oscanf): Ditto. + (octave_base_stream::oscanf): Ditto. + + * ov.h (octave_value::is_stream): New predicate. + * ov-file.h (octave_file::is_stream): Return true. + * file-io.cc (Fis_stream): New function. + + * ov-file.h (class octave_file): stream is now an object instead + of pointer. + * ov-file.cc (octave_file::print_raw): Handle stream as object + instead of pointer. Also print stream status. + + * ov-base.cc (octave_base_value::stream_value): Return object + instead of pointer. + + * ov.cc (octave_value::stream_value): Return object instead of pointer. + (octave_value::octave_value (const octave_stream&)): Take const + reference instead of pointer arg. + + * TEMPLATE-INST/Array-os.cc: Instantiate Arrays of octave_stream + objects, not pointers to them. + + * OPERATORS/op-fil-b.cc: Cope with octave_stream class changes. + * OPERATORS/op-fil-bm.cc: Likewise. + * OPERATORS/op-fil-cm.cc: Likewise. + * OPERATORS/op-fil-cs.cc: Likewise. + * OPERATORS/op-fil-lis.cc: Likewise. + * OPERATORS/op-fil-m.cc: Likewise. + * OPERATORS/op-fil-rec.cc: Likewise. + * OPERATORS/op-fil-s.cc: Likewise. + * OPERATORS/op-fil-str.cc: Likewise. + * file-io.cc: Likewise. + * syscalls.cc (Fdup): Likewise. + + * oct-fstrm.cc, oct-fstrm.h, oct-iostrm.cc, oct-iostrm.h, + oct-prcstrm.cc, oct-prcstrm.h, oct-stdstrm.cc, oct-stdstrm.h, + oct-stream.cc, oct-stream.h, oct-strstrm.cc, oct-strstrm.h: + Rewrite to allow octave_stream objects to be used like values + instead of having to use pointers. + +1999-11-03 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): If it looks like + we have a matching failure, then reset the failbit in the stream + state. + (octave_base_stream::do_oscanf): Likewise. + +1999-11-02 Ben Sapp + + * help.cc (Fhelp): Texinfoize doc string. + * input.cc (Fecho, Fcompletion_matches): Ditto. + * oct-hist.cc (Fedit_history, Fhistory, Frun_history): Ditto. + * pager.cc (Fdiary): Ditto. + * sysdep.cc (Fclc): Ditto. + * toplev.cc (Fquit, Fatexit): Ditto. + +1999-11-02 John W. Eaton + + * lex.l (yywrap): No longer static. + (have_continuation): Declare input character as int, not char, so + comparison to EOF will work. + +1999-11-01 John W. Eaton + + * defun.cc (print_usage): Use display_help_text instead of sending + help message directly to octave_stdout. + +1999-10-29 John W. Eaton + + * defun-dld.h (INSTALL_DLD_FCNS, INSTALL_DLD_FCN): Delete definitions. + * DLD-FUNCTIONS/dassl.cc: Don't use INSTALL_DLD_FCN or + INSTALL_DLD_FCNS macros. They are not necessary with the new code + in dynamic-ld.cc. + * DLD-FUNCTIONS/lsode.cc: Ditto. + * DLD-FUNCTIONS/fsolve.cc: Ditto. + * DLD-FUNCTIONS/quad.cc: Ditto. + * DLD-FUNCTIONS/time.cc: Ditto. + * DLD-FUNCTIONS/besselj.cc: Ditto. + * DLD-FUNCTIONS/getgrent.cc: Ditto. + * DLD-FUNCTIONS/getpwent.cc: Ditto. + * DLD-FUNCTIONS/inv.cc: Ditto. + * DLD-FUNCTIONS/log.cc: Ditto. + * DLD-FUNCTIONS/minmax.cc: Ditto. + * DLD-FUNCTIONS/rand.cc: Ditto. + + * dynamic-ld.cc, dynamic-ld.h: Major rewrite to allow reloading of + dynamically linked functions. + + * symtab.cc (symbol_record::replace_all_defs): Don't allow top + definition to be NULL. + (symbol_table::clear): Allow dynamically linked functions to be + cleared. + + * symtab.h (TYPE): New enum value, DLD_FUCTION. + (symbol_type): Now 8 bits wide. + (SYMTAB_ALL_TYPES): Include DLD_FUNCTION. + (symbol_record::symbol_def::is_function): Also recognize dld functions. + (symbol_record::symbol_def::is_dld_function): New function. + (symbol_record::is_dld_function): Ditto. + + * defun.cc (install_dld_function): New function. + * defun-int.h: Provide declaration here. + (octave_dld_fcn_installer): New typedef. + (DEFINE_FUN_INSTALLER_FUN): Installer function now takes an + oct_shlib object as an arg. Allow installation of a function to + happen more than once. + + * octave.cc (initialize_error_handlers): Call + set_liboctave_warning_handler here too. + + * ov-builtin.h (is_builtin_function): Return true. + Data member is now protected, not private. + + * ov-fcn.h (is_dynamically_loaded_function): New predicate. + (unload): New function. + Data members are now protected, not private. + + * ov.h (is_builtin_function, is_dld_function): New predicates. + * ov-base.h (is_builtin_function, is_dld_function): Ditto. + + * parse.y (Vwarn_reload_forces_clear): New static flag. + (warn_reload_forces_clear): New function. + (symbols_of_parse): DEFVAR warn_reload_forces_clear. + + * variables.cc (Fclear): Look for dld functions too. + + * ov-dld-fcn.cc, ov-dld-fcn.h: New files. + * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists. + + * Makefile.in (DEFVAR_PATTERN): Also match DEFCONSTX. + +1999-10-26 John W. Eaton + + * DLList.h, DLList.cc: New files. + * Makefile.in (INCLUDES, DIST_SRC): Add them to the lists. + + * DLD-FUNCTIONS/lsode.cc (Flsode): Be sure to call + unwind_protect::run_frame before returning. + * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. + * DLD-FUNCTIONS/dassl.cc (Fdassl): Likewise. + + * load-save.cc (read_mat_ascii_data): When reading from + tmp_stream, check its state, not the state of is. + + * defun-dld.h (INSTALL_DLD_FCN, INSTALL_DLD_FCNS): New macros. + * DLD-FUNCTIONS/dassl.cc: Use them. + * DLD-FUNCTIONS/lsode.cc: Ditto. + * DLD-FUNCTIONS/fsolve.cc: Ditto. + * DLD-FUNCTIONS/quad.cc: Ditto. + * DLD-FUNCTIONS/time.cc: Ditto. + * DLD-FUNCTIONS/besselj.cc: Ditto. + * DLD-FUNCTIONS/getgrent.cc: Ditto. + * DLD-FUNCTIONS/getpwent.cc: Ditto. + * DLD-FUNCTIONS/inv.cc: Ditto. + * DLD-FUNCTIONS/log.cc: Ditto. + * DLD-FUNCTIONS/minmax.cc: Ditto. + * DLD-FUNCTIONS/rand.cc: Ditto. + + * data.cc (Flinspace): Let linspace functions handle errors. + + * mkgendoc (print_doc_string): Handle quoted names. + + * file-io.cc (symbols_of_file_io): Use DEFCONSTX for SEEK_SET, + SEEK_CUR, and SEEK_END. + + * defun.h (DEFCONST): Just pass name, defn, and doc to + DEFCONST_INTERNAL. + (DEFCONSTX): Likewise, pass name, defn, and doc to DEFCONSTX_INTERNAL. + * defun-int.h [MKBUILTINS] (DEFCONST_INTERNAL): Likewise, pass + name, defn, and doc to XDEFCONST_INTERNAL. + [MKBUILTINS] (DEFCONSTX_INTERNAL): New macro. + (INSTALL_CONST): New macro. + [! MKBUILTINS] (DEFCONST_INTERNAL): Use it to handle details here. + [! MKBUILTINS] (DEFCONSTX_INTERNAL): Ditto. + * mkgendoc: Fix definition of XDEFCONST_INTERNAL to match. + * mkbuiltins: Ditto. + + * mkdefs: Match spaces before BEGIN_INSTALL_BUILTIN. + + * Makefile.in (DEFUN_PATTERN): Also match DEFUN_MAPPER. + +1999-10-26 Ben Sapp + + * data.cc (VI, VInf, VJ, VNaN, Ve, Veps, Vfalse, Vi, Vinf, Vj, + Vnan, Vpi, Vrealmax, Vrealmin): Texinfoize doc strings. + * mappers.cc (Fabs, Facos, Facosh, Fangle, Farg, Fasin, Fasinh, + Fatan, Fatanh, Fceil, Fconj, Fcos, Fcosh, Ferf, Ferfc, Fexp, + Ffinite, Ffix, Ffloor, Fgamma, Fimag, Flgamma, Flog, Flog10, + Freal, Fround, Fsign, Fsin, Fsinh, Fsqrt, Ftan, Ftanh): Ditto. + +1999-10-23 Ben Sapp + + * data.cc (Fis_matrix): Texinfoize doc string. + * ov.cc (Vpropagate_empty_matrices): Ditto. + * pt-mat.cc: (Vempty_list_elements_ok): Ditto. + * pr-output.cc (Vfixed_point_format, Voutput_max_field_width, + Voutput_precision, Vprint_empty_dimensions, Vsplit_long_rows): + Ditto. + +1999-10-22 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::do_index_op): If + Vmax_recursion_depth is exceeded, call unwind_protect::run_frame + before returning. + +1999-10-21 John W. Eaton + + * cutils.c (do_octave_usleep): Handle useconds > 1e6. + + * variables.h (is_valid_function): Provide default values for the + string argument. + + * symtab.cc (variable_reference): Maybe print warning (or error) + about variables that hide functions of the same name. + (symbol_record::define (const octave_value&, unsigned int)): Ditto. + (Vvariables_can_hide_functions): New static variable. + (variables_can_hide_functions, symbols_of_symtab): New functions. + + * cutils.c: New file. + * Makefile.in (SOURCES): Add it to the list. + * utils.h: Declare octave_usleep here. + * dirfns.cc (Fls): Simply all octave_usleep. + * oct-procbuf.cc (octave_procbuf::open): Ditto. + * sysdep.cc (Fusleep): Ditto. + * toplev.cc (run_command_and_return_output): Ditto. + +1999-10-20 John W. Eaton + + * data.cc (make_diag (const octave_value&, const octave_value&)): + Delete special cases for scalars and simply attempt conversion of + first arg to a matrix value. If that fails, we will still see an + error message. + + * Makefile.in (DISTFILES): Add mkgendoc to the list. + +1999-10-19 John W. Eaton + + * Makefile.in (stmp-pic): New target. + ($(PICOBJS)): Depend on stmp-pic, not pic. + + * ov.h (get_rep): New function. + + * help.cc (display_help_text): Pass definitions for VERSION, + OCTAVE_HOME, and TARGETHOSTTYPE to makeinfo. + + * DLD-FUNCTIONS/getgrent.cc: Texinfoize all doc strings. + * DLD-FUNCTIONS/getpwent.cc: Ditto. + * DLD-FUNCTIONS/getrusage.cc: Ditto. + * DLD-FUNCTIONS/time.cc: Ditto. + + * defaults.cc (EXEC_PATH, OCTAVE_VERSION): Texinfoize doc strings. + * dirfns.cc (Fcd, Fls, Fpwd, Freaddir, Fmkdir, Frmdir, Frename, + Fglob, Ffnmatch): Ditto. + * file-io.cc (Fpopen, Fpclose, Fumask): Ditto. + * sysdep.cc (Fgetenv, Fputenv, Fpause, Fsleep, Fusleep, Fisieee, + Ftilde_expand): Ditto. + * toplev.cc (Fcomputer, Fsystem, Foctave_config_info): Ditto. + * utils.cc (Ffile_in_path): Ditto. + * syscalls.cc (Fdup2, Fexec, Ffcntl, Ffork, Fgetpgrp, Fgetpid, + Fgetppid, Fgetegid, Fgetgid, Fgeteuid, Fgetuid, Fmkfifo, Fpipe, + Fstat, Funlink, Fwaitpid, F): Ditto. + (Flstat): Refer to stat for doc. + + * help.cc (looks_like_texinfo): New function. + (display_help_text): Use it to see if the doc string looks like + Texinfo source. If so, use makeinfo to format the text before + displaying it. + + * mkgendoc: New script. + * Makefile.in: Use it to create gendoc.cc, which is compiled and + run to create DOCSTRINGS file from sources. + +1999-10-18 John W. Eaton + + * help.cc (help_from_info): Print `unable to find info' message if + try_info returns 127; otherwise, print `not indexed' message. + Don't sleep after printing `not indexed' message. + +1999-10-14 John W. Eaton + + * parse.y (fold (tree_unary_expression *)): New function. + (make_prefix_op, make_postfix_op): Use it. + +1999-10-13 John W. Eaton + + * Makefile.in (oct-gperf.h): Ask for ANSI-C output from gperf + (requires gperf-2.7 or later). + + * sighandlers.cc (sigwinch_handler): New function. + (install_signal_handlers): Install it. + +Thu Sep 23 19:49:36 1999 John W. Eaton + + * toplev.cc (Fsystem): For async case, use execl instead of + system, avoiding the need to exit after executing the subprocess. + +Thu Sep 9 17:09:23 1999 John W. Eaton + + * oct-stream.cc (get_size): Allow zero values. + (get_size): New arg, one_elt_size_spec. + (do_scanf_conv): New arg, `conv_count'. Change instantiation + requests and all callers. + (octave_base_stream::do_scanf): Improve scanning of strings. + (octave_base_stream::do_oscanf): Remove size limit on %s conversions. + + * oct-stream.cc (scanf_format_list::all_character_conversions): + Don't count %p as a character conversion. + +Tue Sep 7 08:31:04 1999 John W. Eaton + + * pr-output.cc (set_real_matrix_format, set_complex_matrix_format): + Move check for fixed_point_format ahead of check for + int_or_inf_or_nan. + +Thu Sep 2 11:54:51 1999 John W. Eaton + + * oct-obj.cc (make_argv): Correctly handle empty strings as args. + +Fri Aug 20 08:17:52 1999 John W. Eaton + + * DLD-FUNCTIONS/quad.cc (quad): Delete unused label. + + * unwind-prot.cc (saved_variable::~saved_variable): Don't try to + delete gen_ptr_value here. + +Mon Aug 16 21:34:33 1999 John W. Eaton + + * lex.l (next_token_is_sep_op): New function. + (handle_close_brace, maybe_unput_comma): Use it. + (have_continuation): Also handle CRLF here. + +Wed Aug 11 16:06:57 1999 John W. Eaton + + * file-io.cc (Ffopen): Make fopen ("filename") work and imply that + MODE = "r". + +Wed Jul 21 15:38:52 1999 John W. Eaton + + * help.cc (display_names_from_help_list): Sort names before + listing them. + (print_symbol_type, Ftype): Also handle built-in constants. + (LIST_SYMBOLS): Correct call to symbol_table::name_list. + (simple_help): List constants here too. List constants and + variables before functions, not after. Sort names before listing + them. + + * variables.cc (do_who): Display built-in constants in a separate + section. + + * error.cc (bind_global_error_variable, clear_global_error_variable): + Call bind_builtin_constant, not bind_builtin_variable to set + __error_text__. + * octave.cc (intern_argv): Likewise, for argv and __argv__. + + * defun.cc (install_builtin_constant): Move function guts to + bind_builtin_constant in variables.cc. + * variables.cc (bind_builtin_constant): New function. + + * symtab.cc (symbol_record::define, symbol_record::variable_reference): + Handle constants the same as functions. + (symbol_record::link_to_builtin_variable): New function. + (symbol_record::define_builtin_const): New function. + (symbol_record::define_as_fcn): Delete unused function. + (symbol_record::read_only_error): + Handle constants the same as variables. + * symtab.h (symbol_record::BUILTIN_CONSTANT): New enum value. + (symbol_record::symbol_type): Increase width to 7 bits. + (symbol_record::symbol_def::is_constant): New function. + (symbol_record::symbol_def::is_builtin_constant): New function. + (symbol_record::is_constant): New function. + (symbol_record::is_builtin_constant): New function. + (SYMTAB_ALL_TYPES): Add symbol_record::BUILTIN_CONSTANT. + * variables.cc (link_to_builtin_variable): Delete unused function. + (link_to_builtin_or_function): Handle built-in constants here too. + + * defun.cc (install_builtin_variable): Delete inst_as_fcn arg. + (install_builtin_constant): New function. + (install_builtin_variable_as_function): Delete unused function. + * defun.h (DEFVAR_INTERNAL): Delete inst_as_fcn arg. + (DEFCONST_INTERNAL): New macro. + * defun.h (DEFVAR): Delete inst_as_fcn arg. + (DEFCONST, DEFCONSTX): Define using DEFCONST_INTERNAL instead of + DEFVAR_INTERNAL. + * data.cc, defaults.cc, error.cc, help.cc, input.cc, lex.l, + load-save.cc, oct-hist.cc, oct-procbuf.cc, ov-fcn.h, + ov-usr-fcn.cc, ov.cc, pager.cc, parse.y, pr-output.cc, + pt-assign.cc, pt-decl.cc, pt-mat.cc, pt-plot.cc, pt-stmt.cc, + toplev.cc, variables.cc: + Change all invocations of DEFVAR to match new definition. + + * data.cc (symbols_of_data): Add DEFCONSTs for true and false. + +Thu Jul 15 10:59:42 1999 John W. Eaton + + * data.cc (Fis_bool, Fis_complex, Fisempty, Fisnumeric, Fis_list, + Fis_map, Fis_struct): Return bool object. + (Fisreal): New function. + + * ov-str-mat.h (octave_char_matrix_str): Only return true if + Vimplicit_str_to_num_ok is also true. + + * DLD-FUNCTIONS/time.cc (Ftime): Print usage message if any + arguments are supplied. + + * variables.cc (symbol_out_of_date): Call octave_time for time stamps. + + * fn-cache.h (octave_fcn_file_name_cache::timestamp): + Now octave_time object. + + * strftime.c: Move to liboctave directory. + * Makefile.in (DIST_SRC): Delete from list. + + * ov-usr-fcn.h (octave_user_function::t_parsed, + octave_user_function::t_checked): Now octave_time objects. + (octave_user_function::time_parsed, + (octave_user_function::time_checked): + Return value is now octave_time object. + (octave_user_function::mark_fcn_file_up_to_date)): + Arg is now octave_time object. + + * ov-fcn.h (octave_function::mark_fcn_file_up_to_date)): + Arg is now octave_time object. + (octave_function::time_parsed, octave_function::time_checked): + Return value is now octave_time object. + + * input.cc (Vlast_prompt_time): Now an octave_time object. + (octave_gets): Call octave_time::stamp() to set Vlast_prompt_time. + + * DLD-FUNCTIONS/time.cc (mk_tm_map, extract_tm, Ftime, Fgmtime, + Flocaltime, Fmktime, Fstrftime): Use new classes defined in + liboctave/oct-time.cc instead of accessing C functions directly. + +Wed Jul 14 17:38:46 1999 John W. Eaton + + * systime.h: Move to liboctave directory. + * Makefile.in (INCLUDES): Delete it from the list + +Tue Jul 13 14:34:57 1999 John W. Eaton + + * sighandlers.cc (sigchld_handler): Only wait for processes in + octave_child_list. + * toplev.cc (cmd_status): Delete unused static variable. + (cmd_death_handler): Delete unused function. + (run_command_and_return_output): Don't add cmd_death_handler to + octave_child_list. Simply extract command exit status from + calling close() on the procstream object. + +Mon Jul 12 22:38:50 1999 John W. Eaton + + * defun.h (DEFUN_MAPPER): Handle new args, d_b_map and c_b_map. + * defun-int.h (DEFUN_MAPPER_INTERNAL): Likewise. + * mappers.cc (install_mapper_functions): Supply new args to + all uses of DEFUN_MAPPER. + * ov-mapper.cc (octave_mapper::apply): Handle mapper functions + that return bool objects. + * ov-mapper.h (octave_mapper::d_b_mapper, octave_mapper::c_b_mapper): + New typedefs. + (octave_mapper::octave_mapper): Handle new mapper function types. + + * DLD-FUNCTIONS/minmax.cc: Do a better job of handling NaNs. + +Sun Jul 11 13:15:17 1999 John W. Eaton + + * pr-output.cc (do_plus_format (ostream&, double)): New function. + (octave_print_internal (ostream&, double, bool)): Use it. + (octave_print_internal (ostream&, const Matrix&, bool, int)): Ditto. + + * pr-output.cc (do_plus_format (ostream&, const Complex&)): + New function. + (octave_print_internal (ostream&, const Complex&, bool)): Use it. + (octave_print_internal (ostream&, const ComplexMatrix&, bool, int)): + Ditto. + +Sun Jun 20 23:04:00 1999 John W. Eaton + + * sysdep.cc: Include sys/ioctl.h if available. + +Sat Jun 19 12:07:16 1999 John W. Eaton + + * variables.cc (do_who): Make pattern and multiple non-option + arguments work. + +Mon Jun 7 09:54:51 1999 John W. Eaton + + * lex.l (next_token_is_bin_op, next_token_is_postfix_unary_op, + handle_number): Delete yytext arg. Change all callers. + (next_token_is_postfix_unary_op): Check the first character + obtained from yyinput before calling it again. + (next_token_is_bin_op): Do a more thorough check. + (handle_identifier): Also enter token in local symbol table if the + following token is a dot and it looks like a binary operator. + (whitespace_in_literal_matrix): Now static. + + * lex.l: Always use unput, not yyunput. + +Fri May 28 11:02:37 1999 John W. Eaton + + * DLD-FUNCTIONS/chol.cc (Fchol): If two output arguments, never + produce error message. + +Thu May 27 18:28:35 1999 John W. Eaton + + * DLD-FUNCTIONS/chol.cc (Fchol): Also return info as second output. + + * DLD-FUNCTIONS/minmax.cc (max (const ComplexMatrix&, const + ComplexMatrix&)): Correct test for real columns only. + (min (const ComplexMatrix&, const ComplexMatrix&)): Likewise. + +Wed Apr 14 12:54:25 1999 John W. Eaton + + * DLD-FUNCTIONS/dassl.cc (Fdassl): Prevent recursive calls. + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Likewise. + * DLD-FUNCTIONS/lsode.cc (Flsode): Likewise. + * DLD-FUNCTIONS/quad.cc (Fquad): Likewise. + + * file-io.cc (Fsscanf, Ffscanf): Doc fix. + +Sat Mar 27 11:07:51 1999 John W. Eaton + + * ov.h (octave_value::count): New function. + * symtab.cc (symbol_record::dump_symbol_info): New function. + * symtab.cc (symbol_record::symbol_def::dump_symbol_info): Ditto. + * variables.cc (F__dump_symbol_info__): Ditto. + + * pt-misc.cc (tree_parameter_list::clear): New function. + * ov-usr-fcn.h (octave_user_function::clear_args_passed): Ditto. + * ov-usr-fcn.cc (clear_param_list): New function. + (clear_args_passed): New function. + (octave_user_function::do_index_op): Use them to decrement + reference counts on local variables. + +Fri Mar 26 00:51:53 1999 John W. Eaton + + * Makefile.in (libraries): Use the libfoo.a(objects) method of + creating static libs. + + * defaults.cc (symbols_of_defaults): Initialize LOADPATH to + Vload_path, not ":". + +Thu Mar 18 12:09:23 1999 John W. Eaton + + * data.cc (Fisnumeric): Fix typo. + +Thu Mar 4 02:17:04 1999 James Macnicol + + * file-io.cc (Ffread, Ffwrite): Add uint16 and uint32 data types + to doc string. + +Wed Mar 3 11:55:17 1999 John W. Eaton + + * lex.l (handle_string): Allow "" to pass through unchanged if + working on a gset command. + +Tue Mar 2 01:36:29 1999 John W. Eaton + + * variables.cc (Fexist): If a variable isn't defined, only go on + to look for a global by the same name if we are at the top level. + +Fri Jan 29 02:18:36 1999 John W. Eaton + + * version.h (OCTAVE_NAME_AND_VERSION): Say `GNU Octave', not just + Octave. + +Thu Jan 28 21:29:16 1999 John W. Eaton + + * toplev.cc (Fcomputer): Use CANONICAL_HOST_TYPE, not TARGET_HOST_TYPE. + (octave_config_info): Likewise. + * version.h: Ditto. + + * sysdep.cc (Fpause): Flush output before getting user input. + +Wed Jan 27 14:18:29 1999 John W. Eaton + + * Makefile.in (DEFFUN_PATTERN, DEFVAR_PATTERN): Use egrep again. + Make the patterns work with stupid egreps that don't like empty + elements in alternation patterns. + +Fri Jan 22 04:41:48 1999 John W. Eaton + + * load-save.cc (save_ascii_data): Check for string type first, + then range, then the rest. + (save_binary_data): Ditto. + + * pager.cc (more_than_a_screenful): Accept length as second arg. + Handle long lines properly, assuming the terminal wraps long lines. + (octave_pager_buf::do_sync): Accept length of data as second arg. + Use write instead of << to put characters on output stream. + (octave_pager_buf::sync): Don't assume data ends at first NUL. + (octave_diary_buf::sync): Ditto. + +Thu Jan 21 22:15:23 1999 John W. Eaton + + * load-save.cc (save_mat_binary_data): Check for string type + first, then range, then the rest. + +Wed Jan 20 12:01:14 1999 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): Handle short and + long ints correctly. + +Fri Jan 15 13:04:58 1999 John W. Eaton + + * parse.y (end_error): Handle case of endswitch too. + + * Makefile.in: Use basic regular expressions and grep instead of + egrep to find files that contain DEFVAR, DEFCONST, or DEFUN. + +Wed Dec 9 14:14:11 1998 John W. Eaton + + * Makefile.in (octave): Add $(RDYNAMIC_FLAG) to link command. + +Fri Dec 4 20:26:33 1998 John W. Eaton + + * DLD-FUNCTIONS/time.cc (Fstrftime): Make it work even when not + using the GNU version of strftime, which allows passing NULL for + the buffer to determine the required size of the buffer. + +Wed Dec 2 22:38:40 1998 John W. Eaton + + * utils.cc (file_in_loadpath): Expect argc == 2, not 3. + +Tue Nov 24 23:38:19 1998 Eric Norum + + * mkbuiltins: Also strip off leading `./' from file names. + * mkops: Ditto. + +Tue Nov 24 23:24:26 1998 John W. Eaton + + * strftime.c: Surround everything with #ifdef HAVE_STRFTIME / #endif. + + * lex.h (YY_FATAL_ERROR): Call yy_falta_error after + jump_to_top_level to avoid gcc warning. + +Fri Nov 20 13:34:47 1998 John W. Eaton + + * ov-bool.h, ov-bool.cc (class octave_bool): Derive from + octave_base_scalar and get common functions via derivation. + * ov-scalar.h, ov-scalar.cc (class octave_scalar): Ditto. + * ov-complex.h, ov-complex.cc (class octave_complex): Ditto. + + * ov-base-scalar.h, ov-base-scalar.cc (class octave_base_scalar): + New files for new class definition. Put common scalar data type + stuff here. + * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists. + +Thu Nov 19 14:30:25 1998 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::mangle_name): + Prepend underscore here. + (octave_dynamic_loader::load_fcn_from_dot_oct_file): Not here. + + * ov-re-mat.h (octave_matrix_value): Delete experimental code for + handling structure references for things like .rows, .cols, etc. + +Wed Nov 18 01:18:46 1998 John W. Eaton + + * Makefile.in (VAR_FILES): Be more careful about matching. + (DEF_FILES): Likewise. + + * ov-base-mat.h, ov-base-mat.cc, ov-bool-mat.h, ov-bool-mat.cc, + ov-ch-mat.h, ov-ch-mat.cc, ov-cx-mat.h, ov-cx-mat.cc, + ov-re-mat.h, ov-re-mat.cc: Move default definition of all, any, + is_matrix_type, is_numeric_type, valid_as_zero_index, and + do_index_op to base class. + Provide definitions that override the defaults where necessary. + + * mappers.cc: Don't include lo-specfun.h. + +Tue Nov 17 14:35:56 1998 John W. Eaton + + * besselj.cc (Fbesselh, Fairy); New functions. + (Fbesselj, Fbessely, Fbesselk, Fbesseli): Update doc strings. + (do_bessel): Handle additional args. + +Fri Nov 13 14:47:11 1998 John W. Eaton + + * lex.l (NUMBER): Allow hexadecimal constants. + (looks_like_hex): New function. + (handle_number): Check for hexadecimal constants and convert them + to unsigned integer values. + +Thu Nov 12 11:13:24 1998 John W. Eaton + + * input.cc (gnu_readline): Check for EOF from command_editor::readline. + + * ov-str-mat.h, ov-str-mat.cc (class octave_char_matrix_str): + Get common functions via new derivation scheme. + + * ov-bool-mat.h, ov-bool-mat.cc (class octave_bool_matrix): + Derive from octave_base_matrix and get common functions via derivation. + * ov-ch-mat.h, ov-ch-mat.cc (class octave_char_matrix): Ditto. + * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto. + * ov-re-mat.h, ov-re-mat.cc (class octave_real_matrix): Ditto. + + * ov-base-mat.h, ov-base-mat.cc (class octave_base_matrix): New + files for new class definition. Put common matrix data type + stuff here. + + * ov-list.cc (Fnth): New function. + + * ov-list.cc (octave_list::do_index_op): Allow more complex indexing. + + * oct-obj.cc (octave_value_list::index): New function. + (octave_value_list::octve_value_list (Array)): + New private constructor. + + * ov-list.cc (Fsplice): Fix docstring to match. + * oct-obj.cc (octave_value_list::splice): Allow special case + splice (x, length(x)+1, 0, y) to be equivalent to append (x, y). + + * ov-list.cc (Fappend): If an arg is a list, concatenate the lists + instead of appending arg as a single element. + +Wed Nov 11 14:07:27 1998 John W. Eaton + + * load-save.cc (get_mat_data_input_line): New function. + (get_lines_and_columns): Use it here. + (read_mat_ascii_data): And here and do our own reading instead of + using Matrix::operator<<. + +Tue Nov 10 16:12:25 1998 John W. Eaton + + * parse.y (make_constant): Initialize retval to 0. + + * toplev.h (clean_up_and_exit (void)): Delete declaration. + * toplev.cc (do_octave_atexit): Move guts of clean_up_for_exit + here, but ensure that the actions are only executed once. + * octave.cc (main): Don't register cleanup_tmp_files with atexit. + + * ov.h, ov.cc (class octave_value): Use DECLARE_OCTAVE_ALLOCATOR + and DEFINE_OCTAVE_ALLOCATOR for uniform declaration and definition + of allocator functions. Use DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA + and DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA for uniform declaration + and definition of type id functions and data. + * ov-usr-fcn.h, ov-usr-fcn.cc (class octave_user_function): Ditto. + * ov-scalar.h, ov-scalar.cc (class octave_scalar): Ditto. + * ov-re-mat.h ov-re-mat.cc (class octave_matrix): Ditto. + * ov-range.h, ov-range.cc (class octave_range): Ditto. + * ov-mapper.h, ov-mapper.cc (class octave_mapper): Ditto. + * ov-list.h, ov-list.cc (class octave_list): Ditto. + * ov-file.h, ov-file.cc (class octave_file): Ditto. + * ov-fcn.h, ov-fcn.cc (class octave_function): Ditto. + * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto. + * ov-complex.h, ov-complex.cc (class octave_complex): Ditto. + * ov-ch-mat.h, ov-ch-mat.cc (octave_char_matrix): Ditto. + * ov-builtin.h, ov-builtin.cc (class octave_builtin): Ditto. + * ov-bool.h, ov-bool.cc (class octave_bool): Ditto. + * ov-bool-mat.h, ov-bool-mat.cc (octave_bool_matrix): Ditto. + + * ov.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA): New macro. + (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Ditto. + +Mon Nov 9 16:12:37 1998 John W. Eaton + + * pr-output.cc (octave_print_internal): Reorder default args for + charMatrix version. + (octave_print_internal): New function for boolMatrix. + + * version.h (OCTAVE_STARTUP_MESSAGE): Note that this is a + development release. + + * toplev.cc (do_octave_atexit): Call flush_octave_stdout here. + (clean_up_for_exit): And here. + +Mon Nov 9 15:20:53 1998 John W. Eaton + + * input.cc (get_user_input): Check retval.length(), not retval.length. + +Sun Nov 8 19:30:33 1998 John W. Eaton + + * pt-assign.cc (tree_simple_assignment::rvalue): If etype is + asn_eq, don't evaluate ult again because retval is just rhs value. + (tree_multi_assignment::rvalue): Likewise. + +Fri Nov 6 12:14:29 1998 John W. Eaton + + * pt-loop.cc (tree_for_command::eval): Move code for string RHS + outside if clause for matrix types. + + * pt-idx.cc: Don't forget to define arg_nm. + Move contstructor here. + * pt-idx.h: From here. + + * data.cc (Fisempty): Also return true for empty strings. + +Wed Nov 4 17:21:41 1998 John W. Eaton + + * ov-base.cc (octave_base_value::rows, octave_base_value::columns, + octave_base_value::length): Delete. + * ov-base.h (octave_base_value::rows, octave_base_value::columns, + octave_base_value::length): Define here. All return -1 if not + defined in a derived class. + + * data.cc (Fis_matrix): Also return true if the arg is a range. + +Tue Nov 3 09:40:24 1998 John W. Eaton + + * data.cc (Fis_bool): New function. + Also add alias for islogical. + + * ov.h (octave_value::is_bool_type): New function. + * ov-base.h (octave_base_value::is_bool_type): Likewise. + * ov-bool.h (octave_bool::is_bool_type): Likewise. + * ov-bool-mat.h (octave_bool_matrix::is_bool_type): Likewise. + +Mon Nov 2 13:36:04 1998 John W. Eaton + + * lex.l (handle_close_brace): Also handle case of ']' followed by + other assignment ops (+=, -=, ...). + + * pt-assign.cc (tree_simple_assignment::rvalue): Correctly handle + return value and printing for operators other than `='. + (tree_multi_assignment::rvalue): Likewise. + + * pt-assign.h (tree_multi_assignment::etype): New data member. + * pt-assign.cc (tree_multi_assignment::rvalue): Use it instead of + assuming `='. + (tree_multi_assignment::oper): New function. + * pt-pr-code.cc (tree_print_code::visit_multi_assignment): Use + it instead of always printing `='. + * parse.y (make_assign_op): Pass expression type to + tree_multi_assignment constructor. + + * Makefile.in (stmp-pic): New target. + ($(PICOBJ)): Depend on stmp-pic, not pic. + (clean): Delete stmp-pic. + +Sun Nov 1 23:24:55 1998 John W. Eaton + + * mappers.cc (install_mapper_functions): Add alias for isfinite. + +Sat Oct 31 08:46:55 1998 John W. Eaton + + * data.cc (Fisnumeric): New function. + +Fri Oct 30 08:39:30 1998 John W. Eaton + + * oct-lvalue.cc (octave_lvalue::do_unary_op): Make it work for + indexed ops too. + * ov.cc (octave_value::unary_op_to_assign_op): New function. + (octave_value::do_non_const_unary_op): New function for indexed ops. + + * parse.y (LEFTDIV_EQ, ELEFTDIV_EQ): New tokens. + (assign_expr): Add rules for them. + (make_assign_op): Handle them here too. + * lex.l: Recognize them. + * ov.h (octave_value::assign_op): Add ldiv_eq and el_ldiv_eq. + * ov.cc (octave_value::assign_op_as_string): Ditto. + (octave_value::op_eq_to_binary_op): Ditto. + (octave_value::assign): Handle OP= style operators with brute force. + (octave_value::simple_assign): New function. + + * parse.y (matrix): Dont' forget to reset + lexer_flags.looking_at_matrix_or_assign_lhs. + + * oct-lvalue.cc (octave_lvalue::assign): Don't call change + function if error occurs. + (octave_lvalue::do_unary_op): If we have an index, fail with message. + +Thu Oct 29 09:27:04 1998 John W. Eaton + + * ov.cc (do_binary_op): Protect against invalid type conversions. + (try_assignment_with_conversion): Likewise. + (do_unary_op): Likewise. + + * ov.h (OV_UNOP_FN, OV_UNOP_OP, OV_UNOP_FN_OP): New macros. + Use them to define not, uminus, transpose, hermitian functions + and operators ! and -. + (OV_BINOP_FN, OV_BINOP_OP, OV_BINOP_FN_OP): New macros. + Use them to define add, sub, mul, div, pow, ldiv, lshift, rshift, + lt, le, eq, ge, gt, ne, el_mul, el_div, el_pow, el_ldiv, el_and, + el_or, struct_ref, functions and operators <, <=, ==, >=, >, !=, + +, -, *, and /. + + * ops.h (CONVDECLX): New macro. + * ov-base.cc (matrix_conv, complex_matrix_conv, string_conv): + Use it to declare these functions. + + * ops.h (CONVDECL, INSTALL_WIDENOP): + Prefix function name with `oct_conv_'. + (INSTALL_BINOP, BINOPDECL): Prefix function name with `oct_binop_'. + (INSTALL_ASSIGNOP, INSTALL_ASSIGNANYOP, ASSIGNOPDECL): + Prefix function name with `oct_assignop_'. + (UNOPDECL, DEFNCUNOP_METHOD, INSTALL_UNOP, INSTALL_NCUNOP): + Prefix function name with `oct_unop_'. + + * ov-str-mat.cc (default_numeric_conversion_function): + Return 0 if conversion fails. + + * parse.y (make_prefix_op, make_postfix_op): Use + octave_value::unary_op enum. + + * pt-unop.cc (tree_prefix_expression::rvalue): Use new unary_op + functions from octave_value and octave_lvalue classes. + (tree_prefix_expression::rvalue): Likewise. + + * pt-unop.cc (tree_unary_expression::oper): Move here. + (tree_prefix_expression::oper, tree_postfix_expression): From here. + + * pt-unop.h (tree_prefix_expression, tree_postfix_expression): + Delete enums. + (tree_unary_expression): Use octave_value::unary_op enum. + * parse.y (make_prefix_op, make_postfix_op): Likewise. + + * oct-lvalue.h (octave_lvalue::do_unary_op): New function. + (octave_lvalue::increment, octave_lvalue::decrement): Delete. + + * ov-typeinfo.h (octave_value_typeinfo::non_const_unary_ops): + New data member. + * ov-typeinfo.h (octave_value_typeinfo::lookup_non_const_unary_op): + New function. + * ov-typeinfo.cc (octave_value_typeinfo::register_non_const_unary_op): + New function. + (octave_value_typeinfo::do_register_non_const_unary_op): Ditto. + (octave_value_typeinfo::do_lookup_non_const_unary_op): Ditto. + + * ov.cc (octave_value::do_non_const_unary_op): New function. + + * Makefile.in (OP_XSRC): Add op-chm.cc and op-range.cc to the list. + + * OPERATORS/op-str-str.cc: Define string matrix unary operators here. + (install_str_str_ops): Install them here. + * ov-bool-mat.h (octave_bool_matrix::transpose, + octave_bool_matrix_value::hermitian): Delete. + + * OPERATORS/op-chm.cc: New file. Define char matrix unary operators. + (install_chm_ops): Install them here. + * ov-ch-mat.h (octave_char_matrix::transpose, + octave_char_matrix_value::hermitian): Delete. + * ops.cc (install_ops): Call install_chm_ops. + + * OPERATORS/op-bm-bm.cc: Define bool matrix unary operators here. + (install_bm_bm_ops): Install them here. + * ov-bool-mat.h (octave_bool_matrix::transpose, + octave_bool_matrix_value::hermitian): Delete. + + * ov-bool.h (octave_bool::not, octave_bool::uminus, + octave_bool::transpose, octave_bool::hermitian): Delete. + + * OPERATORS/op-cs-cs.cc: Define complex scalar unary operators here. + (install_cs_cs_ops): Install them here. + * ov-complex.h (octave_complex::not, octave_complex::uminus, + octave_complex::transpose, octave_complex::hermitian): Delete. + + * OPERATORS/op-cm-cm.cc: Define complex matrix unary operators here. + (install_cm_cm_ops): Install them here. + * ov-cx-mat.h (octave_complex_matrix::not, + octave_complex_matrix::uminus, octave_complex_matrix::transpose, + octave_complex_matrix::hermitian): Delete. + + * OPERATORS/op-m-m.cc: Define matrix unary operators here. + (install_m_m_ops): Install them here. + * ov-re-mat.h (octave_matrix::not, octave_matrix::uminus, + octave_matrix::transpose, octave_matrix::hermitian): Delete. + + * OPERATORS/op-range.cc: New file. Define range unary operators. + (install_range_ops): Install them here. + * ov-range.h (octave_range::not, octave_range::uminus, + octave_range::transpose, octave_range::hermitian): Delete. + * ops.cc (install_ops): Call install_range_ops. + + * OPERATORS/op-s-s.cc: Define scalar unary operators here. + (install_s_s_ops): Install them here. + * ov-scalar.h (octave_scalar::not, octave_scalar::uminus, + octave_scalar::transpose, octave_scalar::hermitian): Delete. + + * ops.h (INSTALL_UNOP, CAST_UNOP_ARG, UNOPDECL, DEFUNOPX, DEFUNOP, + DEFUNOP_OP, DEFUNOP_FN): New macros. + + * ov.h (unary_op_fcn): New typedef. + (octave_value::unary_op): New enum. + * ov.cc (octave_value::octave_value): New function. + + * ov.h (octave_value::not, octave_value::uminus, + octave_value::transpose, octave_value::hermitian, + octave_value::increment, octave_value::decrement): Delete. + + * ov-base.cc (octave_base_value::not, octave_base_value::uminus, + octave_base_value::transpose, octave_base_value::hermitian, + octave_base_value::increment, octave_base_value::decrement): Delete. + + * ov.cc (gripe_unary_op): New function. + (do_unary_op): New function. + * ov-typeinfo.h (octave_value_typeinfo::unary_ops): + New data member. + * ov-typeinfo.cc (octave_value_info::register_unary_op, + octave_value_info::do_register_unary_op, + octave_value_info::lookup_unary_op, + octave_value_info::do_lookup_unary_op): + New functions. + + * ov-list.cc (Fsplice): Use new octave_value::int_value function here. + (octave_list::do_index_op): Likewise. + (octave_list::assign): Likewise. + * toplev.cc (Fquit): Likewise. + * syscalls.cc (Fwaitpid): Likewise. + (Ffcntl): Likewise. + * file-io.cc (do_fread): Likewise. + (do_fwrite): Likewise. + * data.cc (make_diag): Likewise. + (Fsize): Likewise. + (get_dimensions): Likewise. + (Flinspace): + + * ov-base.cc (octave_base_value::int_value): New function. + (octave_base_value::nint_value): Ditto. + * ov.h (octave_value::int_value): Ditto. + (octave_value::nint_value): Ditto. + + * ov-list.cc (octave_list::assign): Fix off-by-one error. + +Wed Oct 28 11:01:37 1998 John W. Eaton + + * load-save.cc (read_mat_ascii_data): Try harder to convert file + name to valid variable name. + + * data.cc (Fisempty, Fis_matrix): New functions. + + * ov-str-mat.h (octave_char_matrix_str::is_matrix_type): New function. + + * OPERATORS/op-list.cc: New file. + * Makefile.in (OP_XSRC): Add it to the list. + + * ov-list.cc (octave_list::assign): New function. + + * ov-typeinfo.h (octave_value_typeinfo::assignany_ops): + New data member. + * ov-typeinfo.cc (octave_value_info::register_assignany_op, + octave_value_info::do_register_assignany_op, + octave_value_info::lookup_assignany_op, + octave_value_info::do_lookup_assignany_op): + New functions. + * ov.cc (octave_value::try_assignment (octave_value::assign_op, + const octave_value_list&, const octave_value&)): If no assignment + operator for particular RHS type exists, try finding one for + generic octave_value as RHS type. + * ops.h (DEFASSIGNANYOP_FN): New macro. + + * ov-list.cc (Fsplice): New function. + * oct-obj.cc (octave_value_list::splice): New function. + + * ov.cc (Vresize_on_range_error): No longer static. + * ov.h (Vresize_on_range_error): Provide extern declaration. + + * oct-procbuf.cc (symbols_of_oct_procbuf): Don't declare static. + + * data.cc (Flength): New function. + * ov.h (octave_value::length): New virtual function. + * ov-base.cc (octave_base_value::length): New function. + (octave_base_value::rows, octave_base_value::columns): Move + definitions here, from ov-base.h. Don't return -1. Instead, + gripe about wrong argument type. + * ov-bool-mat.h (octave_bool_matrix::length): New function. + * ov-bool.h (octave_bool::length): Ditto. + * ov-ch-mat.h (octave_char_matrix::length): Ditto. + * ov-complex.h (octave_complex::length): Ditto. + * ov-cx-mat.h (octave_complex_matrix::length): Ditto. + * ov-list.h (octave_list::length): Ditto. + * ov-range.h (octave_range::length): Ditto. + * ov-re-mat.h (octave_matrix::length): Ditto. + * ov-scalar.h (octave_scalar::length): Ditto. + +Tue Oct 27 22:19:24 1998 John W. Eaton + + * ov-list.cc (octave_list::print_raw): Handle case of empty list. + (octave_list::print_name_tag): Likewise. + + * octave.cc (intern_argv): Built-in variable argv is now a list of + strings instead of a string vector. + Always bind argv, making it an empty list if there are no args. + +Mon Oct 26 08:41:46 1998 John W. Eaton + + * xdiv.cc (mx_leftdiv_conform): Explicitly declare args to be + passed as references to const objects. Fix explicit instantiation + requests to match. + (mx_div_conform): Likewise. + + * pt-unop.h (tree_prefix_expression): Reorder constructor args to + put those with default values last. + (tree_postfix_expression): Likewise. + * parse.y: Change all callers. + +Fri Oct 23 12:07:32 1998 John W. Eaton + + * utils.cc (Ffile_in_loadpath): New function. + + * defaults.cc (Vload_path, Vdefault_load_path): Now static. + + * help.cc (simple_help): Use Vload_path_dir_path here instead of + trying to reconstruct it from Vload_path. + * fn-cache.cc (octave_fcn_file_name_cache::do_list): Likewise. + (octave_fcn_file_name_cache::update): Likewise. + + * defaults.cc (octave_loadpath): Construct Vload_path_dir_path + using Vdefault_load_path. + (set_default_path): Likewise. + + * defaults.h, defaults.cc (maybe_add_default_load_path): Delete. + + * defaults.cc (Vdefault_load_path): New static variable. + (set_default_path): Set it. + (maybe_add_default_load_path): Use it. + (symbols_of_defaults): Add DEFCONST for DEFAULT_LOADPATH. + Thanks to Rafael Laboissiere . + + * defaults.cc (set_default_path): If OCTAVE_PATH is set in the + environment, call maybe_add_default_load_path on it. + +Tue Oct 20 20:58:04 1998 John W. Eaton + + * defaults.cc (maybe_add_default_load_path): If LOADPATH contains + an embedded "::", insert the default path there too. + +Fri Oct 16 00:52:15 1998 John W. Eaton + + * parse.y (in_matrix_or_assign_lhs): New subroutine for lexical + feedback. + (matrix): Use it. + (assign_lhs): Ditto. + * lex.h (lexical_feedback::looking_at_matrix_or_assign_lhs): New + data member. + * lex.l (handle_identifier): Use it to handle keywords like `cd' + as variables in contexts like [ab, cd] = foo (). + + * ov-str-mat.h + (octave_char_matrix_str::octave_char_matrix_str (char c)): + New constructor. + * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (char c)): + New constructor. + * ov.cc (octave_value::octave_value (char c): New constructor. + + * pt-loop.cc (tree_simple_for_command::eval): Handle case of RHS + as string. + +Thu Oct 15 00:56:47 1998 John W. Eaton + + * DLD-FUNCTIONS/rand.cc: Declare Fortran subroutines as returning + int, not int*. + +Wed Oct 14 23:51:31 1998 Georg Thimm + + * load-save.cc (Vcrash_dumps_octave_core): New static variable. + (save_user_variables): Only save variables if + Vcrash_dumps_octave_core is true. + (symbols_of_load_save): Add DEFVAR for it here. + (crash_dumps_octave_core): New function. + * octave.cc (maximum_braindamage): Bind crash_dumps_octave_core to + 0.0 here. + +Tue Oct 13 22:05:55 1998 John W. Eaton + + * input.cc (read_readline_init_file): New function. + +Thu Oct 8 13:47:55 1998 John W. Eaton + + * oct-procbuf.h (octave_procbuf::wstatus): New data member. + Initialize in constructors. + (octave_procbuf::wait_status): New member function. + * oct-procbuf.cc (octave_procbuf::sys_close): Use class data + member wstatus, not local variable. + * procstream.cc (procstreambase::close): Don't call sys_close directly. + Get subprocess exit status by calling wait_status for our procbuf. + * pt-plot.cc (close_plot_stream): Send "quit" command to gnuplot + before deleting plot_stream. + +Thu Oct 1 22:39:44 1998 John W. Eaton + + * data.cc (Fis_complex): New function. + +Fri Sep 25 11:50:44 1998 John W. Eaton + + * load-save.cc (write_header): Rename from write_binary_header. + Also write header for Octave ASCII files. + + * load-save.cc (Fsave): Implement -append option. + + * defaults.cc (Frehash): New function. + +Fri Sep 25 11:50:44 1998 John W. Eaton + + * help.cc (help_from_info): Improve error message in case that + info doesn't work. + +Thu Sep 24 10:48:12 1998 John W. Eaton + + * Makefile.in (DLD_XSRC): Replace qzval.cc with qz.cc + + * DLD-FUNCTIONS/balance.cc: Update from A. S. Hodel + . + + * DLD-FUNCTIONS/qz.cc: New file. + + * DLD-FUNCTIONS/qzval.cc: Delete. + + * parse.y (plot_command1): Don't allow it to be empty. + (plot_command): Handle simple `PLOT' and `PLOT ranges' as special + cases here. + +Wed Sep 23 21:10:08 1998 John W. Eaton + + * lex.l: Change {SNLCMT}*\n{SNLCMT}* pattern + to {S}*{COMMENT}{SNLCMT}* | {S}*{NL}{SNLCMT}*. + +Fri Sep 4 10:50:00 1998 John W. Eaton + + * file-io.cc (Ffwrite): Fix doc string. + +Wed Sep 2 16:22:23 1998 John W. Eaton + + * input.cc (match_sans_spaces): Make it work. + + * toplev.cc (quit): Require nargout == 0. + + * input.cc (get_user_input): Only try matching "exit", "quit", and + "return" if debugging. + +Tue Sep 1 12:50:24 1998 John W. Eaton + + * octave.cc: Use -H as single character equivalent of --no-history. + +Sat Aug 29 12:23:12 1998 John W. Eaton + + * oct-obj.cc (octave_value_list::make_argv): If some values are + string vectors, insert all the elements, not just the first. + +Tue Aug 18 16:39:50 1998 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_gets): Accept last line of + file even if it doesn't end in a newline character. + +Tue Aug 18 16:25:49 1998 Mumit Khan + + * xdiv.cc (mx_leftdiv_conform, mx_div_conform): Instantiate correct + templates. + +Thu Jul 30 00:37:43 1998 John W. Eaton + + * pt-loop.cc (tree_for_command::eval): Check for range first. + If error occurs when extracting matrix value, return early. + Don't bother to check for string type. + + * ov-ch-mat.h (octave_char_matrix::is_real_matrix): New function. + +Tue Jun 23 15:09:54 1998 John W. Eaton + + * parse.y (clear_current_script_file_name): New function. + (parse_fcn_file): Bind current_script_file_name while script is + executing. Use unwind_protect to clear it once the script is + finished. + + * pt-plot.cc (Fgraw): New function. + +Mon Jun 22 22:13:38 1998 John W. Eaton + + * variables.cc (is_valid_function): Provide version that takes + function name as string. + + * parse.y (binary_expr): Fix thinko that resulted in incorrect + evaluation of -x^y. Thanks to Richard Allan Holcombe + . + (feval): Don't attempt to copy nonexistent arg names. + +Mon Jun 22 21:35:50 1998 Richard Allan Holcombe + + * xpow.cc (xpow): Improve efficiency for matrix^(scalar int) case. + +Thu Jun 4 12:42:46 1998 John W. Eaton + + * ov-usr-fcn.cc (octave_user_function::octave_all_va_args): + If num_args_passed < num_named_args, create zero length list. + +Thu May 14 16:23:15 1998 John W. Eaton + + * DLD-FUNCTIONS/getrusage.cc: Include sys/types.h too. + +Mon May 11 00:38:45 1998 John W. Eaton + + * pager.cc (Fdiary): Don't forget to set write_to_diary file if + just given a file name. + + * input.cc (octave_gets): Only send new line character to + octave_diary if current_input_line is empty or doesn't already end + with a new line character.. + Don't send input from function files or scripts to octave_diary. + +Sun May 3 19:54:38 1998 John W. Eaton + + * lex.l (reset_parser): Also call yyrestart if forced_interactive + is true, but not if input_from_startup_file is true. + +Tue Apr 28 14:06:20 1998 John W. Eaton + + * oct-procbuf.cc (Vkluge_procbuf_delay): New static variable. + (kluge_procbuf_delay): New function. + (symbols_of_oct_procbuf): New function. + (octave_procbuf::open): Delay Vkluge_procbuf_delay microseconds + after forking. + +Thu Apr 23 15:41:08 1998 John W. Eaton + + * defaults.cc (Vload_path_dir_path): New variable. + * utils.cc (file_in_path): Use it. + + * utils.cc (search_path_for_file): Undo previous change. + (file_in_path): Undo previous change. + * defaults.cc (loadpath): Undo previous change. Tilde expansion + is once again handled correctly by the code in + liboctave/pathsearch.cc. + +Mon Apr 20 21:50:34 1998 John W. Eaton + + * data.cc (get_dimensions): Allow zeros ([], 3) to work, for + compatibility with Matlab. + + * dynamic-ld.cc [WITH_DL && ! HAVE_DLFCN_H]: Add declarations for + dlopen, dlerror, dlsym, and dlclose. + + * octave.gperf: Handle __FILE__ and __LINE__. + * lex.l (is_keyword): Likewise. + * Makefile.in (oct-gperf.h): Pass -D option to gperf. + Postprocess output of gperf to convert name of static variable + from lookup to gperf_lookup, to avoid conflict with our function + of the same name defined in variables.cc. + +Sat Apr 18 20:17:10 1998 John W. Eaton + + * help.cc (USE_GNU_INFO): Delete uses of this macro. + +Thu Apr 16 01:00:12 1998 John W. Eaton + + * dynamic-ld.cc: Only include dlfcn.h if HAVE_DLFCN_H. + +Wed Apr 15 01:03:05 1998 John W. Eaton + + * input.cc (Vlast_prompt_time): New global variable. + (octave_gets): Set it. + * ov-fcn.h (octave_function::time_checked): New virtual function + (octave_function::mark_fcn_file_up_to_date): Ditto. + * ov-usr-fcn.h (octave_user_function::time_checked): New function. + (octave_user_function::mark_fcn_file_up_to_date): Ditto. + (octave_user_function::t_checked): New data member. + * variables.cc (symbol_out_of_date): Only check file time stamp if + a prompt has been printed since the last time check. + + * pt-plot.h, pt-plot.cc (subplot_axes): New class. + (subplot): Handle axes. + (Vgnuplot_command_axes): New static variable. + (gnuplot_command_axes): New function. + (symbols_of_pt_plot): DEFVAR gnuplot_command_axes. + * pt-walk.h (tree_walker::visit_subplot_axes): New virtual function. + * parse.y (plot_options): Handle axes. + * lex.l (plot_axes_token): New function. + (is_keyword): Use it. + (is_plot_keyword): Recognize "axes" and "axis". + * lex.h (class lexical_feedback): New field, in_plot_axes. + (lexical_feedback::init): Reset it. + +Tue Apr 14 23:32:27 1998 John W. Eaton + + * parse.y (parse_fcn_file): New arg, force_script. Change callers. + +Fri Apr 10 11:01:27 1998 John W. Eaton + + * help.cc (type): Also print values of variables. + +Wed Apr 8 01:00:58 1998 John W. Eaton + + * pr-output.cc (set_format): Set scale to 1.0 if all elements are + int or inf or nan. + + * parse.y (Vwarn_future_time_stamp): New variable. + (symbols_of_parse): Add DEFVAR for it. + (warn_future_time_stamp): New function. + (frob_function_def): Maybe warn about files with future time stamps. + +Thu Apr 2 20:43:45 1998 John W. Eaton + + * pt-arg-list.cc (tree_argument_list::convert_to_const_vector): In + error messages, print element numbers starting with 1, not 0. + +Sat Mar 28 15:25:44 1998 John W. Eaton + + * toplev.cc (clean_up_for_exit): New function. + (clean_up_and_exit): Use it. + * sighandlers.cc (my_friendly_exit): Call it instead of + clean_up_and_exit, then do default action for signal. + + * sighandlers.cc (octave_new_handler): Call my_friendly_exit with + signal set to SIGABRT if it is defined, or -1 otherwise. + + * error.cc (verror): Fix thinko in attempt to skip `error: ' tag + when buffering error messages. + * pt-except.cc (tree_try_catch::eval): Reset buffer_error_messages + here if just discarding unwind_protect frame. + +Wed Mar 18 12:35:18 1998 John W. Eaton + + * xpow.cc (elem_xpow): For real-scalar .^ matrix case, result is + complex only if real-scalar is negative and matrix has some + non-integer values. + +Tue Mar 17 17:47:50 1998 John W. Eaton + + * pt-plot.cc (Vgnuplot_command_plot, Vgnuplot_command_replot, + Vgnuplot_command_splot, Vgnuplot_command_using, + Vgnuplot_command_with, Vgnuplot_command_title, + Vgnuplot_command_end): New static variables. + (symbols_of_pt_plot): DEFVAR them. + (gnuplot_command_plot, gnuplot_command_replot, + gnuplot_command_splot, gnuplot_command_using, + gnuplot_command_with, gnuplot_command_title, + gnuplot_command_end): New functions. + (open_plot_stream, send_to_plot_stream, tree_plot_command::eval, + subplot_using::print, subplot_style::print, subplot::print, + do_external_plotter_cd, Fgset, Fgshow): Use them instead of the + GPLOT_CMD_PLOT, GPLOT_CMD_REPLOT, GPLOT_CMD_SPLOT, + GPLOT_CMD_USING, GPLOT_CMD_WITH, GPLOT_CMD_TITLE, and + GPLOT_CMD_END macros. + +Fri Feb 27 12:25:27 1998 John W. Eaton + + * help.cc (additional_help_message): Fix www address. + +Tue Feb 24 00:42:59 1998 John W. Eaton + + * help.cc (simple_help): Put additional help message first. + (additional_help_message): Add information about web site and + mailing list. + +Fri Feb 20 00:41:06 1998 John W. Eaton + + * pt-plot.cc (GPLOT_CMD_REPLOT): Clear before replot. + + * Makefile.in: Better handling of lib flags for linking. + +Thu Feb 19 21:14:30 1998 John W. Eaton + + * pt-decl.cc (Vinitialize_global_values): New static variable. + (initialize_global_variables): New function. + (symbols_of_pt_decl): New function. + DEFVAR Vinitialize_global_values and initialize_global_variables. + (tree_global_command::do_init): If initialize_global_variables is + not true and the variable doesn't have an explicit initializer, don't + initialize it. If we are giving it a default value, use the value + of the variable defualt_global_variable_value. + * octave.cc (maximum_braindamage): Set default_global_variable_value + and initialize_global_variables to Matlab-compatible values. + +Wed Feb 18 04:35:31 1998 John W. Eaton + + * DLD-FUNCTIONS/besselj.cc: Rename from bessel.cc. + * Makefile.in (DLD_XSRC): Likewise. + + * syscalls.cc (Fvfork): Delete. + + * oct-procbuf.cc: Just use fork. + + * parse.y (feval): Provide version that takes function name + separate from other args. + * parse.h: Declare it. + + * oct-procbuf.cc (octave_procbuf::open): Move declaration of + child_std_end outside of child scope and declare volatile. + +Mon Feb 16 15:04:28 1998 John W. Eaton + + * parse.y: Include cstdio, for SEEK_SET. + +Thu Feb 12 22:07:00 1998 John W. Eaton + + * system.c: New file. + * Makefile.in (SOURCES): Add it to the list. + +Fri Feb 6 01:23:18 1998 John W. Eaton + + * oct-stream.cc (octave_base_stream::file_number): Rename from fileno. + Change all uses. + + * fsolve.cc (fsolve_option_table): Add missing & to function names. + +Thu Feb 5 02:27:18 1998 John W. Eaton + + * dirfns.cc (Fls): If first attempt at reading process output + fails, sleep once and try again. + * toplev.cc (run_command_and_return_output): Likewise. + + * oct-procbuf.cc (octave_procbuf::open): Use vfork if it is available. + + * syscalls.cc (Fvfork): New function. + + * ov-bool-mat.cc: Only declare assign function if + CXX_NEW_FRIEND_TEMPLATE_DECL is not defined. + + * ov-base.h, ov-bool-mat.h, ov-bool.h, ov-ch-mat.h, ov-complex.h, + ov-cx-mat.h, ov-range.h, ov-re-mat.h, ov-scalar.h: Handle default + args for *_value functions consistently. + + * symtab.cc (maybe_list_cmp_fcn): Declare args as void*, not + void**, then use X_CAST. + + * OPERATORS/op-s-cm.cc: Include mx-cm-s.h. + + * defun-int.h: Include ov-builtin.h, ov-mapper.h, and symtab.h. + (install_builtin_mapper, install_builtin_function, + install_builtin_variable) Use specific types rather than void * in + declaration. + * defun.cc (install_builtin_mapper, install_builtin_function, + install_builtin_variable): Likewise. Eliminate casts. + + * load-save.cc (read_binary_data, read_mat_file_header, + save_binary_data): Use X_CAST, not static_cast. + * unwind-prot.h (unwind_protect::save_ptr): Likewise. + * Map.cc (goodCHptr, index_to_CHptr, CHptr_to_index): Likewise. + * dynamic-ld.cc (octave_dlopen_dynamic_loder::resolve_reference): + Likewise. + + * pt-mat.cc (tm_const::operator bool ()): + (tm_row_const::operator bool ()): Likewise. + * oct-stream.cc (printf_value_cache::operator bool ()): Likewise. + (scanf_format_list::operator bool ()): Likewise. + (printf_format_list::operator bool ()): Likewise. + (octave_stream::operator bool ()): Likewise. + +Wed Feb 4 13:08:29 1998 John W. Eaton + + * DLD-FUNCTIONS/minmax.cc: Include cmath, not oct-math.h. + + * syscalls.cc (Fdup2): Convert stream to actual system file id. + + * oct-stream.cc (octave_base_stream::fileno, octave_stream::fileno): + New functions. + +Tue Feb 3 00:24:44 1998 John W. Eaton + + * defaults.cc (exec_path): Append Vbin_dir to std_path. + + * octave.cc (initialize_pathsearch): Set TEXMFDBS, not TEXMF. + Look for OCTAVE_DB_PATH in environment. + Simplify using Vdata_dir and Vlibexec_dir. + + * defaults.h.in (Vdata_dir, Vlibexecdir): Declare new vars. + defaults.cc: Define them. + (set_default_data_dir, set_default_libexecdir): New functions. + (install_defaults): Call them. + + * defaults.h.in (OCTAVE_LIBEXECDIR): Define. + +Mon Feb 2 02:43:16 1998 John W. Eaton + + * Makefile.in (install, uninstall): Use $(octlibdir), not $(libdir). + Use mk-libdir-link. + + * defaults.h.in (OCTAVE_OCTLIBDIR): Substitute value. + (Vlib_dir): Delete declaration. + * defaults.cc (Vlib_dir): Delete. + (set_default_lib_dir): Delete. + (install_defaults): Don't call set_default_lib_dir. + (set_default_info_prog): If oct_info_prog is empty, set default to + "info" -- we expect it to be somewhere in the user's path. + + * defun.h (DEFCONST, DEFCONSTX): Eliminate inst_as_fcn and chg_fcn + args. Always pass true for inst_as_fcn and 0 for chg_fcn to + DEFVAR when creating built-in values like `e' or `stderr' that can + be redefined. Change all uses. + + * help.cc (Ftype): Handle script files too. + (Fwhich): Likewise. + +Sat Jan 31 00:00:26 1998 John W. Eaton + + * ov-ch-mat.cc (octave_char_matrix::is_true): Make it work. + * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::is_true): + Delete. + + * load-save.cc (read_ascii_data): Allow strings of length 0. + If we don't find data on the first call, fail with error message. + (do_load): Pass count of items read to read_ascii_data. + Allow `load foo xyz' to work when foo contains only numbers. + +Fri Jan 30 23:46:42 1998 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str::all): Delete. + (octave_char_matrix_str::any): Delete. + * ov-ch-mat.h (octave_char_matrix::all, octave_char_matrix::any): + Call charMatrix::all, charMatrix::any. + +Thu Jan 29 16:25:46 1998 John W. Eaton + + * load-save.cc (read_mat_binary_data): Handle third digit of MOPT + as flag indicating row or column major ordering. + +Wed Jan 28 00:18:17 1998 John W. Eaton + + * DLD-FUNCTIONS/dassl.cc (lsode_option_table): + Add missing & to function names. + * DLD-FUNCTIONS/lsode.cc (lsode_option_table): Likewise. + * DLD-FUNCTIONS/quad.cc (quad_option_table): Likewise. + + * Makefile.in (oct-gperf.h): Add -G option to gperf. + + * load-save.cc (get_save_type): Add `UL' and `L' suffixes to large + constant values. For LS_INT, use <= and >= for comparison. + +Mon Jan 26 13:17:59 1998 John W. Eaton + + * ov-usr-fcn.cc (Vmax_recursion_depth): New static variable. + (max_recursion_depth): New fucnction + (symbols_of_ov_usr_fcn): DEFVAR max_recursion_depth. + (octave_user_function::do_index_op): Check Vmax_recursion_depth. + +Thu Jan 22 13:45:26 1998 John W. Eaton + + * dynamic-ld.cc (make_dynamic_loader): Fix typo. + +Tue Jan 20 17:02:19 1998 John W. Eaton + + * variables.cc (Fexist): If local symbol is undefined, check + global table. + + * pr-output.cc (pr_max_internal): Initial value for result is + -DBL_MAX, not DBL_MIN. + +Thu Jan 8 11:54:33 1998 John W. Eaton + + * xpow.cc (elem_xpow): If second arg of pow is complex, make sure + first arg is also complex. + + * symtab.cc (symbol_table::rename): Properly insert new item at + the front of the list to avoid losing the rest of the items. + +Thu Dec 11 23:30:03 1997 John W. Eaton + + * variables.cc (Fclear): Increment index to skip -x arg. + +Tue Dec 9 02:45:35 1997 John W. Eaton + + * Makefile.in (INCLUDES): Don't forget Pix.h. + + * BaseSLList.cc: Don't include nonstandard libg++ header files. + +Sun Nov 30 14:58:56 1997 John W. Eaton + + * pr-output.cc: Include cmath, not oct-math. + * sysdep.cc: Likewise. + + * DLD-FUNCTIONS/bessel.cc: New file. + * Makefile.in (DLD_XSRC): Add it to the list. + +Thu Nov 27 23:28:59 1997 John W. Eaton + + * lex.l (handle_string): Constructor for string class takes + (size_t, char) args, not (char, size_t). + +Wed Nov 26 00:39:34 1997 John W. Eaton + + * Makefile.in (OCTAVE_LIBS): Include $(SPECIAL_MATH_LIB) just + ahead of -lcruft. + +Thu Nov 20 15:16:22 1997 John W. Eaton + + * octave.cc (maximum_braindamage): Bind implicit_num_to_str_ok to 1. + * pt-mat.cc (Vimplicit_num_to_str_ok): New static variable. + (implicit_num_to_str_ok): New function. + (symbols_of_pt_mat): DEFVAR implicit_num_to_str_ok. + (tm_row_const::some_str): New data member. + (tm_row_const::some_strings_p): New function. + (tm_row_const::init): Set some_str. + (tm_const::some_str): New data member. + (tm_const::some_strings_p): New function. + (tm_const::init): Set some_str. + (tree_matrix::eval): If Vimplicit_num_to_str_ok is true and some + of the elements are strings, force a string conversion before + returning. + + * parse.y (fold, finish_colon_expression, finish_matrix): + If an error occurs, return the original expression. + Use unwind_protect to restore error_state. + + * ov-ch-mat.h (octave_char_matrix::convert_to_str): Result is + char_matrix_str, not just char_matrix. + +Wed Nov 19 02:05:40 1997 Mumit Khan + + * DLD-FUNCTIONS/filter.cc: Don't include extern template decls if + CXX_NEW_FRIEND_TEMPLATE_DECL is defined. + * ov-cx-mat.cc: Likewise. + * ov-re-mat.cc: Likewise. + * ov-str-mat.cc: Likewise. + + * ov-cx-mat.h (octave_complex_matrix::decrement, + octave_complex_matrix): Use explicit Complex constructor. + +Wed Nov 19 00:08:13 1997 John W. Eaton + + * pt-decl.cc (tree_global_command::do_init): Initialize global + values to `[]'. Only perform explicit initialization once. + +Tue Nov 18 04:27:55 1997 John W. Eaton + + * pr-output.cc (Vfixed_point_format): New variable. + (fixed_point_format): New fucntion. + (symbols_of_pr_output): Add DEFVAR for fixed_point_format. + (set_real_matrix_format): Handle fixed point format + (set_complex_matrix_format): Handle fixed point format + (set_format): New arg, scale in Matrix, ComplexMatrix, Range versions. + (pr_scale_header): New function. + (octave_print_internal): Handle fixed point format in Matrix, + ComplexMatrix, and Range versions. + * octave.cc (maximum_braindamage): Set fixed_point_format to 1.0. + + * utils.cc (do_string_escapes): Move here, from lex.l. + Arg is now const string& instead of char*. + Return new string object instead of modifying arg in place. + (Fdo_string_escapes): New function. + * lex.l (handle_string): Use new version of do_string_escapes. + + * lex.l (Vbackslash_escapes): Delete. + (backslash_escapes): Delete. + (do_string_escapes): Undo previous change. + (eat_whitespace, eat_continuation): Undo previous change. + (handle_string): Undo previous change. + (symbols_of_lex): Undo previous change. + * octave.cc (maximum_braindamage): Undo previous change. + +Fri Nov 14 01:53:13 1997 John W. Eaton + + * parse.y (eval_string (const string&, bool, int&, int)): No + longer static. + * parse.h: Provide declaration. + * input.cc (get_user_input (const octave_value_list&, bool, int)): + New arg, nargout. Pass it to eval_string. + (keyboard): Pass nargout = 0 to get_user_input. + (input): Pass nargout to get_user_input. + + * input.cc (get_user_input (const octave_value_list&, bool)): + Return octave_value_list() if user enters `quit', `exit', or `return'. + If debugging, let eval_string handle the printing chores and + reset error_state before asking for more input. + + * input.cc (Fkeyboard): Unconditionally turn on history here. + + * lex.l (have_continuation, have_ellipsis_continuation): Declare + arg as bool, not int. Change callers. + + * lex.l (Vbackslash_escapes): New static variable. + (backslash_escapes): New function. + (do_string_escapes): Return immediately if ! Vbackslash_escapes. + (eat_whitespace, eat_continuation): Only call have_continuation if + Vbackslash_escapes. + (handle_string): Backslash is only special if Vbackslash_escapes. + (symbols_of_lex): Add DEFVAR for backslash_escapes. + * octave.cc (maximum_braindamage): Set backslash_escapes to 0. + +Thu Nov 13 16:20:40 1997 John W. Eaton + + * variables.cc (Fexist): Also return 2 if NAME is a regular file + somewhere in the LOADPATH. + + * data.cc (sumsq): Fix doc string. + + * parse.y (Fsource): Call parse_fcn_file, not parse_and_execute. + +Tue Oct 7 16:51:01 1997 John W. Eaton + + * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Set installed to true + after installing the function. + +Thu Sep 25 10:17:26 1997 John W. Eaton + + * DLD-FUNCTIONS/filter.cc (Ffilter): Return second output value + even when called with only 3 arguments. + +Mon Sep 22 16:44:27 1997 John W. Eaton + + * DLD-FUNCTIONS/rand.cc (do_rand): Print error if first of two + args is a string but doesn't match "seed". + (Frand, Frandn): Fix doc string. + +Mon Aug 25 10:42:07 1997 John W. Eaton + + * input.cc (get_user_input): Return an empty string if the user + just types RET. + +Thu Jul 31 22:59:04 1997 John W. Eaton + + * lex.l : Ensure that we handle words that begin with + single or double quotes as strings. + +Thu Jul 17 13:06:48 1997 Klaus Gebhardt + + * DLD-FUNCTIONS/rand.cc (Frand): Use F77_XFCN to call getsd, + setsd, setall, setcgn, dgenunf, and dgennor since they can call + XSTOPX. + +Mon Jul 14 12:54:23 1997 John W. Eaton + + * dynamic-ld.cc (octave_dynamic_loader::load_fcn_from_dot_oct_file): + If first attempt to load function fails, prepend and underscore + and try again. + + * Makefile.in (install-inc): If defaults.h, oct-conf.h, or + oct-gperf.h don't exist in the current directory, look in $(srcdir). + +Mon Jul 7 21:14:07 1997 John W. Eaton + + * DLD-FUNCTIONS/qr.cc (Fqr): Correctly handle nargout == 0. + +Wed Jul 2 16:47:09 1997 John W. Eaton + + * matherr.c: New file. Move matherr function here. + * sysdep.cc: From here. + * Makefile.in (DIST_SRC): Add matherr.c to the list. + + * error.cc (handle_message): Avoid bug in g++ snapshot. + +Thu Jun 26 22:04:09 1997 John W. Eaton + + * utils.cc (file_in_path): Add default load path to PATH arg if + it begins or ends with a colon. + +Wed Jun 25 13:31:06 1997 John W. Eaton + + * oct-lvalue.h (octave_lvalue::struct_elt_ref): Ensure val is unique. + +Fri Jun 20 12:33:35 1997 John W. Eaton + + * toplev.cc (cmd_death_handler): New function. + (run_command_and_return_output): Insert pid of command in + octave_child_list along with pointer to cmd_death_handler so we + can get the exit status without having to block SIGCHLD. + (cleanup_iprocstream): Remove pid of command from octave_child_list. + +Sun Jun 15 16:11:13 1997 John W. Eaton + + * OPERATORS/op-cs-s.cc (ldiv): Doh, v1 is complex, v2 is real. + + * Makefile.in (DISTFILES): Add mkops to the list. + (dist): Correctly link files in DLD-FUNCTIONS, OPERATORS, and + TEMPLATE-INST subdirectories. + +Fri Jun 6 04:30:57 1997 John W. Eaton + + * DLD-FUNCTIONS/npsol.cc, DLD-FUNCTIONS/qpsol.cc, + DLD-FUNCTIONS/fsqp.cc: Delete. + * Makefile.in (DLD_XSRC): Remove them from the list. + + * utils.cc (search_path_for_file): New arg, do_tilde_expansion. + If TRUE, perform tilde expansion on path before searching. + (file_in_path): Call search_path_for_file with do_tilde_expansion + set to false, since we've already performed tilde expansion on the + load path. + + * defaults.cc (loadpath): Perform tilde expansion here. + +Thu Jun 5 01:42:39 1997 John W. Eaton + + * Makefile.in: Make building of static library optional. + (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. + + * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): + Call shl_findsym with type set to TYPE_UNDEFINED. + + * Makefile.in (stamp-picdir): Delete. + (pic): New target. Don't worry so much about creating pic + directory only when it is really needed. + (stamp-interp): Delete. + (libraries): New target. Depend on shared library directly. + +Wed Jun 4 00:09:42 1997 John W. Eaton + + * octave.cc (main): Call dir_path::set_program_name here. + +Tue Jun 3 16:47:34 1997 John W. Eaton + + * variables.cc (symbol_out_of_date): Make it work again. + + * parse.y (parse_and_execute): Move here from toplev.cc + (default_eval_print_flag): Likewise. + (safe_fclose): Likewise. + (eval_string): Likewise. + (Fsource): Likewise. + (Ffeval): Likewise. + (feval): Likewise. + (Feval): Likewise. + (symbols_of_parse): Define default_eval_print_flag here instead of + in varaibles.cc. + (looks_like_octave_copyright): Move here from variables.cc + (gobble_leading_whitespace): Likeiwse. + (is_function_file): Likewise. + (restore_input_stream): Likewise. + (parse_fcn_file): Likewise. + (load_fcn_from_file): Likewise. + (get_help_from_file): Likewise. + + * toplev.cc (syms_of_toplev): Define argv, program_name, and + program_invocation_name here instead of in variables.cc. + + * parse.h (line_editing): Move here from toplev.h. Now bool, not int. + (reading_startup_message_printed) Likewise. + (input_from_startup_file): Likewise. + (input_from_command_line_file): Likewise. + + * load-save.cc: Use bool instead of int where appropriate. + + * input.h (enum echo_state): Move here from variables.h. + (Vecho_executing_commands): Likewise. Now bool, not int. + * input.cc (echo_executing_commands): Move here from variables.cc. + (symbols_of_input): Define echo_executing_commands here instead of + in variables.cc. + + * octave.cc (program_invocation_name): Don't define. + (intern_argv): Don't set program_invocation_name here. + (main): Call octave_env::set_program_name here, not in intern_argv. + + * toplev.cc (quitting_gracefully): Move here from octave.h and + make static bool instead of extern int. + + * error.cc (bind_global_error_variable, clear_global_error_variable): + Move here from variables.cc. + (symbols_of_error): Define error_text here instead of in variables.cc. + + * pager.cc (write_to_diary_file): Now bool, not int. + (really_flush_to_pager): Likewise. + (flushing_to_pager): Likewise. + * sighandlers.h (can_interrupt): Likewise. + * error.h (buffer_error_messages): Likewise. + * oct-hist.h (input_from_tmp_history_file, Vsaving_history): Likewise. + * input.h (forced_interactive): Likewise. + (get_input_from_eval_string): Likeiwse. + (reading_script_file): Likeiwse. + (reading_fcn_file): Likeiwse. + (interactive): Likewise. + + * unwind-prot.cc (saved_variable::saved_variable (bool *, bool)): + Set type_tag to boolean, not int. + +Mon Jun 2 00:40:10 1997 John W. Eaton + + * variables.h (Octave_builtin_fcn): Delete typedef. + + * help.cc (make_name_list): Move here from variables.cc. + (keyword_help, names): Now static. + (struct help_list): Move declaration here from help.h. + + * oct-hist.cc (Vhistory_file, Vhistory_size, Vsaving_history): + Move here from variables.cc. + (symbols_of_oct_hist): New function. + + * version.h: Protect against multiple inclusion. + + * defun.cc (check_version): New function. + * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Use it. + + * help.h, help.cc (additional_help_message): Now extern. + (operator_help): Now static. + + * defun.cc (print_usage): Move here from help.cc + * DLD-FUNCTIONS/*.cc, data.cc, dirfns.cc, file-io.cc, input.cc, + load-save.cc, octave.cc, ov-list.cc, ov-typeinfo.cc, + ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-plot.cc, strfns.cc, + syscalls.cc, sysdep.cc, utils.cc, toplev.cc: + Don't include help.h. + + * TEMPLATE-INST/Array-sym.cc: New file. + + * load-save.cc (do_load): Don't use ostream::form. + * pr-output.cc: Likewise, at least where it is easy to do so. + * oct-stream.cc: Ditto. + + * symtab.h (symbol_record::symbol_def::rows): New function. + (symbol_record::symbol_def::columns): Ditto. + (symbol_record::symbol_def::type_name): Ditto. + (symbol_record::rows): Ditto + (symbol_record::columns): Ditto + (symbol_record::type_name): Ditto + + * symtab.h, symtab.cc (symbol_record::hides_fcn): New function. + (symbol_record::hides_builtin): Ditto. + (symbol_record::print_symbol_info_line): Ditto. + (symbol_table::long_list): Delete. + (symbol_table::symbol_list): New function. + (symbol_table::maybe_list): Delete argc arg. + (symbol_table::name_list): Rename from symbol_table::list. + Change all callers. + + * symtab.h, symtab.cc (class symbol_record_info): Delete. + + * symtab.cc (matches_patterns): Use vector form of glob_match. + +Sun Jun 1 14:04:26 1997 John W. Eaton + + * pt-check.h, pt-check.cc: New files, for semantic checking of + parse trees. + + * symtab.h (class symbol_def): Now nested in symbol_record class. + (enum TYPE): Move from symbol_def to symbol record class. Change + all uses. + + * symtab.h, symtab.cc (symbol_table::maybe_list): New function, + from variables.cc. Change all uses. + + * pt-idx.h (tree_identifier::lvalue_ok): New function. + * pt-id.h (tree_index_expression::lvalue_ok): Likewise. + * pt-indir.h (tree_indirect_ref::lvalue_ok): Likewise. + + * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_oct_obj): Delete. + * pt-walk.h (tree_walker::visit_oct_obj): Delete declaration. + + * lex.h (class lexical_feedback): Delete maybe_screwed_again. + * lex.l (lexical_feedback::init): Don't set it. + +Fri May 30 16:07:22 1997 John W. Eaton + + * mappers.cc: Include here. + +Tue May 27 10:08:43 1997 John W. Eaton + + * toplev.cc (eval_string): Don't index tmp if it is empty. + +Sat May 24 00:18:41 1997 John W. Eaton + + * load-save.cc (valid_identifier): Move here and make static. + * symtab.h, symtab.cc (valid_identifier): Delete declaration and + definition. + +Fri May 23 22:54:28 1997 John W. Eaton + + * symtab.h (symbol_def::symbol_def): Use initializer list instead + of calling init_state. + (symbol_def::init_state): Delete. + + * symtab.cc (symbol_table::print_stats): New function. + * variables.cc (F__dump_symtab_info__): New function. + + * symtab.h, symtab.cc (symbol_table::hash): Return masked value. + (symbol_table::table_size): New data member. + (symbol_table::symbol_table): Set size of table in constructor. + (HASH_TABLE_SIZE): Replace uses with table_size. + (HASH_MASK): Delete. + * variables.cc (initialize_symbol_tables): Set top-level and + global symbol table sizes here. + +Thu May 22 13:32:55 1997 John W. Eaton + + * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): + Call shl_findsym with type set to TYPE_PROCEDURE. Pass the + address of the pointer we want to define. + +Wed May 21 16:30:25 1997 John W. Eaton + + * DLD-FUNCTIONS/time.cc (extract_tm): Avoid memory leak in dealing + with time zone. + + * Makefile.in (install-in): Use new mk-includedir-link macro. + (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. + +Tue May 20 01:24:11 1997 John W. Eaton + + * ov-list.cc (Flist): Rename from Fmake_list. + +Mon May 19 14:45:58 1997 John W. Eaton + + * octave.cc (maximum_braindamage): Set default_eval_print_flag to 0. + +Sat May 17 16:32:23 1997 John W. Eaton + + * defaults.cc (set_default_editor): Default is now Emacs, not vi. + +Fri May 16 00:07:11 1997 John W. Eaton + + * pt-idx.cc (tree_index_expression::name): New function. + + * pt.cc (tree::str_print_code): New file, new convenience function. + * pt-arg-list.cc (tree_argument_list::get_arg_names): Use it. + * pt-assign.cc (tree_simple_assignment::rvalue): Likewise. + (tree_multi_assignment::rvalue): Likewise. + + * pt-colon.h (tree_colon_expression::save_base): New data memmber. + (tree_colon_expression::preserve_base): New function. + * parse.y (finish_colon_expression): When converting to a simple + expression, be sure to delete the original colon expression but + not the base value. + + * pt-mat.cc (tree_matrix::~tree_matrix): Actually do something. + + * pt-all.h: New file. + * parse.y, lex.l, pt-pr-code.cc: Use it. + + * pt.h: Rename from pt-base.h. + + * All parse tree classes: Add private copy constructors and + assignment operators to prevent copying. + + * pt-base.cc: Delete. + + * unwind-prot.h, unwind-prot.cc: Make a bit more object-oriented. + Change all uses of unwind_protect stuff to match. + + * pt-jump.h, pt-jump.cc (breaking, continuing, returning): + Make these flags static members of the corresponding class. + Change all uses. + + * pt-assign.cc (tree_simple_assignment_expression::eval, + tree_multi_assignment_expression::eval): Clear lvalue index here. + + * oct-lvalue.cc (octave_lvalue::assign): Don't clear index here. + * oct-lvalue.h (octave_lvalue::clear_index): New function. + (octave_lvalue::set_index): Rename from octave_lvalue::index. + Change all callers. + +Thu May 15 11:48:10 1997 John W. Eaton + + * pt-select.h, pt-select.cc (class tree_if_command_list, + class tree_if_clause, class tree_switch_case_list, + class tree_switch_case): Move here from pt-misc.h, pt-misc.cc. + * pt-decl.h, pt-decl.cc (class tree_decl_init_list, + class tree_decl_elt): Move here from pt-mist.h, pt-misc.cc + + * pt-arg-list.h, pt-stmt.h: New files, extracted from pt-misc.h. + * pt-arg-list.cc, pt-stmt.cc: New files, extracted from pt-misc.cc. + + * pt-decl.h, pt-except.h, pt-jump.h, pt-loop.h, pt-select.h: + New files, extraced from pt-cmd.h. + * pt-decl.cc, pt-except.cc, pt-jump.cc, pt-loop.cc, pt-select.cc: + New files, extraced from pt-cmd.cc. + + * pt-unop.h, pt-binop.h, pt-colon.h, pt-idx.h, pt-assign.h: + New files, extracted from pt-exp.h + * pt-unop.cc, pt-binop.cc, pt-colon.cc, pt-idx.cc, pt-assign.cc: + New files, extracted from pt-exp.cc + * pt-exp.h, pt-exp.cc: Rename from pt-exp-base.h, pt-exp-base.cc. + + * oct-lvalue.h: Rename from oct-var-ref.h. Rename class from + octave_variable_reference to octave_lvalue. Change all uses. + * oct-lvalue.cc: Rename from oct-var-ref.cc. + + * variables.cc (bind_ans): Only bind ans and print result if value + is defined. + + * defun.cc: New file. Move functions for installing objects in + the symbol table here from variables.cc. + + * oct-obj.h, oct-obj.cc: Add custom allocator, fwiw. + + * toplev.cc (main_loop): Correctly increment command number. + + * TEMPLATE-INST/SLList-tm.cc: Don't instantiate lists of pointers + to tree_matrix_row objects. + * TEMPLATE-INST/SLList-misc.cc: Do instantiate lists of pointers + to tree_argument_list objects. + + * DLD-FUNCTIONS/dassl.cc: Update to use new octave_function + interface to user-supplied functions. + * DLD-FUNCTIONS/fsolve.cc: Likewise. + * DLD-FUNCTIONS/lsode.cc: Likewise. + * DLD-FUNCTIONS/npsol.cc: Likewise. + * DLD-FUNCTIONS/quad.cc: Likewise. + + * dynamic-ld.h, dynamic-ld.cc (builtin_fcn_installer typedef): + Rename from builtin_fcn. + (octave_dynamic_loader::load_fcn_from_dot_oct_file): + Simplify by using new installer function defined by DEFUN_DLD. + + * defun-dld.h (DEFUN_DLD): Use DEFINE_FUN_INSTALLER_FUN instead of + DEFINE_FUN_STRUCT_FUN. + * defun.h (DEFUN_MAPPER): Use DEFUN_MAPPER_INTERNAL. + * defun-int.h (DEFVAR_INTERNAL): Rename from DEFVAR_INT and move + here from defun.h. Change all uses. + (DEFUN_MAPPER_INTERNAL): New macro. + (DEFINE_FUN_INSTALLER_FUN): New macro to define function that the + dynamic loader calls to do all the work of installing a new function. + (DEFINE_FUN_STRUCT_FUN): Delete. + + * parse.y: Rewrite to handle more general expressions. + * lex.l: Corresponding changes. + + * pt-walk.h, pt-pr-code.h, pt-pr-code.cc: Cope with new parse tree + object structure. + + * pt-misc.cc (class tree_for_command): Split into + tree_simple_for_command and tree_complex_for_command classes. + + * pt-misc.h, pt-misc.cc (tree_statement::eval): Handle identifier + lookup and printing and binding ans here. + (tree_statement_list::eval): Simplify. + (tree_argument_list::all_elements_are_constant): New function. + (class tree_decl_elt): Now contains id and expr, not an assignment + expression. + + * pt-exp-base.h pt-exp.h pt-id.h pt-indir.h pt-mat.h pt-const.h, + pt-exp-base.cc pt-exp.cc pt-id.cc pt-indir.cc pt-mat.cc pt-const.cc: + Replace eval functions with rvalue and lvalue functions. + Change all uses. + (lvalue_ok, rvalue_ok): New functions, for future compile-time + semantic checks. + + * oct-var-ref.h (is_defined, is_map): New functions. + + * pt-exp.h (class tree_oct_obj): Delete. + + * variables.cc (extract_function, is_valid_function): Return + pointer to octave_function, not octave_symbol. + (link_to_global_variable): Rewrite. Handle errors in + symbol_record::mark_as_linked_to_global. + + * symtab.h, symtab.cc (class symbol_def, class symbol_record): + Symbols are now stored as octave_value objects only. + + * ov.cc (install_types): Register function types here. + * ov-fcn.h, ov-fcn.cc, ov-builtin.h, ov-builtin.cc, ov-mapper.h, + ov-mapper.cc, ov-usr-fcn.h, ov-usr-fcn.cc: New classes for + functions as values. + * ov.h (class octave_value): Don't derive from octave_symbol. + * oct-fcn.h, oct-fcn.cc, oct-builtin.h, oct-builtin.cc, + oct-mapper.h, oct-mapper.cc, oct-usr-fcn.h, oct-usr-fcn.cc, + oct-sym.h, oct-sym.cc: Delete. + +Sun May 11 17:51:22 1997 John W. Eaton + + * help.cc (Ftype): Make it work again for functions. + + * pt-pr-code.cc (tree_print_code::print_parens): New function. + Use it in other tree_print_code functions to handle printing all + the parens that we found when parsing the expression, not just one + pair. + * pt-exp-base.h (tree_expression::paren_count): Rename from + is_in_parens. + * parse.y (maybe_warn_assign_as_truth_value): Use new name. + + * parse.y (constant): New non-terminal. + (simple_expr1): Use it. + + * parse.y (make_unary_op): Delete. + (simple_expr1): Where appropriate, use make_prefix_op and + make_postfix_op instead of make_unary_op. Allow increment and + decrement ops to work on expressions, not just identifiers. + (make_prefix_op, make_postfix_op): Arg is expression, not identifier. + Handle old unary_op cases too. + (fold (tree_unary_expression *)): Delete. + * pt-exp.h, pt-exp.cc (tree_prefix_expression::eval): Handle unary + minus and not here. + (tree_postfix_expression::eval): Likewise, for transpose and hermitian. + (class tree_prefix_expression, class tree_postfix_expression): + Derive from tree_unary_expression. Delete identifier member. + Delete ident member function. + (tree_unary_expression): Don't handle evaluation here. + * pt-exp-base.h (mark_in_parens): No longer virtual. Return this. + (reference): New virtual function. + (class tree_expression): Don't handle expression type here. + * pt-mvr-base.h (tree_multi_val_ret::tree_multi_val_ret): Likewise. + * pt-mvr.h, pt-mvr.cc (tree_multi_assignment_expression): Likewise. + * pt-walk.h (visit_unary_expression): Delete declaration. + * pt-pr-code.h, pt-pr-code.cc (visit_unary_expression): Delete. + (visit_prefix_expression): Use operand(), not ident(). + new, visit_postfix_expression): + * pt-id.h, pt-id.cc (increment, decrement): Delete. + + * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Get a + reference to each element and use the assignment operator instead + of tree_identifier::define. + * pt-id.h, pt-id.cc (tree_identifier::define): Delete versions + that take octave_value and octave_symbol args. + +Sat May 10 23:32:13 1997 John W. Eaton + + * pt-indir.h, pt-indir.cc (tree_indirect_reference::value): Delete. + + * oct-var-ref.cc (octave_variable_ref::assign): Clear idx after + assignment. + + * octave_value classes: Add is_constant, is_function, and + function_value functions. + + * ov.h, ov.cc (assign): Return void, not reference to octave_value. + (do_index_op): Rename, from index. + (do_struct_elt_index_op): Rename, from struct_elt_val. + Add version that accepts index arg. + Change all uses and derived classes to match. + * pt-const.h (index): Delete. + * oct-var-ref.h, oct-var-ref.cc (value): Handle indexed structure + ops here too. + +Fri May 9 07:40:59 1997 John W. Eaton + + * pt-exp.cc (print_rhs_assign_val, symbols_of_pt_exp): New functions. + (Vprint_rhs_assign_val): New static variable. + (tree_simple_assignment_expression::eval): Use it to optionally + allow the rhs (which is the result) of an assignment to be printed + instead of the left. + + * pt-exp.cc (tree_simple_assignment_expression::eval): Use new + octave_variabl_reference::index function to handle indexing. + + * oct-var-ref.h, oct-var-ref.cc (idx): New data member. + (octave_variable_reference::index): Set it. + (octave_variable_reference::assign): Handle indexing here. + Delete version of this function htat takes index arg. + + * variables.h (struct builtin_varaible): Delete. + * variables.cc (install_builtin_variable): Take all elts of + builtin_variable struct directly. + * defun.h (DEFVAR_INT): Call install_builtin_variable directly. + + * symtab.h, defun-int.h: Don't include variables.h. + + * symtab.h (symbol_record::sv_function): Move typedef here. + * variables.h: From here. + + * oct-var-ref.h, oct-var-ref.cc: New files for + octave_variable_reference class, extracted from variables.h and + variables.cc + * Makefile.in: Add them to the appropriate lists. + + * oct-obj.h (octave_value_list::empty): New function. + + * variables.h (class octave_variable_reference): Rewrite to work + as a proxy class to store a pointer to octave_value and, + optionally, the change function to call and the name of the + structure element we are referencing. Handle assignment, + increment, decrement, and value operations. + +Thu May 8 23:40:59 1997 John W. Eaton + + * ov-re-mat.h, ov-re-mat.cc (struct_elt_ref, struct_elt_val, + assign_struct_elt): Provide functions for looking up and setting + matrix dimensions. + + * symtab.cc (symbol_record::define): Don't call sv_fcn here. + Don't save and restore value here. + (symbol_record::define_builtin_var): Do call sv_fcn here. + (symbol_record::variable_reference): Don't make value unique here. + Return pointer to sv_fcn in octave_variable_reference. + + * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): + Simplify. + + * pt-id.h, pt-id.cc (tree_identifier::reference): Return + octave_variable_reference, not octave_value&. + * symtab.h, symtab.cc (symbol_record::variable_reference): Ditto. + * pt-indir.h, pt-indir.cc (tree_indirect_ref::reference): Ditto. + Simplify too. + + * pt-const.h (tree_constant::reference, tree_constant::value, + tree_constant::assign): Delete unnecessary functions. + * pt-id.h, pt-id.cc (tree_identifier::assign): Ditto. + + * pt-cmd.cc (tree_for_command::do_for_loop_once): Simplify. + + * ov.h, ov.cc, ov-base.h, ov-base.cc, ov-struct.h, ov-struct.cc + (struct_elt_ref): New arg, octave_value* parent. + Allow deferred lookup. Return octave_variable_reference, not + octave_value&. + + * ov.h, ov.cc, ov-re-mat.h, ov-re-mat.cc (assign_struct_elt): + New virtual functions. + + * ov.h, ov.cc (Vresize_on_range_error): Now static. + + * pt-mvr.cc (tree_index_expression::eval): Delete redundant check + of error_state. + +Wed May 7 21:17:00 1997 John W. Eaton + + * input.cc (generate_completion): Rename from command_generator. + Use string objects instead of char*. + (generate_possible_completions): Let qsort also make matches unique. + (initialize_command_input): Register generate_completion with the + command_editor class. + (completion_matches): Simplify using generate_completion. + + * pt-pr-code.cc (tree_print_code::visit_constant): For val, call + print_raw, not print. + + * oct-usr-fcn.h (octave_user_function::argn_sr): New data member. + (octave_user_function::install_automatic_vars): Rename from + install_nargin_and_nargout. + (octave_user_function::bind_automatic_vars): Rename from + bind_nargin_and_nargout. + * oct-usr-fcn.cc (octave_user_function::eval): Extract arg names + from args vector and bind them to argn. + * oct-obj.h (octave_value_list::names): New data member. + * oct-obj.cc (octave_value_list::stash_name_tags): New function. + (octave_value_list::name_tags): Ditto. + * pt-const.h, pt-const.cc (tree_constant::print_raw): New function. + * pt-misc.h, pt-misc.cc (tree_argument_list::get_arg_names): + New function. + * pt-mvr.h, pt-mvr.cc (class index_expression): Cache arg names. + * toplev.cc (feval): Now static. Handle arg names. + + * mkops: Cope with moving files defining operators to OPERATORS + subdirectory. + +Tue May 6 00:48:59 1997 John W. Eaton + + * DLD-FUNCTIONS/getgrent.cc: Use new octave_group class. + * DLD-FUNCTIONS/getpwent.cc: Use new octave_passwd class. + + * syscalls.cc: Simplify by using new functions defined in + liboctave/oct-syscalls.cc. + + * file-io.cc (Ftmpnam): Accept DIR and PREFIX args. + +Mon May 5 00:54:03 1997 John W. Eaton + + * ov-str-mat.cc (octave_char_matrix_str::print_name_tag): Print + empty strings on one line. + + * DLD-FUNCTIONS, OPERATORS, and TEMPLATE-INST: New subdirectories. + Move appropriate files to new directories. + * Makefile.in: Add DLD-FUNCTIONS, OPERATORS, and TEMPLATE-INST + directories to VPATH. Fix rules to work with new directory + structure. + +Sun May 4 22:40:45 1997 John W. Eaton + + * input.cc (initialize_command_input): Rename from + initialize_readline. + (gnu_readline, octave_gets, get_user_input): Simplify, return + string, not char *. + + * Many of other files: Miscellaneous changes to go along with the + changes described in the liboctave/ChangeLog for May 4. More code + moved from here to liboctave. + +Fri May 2 19:50:33 1997 John W. Eaton + + * pathlen.h: Move to ../liboctave. + +Thu May 1 21:50:44 1997 John W. Eaton + + * variables.cc (get_struct_elts): New fucntion. + (looks_like_struct, generate_struct_completions): Move here from + input.cc, rewrite, and make work again. + +Wed Apr 30 00:24:05 1997 John W. Eaton + + * ov-base.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h, + ov-ch-mat.cc, ov-ch-mat.h, ov-complex.cc, ov-complex.h, + ov-cx-mat.cc, ov-cx-mat.h, ov-file.cc, ov-file.h, ov-list.cc, + ov-range.cc, ov-range.h, ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, + ov-scalar.h, ov-str-mat.cc, ov-struct.cc, ov.h (scalar_value): + New function. Same as double_value, but name is consistent with + octave_scalar class. + + * op-fil-b.cc, op-fil-cm.cc, op-fil-lis.cc, op-fil-rec.cc, + op-fil-str.cc, op-fil-bm.cc, op-fil-cs.cc, op-fil-m.cc, + op-fil-s.cc: New files. + + * ops.h (ASSIGNOPDECL, DEFASSIGNOP, DEFASSIGNOP_FN, CONVDECL, + DEFCONV, BINOPDECL, DEFBINOPX, DEFBINOP, DEFBINOP_OP, DEFBINOP_FN, + BINOP_NONCONFORMANT): New macros. + * op-b-b.cc, op-bm-bm.cc, op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, + op-cm-s.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc, + op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-s-cm.cc, + op-s-cs.cc, op-s-m.cc, op-s-s.cc, op-str-str.cc: Use them. + + * Makefile.in (octave): Also depend on ops.o. + + * builtins.h: Delete. + * octave.cc: Add extern declaration here. + + * mappers.h: Delete. + * Makefile.in (INCLUDES): Delete from list. + * mkbuiltins: Add extern declaration in builtins.cc. + + * mkops: New file. + * ops.cc: Delete. + * Makefile.in (SOURCES): Delete from the list. + (ops.cc): New target. + (OP_SOURCES): New list. Move all op-*.cc files here from SOURCES. + Add $(OP_SOURCES) to SOURCES list. + + * variables.cc (symbols_of_variables): No longer static. + * ov.cc (symbols_of_ov): Rename from symbols_of_value. + + * ov-base.h: Delete declaration for install_base_type_conversions. + * op-b-b.h, op-bm-bm.h, op-cm-cm.h, op-cm-cs.h, op-cm-m.h, + op-cm-s.h, op-cs-cm.h, op-cs-cs.h, op-cs-m.h, op-cs-s.h, + op-m-cm.h, op-m-cs.h, op-m-m.h, op-m-s.h, op-s-cm.h, op-s-cs.h, + op-s-m.h, op-s-s.h, op-str-str.h: Delete. + * Makefile.in (INCLUDES): Delete them from the list. + +Tue Apr 29 22:27:49 1997 John W. Eaton + + * variables.h, variables.cc (install_builtin_variables): Delete. + * mkbuiltins: Also generate install_builtin_variables function. + * Makefile.in: Fix rule to call mkbuiltins with correct args. + (clean): Also delete def-files and var-files. + * defaults.h.in, dirfns.h, error.h, file-io.h, help.h, input.h, + lex.h, load-save.h, oct-usr-fcn.h, pager.h, parse.h, pr-output.cc, + pr-output.h, pt-mat.h, pt-misc.h, pt-plot.h, toplev.h: + Delete declarations of symbols_of_* functions. + * data.h, syscalls.h: Delete. + + * pr-output.cc (octave_print_internal): Leave printing of final + new line up to the caller. + + * ov.h, ov.cc (reset_indent_level, increment_indent_level, + decrement_indent_level, newline, indent, reset, + curr_print_indent_level, beginning_of_line): + New functions and static data to manage indent level for printing. + (print_as_scalar): Delete. + (print, print_with_name): Always require stream arg. + Change all callers. + + * oct-stream.h (octave_stream::input_stream): Make publicly available. + (octave_stream::output_stream): Likewise. + + * ov-base.h, ov-base.cc, ov.h, ov.cc, ov-file.h ov-base.h + (is_file, stream_value, stream_number): New functions. + * ov-file.h, ov-file.cc: New files for value class to manage files. + * file-io.cc (symbols_of_file_io): Define stdin, stdout, and + stderr as octve_file objects, not just integers. + (Ffopen, Fpopen): Return octave_file objects, not integer file ids. + * syscalls.cc (Fpipe): Likewise. + * oct-stream.h, oct-stream.cc (octave_stream_list::insert): + Return octave_file object, not integer file id. + + * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-ch-mat.cc, + ov-complex.cc, ov-cx-mat.cc, ov-file.cc, ov-list.cc, ov-range.cc, + ov-re-mat.cc, ov-scalar.cc, ov-str-mat.cc, ov-struct.cc, ov.cc + (print_name_tag, print_raw): New functions. + + * help.cc (Ftype): Don't cast symbol definition to tree_constant *. + + * variables.cc (link_to_global_variable): Don't try to define + symbol with tree_constant objects. + (bind_ans): Call symbol_record::define directly and then + octave_value::print_with_name instead of creating a temporary + assignment expression. + + * pt-pr-code.cc (tree_print_code::indent): Don't use ostream::form. + + * pt-exp-base.h, pt-exp.h, pt-exp.cc (oper): Return string, not + char *. Change all where necessary. + +Mon Apr 28 16:33:49 1997 John W. Eaton + + * ov.h (octave_value binary_op enum): Add lshift and rshift. + (octave_value assign_op enum): Add lshift_eq and rshift_eq. + * ov.cc (assign_op_as_string, binary_op_as_string): Include them. + * parse.y (LSHIFT_EQ RSHIFT_EQ LSHIFT RSHIFT): New tokens. + Add them to the precedence list. + (simple_expr): Add new operators. + (make_assign_op, make_binary_op): Handle new operators. + * lex.l: Recognize new operators. + + * lex.l: Recognize them. + +Sun Apr 27 20:17:49 1997 John W. Eaton + + * pt-misc.cc (Vsilent_functions, silent_functions): + Move here from oct-usr-fcn.cc. + (symbols_of_pt_misc): New function. DEFVAR silent_functions. + (tree_statement_list::eval): Handle Vsilent_functions here instead + of in octave_user_function::eval. + (tree_statement::eval): New functions. + (tree_statement_list::eval): Use them. + Change print flag arg to silent flag. Change all callers. + * variables.cc (install_builtin_variables): Call symbols_of_pt_misc. + * toplev.cc (parse_and_execute): Delete print arg. Change all callers. + (eval_string): Change print flag arg to silent flag. Change callers. + + * dynamic-ld.h, dynamic-ld.cc: Rewrite to use singleton class. + * variables.cc (load_fcn_from_file): Use new dynamic linking class. + + * dynamic-ld.h (Octave_builtin_fcn): Delete typedef. + * dynamic-ld.cc: Simplify via the magic of function pointers. + + * pt-fcn.h pt-fcn.cc pt-fvc.h pt-fvc.cc pt-fvc-base.h pt-fvc-base.cc: + Delete obsolete files. + * Makefile.in: Remove them from various lists. + + * pt-walk.h (visit_octave_user_function): Rename from visit_function. + (visit_builtin): Delete. + * pt-pr-code.h, pt-pr-code.cc (visit_octave_user_function): + Rename from visit_function. + (visit_octave_user_function_header): Rename from visit_function_header. + (visit_octave_user_function_trailer): Rename from + visit_function_trailer. + + * ov.h, ov.cc (eval): New functions. + + * dassl.cc, fsolve.cc, lsode.cc, npsol.cc, qpsol.cc, quad.cc: + Declare user-defined functions as a pointer to an octave_symbol + object, not as a pointer to a tree_fvc object. + + * symtab.h, symtab.cc: Use new octave_symbol class. + * variables.cc (install_builtin_function, install_builtin_mapper, + install_builtin_variable, install_builtin_variable_as_function): + Make work with new octave_symbol class and symbol table structure. + + * variables.h: Delete declaration of builtin_function struct. + * defun-dld.h (DEFUN_DLD): Simplify. + * defun-int.h (DEFINE_FUN_STRUCT): Delete. + (DEFINE_FUN_STRUCT_FUN): Rewrite to not use static builtin_function + object. + + * mappers.h: Delete declaration of builtin_mapper_function struct. + * mappers.cc: Declare wrapper functions static. + * defun.h (DEFUN_MAPPER): Simplify. + + * oct-sym.h: New file. Declare base class for Octave symbols. + * ov.h: Derive octave_value class from octave_symbol. + * oct-fcn.h, oct-fcn.cc: New files to declare and define + base class for functions. + * oct-builtin.h, oct-builtin.cc: New files to declare and define + class for built-in functions. + * oct-mapper.h, oct-mapper.cc: New files to declare and define + class for mapper functions. + * oct-usr-fcn.h, oct-usr-fcn.cc: New files to declare and define + base class for user-defined functions. + * Makefile.in: Add new files to appropriate lists. + + * pt-id.h, pt-id.cc: Move tree_identifier class here. + * pt-fvc.h, pt-fvc.cc: From here. + + * pt-indir.h, pt-indir.cc: Move tree_indirect_ref class here. + * pt-fvc.h, pt-fvc.cc: From here. + +Thu Apr 24 03:58:16 1997 John W. Eaton + + * parse.y (magic_colon): New nonterminal. + (arg_list): Simplify using magic_colon. + + * lex.h (class lexical_feedback): Delete maybe_screwed field. + New field, parsed_function name. + * lex.l (lexical_feedback::init): Initialize it. + (handle_identifier): Don't return SCREW. Handle switching + symbol table context properly for `function f ()' vs `function x ='. + (is_keyword): If looking at function keyword, don't set current + symbol table to point to the local table. + * parse.y (recover_from_parsing_function): New function. + (finish_function_def): Use identifier, not token. + Simplify parsing of functions. + + * ov-list.h, ov-list.cc: New files to implement generic list type. + * ov.cc (list_indent): New global variable. + (increment_list_indent, decrement_list_indent): New functions. + (install_types): Register octave_list type. + * ov-base.cc (octave_base_value::is_list): New function. + + * oct-sym.h: New file. + * ov.h (class octave_value): Derive from octave_symbol class. + + * pt-const.h, pt-const.cc: Delete lots of old useless cruft. + + * pt-exp.h, pt-exp.cc (tree_binary_expression): Use type codes for + operators from octave_value instead of repeating them here. + + * pt-fvc-base.cc (tree_fvc::increment, tree_fvc::decrement): Delete. + * pt-fvc.cc (tree_identifier::increment): Get reference to value + and increment that instead of using virutal tree_fvc::increment + function. + + * lex.l: Handle +=, -=, *=, /=, .+=, .-=, .*=, ./=, &=, and |= ops. + * parse.y (make_assign_op): Rename from make_simple_assignment and + handle different op types. + (simple_expr1): Do new ops. + * pt-misc.cc (initialize_undefined_elements): Pass op to assign. + * pt-cmd.cc (tree_for_command::do_for_command_once): Likewise. + * pt-fvc.cc (tree_identifier::assign): Pass op. + * pt-exp.cc (tree_simple_assignment_expression): Handle new ops. + * variables.cc (octave_variable_reference::assign): Likewise. + * ov.h (class octave_value): Likewise. + * ov.cc (octave_value::assign_op_as_string): New function. + (octave_value::assign, octave_value::convert_and_assign, + octave_value::try_assignment_with_conversion, + octave_value::try_assignment): Pass op. + * pt-pr-code.cc (tree_print_code::visit_simple_assignment_expression): + Use expr.oper() instead of printing "=". + * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-m-m.cc, + op-m-s.cc, op-str-str.cc: Pass op to INSTALL_ASSIGNOP. + * ops.h (INSTALL_ASSIGNOP): Pass op. + * ov-typeinfo.cc (do_register_assign_op): Include op type in table. + (do_lookup_assign_op): Use op in lookup. + + * ops.h (INSTALL_UNOP): Delete. + + * input.cc (generate_struct_completions, looks_like_struct): + Disable, since they don't work now anyway. + + * help.cc (Ftype): Work with octave_value instead of a pointer to + tree_constant. + * symtab.cc (symbol_record_info::symbol_record_info): Likewise. + +Tue Apr 22 22:59:55 1997 John W. Eaton + + * file-io.cc (Ffprintf): If first arg is a string, assume FID = 1. + +Fri Apr 18 20:16:34 1997 John W. Eaton + + * oct-obj.h, oct-obj.cc: Implement octave_value_list with + Array as a data member, not as a class derived from + Array. + (octave_value_list::length, octave_value_list::resize, + octave_value_list::prepend, octave_value_list::append, + octave_value_list::reverse): New functions. + + * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, + op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, + op-s-cm.cc, op-s-m.cc: Use new bool ops from liboctave instead of + the macros defined in ops.h. + +Thu Apr 17 13:12:22 1997 John W. Eaton + + * parse.y (ABORT_PARSE): Handle forced_interactive the same as + interactive. + +Mon Apr 14 01:46:50 1997 John W. Eaton + + * input.cc (octave_read): Don't forget to free input buffer if it + exists and has zero length. + (gnu_readline): Free buf if fgets returns 0. + +Wed Apr 9 00:03:57 1997 John W. Eaton + + * time.cc (mk_tm_map): Only set zone field if HAVE_TM_ZONE or + HAVE_TZNAME are defined. + +Tue Apr 8 12:39:21 1997 John W. Eaton + + * time.cc (extract_tm): Set tm.tm_zone if HAVE_TM_ZONE is defined, + not if HAVE_TMZONE is defined. + + * Makefile.in (%.oct : %.o): Use $(SH_LD), not $(CXX). + +Wed Apr 2 21:32:16 1997 John W. Eaton + + * dynamic-ld.cc, dynamic-ld.h (init_dynamic_linker): Delete + function and declaration. + * octave.cc (main): Don't call it. + +Mon Mar 31 00:37:48 1997 John W. Eaton + + * pt-base-exp.h (tree_expression::eval): Give arg a default value. + * pt-const.h (tree_constant::eval): Likewise. + * pt-exp.h (tree_prefix_expression::eval, tree_colon_expression::eval, + tree_postfix_expression::eval, tree_unary_expression::eval, + tree_binary_expression::eval, tree_boolean_expression::eval, + tree_simple_assignment_expression::eval): Likewise. + * pt-fcn.h (tree_function::eval): Likewise. + * pt-fvc.h (tree_identifier::eval, tree_indirect_ref::eval, + tree_builtin::eval): Likewise. + * pt-mat.h (tree_matrix::eval): Likewise. + * pt-misc.h (tree_statement_list::eval): Likewise. + * pt-mvr-base.h (tree_multi_val_ret::eval): Likewise. + * pt-mvr.h (tree_oct_obj::eval, tree_index_expression::eval, + tree_multi_assignment_expression::eval): Likewise. + * dassl.cc, fsolve.cc, load-save.cc, lsode.cc, npsol.cc, parse.y, + pt-cmd.cc, pt-exp-base.cc, pt-exp.cc, pt-fvc.cc, pt-mat.cc, + pt-misc.cc, pt-mvr.cc, pt-plot.cc, quad.cc, toplev.cc, variables.cc: + Change callers of eval() to use bool instead of int and to make + use of default argument value. + + * toplev.h, toplev.cc (parse_and_execute, eval_string): Flag args + are now bool instead of int. + + * symtab.h, symtab.cc: Use bool instead of int in more places. + * variables.h, variables.cc: Likewise. + * lex.h, lex.l: Likewise. + * parse.y: Likewise. + * help.cc, input.cc, lex.l, load-save.cc, parse.y, pt-fcn.cc: + Change callers of symbol_table::lookup to use bool instead of int, + and to make use of default arguments. + +Fri Mar 28 15:33:11 1997 John W. Eaton + + * parse.y (Vwarn_comma_in_declaration): Delete. + (symbols_of_parse): Delete DEFVAR for warn_comma_in_declaration. + (decl1): Don't allow commas in declarations. + + * lsode.cc (struct LSODE_OPTIONS): Handle integer options. + (print_lsode_option_list, set_lsode_option, show_lsode_option): Ditto. + (lsode_option_table): Add element for step limit. + (lsode_user_jacobian): New function. + (Flsode): Allow function name arg to be a 2-element string array + specifying the function and jacobian function. + + * variables.cc (get_global_value, set_global_value): New functions. + +Wed Mar 26 17:08:27 1997 John W. Eaton + + Implement static variable declaration: + + * lex.l (is_keyword): Handle static. + * octave.gperf: Likewise. + * parse.y (Vwarn_comma_in_declaration): Rename from + Vwarn_comma_in_global_decl. + Handle new static command. + * pt-cmd.h, pt-cmd.cc (class tree_decl_command): New base class + for static and global declaration commands. + (class tree_global_command): Derive from tree_decl_command. + (class tree_static_command): New class, derived from tree_decl_command. + * pt-fvc.cc, pt-fvc.h (tree_identifier::mark_as_static): New function. + * pt-misc.h, pt-misc.h (class tree_decl_elt): Rename from tree_global. + (class tree_decl_init_list): Rename from tree_global_init_list. + * pt-pr-code.cc, pt-pr-code.h (tree_print_code::visit_decl_command): + Rename from visit_global_command. + (tree_print_code::visit_decl_elt): Rename from visit_global. + (tree_print_code::visit_decl_init_list): Rename from + visit_global_init_list. + * pt-walk.h (tree_walker::visit_decl_command): Rename from + visit_global_command. + (tree_walker::visit_decl_elt): Rename from visit_tree_global. + (tree_walker::visit_decl_init_list): Rename from + visit_global_init_list. + * variables.cc (link_to_global_variable): Trying to make a static + variable global is an error. + * SLList-misc.cc: Instantiate lists of pointers to tree_decl_elt + objects, not tree_global objects. + * symtab.h, symtab.cc (symbol_record::tagged_static): New field. + (symbol_record::mark_as_static, symbol_record::is_static): + New functions. + * symtab.cc (symbol_record::init_state): Initialize tagged_static. + (symbol_record::clear): Don't clear static variables. + * symtab.cc (push_context): Don't do anything for static variables. + +Tue Mar 25 17:17:17 1997 John W. Eaton + + * ov-bool-mat.cc, ov-bool-mat.h, ov-bool.cc, ov-bool.h: New files. + + * defaults.cc (symbols_of_defaults): DEFCONST OCTAVE_HOME. + + * toplev.cc (octave_config_info): Delete use of CXXLIBS. + * oct-conf.h.in: Ditto. + + * octave.cc (maximum_braindamage): Don't bind prefer_zero_one_indexing. + * ov.h: Don't declare Vprefer_zero_one_indexing. + * ov.cc: Don't define Vprefer_zero_one_indexing. + (prefer_zero_one_indexing): Delete. + (symbols_of_value): Delete DEFVAR for prefer_zero_one_indexing. + + * ov.h, ov.cc, ov-base.h, ov-base.cc: Add constructors and + extractors for bool and boolMatrix types. + + * ov.cc (install_types): Register octave_bool and + octave_bool_matrix types. + + * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, + op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, + op-s-cm.cc, op-s-m.cc, op-s-s.cc, ov-re-mat.cc: + Return boolMatrix instead of Matrix object. + * ops.h (BOOL_OP3, MX_MX_BOOL_OP): Likewise. + + * op-b-b.h, op-b-b.cc, op-bm-bm.h, op-bm-bm.cc: New files. + * Makefile.in: Add them to the lists. + * ops.cc: Include header files here. + (install_ops): Call install_b_b_ops() and install_bm_bm_ops() here. + + * variables.cc (symbols_of_variables): Don't rely on default + conversion from int to double for value returned from + default_history_size(). + + * pr-output.cc: Include cstdio. + + * parse.y (param_list_end): Fix typo in last change. + + * quad.cc (quad): Cast integer return values to double. + * npsol.cc (show_npsol_option): Likewise. + * qpsol.cc (show_qpsol_option): Likewise. + * file-io.cc (Fsprintf, Ffwrite): Likewise. + +Mon Mar 24 13:11:47 1997 John W. Eaton + + * ov-typeinfo.cc (typeinfo): If invoked with an argument, return + the type of the argument as a string. Fix doc string. + +Thu Mar 20 14:47:49 1997 John W. Eaton + + * mk-oct-links (links_dir): Don't use -h option for grep. It's + not needed since we are working on one file at a time anyway. + +Mon Mar 17 10:53:29 1997 John W. Eaton + + * lex.l (handle_identifier): When handling indirect_ref, set + lexer_flags.quote_is_transpose to 1 so that a.b' to work as + expected. + + * parse.y (param_list_beg, param_list_end): New nonterminals. + (param_list, param_list1): Use them. + +Wed Mar 12 16:57:28 1997 John W. Eaton + + * Makefile.in (install-strip): New target. + +Mon Mar 10 22:38:16 1997 John W. Eaton + + * Makefile.in (clean): Delete .oct files too. + + * toplev.cc (Vdefault_eval_print_flag): New static variable. + (eval_string): New arg, print. + (Feval): Pass Vdefault_eval_print_flag to eval_string. + (default_eval_print_flag): New function. + (symbols_of_toplev): New function. + + * variables.cc (install_builtin_variables): Call it. + + * pt-exp.h, pt-exp.cc (class tree_boolean_expression): Rename enum + fields `and' and `or' to `bool_and' and `bool_or'. + (tree_unary_expression): Rename enum field `not' to `unot'. + (class tree_binary_expression): Rename enum fields `and' and `or' + to `el_and' and `el_or'. + * parse.y: Change all uses. + + * time.cc (extract_tm): Truncate field values instead of rounding. + (gmtime, localtime): Likewise, for timeval. + + * ov.h (class octave_value): Delete unused variable freeptr. + + * mappers.cc: Delete functions that are already in + liboctave/lo-mappers.cc. + + * oct-strstrm.cc (octave_base_strstream::tell): Use const_cast, + not static_cast. + + * help.cc (help_from_list): Add missing const qualifiers. + * help.h (struct help_list): Likewise. + * lex.l (match_any, plot_style_token): Likewise. + * load-save.cc (extract_keyword, ascii_save_type): Likewise. + * oct-hist.cc (mk_tmp_hist_file): Likewise. + * octave.cc (execute_startup_files): Likewise. + * octave.gperf (struct octave_kw): Likewise. + * pr-output.cc (pr_any_float): Likewise. + * pt-mvr.cc (tree_index_expression::eval_error): Likewise. + * pt-exp-base.h, pt-exp.h, pt-exp.cc: Likewise. + * parse.y: Likewise. + +Sun Mar 9 03:46:45 1997 John W. Eaton + + * pt-exp-base.h (tree_expression): Delete extra comma at end of list. + + * dirfns.cc error.cc file-io.cc fsolve.cc input.cc load-save.cc + npsol.cc pt-fcn.cc qpsol.cc quad.cc syscalls.cc toplev.cc + variables.cc: Eliminate embedded newlines in string constants. + + * Map.cc, data.cc, dirfns.cc, dynamic-ld.cc, file-io.cc, + fsolve.cc, getgrent.cc, getpwent.cc, getrusage.cc, help.cc, + input.cc, load-save.cc, mappers.cc, minmax.cc, npsol.cc, + oct-fstrm.cc, oct-procbuf.h, oct-stdstrm.cc, oct-stdstrm.h, + oct-stream.cc, oct-stream.h, oct-strstrm.cc, octave.cc, + ov-base.h, ov-range.cc, ov-typeinfo.cc, ov.cc, pr-output.cc, + pt-cmd.cc, pt-exp.cc, pt-fcn.cc, pt-fvc.cc, pt-mat.cc, + pt-misc.cc, pt-plot.cc, qpsol.cc, quad.cc, sort.cc, strfns.cc, + symtab.cc, syscalls.cc, sysdep.cc, time.cc, toplev.cc, + unwind-prot.cc, unwind-prot.h, variables.cc, xpow.cc: + Use `static_cast (val)' instead of old C-style `(T) val' casts. + +Sat Mar 8 02:35:13 1997 John W. Eaton + + * load-save.cc (save_ascii_data, save_three_d): Where appropriate, + use bool instead of int. + (save_binary_data, save_mat_binary_data, save_ascii_data): + Print warning instead of error for wrong type arg. + + * gripes.cc (gripe_wrong_type_arg): New arg, is_error. + + * pt-plot.cc (save_in_tmp_file): Call save_ascii_data with bool + arg, not int. + +Fri Mar 7 00:56:16 1997 John W. Eaton + + * dassl.cc (show_dassl_option): For values that are determined + automatically, return a string instead of a magic value (-1.0). + * fsolve.cc (show_fsolve_option): Likewise. + * lsode.cc (show_lsode_option): Likewise. + * npsol.cc (show_npsol_option): Likewise. + * qpsol.cc (show_qpsol_option): Likewise. + + * variables.cc (extract_function): New function. + * dassl.cc (Fdassl): Use it instead of is_valid_function. + * fsolve.cc (Ffsolve): Likewise. + * npsol.cc (Fnpsol): Likewise. + * qpsol.cc (Fqpsol): Likewise. + * quad.cc (Fquad): Likewise. + +Thu Mar 6 20:07:24 1997 John W. Eaton + + * sighandlers.cc (my_friendly_exit, octave_new_handler, + sigfpe_handler, sigpipe_handler): Don't all error() or warning(). + + * pager.cc (pager_death_handler): Don't try to clear pager, just + print message to cerr. + (do_sync): If the status of the pager is bad or it looks like it + is dead, restore the interrupt handler. + + * load-save.cc (extract_keyword (istream&, char*, int&)): + Move declaration of buf inside loop, to avoid deleting its guts + and then trying to reuse it. + (extract_keyword (istream&, char*)): Likewise. + +Tue Mar 4 20:36:53 1997 John W. Eaton + + * pt-fcn.cc (tree_function::eval): Protect function from being + redefined while it is being evaluated. + (unprotect_function): New function, for use with unwind_protect stuff. + * pt-fcn.h (tree_function::symtab_entry): New data member. + (tree_function::init): Initialize it to 0. + (tree_function::stash_symtab_ptr): New function. + * parse.y (frob_function_def): Stash pointer to function's + symbol_record in the function definition. + + * symtab.cc (symbol_record::read_only_error): New argument, + action. Change all callers. + (symbol_record::rename): Don't allow read-only symbols to be renamed. + + * variables.cc (Fexist): Don't let files with `.' in their names + confuse us. + + * symtab.cc (valid_identifier (const string&)): New function. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Sat Mar 1 01:34:08 1997 John W. Eaton + + * Makefile.in (stamp-oct-links): New target. Make links in build + directory too, so that the tests will work. + + * quad.cc: If quad is defined, undefine it. + + * octave.cc: If WITH_KPATHSEARCH is defined, don't define + program_invocation_name or program_invocation_short_name. + + * strftime.c: Update to current version from FSF. + * time.cc (Fstrftime): Call strftime with buf = 0 to get buffer + size, then call again to actually format the time struct. + +Fri Feb 28 01:49:48 1997 John W. Eaton + + Implement switch statement: + + * parse.y (Vwarn_variable_switch_label): New static variable. + (warn_variable_switch_label): New function. + (symbols_of_parse): Provide warn_variable_switch_label as Octave + variable here. + (make_switch_case, finish_switch_command): New functions. + (maybe_warn_variable_switch_label): New function. + (end_error): Handle endswitch. + (switch_command, case_list, case_list1, switch_case, default_case): + New nonterminals. + (command): Add switch_command here. + * lex.l (is_keyword): Handle switch, case, otherwise, and endswitch. + * octave_gperf: Recognize switch, case, otherwise, and endswitch. + * token.h (end_tok_type): New item, switch_end. + * pt-cmd.cc (tree_switch_command): New class. + * pt-misc.cc (tree_switch_case, tree_switch_case_list): New classes. + * pt-pr-code.cc (tree_print_code::visit_switch_case, + tree_print_code::visit_switch_case_list, + tree_print_code::visit_switch_command): New functions. + * pt-walk.h (tree_walker::visit_switch_case, + tree_walker::visit_switch_case_list, + tree_walker::visit_switch_command): New pure virtual declarations. + Implement new switch statement. + * SLList-misc.cc: Instantiate lists of pointers to + tree_switch_case objects too. + + * lex.h, lex.l, parse.y: Delete all references to lexer_flags::iffing. + + * syswait.h: Include sys/wait.h on NeXT systems, but don't use the + WIFEXTED, WEXITSTATUS, and WIFSIGNALLED macros defined there. + Also define waitpid in terms of wait4. From Rex A. Dieter + . + +Wed Feb 26 16:43:31 1997 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): Don't report an + error if a conversion fails or we reach EOF. + +Tue Feb 25 22:21:05 1997 John W. Eaton + + * time.cc (strftime): increase initial buffer size. + +Mon Feb 24 17:49:21 1997 John W. Eaton + + * pt-fvc.cc (tree_builtin::eval): Enable checking for max number + of arguments. + + * error.cc (handle_message): Don't fail if args is empty. + +Sun Feb 23 22:42:52 1997 John W. Eaton + + * lex.h (lexical_feedback::looking_at_return_list): New field. + (lexical_feedback::looking_at_parameter_list): Ditto. + * lex.l (lexical_feedback::init): Initialize them. + (handle_identifier): Use them. + * parse.y: Likewise. + +Fri Feb 21 15:35:18 1997 John W. Eaton + + * lex.l: Require flex 2.5 or later (we really want 2.5.4 or later, + but there seems to be no good way to check the patchlevel). + + * oct-stream.cc (octave_base_stream::oscanf): Instead of returning + an error, just quit processing after a conversion fails. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Wed Feb 19 10:30:14 1997 John W. Eaton + + * sighandlers.cc (octave_ignore_interrupts, + octave_catch_interrupts, octave_set_interrupt_handler): + Return old value, not pointer to static data. Fix all uses. + + * sighandlers.h (octave_interrupt_handler): Move declaration here. + * sighandlers.cc: From here. + + * toplev.cc: Undo previous change. + + * lex.l (handle_identifier): Allow commands like ls, save, etc. to + also be used as simple variable names. Also make it possible to + use the normal function call syntax to invoke them. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Makefile.in (%.oct:%.o, %.oct:pic/%.o): Use $(SH_LDFLAGS) here. + + * Version 2.0.3 released. + +Tue Feb 18 00:27:49 1997 John W. Eaton + + * toplev.cc (run_command_and_return_output): + Block SIGCHLD while running subprocess. + (cleanup_iprocstream): Unblock it here. + + * sighandlers.h (BLOCK_SIGNAL, BLOCK_CHILD, UNBLOCK_CHILD): Move here. + * sighandlers.cc: From here. + + * toplev.cc (system): Shift then mask exit status. + + * help.cc (try_info): Shift first, then mask exit status. + + * toplev.cc (octave_config_info): Handle option argument. + +Fri Feb 14 16:23:30 1997 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): Don't forget to + check to see if the result matrix needs resizing! + + * Makefile.in (bin-dist): Don't write empty strings to LIBRARIES. + +Thu Feb 13 03:02:08 1997 John W. Eaton + + * Makefile.in (stamp-prereq): Depend on stamp-picdir. + (all): Don't depend on stamp-prereq or stamp-picdir. + (stamp-tinst, stamp-interp, libtinst.a, liboctinterp.a): + Do depend on stamp-prereq. + (stamp-picdir): Silence noise about making pic. + (stamp-tinst, stamp-interp): Use $(SH_LD) $(SH_LDFLAGS) instead of + $(CXX) -shared. + + * oct-conf.h.in: Reinstate RLD_FLAG. + * toplev.cc (octave_config_info): Likewise. + + * data.cc (map_d_m, map_m_d, map_m_m): Rename from map. + (Fatan2): Use new function names. + + * pt-fvc.cc (apply_mapper_fcn): Use member function map() instead + of friend function. + + * gripes.cc (gripe_wrong_type_arg (const char*, const string&)): + New function. + +Wed Feb 12 17:27:53 1997 John W. Eaton + + * syscalls.cc (symbols_of_syscalls): Add O_ASYNC and O_SYNC. + +Mon Feb 10 01:22:27 1997 John W. Eaton + + * dirfns.cc (Freaddir, Fmkdir, Frmdir, Frename): + Also return status and error message. + + * syscalls.cc (Fdup2, Fexec, Ffork, Ffcntl, Funlink, Fmkfifo, + Fpipe, Fwaitpid): Also return error message. + +Sat Feb 8 17:16:09 1997 John W. Eaton + + * pt-exp.cc (tree_simple_assignment_expression::eval): Return + value of RHS, but (if printing) print complete value of LHS. + + * pr-output.cc (octave_print_internal): Print a new line for empty + string matrices. + +Wed Feb 5 14:30:44 1997 John W. Eaton + + * oct-stream.cc (scanf_format_list::process_conversion): Accept + but don't actually use h, l, and L modifiers. Always insert l + modifier for floating point conversions. + +Fri Jan 31 13:55:10 1997 John W. Eaton + + * pager.cc (do_sync): Always flush the cout stream after writing. + +Wed Jan 29 08:25:29 1997 John W. Eaton + + * defaults.cc (exec_path): Don't include bin_dir in std_path. + + * pager.cc (do_sync): Flush the cout stream after writing if + running in interactive or forced_interactive mode. + + * mk-oct-links: Rename from mk-oct-links.in. + Don't use symbolic links. + * Makefile.in: Distribute mk-oct-links, not mk-oct-links.in + (mk-oct-links): Delete target. + (install-oct, bin-dist): Don't depend on mk-oct-links. + Run $(srcdir)/mk-oct-links, not ./mk-oct-links. + + * qr.cc (qr): Doc fix. + +Tue Jan 28 10:48:28 1997 John W. Eaton + + * Makefile.in (install-inc): Create a relative symbolic link. + (install-bin): Create a relative symbolic link. + +Mon Jan 27 12:12:03 1997 John W. Eaton + + * Version 2.0.2 released. + + * Makefile.in (CXXFLAGS_NO_PT_FLAGS): Rename from XALL_CXXFLAGS. + Substitute bsd_gcc_kluge_targets_frag. + + * sysdep.cc (Fsleep): New function. + (Fusleep): New function. + + * toplev.cc (octave_config_info): Don't include RLD_FLAG. + * oct-conf.h.in: Don't define RLD_FLAG + +Sun Jan 26 19:41:48 1997 John W. Eaton + + * sighandlers.cc (sigchld_handler): Block SIGCHLD while + sigchld_hander is running. + +Sat Jan 25 22:36:39 1997 John W. Eaton + + * Makefile.in (bin-dist): Update for 2.x. + +Fri Jan 24 10:05:00 1997 John W. Eaton + + * mk-oct-links.in: New arg, -p, to just print list of files to link. + + * lex.l (handle_number): Convert `D' or `d' exponents to `e' + before scanning. + +Thu Jan 23 10:00:00 1997 John W. Eaton + + * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_no_op_command): + New function. + * pt-cmd.h, pt-cmd.cc (tree_no_op_command): New class. + * parse.y (make_break_command, make_continue_command, + make_return_command): Where they don't really make sense, turn + these commands into no-ops. Accept return and break if reading a + script file. + * toplev.cc (parse_and_execute): Handle return and break in script + files. Quit executing commands if an error occurs when reading a + script file. Set global_command to 0 after deleting it. + (main_loop): If not interactive or forced_interactive, handle + break and return, and quit executing commands if an error occurs. + Set global_command to 0 after deleting it. + * error.cc (Ferror): Doc fix. + * pt-walk.h (tree_walker): Add declaration for visit_no_op_command. + +Wed Jan 22 20:54:12 1997 John W. Eaton + + * input.cc (gnu_readline): If not using readline, flush + rl_outstream after printing prompt. + (octave_gets): Also call flush_octave_stdout() if + forced_interactive, not just if interactive. + (do_input_echo): If forced_interactive, only echo prompt and + command line if also reading a script file. + +Tue Jan 21 23:02:34 1997 John W. Eaton + + * SLList.h: Include "BaseSLList.h", not . + +Mon Jan 20 11:11:12 1997 John W. Eaton + + * lex.l (token_stack): Don't declare static. + * pt-plot.cc (tmp_files): Likewise. + * toplev.cc (octave_atexit_functions): Likewise. + * unwind-prot.cc (unwind_protect_list): Likewise. + + * ops.h (MX_MX_BOOL_OP): Correctly handle case of one or both + arguments being empty. Change all callers. + + * oct-stream.cc (printf_value_cache::looking_at_string): + Handle empty strings correctly now that they are 0x0. + + * file-io.cc: Don't include "syswait.h" here. + +Sun Jan 19 22:38:45 1997 John W. Eaton + + * oct-stream.h (octave_base_stream::seek): Declare offset arg as + streamoff, not streampos. + (octave_stream::seek): Likewise. + * oct-strstrm.h (octave_base_strstream::seek): Likewise. + * oct-stdstrm.h (octave_base_stdiostream::seek): Likewise. + * oct-iostrm.h (octave_base_iostream::seek): Likewise. + * oct-fstrm.h (octave_fstream::seek): Likewise. + +Fri Jan 17 18:13:10 1997 John W. Eaton + + * file-io.cc (Ffflush): Handle stdout as a special case. + + * oct-stream.cc (octave_stream_list::do_get_file_number): + Do the work for octave_stream::get_file_number. + (octave_stream_list::get_file_number): Convert to static function. + +Wed Jan 8 11:42:44 1997 John W. Eaton + + * log.cc (sqrtm): For complex arg case, compute sqrt, not log. + +Tue Jan 7 00:16:41 1997 John W. Eaton + + * Version 2.0.1 released. + +Mon Jan 6 00:00:07 1997 John W. Eaton + + * pt-mat.cc (tm_row_const_rep::all_mt): New variable. + (tm_row_const::all_empty): New function. + (tm_row_const::tm_row_const_rep::init): Set all_mt here. + (tm_const::all_mt): New variable. + (tm_const::all_emtpy): New function. + (tm_const::init): Set all_mt here. + (tree_matrix::eval): Return an empty matrix if the list contains + only empty elements. If it contains only empty strings, return an + empty string. + +Sun Jan 5 12:50:25 1997 John W. Eaton + + * ops.h (SC_MX_BOOL_OP, MX_SC_BOOL_OP): New arg, empty_result. + * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, + op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, + op-s-cm.cc, op-s-m.cc, op-str-str.cc: Change all uses of + SC_MX_BOOL_OP and MX_SC_BOOL_OP macros. Return correct results + for empty matrix cases. + + * pt-fcn.cc (tree_function::eval): If Vdefine_all_return_values is + true, initialize return values before evaluating function, for + compatibility with Matlab. + + * oct-stream.cc (get_size): Correctly set size when arg is scalar. + +Thu Jan 2 12:40:10 1997 John W. Eaton + + * Makefile.in (install-oct): Quote $(OCT_FILES) in for loop to + avoid syntax error from ksh. + + * pr-output.cc (octave_print_internal): Avoid unused parameter + warning from gcc. + +Thu Dec 19 12:13:42 1996 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): + Don't treat %l{e,f,g} differently from %{e,f,g}. + (octave_base_stream::do_oscanf): Likewise. + + * sighandlers.cc (sigchld_handler): Fix typos. + +Wed Dec 18 20:17:23 1996 John W. Eaton + + * file-io.cc (Ffgetl, Ffgets): Also return number of characters read. + + * ov-range.cc (octave_range::not): New function. + * ov-range.h (octave_range::uminus): New function. + + * BaseSLList.cc: Include error.h. + (BaseSLList::error): Call ::error() to process error message. + +Fri Dec 13 02:38:19 1996 John W. Eaton + + * ov.cc (octave_value::convert_and_assign): Preserve lhs value if + assignment fails. + +Wed Dec 11 12:33:16 1996 John W. Eaton + + * pt-plot.cc (GPLOT_CMD_END): Don't put semicolons at the end of + each plot command; it causes trouble with gnuplot 3.5. + +Tue Dec 10 00:31:13 1996 John W. Eaton + + * Version 2.0 released. + + * pr-output.cc (set_format_style): Don't try to access argv unless + argc > 1. + + * SLList-expr.cc SLList-misc.cc SLList-plot.cc SLList-str.cc + SLList-tc.cc SLList-tm.cc SLList.h SLStack-i.cc SLStack-pc.cc + SLStack-str.cc SLStack-sym.cc SLStack-tok.cc SLStack-ue.cc + SLStack-ui.cc, pt-mat.cc: Include Stack.h, Stack.cc, SLStack.cc, + and SLList.cc as necessary. + + * Stack.cc, SLStack.cc, SLList.cc: New files. + * Makefile.in (SOURCES): Add them to the list. + +Mon Dec 9 12:03:45 1996 John W. Eaton + + * Makefile.in (install-bin): Use $(EXE) suffix so install will + find the right file on cygwin32 systems. + + * ov.h: Declare proper form of do_binary_op as friend to + octave_value class. + +Sat Dec 7 22:00:10 1996 John W. Eaton + + * oct-stream.cc (do_printf_conv, do_scanf_conv, + do_oscanf_num_conv, do_oscanf_str_conv): Convert to real + functions instead of CPP macros, using templates where necessary. + (do_oscanf_num_conv, do_oscanf_str_conv): Correctly handle + discarded values. + +Fri Dec 6 00:20:25 1996 John W. Eaton + + * Version 1.94. + + * Map-*.cc, SLList-*.cc, SLStack-*.cc: Include config.h. + + * ov.h: Don't include SLList.h. + + * SLStack.cc: Delete. Move everything to SLStack.h. + + * BaseSLList.h, BaseSLList.cc: New files. Split out the + non-template base class parts of SLList. + + * Makefile.in (TEMPLATE_SRC): Delete. Move files to SOURCES. + * Map.h, Map.cc: Add #pragma interface/implementation. + * SLStack.h, SLStack.cc: Add #pragma interface/implementation. + + * SLList.h, SLList.cc: New files, from libg++, but with #pragma + interface/implementation. + * Makefile.in (SOURCES): Add SLList.cc. + (INCLUDES): Add SLList.h. + +Thu Dec 5 18:36:44 1996 John W. Eaton + + * octave.cc: Don't include sun-utils.h. + +Tue Dec 3 23:47:09 1996 John W. Eaton + + * op-str-str.cc (eq, ne): Handle operations with scalars. + +Thu Nov 21 12:30:36 1996 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str): Provide transpose and + hermitian operators. + * ov-ch-mat.h (octave_char_matrix): Likewise. + +Wed Nov 20 00:35:57 1996 John W. Eaton + + * sighandlers.h (struct octave_interrupt_handler): Provide + forward declaration here. + * sighandlers.cc (octave_interrupt_handler): New struct. + (octave_catch_interrupts): Rename from catch_interrupts. + (octave_ignore_interrupts, octave_set_interrupt_handler): + New functions. + * help.cc, oct-hist.cc, pager.cc, toplev.cc: Use new functions for + handling interrupts so that we can hide the details of whether or + not we have to deal with SIGBREAK. + + * pt-plot.cc [! HAVE_POSIX_SIGNALS] (open_plot_stream): + Simply ignore and restore the interrupt handler here. + + * sighandlers.cc (MAYBE_REINSTALL_SIGHANDLER): New macro. Use it + instead of always checking MUST_REINSTALL_SIGHANDLERS everywhere. + (sigchld_handler): If octave_child_list is empty, wait for any + child, but don't hang, and don't collect status info. + [__EMX__] (sigchld_handler): Save and restore handlers for SIGINT, + SIGBREAK, and SIGCHLD. Ignore them while waiting on children. + (install_signal_handlers): If SIGBREAK exists, handle it like SIGINT. + + * toplev.cc [USE_READLINE] (clean_up_and_exit): + Call rl_deprep_terminal() to restore terminal settings. + + * sysdep.cc [__EMX__ && OS2] (Fextproc): New command. + [__EMX__ && OS2] (FEXTPROC): Alias for Fextproc. + + * Version 1.93. + + * sysdep.cc (octave_chdir): [__EMX__]: Make copy of string before + converting to upper case. + + * getgrent.cc (mk_gr_map): Only set the passwd field if + HAVE_GR_PASSWD is defined. + +Tue Nov 19 12:01:13 1996 John W. Eaton + + * sysdep.cc (OS2_init): New function. + [__EMX__] (sysdep_init): Call it. + + * lex.l (plot_style_token): Add new plot styles for gnuplot 3.6. + * pt-plot.cc (subplot_style::columns_ok): Rename from + subplot_style::errorbars. Recognize more styles and do a better + job of diagnosing column number/style mismatches. + + * sighandlers.cc (my_friendly_exit): If we are called twice, try + to remove the signal handler for SIGABRT and the call abort (). + + * help.cc (Ftype): If a function is defined from a file and + transformed text has not been requested, just print the contents + of the file. + + * parse.y (fold): New functions for constant folding for binary + and unary expressions. Keep track of original text even when + transformations occur. + (make_binary_op, make_boolean_op, make_unary_op): Use them. + (finish_colon_expression, finish_matrix): Keep track of original + text even when transformations occur. + + * help.cc (Ftype): Don't mess with Vps4. + Handle new option `-transformed'. + + * pt-const.h, pt-const.cc (tree_constant::print): + New arg, pr_orig_text. + + * pt-exp.h, pt-exp.cc (tree_colon_expression::is_range_constant): + Delete. + + * pt-exp-base.h (tree_expression::original_text): New virtual function. + pt-exp-base.cc (tree_expression::original_text): Default version. + + * pt-pr-code.h (tree_print_code::print_original_text, + tree_print_code::prefix): New fields. + * pt-pr-code.cc (tree_print_code::visit_constant): Pass + print_original_text to tree_constant::print(). + (tree_print_code::indent): Use prefix instead of Vps4. + * pt-fcn.cc (tree_function::print_function_header, + tree_function::print_function_trailer): Pass Vps4 to + tree_print_code_constructor for prefix. + * pt-misc.cc (tree_statement::maybe_echo_code): Pass Vps4 to + tree_print_code_constructor for prefix. + + * pt-mat.h, pt-mat.cc (tree_matrix::all_elements_are_constant): + Rename from is_matrix_constant. + (tree_matrix_row::all_elements_are_constant): Likewise. + Change all callers. + +Mon Nov 18 14:13:32 1996 John W. Eaton + + * Makefile.in (install-inc): Try harder to create the link from + include/octave to include/octave-VERSION. + +Sun Nov 17 14:14:48 1996 John W. Eaton + + * Makefile.in (parse.cc): Expect 13 shift/reduce conflicts. + + * parse.y (set_stmt_print_flag): New function. + (sep_type): New member for bison %union declaration. + Simplify rules for statement lists keeping track of the type of + the first separator in the values associated with the + nonterminals for the separators. + + * lex.l (handle_identifier): Set lexer_flags.doing_set if the + token is "gset", not "set". + +Sat Nov 16 21:41:26 1996 John W. Eaton + + * Makefile.in (parse.cc, lex.cc): Add special rules for these files. + Delete pattern rules for .y and .l files. + +Fri Nov 15 13:48:02 1996 John W. Eaton + + * pt-plot.cc: Put semicolons at the ends of all plot commands. + + * defaults.cc (subst_octave_home): Start subsequent searchs from + the end of the replaced text. + + * pr-output.cc (pr_any_float): Kluge for SCO systems. + + * pr-output.cc (pr_any_float, pr_complex): Don't declare inline. + + * mappers.cc: Include lo-ieee.h, for isinf and isnan on SCO + systems. + +Thu Nov 14 00:06:19 1996 John W. Eaton + + * pt-plot.cc (Fgset, Fgshow): New commands. + (Fshow): Print warning and call gshow. + (Fset): Print warning and call gset. + + * variables.cc (parse_fcn_file): Add unwind-protect for file + pointer, so the file is always closed. + (get_help_from_file): Likewise. + * toplev.cc (parse_and_execute): Likewise. + + * Makefile.in (install-oct): Depend on mk-oct-links. + (mk-oct-links): New target. + + * Version 1.92. + +Wed Nov 13 11:13:22 1996 John W. Eaton + + * sighandlers.cc (sys_siglist): [__EMX__]: Add definitions. + + * octave.cc (execute_startup_files): Allow init file name ot be + specified by an environment variable. + + * dirfns.cc (make_absolute): [__EMX__]: Path is already absolute + if it begins with any character followed by a colon. + + * load-save.cc (read_mat_ascii_matrix, get_lines_and_columns, + get_complete_line): New functions, for reading headless text files. + (load_save_format): Add LS_MAT_ASCII, for headless text files. + (do_load): Handle LS_MAT_ASCII files. + Thanks to Mel Melchner for initial version + of this code. + + * sysdep.cc: Conditionally include ieeefp.h. + (BSD_init, SCO_init): New functions. + (sysdep_init): Conditionally call them here. + +Tue Nov 12 00:14:56 1996 John W. Eaton + + * pt-plot.cc (open_plot_stream): Don't block SIGCHLD. + + * load-save.cc (read_binary_data): When reading string arrays, be + sure to create an octave_char_matrix_str object, not just an + octave_char_matrix object. + (read_ascii_data): Likewise. + +Mon Nov 11 22:52:58 1996 John W. Eaton + + * load-save.cc (read_binary_data): Don't forget teminating NUL for + string that we plan to insert. + (read_ascii_data): Likewise. + +Sun Nov 10 16:58:07 1996 John W. Eaton + + * dirfns.cc (Ffnmatch): New function. + + * octave.cc (intern_argv): Use new string_vector constructor. + + * ov-str-mat.cc (octave_char_matrix_str::all_strings): Have + charMatrix::row_as_string() strip trailing whitespace. + + * dirfns.cc (Fglob): new function. + + * sysdep.cc (oct_tilde_expand): Provide version that works on + string vectors too. + (Ftilde_expand): Work on string vector args. + + * load-save.cc (save_binary_data): Call char_matrix_value() to + extract charMatrix from octave_value object, not all_strings(). + (save_ascii_data): Likewise. + * pt-mat.cc (tree_matrix::eval): Likewise. + + * ov.h (octave_value::all_strings): Return string_vector, not + charMatrix. + * ov-base.cc (octave_base_value::all_strings): Likewise. + * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::all_strings): + Likewise. + +Fri Nov 8 09:54:59 1996 John W. Eaton + + * defaults.cc, dynamic-ld.cc, fn-cache.cc, help.cc, oct-hist.cc, + octave.cc, pager.cc, pt-fcn.cc, toplev.cc, utils.cc, variables.cc, + lex.l: Change #include "" to #include <> for defaults.h, + oct-conf.h, oct-gperf.h, y.tab.h, and version.h, to avoid getting + them from $srcdir when we really want the version from the build + directory. (Maybe this should be done for all the include files, + not just those that are auto-generated? Hmm.) + + * defaults.h.in (CXXLIB_LIST, CXXLIB_PATH, FLIB_LIST, FLIB_PATH): + Delete. + + * Makefile.in (install-oct): Use $(INSTALL_PROGRAM) for .oct files. + +Thu Nov 7 07:59:07 1996 John W. Eaton + + * variables.cc (gobble_leading_white_space): New arg, update_pos. + * (is_function_file): Don't update file position information here. + + * Version 1.91. + + * pt-fvc.cc (tree_indirect_ref::reference): If the lhs object is + not a map, convert it to one. + + * ov-typeinfo.h (init_tab_sz): New static member. + + * ov-struct.cc, ov-struct.h: Add hooks for custom memory management. + * ov-scalar.cc, ov-scalar.h: Likewise. + * ov-re-mat.cc, ov-re-mat.h: Likewise. + * ov-range.cc, ov-range.h: Likewise. + * ov-cx-mat.cc, ov-cx-mat.h: Likewise. + * ov-complex.cc, ov-complex.h: Likewise. + * ov-ch-mat.cc, ov-ch-mat.h: Likewise. + +Wed Nov 6 12:32:48 1996 John W. Eaton + + * pager.cc (do_sync): Don't call clear_external_pager() here. + + * pt-const.h (tree_constant::allocator) New static member. + (tree_constant::operator new, tree_constant::operator delete): + Implement with custom allocator. + + * syscalls.cc (Fgetgid, Fgetegid): New functions. + + * sighandlers.cc (sigchld_handler): If necessary, reinstall + handler after call to waitpid(). + + * pager.cc (pager_death_handler): Don't use warning() to print + message. + + * getgrent.cc: New file. + * Makefile.in (DLD_SRC): Add it. + + * ov.cc (octave_value::print_with_name): Call is_map() instead of + print_as_structure(). + * ov-struct.cc (octave_struct::print): Likewise. + + * ov.h, ov.cc, pt-const.h: Delete force_numeric(), make_numeric(), + convert_to_matrix_type(), print_as_structure() member functions. + + * variables.cc (is_function_file): Call gobble_leading_whitespace + here to strip all leading whitespace and comments. + (parse_fcn_file): If reading a function file, call + gobble_leading_whitespace again after resetting parser state to + grab help text. + +Tue Nov 5 13:00:35 1996 John W. Eaton + + * syscalls.cc (Fgeteuid, Fgetuid): New functions. + + * getpwent.cc: Use gripe_not_supported from gripes.cc, instead of + local gripe_not_implemented function. + + * input.cc, sysdep.cc, variables.cc: Only include readline.h and + history.h if USE_READLINE is defined. + + * help.cc: Make it compile without warnings even if USE_GNU_INFO + is not defined. + + * sighandlers.h (octave_child_list): Don't define + HAVE_POSIX_SIGNALS HERE. + + * sighandlers.cc (SIGHANDLER_RETURN): New macro. + (generic_sig_handler, sigchld_handler, sigfpe_handler, + sigint_handler, sigpipe_handler): Use it. + (sigchld_handler, sigfpe_handler, sigint_handler, sigpipe_handler): + Only reinstall signal handler if MUST_REINSTALL_SIGHANDLER is defined. + +Sun Nov 3 00:45:30 1996 John W. Eaton + + * pt-const.cc (tree_constant::print): Just call val.print(). + * ov-base.cc, ov-ch-mat.cc, ov-colon.cc, ov-complex.cc, + ov-cx-mat.cc, ov-range.cc, ov-re-mat.cc, ov-scalar.cc, + ov-str-mat.cc, ov-struct.cc ov-va-args.cc, ov.cc (print): + Handle pr_as_read_syntax arg. + + * defaults.cc (subst_octave_home): Search for prefix repeatedly in + retval, not s. + + * gripes.h: Make declaration of gripes_not_supported match + definition. + + * mk-oct-links.in: In sed command, match "DEFUN_DLD *( *", not + "DEFUN_DLD_BUILTIN *( *". + + * chol.cc, colloc.cc, dassl.cc, det.cc, eig.cc, expm.cc, fft.cc, + fft2.cc, filter.cc, find.cc, fsolve.cc, fsqp.cc, getpwent.cc, + getrusage.cc, givens.cc, hess.cc, ifft.cc, ifft2.cc, inv.cc, + log.cc, lpsolve.cc, lsode.cc, lu.cc, minmax.cc, npsol.cc, pinv.cc, + qpsol.cc, qr.cc, quad.cc, qzval.cc, rand.cc, schur.cc, sort.cc, + svd.cc, syl.cc, time.cc: Change all uses of DEFUN_DLD_BUILTIN to + be just DEFUN_DLD. + + * defun-dld.h: Eliminate DEFUN_DLD_BUILTIN. + + * syswait.h: Use #ifdef HAVE_SYS_WAIT_H, not #if HAVE_SYS_WAIT_H + to decide whether to include sys/wait.h. + + * pt-exp-base.h (tree_expression): Declare oper() here as a + virtual member function. + + * pt-pr-code.cc (tree_print_code::visit_constant): Check for + string before checking for char_matrix. + + * ov-ch-mat.cc (octave_char_matrix::print): Supply correct number + of args to octave_print_internal(). + +Sat Nov 2 20:44:55 1996 John W. Eaton + + * file-io.cc (Ftmpnam): Rename from Foctave_temp_file_name. + + * Makefile.in (DLD_SRC): Move time.cc and getrusage.cc here from + SOURCES. Add getpwent.cc. + + * getrusage.cc: Rename from resource.cc. Make getrusage a + loadable function. + + * time.cc: Rename from timefns.cc. Make time functions loadable. + + * getpwent.cc: New file. + +Wed Oct 30 01:06:19 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + + * ov-range.cc (octave_range::convert_to_str): New function. + + * ov-str-mat.h (octave_char_matrix_str::char_matrix_value): + Delete function. Already handled by octave_char_matrix class. + + * ov-ch-mat.h (octave_char_matrix::convert_to_str): New function. + + * pager.cc (Fmore): Set page_screen_output to 1.0 or 0.0, not + "true" or "false". + + * ov-ch-mat.cc, ov-struct.cc, ov-struct.h, pr-output.cc, + pt-cmd.cc, pt-const.cc, pt-const.h, pt-fcn.cc, pt-fvc-base.cc, + pt-fvc-base.h, pt-fvc.cc, pt-fvc.h, rand.cc, sighandlers.cc, + variables.cc, variables.h: Delete unused code. + + * octave.cc: Only include pwd.h if HAVE_PWD_H. + + * oct-strstrm.h: Include , not . + + * defaults.cc, dirfns.cc, file-io.cc, help.cc, input.cc, + oct-hist.cc, oct-procbuf.cc, oct-procbuf.h, octave.cc, pager.h, + procstream.h, pt-misc.cc, pt-plot.cc, sighandlers.cc, strftime.c, + syscalls.cc, sysdep.cc, syswait.h, toplev.cc, utils.cc, + variables.cc: Only include sys/types.h if HAVE_SYS_TYPES_H. + + * error.h (panic): Use GCC_ATTR_NORETURN macro, not NORETURN. + * toplev.h (clean_up_and_exit): Likewise. + * utils.h (jump_to_top_level): Likewise. + + * derfaults.h.in, defaults.cc (local_arch_lib_dir): New variable. + * defaults.cc (set_default_local_arch_lib_dir): New function. + (install_defaults): Call it. + (exec_path): Use Vlocal_arch_lib_dir here. + * toplev.cc (octave_config_info): Add localarchlibdir to structure. + +Tue Oct 29 15:54:27 1996 John W. Eaton + + * Makefile.in (install-oct): Don't do anything if $(OCT_FILES) is + empty. + + * ov-range.cc (octave_range::index): New Function. + (octave_range::all, octave_range::any, octave_range::is_true): + Make these functions work. + + * ov.cc (octave_value::try_assignment_with_conversion): Remove + left over debugging print statements. + +Mon Oct 28 10:49:03 1996 John W. Eaton + + * strftime.c: Add missing #endif for previous change. + +Sun Oct 27 14:06:44 1996 John W. Eaton + + * oct-hist.cc (do_history): Rewite option parsing to avoid + (probably bogus) errors from g++ on cygwin32 system. + + * strftime.c: Use autoconf macros TIME_WITH_SYS_TIME and + HAVE_SYS_TIME_H to decide which time.h files to include. + + * oct-stream.h, oct-stream.cc (octave_stream::error, + octave_base_stream::error): Rename errno => err_num. + +Sat Oct 26 10:40:05 1996 John W. Eaton + + * oct-hist.cc (do_history): Move declaration of file inside + conditional. + + * defun.h (DEFVAR_INT): Set eternal flag with (svc_fcn != 0) + instead of (sv_fcn ? 1 : 0) + +Fri Oct 25 01:10:51 1996 John W. Eaton + + * ov-ch-mat.h (octave_char_matrix::any): Return 0.0 instead of false. + (octave_char_matrix::all): Likewise. + + * input.cc (Fecho): When binding value of echo_executing_commands, + cast ECHO_* to double. + + * sighandlers.cc (octave_child_list::do_remove): Delete unused + variable `enlarge'. + + * pt-const.h (tree_constant::tree_constant (const tree_constant&)): + Don't pass arg to tree_fvc constructor. + + * resource.cc (getrusage): [HAVE_GETRUSAGE && RUSAGE_TIMES_ONLY]: + Only fill in time values. + +Thu Oct 24 20:37:28 1996 John W. Eaton + + * parse.y: Comment out the %expect declaration so byacc can + compile this file. + (if_cmd_list): Add missing semicolon. + Include for getenv if using byacc. + + * ov.h: Move typedefs outside of octave_value class scope to avoid + problem with cygwin32 beta16 compiler. + +Fri Oct 18 13:44:33 1996 John W. Eaton + + * ov.h (octave_value::index): Undo previous change. + * ov.cc (octave_value constructors): Call maybe_mutate() in most + cases. + + * ov-complex.cc (octave_complex::index): Avoid implicit type + conversion back to scalar type. + * ov-scalar.cc (octave_scalar::index): Likewise. + + * ov.h (octave_value::index): Call maybe_mutate() on retval before + returning it. + +Wed Oct 16 12:00:11 1996 John W. Eaton + + * ov.h (octave_value::struct_elt_val): New optional arg, silent. + * ov-base.h, ov-base.cc, ov-struct.h, ov-struct.cc: Likewise, but + for the derived classes the arg is required. + + * data.cc (Fstruct_contains): Require arguments to be struct and + string, respectively. Call octave_value::struct_elt_val with + silent flag set. + + * pt-mat.cc (tm_row_const::tm_row_const_rep::eval_error, + tm_row_const::tm_row_const_rep::eval_warning): New functions. + (tm_row_const::tm_row_const (const tree_matrix_row&): Use them to + give better error messages. + + * pt-fvc.cc (tree_identifier::eval): Avoid dereferencing null + object_to_eval. + +Tue Oct 15 11:35:51 1996 John W. Eaton + + * op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc + (complex_matrix_conv): New functions. + Install preferred assignment conversion and widening ops. + + * op-s-cm.cc, op-s-cs.cc (complex_matrix_conv): New functions. + Install preferred assignment conversion and widening ops. + + * op-s-m.cc, op-s-s.cc (matrix_conv): New functions. + Install preferred assignment conversion and widening ops. + + * ov.cc (octave_value::try_assignment_with_conversion, + octave_value::convert_and_assign, octave_value::try_assignment): + New functions. + (octave_value::assign): Use them to implement twisted logic for + type conversions in assigments. + + * pt-const.h (tree_constant::maybe_mutate): New function. + * ov.h (octave_value::maybe_mutate): New function. + (octave_value::try_narrowing_conversion): New function. + Use just one typedef for widening_op_fcn and numeric_conv_fcn. + Change all uses. + * ov-base.h, ov-complex.h, ov-complex.cc, ov-cx-mat.h, + ov-cx-mat.cc, ov-range.h, ov-range.cc, ov-re-mat.h, ov-re-mat.cc, + Provide derived class versions of try try_narrowing_conversion(). + + * pr-output.cc (octave_print_internal): Don't bother handing off + to scalar/real versions, even when it would seem appropriate. + + * symtab.cc (symbol_def::define (tree_constant *)): Call + maybe_mutate on constants here. + +Mon Oct 14 11:05:24 1996 John W. Eaton + + * pt-fvc.cc (tree_identifier::eval): If retval is undefined and + the object to eval is a constant, print error message. + + * Makefile (distclean): Remove *.oct too. + + * defun-int.h: Include variables.h here. + +Sun Oct 13 10:52:28 1996 John W. Eaton + + * variables.cc (print_symbol_info_line): Never print negative + diminsions. + + * symtab.h (octave_symbol_record_info): Store const_type as string. + (octave_symbol_record_info::init): Delete. Fix constructors. + (octave_symbol_record_info::type_name): Handle const_type as string. + + * octave.cc (maximum_braindamage): Replace "true" with 1.0 and + "false" with 0.0 in calls to bind_builtin_variable(). + Include sun-utils.h here. + (intern_argv): Also bind __argv__. + +Sat Oct 12 13:40:21 1996 John W. Eaton + + * Makefile.in (distclean): Also delete mk-oct-links. + +Fri Oct 11 13:13:13 1996 John W. Eaton + + Changes for Octave's new type system: + + * arith-ops.cc: Delete. + * pt-const.h, pt-const.cc: Massive changes. Most functionality + moved to ov.h, ov.cc, and derived classes. + + * variables.h, variables.cc (octave_variable_reference): New class + for getting references to variables and structure elements used in + assignments or value contexts. + + * symtab.h, symtab.cc (symbol_record::define (const octave_value&), + symbol_record::variable_value, symbol_record::variable_reference): + New functions. + (symbol_record_info::type_name): Rename from type_as_string. + + * pt-fvc-base.h, pt-fvc-base.cc (tree_fvc::increment, + tree_fvc::decrement): New functions to replace + tree_fvc::bump_value. + #if 0 assign and lookup_map_element functions. + + * pt-mvr.cc (tree_multi_assignment_expression::eval): + Generated RHS value is now a tree_constant. + + * pt-exp.h, pt-exp.cc (tree_boolean_expression): New class. + (tree_unary_expression, tree_binary_expression, + tree_boolean_expression): Move codes here from tree_expression. + (tree_simple_assignment_expression): Cope with changes to way of + doing assignments. + + * pt-exp-base.h, pt-exp-base.cc (enum type): Delete codes for + unary and binary ops. + (tree_expression::expression_type): Delete. + (tree_expression::is_logically_true): Hand off to + octave_value::is_true to do real work. + + * pr-output.h, pr-output.cc (any_element_is_inf_or_nan, + all_elements_are_ints): Delete. Call member new functions for + these operations. + (free_format, plus_format, bank_format, hex_format, + compact_format, print_e, print_big_e): Use bool, not int. + (octave_print_internal): Hand off to scalar/real versions when + appropriate. + + * octave.cc (main): Call initialize_types() and install_ops(). + (verbose_usage): Add WWW address to output. + + * parse.y (indirect_ref): Handle by making a tree instead of a + list using new version of tree_indirect_ref class. + + * parse.y (make_boolean_op): New function. Use it instead of + make_binary_op to create trees for && and || ops. + (make_binary_op): Codes come from tree_binary_expression now, + instead of tree_expression. + (make_unary_op): Codes come from tree_unary_expression now, + instead of tree_expression. + (make_boolean_op): Codes come from tree_boolean_expression. + + *parse.y (tree_constant_type): Change type to tree_constant* from + octave_value*, and rename from octave_value_type. Change uses. + + * defun.h (DEFVAR_INT): Pass octave_value not pointer to + octave_value for defn when creating builtin_variable. + + * gripes.h, gripes.cc (gripe_invalid_conversion): Args are + strings, not char*. + (gripe_implicit_conversion, gripe_divide_by_zero): New extern + gripe functions. + + * mkbuiltins: For each file, create a separate static function to + install builtins, then create another single extern function to + call all of them. + + * pt-fcn.cc (tree_function::bind_nargin_and_nargout): + Just pass doubles and let symbol_record::define handle creating + new value. + + * pt-pr-code.cc, pt-pr-code.h (visit_constant): Renamed from + visit_octave_value. + (visit_unary_expression): Use tree_expression::is_prefix_op() + instead of switch on op types. + + * pt-walk.h (visit_constant): Renamed from visit_octave_value. + + * pt-misc.cc (initialize_undefined_elements): Get reference to + tmp, then assign. + * pt-cmd.cc (do_for_loop_once): Likewise, for loop identifier. + + * input.cc (generate_struct_completions, looks_like_struct): Cast + tmp_fvc to tree_constant*, not octave_value*. + (get_user_input): Call print() on retval, not eval(1). + + * help.cc (Ftype): Cast defn to tree_constant*, not octave_value*. + + * balance.cc: Fix docstring. + + * dassl.cc, fsolve.cc, load-save.cc, lsode.cc, npsol.cc, qpsol.cc, + quad.cc: + Include pt-fvc.h. + + * data.cc (Fstruct_contains): call octave_value::struct_elt_val, + not octave_value::lookup_map_element. + + * dirfns.cc (Fcd): Pass directory name as string directly to + bind_builtin_variable instead of creating new octave_value. + + * toplev.cc: Include pt-fvc.h and lo-mappers.h + + * data.cc, error.cc, file-io.cc, load-save.cc, pager.cc, + pt-mat.cc, pt-plot.cc, syscalls.cc, toplev.cc: + Include variables.h. + + * Array-tc.cc, Map-tc.cc, SLList-misc.cc SLList-tc.cc, data.cc, + defaults.cc, dynamic-ld.cc, error.cc, gripes.cc, lex.l, octave.cc, + oct-map.h, oct-map.cc, oct-obj.h, pt-cmd.cc, pt-exp.cc, pt-fcn.cc, + pt-fvc-base.cc, pt-mat.cc, pt-misc.cc, pt-mvr-base.cc, pt-mvr.h, + resource.cc, strfns.cc, sysdep.cc, timefns.cc, toplev.cc: + Include ov.h instead of pt-const.h. + + * xpow.cc (any_element_is_negative): Delete. + (xpow and elem_xpow functions): Check conformance here. + + * xdiv.cc (mx_leftdiv_conform, mx_div_conform): + Now template-based, taking Matrices instead of dimensions as args. + Change all callers. + + * op-cm-cm.cc, op-cm-cm.h, op-cm-cs.cc, op-cm-cs.h, op-cm-m.cc, + op-cm-m.h, op-cm-s.cc, op-cm-s.h, op-cs-cm.cc, op-cs-cm.h, + op-cs-cs.cc, op-cs-cs.h, op-cs-m.cc, op-cs-m.h, op-cs-s.cc, + op-cs-s.h, op-m-cm.cc, op-m-cm.h, op-m-cs.cc, op-m-cs.h, op-m-m.cc, + op-m-m.h, op-m-s.cc, op-m-s.h, op-s-cm.cc, op-s-cm.h, op-s-cs.cc, + op-s-cs.h, op-s-m.cc, op-s-m.h, op-s-s.cc, op-s-s.h, + op-str-str.cc, op-str-str.h, ops.cc, ops.h, ov-base.cc, ov-base.h, + ov-ch-mat.cc, ov-ch-mat.h, ov-colon.cc, ov-colon.h, ov-complex.cc, + ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, ov-range.cc, ov-range.h, + ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, + ov-str-mat.h, ov-struct.cc, ov-struct.h, ov-typeinfo.cc, + ov-typeinfo.h, ov-va-args.cc, ov-va-args.h, ov.cc, ov.h: + New files for Octave's new type system. + * Makefile.in: Add them to the appropriate lists. + +Sat Sep 14 21:58:33 1996 John W. Eaton + + * mkbuiltins: Use .df instead of .def. + Write one function for each .df file, then call them + all in install_builtin_functions(). + * Makefile.in: Handle .df instead of .def. + + * balance.cc (balance): Fix typo in doc string. + +Wed Aug 28 21:01:49 1996 John W. Eaton + + * octave.cc (verbose_usage): Include WWW address and bug-octave + mailing list address. + +Tue Aug 20 17:41:19 1996 John W. Eaton + + * Makefile.in: Only define pattern rules for making .oct files if + OCTAVE_LITE is true. + Only add pic/ to $(TI_OBJ) if $(SHARED_LIBS) is true. + (stamp-picdir): Only create a pic subdirectory if SHARED_LIBS or + OCTAVE_LITE is true AND CPICFLAG or CXXPICFLAG is not empty. + + * minmax.cc (Fmin, Fmax): Deal with changes to Matrix class + min/max methods. + +Thu Jul 25 01:42:38 1996 John W. Eaton + + * input.cc (generate_possible_completions): Force the names to be + unique. + + * load-save.cc (read_mat_binary_data): Expect to read terminating + NUL character in the variable name. + (save_mat_binary_data): Likewise, save it here. + +Wed Jul 24 05:08:07 1996 John W. Eaton + + * lsode.cc (Flsode): Don't set the return value if an error + occurred during integration. + * dassl.cc (Fdassl): Likewise. + + * file-io.cc (symbols_of_file_io): Redefine values of SEEK_SET, + SEEK_CUR, and SEEK_END for Matlab compatibility. + * oct-stream.cc (seek): Check for compatible values of ORIGIN arg. + Also handle "bof", "cof", and "eof". + +Fri Jul 19 15:24:36 1996 John W. Eaton + + * pt-const.cc: When creating octave_value_reps from ComplexMatrix + values, check to see if all the elements are actually real. + +Tue Jul 16 10:53:42 1996 John W. Eaton + + * input.cc (decode_prompt_string): Swap meanings of \h and \H. + +Mon Jul 15 16:01:51 1996 John W. Eaton + + * toplev.cc (run_command_and_return_output): Renamed from do_system. + (Fsystem): Make `system ("emacs")' work as one would expect. + +Sun Jul 14 17:34:33 1996 John W. Eaton + + * file-io.cc (Ffopen, Ffread, Ffwrite): Update doc strings, + correctly handle default architecture and precision args. + + * load-save.cc (mopt_digit_to_float_format): Rename from + get_floating_point_format. + (float_format_to_mopt_digit): New function. + + * oct-stream.cc (octave_base_stream::read, octave_base_stream::write): + Simplify by calling Matrix::read and Matrix::write to do real work + of reading, writing, and format conversion. + + * oct-stream.h (octave_base_stream): Move data_type enum to + liboctave/data-conv.h. Use float_format from + liboctave/mach-info.h instead of arch_type enum. + + * sysdep.h, sysdep.cc (octave_words_big_endian, ten_little_endians): + Delete. Now part of oct_mach_info class in liboctave. + +Tue Jul 9 11:18:59 1996 John W. Eaton + + * arith-ops.cc, balance.cc, dassl.cc, data.cc, filter.cc, find.cc, + fsolve.cc, load-save.cc, log.cc, lsode.cc, minmax.cc, npsol.cc, + oct-obj.cc, oct-stream.cc, pr-output.cc, pt-cmd.cc, pt-const.cc, + pt-fvc.cc, pt-plot.cc, quad.cc, rand.cc, sighandlers.cc, sort.cc, + syscalls.cc, unwind-prot.cc, xdiv.cc, xpow.cc: + When indexing arrays, use operator() instead of elem() so that + bounds checking can be done consistently. + +Mon Jun 24 02:13:27 1996 John W. Eaton + + * Makefile.in (install-oct): Use INSTALL_PROGRAM, instead of + INSTALL_DATA for installing shared libraries. + + * lex.l (grab_help_text): Ignore all initial comment characters, + not just the first. + * variables.cc (gobble_leading_white_space): Likewise. + +Sat Jun 22 22:43:45 1996 John W. Eaton + + * input.h, input.cc (octave_completion_matches_called): New varaible. + (Fcompletion_matches): Set it to true on a successful call. + * toplev.cc (main_loop): If octave_completion_matches_called is + true, don't increment current_command_number. + +Thu Jun 13 03:52:19 1996 John W. Eaton + + * variables.cc (is_mapper_function_name, + is_builtin_function_name): New functions. + (Fdocument): Use them. + Define as regular function, not a text style function. + +Thu Jun 6 00:09:25 1996 John W. Eaton + + * pt-plot.cc: Handle new built-in variable `gnuplot_has_frames'. + +Wed Jun 5 14:45:04 1996 John W. Eaton + + * input.cc (decode_prompt_string): \h now means the whole host + name and \H is the host name up to the first `.'. + +Thu May 30 23:41:51 1996 John W. Eaton + + * fn-cache.cc (octave_fcn_file_name_cache::do_list): Always + recompute the lists of function files instead of trying to cache + them. + +Tue May 28 12:05:24 1996 John W. Eaton + + * utils.cc (warn_old_style_preference): New function. + (check_preference): Use it. + + * fn-cache.h: Include here. + +Fri May 24 00:57:14 1996 John W. Eaton + + * input.cc (completion_matches): Don't return empty string_vectors. + + * octave.cc (long_opts): Add braindead. + +Thu May 23 01:49:33 1996 John W. Eaton + + * input.cc (gnu_readline): New optional arg, force_readline. + (get_user_input): Use it. + + * pt-const.cc (OCT_VAL_REP::assign): If converting the rhs to a + numeric value, convert a copy, not the actual object. + (OCT_VAL_REP::do_index): Prevent s([]) from resulting in a string + with zero rows. + + * mappers.cc: Handle toascii here. + * strfns.cc: Not here. + + * mappers.cc: Handle tolower and toupper here. + * mappers.h: Rename can_return_complex_for_real to flag and + overload meaning for ch_mapper. + * pt-fvc.cc (apply_mapper_fcn): Handle overloaded meaning. + + * syscalls.cc (stat): Return 3 values instead of just 1. + (lstat): Likewise. + +Wed May 22 02:34:20 1996 John W. Eaton + + * pt-const.cc (OCT_VAL_REP::make_numeric): For string to number + conversions, correctly set type tag before calling force_numeric. + (do_binary_op): Force string to number conversion if both args are + strings and we are doing some sort of comparison operation. + + * Makefile.in (stamp-tinst, stamp-interp): Use SH_TERMLIBS and + SH_LIBS instead of TERMLIBS and LIBS. + + * pt-const.cc (do_unary_op): Add special case to handle + transposing strings. + + * pt-mat.cc (Vstring_fill_char): New variable. + (symbols_of_pt_mat): DEFVAR it. + + * input.cc (generate_struct_completions, + generate_possible_completions): Return string_vector, not char **. + Change all callers. + + * pt-const.cc (lookup_map_element): Use substr() correctly. + +Tue May 21 21:37:17 1996 John W. Eaton + + * oct.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + + * octave.cc: New args --no-site-file and --no-init-file. Delete + --ignore-init-file. The flag --norc (-f) implies both + --no-site-file and --no-init-file. + +Fri May 17 01:54:51 1996 John W. Eaton + + * input.cc (Fcompletion_matches): New function. + + * utils.cc (get_fcn_file_names): Delete. + * help.cc (simple_help): Use new file name cache instead of + calling get_fcn_file_names. + * variables.cc (make_name_list): Likewise. + + * fn-cache.h, fn-cache.cc, Map-fnc.cc: New files. + * Makefile.in: Add them to the lists. + + * Makefile.in (uninstall): Install in octincludedir, not includedir. + + * pt-plot.h: Include here. + +Thu May 16 10:52:51 1996 John W. Eaton + + * oct-stream.cc (octave_stream::oscanf, octave_base_stream::oscanf, + octave_base_stream::do_oscanf): New functions for backward + compatibility with older versions of Octave. + (scanf_format_elt, scanf_format_list): Keep track of width specifier. + * file-io.cc (Fscanf): New function. + (Fscanf, Ffscanf, Fsscanf): Handle compatibility arg. + +Wed May 15 01:00:12 1996 John W. Eaton + + * oct-stream.cc (do_scanf): If doing '%c' conversion, unset + ios::skipws on input stream. + + * sighandlers.h, sighandlers.cc (octave_child, octave_child_list): + New classes for keeping track of the child processes we create. + (sigchld_handler): Check in octave_child_list to see if there is + anything we can do for the child that died. + * pager.cc: Register child pager process. + * pt-plot.cc: Likewise, for the plotter. + * Array-oc.cc: New file + * Makefile.in (TI_SRC): Add it to the list. + + * pager.cc (do_sync): Don't check error_state. + (flushing_output_to_pager): New static variable. + (flush_octave_stdout): Use it to avoid doing anything if already + flushing output. + + * sighandlers.cc (sigchld_handler): Call warning instead of + writing directly to cerr. + (sigpipe_handler): Call warning instead of message. + + * octave.cc (main): Call install_signal_handlers, + initialize_file_io, initialize_symbol_tables, and install_builtins + before parsing command line options. + + * user-prefs.h, user-prefs.cc: Delete. + + * utils.cc (check_preference): Move here. + * user-prefs.cc: From here. + + * defaults.cc: New file. Move initialization stuff from + variables.cc. Move DEFVARS for EDITOR, EXEC_PATH, LOADPATH, + IMAGEPATH, and OCTAVE_VERSION here. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + INFO_FILE and INFO_PROGRAM. + * help.cc: Move all of that here. + (symbols_of_help): Add DEFVARS for INFO_FILE and INFO_PROGRAM. + +Tue May 14 00:23:06 1996 John W. Eaton + + * pager.cc (do_sync): Be more defensive about sending stuff to the + external pager. + * sighandlers.cc (sigchld_handler): For now, only wait for + octave_pager_pid. Don't call error(). Do set octave_pager_pid to + -1 if the pager process no longer exists. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + PWD. + * dirfns.cc: Move all of that here. + (symbols_of_dirfns): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + default_save_format and save_precision. + * load-save.cc: Move all of that here. + (symbols_of_load_save): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + warn_divide_by_zero. + * arith-ops.cc: Move all of that here. + (symbols_of_arith_ops): New function. + * variables.cc (install_builtin_variables): Call it. + + * mappers.cc: Add wrappers for ctype is* functions so that they + will work on systems that only define them as macros. + +Mon May 13 00:27:08 1996 John W. Eaton + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + suppress_verbose_help_message. + * help.cc: Move all of that here. + (symbols_of_help): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + treat_neg_dim_as_zero. + * pt-const.cc: Move all of that here. + + * pager.cc (octave_pager_stream::do_sync): Don't return early if + not interactive. + + * data.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * data.cc (symbols_of_data): New function. Move definition of I, + Inf, J, NaN, e, eps, i, inf, j, nan, pi, realmin, and realmax here. + * variables.cc: From here. + (install_builtin_variables): Call symbols_of_data. + + * file-io.cc (symbols_of_file_io): New function. Move definition + of SEEK_CUR, SEEK_END, SEEK_SET, stdin, stdout, stderr here. + * variables.cc: From here. + (install_builtin_variables): Call symbols_of_file_io. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + do_fortran_indexing, implicit_str_to_num_ok, + ok_to_lose_imaginary_part, prefer_column_vectors, + prefer_zero_one_indexing, print_answer_id_name, + propagate_empty_matrices, resize_on_range_error, and + struct_levels_to_print. + * pt-const.cc: Move all of that here. + (symbols_of_pt_const): New function. + * variables.cc (install_builtin_variables): Call it. + * pt-fvc.cc (tree_identifier::assign): Use Vresize_on_range_error + instead of user_pref.resize_on_range_error here. + * load-save.cc (save_mat_binary_data): Use Vimplicit_str_to_num_ok + instead of user_pref.implicit_str_to_num_ok here. + * utils.cc (empty_arg): Use Vpropagate_empty_matrices instead of + user_pref.propagate_empty_matrices here. + * pt-exp-base.cc (tree_expression::is_logically_true): Likewise.. + + * pt-fcn.cc (symbols_of_pt_fcn): Also move DEFVAR for + default_return_value here. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + ps1, ps2, ps4, and completion_append_char. + * input.cc: Move all of that here. + (symbols_of_input): New function. + * variables.cc (install_builtin_variables): Call it. + * pt-pr-code.cc (indent): Use Vps4 instead of user_pref.ps4 here. + * help.cc (Ftype): Also here. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + automatic_replot, gnuplot_binary, and gnuplot_has_multiplot. + * pt-plot.cc: Move all of that here. + (symbols_of_pt_plot): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + beep_on_error. + * error.cc: Move all of that here. + (symbols_of_error): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + empty_list_elements_ok. + * pt-mat.cc: Move all of that here. + (symbols_of_pt_mat): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + define_all_return_values, return_last_computed_value, and + silent_functions. + * pt-fcn.cc: Move all of that here. + (symbols_of_pt_fcn): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + whitespace_in_literal_matrix. + * lex.l: Move all of that here. + (symbols_of_lex): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + warn_assign_as_truth_value, warn_comma_in_global_decl, + warn_function_name_clash, and warn_missing_semicolon. + * parse.y: Move all of that here. + (symbols_of_parse): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + output_precision, output_max_field_width, print_empty_dimensions, + and split_long_rows. + * pr-output.cc: Move all of that here. + (symbols_of_pr_output): New function. + * variables.cc (install_builtin_variables): Call it. + + * user-prefs.h, user-prefs.cc: Delete all stuff related to + page_screen_output, page_output_immediately, and pager_binary. + * pager.cc: Move all of that here. + + * user-prefs.h (check_preference): Provide declaration. + * user-prefs.cc (check_preference): Make external. + + * toplev.cc (Foctave_config_info): New function. + + * oct-conf.h.in: New file + * Makefile.in (oct-conf.h): New target. + Add it to the appropriate lists. + + * sighandlers.cc (sigchld_handler): Don't complain about wait + returning a negative value. + + * file-io.cc (Fsscanf, Fsprintf): Pass true for second arg of + octave_stream constructor. + + * oct-stream.h (octave_stream): New field, preserve. + (octave_stream::~octave_stream): If preserve, don't delete rep. + + * pager.cc (symbols_of_pager): Set default for + page_output_immediately to 0. + + * toplev.cc (do_system): Correctly handle return_output. + Append ends to output_buf before calling str(). + + * variables.cc: If M_PI and M_E are available, use them. + + * mk-oct-links.in (links_dir): If old link exists, delete it first. + +Sun May 12 01:46:07 1996 John W. Eaton + + * Makefile.in (DISTFILES): List defaults.h.in and oct-gperf.h here. + (INCLUDES): Not here. + (install-inc): New target. + (uninstall): Also delete libraries and include files. + (install-inc): If linkdir is a directory, leave it alone. + (TERMLIBS, LIBPLPLOT, LIBDLFCN): Don't substitute here (now in + Makeconf). + + * oct-stream.cc (octave_base_stream::do_read): Provide initial + value for tmp var. + + * pt-walk.h, pt-pr-code.h, pt-pr-code.cc: New tree-walking classes. + * Makefile.in: Add them to the appropriate lists. + * pt-fvc-base.h, pt-exp-base.cc, pt-fvc-base.cc, pt-mvr-base.cc, + pt-base.cc, pt-mvr.cc, pt-mat.h, pt-mat.cc, pt-fvc.cc, + pt-const.cc, pt-cmd.cc, pt-const.h, pt-misc.cc, pt-plot.cc, + pt-fcn.cc, pt-plot.h, pt-mvr.h, pt-mvr-base.h, pt-misc.h, + pt-fcn.h, pt-exp.h, pt-exp.cc, pt-exp-base.h, pt-fvc.h, pt-cmd.h, + pt-base.h: + Replace print_code stuff with accept() functions. + Add member access functions where necessary. + * help.cc (Ftype): Update to use new method of walking trees to + print text representation of user-defined functions. + + * file-io.cc (Ffscanf): Update doc string. + (Fsscanf): Likewise. + + * oct-stream.cc (octave_base_stream::do_read): Correctly set max_size. + Pad mval with zeros on final resize. + (octave_base_stream::do_scanf): Likewise. + (do_scanf_conv): Correctly resize mval. + +Sat May 11 05:14:09 1996 John W. Eaton + + * pager.cc (octave_pager_buf::sync): Correctly set bypass_pager. + + * lex.l ({SNLCMT}*\]{S}*): Match SNLCMT, not just SNL. + +Fri May 3 11:05:30 1996 John W. Eaton + + * pt-const.cc (OCT_VAL_REP::set_index): Complain if type can't be + indexed. + + * input.cc (get_user_input): Don't increment input line number if + input is coming from eval string. + + * user-prefs.cc: Allow empty strings for prompts. + +Thu May 2 10:50:29 1996 John W. Eaton + + * pt-mvr.h (class tree_oct_obj): Declare values data member const. + +Sun Apr 28 03:16:52 1996 John W. Eaton + + * user-prefs.h (user_preferences): New field, + `page_output_immediately'. + * user-prefs.cc (init_user_prefs): Initialize it. + (page_output_immediately): New function. + * pager.cc (syms_of_pager): Add DEFVAR. + (really_flush_to_pager): New file-scope variable. + (flush_octave_stdout): Set and restore it. + (octave_pager_buf::sync): Check it, user_pref.page_screen_output, + and user_pref.page_output_immediately to decide when to really + flush output. + (more_than_a_screenful): New function. If paging but not + immediately, then check this too. + + * pager.cc (default_pager): Move here from variables.cc. If pager + is less and LESS is not in the environment, append useful flags. + (symbols_of_pager): New function. + * variables.cc (install_builtin_variables): Call it. + Delete pager-related DEFVARs. + + * syswait.h (WIFSIGNALLED): Define if sys/wait.h doesn't. + + * sighandlers.cc: Handle SIGCHLD. + + * pager.cc, pager.h: Rewrite. + * pt-mvr.cc, pt-misc.cc, pt-fcn.cc, pt-const.cc, oct-hist.cc, + file-io.cc, help.cc, variables.cc, qpsol.cc, dassl.cc, quad.cc, + npsol.cc, lsode.cc, fsolve.cc, load-save.cc, dirfns.cc, octave.cc, + toplev.cc, error.cc, input.cc: + Write to octave_stdout and octave_diary instead of calling + maybe_page_output() or maybe_write_to_diary_file(). + + * oct-procbuf.h, oct-procbuf.cc: New files. + * procstream.h (class procstreambase): Use octave_procbuf instead + of procbuf from libg++, so we can get pids of subprocesses. + +Fri Apr 26 01:21:29 1996 John W. Eaton + + * pt-const.cc (OCT_VAL_REP::do_index): Call maybe_mutate() before + returning. + + * mappers.h (struct Mapper_fcn): Delete. + (struct builtin_mapper_function): New field ch_mapper. + * pt-fvc.h (tree_builtin): Convert type of mapper_fcn from + Mapper_fcn to builtin_mapper_function. + * variables.cc (install_builtin_mapper): Likewise, for arg. + Simplify, since we don't have to do the copying ourselves now. + * pt-fvc.cc (apply_mapper_function): Handle ch_mapper case. + * defun.h (DEFUN_MAPPER): Likewise. + * mappers.cc (install_builtin_mappers): Likewise. + Add ctype is* functions here. + +Thu Apr 25 00:57:06 1996 John W. Eaton + + * arith-ops.h, defun-int.h, defun.h, dynamic-ld.h, gripes.h, + load-save.h, oct-map.h, oct-obj.h, oct-stream.h, pt-cmd.h, + pt-const.h, pt-exp-base.h, pt-exp.h, pt-fcn.h, pt-fvc-base.h, + pt-fvc.h, pt-mat.h, pt-misc.h, pt-mvr-base.h, pt-mvr.h, pt-plot.h, + symtab.h, toplev.h, utils.h, variables.h, xpow.h, Array-tc.cc, + Map-i.cc, Map-tc.cc, SLList-tc.cc, arith-ops.cc, balance.cc, + bogus.cc, chol.cc, colloc.cc, dassl.cc, data.cc, det.cc, + dirfns.cc, eig.cc, error.cc, expm.cc, fft.cc, fft2.cc, file-io.cc, + filter.cc, find.cc, fsolve.cc, fsqp.cc, givens.cc, gripes.cc, + help.cc, hess.cc, ifft.cc, ifft2.cc, input.cc, inv.cc, + load-save.cc, log.cc, lpsolve.cc, lsode.cc, lu.cc, minmax.cc, + npsol.cc, oct-hist.cc, oct-obj.cc, oct-stream.cc, pager.cc, + pinv.cc, pr-output.cc, pt-cmd.cc, pt-const.cc, pt-exp-base.cc, + pt-exp.cc, pt-fcn.cc, pt-fvc-base.cc, pt-fvc.cc, pt-mat.cc, + pt-misc.cc, pt-mvr-base.cc, pt-mvr.cc, pt-plot.cc, qpsol.cc, + qr.cc, quad.cc, qzval.cc, rand.cc, resource.cc, schur.cc, sort.cc, + strfns.cc, svd.cc, syl.cc, symtab.cc, syscalls.cc, sysdep.cc, + timefns.cc, toplev.cc, utils.cc, variables.cc, xpow.cc, parse.y: + Rename tree_constant -> octave_value. + Rename Octave_object -> octave_value_list. + +Wed Apr 24 22:15:34 1996 John W. Eaton + + * toplev.cc (Fsystem): Merge functionality of async_system and + sync_system. + + * oct-fstrm.h, oct-iostrm.h, oct-prcstrm.h, oct-stdstrm.h, + oct-stream.h, oct-strstrm.h, oct-fstrm.cc, oct-iostrm.cc, + oct-prcstrm.cc, oct-stdstrm.cc, oct-stream.cc, oct-strstrm.cc, + Array-os.cc: New files. + * Makefile.in: Add them to the appropriate lists. + * file-io.cc: Rewrite to use new stream classes. + +Tue Apr 23 18:59:25 1996 John W. Eaton + + * gripes.cc (gripe_not_supported): New function. + + * toplev.cc (do_octave_atexit, Fatexit): New functions. + (octave_atexit_functions): New file-scope variable. + * octave.cc (main): Register do_octave_atexit with atexit. + + * variables.cc (install_builtin_variables): Call + symbols_of_syscalls here. + + * syscalls.h, syscalls.cc: New files. + +Mon Apr 22 21:14:01 1996 John W. Eaton + + * syscalls.cc: New file. + (Flstat, Fmkfifo, Fstat, Funlink, Fwait, Fwaitpid): Move here. + * file-io.cc: From here. + * Makefile.in (SOURCES): Add syscalls.cc to the list. + +Wed Apr 17 18:34:10 1996 John W. Eaton + + * file-info.h, file-info.cc: Delete files. + * Makefile.in: Remove from lists. + + * toplev.cc (Fquit): Accept exit status argument. + (Fflops): Delete (now a function file). + +Thu Apr 11 16:20:20 1996 John W. Eaton + + * lex.l: Recognize `.'. + Update current_input_column even for unrecognized characters. + Return LEXICAL_ERROR for unrecognized characters. + +Mon Apr 8 19:59:01 1996 John W. Eaton + + * variables.cc (install_builtin_variables): Split into several + functions to make compiling with g++ go faster and consume less + memory. + +Sun Apr 7 16:25:35 1996 John W. Eaton + + * load-save.cc (Fsave): Print usage if i == argc. + (Fload): Likewise. + +Sat Apr 6 21:26:49 1996 John W. Eaton + + * Makefile.in (clean): Also delete pic/*.o + (maintainer-clean, distclean): Also remove stamp-picdir, + stamp-tinst, stamp-interp, and pic directory. + (stamp-prereq): New target. + +Wed Apr 3 11:19:30 1996 Rick Niles + + * resource.cc: Don't make including sys/resource.h and sys/times.h + mutually exclusive. + +Fri Mar 29 13:43:37 1996 John W. Eaton + + * Makefile.in (distclean): Delete so_locations, which is created + on DEC Alpha systems. + +Thu Mar 28 02:53:48 1996 John W. Eaton + + * utils.h (undo_string_escape): Provide extern declaration here. + + * lex.l (NL): Allow \r\n as new line character. + (.): Complain if invalid character is found on input + +Fri Mar 22 03:47:52 1996 John W. Eaton + + * resource.cc (getrusage): If getrusage is missing, try using + times to at least fill in the cpu time values. If neither one is + available, return 0 for cpu times instead of NaN. + + * sighandlers.cc (octave_signal_mask): New file-scope variable. + (octave_save_signal_mask, octave_restore_signal_mask): New functions. + * toplev.cc (main_loop): Use them. + +Wed Mar 20 01:21:28 1996 John W. Eaton + + * utils.cc (get_fcn_file_names (const string&, int)): Resize + retval to value of k, not i. + (get_fcn_file_names (int)): In loop for copying names to retval, + don't increment j twice. + +Mon Mar 18 22:27:19 1996 John W. Eaton + + * Makefile.in ($(MAKEDEPS)): Depend on oct-gperf.h. + +Fri Mar 1 18:15:52 1996 John W. Eaton + + * fsolve.cc (fsolve_options): Delete unused argument nargout. + + * filter.cc: Use MArray instead of Array so that automatic + conversions will work again. + +Tue Feb 27 04:49:51 1996 John W. Eaton + + * variables.cc (looks_like_octave_copyright): Make the strings + that we are trying to match both have length 29. + + * Makefile.in (install-bin): Use $(INSTALL_PROGRAM), not $(INSTALL). + + * load-save.cc (read_mat_binary_data): Make sure name is + NUL terminated. + +Mon Feb 26 18:18:45 1996 John W. Eaton + + * variables.cc (whos): Make argv from tmp_args, not args. + + * defun.h (DEFCONSTX): Don't stringify name. + +Sat Feb 24 01:12:59 1996 John W. Eaton + + * Makefile.in (install-oct): Make mk-oct-links executable. + * mk-oct-links.in (links_dir): Update to match new format of + DEFUN_DLD_BUILTIN macro. Use LN_S, not just LN. + (links_dir): + + * pr-output.cc (octave_print_internal): New arg, extra_indent, for + versions of this function that take matrices and ranges. + * pt-const.cc (TC_REP::print (ostream&)): Fix printing of structures. + Pass struct_indent to octave_print_internal as appropriate. + (print_with_name (ostream&, const string&, bool)): Handle spacing + around `=' differently for structures. + +Fri Feb 23 04:51:04 1996 John W. Eaton + + * token.cc (token (double, const string&, int, int)): Store orig_text. + +Tue Feb 20 20:36:01 1996 John W. Eaton + + * variables.cc (Fclear): Fix off-by-one error. + +Sat Feb 17 16:54:02 1996 John W. Eaton + + * oct-hist.cc (default_history_file): Append "/.octave_hist" to + return value, not to home_directory. + +Fri Feb 16 18:10:46 1996 John W. Eaton + + * utils.cc: (NINT, D_NINT): Move to liboctave. + + * sysdep.cc (octave_ieee_init): Move to liboctave. + + * procstream.h, procstream.cc: Rewrite. + + * pager.cc (cleanup_oprocstream): New static function. + * toplev.cc (cleanup_iprocstream): Likewise. + * dirfns.cc (cleanup_iprocstream): Likewise. + + * unwind-prot.cc (matrix_cleanup, complex_matrix_cleanup): Delete. + +Thu Feb 15 22:03:28 1996 John W. Eaton + + * oct-obj.cc, oct-obj.h: Move most code to the header. + + * oct-obj.cc (make_argv, all_strings): New member functions. + * utils.cc: Moved from here. + + * load-save.cc: Move byte swapping stuff to liboctave. + Move float format conversion stuff to liboctave. + (all_parts_int, too_large_for_float): Move to liboctave. + + * symtab.cc (valid_identifier): Move here. + * load-save.cc: From here. + + * sysdep.cc: Move floating-point format stuff to liboctave. + * pr-output.cc: Include float-fmt.h here. + +Wed Feb 14 01:49:20 1996 John W. Eaton + + * defun.h, defun-dld.h, defun-int.h: Simplify interface for DEFUN, + DEFUN_DLD, DEFVAR, and DEFCONST macros. Change all uses. + + * qzval.cc: Move guts to liboctave. + +Tue Feb 13 10:28:27 1996 John W. Eaton + + * variables.cc (parse_fcn_file): Also avoid saving history if + input is from a script file. + + * help.cc (Ftype): Call unwind_protect_str for user_pref.ps4. + + * npsol.cc (nonlinear_constraints_ok): Now static. + + * npsol.cc (linear_constraints_ok): Now static. + * qpsol.cc (linear_constraints_ok): Duplicate here. + + * data.cc (Flinspace): Don't print usage message if nargin == 2. + +Sun Feb 11 14:20:32 1996 John W. Eaton + + * mk-oct-links.in: Rename from mk-oct-links. + (LN_S): Use this variable instead of ln. + Set -e option for shell. + Exit with status of last command. + Print message when making link. + * Makefile.in (DISTFILES): Add mk-oct-links.in to the list. + (install-oct): Run ./mk-oct-links, not $(srcdir)/mk-oct-links. + + * variables.cc (install_builtin_variables): Restore accidentally + deleted DEFVAR for save_precision. + +Fri Feb 9 11:24:32 1996 John W. Eaton + + * Makefile.in (INCLUDES): Delete statdefs.h from the list (it's + now in the liboctave directory). + + * toplev.cc (toplevel): Define here. + * octave.cc (toplevel): Not here. + + * toplev.cc (main_loop): New function. + * octave.cc (main): Call it here instead of doing main loop + actions here. + + * user-prefs.cc (do_fortran_indexing): Also set liboctave_dfi_flag. + (prefer_column_vectors): Also set liboctave_pcv_flag. + (prefer_zero_one_indexing): Also set liboctave_pzo_flag. + (resize_on_range_error): Also set liboctave_rre_flag. + + * variables.cc (restore_command_history): New function. + (parse_fcn_file): Use it here in unwind_protect. + + * dynamic-ld.cc (load_octave_oct_file): Reverse sense of test. + (load_octave_builtin): Delete. + (mangle_octave_oct_file_name): Delete. + + * pt-fvc.cc (tree_builtin::eval): Don't try to dynamically load + functions here. + + * pr-output.cc (set_format_style): Decrement argc for first arg too. + + * input.cc (gnu_readline): If readline returns an empty string, + convert it to a string containing a single newline character. + + * octave.cc (octave_argv): Now a static string_vector. + (intern_argv): Use string_vector ops, not charMatrix ops. + * toplev.cc (octave_argv): Delete definition. + * toplev.h (octave_argv): Delete declaration. + +Thu Feb 8 10:58:24 1996 John W. Eaton + + * Makefile.in (conf-dist): New target. + +Tue Feb 6 10:59:45 1996 John W. Eaton + + * help.cc (Ftype): Correctly handle structure names. + +Sun Feb 4 02:02:20 1996 John W. Eaton + + * qpsol.cc (Fqpsol): Call set_options(), not copy() to set + options for QPSOL objects. + + * npsol.cc (Fnpsol): Call set_options(), not copy() to set + options for NPSOL objects. + + * quad.cc (Fquad): Call set_options(), not copy() to set + options for Quad objects. + + * dynamic-ld.cc (load_octave_builtin): Don't call destructor on string. + (load_octave_oct_file): Likewise. + Check oct_file.empty(), not just oct_file. + + * fsolve.cc (Ffsolve): Call set_options(), not copy() to set + options for NLEqn object. + + * variables.cc (do_who): Properly set match patterns from argument + vector for call to maybe_list. + +Sat Feb 3 03:29:33 1996 John W. Eaton + + * octave.cc (long_opts): Properly set second field using new enum. + + * lsode.cc: Change ODE to LSODE where appropriate. + Use LSODE_options, not ODE_options. + + * dassl.cc: Change DAE to DASSL where appropriate. + Use DASSL_options, not ODE_options. + +Fri Feb 2 01:41:37 1996 John W. Eaton + + * dirfns.cc: Include unistd.h. + + * parse.y, lex.l: Handle matrix lists without ml or mlnm stacks. + * pt-mat.h, pt-mat.cc (tree_matrix): + Rewrite to use SLList instead of home brew list. + * SLList-tm.cc: New file + * Makefile.in: Add it to the lists. + * SLStack-tm.cc: Delete. + * Makefile.in: Delete it from the lists. + + * All pt-* files: Use bool instead of int where appropriate. + + * Makefile.in (DEP_SOURCES_3): Add octave.cc. + + * pt-const.h (class tree_constant::tree_constant_rep): Make + everything in this class public, then it doesn't need to declare + the tree_constant class as a friend. + +Thu Feb 1 01:42:45 1996 John W. Eaton + + * lex.h, lex.l, parse.h, parse.y (class lexical_feedback): New + class for lexer flags. Replace lots of global vars with members + of this class. + + * lex.l (class brace_paren_nesting_level): New class to replace + nesting_level stack. nesting_level is now an instance of this + class. + + * lex.l (yum_yum): New typedef. + (ATE_NOTHING): New global var. + (ATE_SPACE_OR_TAB, ATE_NEWLINE): Don't #define these, declare them + as const yum_yum. + (eat_whitespace, eat_continuation): Return yum_yum, not int. + + * lex.l (SHORT_CIRCUIT_LOGICALS): Delete. Always do this for || + and && tokens. + (yy_flex_alloc, yy_flex_realloc, yy_flex_free, next_char_is_space): + Delete. + + * toplev.cc (verbose_flag): Delete definition. + * toplev.h (verbose_flag): And declaration. + * octave.cc (verbose_flag): Now static. + + * lex.l (lookup_identifier): Arg is now string, not char*. + (handle_identifier, is_plot_keyword, is_keyword): Likewise. + (strip_trailing_whitespace): Return value is now string, not char*. + (plot_style_token): Likewise, for both arg and return value. + + * input.cc (octave_gets_line): Delete. + (gnu_readline, octave_gets, octave_read): + Properly handle input when using_readline is either true or false. + Don't limit length of input lines to flex buffer size. + (get_user_input): New function. + + * octave.cc (main): Handle --no-line-editing. + * toplev.h (using_readline): Provide external declaration here. + * input.h: Not here. + * toplev.cc (using_readline): Define here. + * input.cc: Not here. + + * toplev.h (no_line_editing): Delete declaration. + * input.cc (no_line_editing): Delete definition. + +Wed Jan 31 05:28:45 1996 John W. Eaton + + * input.cc (DEFAULT_ARRAY_SIZE, PROMPT_GROWTH): Delete definitions + of unused macros. + (read_octal): Now static. + + * givens.cc (Fgivens): Use new functions from matrix classes + instead of calling Fortran functions directly. + * syl.cc (Fsyl): Likewise. + * expm.cc (Fexpm): Likewise. + +Mon Jan 29 00:00:48 1996 John W. Eaton + + * octave.cc: Use new prog_args class instead of calling getopt + directly. + + * getopt.h, getopt.c, getopt1.c: Move to liboctave directory. + * Makefile: Remove from lists. + + * utils.cc (strconcat, read_until, discard_until): Delete. + + * pager.cc (terminal_columns, terminal_rows): Move to + liboctave/oct-term.cc. + * pager.cc, pr-output.cc: Include oct-term.h. + + * utils.cc (list_in_columns): Moved to liboctave/str-vec.cc. + Change all callers to use new member function syntax. + + * dirfns.cc (absolute_program): Now static. + (absolute_pathname): Delete. + + * pt-plot.cc (save_in_tmp_file): Call oct_tempnam, not + octave_tmp_file_name. Include file-ops.h. + * file-io.cc (do_scanf, Foctave_tmp_file_name): Likewise. + * oct-hist.cc (mk_tmp_hist_file): Likewise. + + * file-io.cc (Foctave_tmp_file_name): Move here. + * utils.cc: From here. + + * utils.cc (octave_tmp_file_name): Move to liboctave/file-ops.cc. + + * tempname.c, tempnam.c: Move to liboctave directory. + * Makefile.in: Remove from lists. + +Sun Jan 28 19:00:52 1996 John W. Eaton + + * xdiv.cc (all xdiv functions): Return Matrix or ComplexMatrix, + not tree_constant. + + * oct-hist.h, oct-hist.cc, toplev.cc, octave.cc, input.cc, + file-io.cc, user-prefs.cc: Rewrite to use new command_history + class instead of calling readline history functions directly. + + * utils.cc (get_fcn_file_names): Delete num arg. + +Thu Jan 25 20:33:54 1996 John W. Eaton + + * load-save.cc (matches_patterns): Use new glob_match class + instead of calling fnmatch directly. + * symtab.cc (matches_patterns, symbol_table::glob): Likewise. + * variables.cc (Fclear): Likewise. + +Wed Jan 24 02:05:22 1996 John W. Eaton + + * fnmatch.h fnmatch.c: Delete. + * Makefile.in: Add glob stuff in the appropriate places, remove + fnmatch.h and fnmatch.c from lists. + + * octave.cc (program_invocation_name, program_invocation_short_name): + Maybe declare. + (initialize_globals): Maybe initialize them. + + * octave.cc (initialize_pathsearch): Define here, not in pathsearch.cc. + * pathsearch.h, pathsearch.cc: Remove files. + * Makefile.in: Remove them from the lists. + + * help.cc (simple_help): Ignore directories that don't have any .m + or .oct files. + + * utils.cc (search_path_for_file): Use new dir_path class instead + of calling kpathsea routines directly. + (get_fcn_file_names): Likewise. + * help.cc (simple_help): Likewise. + + * dirfns.cc (make_absolute): Don't convert empty arg to "./". + + * sysdir.h: Move to liboctave directory. + * Makefile.in: Remove from lists. + + * dirfns.cc (Freaddir): Use new dir_entry class instead of calling + readdir directly. Include dir-ops.h, not sysdir.h. + * utils.cc (get_fcn_file_names): Likewise. Delete unnecessary + first arg, change all callers. + +Tue Jan 23 00:43:12 1996 John W. Eaton + + * safe-xstat.hin, safe-xstat.cin, statdefs.h, file-ops.h, + file-ops.cc, filemode.c, mkdir.c, rmdir.c, rename.c: + Files moved to liboctave directory. + * Makefile.in: Remove them from lists. Move appropriate rules. + + * acosh.c, asinh.c, atanh.c, erf.c, erfc.c, gamma.c, lgamma.c: + Files moved to liboctave directory. + * Makefile.in: Remove them from lists. + * missing-math.h: Deleted. + * pr-output.cc, sysdep.cc, minmax.cc, mappers.cc, expm.cc, + arith-ops.cc: Include oct-math.h, not cmath or missing-math.h. + +Mon Jan 22 19:33:05 1996 John W. Eaton + + * variables.cc (Fexist): Use file_stat instead of calling stat + directly. Include file-ops.h, not statdefs.h. + * octave.cc (execute_startup_files): Likewise. + * file-io.cc (file_io_get_file, fopen_internal, popen_internal, Fstat): + Likewise. + (mk_stat_map): Likewise, use file_stat object, not struct stat. + * oct-hist.cc (do_history): Likewise. + + * file-ops.h, file-stat.cc: New files. + * Makefile.in: Include them. + * dirfns.cc: Delete is_newer. Don't include statdefs.h. + * toplev.cc: Don't include statdefs.h. + +Sun Jan 21 22:48:03 1996 John W. Eaton + + * pt-mvr.h, pt-fvc.h, Map.cc, Map.h, dynamic-ld.h, + pt-fvc-base.cc, SLList-str.cc, pt-fcn.h, pt-fvc-base.h, + SLStack-str.cc, pt-mvr.cc, pt-exp.cc, token.h, token.cc, + user-prefs.h, pt-base.cc, user-prefs.cc, dirfns.h, sysdep.h, + sysdep.cc, input.h, parse.h, lex.l, parse.y, defun.h, mappers.h, + pt-fvc.cc, pt-plot.h, load-save.h, octave.cc, defun-int.h, help.h, + variables.h, oct-map.h, oct-obj.h, oct-obj.cc, pt-const.cc, + oct-map.cc, input.cc, symtab.h, pt-const.h, pathsearch.cc, + pr-output.h, pr-output.cc, toplev.h, timefns.cc, schur.cc, + pt-plot.cc, pager.cc, load-save.cc, dynamic-ld.cc, dirfns.cc, + data.cc, file-info.h, file-info.cc, colloc.cc, utils.h, qpsol.cc, + quad.cc, npsol.cc, lsode.cc, fsolve.cc, dassl.cc, file-io.cc, + help.cc, utils.cc, oct-hist.h, oct-hist.cc, symtab.cc, toplev.cc, + pt-fcn.cc, unwind-prot.h, unwind-prot.cc, variables.cc: + Most functions in these files that deal with character strings + have been converted to use the string class insatead of char*. If + you want more detailed information, you'll have to figure it out + for yourself. + +Sat Jan 20 18:19:12 1996 John W. Eaton + + * dynamic-ld.cc [WITH_DL]: Define RTLD_LAZY to be 1 if it is not + already defined. + +Sun Jan 14 07:48:05 1996 John W. Eaton + + * pt-const.cc (print_as_scalar, print_as_structure): + Make these member functions. + (tree_constant::print_with_name): New function, moved here from + old tree-expr.cc file (where it was called print_constant) and + converted to member function. Change all callers. + +Fri Jan 12 01:54:49 1996 John W. Eaton + + * octave.cc (initialize_globals): Don't do kpathsearch stuff here. + (main): Call initialize_pathsearch() here. + + * pathsearch.cc: New file. + * Makefile.in (SOURCES): Add it to the list + + * oct-hist.h: Rename from octave-hist.h. + * oct-hist.cc: Rename from octave-hist.cc. + * Makefile.in, parse.y, other .cc files: Cope with it. + + * dynamic-ld.cc: Avoid warnings if !WITH_DYNAMIC_LINKING. + + * load-save.cc (save_ascii_data): string::data() returns const char*. + + * utils.h: Don't provide forward declaration for tree_constant. + + * oct-obj.h: Don't include mx-base.h or provide forward + declarations for Matrix and Range types. + + * file-info.h: Don't include oct-obj.h. Do include cstdio. + + * symtab.h: Don't provide forward declaration for ostream. + + * variables.h: Don't provide forward declarations for istream, + ostrstream, tree, builtin_function, or builtin_variable objects. + + * balance.cc, chol.cc, colloc.cc, dassl.cc, det.cc, eig.cc, + expm.cc, fft.cc, fft2.cc, filter.cc, find.cc, fsolve.cc, fsqp.cc, + givens.cc, hess.cc, ifft.cc, ifft2.cc, inv.cc, log.cc, lpsolve.cc, + lsode.cc, lu.cc, minmax.cc, npsol.cc, pinv.cc, qpsol.cc, qr.cc, + quad.cc, qzval.cc, rand.cc, schur.cc, sort.cc, svd.cc, syl.cc: + Clean up #include statements. + + * pt-const.h: Don't include oct-obj.h or tree-base.h. + Provide forward declaration of Octave_object here. + * pt-const.cc: Include oct-obj.h here. + + * pt-mat.h, pt-fcn.h, pt-const.h, pt-misc.h, pt-plot.h, + pt-exp-base.h, pt-cmd.h, pt-fvc-base.h, pt-mvr-base.h, pt-exp.h, + pt-mvr.h, pt-fvc.h: New files, split from tree-expr.h and/or + renamed from other tree-*.h files (pt == parse tree). + * pt-base.cc, pt-const.cc, pt-exp.cc, pt-fvc-base.cc, pt-mat.cc, + pt-mvr-base.cc, pt-plot.cc, pt-cmd.cc, pt-exp-base.cc, pt-fcn.cc, + pt-fvc.cc, pt-misc.cc, pt-mvr.cc: Likewse, split from tree-expr.cc + and/or other tree-*.cc files. + * Makefile.in: Include them in the appropriate lists. + * All: Fix #include statements to match. + + * Array-tc.cc: Don't instantiate ArrayRep objects. + +Thu Jan 11 02:35:19 1996 John W. Eaton + + * tree-const.cc (tree_constant::eval (int, int, const Octave_object&)): + Define here instead of in tree-const.h. + +Wed Jan 10 04:34:20 1996 John W. Eaton + + * tree-const.h (tree_constant::tree_constant (const string&): + * tree-const.cc (TC_REP::tree_constant_rep (const string&)): + New constructor. + +Tue Jan 9 04:10:29 1996 John W. Eaton + + * rand.cc (do_rand): Use string_value() result directly instead of + c_str() conversion. + * balance.cc (Fbalance): Likewise. + + * tree-const.cc (TC_REP::string_value()): + Handle new definition of charMatrix::row_as_string() + * load-save.cc (save_ascii_data): Ditto. + (save_binary_data): Ditto. + * pr-output.cc (octave_print_internal): Ditto. + + * balance.cc (Fbalance): + Handle new definition of TC_REP::string_value() + * colloc.cc (Fcolloc): Ditto. + * dassl.cc (Fdassl_options): Ditto. + * data.cc (Fstruct_contains): Ditto. + * dirfns.cc (Fmkdir): Ditto. + (Freaddir): Ditto. + (Frmdir): Ditto. + (Frename): Ditto. + * error.cc (handle_message): Ditto. + * file-io.cc (process_printf_format): Ditto. + (fopen_internal): Ditto. + (file_io_get_file): Ditto. + (return_valid_file): Ditto. + (Flstat): Ditto. + (Fstat): Ditto. + (unlink_internal): Ditto. + (mkfifo_internal): Ditto. + (async_system_internal): Ditto. + (sync_system_internal): Ditto. + (execute_internal): Ditto. + (popen_internal): Ditto. + (fwrite_internal): Ditto. + (fread_internal): Ditto. + (do_printf): Ditto. + (do_scanf): Ditto. + * input.cc (get_user_input): Ditto. + * lsode.cc (Flsode_options): Ditto. + * npsol.cc (Fnpsol_options):Ditto. + * qpsol.cc (Fqpsol_options):Ditto. + * quad.cc (Fquad_options): Ditto. + * rand.cc (do_rand): Ditto. + * schur.cc (Fschur): Ditto. + * sysdep.cc (Fputenv): Ditto. + (Fgetenv): Ditto. + * timefns.cc (extract_tm): Ditto. + (Fstrftime): Ditto. + * toplev.cc (Fsource): Ditto. + (eval_string): Ditto. + (Fsystem): Ditto. + * tree-plot.cc (subplot::handle_plot_data): Ditto. + * variables.cc (is_valid_function): Ditto. + (Fis_global): Ditto. + (Fexist): Ditto. + (builtin_string_variable): Ditto. + * utils.cc (make_argv): Ditto. + (Fundo_string_escapes): Ditto. + +Mon Jan 8 01:54:50 1996 John W. Eaton + + * Makefile.in (install-bin): Use $(LN_S), not just ln. + + * variables.cc (octave_fcn_file_dir): New function. + * tree-expr.cc (mark_as_system_fcn_file): Use it instead of + octave_lib_dir. + + * Makefile.in (clean): If $(SHARED_LIBS), also remove shared libs. + + * pr-output.cc (set_format (const ComplexMatrix&, int&, int&)): + Unconditionally call all_elements_are_int_or_inf_or_nan(). + (set_format (const Matrix&, int&, int&)): Likewise. + +Sun Jan 7 19:12:39 1996 John W. Eaton + + * utils.cc (oct_putenv): New function. + * sysdep.cc (Fputenv): Use oct_putenv. + * octave.cc (initialize_globals): Likewise. + +Sat Jan 6 23:22:37 1996 John W. Eaton + + * sysdep.cc (Fputenv): New function. + + * input.cc (initialize_readline): Call rl_initialize() here. + + * octave.cc: Conditionally define atexit to be on_exit here. + * toplev.cc: Not here. + +Fri Jan 5 14:01:02 1996 John W. Eaton + + * toplev.cc: Don't include here. + + * octave-hist.cc, tree-plot.cc, utils.cc: Do include "sysdep.h". + + * dirfns.cc, file-io.cc, help.cc, load-save.cc, octave.cc, + octave-hist.cc, tree-plot.cc, utils.cc: + Don't include . + * sysdep.h: Do include it here. + + * tree-const.cc (TC_REP::assign (tree_constant&, Octave_object&)): + If we have a matrix or range, call maybe_mutate before returning. + +Sun Dec 31 15:56:18 1995 John W. Eaton + + * npsol.cc (Fnpsol): Improve doc string. + * qpsol.cc (Fqpsol): Likewise. + +Fri Dec 29 21:46:58 1995 John W. Eaton + + * defun-dld.h: Make work again for OCTAVE_LITE and + WITH_DYNAMIC_LINKING. + + * Makefile.in: Handle shared libraries. + +Wed Dec 27 17:47:51 1995 John W. Eaton + + * mk-oct-links: New file. + * Makefile.in (install-oct): Use it. + * f-*.cc: Rename to *.cc. + + * Makefile.in (install-bin, install-lib, install-oct): New targets. + (install): Use them. + +Tue Dec 26 21:38:22 1995 John W. Eaton + + * toplev.cc (reading_startup_message_printed): Move initialization + here and make extern. + + * dirfns.cc, dynamic-ld.cc, help.cc, input.cc, octave-hist.cc, + octave.cc, sighandlers.cc, sysdep.cc, tree-expr.cc, tree-misc.cc, + utils.cc, variables.cc, parse.y, lex.l: Include toplev.h instead + of octave.h. + * toplev.h: rename from octave.h. + + * octave.cc (main): Delete unused variable saved_sigint_handler. + +Sun Dec 24 00:26:54 1995 John W. Eaton + + * dynamic-ld.cc: Massive re-write to handle dlopen/dlsym and + shl_load/shl_findsym methods of dynamic linking. + + * utils.cc (get_fcn_file_names): Check for .oct files if + WITH_DYNAMIC_LINKING, not WITH_DLD. + + * Makefile.in (LIB, TERMLIBS): Substitute values. + (octave): Add $(LIBS) to link command and use $(TERMLIBS) instead + of -ltermcap. + +Sat Dec 23 21:56:12 1995 John W. Eaton + + * dynamic-ld.h, dynamic-ld.cc: Remove old unused code. + + * variables.cc (load_fcn_from_file): + Always call load_octave_oct_file. + +Wed Dec 20 00:56:57 1995 John W. Eaton + + * pr-output.cc (set_real_format, set_real_matrix_format, + set_complex_format, set_complex_matrix_format, set_range_format): + New functions. Ensure the count of the digits to the right of the + decimal point is positive. + + * xpow.cc (xpow (const Matrix&, double)): Print warning if + inverting singular matrix (but return value anyway, in the name of + compatibility). + xpow (const ComplexMatrix&, double)): Likewise. + + * f-inv.cc (Finv): If matrix is singular, return result anyway, in + the name of compatibility. + + * symtab.cc (symbol_record::pop_context): + Don't assert (! context.empty ()). + + * tree-const.cc (TC_REP::char_matrix_value): Don't complain about + type conversion if object is an empty matrix.f + (TC_REP::assign): If rhs is a string, don't convert to numeric + type if rhs is empty or "". + Only widen if rhs is not empty. + Don't return 0x0 char_matrix if it is supposed to be a string. + + * arith-ops.h, mappers.h, pr-output.h, xdiv.h, xpow.h: Include + oct-cmplx.h in place of forward declaration for class Complex. + + * pr-output.cc, mappers.cc, arith-ops.cc, xdiv.cc, xpow.cc, + utils.cc: Include "oct-cmplx.h" instead of . + + * octave.cc (initialize_error_handlers): Don't call + set_Complex_error_handler(). + (octave_Complex_error_handler): Delete unused function. + Delete declaration for set_Complex_error_handler(). + + * sighandlers.cc (catch_interrupts): New function. + * octave.cc (main): Call catch_interrupts() instead of calling + octave_set_signal_handler() directly. + +Tue Dec 19 03:22:37 1995 John W. Eaton + + * variables.cc (looks_like_octave_copyright): Also recognize the + string " This program is free software". + +Thu Dec 14 01:54:06 1995 John W. Eaton + + * octave-hist.cc (clean_up_history): Only write history file if + user_pref.saving_history. + + * octave-hist.cc (initialize_history, clean_up_history, + do_history): Perform tilde expansion on history file name. + + * octave.cc (main): Check `defined (HAVE_ON_EXIT)' not just + `(HAVE_ON_EXIT)'. + + * user-prefs.h (user_preferences): New fields, `history_file' and + `history_size'. + * user-prefs.cc (init_user_prefs): Initialize them. + (sv_history_file, history_size): New functions. + * variables.cc (install_builtin_variables): Initialize user-level + variables history_file and history_size. + * octave-hist.cc (default_history_size): Now extern. + (default_history_file): Likewise. + (octave_hist_size, octave_hist_file): Use user preference + variables instead. + * octave.cc (main): Call initialize_history after + execute_startup_files. + +Fri Dec 8 15:53:59 1995 John W. Eaton + + * user-prefs.h (user_preferences): New field, `saving_history'. + * user-prefs.cc (init_user_prefs): Initialize it. + (saving_history): New function. + * variables.cc (install_builtin_variables): Initialize user-level + variable saving_history. + * octave.cc (parse_and_execute): Don't reset value of + saving_history here. + (main) Use user_pref.saving_history instead of saving_history. + * variables.cc (parse_fcn_file): Likewise. + * octave-hist.cc (maybe_save_history): Likewise. + Don't save history if input_from_startup_file. + +Mon Nov 27 23:05:52 1995 John W. Eaton + + * resource.cc: Include systime.h before . + +Tue Nov 14 14:09:40 1995 John Eaton + + * error.cc: Include cstring. + + * tree-expr.cc (print_code): Decrement indent level after printing + function body. + + * Makefile.in: Remove references to oct-str.cc, oct-str.h, and + Array-string.cc. + + * tree-const.h: Don't include oct-str.h. + +Mon Nov 6 11:16:49 1995 John Eaton + + * parse.y (make_plot_command, finish_colon_expression, + make_unwind_protect, make_try_command, make_for_command, + make_break_command, make_continue_command, make_return_command, + start_if_command, finish_if_command, make_elseif_clause, + make_simple_assignment, make_multi_val_ret, start_function_def, + frob_function_def, finish_function_def, start_matrix, + finish_matrix): New functions. Use them in the grammar to clean + things up a bit. Possibly convert matrix lists, colon + expressions, binary expressions, and unary expressions to constant + values. + (tree_matrix_type): Delete. + (simple_expr1): Handle all expression stuff here, including + assignments. + (simple_expr): Just check to see that simple_expr1 produced + something useful. + + * tree-plot.cc, tree-plot.h: Move most simple constructors to the + header file. + + * tree-expr.h (tree_expression::is_constant): Move virtual + function definition here. + (tree_fvc::is_constant): From here. + (tree_expression::is_matrix_constant): New virtual function. + (tree_expression::is_range_constant): New virtual function. + * tree-expr.cc (tree_matrix::is_matrix_constant): New function. + * tree-expr.cc (tree_colon_expression::is_range_constant): New + function. + +Fri Nov 3 03:42:04 1995 John Eaton + + * utils.cc, utils.h (jump_to_top_level): Declare as extern "C". + + * tree-const.h (tree_constant::eval ()): Only mutate if printing. + + * tree-const.cc (TC_REP::tree_constant_rep (const Complex&), + TC_REP::tree_constant_rep (const ComplexMatrix&), + TC_REP::tree_constant_rep (const ComplexDiagMatrix&), + TC_REP::tree_constant_rep (const ComplexRowVector&), + TC_REP::tree_constant_rep (const ComplexColumnVector&)): + Also check to see if we can convert to scalar_constant, not just + complex_scalar_constant. + + * user-prefs.h (user_preferences): New field, `exec_path'. + * user-prefs.cc (init_user_prefs): Initialize it. + (sv_exec_path): New function. + * variables.cc (install_builtin_variables): Add DEFUN for EXEC_PATH. + (default_exec_path): New function. + * octave.cc (exec_path): New global variable. + Don't set and putenv() exec path here. + (long_opts): Add --exec-path option. + (main): Handle it. + (initialize_globals): Set default value here. + + * user-prefs.h (user_preferences): New field, `info_prog'. + * user-prefs.cc (init_user_prefs): Initialize it. + (sv_info_prog): New function. + * variables.cc (install_builtin_variables): Add DEFUN for INFO_PROGRAM. + (default_info_prog): New function. + * octave.cc (info_prog): New global variable. + (initialize_globals): Set default value here. + (long_opts): Add --info-prog option. + (main): Handle it. + * help.cc (try_info): Use user_pref.info_prog here. + + * octave.cc (initialize_globals): Put arch_dir and bin_dir ahead + of shell_path when resetting PATH. + +Thu Nov 2 04:30:13 1995 John Eaton + + * f-rand.cc (Frandn): New function. + (do_initialization): New function. + (do_rand): New function for doing the real work. + (Frand): Use it. + + * octave.cc (parse_and_execute): New arg, warn_for. If given, + print message if file cannot be opened. + Set curr_fcn_file_full_name here. + (Fsource): Pass extra arg to parse_and_execute to get warning message. + + * tree-const.h: Handle line and column info for double, Complex, + and char* constants. + + * parse.y (maybe_convert_to_ans_assign): Pass along line and + column info from expression. + + * parse.y (make_constant): New function. + (simple_expr1, word_list): Use it. + + * input.cc, input.h (curr_fcn_file_full_name): New global. + * variables.cc (load_fcn_from_file): Set it here. + * parse.y (func_def2, yyerror, maybe_warn_missing_semi): Use it. + (func_def2): If !reading_fcn_file, don't call strcmp if + curr_fcn_file_name is 0. + + * octave.cc (Fsource): New function. + (parse_and_execute): Declare file name const char *. + * input.cc (get_input_from_file): Likewise. + +Wed Nov 1 13:54:34 1995 John Eaton + + * f-filter.cc: New file. + * Makefile.in (DLD_SRC): Add it to the list. + + * sysdep.h (gethostname): Change declaration to match definition + in sysdep.cc. + + * resource.cc: Include sysdep.h here, for octave_NaN. + +Tue Oct 31 02:12:18 1995 John Eaton + + * tree-const.cc (TC_REP::assign): After converting rhs to a + numeric type, use the converted value, not the original. + + * dirfns.cc (Fpwd): If nargout == 0, print the directory name + instead of returning it. + + * pager.cc (maybe_page_output): Call maybe_write_to_diary_file here. + (flush_output_to_pager): Not here. + +Mon Oct 30 23:39:43 1995 John Eaton + + * variables.cc (install_builtin_commands): Add DEFVAR for + echo_executing_commands. + + * octave-hist.cc (do_edit_history): Handle new echo stuff. + * variables.cc (parse_fcn_file): Likewise. + * octave.cc (parse_and_execute): Likewise. + (main): Likewise. + * input.cc (do_input_echo): + (Fecho): New function. + + * tree-expr.cc (tree_function::print_code_function_header, + tree_function::print_code_function_trailer): New functions. + (tree_function::print_code): Use them. + (tree_function::eval): Likewise, if echoing commands. + * tree-misc.cc (tree_statement::maybe_echo_code): New function. + + * user-prefs.h (user_preferences): New field, echo_executing_commands. + (echo_state): New enum, for various types of echoing we do. + * user-prefs.cc (echo_executing_commands): New function. + + * tree-base.cc (print_code_indent): Print PS4 as line prefix. + * help.cc (Ftype): Add unwind_protect for ps4 and set it to "" + before printing code. + + * tree-misc.h (tree_statement_list): New field, function_body. + (tree_statement_list::mark_as_function_body): New function. + * parse.y (func_def3): Mark function bodies. + + * pr-output.cc (octave_print_internal): Undo string escapes when + printing charMatrix as strings. + +Sat Oct 28 17:38:29 1995 John Eaton + + * utils.h (undo_string_escapes): Add missing const in declaration. + +Fri Oct 27 03:49:44 1995 John Eaton + + * file-io.cc (next_available_file_number): New stack for keeping + track of next available file number. + (get_next_avail_file_num): New function. + (fopen_file_for_user, fopen_internal, popen_internal, + execute_internal): Use it. + +Mon Oct 23 07:00:09 1995 John Eaton + + * tree-const.cc (TC_REP::convert_to_matrix_type, + tree_constant::convert_to_matrix_type): New arg, make_complex. + (TC_REP::set_index): New arg, rhs_is_complex. Pass it to + convert_to_matrix_type. + (TC_REP::assign): Pass rhs.is_complex_type() to set_index. + +Thu Oct 19 00:38:38 1995 John Eaton + + * xpow.cc: Include . + + * sysdep.cc (Fpause): Do pause even if not interactive. + + * tree-const.cc (TC_REP::assign): Don't make RHS numeric if both + RHS and LHS are strings. + +Wed Oct 18 22:19:16 1995 John Eaton + + * f-expm.cc (Fexpm): Avoid taking log of negative number. Also, + don't unnecessarily divide the input matrix by 1.0. + + * input.cc (decode_prompt_string): Recognize \[ and \] too. + (initialize_readline): Bind M-p to history-search-backward and M-n + to history-search-forward. + +Tue Oct 17 04:31:06 1995 John Eaton + + * xpow.cc (xpow): Handle integer powers better for complex^double. + (elem_xpow): Likewise. + + * lex.l ({CCHAR}): If nesting_level.top() is BRACE, return ';', + not '\n'. + +Mon Oct 16 19:03:45 1995 John Eaton + + * help.cc (Fwhich): Fix doc string. + + * variables.cc (Fexist): Update doc string. + +Sun Oct 15 22:19:16 1995 John Eaton + + * Another massive set of changes to support character matrices + with indexing. The Octave_str_object class is no longer used. + Anything having to do with Octave_str_object in the following + files has been changed to use charMatrix instead: octave.h, + load-save.cc, octave.cc, strfns.cc, data.cc, pr-output.h, + pr-output.cc, tree-const.h, dirfns.cc, tree-const.cc, + tree-expr.cc. + +Sat Oct 14 22:28:18 1995 John Eaton + + * f-sort.cc (mx_sort): Don't attempt to sort vectors that have + only one element, or matrices that have only one row. + +Thu Oct 12 02:16:58 1995 John Eaton + + * mappers.cc (install_mapper_functions): Add gammaln as an alias + for lgamma. + + * tree-const.h, tree-const.cc: Massive overhaul of indexing and + indexed assignment functions. + * tc-inlines.h, tc-rep.h: Remove files. + * Makefile.in: Remove mention of them here too. + + * Makefile.in: Include $(TI_SRC) in DEP_SOURCES_3, not + $(TI_SOURCES). + Include $(DLD_SRC) in DEP_SOURCES_3. + Include $(TI_SRC) in DEF_FILES_5. + +Wed Oct 11 01:26:18 1995 John Eaton + + * Makefile.in (INCLUDES): Remove tc-inlines.h and tc-rep.h from + the list. + +Mon Oct 9 08:31:04 1995 John Eaton + + * lex.l (next_token_is_bin_op): Do match `.+', `.*', etc. + +Sun Oct 8 18:19:56 1995 John Eaton + + * idx-vector.h, idx-vector.cc: Delete files. + * Makefile.in (SOURCES, INCLUDES): Remove them from lists. + +Fri Oct 6 00:52:06 1995 John Eaton + + * f-svd.cc (Fsvd): If nargout == 0 or nargout == 1, don't ask for + U and V. + +Wed Oct 4 00:04:57 1995 John Eaton + + * f-npsol.cc (Fnpsol, Fnpsol_options): Avoid unused variable + warnings if NPSOL_MISSING. + * f-qpsol.cc (Fqpsol, Fqpsol_options): Likewise for QPSOL_MISSING. + + * Makefile.in (DISTFILES): Add octave.gperf. + + * lex.l (next_token_is_bin_op): Don't ever return true for `.' + since that causes problems with things like [ .1 .1 ]. + +Tue Oct 3 05:30:24 1995 John Eaton + + * variables.cc (is_valid_function): Avoid setting error_state if + argument is not a string. + + * parse.y (maybe_warn_missing_semi): New function. + (list1, list): Call it if statement not terminated by semicolon. + * tree-misc.h (tree_statement::line, tree_statement::column): + New functions. + * octave.cc (input_from_command_line_file): New global variable. + (main): Set it. + (parse_and_execute): Unwind-protect it and set it to zero. + (eval_string): Likewise. + * variables.cc (parse_fcn_file): Likewise. + + * user-prefs.cc (warn_missing_semicolon): New function. + * user-prefs.h (user_preferences): New field, warn_missing_semicolon. + * variables.cc (install_builtin_variables): DEFVAR it. + + * tree-expr.cc (tree_expression::is_logically_true): Actually use + argument. + +Mon Oct 2 19:55:48 1995 John Eaton + + * variables.cc (install_builtin_variables): Reduce the default + value of save_precision to 15. + + * variables.cc (builtin_real_scalar_variable): Return 1 for + success, 0 for failure. + + * user-prefs.cc (struct_levels_to_print, set_save_precision, + set_output_max_field_width, set_output_precision): + Change sense of test for builtin_real_scalar_variable return value. + (check_preference): Rename from check_str_pref. Change all callers. + Accept value of 0 to be the same as "false" and nonzero to be the + same as "true". + Delete val to avoid memory leak. + * variables.cc (install_builtin_variables): Change initial values + from "true" to 1, "false" to 0. + + * variables.cc (install_builtin_variables): Add DEFVAR for + gnuplot_has_multiplot. + + * user-prefs.h (user_preferences): New field, + `gnuplot_has_multiplot'. + * user-prefs.cc (init_user_prefs): Initialize it. + (gnuplot_has_multiplot): New function. + +Sat Sep 30 16:52:57 1995 John Eaton + + * oct-gperf.h, octave.gperf: Newfiles. + * Makefile.in (DISTFILES): Add octave.gperf. + (INCLUDES): Add oct-gperf.h. + (oct-gperf.h): New rule. + (local-dist, dist): Depend on oct-gperf.h. + * lex.l (is_keyword): Use perfect hash function to lookup + keywords. + +Fri Sep 29 04:36:04 1995 John Eaton + + * version.h (OCTAVE_NAME_AND_VERSION): Add TARGET_HOST_TYPE to this. + +Thu Sep 28 00:03:51 1995 John Eaton + + * tree-expr.cc (tree_expression::is_logically_true): New function. + * tree-cmd.cc (tree_while_command::eval): Use it instead of + handling the test directly here. + * tree-misc.cc (tree_if_clause::eval): Likewise + + * tree-const.cc (TC_REP::force_numeric): Don't try to print value + of str_obj with %s. + + * error.cc (buffer_error_messages): Rename from + suppress_octave_error_messages. + (error_message_buffer): New global variable. + (verror): Handle buffering of messages. + (handle_message): New function. + (Ferror, Fwarning, Fusage): Use it instead of duplicating code. + + * octave.cc (Feval): Buffer error messages instead of supressing them. + + * lex.l (is_keyword): Recognize `try', `catch', and `end_try_catch'. + * parse.y (TRY, CATCH): New tokens. + (command): Recognize try-catch block. + (end_error): Add cases for unwind_protect_end and try_catch_end. + * token.h (end_tok_type): New field, try_catch_end. + * tree-cmd.h, tree-cmd.cc (tree_try_catch): New class. + * variables.cc (bind_global_error_variable): New Function. + (clear_global_error_variable): Likewise. + (install_builtin_variables): Add DEFCONST for __error_text__. + * help.cc (keywords): Add `try', `catch', and `end_try_catch'. + + * tree-cmd.cc (tree_unwind_protect::eval): Undo previous change. + + * dirfns.cc (Freaddir, Fmkdir, Frmdir): + Do tilde expansion on the argument. + +Tue Sep 26 00:10:29 1995 John Eaton + + * f-dassl.cc, f-fsolve.cc, f-lsode.cc, f-npsol.cc, f-quad.cc: + Don't try to figure out if the user-supplied functions take the + correct number of arguments. Simply let the call fail. + * variables.cc (takes_correct_nargs): Delete unused function. + * tree-expr.cc (tree_builtin::eval): Don't complain for too many + arguments to mapper functions. + * tree-expr.h, tree-expr.cc (tree_builtin, tree_function, tree_fvc): + Delete unused function max_expected_args. + + * defun.h (DEFUN): Delete unnecessary args nargin_min and nargout_max. + New arg unused_arg_flags. + (DEFUN_TEXT): Likewise. + * defun-dld.h (DEFUN_DLD_BUILTIN): Likewise. + * defun-int.h (DEFUN_INTERNAL, DECLARE_FUN, DEFINE_FUN_STRUCT): + Do the real work. + + * data.cc, dirfns.cc, dynamic-ld.cc, error.cc, f-balance.cc, + f-chol.cc, f-colloc.cc, f-dassl.cc, f-det.cc, f-eig.cc, f-expm.cc, + f-fft.cc, f-fft2.cc, f-find.cc, f-fsolve.cc, f-fsqp.cc, + f-givens.cc, f-hess.cc, f-ifft.cc, f-ifft2.cc, f-inv.cc, f-log.cc, + f-lpsolve.cc, f-lsode.cc, f-lu.cc, f-minmax.cc, f-npsol.cc, + f-pinv.cc, f-qpsol.cc, f-qr.cc, f-quad.cc, f-qzval.cc, f-rand.cc, + f-schur.cc, f-sort.cc, f-svd.cc, f-syl.cc, file-io.cc, help.cc, + input.cc, lex.l, load-save.cc, mappers.cc, octave-hist.cc, + octave.cc, octave.h, pager.cc, pr-output.cc, resource.cc, + sighandlers.cc, strfns.cc, sysdep.cc, timefns.cc, token.cc, + tree-const.cc, tree-expr.cc, tree-expr.h, tree-plot.cc, + unwind-prot.cc, unwind-prot.h, utils.cc, variables.cc, + variables.h, version.h, xdiv.cc: + Avoid unused variable warnings. + + * tree-expr.h (tree_oct_obj::print_value (ostream&)): + Delete name of unused arg. + (tree_fvc::save (ostream&, int, int): Likewise. + + * tree-const.h (tree_constant::tree_constant (magic_colon)): + Delete name of unused arg. + (tree_constant::tree_constant (all_va_args)): Likewise + (ColumnVector vector_value (int, int)): Likewise. + (ComplexColumnVector vector_value (int, int)): Likewise. + (Octave_object::eval (int, int, const Octave_object&): Likewise. + + * octave.cc (execute_startup_files): Look for octaverc first in + site/m, then in $(version)/m. + * variables.cc (get_local_site_defaults): New function. + * defaults.h.in (OCTAVE_LOCALFCNFILEDIR, OCTAVE_LOCALSTARTUPFILEDIR): + New macros. + * Makefile.in (defaults.h): Also substitute ${localfcndir}. + +Mon Sep 25 17:01:03 1995 John Eaton + + * variables.cc (install_builtin_variables): Add DEFCONST for "e". + +Fri Sep 22 02:18:45 1995 John Eaton + + * dirfns.cc (Fls): Delete ls_command after using it, not before. + + * input.h, input.cc (gnu_readline): Don't declare gnu_readline + `extern "C"'. + + * sysdep.h: Only declare gethostname if it is missing, then don't + declare it `extern "C"'. + + * dirfns.cc: Don't declare strerror(). + + * input.cc (command_generator): Use malloc, not xmalloc. Don't + declare xmalloc. + (gnu_readline): Don't declare this `extern "C"'. + + * octave-hist.cc: Don't declare history_get(). It is now in + readline/history.h. + + * input.cc: Don't declare history_get(). It is now in + readline/readline.h. + + * resource.cc: Don't surround include of sys/resource.h in + `extern "C" { }'. + + * fnmatch.h [__cplusplus]: Surround contents in `extern "C" { }'. + * load-save.cc, symtab.cc, variables.cc: Don't surround + fnmatch.h include in `extern "C" { }'. + + * help.cc: Don't #undef __FUNCTION_DEF before including + readline/tilde.h. + + * dirfuns.cc, file-io.cc, help.cc, load-save.cc, octave-hist.cc, + sysdep.cc, tree-plot.cc, utils.cc, variables.cc: + Don't surround readline includes in `extern "C" { }'. + + * sysdep.cc: Move all include statements to top of file. + +Tue Sep 19 01:58:21 1995 John Eaton + + * octave.cc (Fsystem): Use iprocstream *, and unwind_protect it. + * pager.cc (flush_output_to_pager): Likewise. + * dirfns.cc (Fls): Likewise. + * tree-plot.cc (plot_stream): Now a pointer. + (open_plot_stream): Deal with it. + (send_to_plot_stream, cleanup_tmp_files, do_external_plotter_cd): + Likewise. + + * procstream.cc (cleanup_iprocstream, cleanup_oprocstream): + New functions. + + * procstream.h, procstream.cc (class iprocstream, class oprocstream): + Keep track of pbuf. Initialize it to 0 in default constructors, + delete it in destructor. Don't call close in destructor. + + * sighandlers.cc (octave_set_signal_handler): New function. + Use this name instead of signal everywhere. + * help.cc (try_info): Likewise. + * pager.cc (flush_output_to_pager): Likewise. + * octave.cc (main): Likewise. + * octave-hist.cc (do_edit_history): Likewise. + + * input.cc (initialize_readline): Set rl_paren_string_delimiters + to avoid treating single quotes as string delimiters when doing + paren matching. + + * Makefile.in (SOURCES): Don't list Map.cc or SLStack.cc here. + + * tree-const.cc: Do include utils.h. + + * sysdep.cc: Don't surround terminal includes in extern "C". + Include them before readline.h. + + * Map.h: Don't include utils.h. + (CHNode::CHNode (const char*, const C&, CHNode *t): + Do strsave() inline. + + * input.cc (generate_possible_completions): Generate name list + even when text == 0. + (operate_and_get_next): Don't declare history_stifled, call + history_is_stifled () instead. + Don't declare history_length, or max_input_history either. + Check (where >= history_length - 1) too, as in recent versions of + bash. + + * user-prefs.h (user_prefs): New field, `completion_append_char'. + * user-prefs.cc (init_user_prefs): Initialize it. + (sv_completion_append_char): New function. + * variables.cc (install_builtin_variables): Install + completion_append_char. + * input.cc (command_generator): Use it. + + * SLList-expr.cc, SLList-misc.cc, SLList-plot.cc, SLList-tc.cc, + DLList-fi.cc: Include config.h. + * DLList-fi.cc: Include file-info.h, not file-io.h. + +Mon Sep 18 11:01:24 1995 John Eaton + + * octave.h (clean_up_and_exit): Tag with NORETURN instead of using + typedef trick. + * error.h (panic): Likewise. + * utils.h (jump_to_top_level): Likewise. + + * file-io.h: Protect from multiple includes with octave_file_io, + not octave_files. + + * file-info.h (class file_info): Convert to using std C++ string + class from char *. + * file-info.cc: Likewise. Don't include utils.h. + * file-io.cc (return_valid_file, fopen_file_for_user, + fflush_internal, do_scanf): Use operator ==, not strcmp. + (close_files): Call error with file.name ().data (), + not file.name (). + (freport_internal): Call form with file.mode ().data () and + file.name ().data (). + + * file-io.cc, file-io.h: Extract file_info class. + * file-info.cc, file-info.h: New files for file_info class. + + * user-prefs.h (user_prefs): New field, `beep_on_error'. + * user-prefs.cc (init_user_prefs): Initialize it. + (beep_on_error): New function. + * variables.cc (install_builtin_variables): Install beep_on_error. + * octave.cc (maximum_braindamage): Set beep_on_error to "true". + * error.cc (verror): Conditionally beep. + (error): Don't reset error_state until after verror is called. + +Sun Sep 17 16:41:25 1995 John Eaton + + * load-save.cc (read_mat_binary_data, read_ascii_data, + save_ascii_data, read_binary_data, save_binary_data): + Handle string arrays. + +Fri Sep 15 00:24:19 1995 John Eaton + + * user-prefs.cc (struct_levels_to_print, + set_output_max_field_width, set_output_precision, + set_save_precision): Eliminate unecessary kludge variable. + + * variables.cc (gobble_leading_white_space): New arg, + in_parts. Change all callers. + + * lex.l (HELP_FCN): Delete start state. The `help' command is now + handled the same as any other text-style function. + + * gripes.cc (gripe_invalid_value_specified): New function + * user-prefs.cc: Use it. + + * sysdep.cc (octave_words_big_endian): New global variable. + (ten_little_endians): New function. + (sysdep_init): Call it. + * load-save.cc (words_big_endian): Use this at run-time instead of + depending on WORDS_BIGENDIAN at compile-time. + + * symtab.h (SYMTAB_VARIABLES): New macro. + * variables.cc (Fclear): Use it instead of just + symbol_def::USER_VARIABLE when looking for variables. + + * octave.cc (main): If there is a file to execute, set + program_invocation_name and program_name to the name of the file + and argv to the remaining args. + (intern_argv): Only define argv if there are some remaining + arguments. + + * defun.h (DEFVAR_INT): New macro. + (DEFVAR): Define in terms of DEFVAR_INT. Delete args protect and + eternal. + (DEFCONST): New macro. + * variables.cc (install_builtin_variables): Use DEFCONST where + appropriate, change uses of DEFVAR to match new definition. + + * variables.cc (bind_builtin_variable): New variant that accepts + const tree_constant& value. + (install_builtin_variables): Properly alphabetize DEFVAR for this. + + * octave.cc (short_opts): Prefix with `+' to prevent argv + permutation. + (main): Don't use readline if forced_interactive. + (traditional): New file-scope variable. + (long_opts, usage_string, verbose_usage): Add `--traditional'. + (maximum_braindamage): New function. + (main): Call it if --traditional. + + * input.cc (do_input_echo): Print prompt correctly when + forced_interactive is either true or false. + +Thu Sep 14 00:54:06 1995 John Eaton + + * data.cc (Fstruct_elements): New function. + + * file-io.cc (Fumask): New function. + + * dirfns.cc (Fmkdir, Frmdir, Frename): New functions. + + * Makefile.in: Add rules and dependencies for building safe-stat.o + and safe-lstat.o. + + * mkdir.c, rename.c, rmdir.c: New files. + * Makefile.in (SOURCES): Include them in the list. + + * safe-xstat.hin, safe-xstat.cin: New files + * Makefile.in (DISTFILES): Include them in the list. + + * sighandlers.cc (octave_new_handler): Try to continue on memory + exhausted errors. + (sigfpe_handler): Improve error message. + + * Makefile.in: Use `ifndef omit_deps', not `ifndef $(omit_deps)'. + + * dirfns.cc (Freaddir): New function. + + * f-sort.cc: Complete rewrite. Now uses stable sort algorithm and + correctly handles complex matrices containing columns of all real + numbers. + +Wed Sep 13 03:16:40 1995 John Eaton + + * arith-ops.cc: Unconditionally #define DIVIDE_BY_ZERO_ERROR. + + * variables.cc (install_builtin_variables): Unconditionally + install NaN and nan. + + * mappers.cc (xisinf): Don't do bogus things if isinf, isnan, or + finite are missing. + (xfinite): Likewise. + + * sysdep.cc (octave_ieee_init): Don't set octave_NaN and + octave_Inf if values are not available. + + * resource.cc (mk_ru_map): Don't use ru_ or tv_ as prefixes to + Octave names for the structure members. + +Tue Sep 12 02:04:16 1995 John Eaton + + * procstream.h, procstream.cc: Rewrite. + +Mon Sep 11 18:42:05 1995 John Eaton + + * filemode.c: New file, from Emacs. + * Makefile.in (SOURCES): Add it to the list. + + * file-io.cc (Fstat, Flstat, mk_stat_map): New functions. + + * timefns.cc (mk_tm_map): Don't use tm_ as prefix to Octave names + for these structure members. + (extract_tm): Likewise. + (Flocaltime): Fix doc string to match. + +Thu Sep 7 02:04:27 1995 John Eaton + + * load-save.cc (save_user_variables): New function. + * sighandlers.cc (my_friendly_exit): Call it before exiting. + (sigfpe_handler): New function. + (install_signal_handlers) [__alpha__]: Install it. + +Wed Sep 6 14:35:10 1995 John Eaton + + * tree-cmd.cc (tree_unwind_protect::eval): Ignore errors and + suppress error messages while executing first block of + unwind_protect commands. + + * parse.y (end_error): Add missing case for unwind_protect_end. + + * tree-expr.cc (tree_builtin::eval): Complain if no arguments + given for mapper functions. + (tree_fvc::lookup_map_element): Print error message for invalid + structure reference. + +Tue Sep 5 02:04:12 1995 John Eaton + + * file-io.cc, input.cc, load-save.cc, octave.cc, sysdep.cc, + variables.cc, octave-hist.cc, utils.cc, f-schur.cc, f-rand.cc, + f-quad.cc, f-qpsol.cc, f-npsol.cc, f-lsode.cc, f-fsolve.cc, + f-dassl.cc, f-colloc.cc, f-balance.cc, error.cc, data.cc: + Add const qualifiers where appropriate. + + * dirfns.h: Include , for time_t. + + * tempname.c, file-io.cc, help.cc, input.cc, octave-hist.cc, + octave.cc, sighandlers.cc, sysdep.cc, tree-expr.cc, tree-misc.cc, + tree-plot.cc, utils.cc, variables.cc, sysdir.h: + Move #include inside #ifdef HAVE_UNISTD_H. + + * syswait.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * file-io.cc, sighandlers.cc: Use it instead of including + sys/wait.h directly. + + * octave.cc: Include statdefs.h, not sys/stat.h. + + * sysdir.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * dirfns.cc, utils.cc: Use it instead of including the headers + directly. + + * pathlen.h: New file. + * Makefile.in (INCLUDES): Add it to the list. + * dirfns.cc, input.cc: Use it instead of including sys/param.h + directly. + * utils.cc: Don't include sys/param.h + +Sun Sep 3 18:52:59 1995 John Eaton + + * tree-const.cc (TC_REP::string_value): Return const char*, not + char *. + + * All .cc, .y, .l, .y files: Include , not , and + so on for all new C++ versions of these standard C headers. + +Thu Aug 31 17:09:38 1995 John Eaton + + * pathsearch.h: Also hide `string'. + + * oct-str.cc, oct-str.h: New files. + * Makefile.in: Add to the appropriate lists. + * tc-rep.h: Change char* to Octave_string* in anonymous union. + * tree-expr.cc (tree_matrix::eval): Handle multiple element strings. + * strfns.cc (toascii): Likewise. + * tree-const.cc (print_as_string): Likewise. + (TC_REP::force_numeric, TC_REP::rows, TC_REP::columns, + TC_REP::double_value, TC_REP::complex_value, TC_REP::matrix_value, + TC_REP::complex_matrix_value, TC_REP::convert_to_str): Likewise. + (TC_REP::print): Call octave_print_internal for string case. + (all_strings): New function. + Fix constructors to use new data structure. + * pr-output.cc (octave_print_internal): Add version for strings. + * Array-string.cc: New file. + + * octave.cc (octave_argv): New global variable. + (intern_argv): New function. + (main): Fix argument parsing to do the right thing for arguments + to executable scripts. + * variables.cc: Add DEFUNs for argv, program_invocation_name, and + program_name. + + * defun.h (DEFVAR): Fix comment. + +Thu Aug 24 00:02:00 1995 John Eaton + + * file-io.cc (fgets_internal): Make second arg optional. Add + optional arg `strip_final_newline'. + (Ffgets): Change to match new definition of fgets_internal. + (Ffgetl): Implement using the new fgets_internal. + + * f-rand.cc (Frand): Update code for sizing return value to match + that used by ones, zeros, and eye. + +Wed Aug 23 19:52:45 1995 John Eaton + + * tree-const.cc (do_vector_assign): Don't crash for + A(range) = scalar, or A(matrix) = scalar. + + * f-dassl.cc (set_dassl_option): Rename from do_dassl_option. + (show_dassl_option): New function. + (Fdassl_options): Handle single arg. + * f-fsolve.cc (set_fsolve_option): Rename from do_fsolve_option. + (show_fsolve_option): New function. + (Ffsolve_options): Handle single arg. + * f-fsqp.cc (set_fsqp_option): Rename from do_fsqp_option. + (show_fsqp_option): New function. + (Ffsqp_options): Handle single arg. + * f-lpsolve.cc (set_lpsolve_option): Rename from do_lpsolve_option. + (show_lpsolve_option): New function. + (Flpsolve_options): Handle single arg. + * f-lsode.cc (set_lsode_option): Rename from do_lsode_option. + (show_lsode_option): New function. + (Flsode_options): Handle single arg. + * f-npsol.cc (set_npsol_option): Rename from do_npsol_option. + (show_npsol_option): New function. + (Fnpsol_options): Handle single arg. + * f-qpsol.cc (set_qpsol_option): Rename from do_qpsol_option. + (show_qpsol_option): New function. + (Fqpsol_options): Handle single arg. + * f-quad.cc: (set_quad_option): Rename from do_quad_option. + (show_quad_option): New function. + (Fquad_options): Handle single arg. + (Fquad): Doc fix. + +Tue Aug 22 00:38:05 1995 John Eaton + + * tree-plot.cc (do_external_plotter_cd): New function. + * dirfns.cc (octave_change_to_directory): New function. If cd is + successful, also call do_external_plotter_cd(). + (Fcd): Call octave_change_to_directory(), not change_to_directory(). + + * pr-output.cc (pr_any_float): Change declaration of counter to + size_t to avoid gcc warnings. + + * idx-vector.cc, octave-hist.cc, tree-const.cc, tree-expr.cc, + tree-misc.cc, utils.cc, xpow.cc, Map.cc: + Update for change in for loop variable scope for gcc 2.7.0. + +Mon Aug 21 19:34:53 1995 John Eaton + + * tree-const.cc (fortran_style_matrix_assignment): Properly handle + case of complex LHS, real RHS. + + * Makefile.in: Only include dependency files if $(omit_deps) is + not set. + +Wed Jul 5 00:03:58 1995 John Eaton + + * sysdep.cc: Explicitly include string.h. + +Sun Jun 25 00:18:10 1995 John Eaton + + * load-save.cc (too_large_for_float (const Matrix&)): + Extract elements as doubles, not Complex. + +Sat Jun 24 22:59:15 1995 John Eaton + + * pr-output.cc (any_element_is_inf_or_nan): Declare extern, not static. + * f-svd.cc (Fsvd): Call here to avoid trying to take SVD of matrix + containing Inf or NaN values. + + * pr-output.cc (bit_format): New file-scope variable. + (set_format, pr_any_float): Handle bit_format. + (octave_print_internal): Handle bit_format like bank_format. + (init_format_state): Initialize bit_format. + (set_format_style): Allow `format bit' and `format native-bit'. + +Thu Jun 8 15:20:26 1995 John Eaton + + * mappers.cc (arg, imag, signum): If arg is NaN, return NaN. + +Mon May 15 14:47:04 1995 John Eaton + + * pager.cc (Fdiary): Initialize diary_file here, not in the + file-scope declaration. + + * tree-expr.cc (tree_index_expression::eval): + Handle nargin == 0 the same as other cases. + +Tue May 2 10:02:23 1995 John Eaton + + * load-save.cc (do_double_format_conversion): Add missing breaks. + (do_float_format_conversion): Likewise. + +Mon May 1 13:50:24 1995 John Eaton + + * Makefile.in (OCTAVE_LIBS): Add @LIBPLPLOT@ to the list. + + * timefns.cc (Ftime): Handle GETTIMEOFDAY_NO_TZ. + + * Makefile.in (SOURCES): Delete tc-rep.cc, tc-rep-ass.cc, and + tc-rep-idx.cc from the list. + + * tree-const.h: Add #pragma interface. + * tree-const.cc: Add contents of tc-rep.cc, tc-rep-ass.cc, and + tc-idx.cc to this file. Add #pragma implementation. This makes + tree-const.cc large, but makes the final binary smaller. + + * unwind-prot.h unwind-prot.cc token.cc token.h procstream.cc + procstream.h idx-vector.cc idx-vector.h symtab.cc symtab.h + oct-map.cc oct-map.h oct-obj.cc oct-obj.h tree-plot.h tree-plot.cc + tree-misc.cc tree-misc.h tree-expr.cc tree-expr.h tree-cmd.cc + tree-cmd.h tree-base.cc tree-base.h: + Add #pragma interface/implementation. + + * Makefile.in (OCTAVE_LIBS): Delete @LIBINFO@ from list. + * help.cc: Don't include info headers or extern declarations for + functions from info. + (try_info): Call info as a subprocess. Delete second arg. + Handle SIGINT here, not in help_from_info(). + (help_from_info): Complain if info doesn't work. + + * defun-dld.h (DEFUN_DLD_BUILTIN) [OCTAVE_LITE && MAKE_BUILTINS]: + If ! WITH_DLD, simply emit a character string constant. + +Fri Apr 28 15:23:06 1995 John Eaton + + * lex.l ({IDENT}{S}*): Don't delete tok. That's handled by + strip_trailing_whitespace() now. + ([^ \t\n]*{S}*|[^ \t\n\;\,]*{S}*): Ditto. + + * pathsearch.h: Include kpathsea/progname.h. + * octave.cc (initialize_globals): Call kpse_set_progname(). + + * token.h: Declare copy constructor and operator = private. + * token.cc: Abort if copy constructor or operator = is used. + +Thu Apr 27 13:54:39 1995 John Eaton + + * tree-expr.cc (lookup_map_element): Don't list default argument + values here too. + + * pr-output.cc (hex_format): New file-scope variable. + (set_format, pr_any_float): Handle hex_format. + (octave_print_internal): Handle hex_format like bank_format. + (init_format_state): Initialize hex_format. + (set_format_style): Allow `format hex' and `format native-hex'. + + * variables.cc (bind_ans): Create ans_id each time with new and + ask tree_simple_assignment_expression to handle cleaning it up. + This apparently plugs a memory leak. + + * help.cc (Ftype): Don't try to print map constants. Handle + references to structure members. + +Wed Apr 26 12:40:59 1995 John Eaton + + * input.cc (generate_struct_completions): New function. + (generate_possible_completions): Likewise. + (looks_like_struct): Likewise. + (command_generator): Handle completion of struct variables. + + * tree-expr.h, tree-expr.cc (tree_fvc::lookup_map_element): + Add insert and silent args. + + * oct-map.cc: New file. + * Makefile.in (SOURCES): Add it to the list. + +Mon Apr 24 09:41:02 1995 John Eaton + + * variables.cc (Fexist): Handle structure references too. + + * tree-const.cc (lookup_map_element (const char*, int, int): + New function. + (lookup_map_element (SLList&, int, int): New arg, silent. + * tc-rep.cc (lookup_map_element): New arg, silent. If nonzero, + don't call error(). + + * tc-rep.h (is_empty): Define here. + * tree-const.h (is_empty): Hand off to TC_REP::is_empty(). + + * data.cc (Fstruct_contains): Call lookup_map_element on args(0) + instead of extracting the map and calling contains() on it. + + * parse.y (EPLUS, EMINUS): New tokens. + (simple_expr): Handle EPLUS, EMINUS the same as `+' and `-'. + * lex.l (".+", ".-"): New patterns. Match these separately to + disallow using them as unary operators. + + * lex.l (next_token_is_bin_op): Simplify by noting that spacing + only matters for those tokens that can also be unary ops. + +Fri Apr 21 14:34:45 1995 John Eaton + + * load-save.cc (read_ascii_data): Allow reading of empty + matrices. + + * tc-rep-ass.cc (vector_assignment): Only assert that we are not + doing fortran-style indexing and that nr <= 1 || nc <= 1. + (do_vector_assign): Handle assignment of [] when one dimension is + zero and the other is anything. + +Thu Apr 20 13:56:21 1995 John Eaton + + * tc-rep-ass.cc (delete_rows, delete_columns): Simply return if + num_to_delete is 0. + + * lex.l (handle_identifier): Don't match plot option keywords + inside parentheses or braces. + + * variables.cc (parse_fcn_file): Also delete tmp_help_txt if + running a script. + + * tree-cmd.h (tree_command): Add destructor. + + * tree-expr.h tree_simple_assignment_expression (lhs_idx_expr): + Hang on to idx_expr, not just its parts so it can be deleted. + (init): Initialize it. + * tree-expr.cc (~tree_simple_assignment_expression): Delete it. + + * tree-expr.h (tree_multi_val_ret, tree_oct_obj, tree_fvc, + tree_identifier, tree_builtin, tree_function): Add destructors. + * tree-expr.cc (tree_function::~tree_function): Delete some stuff. + + * tree-misc.h (tree_va_return_list): Add destructor. + + * octave.cc (__builtin_new, __builtin_delete): Provide our own, + for debugging. + + * utils.cc (strconcat): Don't depend on the return value from + strcat. + (file_in_path): Simplify logic. + + * parse.y (maybe_convert_to_ans_assign): Create ans_id each time + with new and ask tree_simple_assignment_expression to handle + cleaning it up. This apparently plugs a memory leak. + + * lex.l (strip_trailing_whitespace): Declare retval static. + Delete it before saving next string. + + * error.cc (Ferror): Do call error() for empty string args. + (error_1): Don't print anything if fmt is "" or "\n", but do set + the error state appropriately. + + * tree-cmd.cc (tree_unwind_protect::eval): Handle return and break + in the `try' part of the statement. + +Mon Apr 10 19:29:44 1995 John Eaton + + * f-expm.cc, f-givens.cc, f-qzval.cc, f-syl.cc, f-rand.cc: + Where appropriate, declare Fortran functions to take reference + instead of pointer args. Change callers. + + * mappers.cc: Declare Fortran functions to take reference instead + of pointer args. Change callers. + + * gamma.c, lgamma.c, erfc.c, erf.c, atanh.c, asinh.c, acosh.c: + Declare Fortran functions to take reference instead of pointer + args. + +Sun Apr 9 19:38:53 1995 John Eaton + + * file-io.cc (Fpopen, Fpclose, Fexecute, Fsync_system, + Fasync_system, Fwaitpid, Fmkfifo, Funlink): New functions. + + * sighandlers.cc (sigchld_handler): New function. + (install_signal_handlers): Add call to install + sigchld_handler. (This is #if 0'd out, waiting for code to help + determine which child exited and what to do about it). + + * tree-expr.h (tree_oct_obj): New class. + + * tree-expr.h (tree_multi_assignment_expression::preserve): New + data member. Add arg with default value to constructors. Change + callers as necessary. + * tree-expr.cc (~tree_multi_assignment_expression): Conditionally + delete lhs. + + * parse.y (make_multi_val_ret): Pass matrix instead of getting it + from the global matrix list. + (expression): Extract matrix from matrix list before calling + make_multi_val_ret(). + + * parse.y (command): Handle new for loop syntax for structures. + + * tree-plot.h (subplot_list): Include tree_print_code() in + initializer lists for constructors. + * tree-expr.h (tree_statement_list, tree_argument_list, + tree_parameter_list, tree_return_list, tree_global_init_list, + tree_if_command_list, ): Likewise. + + * tree-cmd.h (tree_for_command::id_list): New data member. + (tree_for_command (tree_return_list*, tree_expression*, + tree_statement_list*, int, int)): Likewise. + * tree-cmd.cc (tree_for_command::eval): Handle for loops with + structures. + (do_for_loop_once (tree_return_list*, Octave_object&, int&)): + New form for handling for loops with structures. + + * sysdep.cc (octave_ieee_init): Determine floating point format + here. + (native_float_format): New global variable. + (Fisieee): Compute return value from native_float_format, not by + using preprocessor macros. + * sysdep.h (enum floating_point_format): Move declaration here. + * load-save.cc: From here. + Always define all floating point format conversion routines. + (do_double_format_conversion, do_float_format_conversion): + Use native_float_format instead of preprocessor macros. + +Sat Apr 8 15:41:35 1995 John Eaton + + * Makefile (TEMPLATE_SRC): New variable. + (DISTFILES): Add $(TEMPLATE_SRC). + (SOURCES): Delete Map.cc and SLStack.cc from here. + + * variables.cc (install_builtin_variables): Use OCTAVE_VERSION + instead of version_string to initialize OCTAVE_VERSION. + * version.h (version_string): Delete. + + * getopt.c (_getopt_internal): Initialize indfound to avoid warning. + +Fri Apr 7 15:29:41 1995 John Eaton + + * tc-inlines.h (REP_RHS_MATRIX): Just check to see if tc is real + or complex. If conversion fails, return. + +Thu Apr 6 00:10:47 1995 John Eaton + + * data.cc (Fstruct_contains): New function. + + * tc-rep.cc (print_code): Add extra parens around while condition + to avoid warning. + * utils.cc (undo_string_escapes): Likewise. + * input.cc (decode_prompt_string): Likewise. Also rewrite if + statement to avoid warning. + +Tue Apr 4 22:54:17 1995 John Eaton + + * tree-expr.cc (tree_multi_assignment_expression::eval, + tree_simple_assignment_expression::eval): Call print_constant + even if user_pref.print_answer_id_name is false. + +Mon Apr 3 17:57:14 1995 John Eaton + + * tc-inlines.h (TC_REP): Avoid redefinition. + + * tree-const.h (do_binary_op, do_unary_op): Declare as friends of + tree_constant class too. + + * tree-plot.h (subplot_using::have_values): Delete data member. + * tree-plot.cc (subplot_using::eval): Always recompute values. + +Fri Mar 31 10:18:32 1995 John Eaton + + * tc-rep.cc (print): Print open brace for structures here. + * tree-expr.cc (print_constant): Not here. + + * symtab.cc (define): Don't delete arg if sv_fcn fails. + + * tree-const.cc (print): New function. Create ostrstream buffer + and pass it to rep->print(). + * tree-const.h (eval (int)): Call print(), not rep->print(). + * tc-rep.cc (structure_indent_level): New file-scope variable. + (print): New arg, output_buf, is stream to print to. + Print values of structure elements too. + + * user-prefs.h (user_preferences): New field, struct_levels_to_print. + * user-prefs.cc (struct_levels_to_print): New function. + * variables.cc (install_builtin_variables): Add DEFVAR for new + variable struct_levels_to_print. + + * tree-const.cc (print_as_scalar, print_as_structure): Move here + from tree-expr.cc and make extern. + + * tree-expr.cc (print_as_structure): New function. + (print_constant): Use it. + + * tree-expr.cc (print_constant): New arg, print_padding. + (tree_simple_assignment_expression::eval): Use print_constant + instead of duplicating code here. + (tree_multi_assignment_expression::eval): Likewise. + +Thu Mar 30 13:24:11 1995 John Eaton + + * Makefile.in (SOURCES): Add resource.cc. + * resource.cc: New file, extracted from timefns.cc. + (Fgetrusage): New function. + * timefns.cc (cputime): Delete (now implemented in a function file + using new getrusage function). + +Wed Mar 29 22:52:42 1995 John Eaton + + * Makefile.in (SOURCES): Add strftime.c. + * strftime.c: New file, from sh-utils distribution. + + * timefns.cc (mk_tm_map, extract_tm, Ftime, Fgmtime, Flocaltime, + Fmktime, Fstrftime): New basic time functions. + (Fclock, Fdate): Delete (now implemented in function files using new + time functions). + +Tue Mar 28 17:51:51 1995 John Eaton + + * file-io.cc (return_valid_file, do_printf, do_scanf, + fclose_internal, feof_internal, ferror_internal, fflush_internal, + fgets_internal, fopen_internal, fread_internal, freport_internal, + frewind_internal, fseek_internal, ftell_internal, + fwrite_internal): Declare static. + * file-io.h: Delete extern declarations for them. + +Fri Mar 24 09:52:50 1995 John Eaton + + * pr-output.cc (pr_col_num_header): New function. + (compact_format): New file-scope variable. + (set_format_style): Handle loose and compact formats. + (octave_print_internal (ostream&, const ComplexMatrix&, int)): + Replace duplicate code with call to pr_col_num_header(). + (octave_print_internal (ostream&, const Matrix&, int): Likewise. + (octave_print_internal (ostream&, const Range&, int): Likewise. + +Tue Mar 21 08:44:48 1995 John Eaton + + * mappers.cc (xgamma): Always use Slatec library function. + * (xlgamma): Likewise. + * Makefile.in (SOURCES): Don't include lgamma.c. + +Fri Mar 17 22:38:39 1995 John Eaton + + * tc-rep.cc (TC_REP::new): Don't try to keep track of newlist_tail. + Explicitly initialize newlist to zero. + * tree-const.cc (tree_constant::operator new): Likewise. + +Fri Mar 10 12:40:24 1995 John Eaton + + * tree-cmd.cc (quit_loop_now): Declare inline. + (tree_for_command::do_for_loop_once): Split into two versions, one + for the general case and one for when the loop variable is a + simple identifier. + (DO_LOOP): New macro. Move tests outside of loop. + (tree_for_command::eval): Speed up by checking to see if loop + variable is a simple identifier and by using DO_LOOP. + + * tree-const.h: New union of rep and freeptr. The freeptr element + is used for our custom memory management functions. + + * tc-rep.h: Add freeptr element to anonymous union (for our custom + memory management functions). + + * tree-const.cc (newlist, newlist_grow_size, newlist_tail): New + static variables. + (tree_constant::operator new): Always define to allow more + efficient allocation of single tree_constants. + (tree_constant::operator delete): Likewise, handle deletion of the + memory we allocate. + + * tc-rep.cc (newlist, newlist_grow_size, newlist_tail): New static + variables. + (tree_constant::operator new): Always define to allow more + efficient allocation of single tree_constants. + (tree_constant::operator delete): Likewise, handle deletion of the + memory we allocate. + +Fri Mar 3 14:00:08 1995 John Eaton + + * error.cc (verror): Terminate output_buf with ends. + + * statdefs.h: Use C-style comment in first line instead of + C++-style comment. + +Mon Feb 27 10:11:18 1995 John Eaton + + * parse.y (maybe_convert_to_ans_assign): Only lookup ans once. + * variables.cc (bind_ans): New function. + * tree-expr.cc (tree_identifier::eval (int)): Use it here. + (tree_identifier::eval (int, int, const Octave_object&): And here. + + * tree-expr.cc (install_nargin_and_nargout): New function. + * tree-expr.h (tree_function::tree_function (tree_statement_list *, + symbol_table *, int, int)): Call it. + + * tree-expr.cc (tree_function::bind_nargin_and_nargout): New function. + (tree_function::eval): Call it insead of the one from variables.cc. + + * variables.cc (bind_nargin_and_nargout): #if 0 out. + +Sun Feb 26 00:17:06 1995 John Eaton + + * load-save.cc (Fload, Fsave): Free fname returned by tilde_expand(). + * dirfns.cc (Fls): Likewise. + + * tree-expr.cc (tree_multi_assignment_expression::eval (int, int, + const Octave_object&)): Call tree_return_list::operator () (Pix) + explicitly. + + * octave.cc (initialize_globals): Put TEXMF in the environment for + kpthsea. + + * Makefile.in (OCTAVE_LIBS): Use @LIBINFO@ and @LIBREADLINE@, + substituted by configure. Use kpathsea.a, not libkpathsea, so we + don't have to modify the kpathsea Makefile. + +Sat Feb 25 18:59:26 1995 John Eaton + + * pathsearch.cc: New file. + * pathsearch.h: New file. + * Makefile.in (INCLUDES): Include it in the list. + * dynamic-ld.cc, help.cc, utils.cc: Use it instead of repeating + identical code multiple times. + + * variables.cc (install_builtin_variables): Only DEFVAR + suppress_verbose_help_message if USE_GNU_INFO. + + * help.cc (Fhelp): Only handle -i if USE_GNU_INFO. + (additional_help_message): Only print message if USE_GNU_INFO. + (builtin_help): New function. + (help_from_info): New function. Print warning if not USE_GNU_INFO. + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/OLD-ChangeLogs/test-ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/OLD-ChangeLogs/test-ChangeLog Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,848 @@ +2011-04-03 Rik + + * test_diag_perm.m: Reverse previous changeset. Return 3-input form + of diag(). + +2011-04-01 Rik + + * test_diag_perm.m: Update diag tests to reflect removal of archaic + 3-input form of diag(). + +2011-03-18 Rik + + * test_parser.m: Add operatore precedence tests. + +2011-03-01 Rik + + * test/test_index-wfi-t.m: Use modern warning function + rather than deprecated built-in variable to set warning state. + +2011-02-22 Rik + + * fntests.m: Use single quotes around regexp patterns. + +2011-02-19 Rik + + * fntests.m: Use PCRE regular expressions to simplify script. + +2011-02-02 Rik + + * build_sparse_tests.sh: Use testif to only run some sparse tests when + necessary libraries are installed. + +2011-01-14 John W. Eaton + + * Update copyright notices for 2011. + +2010-12-13 Rik + + * test_switch.m : Add test for switch statement with otherwise clause, + but no cases. + +2010-11-10 John W. Eaton + + * fntests.m: Set warning state off for Octave:deprecated-functions. + (run_test_script): Do run tests for deprecated functions. + +2010-11-09 John W. Eaton + + * test_parser.m: New file. + * Makefile.am (FCN_FILES): Add it to the list. + +2010-09-29 Rik + + * fntests.m: Break output text differently for better readability. + +2010-09-28 Rik + + * test/@Gork/set.m, test/fntests.m, test/test_func.m, test/test_io.m: + Untabify scripts. + +2010-09-27 Rik + + * fntests.m: Use single quotes for regex when possible. + +2010-09-26 Rik + + * fntests.m (has_tests, has_functions): Recode to remove requirement + for PCRE. + +2010-09-24 Rik + + * fntests.m: Rephrase output for clarity. + +2010-08-17 Rik + + * fntests.m: Add extra newline for more readable output. + +2010-07-30 Rik + + * Makefile.am: New clean-local target to remove directories + created automatically during testing. + +2010-04-28 John W. Eaton + + * test_struct.m: Update expected error message text. + +2010-03-19 Jaroslav Hajek + + * test_slice.m: Use ID check rather than message for invalid resizing. + +2010-03-05 Jaroslav Hajek + + * test_logical-wfi-f.m: Update. + * test_logical-wfi-t.m: Update. + * test_struct.m Update. + +2010-01-29 John W. Eaton + + * fntests.m (hasfunctions): Only check for DEFUN in .cc files. + Return true for all .m files. + +2010-01-14 David Grundberg + + * fntests.m (run_test_script): Check all *.cc files for tests. + +2010-01-13 Rik + + * build_bc_overload_tests.sh: Correct test syntax (= vs. ==) + +2010-01-13 John W. Eaton + + * Makefile.am (test_bc_overloads.m): Accept expected results + file as argument. Style fixes. + +2010-01-13 Jaroslav Hajek + + * build_bc_overload_tests.sh: New shell script. + * build_bc_overloads_expected.m: New source (not normally used). + * bc_overloads_expected: New text file. + * Makefile.am: Build test_bc_overloads.m. + +2009-12-25 John W. Eaton + + * fntests.m (hastests): Use regexp instead of findstr and only + match tests that appear as the first thing on a line. + +2009-12-19 Rik + + * build_sparse_tests.sh: Use lognrnd instead of deprecated lognormal_rnd + +2009-12-19 Rik + + * Makefile.am: Eliminate TOPDIR variable in favor of built-in automake + variables of top_builddir and top_srcdir. + +2009-12-17 Rik + + * config/unix.exp: Remove obsolete file from repository + +2009-12-17 Rik + + * @Blork/module.mk, @Cork/module.mk, @Dork/module.mk, + @Gork/module.mk, @Pork/module.mk, @Sneetch/module.mk, + @Snork/module.mk, @Spork/module.mk, Makefile.am: Distribute private + function directories necessary for OOP tests to work in tarballs + +2009-12-03 John W. Eaton + + * Makefile.am (CLEANFILES, DISTCLEANFILES): New variables. + +2009-11-10 John W. Eaton + + * @Blork/module.mk, @Cork/module.mk, @Dork/module.mk, + @Gork/module.mk, @Pork/module.mk, @Sneetch/module.mk, + @Snork/module.mk, @Spork/module.mk, Makefile.am: New files. + * Makefile.in: Delete. + +2009-10-19 Rik + + * fntests.m: .cc files are now included in the list of files requiring + tests only if they define a user function (DEFUN or DEFUN_DLD) + +2009-10-19 Rik + + * fntests.m: Remove deprecated functions from list of functions + requiring new tests to be written. + +2009-10-08 Rik + + * fntests.m: Fix typo of an extra space in instructions to user. + +2009-10-05 Rik + + * fntests.m: Fix typo directing users to the wrong log file + +2009-06-23 Robert T. Short + + * @Blork/Blork.m, @Blork/bleek.m, @Blork/display.m, @Blork/get.m, + @Blork/set.m, @Cork/Cork.m, @Cork/click.m, @Cork/display.m, + @Cork/get.m, @Cork/set.m, @Dork/Dork.m, @Dork/bling.m, + @Dork/display.m, @Dork/gack.m, @Dork/get.m, @Dork/getStash.m, + @Dork/private/myStash.m, @Dork/set.m, @Gork/Gork.m, @Gork/cork.m, + @Gork/display.m, @Gork/gark.m, @Gork/get.m, @Gork/set.m, + @Gork/subsasgn.m, @Gork/subsref.m, @Pork/Pork.m, @Pork/bling.m, + @Pork/display.m, @Pork/get.m, @Pork/gurk.m, + @Pork/private/myStash.m, @Pork/set.m, @Sneetch/Sneetch.m, + @Sneetch/display.m, @Snork/Snork.m, @Snork/cack.m, + @Snork/display.m, @Snork/end.m, @Snork/get.m, @Snork/getStash.m, + @Snork/gick.m, @Snork/loadobj.m, @Snork/private/myStash.m, + @Snork/saveobj.m, @Snork/set.m, @Snork/subsasgn.m, + @Snork/subsindex.m, @Snork/subsref.m, @Spork/Spork.m, + @Spork/cack.m, @Spork/display.m, @Spork/geek.m, @Spork/get.m, + @Spork/getStash.m, @Spork/loadobj.m, @Spork/private/myStash.m, + @Spork/saveobj.m, @Spork/set.m, test_classes.m: New files. + +2009-06-22 Jaroslav Hajek + + * test_null_assign.m: Fix test. + +2009-04-17 Thorsten Meyer + + * test_struct.m: Add tests to prevent regression of bug with + indexed assignment into empty struct array. + +2009-04-15 Thorsten Meyer + + * test_struct.m: Add tests for lazy copying in nested assignments + of struct elements. + +2009-04-12 Thorsten Meyer + + * test_contin.m, test_error.m, test_eval-catch.m, test_for.m, + test_global.m, test_if.m, test_index-wfi-f.m, + /test_index-wfi-t.m, test_io.m, test_logical-wfi-f.m, + test_logical-wfi-t.m, test_prefer.m, test_recursion.m, + test_return.m, test_string.m, test_struct.m, test_switch.m, + test_system.m, test_transpose.m, test_try.m, test_unwind.m, + test_while.m: Remove obsolete comments. + +2009-04-07 Carlo de Falco + + * test_io.m: Add a test for saving and reading a matrix with the + "-ascii" format. + +2009-03-10 Jason Riedy + + * test_diag_perm.m: Add tests for permuting sparse matrices and + for the correct types from interactions between + pseudo-scalars (1x1 matrices). + +2009-03-10 Jason Riedy + + * build_sparse_tests.sh: Add LU tests to the rectangular tests. + +2009-03-10 Jason Riedy + + * test_diag_perm.m: Add a test for conversion to sparse form. + +2009-03-09 Jason Riedy + + * test_diag_perm.m: Add tests for diag + sparse. + +2009-03-08 Jason Riedy + + * test_diag_perm.m: Add tests for inverse scaling and sparse structure. + +2009-03-08 Jason Riedy + + * test_diag_perm.m: Add tests for preserving sparse structure + when scaling. + +2009-02-25 John W. Eaton + + * build_sparse_tests.sh: Note that saving sparse matrices to MAT + files fails when using 64-bit indexing. + +2009-02-22 John W. Eaton + + * build_sparse_tests.sh: Fix diag matrix divide by zero test. + +2009-02-18 John W. Eaton + + * test_args.m: Don't use assert to test for function handles. + +2009-02-15 John W. Eaton + + * test_io.m, test_prefer.m: Avoid command-style function call + syntax when assigning results. + +2009-02-09 John W. Eaton + + * fntests.m (hastests): Error if fopen fails. + +2009-01-29 John W. Eaton + + * test_system.m: Use isfield instead of struct_contains. + +2009-01-25 Thorsten Meyer + + * test_struct.m: Add struct array tests. + +2009-01-23 Søren Hauberg + + * test_prefer.m: Update to match new API of the 'type' function. + +2008-12-24 John W. Eaton + + * fntests.m (hastests): Use fread instead of fscanf to preserve + whitespace. + +2008-12-02 Jaroslav Hajek + + * build_sparse_tests.sh: Fix test. + +2008-10-28 Jaroslav Hajek + + * test_logical-wfi-f.m: Fix error messages. + * test_logical-wfi-t.m: Fix error messages. + * test_slice.m: Fix error messages. + +2008-09-26 Jaroslav Hajek + + * test_null_assign.m: More test for null assignments. + +2008-09-18 Jaroslav Hajek + + * test_null_assign.m: New tests. + +2008-06-11 John W. Eaton + + * test_error.m: Fix tests for usage. + * test_eval-catch.m, test_try.m: Fix expected output from lasterr. + +2008-06-02 David Bateman + + * test_arith.m: Delete and move tests close to function + definitions. + * test_func.m: Also test for single precision return values. + + * test_infnan.m, test_linalg.m, test_matrix.m, test_number.m): + Delet and move tests close to function definitions. + * test_range.m: Also test single precision examples. + +2008-05-19 Bill Denney + + * test_args.m: Update format to allow running "test test_args" + and add default argument tests. + +2008-05-09 Rafael Laboissiere + + * test_io.m, test_system.m: Use ischar instead of deprecated isstr. + +2008-05-06 John W. Eaton + + * fntests.m: Use puts instead of printf where appropriate. + Fix missing newline in message. + +2008-03-26 David Bateman + + * test_index-wfi-f.m: Split large block of tests. New tests. + +2008-03-26 John W. Eaton + + * fntests.m (report_files_with_no_tests): New function. + Use it to report number of .m and .cc files without tests separately. + +2008-03-25 John W. Eaton + + * test_index-wfi-f.m: New tests. + +2008-03-25 Jaroslav Hajek + + * test_io.m: Add test for save with -struct modifier. + +2008-03-20 David Bateman + + * test_func.m: Modify to test for char, cell and structure arrays. + + * test_func.m: New test code that ensures that all operations + which work on dimensions alone (squeeze, triu, etc.) work for all + objects and preserve type. + +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-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_eval.m, test_diffeq.m, test_quad.m, test_signal.m: + Delete files with no tests. + +2008-02-25 Ben Abbott + + * test_eval-catch.m, test_io.m, test_try.m: Use cstrcat instead of + strcat. + +2008-02-22 David Bateman + + * build_sparse_tests.sh: Replaced removed sparse functions like + spdiag with their generic names. Fix lu tests for modified + syntax. Test vector and scaling or LU and chol functions. + * test_linalg.m: Change error message of failing chol/lu test. + +2008-02-19 David Bateman + + * build_sparse_tests.sh: Replaced removed spars functions like + spmin, with their generic names. + +2008-01-22 John W. Eaton + + * test_poly.m, test_set.m, test_stats.m: Delete files with no tests. + +2008-01-22 Thomas Weber + + * test_linalg.m, test_matrix.m, test_number.m, test_poly.m, + test_signal.m, test_stats.m, test_string.m, test_system.m: + Move tests to individual source files. + +2008-01-15 Thomas Weber + + * test_arith.m: Move tests to source files. + +2008-01-15 John W. Eaton + + * test_audio.m, test_control.m, test_image.m, test_optim.m, + test_plot.m, test_unix.m: Delete files with no tests. + +2007-12-21 John W. Eaton + + Version 3.0.0 released. + +2007-12-18 David Bateman + + * build_sparse_tests.sh: Add tests for indexing like a([1,1],:), + a(:,[1,1]) and sparse(42)([1,1]). + +2007-12-11 David Bateman + + * build_sparse_tests.sh: Drop argument to Fsparse to force mutation. + * test_range.m: Ditto. + +2007-12-10 John W. Eaton + + * test_nonlin.m: Delete. + +2007-12-03 David Bateman + + * fntests.m: Also count the skipped tests. + * build_sparse_tests.sh: As appropriate make tests conditional on + HAVE_UMFPACK, HAVE_CHOLMOD and HAVE_CXSPARSE. + +2007-11-26 David Bateman + + * build_sparse_tests.sh: More care with sparse return values. + +2007-10-30 Kim Hansen + + * build_sparse_tests.sh: Fix typo. + +2007-10-23 John W. Eaton + + * build_sparse_tests.sh (gen_sparsesparse_elementop_tests): + Use xtest for "assert(as./bs,sparse(af./bf,true),100*eps);" test. + +2007-10-12 John W. Eaton + + * Change copyright notices in all files that are part of Octave to + GPLv3 or any later version. + +2007-10-06 John W. Eaton + + * test_poly.m: Move residue test to residue.m. + +2007-09-29 Kim Hansen + + * test_range.m: Test range data + +2007-09-21 John W. Eaton + + * test_slice.m: Fix test for x = ones ([0, 2]); x(idx) = N case. + See change for liboctave/Array.cc. + +2007-06-15 John W. Eaton + + * fntests.m: Also report expected failures in summary. + Improved wording from Thomas Weber . + +2007-06-06 John W. Eaton + + * test_signal.m: Rename internal assert function to xassert. + +2007-04-26 David Bateman + + * test_for.m: Add tests for multi-dimensional matrices and cell + arrays. + +2007-04-04 Rafael Laboissiere + + * Makefile.in (clean): Also remove a.wav file created by + testing wavwrite.m. + +2007-04-03 Kim Hansen + + * test_slice.m: New file. + +2007-03-27 John W. Eaton + + * Makefile.in (dist): Use ln, not $(LN_S). + +2007-02-26 From Michael Goffioul + + * Makefile.in: Use $(LN_S) instead of ln or ln -s. + +2007-02-20 John W. Eaton + + * Makefile.in (check): Use --norc instead of --no-site-file. + From: Alex Zvoleff + +2007-02-19 John W. Eaton + + * test_system.m: Handle confirm_recursive_rmdir as function + instead of built-in variable. + +2007-02-07 John W. Eaton + + * fntests.m: Add plea for help writing tests. + +2007-01-11 John W. Eaton + + * fntests.m: Also handle scripts directory in the build tree. + + * Makefile.in (OCTAVE_SCRIPT_PATH): Delete unused variable. + +2006-11-14 Luis F. Ortiz + + * fntests.m: Include liboctave in the list of directories to test. + +2006-08-25 John W. Eaton + + * test_io.m (testls): Allow for small variance in loaded values + for text data formats. Use persistent local variables instead of + resetting rand seed. + +2006-08-22 David Bateman + + * build_sparse_tests.sh: Don't force conversion to sparse boolean + return type for string mapper functions. + +2006-08-21 John W. Eaton + + * test_io.m: Use isequal (a, b) instead of a != b. Use isequal + for struct and cell tests instead of more complex constructs. + +2006-06-27 John W. Eaton + + * Makefile.in (distclean): Also remove test_sparse.m. + +2006-06-07 John W. Eaton + + * fntests.m: Keep track of files with tests and report total. + +2006-06-01 John W. Eaton + + * fntests.m (print_test_file_name, print_pass_fail): New functions. + (runtestdir, runtestscript): Use them. Print info for each file + with tests. Print info about files without tests to log file. + (run_test_dir): Rename from runtestdir. Change all uses. + (run_test_script): Rename from runtestscript. Change all uses. + Handle page_screen_output as a function instead of a built-in + variable. + +2006-05-04 John W. Eaton + + * test_prefer.m: Adjust tests for eliminated built-in variables. + +2006-04-29 John W. Eaton + + * Makefile.in (check): Use run-octave script. + +2006-04-28 John W. Eaton + + * test_prefer.m: Adjust tests for new way of handling warning state. + * build_sparse_tests.sh: Likewise. + +2006-04-11 John W. Eaton + + * test_system.m, test_struct.m, test_string.m, test_quad.m, + test_number.m, test_nonlin.m, test_matrix.m, test_linalg.m, + test_io.m, test_diffeq.m, test_arith.m: Update for new usage + message format. + +2006-04-03 David Bateman + + * test_number.m: Reverse sense of isscalar and isvector tests + for recent changes. + +2006-03-21 John W. Eaton + + * test_system.m: Use cell arrays of character strings in fnmatch + tests. + +2006-03-16 John W. Eaton + + * test_system.m: End all *pwent tests with a call to endpwent. + End all *grent tests with a call to endgrent. + +2006-03-14 John W. Eaton + + * fntests.m: Prettier printing of output. + * test_eval.m: Disable chatty tests. + +2006-03-08 David Bateman + + * test_system.m: Fix recursive rmdir test for recent change. + +2006-02-20 David Bateman + + * build_spase_tests.sh: Add tests for ldiv tests for rectangular + diagonal, permuted diagonal, triangular and permuted triangular + matrices. + +2006-02-09 David Bateman + + * build_sparse_tests.sh: Add tests for sparse QR solvers. + +2006-01-21 David Bateman + + * build_sparsetest.sh: Add new un-ordered indexing, assignment and + deletion tests. + +2006-01-13 Bill Denney + + * test_system.m: Use filesep instead of "/" where needed. + +2005-12-14 David Bateman + + * build_sparse_tests.sh: New script to build sparse matrix tests. + * fntests.m: New script to run the octave test code, with "make check". + * Makefile.in (DISTDIRS): Delete. + (dist): Simplify. + (OCTAVE_SCRIPT_PATH): Include . and $(srcdir). + (check): Run tests with fntest.m instead of runtest. + (test_sparse.m): New target. + (clean): Remove fntests.log instead of octave.log and octave.sum. + + * tests/test_args.m, tests/test_infnan.m, tests/test_set.m, + tests/test_arith.m, tests/test_io.m, tests/test_signal.m, + tests/test_audio.m, tests/test_linalg.m, tests/test_sparse.m, + tests/test_contin.m, tests/test_logical-wfi-f.m, tests/test_stats.m, + tests/test_control.m, tests/test_logical-wfi-t.m, tests/test_string.m, + tests/test_diffeq.m, tests/test_matrix.m, tests/test_struct.m, + tests/test_error.m, tests/test_nonlin.m, tests/test_switch.m, + tests/test_eval-catch.m, tests/test_number.m, tests/test_system.m, + tests/test_eval.m, tests/test_optim.m, tests/test_transpose.m, + tests/test_for.m, tests/test_plot.m, tests/test_try.m, + tests/test_global.m, tests/test_poly.m, tests/test_unix.m, + tests/test_if.m, tests/test_prefer.m, tests/test_unwind.m, + tests/test_image.m, tests/test_quad.m, tests/test_while.m, + tests/test_index-wfi-f.m, tests/test_recursion.m, + tests/test_index-wfi-t.m, tests/test_return.m: Initial of conversion + of DejaGnu tests to test/assert infrastructure. + +2005-05-11 John W. Eaton + + * config/unix.exp: Start Octave with -H. + +2002-10-31 John W. Eaton + + * octave.test/arith/prod-4.m, octave.test/arith/sum-4.m: + Cover more cases for empty matrices. + +2002-10-15 Paul Kienzle + + * Makefile.in: Use @library_path_var@ instead of LD_LIBRARY_PATH. + +2002-09-27 Paul Kienzle + + * qr-7.m: Remove randomness from complex matrix generator. + Increase tolerance on rosser matrix test. + +2002-09-26 Paul Kienzle + + * octave.test/linalg/qr-7.m: Replace large random matrix tests + of economy QR decomposition with small predictable tests. + Include numerically sensitive rosser matrix test. Don't + report the measured norms. + +2002-04-24 Bill Lash + + * test/octave.test/signal/signal.exp: Add unwrap test. + * test/octave.test/signal/unwrap-1.m: New file. + +2002-04-24 David Billinghurst + + * octave.test/signal/signal.exp: Add tests for fft, ifft + fft2, ifft2 and detrend. + * octave.test/signal/detrend-1.m: New test. + * octave.test/signal/detrend-2.m: New test. + * octave.test/signal/detrend-3.m: New test. + * octave.test/signal/fft-1.m: New test. + * octave.test/signal/ifft-1.m: New test. + * octave.test/signal/fft2-1.m: New test. + * octave.test/signal/ifft2-1.m: New test. + +2002-04-22 John W. Eaton + + * octave.test/diffeq/dassl-1.m (tol): Use relative tolerance for test. + * octave.test/diffeq/dassl-2.m (tol): Likewise. + * octave.test/diffeq/lsode-1.m (tol): Likewise. + * octave.test/diffeq/lsode-2.m (tol): Likewise. + * octave.test/diffeq/lsode-3.m (tol): Likewise. + +2002-04-12 Kienzle + + * config/unix.exp: Allow running of individual tests with + "runtest *.exp" from any of the directories under test/octave.test. + +2002-04-02 John W. Eaton + + * octave.test/linalg/qr-7.m: New test. + From Paul Kienzle . + +2001-04-24 Christoph Spiel + + * Makefile.in (check): Allow user to specify which .exp file to run. + * octave.test/try, octave.test/eval-catch: New directories and tests. + +2000-06-07 Ben Sapp + + * octave.test/quad/quad-1.m: Use absolute value of difference + from expected value when comparing with sqrt (eps). Potential + problems like this were noticed by Przemek Klosowski + . + * octave.test/quad/quad-2.m: Likewise. + * octave.test/arith/exp-1.m: Likewise. + * octave.test/linalg/cond-1.m: Likewise. + * octave.test/linalg/eig-1.m: Likewise. + * octave.test/linalg/eig-2.m: Likewise. + * octave.test/linalg/inv-1.m: Likewise. + * octave.test/linalg/lu-2.m: Likewise. + * octave.test/linalg/svd-2.m: Likewise. + * octave.test/linalg/svd-10.m: Likewise. + +1999-10-29 John W. Eaton + + * octave.test/system/mktime-1.m (t): Compare whole seconds only. + +Fri Dec 4 20:55:47 1998 John W. Eaton + + * octave.test/system/clock-1.m: Use standard format specifiers %d + and %H instead of %e and %k. + +Fri Oct 23 15:53:01 1998 John W. Eaton + + * octave.test/arith/exp-5.m: New test. + + * octave.test/stats/mean-3.m: New version of mean accepts a second + optional arg. + + * octave.test/system/date-1.m: Correct test for new Y2K-compliant + date function. + +Wed May 27 00:38:27 1998 John W. Eaton + + * octave.test/diffeq/dassl-1.m, octave.test/diffeq/dassl-2.m, + octave.test/diffeq/lsode-1.m: New tests, from David Billinghurst + . + + * octave.test/diffeq/lsode-2.m, octave.test/diffeq/lsode-3.m: + New tests, from Peter Hopfgartner . + +Thu Apr 23 01:45:16 1998 John W. Eaton + + * Makefile.in: If $(SHARED_LIBS), set LD_LIBRARY_PATH for running + Octave before installation is complete. + +Wed Apr 15 15:23:43 1998 John W. Eaton + + * octave.test/index/dfi-f/m-2.m, octave.test/index/dfi-f/index.exp: + Expect this test to succed now. + +Thu Mar 5 20:35:26 1998 John W. Eaton + + * octave.test/system/gmtime-1.m, octave.test/system/localtime-1.m: + Not all systems have time zone info in the struct. + +Mon Mar 2 14:36:50 1998 John W. Eaton + + * octave.test/io/binary-io-1.m (id): Use binary flag in fopen call. + +Wed Apr 2 21:59:15 1997 John W. Eaton + + * octave.test/prefer/prefer.exp: Delete prefer-36 and prefer-37. + * octave.test/prefer/prefer-36.m, octave.test/prefer/prefer-37.m: + Delete test files. + +Wed Mar 12 16:56:41 1997 John W. Eaton + + * Makefile.in (install-strip): New target. + +Sat Mar 1 15:23:14 1997 John W. Eaton + + * Version 2.0.5 released. + +Thu Feb 20 02:58:05 1997 John W. Eaton + + * Version 2.0.4 released. + +Tue Feb 18 09:22:04 1997 John W. Eaton + + * Version 2.0.3 released. + +Mon Jan 27 15:51:58 1997 John W. Eaton + + * Version 2.0.2 released. + +Thu Jan 23 13:48:19 1997 John W. Eaton + + * octave.test/unwind/unwind-2.m: Scripts now stop executing when + errors are encountered. + + * octave.test/return/return.exp: Return at top level is no longer + an error. + +Tue Jan 7 00:16:23 1997 John W. Eaton + + * Version 2.0.1 released. + +Tue Dec 10 01:43:05 1996 John W. Eaton + + * Version 2.0 released. + +Fri Dec 6 15:23:39 1996 John W. Eaton + + * Version 1.94. + +Wed Nov 20 01:00:02 1996 John W. Eaton + + * Version 1.93. + +Thu Nov 14 00:05:57 1996 John W. Eaton + + * Version 1.92 + +Thu Nov 7 12:43:03 1996 John W. Eaton + + * Version 1.91. + +Wed Oct 30 17:19:12 1996 John W. Eaton + + * Version 1.90. + + * Makefile.in (DISTFILES): Add ChangeLog. + +Fri Feb 9 21:40:49 1996 John W. Eaton + + * Makefile.in (OCTAVE_SCRIPT_PATH): Add ../src directory (for .oct + files) and current directory (why not?). + +See ChangeLog.1 in the top level directory for earlier changes. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/PROJECTS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/PROJECTS Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,11 @@ +Octave PROJECTS +=============== + +A list of proposed projects is maintained at: + + http://wiki.octave.org/wiki.pl?Projects + +If you start working steadily on a project, please let +maintainers@octave.org know. We might have information that could help +you. You should also read the Contributing Guidelines chapter in the +Octave manual. diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.Cygwin --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.Cygwin Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,51 @@ +Starting with version 3.0.1, Octave is once again part of the normal +net distribution of Cygwin, available from http://www.cygwin.com. + +It is possible to build Octave from source on Windows systems with Cygwin, +but with the old gcc-3.4.4-3 compiler there are some performance +problems related to the way C++ exception handling is implemented. +This is a known problem with a long history and it is STRONGLY +encouraged to use gcc-4.3.2-1 or later. + +Current binary versions are built with gcc-4.3.4-3 while +binary version 3.0.2-2 was built with gcc-4.3.2-1. + +The latest development Octave development sources (octave-3.3.54+) +are built with: + +configure --enable-shared \ + --enable-float-truncate \ + CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 + lt_cv_deplibs_check_method=pass_all \ + LDFLAGS=-no-undefined + +"--enable-float-truncate" is needed for the following bug: +http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404 +Without it, one of the quadgk test will fail as +"a=a" could be false due to truncation problems with +complex numbers. + +"lt_cv_deplibs_check_method=pass_all" is needed to bypass +incorrect libtool detection of system capabilities and +to allow shared libs building. + + +Octave-3.2.4 was built using: + +configure --enable-shared \ + --without-fltk \ + --without-framework-opengl \ + CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4 + CFLAGS="-Dtimezone=_timezone" + + +Current Cygwin package maintainer for Octave: + + Marco Atzeri + http://matzeri.altervista.org + +Marco Atzeri +marco_atzeri@yahoo.it +Italy + +Last updated: Mon Jan 3 18:53:41 WEST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.Linux --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.Linux Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,10 @@ +There are binary packages for Debian, Fedora, and other GNU/Linux +distributions. + +Octave should build cleanly from source on most GNU/Linux systems. + + +John W. Eaton +jwe@octave.org + +Last updated: Wed, 31 Oct 2007 16:22:26 EDT diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.MacOS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.MacOS Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,406 @@ +1. Easy to install Binary Releases +================================== + +A MacOS bundle is available from sourceforge. + + http://octave.sourceforge.net/index.html + +There are also Octave packages available from both Fink and MacPorts. Each +of these package managers handle the details of compiling Octave from source. + + http://www.finkproject.com + http://www.macports.org/ + + +2. Building from Source +======================= + +Stable releases, development snapshots as well as the current developers +sources are available. The sources for stable releases are available from +the links below. + + ftp://ftp.gnu.org/pub/gnu/octave/ + http://ftp.gnu.org/pub/gnu/octave/ + +Development snapshots, intended for testing, are available from the link +below. + + ftp://alpha.gnu.org/gnu/octave + +Links to the stable releases, snap shots, and instructions for obtaining +the current development sources using mercurial can be found on Octave's +web-site below. + + http://www.gnu.org/software/octave/download.html + +Building on MacOS can vary significantly between versions. These +instructions document the procedure for MacOS 10.6.X. + + +2.1 Developer's Tools +--------------------- + +Apple's Xcode Developer's Tools must be installed to build Octave on MacOS X. + +A fortran compiler is also required to build Octave. + +AT&T Research provides versions of gfortran which have been patched to work +with gcc tool set bundled with Xcode. + + http://r.research.att.com/tools/ + +Alternatively, the Fink and MacPorts package managers provide more recent +versions of gcc which include gfortan. Those may be used to build the sources +as well. However, care must be taken. + + * The same compiler must be used to build all all of Octave's sources. This + is necessary to avoid conflicts between the compiler libraries such as + libstdc++. For a successful build the first file in LDFLAGS must refer to + this library. For example, if building with gcc-4.5 obtained from MacPorts + LDFLAGS would begin as, + + export LDFLAGS="/opt/local/lib/gcc45/libstdc++.6.dylib [...]" + + * As of MacOS 10.6.6, the 64-bit BLAS routines that are part of Apple's vecLib + (framework accelerate) are not functioning correctly. As a work around, an + alternative BLAS/LAPACK library, such as ATLAS, must be used. A bug report + has been filed with Apple. + + http://bugreport.apple.com + Title: "64 bit ABI issue with libBLAS.dylib" + Problem ID: 7850167 + Date: April 11, 2010 at 12:04 AM + + +2.2 Manual Package Management +----------------------------- + +Instructions for building Octave are available on the web at the link below. + + http://wiki.octave.org/wiki.pl?BuildFromSource + +In addition, those wishing to build on MacOS X (10.6.x) should read section +2.1 above. + +2.2.1 Critical Dependencies +--------------------------- + +The minimal dependencies needed to build Octave's snap-shots are listed below. + + * Xcode + + * Xcode-compatible gfortran: Available from http://r.reseach.att.com/tools + + * gnu sed: Available from http://www.gnu.org/software/sed/ + + ./configure --prefix=/usr + make + sudo make install + + * gnu pcre: Available from ftp://ftp.gnu.org/ + The following build instructions will produce a universal binary, + allowing both 32- and 64-bit code to link to pcre. Whenever replacing + libraries which came with the OS, it is necessary to compile them as + universal binaries (even if you are only going to use one architecture) + to avoid disrupting unrelated code which might also link to the library. + + export CFLAGS="-arch i686 -arch x86_64" + export LDFLAGS="-arch i686 -arch x86_64" + ./configure --prefix=/usr --disable-dependency-tracking + make + sudo make install + + * flex: Available from http://flex.sourceforge.net/ + + ./configure --prefix=/usr + make + sudo make install + + * blas/lapack + + - The Apple/Intel-provided BLAS works out of the box in 32-bit as long as + the -ff2c flag is used. Alternatively, a wrapper for Apple's vecLib + framework may be used, enabling 64-bit. + + https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-January/022541.html + +A fully functional Octave requires additional dependencies. Here is an example + of how to compile one of them as a universal binary: + + * fftw3: Available from http://www.fftw.org/download.html + + export F77="/usr/bin/gfortran" + export CFLAGS="-arch i686 -arch x86_64" + export FFLAGS="$CFLAGS" + export LDFLAGS="$CFLAGS" + ./configure --disable-dependency-tracking + make + sudo make install + make clean + ./configure --enable-float --disable-dependency-tracking + make + sudo make install + +See the link below for additional details about optional dependencies. + + http://wiki.octave.org/wiki.pl?BuildFromSource + +TODO - Modify the configure script to test for 64 bit vecLib bug. When the bug + is present, apply the wrapper solution. + + +2.2.2 Building Octave as a 32-bit Application +-------------------------------------------- + +The commands below are sufficient to build a 32-bit Octave. + + export FC="/usr/bin/gfortran" + export CFLAGS="-m32" + export FFLAGS="$CFLAGS -ff2c" + export CPPFLAGS="$CFLAGS -D_REENTRANT -D__LISTS__" + export LDFLAGS="$CFLAGS" + ./configure --disable-readline --disable-docs + make + +Octave provides an integrated tests suite. + + make check + +Octave may be run without installing the application using the utility below. + + ./run-octave + +2.2.3 Building Octave as a 64-bit Application +-------------------------------------------- + +The commands below are sufficient to build a 64-bit Octave. + + export FC="/usr/bin/gfortran" + export CFLAGS="-arch x86_64" + export FFLAGS="$CFLAGS" + export CPPFLAGS="$CFLAGS -D_REENTRANT -D__LISTS__" + export LDFLAGS="$CFLAGS" + ./configure --disable-readline --disable-docs + make + +Octave provides an integrated tests suite. + + make check + +Octave may be run without installing the application using the utility below. + + ./run-octave + + +2.3 Building With Dependencies Satisfied by Fink +------------------------------------------------ + +To install and setup the Fink package manager see the on line documentation. + + http://www.finkproject.org/ + +Currently, Fink does not have a package available for Octave versions above +3.0.x. These instructions will allow the developers sources to be build and +run, but will not permit Octave to be installed in the usual Fink way. + +TODO - When a Fink package is developed for Octave 3.4.x, modify these + instructions to model the MacPorts section. + + +2.3.1 Dependencies +------------------ + +To build Octave's sources the list of Fink packages below need to be installed. + + aquaterm + arpack + autoconf (>= 2.6.0) + automake (>= 1.11) + fftw3 (>= 3.1.1) + fftw3-shlibs (>= 3.1.1) + flex >= 2.5.30 + fltk-aqua-shlibs + glpk-dev + glpk-shlibs + gnuplot (>= 4.2.6) + graphicsmagick (<= 1.3.7) + graphicsmagick-shlibs (<= 1.3.7) + hdf5 (>= 1.6.5) + hdf5-shlibs (>= 1.6.5) + libcurl4 + libcurl4-shlibs + libncurses5 + libncurses5-shlibs + libtool >= 2.2.2 + ncurses + pcre + pcre-shlibs + qhull + qrupdate [1] + readline5 + readline5-shlibs + sed + suitesparse (= 3.1.0-1 ) + +Some of Octave's dependencies are among the default packages for Fink. These +include the list below, and possibly others as well. + + tetex + texinfo + +For fully functional printing (graphics output), the following packages must +be installed. + + epstool + ghostscript + pstoedit + transfig [2] + +[1] Fink does not yet have a package for qrupdate. However, one is available + in the tracker at the link below. + + http://sourceforge.net/tracker/index.php?func=detail&aid=2861045&group_id=17203&atid=414256 + +[2] Optionally the "xfig" package may be installed. + + +2.3.2 Building With Dependencies Satisfied by Fink +-------------------------------------------------- + +After installing each of the dependencies, the sources are compiled by +setting the proper environment variables and then following the standard build +sequence. The following is an example set of variables for a 32-bit build +using gcc-4.2. When building from the sources obtained from the mercurial +archive, ./autogen.sh must be run prior to ./configure. + + export FINK_PREFIX="/sw" + export PREFIX="/usr/local/bin" + + export OPTFLAGS="-O2 -g" + export LDFLAGS="-L$FINK_PREFIX/lib -L/usr/lib -m32" + export CFLAGS="-I$FINK_PREFIX/include $OPTFLAGS -m32" + export CXXFLAGS=$CFLAGS + export CPPFLAGS="$CXXFLAGS -D__LISTS__" + export ACLOCAL_FLAGS="-I$FINK_PREFIX/share/aclocal" + export PKG_CONFIG_PATH="$FINK_PREFIX/lib/pkgconfig" + export PATH="$FINK_PREFIX/var/lib/fink/path-prefix-10.6/:$PATH" + export MACOSX_DEPLOYMENT_TARGET=10.5 + export PATH="$FINK_PREFIX/lib/flex/bin:$PATH" + export CPPFLAGS="-I$FINK_PREFIX/lib/flex/include $CPPFLAGS" + export LDFLAGS="-L$FINK_PREFIX/lib/flex/lib $LDFLAGS" + export CC="gcc-4.2" + export CPP="cpp-4.2" + export CXX="g++-4.2" + export F77="/usr/bin/gfortran-4.2" + export FLIBS="-lgfortran -lgfortranbegin" + export FFLAGS="-ff2c $OPTFLAGS -m32" + export CPPFLAGS="$CPPFLAGS -I$FINK_PREFIX/include/freetype2 \ + -I$FINK_PREFIX/include/qhull \ + -I/usr/include" + export CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE -D_REENTRANT" + + ./configure --prefix=$PREFIX \ + --libexecdir='${prefix}/lib' \ + --with-blas="-Wl,-framework -Wl,vecLib" + make + +Note: This approach to building Octave does not support "make install". + +TODO - Develop a Fink package for Octave 3.4.x. + + +2.4 Building With Dependencies Satisfied by MacPorts +---------------------------------------------------- + +To install and setup the MacPorts package manager see the online documentation + + http://guide.macports.org/ + +Using MacPorts, two approaches are described. The first describes how to build +and locally install Octave from a formal snapshot of the developer's sources or +from the developer's sources themselves. This is intended to the casual Octave +developer, or for users who want to live on the bleeding edge. + +The second describes an approach for building Octave which is intended for +active developers. In this case, MacPorts is used to satisfy Octave's +dependencies, but MacPorts does not build Octave. Further a direct install of +Octave is not possible (i.e., cannot "make install"). + + +2.4.1 Building and Installing Octave +------------------------------------ + +With MacPorts building the developer's sources is convenient. MacPorts +includes a port file for octave-devel. To build and run the most recent +development snapshots, enter the commands below. + + sudo port selfupdate + sudo port install octave-devel + +To build the developers sources in one's own way, or if MacPorts' version is +outdated, a custom port file can be added. This requires setting up a local +port file repository (link below). + + http://guide.macports.org/#development.local-repositories + +The octave-devel port file may be used as an initial starting point. The port +file is accessible from the web at the link below. + + http://trac.macports.org/browser/trunk/dports/math/octave-devel/Portfile + +It is also available locally at the location below. The parameter ${prefix} is +corresponds to where MacPorts is install, which by default is "/opt/local". + + ${prefix}/var/macports/sources/rsync.macports.org/release/ports/math/octave-devel/Portfile + +The local source tarball must be placed in the location below, where ${name} +and ${distname} are each specified in the port file. + + ${prefix}/var/macports/distfiles/${name}/${disname}.tar.gz + + +2.4.2 Building for Active Development of Octave +----------------------------------------------- + +To satisfy Octave's dependencies, first install the octave-devel port. + + sudo port selfupdate + sudo port install octave-devel + +Next run octave to determine the configure options needed to build Octave +using MacPorts. At Octave's prompt type the command below and make note of +the result, ${config_opts}. + + octave:1> octave_config_info.config_opts + +Now uninstall the Octave port. + + sudo port deactivate octave-devel + +This will remove Octave and leave its dependencies in place. Now Octave may +be built from the local mercurial archive by typing the commands below, where +the configure options mentioned above are substituted for the parameter +${config_opts}. If the sources being built are from the mercurial archive, +then ./autogen.sh must be run prior to ./configure. + + ./configure ${config_opts} + make + +Octave's integrated tests may be run. + + make check + +However, "make install" should not be run as it may damage or corrupt the +MacPorts installation. To run Octave, type the command below from the root of +the mercurial archive. + + ./run-octave + + +John W. Eaton +jwe@octave.org + +Ben Abbott +bpabbott@mac.com + +Last updated: Sat Feb 19 14:15:04 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.MinGW --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.MinGW Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,108 @@ +1. General Users +================ + +A MInGW bundle is available from sourceforge. + + http://octave.sourceforge.net/index.html + +2. Developers +============= + +The process for building Octave from source is as follows. + + * Install development tools and compiler + * Install or compile dependencies of Octave + * Download Octave source + * Configure and compile source + +We strongly encourage experienced users to build Octave from the +testing and development snapshots to try the latest features of Octave. + +A good tutorial on building Octave for version 3.2 is available from +http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/mingw32/HOWTO.txt + +Additional information beyond the tutorial is summarized below. + + 2.1 Development tools and compiler + ---------------------- + Msys + MinGW development Tools + + The Msys + MinGW development Tools are required to build Octave from source. + + The latest version of the Msys system is 1.0.16. For MinGW, search and use + the most recent version available. Note: The Howto.txt file describing + the development tools is rather old. + + The latest GCC (GNU Complier Collection) for MinGW is gcc-4.5.0. Earlier + versions are not recommended for building Octave 3.4.xx. + + The latest Msys, MinGW, and GCC tools can be downloaded from + http://sourceforge.net/projects/mingw/files/ + + (Compiling for 64-bit binaries requires mingw-64 toolkits. This has not been + tested.) + + 2.2 Dependencies + ---------------------- + + External program dependencies + + * gnuplot (you can build this with the shell script mentioned in Howto.txt) + * MikTeX + * ghostscript + * pstoedit (required for printing using FLTK (OpenGL) graphics) + * fig2dev (Optional; better quality for FLTK printing in some file formats) + * sed + * less + + The tools below are required for building the development sources from + the Mercurial archive, but not for simply building Octave from a snapshot + tar.gz file. + + * Mercurial + * git + * automake + * autoconf + + Library dependencies + + Please read Howto.txt carefully on how to build them. The Howto.txt is old + so some revisions will be required when using GCC-4.5.0 + + 2.3 Download Octave source + ---------------------- + + The source for testing snapshots can be downloaded from the official Octave + web site. http://www.gnu.org/software/octave/download.html + + The very latest development code is also available via anonymous access to a + read-only Mercurial archive. The method of download is described on the web + site. You will also need to install gnulib as another dependency. Please + visit http://www.gnu.org/software/gnulib/ and download sources using git. + + 2.4 Configure and compile source + ---------------------- + + Building from source can be carried out using the script described in + Howto.txt. + + When using GCC-4.5.0, remove flags for shared libstdc++ because a shared + build is already the default. + + When running './configure', you must add '--enable-float-truncate' option. + Please see the following thread for more information: + http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404 + + To build development sources from the Mercurial repository you must run + 'autogen.sh' (bootstrap) before running configure and make. This requires + that automake and autoconf tools be installed. + + +Tatsuro MATSUOKA +tmacchant@yahoo.co.jp + +Benjamin Lindner +bjmldn@gmail.com + + +Last updated: Sat Jan 22 17:29:12 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.Windows --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.Windows Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,11 @@ +See the file README.Cygwin for information about installing the binary +package of Octave for Cygwin. + +See the file README.MinGW for information about Octave on the MinGW platform +including installation of binaries or compiling Octave from source. + + +John W. Eaton +jwe@octave.org + +Last updated: Sat Jan 22 16:56:05 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.devel --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.devel Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,82 @@ +This directory contains development releases of Octave. + +If you want a stable, well-tested version of Octave, you should be +looking at ftp://ftp.gnu.org/gnu/octave. + +Development releases are provided for people who want to help test, +debug, and improve Octave. Very little testing is done before making +the development releases and they may even be made when Octave is in +an inconsistent state. It is possible that you will encounter a +very obvious bug, such as a failure to compile on *any* machine. It is +likely that such bugs will be fixed by the next development release, +so it really isn't necessary to report them unless they persist over +more than one release. + +Please DO report other bugs in the development releases as soon as you +find them. Bugs should be reported to the bug tracker at +'http://bugs.octave.org'. Please read read the bug reporting +guidelines (http://www.gnu.org/software/octave/bugs.html) before +submitting an item. + +If you have a fix for a bug, or an enhancement to submit, send your +patch to maintainers@octave.org or submit it to the patch +tracker at 'http://savannah.gnu.org/patch/?group=octave'. + +By adhering to the following guidelines you can minimize the work that +Octave maintainers need to do to apply your patch. Maintaining Octave +is a lot of work in the best of circumstances, and we can't keep up +unless you do your best to help. + + * Send an explanation with your changes of what problem they fix or + what improvement they bring about. For a bug fix, just include a + copy of the bug report, and explain why the change fixes the bug. + + * Always include a proper bug report for the problem you think you + have fixed. We need to convince ourselves that the change is + right before installing it. Even if it is right, we might have + trouble judging it if we don't have a way to reproduce the problem. + + * Include all the comments that are appropriate to help people + reading the source in the future understand why this change was + needed. + + * Don't mix together changes made for different reasons. Send them + _individually_. + + If you make two changes for separate reasons, then we might not + want to install them both. We might want to install just one. + + * Use `diff -c' to make your diffs. Diffs without context are hard + for us to install reliably. More than that, they make it hard for + us to study the diffs to decide whether we want to install them. + Unified diff format is better than contextless diffs, but not as + easy to read as `-c' format. + + If you have GNU diff, use `diff -cp', which shows the name of the + function that each change occurs in. + + * Write the change log entries for your changes. + + Read the `ChangeLog' file to see what sorts of information to put + in, and to learn the style that we use. The purpose of the + change log is to show people where to find what was changed. So + you need to be specific about what functions you changed; in + large functions, it's often helpful to indicate where within the + function the change was made. + + On the other hand, once you have shown people where to find the + change, you need not explain its purpose. Thus, if you add a new + function, all you need to say about it is that it is new. If you + feel that the purpose needs explaining, it probably does--but the + explanation will be much more useful if you put it in comments in + the code. + + If you would like your name to appear in the header line for who + made the change, send us the header line. + +If you would like to be on the very sharpest part of the bleeding +edge, you can now use Mercurial to access Octave's current development +sources. Instructions for checking out a copy are available on the +web at http://www.gnu.org/software/octave/download.html. + +Last updated: Sat Jan 22 21:26:18 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.ftp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.ftp Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,38 @@ +This directory contains the source for Octave, a high-level interactive +language for solving numerical problems. See the file README for more general +information, and the file NEWS for a list of recent changes. + +Binary distributions: +-------------------- + +Octave binaries are not distributed from this site. + +Packaged versions of Octave for various GNU/Linux systems are available +with the major GNU/Linux distributions (Debian, Ubuntu, Red Hat, SUSE, etc.). + +Binary distributions of Octave for Mac OS X are available from both Fink +and MacPorts. + + http://www.finkproject.com + http://www.macports.org/ + +The file README.Windows provides instructions for installing Octave on +Windows systems. + +A note about .gz files: +---------------------- + +Files with names ending in `.gz' have been compressed with `gzip'. + +Unlike the compress utility, gzip is free of any known software +patents and tends to compress better anyway. Gzip can uncompress +`compress'-compressed files too, so you can install it as "uncompress" +and use it to handle both types of files. + +The gzip program is available in the directory /pub/gnu in shar, tar, +or gzipped tar format (for those who already have a prior version of +gzip and want faster data transmission). It works on virtually every +unix system, MSDOS, OS/2, and VMS. + + +Last updated: Thu Jan 20 10:14:49 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.gnuplot --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.gnuplot Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,12 @@ +Octave works best with gnuplot 4.4 or higher, which is available from +http://www.gnuplot.info. + +In versions prior to 4.2.6 it is not possible to use the mouse to zoom in +on plots. This is a limitation of earlier versions of gnuplot, which are +unable to zoom when the data it plots is not stored in a file. + + +John W. Eaton +jwe@octave.org + +Last updated: Tue Jan 4 18:55:56 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.kpathsea --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.kpathsea Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,171 @@ +The code in the files + + liboctave/kpse.cc + liboctave/kpse-xfns.h + liboctave/kpse-xfns.c + +was adapted from the kpathsearch library. We don't use kpathsearch +directly now because it has too many TeX-specific things that are not +necessary for Octave, and it also does not implement all the special +kinds of file searches that Octave needs (mainly for compatibility +with Matlab). + +Original authors of the kpathsearch library +------------------------------------------- + +Karl Berry wrote all files not otherwise marked, with help from Kathryn +Hargreaves on some of the original versions. + +Thomas Esser originated most of the MakeTeX... scripts. + +The brace expansion code in expand.c was written by Brian Fox and Chet +Ramey for Bash, the GNU shell. + +The implementation of the link trick in pathsearch.c is taken from GNU +find, implemented by David MacKenzie from Matthew Farwell's suggestion. + +Debugging +--------- + + Kpathsea provides a number of runtime debugging options, detailed +below by their names and corresponding numeric values. When the files +you expect aren't being found, the thing to do is enable these options +and examine the output. + + You can set these with some runtime argument (e.g., `-d') to the +program; in that case, you should use the numeric values described in +the program's documentation (which, for Dvipsk and Xdvik, are different +than those below). It's best to give the `-d' (or whatever) option +first, for maximal output. Dvipsk and Xdvik have additional +program-specific debugging options as well. + + You can also set the environment variable `KPATHSEA_DEBUG'; in this +case, you should use the numbers below. If you run the program under a +debugger and set the variable `kpathsea_debug', also use the numbers +below. + + In any case, by far the simplest value to use is `-1', which will +turn on all debugging output. This is usually better than guessing +which particular values will yield the output you need. + + Debugging output always goes to standard error, so you can redirect it +easily. For example, in Bourne-compatible shells: + dvips -d -1 ... 2>/tmp/debug + + It is sometimes helpful to run the standalone Kpsewhich utility +(*note Invoking kpsewhich::.), instead of the original program. + + In any case, you can *not* use the *names* below; you must always use +somebody's numbers. (Sorry.) To set more than one option, just sum +the corresponding numbers. + +`KPSE_DEBUG_STAT (1)' + Report `stat'(2) calls. This is useful for verifying that your + directory structure is not forcing Kpathsea to do many additional + file tests (*note Slow path searching::., and *note Subdirectory + expansion::.). If you are using an up-to-date `ls-R' database + (*note Filename database::.), this should produce no output unless + a nonexistent file that must exist is searched for. + +`KPSE_DEBUG_HASH (2)' + Report lookups in all hash tables: `ls-R' and `aliases' (*note + Filename database::.); font aliases (*note Fontmap::.); and config + file values (*note Config files::.). Useful when expected values + are not being found, e.g.., file searches are looking at the disk + instead of using `ls-R'. + +`KPSE_DEBUG_FOPEN (4)' + Report file openings and closings. Especially useful when your + system's file table is full, for seeing which files have been + opened but never closed. In case you want to set breakpoints in a + debugger: this works by redefining `fopen' (`fclose') to be + `kpse_fopen_trace' (`kpse_fclose_trace'). + +`KPSE_DEBUG_PATHS (8)' + Report general path information for each file type Kpathsea is + asked to search. This is useful when you are trying to track down + how a particular path got defined--from `texmf.cnf', `config.ps', + an environment variable, the compile-time default, etc. This is + the contents of the `kpse_format_info_type' structure defined in + `tex-file.h'. + +`KPSE_DEBUG_EXPAND (16)' + Report the directory list corresponding to each path element + Kpathsea searches. This is only relevant when Kpathsea searches + the disk, since `ls-R' searches don't look through directory lists + in this way. + +`KPSE_DEBUG_SEARCH (32)' + Report on each file search: the name of the file searched for, the + path searched in, whether or not the file must exist (when drivers + search for `cmr10.vf', it need not exist), and whether or not we + are collecting all occurrences of the file in the path (as with, + e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with + most lookups). This can help you correlate what Kpathsea is doing + with what is in your input file. + +`KPSE_DEBUG_VARS (64)' + Report the value of each variable Kpathsea looks up. This is + useful for verifying that variables do indeed obtain their correct + values. + +`GSFTOPK_DEBUG (128)' + Activates debugging printout specific to `gsftopk' program. + +`MAKETEX_DEBUG (512)' + If you use the optional `mktex' programs instead of the + traditional shell scripts, this will report the name of the site + file (`mktex.cnf' by default) which is read, directories created by + `mktexdir', the full path of the `ls-R' database built by + `mktexlsr', font map searches, `MT_FEATURES' in effect, parameters + from `mktexnam', filenames added by `mktexupd', and some + subsidiary commands run by the programs. + +`MAKETEX_FINE_DEBUG (1024)' + When the optional `mktex' programs are used, this will print + additional debugging info from functions internal to these + programs. + + Debugging output from Kpathsea is always written to standard error, +and begins with the string `kdebug:'. (Except for hash table buckets, +which just start with the number, but you can only get that output +running under a debugger. See comments at the `hash_summary_only' +variable in `kpathsea/db.c'.) + +Logging +------- + + Kpathsea can record the time and filename found for each successful +search. This may be useful in finding good candidates for deletion when +your filesystem is full, or in discovering usage patterns at your site. + + To do this, define the environment or config file variable +`TEXMFLOG'. The value is the name of the file to append the +information to. The file is created if it doesn't exist, and appended +to if it does. + + Each successful search turns into one line in the log file: two words +separated by a space. The first word is the time of the search, as the +integer number of seconds since "the epoch", i.e., UTC midnight 1 +January 1970 (more precisely, the result of the `time' system call). +The second word is the filename. + + For example, after `setenv TEXMFLOG /tmp/log', running Dvips on +`story.dvi' appends the following lines: + + 774455887 /usr/local/share/texmf/dvips/config.ps + 774455887 /usr/local/share/texmf/dvips/psfonts.map + 774455888 /usr/local/share/texmf/dvips/texc.pro + 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk + 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk + 774455889 /usr/local/share/texmf/dvips/texc.pro + +Only filenames that are absolute are recorded, to preserve some +semblance of privacy. + + +John W. Eaton +jwe@octave.org + +Last updated: Wed, 31 Oct 2007 16:33:13 EDT diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.mirrors --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.mirrors Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,12 @@ +If you have trouble transferring Octave from this site, you might try +one of those listed below. They mirror the /pub/octave directory on +ftp.octave.org + +FTP: + + site directory + ---- --------- + ftp.u-aizu.ac.jp /pub/SciEng/numanal/Octave + mirrors.fe.up.pt /pub/octave + +Last updated: Mon Jan 10 21:26:17 PST 2011 diff -r 10f6727fbaa8 -r b67c2d580a25 etc/README.snapshots --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/README.snapshots Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,161 @@ +Octave Snapshots -- general info + +Snapshots are an "image" of the main Octave development tree, captured +at a particular random instant in time. When you use the snapshots, +you should be able to maintain a local copy of Octave that is +reasonably close to the official source tree used by the Octave +maintainers. + +The primary purpose of providing snapshots is to widen the group of +motivated developers that would like to help test, debug, and enhance +Octave, by providing you with access to the "latest and greatest" +source. This has several advantages, and several disadvantages. + + First the advantages: + + o Once we have a large base of motivated testers using the + snapshots, this should provide good coverage across all + currently supported Octave hosts and targets. If a new bug is + introduced in Octave due to fixing another bug or ongoing + development, it should become obvious much more quickly and + get fixed before the next general net release. This should + help to reduce the chances of Octave being released to the + general public with a major bug that went unnoticed during the + release cycle testing because they are machine dependent. We + hope to greatly improve Octave's stability and reliability by + involving more people and more execution environments in the + prerelease testing. + + o With access to the latest source, any diffs that you send to fix + bugs or add new features should be much easier for the Octave + maintainers to merge into the official source base (after + suitable review of course). This encourages us to merge your + changes quicker, while they are still "fresh". + + o Once your diffs are merged, you can obtain a new copy of Octave + containing your changes almost immediately. Thus you do not + have to maintain local copies of your changes for any longer + than it takes to get them merged into the official source + base. This encourages you to send in changes quicker. + + And the disadvantages: + + o The snapshot you get will be largely untested and of unknown + quality. It may fail to configure or compile. It may have + serious bugs. You should always keep a copy of the last known + working version before updating to the current snapshot, or at + least be able to regenerate a working version if the latest + snapshot is unusable in your environment for some reason. + + If a production version of Octave has a bug and a snapshot has + the fix, and you care about stability, you should put only the + fix for that particular problem into your production version. + Of course, if you are eager to test Octave, you can use the + snapshot versions in your daily work, but users who have not + been consulted about whether they feel like testing Octave should + generally have something which is at least as bug free as the + last released version. + + o Providing timely response to your questions, bug reports, and + submitted patches will require the Octave developers to + allocate time from an already thin time budget. Please try to + help us make this time as productive as possible. See the + section below about how to submit changes. + + +How to get the snapshots +------------------------ + +The current plan is to provide a full snapshot every week or so. For +now, diffs from previous versions will not be available. The files +will be available via anonymous ftp from ftp.octave.org, in the +directory /private/octave in the form of a tar files compressed with +GNU gzip. You can ftp gzip from ftp.octave.org in the directory +/pub/gnu. + +Even though the snapshots are available in a public place, we ask that +recipients not widely publicize the availability of the snapshots. +The motivation for this request is not to hoard them, but to avoid the +situation where the general Octave user base naively attempts to use +the snapshots, has trouble with them, complains publicly, and the +reputation of Octave declines because of a perception of instability +or lack of quality control. + + +Octave test suite +----------------- + +A test suite is distributed as an integral part of the snapshots. +However, to use it you will need to get a copy of the dejagnu testing +framework. Snapshots of dejagnu are available alongside the Octave +snapshots, using the same naming conventions as the Octave snapshots. +Once you have installed the dejagnu framework, a simple "make check" +in the Octave directory should be sufficient to run the tests. + +Note that the test suite is still quite limited. The test framework +itself might not install on your system if you have an environment +that is not similar to one that the Octave developers already use. +The tests themselves only cover a small portion of Octave features, +and what tests do exist for a feature are not exhaustive. New tests +are welcomed. + + +Bug reports +----------- + +Send bug reports to maintainers@octave.org. + +Note that since no testing is done on the snapshots, and snapshots may +even be made when Octave is in an inconsistent state, it may not be +unusual for an occasional snapshot to have a very obvious bug, such as +failure to compile on *any* machine. It is likely that such bugs will +be fixed by the next snapshot, so it really isn't necessary to report +them unless they persist over more than one snapshot. + +Missing files should always be reported, since they usually mean there +is a problem with the snapshot-generating process and we won't know +about them unless someone tells us. + +Bugs which are non-obvious, such as failure to compile on only a +specific machine, a new machine dependent or obscure bug (particularly +one not detected by the testsuite), etc. should be reported when you +discover them, or have a suggested patch to fix them. + + +FORMAT FOR PATCHES +------------------ + +If you have a fix for a bug, or an enhancement to submit, send your +patch to maintainers@octave.org. Here are some simple guidelines for +submitting patches: + + o Use "context diffs" for patches. A typical command for + generating context diffs is "diff -rc octave-old octave-new". + + o Use the "minimalist approach" for patches. That is, each patch + should address only one particular bug, new feature, etc. Do + not save up many unrelated changes and submit them all in one + big patch, since in general, the larger the patch the more + difficult it is for us to decide if the patch is either + correct or desirable. And if we find something about the + patch that needs to be corrected before it can be installed, + we would have to reject the entire patch, which might contain + changes which otherwise would be accepted if submitted + separately. + + o Submit a sample ChangeLog entry with your patch. See the + existing Octave ChangeLog for examples of what a ChangeLog + entry should look like. The emacs command ^X4A will create a + ChangeLog entry header for you. + + +Thanks, + +John W. Eaton +jwe@octave.org + +Wed, 31 Oct 2007 16:31:54 EDT + +This file was adapted from a similar document written by Fred Fish and +used by the GDB developers. + diff -r 10f6727fbaa8 -r b67c2d580a25 etc/gdbinit --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/gdbinit Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,48 @@ +## Helpful macros for debugging Octave. + +## Display a dim-vector object. + +define display-dims + echo ndims: \ + output $arg0.rep[-1] + echo \ndims: \ + output *$arg0.rep@$arg0.rep[-1] + echo \n + dont-repeat +end + +## Display a dense array object. + +define display-dense-array + echo array object: \ + output $arg0 + echo \ndimensions:\n + display-dims $arg0.dimensions + echo \nrep = \ + output *$arg0.rep + echo \nrep.data = \ + output *$arg0.rep.data@$arg0.rep.len + echo \n + dont-repeat +end + +## Display a sparse array object. + +define display-sparse-array + echo sparse object: \ + output $arg0 + echo \ndimensions.rep[0] = \ + display-dims $arg0.dimensions + echo \ndimensions.rep[1] = \ + output $arg0.dimensions.rep[1] + echo \nrep = \ + output *$arg0.rep + echo \nrep.d = \ + output *$arg0.rep.d@$arg0.rep.nzmx + echo \nrep.r = \ + output *$arg0.rep.r@$arg0.rep.nzmx + echo \nrep.c = \ + output *$arg0.rep.c@($arg0.rep.ncols+1) + echo \n + dont-repeat +end diff -r 10f6727fbaa8 -r b67c2d580a25 examples/Makefile.am --- a/examples/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/examples/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk EXTRA_DIST = diff -r 10f6727fbaa8 -r b67c2d580a25 gdbinit --- a/gdbinit Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -## Helpful macros for debugging Octave. - -## Display a dim-vector object. - -define display-dims - echo ndims: \ - output $arg0.rep[-1] - echo \ndims: \ - output *$arg0.rep@$arg0.rep[-1] - echo \n - dont-repeat -end - -## Display a dense array object. - -define display-dense-array - echo array object: \ - output $arg0 - echo \ndimensions:\n - display-dims $arg0.dimensions - echo \nrep = \ - output *$arg0.rep - echo \nrep.data = \ - output *$arg0.rep.data@$arg0.rep.len - echo \n - dont-repeat -end - -## Display a sparse array object. - -define display-sparse-array - echo sparse object: \ - output $arg0 - echo \ndimensions.rep[0] = \ - display-dims $arg0.dimensions - echo \ndimensions.rep[1] = \ - output $arg0.dimensions.rep[1] - echo \nrep = \ - output *$arg0.rep - echo \nrep.d = \ - output *$arg0.rep.d@$arg0.rep.nzmx - echo \nrep.r = \ - output *$arg0.rep.r@$arg0.rep.nzmx - echo \nrep.c = \ - output *$arg0.rep.c@($arg0.rep.ncols+1) - echo \n - dont-repeat -end diff -r 10f6727fbaa8 -r b67c2d580a25 libcruft/Makefile.am --- a/libcruft/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/libcruft/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk AM_CPPFLAGS = @CPPFLAGS@ -I../libgnu -I$(top_srcdir)/libgnu diff -r 10f6727fbaa8 -r b67c2d580a25 liboctave/Makefile.am --- a/liboctave/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/liboctave/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk AM_CPPFLAGS = \ @CPPFLAGS@ -I../libgnu -I$(top_srcdir)/libgnu \ @@ -551,9 +551,9 @@ nodist_octinclude_HEADERS = \ $(BUILT_INCS) -$(OPT_INC) : %.h : %.in $(top_srcdir)/mk-opts.pl +$(OPT_INC) : %.h : %.in $(top_srcdir)/build-aux/mk-opts.pl @echo making $@ from $< - @$(PERL) $(top_srcdir)/mk-opts.pl --opt-class-header $< > $@-t + @$(PERL) $(top_srcdir)/build-aux/mk-opts.pl --opt-class-header $< > $@-t mv $@-t $@ $(VX_OP_INC) $(VX_OP_SRC) : $(srcdir)/mk-ops.awk vx-ops diff -r 10f6727fbaa8 -r b67c2d580a25 liboctave/config-ops.sh --- a/liboctave/config-ops.sh Fri Jun 10 11:26:07 2011 -0400 +++ b/liboctave/config-ops.sh Fri Jun 10 14:35:42 2011 -0400 @@ -22,6 +22,8 @@ top_srcdir="$1" fi +move_if_change="$top_srcdir/build-aux/move-if-change" + liboctave_dir="$top_srcdir/liboctave" mk_ops="$liboctave_dir/mk-ops.awk" @@ -33,7 +35,7 @@ inc | all) VX_INC=$($AWK -f $mk_ops prefix=vx list_h_files=1 $liboctave_dir/vx-ops) echo "VX_OP_INC = $(echo $VX_INC)" > $liboctave_dir/vx-op-inc.mk-t - $top_srcdir/move-if-change $liboctave_dir/vx-op-inc.mk-t $liboctave_dir/vx-op-inc.mk + $move_if_change $liboctave_dir/vx-op-inc.mk-t $liboctave_dir/vx-op-inc.mk ;; esac ;; @@ -45,7 +47,7 @@ src | all) VX_SRC=$($AWK -f $mk_ops prefix=vx list_cc_files=1 $liboctave_dir/vx-ops) echo "VX_OP_SRC = $(echo $VX_SRC)" > $liboctave_dir/vx-op-src.mk-t - $top_srcdir/move-if-change $liboctave_dir/vx-op-src.mk-t $liboctave_dir/vx-op-src.mk + $move_if_change $liboctave_dir/vx-op-src.mk-t $liboctave_dir/vx-op-src.mk ;; esac ;; @@ -57,7 +59,7 @@ inc | all) MX_INC=$($AWK -f $mk_ops prefix=mx list_h_files=1 $liboctave_dir/mx-ops) echo "MX_OP_INC = $(echo $MX_INC)" > $liboctave_dir/mx-op-inc.mk-t - $top_srcdir/move-if-change $liboctave_dir/mx-op-inc.mk-t $liboctave_dir/mx-op-inc.mk + $move_if_change $liboctave_dir/mx-op-inc.mk-t $liboctave_dir/mx-op-inc.mk ;; esac ;; @@ -69,7 +71,7 @@ src | all) MX_SRC=$($AWK -f $mk_ops prefix=mx list_cc_files=1 $liboctave_dir/mx-ops) echo "MX_OP_SRC = $(echo $MX_SRC)" > $liboctave_dir/mx-op-src.mk-t - $top_srcdir/move-if-change $liboctave_dir/mx-op-src.mk-t $liboctave_dir/mx-op-src.mk + $move_if_change $liboctave_dir/mx-op-src.mk-t $liboctave_dir/mx-op-src.mk ;; esac ;; @@ -81,7 +83,7 @@ inc | all) SMX_INC=$($AWK -f $sparse_mk_ops prefix=smx list_h_files=1 $liboctave_dir/sparse-mx-ops) echo "SMX_OP_INC = $(echo $SMX_INC)" > $liboctave_dir/smx-op-inc.mk-t - $top_srcdir/move-if-change $liboctave_dir/smx-op-inc.mk-t $liboctave_dir/smx-op-inc.mk + $move_if_change $liboctave_dir/smx-op-inc.mk-t $liboctave_dir/smx-op-inc.mk ;; esac ;; @@ -93,7 +95,7 @@ src | all) SMX_SRC=$($AWK -f $sparse_mk_ops prefix=smx list_cc_files=1 $liboctave_dir/sparse-mx-ops) echo "SMX_OP_SRC = $(echo $SMX_SRC)" > $liboctave_dir/smx-op-src.mk-t - $top_srcdir/move-if-change $liboctave_dir/smx-op-src.mk-t $liboctave_dir/smx-op-src.mk + $move_if_change $liboctave_dir/smx-op-src.mk-t $liboctave_dir/smx-op-src.mk ;; esac ;; diff -r 10f6727fbaa8 -r b67c2d580a25 m4/acinclude.m4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m4/acinclude.m4 Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,1597 @@ +dnl aclocal.m4 -- extra macros for configuring Octave +dnl +dnl Copyright (C) 1995-2011 John W. Eaton +dnl +dnl This file is part of Octave. +dnl +dnl Octave is free software; you can redistribute it and/or modify it +dnl under the terms of the GNU General Public License as published by the +dnl Free Software Foundation; either version 3 of the License, or (at +dnl your option) any later version. +dnl +dnl Octave is distributed in the hope that it will be useful, but WITHOUT +dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +dnl for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with Octave; see the file COPYING. If not, see +dnl . +dnl +dnl +dnl Copyright (C) 2008 - 2009 Free Software Foundation, Inc. +dnl +dnl If needed, define the m4_ifblank and m4_ifnblank macros from autoconf 2.64 +dnl This allows us to run with earlier Autoconfs as well. +dnl FIXME: these should go away once Autoconf 2.64 is required or ubiquitous. +dnl +ifdef([m4_ifblank],[],[ +m4_define([m4_ifblank], +[m4_if(m4_translit([[$1]], [ ][ ][ +]), [], [$2], [$3])])]) +dnl +ifdef([m4_ifnblank],[],[ +m4_define([m4_ifnblank], +[m4_if(m4_translit([[$1]], [ ][ ][ +]), [], [$3], [$2])])]) +dnl +dnl ---------------------------------------------------------------------- +dnl +dnl Figure out the hardware-vendor-os info. +dnl +dnl OCTAVE_HOST_TYPE +AC_DEFUN([OCTAVE_HOST_TYPE], +[AC_CANONICAL_HOST +if test -z "$host"; then + host=unknown +fi +canonical_host_type=$host +if test "$host" = unknown; then + AC_MSG_WARN([configuring Octave for unknown system type +]) +fi +AC_SUBST(canonical_host_type)]) +dnl +dnl Set default value for a variable and substitute it. +dnl +dnl OCTAVE_SET_DEFAULT +AC_DEFUN([OCTAVE_SET_DEFAULT], +[ifelse($#, 2, [: ${$1=$2} +])dnl +AC_MSG_RESULT([defining $1 to be $$1]) +AC_SUBST($1)]) +dnl +dnl Check for ar. +dnl +AC_DEFUN([OCTAVE_PROG_AR], +[if test -z "$AR"; then + AR=ar +fi +AC_SUBST(AR) + +if test -z "$ARFLAGS"; then + ARFLAGS="rc" +fi +AC_SUBST(ARFLAGS) +]) +dnl +dnl See if the compiler supports placement delete +dnl +AC_DEFUN([OCTAVE_PLACEMENT_DELETE], +[AC_CACHE_CHECK([whether defines placement delete operator], +octave_cv_placement_delete, +[AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], +[[operator delete((void *)0, (void *)0);]])], +octave_cv_placement_delete=yes, octave_cv_placement_delete=no)]) +if test $octave_cv_placement_delete = yes; then +AC_DEFINE(HAVE_PLACEMENT_DELETE,1,[Define if C++ supports operator delete(void *, void *)]) +fi +AC_LANG_POP(C++) +]) +dnl +dnl See if the compiler dynamic auto arrays +dnl +AC_DEFUN([OCTAVE_DYNAMIC_AUTO_ARRAYS], +[AC_CACHE_CHECK([whether C++ supports dynamic auto arrays], +octave_cv_dynamic_auto_arrays, +[AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], +[[void test(char *); int length(); char x[length()]; test(x);]])], +octave_cv_dynamic_auto_arrays=yes, octave_cv_dynamic_auto_arrays=no)]) +if test $octave_cv_dynamic_auto_arrays = yes; then +AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS,1,[Define if C++ supports dynamic auto arrays]) +fi +AC_LANG_POP(C++) +]) +dnl +dnl See if the C++ library has functions to set real and imaginary +dnl parts of complex numbers independently. +dnl +AC_DEFUN([OCTAVE_CXX_COMPLEX_SETTERS], +[AC_CACHE_CHECK([whether complex class can set components independently], +octave_cv_cxx_complex_setters, +[AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], +[[std::complex x; x.real (1.0); x.imag (2.0);]])], +octave_cv_cxx_complex_setters=yes, octave_cv_cxx_complex_setters=no)]) +if test $octave_cv_cxx_complex_setters = yes; then +AC_DEFINE(HAVE_CXX_COMPLEX_SETTERS,1,[Define if C++ complex class has void real (T) and void imag (T) methods]) +fi +AC_LANG_POP(C++) +]) +dnl +dnl See if the C++ library has functions to access real and imaginary +dnl parts of complex numbers independently via references. +dnl +AC_DEFUN([OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS], +[AC_CACHE_CHECK([whether complex class can reference components independently], +octave_cv_cxx_complex_reference_accessors, +[AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], +[[std::complex x; x.real () = 1.0; x.imag () = 1.0;]])], +octave_cv_cxx_complex_reference_accessors=yes, octave_cv_cxx_complex_reference_accessors=no)]) +if test $octave_cv_cxx_complex_reference_accessors = yes; then +AC_DEFINE(HAVE_CXX_COMPLEX_REFERENCE_ACCESSORS,1,[Define if C++ complex class has T& real (void) and T& imag (void) methods]) +fi +AC_LANG_POP(C++) +]) +dnl +dnl The following test is from Karl Berry's Kpathseach library. I'm +dnl including it here in case we someday want to make the use of +dnl kpathsea optional. +dnl +dnl Some BSD putenv's, e.g., FreeBSD, do malloc/free's on the environment. +dnl This test program is due to Mike Hibler . +dnl We don't actually need to run this if we don't have putenv, but it +dnl doesn't hurt. +AC_DEFUN([OCTAVE_SMART_PUTENV], +[AC_MSG_CHECKING([whether putenv uses malloc]) +AC_CACHE_VAL(octave_cv_func_putenv_malloc, +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#define VAR "YOW_VAR" +#define STRING1 "GabbaGabbaHey" +#define STRING2 "Yow!!" /* should be shorter than STRING1 */ +extern char *getenv (); /* in case char* and int don't mix gracefully */ +main () +{ + char *str1, *rstr1, *str2, *rstr2; + str1 = getenv (VAR); + if (str1) + exit (1); + str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1); + if (str1 == 0) + exit (2); + strcpy (str1, VAR); + strcat (str1, "="); + strcat (str1, STRING1); + if (putenv (str1) < 0) + exit (3); + rstr1 = getenv (VAR); + if (rstr1 == 0) + exit (4); + rstr1 -= strlen (VAR) + 1; + if (strncmp (rstr1, VAR, strlen (VAR))) + exit (5); + str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1); + if (str2 == 0 || str1 == str2) + exit (6); + strcpy (str2, VAR); + strcat (str2, "="); + strcat (str2, STRING2); + if (putenv (str2) < 0) + exit (7); + rstr2 = getenv (VAR); + if (rstr2 == 0) + exit (8); + rstr2 -= strlen (VAR) + 1; +#if 0 + printf ("rstr1=0x%x, rstr2=0x%x\n", rstr1, rstr2); + /* + * If string from first call was reused for the second call, + * you had better not do a free on the first string! + */ + if (rstr1 == rstr2) + printf ("#define SMART_PUTENV\n"); + else + printf ("#undef SMART_PUTENV\n"); +#endif + exit (rstr1 == rstr2 ? 0 : 1); +}]])], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no, + octave_cv_func_putenv_malloc=no)])dnl +AC_MSG_RESULT([$octave_cv_func_putenv_malloc]) +if test $octave_cv_func_putenv_malloc = yes; then + AC_DEFINE(SMART_PUTENV,1,[To quiet autoheader.]) +fi]) +dnl +dnl Check to see if C++ compiler needs the new friend template declaration +dnl syntax. +dnl +dnl OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL +AC_DEFUN([OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL], [ + AC_REQUIRE([AC_PROG_CXX]) + AC_MSG_CHECKING([for C++ support for new friend template declaration]) + AC_CACHE_VAL(octave_cv_cxx_new_friend_template_decl, [ + AC_LANG_PUSH(C++) + rm -f conftest.h + cat > conftest.h < int + operator== (const T&, const T&) + { + return 0; + } +EOB + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]], + [[A a (1); + return a == A(1);]])], + [octave_cv_cxx_new_friend_template_decl=no], + [octave_cv_cxx_new_friend_template_decl=yes]) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT([$octave_cv_cxx_new_friend_template_decl]) + if test $octave_cv_cxx_new_friend_template_decl = yes; then + AC_DEFINE(CXX_NEW_FRIEND_TEMPLATE_DECL,1,[Define if your compiler supports `<>' stuff for template friends.]) + fi +]) +dnl +dnl Check to see if C compiler handles FLAG command line option. If +dnl two arguments are specified, execute the second arg as shell +dnl commands. Otherwise, add FLAG to CFLAGS if the compiler accepts +dnl the flag. +dnl +dnl OCTAVE_CC_FLAG +AC_DEFUN([OCTAVE_CC_FLAG], [ + ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` + AC_MSG_CHECKING([whether ${CC-cc} accepts $1]) + AC_CACHE_VAL(octave_cv_cc_flag_$ac_safe, [ + AC_LANG_PUSH(C) + XCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], + eval "octave_cv_cc_flag_$ac_safe=yes", + eval "octave_cv_cc_flag_$ac_safe=no") + CFLAGS="$XCFLAGS" + AC_LANG_POP(C) + ]) + if eval "test \"`echo '$octave_cv_cc_flag_'$ac_safe`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$2], , [ + CFLAGS="$CFLAGS $1" + AC_MSG_RESULT([adding $1 to CFLAGS])], [$2]) + else + AC_MSG_RESULT(no) + ifelse([$3], , , [$3]) + fi +]) +dnl +dnl Check to see if C++ compiler handles FLAG command line option. If +dnl two arguments are specified, execute the second arg as shell +dnl commands. Otherwise, add FLAG to CXXFLAGS if the compiler accepts +dnl the flag. +dnl +dnl OCTAVE_CXX_FLAG +AC_DEFUN([OCTAVE_CXX_FLAG], [ + ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` + AC_MSG_CHECKING([whether ${CXX-g++} accepts $1]) + AC_CACHE_VAL(octave_cv_cxx_flag_$ac_safe, [ + AC_LANG_PUSH(C++) + XCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], + eval "octave_cv_cxx_flag_$ac_safe=yes", + eval "octave_cv_cxx_flag_$ac_safe=no") + CXXFLAGS="$XCXXFLAGS" + AC_LANG_POP(C++) + ]) + if eval "test \"`echo '$octave_cv_cxx_flag_'$ac_safe`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$2], , [ + CXXFLAGS="$CXXFLAGS $1" + AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2]) + else + AC_MSG_RESULT(no) + ifelse([$3], , , [$3]) + fi +]) +dnl +dnl Check to see if Fortran compiler handles FLAG command line option. If +dnl two arguments are specified, execute the second arg as shell +dnl commands. Otherwise, add FLAG to FFLAGS if the compiler accepts +dnl the flag. +dnl +dnl OCTAVE_F77_FLAG +AC_DEFUN([OCTAVE_F77_FLAG], [ + ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'` + AC_MSG_CHECKING([whether ${F77-g77} accepts $1]) + AC_CACHE_VAL(octave_cv_f77_flag_$ac_safe, [ + AC_LANG_PUSH(Fortran 77) + XFFLAGS="$FFLAGS" + FFLAGS="$FFLAGS $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], + eval "octave_cv_f77_flag_$ac_safe=yes", + eval "octave_cv_f77_flag_$ac_safe=no") + FFLAGS="$XFFLAGS" + AC_LANG_POP(Fortran 77) + ]) + if eval "test \"`echo '$octave_cv_f77_flag_'$ac_safe`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$2], , [ + FFLAGS="$FFLAGS $1" + AC_MSG_RESULT([adding $1 to FFLAGS])], [$2]) + else + AC_MSG_RESULT(no) + ifelse([$3], , , [$3]) + fi +]) +dnl +dnl Check to see whether the default Fortran INTEGER is 64 bits wide. +dnl +AC_DEFUN([OCTAVE_CHECK_FORTRAN_INTEGER_SIZE], [ + octave_fintsize_save_FFLAGS="$FFLAGS" + FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG" + AC_LANG_PUSH(Fortran 77) + AC_CACHE_CHECK([whether $F77 generates correct size integers], + [octave_cv_fortran_integer_size], +[AC_COMPILE_IFELSE( +[ subroutine foo(n, in, out) + integer n, in(n), out(n) + integer i + do 10 i = 1, n + out(i) = in(i) + 10 continue + return + end], +[mv conftest.$ac_objext fintsize.$ac_objext + + octave_fintsize_save_LIBS="$LIBS" + LIBS="fintsize.$ac_objext $[]_AC_LANG_PREFIX[]LIBS" + AC_LANG_PUSH(C)dnl + AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ +#ifdef USE_64_BIT_IDX_T +#if IDX_TYPE_LONG + typedef long octave_idx_type; +#else + typedef int octave_idx_type; +#endif +#else + typedef int octave_idx_type; +#endif + octave_idx_type n = 2; + octave_idx_type in[2]; + octave_idx_type out[2]; + in[0] = 13; + in[0] = 42; + F77_FUNC(foo,FOO) (&n, &in, &out); + assert (in[0] == out[0] && in[1] == out[1]); +]])], + [octave_cv_fortran_integer_size=yes], + [octave_cv_fortran_integer_size=no]) + AC_LANG_POP(C)dnl + LIBS="$octave_fintsize_save_LIBS" +rm -f conftest.$ac_objext fintsize.$ac_objext +], [ + rm -f conftest.$ac_objext + AC_MSG_FAILURE([cannot compile a simple Fortran program]) + octave_cv_fortran_integer_size=no])]) + AC_LANG_POP(Fortran 77) + FFLAGS="$octave_fintsize_save_FFLAGS" +]) +dnl +dnl +dnl +dnl OCTAVE_CHECK_LIBRARY(LIBRARY, DOC-NAME, WARN-MSG, HEADER, FUNC, +dnl LANG, DOC-STRING, EXTRA-CHECK) +AC_DEFUN([OCTAVE_CHECK_LIBRARY], [ + AC_ARG_WITH([$1-includedir], + [AS_HELP_STRING([--with-$1-includedir=DIR], + [look for $2 include files in DIR])], + [m4_toupper([$1])_CPPFLAGS="-I$withval"]) + AC_SUBST(m4_toupper([$1])_CPPFLAGS) + + AC_ARG_WITH([$1-libdir], + [AS_HELP_STRING([--with-$1-libdir=DIR], + [look for $2 libraries in DIR])], + [m4_toupper([$1])_LDFLAGS="-L$withval"]) + AC_SUBST(m4_toupper([$1])_LDFLAGS) + + AC_ARG_WITH([$1], + [m4_ifblank([$7], + [AS_HELP_STRING([--without-$1], [don't use $2 library])], + [AS_HELP_STRING([--without-$1], [$7])])], + with_$1=$withval, with_$1=yes) + + m4_toupper([$1])_LIBS= + case $with_$1 in + no) + m4_toupper([$1])_LIBS= + ;; + yes | "") + m4_toupper([$1])_LIBS="-l$1" + ;; + -* | */* | *.a | *.so | *.so.* | *.o) + m4_toupper([$1])_LIBS="$with_$1" + ;; + *) + m4_toupper([$1])_LIBS="-l$with_$1" + ;; + esac + + [TEXINFO_]m4_toupper([$1])= + warn_$1="$3" + if test -n "$m4_toupper([$1])_LIBS"; then + octave_check_library_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$m4_toupper([$1])_CPPFLAGS $CPPFLAGS" + m4_ifnblank([$6], [AC_LANG_PUSH($6)]) + octave_$1_check_for_lib=false + m4_ifblank([$4], [octave_$1_check_for_lib=true], + [AC_CHECK_HEADERS($4, [octave_$1_check_for_lib=true; break])]) + if $octave_$1_check_for_lib; then + octave_check_library_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS" + octave_check_library_save_LIBS="$LIBS" + LIBS="$m4_toupper([$1])_LIBS $LIBS" + octave_$1_ok=no + AC_MSG_CHECKING([for $5 in $m4_toupper([$1])_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [$5])], + [octave_$1_ok=yes]) + AC_MSG_RESULT([$octave_$1_ok]) + if test $octave_$1_ok = yes; then + m4_ifblank([$8], [ + warn_$1= + AC_DEFINE([HAVE_]m4_toupper([$1]), 1, + [Define if $2 is available.]) + [TEXINFO_]m4_toupper([$1])="@set [HAVE_]m4_toupper([$1])"], [$8]) + fi + LIBS="$octave_check_library_save_LIBS" + LDFLAGS="$octave_check_library_save_LDFLAGS" + fi + m4_ifnblank([$6], [AC_LANG_POP($6)]) + CPPFLAGS="$octave_check_library_save_CPPFLAGS" + fi + AC_SUBST(m4_toupper([$1])_LIBS) + AC_SUBST([TEXINFO_]m4_toupper([$1])) + if test -n "$warn_$1"; then + AC_MSG_WARN([$warn_$1]) + m4_toupper([$1])_LIBS= + fi +]) +dnl +dnl Check for flex +dnl +AC_DEFUN([OCTAVE_PROG_FLEX], [ +### For now, don't define LEXLIB to be -lfl -- we don't use anything in +### it, and it might not be installed. +### +### Also make sure that we generate an interactive scanner if we are +### using flex. + AC_PROG_LEX + case "$LEX" in + flex*) + LFLAGS="-I" + AC_MSG_RESULT([defining LFLAGS to be $LFLAGS]) + LEXLIB= + ;; + *) + LEX='$(top_srcdir)/missing flex' + warn_flex="I didn't find flex, but it's only a problem if you need to reconstruct lex.cc" + AC_MSG_WARN([$warn_flex]) + ;; + esac + AC_SUBST(LFLAGS) +]) +dnl +dnl Check for bison +dnl +AC_DEFUN([OCTAVE_PROG_BISON], [ + AC_PROG_YACC + case "$YACC" in + bison*) + ;; + *) + YACC='$(top_srcdir)/missing bison' + warn_bison="I didn't find bison, but it's only a problem if you need to reconstruct parse.cc" + AC_MSG_WARN([$warn_bison]) + ;; + esac +]) +dnl +dnl What pager should we use? +dnl +AC_DEFUN([OCTAVE_PROG_PAGER], +[if test "$cross_compiling" = yes; then + DEFAULT_PAGER=less + AC_MSG_RESULT([assuming $DEFAULT_PAGER exists on $canonical_host_type host]) + AC_SUBST(DEFAULT_PAGER) +else + octave_possible_pagers="less more page pg" + case "$canonical_host_type" in + *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc) + octave_possible_pagers="$octave_possible_pagers more.com" + ;; + esac + + AC_CHECK_PROGS(DEFAULT_PAGER, $octave_possible_pagers, []) + if test -z "$DEFAULT_PAGER"; then + warn_less="I couldn't find \`less', \`more', \`page', or \`pg'" + AC_MSG_WARN([$warn_less]) + fi +fi +]) +dnl +dnl Does gnuplot exist? +dnl +AC_DEFUN([OCTAVE_PROG_GNUPLOT], [ +gp_names="gnuplot" +gp_default="gnuplot" +if test "$cross_compiling" = yes; then + GNUPLOT="$gp_default" + AC_MSG_RESULT([assuming $GNUPLOT exists on $canonical_host_type host]) +else + AC_CHECK_PROGS(GNUPLOT, [$gp_names]) + if test -z "$GNUPLOT"; then + warn_gnuplot=yes + + GNUPLOT="$gp_default" + + AC_MSG_WARN([gnuplot not found. It isn't necessary to have gnuplot]) + AC_MSG_WARN([installed, but without native graphics or gnuplot]) + AC_MSG_WARN([you won't be able to use any of Octave's plotting commands.]) + fi +fi +AC_SUBST(GNUPLOT) +]) +dnl +dnl Is gperf installed? +dnl +dnl OCTAVE_PROG_GPERF +AC_DEFUN([OCTAVE_PROG_GPERF], [ + AC_CHECK_PROG(GPERF, gperf, gperf, []) + if test -z "$GPERF"; then + GPERF='$(top_srcdir)/missing gperf' + warn_gperf="I didn't find gperf, but it's only a problem if you need to reconstruct oct-gperf.h" + AC_MSG_WARN([$warn_gperf]) + fi + AC_SUBST(GPERF) +]) +dnl +dnl Is ghostscript installed? +dnl +dnl OCTAVE_PROG_GHOSTSCRIPT +AC_DEFUN([OCTAVE_PROG_GHOSTSCRIPT], [ + case "$canonical_host_type" in + *-*-mingw* | *-*-msdosmsvc) + gs_names="gswin32c gs" + ;; + *) + gs_names="gs" + ;; + esac + AC_CHECK_PROGS(GHOSTSCRIPT, [$gs_names]) + if test -z "$GHOSTSCRIPT"; then + GHOSTSCRIPT='$(top_srcdir)/missing gs' + warn_ghostscript="I didn't find ghostscript, so reconstructing figures for the manual will fail, and saving graphics in some output formats will fail when using Octave" + AC_MSG_WARN([$warn_ghostscript]) + fi + AC_SUBST(GHOSTSCRIPT) +]) +dnl +dnl Is texi2dvi installed? +dnl +dnl OCTAVE_PROG_TEXI2DVI +AC_DEFUN([OCTAVE_PROG_TEXI2DVI], [ + AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, []) + if test -z "$TEXI2DVI"; then + TEXI2DVI='$(top_srcdir)/missing texi2dvi' + warn_texi2dvi="I didn't find texi2dvi, but it's only a problem if you need to reconstruct the DVI version of the manual" + AC_MSG_WARN([$warn_texi2dvi]) + fi + AC_SUBST(TEXI2DVI) +]) +dnl +dnl Is texi2pdf installed? +dnl +dnl OCTAVE_PROG_TEXI2PDF +AC_DEFUN([OCTAVE_PROG_TEXI2PDF], [ + AC_REQUIRE([OCTAVE_PROG_TEXI2DVI]) + AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf, []) + if test -z "$TEXI2PDF"; then + missing=true; + if test -n "$TEXI2DVI"; then + TEXI2PDF="$TEXI2DVI --pdf" + missing=false; + fi + else + missing=false; + fi + if $missing; then + TEXI2PDF='$(top_srcdir)/missing texi2pdf' + warn_texi2pdf="I didn't find texi2pdf, but it's only a problem if you need to reconstruct the PDF version of the manual" + AC_MSG_WARN([$warn_texi2pdf]) + fi + AC_SUBST(TEXI2PDF) +]) +dnl +dnl See if the C++ library is ISO compliant. +dnl FIXME: This is obviously very simplistic, and trivially fooled. +dnl +dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY +AC_DEFUN([OCTAVE_CXX_ISO_COMPLIANT_LIBRARY], [ + AC_REQUIRE([AC_PROG_CXX]) + AC_MSG_CHECKING([if C++ library is ISO compliant]) + AC_CACHE_VAL(octave_cv_cxx_iso_compliant_library, [ + AC_LANG_PUSH(C++) + rm -f conftest.h +### Omitting cwctype for now, since it is broken with gcc-3.0.x and +### possibly other versions... + for inc in algorithm bitset cassert cctype cerrno cfloat ciso646 \ + climits clocale cmath complex csetjmp csignal cstdarg cstddef \ + cstdio cstdlib cstring ctime cwchar deque exception \ + fstream functional iomanip ios iosfwd iostream istream iterator \ + limits list locale map memory new numeric ostream queue set \ + sstream stack stdexcept streambuf string strstream typeinfo \ + utility valarray vector; do + echo "#include <$inc>" >> conftest.h + done + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]], + [[std::bitset<50> flags; + flags.set(); + int digits = std::numeric_limits::digits; + digits = 0;]])], + [octave_cv_cxx_iso_compliant_library=yes], + [octave_cv_cxx_iso_compliant_library=no]) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT([$octave_cv_cxx_iso_compliant_library]) + if test $octave_cv_cxx_iso_compliant_library = yes; then + AC_DEFINE(CXX_ISO_COMPLIANT_LIBRARY, 1, [Define if your C++ runtime library is ISO compliant.]) + fi +]) +dnl +dnl Allow the user disable support for command line editing using GNU +dnl readline. +dnl +dnl OCTAVE_ENABLE_READLINE +AC_DEFUN([OCTAVE_ENABLE_READLINE], [ + USE_READLINE=true + READLINE_LIBS= + AC_ARG_ENABLE(readline, + [ --enable-readline use readline library (default is yes)], + [if test "$enableval" = no; then + USE_READLINE=false + warn_readline="command editing and history features require GNU Readline" + fi]) + if $USE_READLINE; then + save_LIBS="$LIBS" + LIBS="$TERM_LIBS" + AC_CHECK_LIB(readline, rl_set_keyboard_input_timeout, [ + READLINE_LIBS="-lreadline" + AC_DEFINE(USE_READLINE, 1, [Define to use the readline library.]) + ], [ + AC_MSG_WARN([I need GNU Readline 4.2 or later]) + AC_MSG_ERROR([this is fatal unless you specify --disable-readline]) + ]) + LIBS="$save_LIBS" + fi + AC_SUBST(READLINE_LIBS) +]) +dnl +dnl Check to see if C++ reintrepret cast works for function pointers. +dnl +dnl OCTAVE_CXX_BROKEN_REINTERPRET_CAST +dnl +AC_DEFUN([OCTAVE_CXX_BROKEN_REINTERPRET_CAST], [ + AC_REQUIRE([AC_PROG_CXX]) + AC_LANG_PUSH(C++) + AC_CACHE_CHECK([for broken C++ reinterpret_cast], + octave_cv_cxx_broken_reinterpret_cast, [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ + typedef double (*fptr) (double); + fptr psin = sin; + void *vptr = reinterpret_cast (psin); + psin = reinterpret_cast (vptr);]])], + octave_cv_cxx_broken_reinterpret_cast=no, + octave_cv_cxx_broken_reinterpret_cast=yes)]) + if test $octave_cv_cxx_broken_reinterpret_cast = yes ; then + AC_DEFINE(CXX_BROKEN_REINTERPRET_CAST, 1, [Define if C++ reinterpret_cast fails for function pointers.]) +fi + AC_LANG_POP(C++)]) +dnl +dnl Find find. +dnl +# Prefer GNU find if found. +AN_MAKEVAR([FIND], [OCTAVE_PROG_FIND]) +AN_PROGRAM([gfind], [OCTAVE_PROG_FIND]) +AN_PROGRAM([find], [OCTAVE_PROG_FIND]) +AC_DEFUN([OCTAVE_PROG_FIND], +[AC_CHECK_PROGS(FIND, gfind find, )]) +dnl +dnl Find sed. +dnl +# Check for a fully-functional sed program, that truncates +# as few characters as possible and that supports "\(X\|Y\)" +# style regular expression alternation. Prefer GNU sed if found. +AC_DEFUN([OCTAVE_PROG_SED], +[AC_MSG_CHECKING([for a usable sed]) +if test -z "$SED"; then + AC_CACHE_VAL(ac_cv_path_sed, [ + # Loop through the user's path and test for sed and gsed. + # Then use that list of sed's as ones to test for truncation. + _AS_PATH_WALK([$PATH], + [for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then + _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" + fi + done + done + ]) + AS_TMPDIR(sed) + _max=0 + _count=0 + # Add /usr/xpg4/bin/sed as it is typically found on Solaris + # along with /bin/sed that truncates output. + for _sed in $_sed_list /usr/xpg4/bin/sed; do + test ! -f ${_sed} && break + cat /dev/null > "$tmp/sed.in" + _count=0 + echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" + # Check for GNU sed and select it if it is found. + if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then + octave_cv_path_sed=${_sed} + break; + fi + # Reject if RE alternation is not handled. + if test "`echo 'this and that' | ${_sed} -n 's/\(this\|that\).*$/\1/p'`" != "this"; then + continue; + fi + while true; do + cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" + mv "$tmp/sed.tmp" "$tmp/sed.in" + cp "$tmp/sed.in" "$tmp/sed.nl" + echo >>"$tmp/sed.nl" + ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break + cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break + # 10000 chars as input seems more than enough + test $_count -gt 10 && break + _count=`expr $_count + 1` + if test $_count -gt $_max; then + _max=$_count + octave_cv_path_sed=$_sed + fi + done + done + rm -rf "$tmp" + ]) + SED=$octave_cv_path_sed + if test -z "$SED"; then + AC_MSG_ERROR([no usable version of sed found]) + fi +fi +AC_SUBST(SED) +AC_MSG_RESULT([$SED]) +]) +dnl +dnl Find Perl. +dnl +dnl OCTAVE_PROG_PERL +AC_DEFUN([OCTAVE_PROG_PERL], +[AC_CHECK_PROG(PERL, perl, perl, []) + AC_SUBST(PERL) +]) +dnl +dnl Find Python. +dnl +dnl OCTAVE_PROG_PYTHON +AC_DEFUN([OCTAVE_PROG_PYTHON], +[AC_CHECK_PROG(PYTHON, python, python, []) + AC_SUBST(PYTHON) +]) +dnl +dnl Find desktop-file-install. +dnl +dnl OCTAVE_PROG_DESKTOP_FILE_INSTALL +AC_DEFUN([OCTAVE_PROG_DESKTOP_FILE_INSTALL], +[AC_CHECK_PROG(DESKTOP_FILE_INSTALL, desktop-file-install, desktop-file-install, []) + AC_SUBST(DESKTOP_FILE_INSTALL) +]) +dnl +dnl Check for IEEE 754 data format. +dnl +AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT], +[AC_MSG_CHECKING([for IEEE 754 data format]) +AC_CACHE_VAL(octave_cv_ieee754_data_format, +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ +int +main (void) +{ + typedef union { unsigned char c[8]; double d; } ieeebytes; + + ieeebytes l = {0x1c, 0xbc, 0x6e, 0xf2, 0x54, 0x8b, 0x11, 0x43}; + ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c}; + + return l.d != 1234567891234567.0 && b.d != 1234567891234567.0; +}]])], + octave_cv_ieee754_data_format=yes, + octave_cv_ieee754_data_format=no, + octave_cv_ieee754_data_format=no)]) +if test "$cross_compiling" = yes; then + AC_MSG_RESULT([$octave_cv_ieee754_data_format assumed for cross compilation]) +else + AC_MSG_RESULT([$octave_cv_ieee754_data_format]) +fi +if test "$octave_cv_ieee754_data_format" = yes; then + AC_DEFINE(HAVE_IEEE754_DATA_FORMAT, 1, [Define if your system uses IEEE 754 data format.]) +else + ## If the format is unknown, then you will probably not have a + ## useful system, so we will abort here. Anyone wishing to + ## experiment with building Octave on a system without IEEE + ## floating point should be capable of removing this check and + ## the one in the octave_ieee_init function in liboctave/lo-ieee.cc. + AC_MSG_ERROR([IEEE 754 data format required for building Octave]) +fi +]) +dnl +dnl Check for UMFPACK seperately split complex matrix and RHS. Note +dnl that as umfpack.h can be in three different places, rather than +dnl include it, just declare the functions needed. +dnl +dnl Assumes that the check for umfpack has already been performed. +dnl +AC_DEFUN([OCTAVE_UMFPACK_SEPERATE_SPLIT], +[AC_MSG_CHECKING([for UMFPACK seperate complex matrix and rhs split]) +AC_CACHE_VAL(octave_cv_umfpack_seperate_split, +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include +#if defined (HAVE_UFSPARSE_UMFPACK_h) +#include +#elif defined (HAVE_UMFPACK_UMFPACK_H) +#include +#elif defined (HAVE_UMFPACK_H) +#include +#endif +int n = 5; +int Ap[] = {0, 2, 5, 9, 10, 12}; +int Ai[] = {0, 1, 0, 2, 4, 1, 2, 3, 4, 2, 1, 4}; +double Ax[] = {2., 0., 3., 0., 3., 0., -1., 0., 4., 0., 4., 0., + -3., 0., 1., 0., 2., 0., 2., 0., 6., 0., 1., 0.}; +double br[] = {8., 45., -3., 3., 19.}; +double bi[] = {0., 0., 0., 0., 0.}; +int main (void) +{ + double *null = (double *) NULL ; + double *x = (double *)malloc (2 * n * sizeof(double)); + int i ; + void *Symbolic, *Numeric ; + (void) umfpack_zi_symbolic (n, n, Ap, Ai, Ax, null, &Symbolic, null, null) ; + (void) umfpack_zi_numeric (Ap, Ai, Ax, null, Symbolic, &Numeric, null, null) ; + umfpack_zi_free_symbolic (&Symbolic) ; + (void) umfpack_zi_solve (0, Ap, Ai, Ax, null, x, null, br, bi, + Numeric, null, null) ; + umfpack_zi_free_numeric (&Numeric) ; + for (i = 0; i < n; i++, x+=2) + if (fabs(*x - i - 1.) > 1.e-13) + return (1); + return (0) ; +} +]])], + octave_cv_umfpack_seperate_split=yes, + octave_cv_umfpack_seperate_split=no, + octave_cv_umfpack_seperate_split=no)]) +if test "$cross_compiling" = yes; then + AC_MSG_RESULT([$octave_cv_umfpack_seperate_split assumed for cross compilation]) +else + AC_MSG_RESULT([$octave_cv_umfpack_seperate_split]) +fi +if test "$octave_cv_umfpack_seperate_split" = yes; then + AC_DEFINE(UMFPACK_SEPARATE_SPLIT, 1, [Define if the UMFPACK Complex solver allow matrix and RHS to be split independently]) +fi +]) +dnl +dnl Check whether using HDF5 DLL under Windows. This is done by +dnl testing for a data symbol in the HDF5 library, which would +dnl requires the definition of _HDF5USEDL_ under MSVC compiler. +dnl +AC_DEFUN([OCTAVE_HDF5_DLL], [ + AC_CACHE_CHECK([if _HDF5USEDLL_ needs to be defined],octave_cv_hdf5_dll, [ + AC_TRY_LINK([#include ], [hid_t x = H5T_NATIVE_DOUBLE; return x], + octave_cv_hdf5_dll=no, [ + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -DWIN32 -D_HDF5USEDLL_" + save_LIBS="$LIBS" + LIBS="$HDF5_LIBS $LIBS" + AC_TRY_LINK([#include ], [hid_t x = H5T_NATIVE_DOUBLE; return x], + octave_cv_hdf5_dll=yes, + octave_cv_hdf5_dll=no) + CFLAGS="$save_CFLAGS" + LIBS="$save_LIBS"])]) + if test "$octave_cv_hdf5_dll" = yes; then + AC_DEFINE(_HDF5USEDLL_, 1, [Define if using HDF5 dll (Win32)]) + fi]) +dnl +dnl Check whether HDF5 library has version 1.6 API functions. +dnl +AC_DEFUN([OCTAVE_HDF5_HAS_ENFORCED_16_API], [ + AC_CACHE_CHECK([whether HDF5 library has enforced version 1.6 API], + octave_cv_hdf5_has_enforced_16_api, [ + AC_TRY_LINK([ +#include +], [ + H5Eset_auto (0, 0);], [ + octave_cv_hdf5_has_enforced_16_api=yes], [ + octave_cv_hdf5_has_enforced_16_api=no])]) + if test "$octave_cv_hdf5_has_enforced_16_api" != "yes"; then + AC_DEFINE(HAVE_HDF5_18, 1, [Define if >=HDF5-1.8 is available.]) + fi +]) +dnl +dnl Check for the QHull version. +dnl +AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], + [AC_CACHE_CHECK([for qh_version in $QHULL_LIBS], + octave_cv_lib_qhull_version, [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +]], [[ +const char *tmp = qh_version; +]])], [octave_cv_lib_qhull_version=yes], [octave_cv_lib_qhull_version=no])]) + if test "$octave_cv_lib_qhull_version" = no; then + AC_DEFINE(NEED_QHULL_VERSION, 1, + [Define if the QHull library needs a qh_version variable defined.]) + fi +]) +dnl +dnl Check whether QHull works (does not crash) +dnl +AC_DEFUN([OCTAVE_CHECK_QHULL_OK], + [AC_CACHE_CHECK([whether the qhull library works], + octave_cv_lib_qhull_ok, [ + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +#ifdef NEED_QHULL_VERSION +char *qh_version = "version"; +#endif +]], [[ +int dim = 2; +int n = 4; +coordT points[8] = { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5 }; +boolT ismalloc = 0; +return qh_new_qhull (dim, n, points, ismalloc, "qhull ", 0, stderr); +]])], [octave_cv_lib_qhull_ok=yes], [octave_cv_lib_qhull_ok=no])]) + if test "$octave_cv_lib_qhull_ok" = "yes"; then + $1 + else + $2 + fi +]) +dnl +dnl Check for OpenGL. If found, define OPENGL_LIBS +dnl +dnl FIXME -- the following tests should probably check for the +dnl libraries separately. +dnl +dnl FIXME -- should we allow a way to specify a directory for OpenGL +dnl libraries and header files? +dnl +AC_DEFUN([OCTAVE_OPENGL], [ +OPENGL_LIBS= + +### On MacOSX systems the OpenGL framework can be used +OCTAVE_HAVE_FRAMEWORK(OpenGL, [ +#include +#include ], [GLint par; glGetIntegerv (GL_VIEWPORT, &par);], + [have_framework_opengl="yes"], [have_framework_opengl="no"]) + +if test $have_framework_opengl = "yes"; then + AC_DEFINE(HAVE_FRAMEWORK_OPENGL, 1, [Define if framework OPENGL is available.]) + OPENGL_LIBS="-Wl,-framework -Wl,OpenGL" + AC_MSG_NOTICE([adding -Wl,-framework -Wl,OpenGL to OPENGL_LIBS]) + OCTAVE_GLUTESSCALLBACK_THREEDOTS +else + case $canonical_host_type in + *-*-mingw32* | *-*-msdosmsvc) + AC_CHECK_HEADERS(windows.h) + ;; + esac + have_opengl_incs=no + AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h], [ + AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h], [ + have_opengl_incs=yes; break], [], [ +#ifdef HAVE_WINDOWS_H +#include +#endif + ]) + break + ], [], [ +#ifdef HAVE_WINDOWS_H +#include +#endif + ]) + + if test "$have_opengl_incs" = "yes"; then + case $canonical_host_type in + *-*-mingw32* | *-*-msdosmsvc) + save_LIBS="$LIBS" + LIBS="$LIBS -lopengl32" + AC_MSG_CHECKING([for glEnable in -lopengl32]) + AC_TRY_LINK([ +#if HAVE_WINDOWS_H +#include +#endif +#if defined (HAVE_GL_GL_H) +#include +#elif defined (HAVE_OPENGL_GL_H) +#include +#endif +], [glEnable(GL_SMOOTH);], OPENGL_LIBS="-lopengl32 -lglu32") + LIBS="$save_LIBS" + if test "x$OPENGL_LIBS" != "x"; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + ;; + *) + AC_CHECK_LIB(GL, glEnable, OPENGL_LIBS="-lGL -lGLU") + ;; + esac + fi +fi +AC_SUBST(OPENGL_LIBS) +]) +dnl +dnl See if function gluTessCallback is called with "(...)" +dnl +dnl OCTAVE_GLUTESSCALLBACK_THREEDOTS +AC_DEFUN([OCTAVE_GLUTESSCALLBACK_THREEDOTS], +[AC_CACHE_CHECK([whether gluTessCallback is called with "(...)"], +octave_cv_glutesscallback_threedots, +[AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef HAVE_GL_GLU_H +#include +#elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL +#include +#endif]], +[[GLvoid (*func)(...); gluTessCallback(0, 0, func);]])], +octave_cv_glutesscallback_threedots="yes", octave_cv_glutesscallback_threedots="no")]) +AC_LANG_POP(C++) +if test $octave_cv_glutesscallback_threedots = "yes"; then + AC_DEFINE(HAVE_GLUTESSCALLBACK_THREEDOTS, 1, + [Define if gluTessCallback is called with (...)]) +fi +]) +dnl +dnl Check for support of OpenMP with a given compiler flag. If +dnl found define HAVE_OPENMP and add the compile flag to CFLAGS +dnl and CXXFLAGS. +dnl +AC_DEFUN([OCTAVE_CHECK_OPENMP], +[AC_MSG_CHECKING([for support of OpenMP]) +XCFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $1" +AC_CACHE_VAL(octave_cv_check_openmp,[ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]], [[ +int main(int argc, char* argv[]) +{ + _Pragma("omp parallel") + printf("Hello, world.\n"); + return 0; +} +]])],octave_cv_openmp=yes, octave_cv_openmmp=no, octave_cv_openmp=no)]) +AC_MSG_RESULT($octave_cv_openmp) +if test "$octave_cv_openmp" = yes; then + AC_DEFINE(HAVE_OPENMP,1,[Define if compiler supports OpenMP]) + CXXFLAGS="$CXXFLAGS $1" +else + CFLAGS="$XCFLAGS" +fi +]) +dnl +dnl Configure paths for FreeType2 +dnl Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor +dnl +dnl Copyright 2001, 2003 by +dnl David Turner, Robert Wilhelm, and Werner Lemberg. +dnl +dnl This file is part of the FreeType project, and may only be used, modified, +dnl and distributed under the terms of the FreeType project license, +dnl LICENSE.TXT. By continuing to use, modify, or distribute this file you +dnl indicate that you have read the license and understand and accept it +dnl fully. +dnl +dnl As a special exception to the FreeType project license, this file may be +dnl distributed as part of a program that contains a configuration script +dnl generated by Autoconf, under the same distribution terms as the rest of +dnl that program. +dnl +dnl serial 2 +dnl +dnl AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. +dnl MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is +dnl FreeType 2.0.4). +dnl +AC_DEFUN([AC_CHECK_FT2], + [dnl Get the cflags and libraries from the freetype-config script + dnl + AC_ARG_WITH([ft-prefix], + dnl don't quote AS_HELP_STRING! + AS_HELP_STRING([--with-ft-prefix=PREFIX], + [Prefix where FreeType is installed (optional)]), + [ft_config_prefix="$withval"], + [ft_config_prefix=""]) + + AC_ARG_WITH([ft-exec-prefix], + dnl don't quote AS_HELP_STRING! + AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], + [Exec prefix where FreeType is installed (optional)]), + [ft_config_exec_prefix="$withval"], + [ft_config_exec_prefix=""]) + + AC_ARG_ENABLE([freetypetest], + dnl don't quote AS_HELP_STRING! + AS_HELP_STRING([--disable-freetypetest], + [Do not try to compile and run a test FreeType program]), + [], + [enable_fttest=yes]) + + if test x$ft_config_exec_prefix != x ; then + ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" + if test x${FT2_CONFIG+set} != xset ; then + FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config + fi + fi + + if test x$ft_config_prefix != x ; then + ft_config_args="$ft_config_args --prefix=$ft_config_prefix" + if test x${FT2_CONFIG+set} != xset ; then + FT2_CONFIG=$ft_config_prefix/bin/freetype-config + fi + fi + + AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) + + min_ft_version=m4_if([$1], [], [7.0.1], [$1]) + AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version]) + no_ft="" + if test "$FT2_CONFIG" = "no" ; then + no_ft=yes + else + FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` + FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` + ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + ft_min_major_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + ft_min_minor_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + ft_min_micro_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test x$enable_fttest = xyes ; then + ft_config_is_lt="" + if test $ft_config_major_version -lt $ft_min_major_version ; then + ft_config_is_lt=yes + else + if test $ft_config_major_version -eq $ft_min_major_version ; then + if test $ft_config_minor_version -lt $ft_min_minor_version ; then + ft_config_is_lt=yes + else + if test $ft_config_minor_version -eq $ft_min_minor_version ; then + if test $ft_config_micro_version -lt $ft_min_micro_version ; then + ft_config_is_lt=yes + fi + fi + fi + fi + fi + if test x$ft_config_is_lt = xyes ; then + no_ft=yes + else + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $FT2_CFLAGS" + LIBS="$FT2_LIBS $LIBS" + + dnl + dnl Sanity checks for the results of freetype-config to some extent. + dnl + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ + +#include +#include FT_FREETYPE_H +#include +#include + +int +main() +{ + FT_Library library; + FT_Error error; + + error = FT_Init_FreeType(&library); + + if (error) + return 1; + else + { + FT_Done_FreeType(library); + return 0; + } +} + + ]]) + ], + [], + [no_ft=yes], + [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"]) + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi dnl test $ft_config_version -lt $ft_min_version + fi dnl test x$enable_fttest = xyes + fi dnl test "$FT2_CONFIG" = "no" + + if test x$no_ft = x ; then + AC_MSG_RESULT([yes]) + m4_if([$2], [], [:], [$2]) + else + AC_MSG_RESULT([no]) + if test "$FT2_CONFIG" = "no" ; then + AC_MSG_WARN([ + + The freetype-config script installed by FreeType 2 could not be found. + If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in + your path, or set the FT2_CONFIG environment variable to the + full path to freetype-config. + ]) + else + if test x$ft_config_is_lt = xyes ; then + AC_MSG_WARN([ + + Your installed version of the FreeType 2 library is too old. + If you have different versions of FreeType 2, make sure that + correct values for --with-ft-prefix or --with-ft-exec-prefix + are used, or set the FT2_CONFIG environment variable to the + full path to freetype-config. + ]) + else + AC_MSG_WARN([ + + The FreeType test program failed to run. If your system uses + shared libraries and they are installed outside the normal + system library path, make sure the variable LD_LIBRARY_PATH + (or whatever is appropiate for your system) is correctly set. + ]) + fi + fi + + FT2_CFLAGS="" + FT2_LIBS="" + m4_if([$3], [], [:], [$3]) + fi + + AC_SUBST([FT2_CFLAGS]) + AC_SUBST([FT2_LIBS])]) +dnl end of freetype2.m4 + +dnl Check whether a math mapper function is available in . +dnl Will define HAVE_CMATH_FUNC if there is a double variant and +dnl HAVE_CMATH_FUNCF if there is a float variant. +dnl Currently capable of checking for functions with single +dnl argument and returning bool/int/real. +AC_DEFUN([OCTAVE_CMATH_FUNC],[ +AC_MSG_CHECKING([for std::$1 in ]) +AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +void take_func (bool (*func) (double x)); +void take_func (int (*func) (double x)); +void take_func (double (*func) (double x)); +]], +[[ +take_func(std::$1); +]])], +[AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_CMATH_[]AS_TR_CPP($1),1,[Define if provides $1])], +[AC_MSG_RESULT([no])]) +AC_MSG_CHECKING([for std::$1 (float variant) in ]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include +void take_func (bool (*func) (float x)); +void take_func (int (*func) (float x)); +void take_func (float (*func) (float x)); +]], +[[ +take_func(std::$1); +]])], +[AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_CMATH_[]AS_TR_CPP($1)F,1,[Define if provides float variant of $1])], +[AC_MSG_RESULT([no])]) +AC_LANG_POP(C++) +]) + +dnl Check whether fast signed integer arithmetics using bit tricks +dnl can be used in oct-inttypes.h. Defines HAVE_FAST_INT_OPS if +dnl the following conditions hold: +dnl 1. Signed numbers are represented by twos complement +dnl (see ) +dnl 2. static_cast to unsigned int counterpart works like interpreting +dnl the signed bit pattern as unsigned (and is thus zero-cost). +dnl 3. Signed addition and subtraction yield the same bit results as unsigned. +dnl (We use casts to prevent optimization interference, so there is no +dnl need for things like -ftrapv). +dnl 4. Bit operations on signed integers work like on unsigned integers, +dnl except for the shifts. Shifts are arithmetic. +dnl +AC_DEFUN([OCTAVE_FAST_INT_OPS],[ +AC_MSG_CHECKING([whether fast integer arithmetics is usable]) +AC_LANG_PUSH(C++) +AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include +template +static bool +do_test (UT, ST) +{ + volatile ST s = std::numeric_limits::min () / 3; + volatile UT u = static_cast (s); + if (*(reinterpret_cast (&u)) != s) return true; + + u = 0; u = ~u; + if (*(reinterpret_cast (&u)) != -1) return true; + + ST sx, sy; + sx = std::numeric_limits::max () / 2 + 1; + sy = std::numeric_limits::max () / 2 + 2; + if (static_cast (static_cast (sx) + static_cast (sy)) + != std::numeric_limits::min () + 1) return true; + if (static_cast (static_cast (sx) - static_cast (sy)) + != -1) return true; + + if ((sx & sy) != (static_cast (sx) & static_cast (sy))) + return true; + if ((sx | sy) != (static_cast (sx) | static_cast (sy))) + return true; + if ((sx ^ sy) != (static_cast (sx) ^ static_cast (sy))) + return true; + if ((-1 >> 1) != -1) return true; + return false; +} + +#define DO_TEST(T) \ +if (do_test (static_cast (0), static_cast (0))) \ + return sizeof (T); +]],[[ + DO_TEST(char) + DO_TEST(short) + DO_TEST(int) + DO_TEST(long) +#if (defined(HAVE_LONG_LONG_INT) && defined(HAVE_UNSIGNED_LONG_LONG_INT)) + DO_TEST(long long) +#endif +]])], +[AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_FAST_INT_OPS,1,[Define if signed integers use two's complement])], +[AC_MSG_RESULT([no])]) +AC_LANG_POP(C++)]) +dnl +dnl Check to see if the compiler and the linker can handle the flags +dnl "-framework $1" for the given prologue $2 and the given body $3 of +dnl a source file. Arguments 2 and 3 optionally can also be empty. +dnl Add options (lower case letters $1) "--with-framework-$1" and +dnl "--without-framework-$1". If this test is successful then perform +dnl $4, otherwise do $5. +dnl +dnl OCTAVE_HAVE_FRAMEWORK +AC_DEFUN([OCTAVE_HAVE_FRAMEWORK], [ + AC_MSG_CHECKING([whether ${LD-ld} accepts -framework $1]) + AC_CACHE_VAL(octave_cv_framework_$1, [ + XLDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -framework $1" + AC_LANG_PUSH(C++) + AC_LINK_IFELSE([AC_LANG_PROGRAM([$2], [$3])], + eval "octave_cv_framework_$1=yes", + eval "octave_cv_framework_$1=no") + AC_LANG_POP(C++) + LDFLAGS="$XLDFLAGS" + ]) + if test "$octave_cv_framework_$1" = "yes"; then + AC_MSG_RESULT(yes) + AC_ARG_WITH(framework-m4_tolower($1), + [AS_HELP_STRING([--without-framework-m4_tolower($1)], + [don't use framework $1])], + with_have_framework=$withval, with_have_framework="yes") + if test "$with_have_framework" = "yes"; then + [$4] + else + AC_MSG_NOTICE([framework rejected by --without-framework-m4_tolower($1)]) + [$5] + fi + else + AC_MSG_RESULT(no) + [$5] + fi +]) + +############################################################################## +############################################################################## + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# +# This program 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 2 of the License, or +# (at your option) any later version. +# +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$PKG_CONFIG"; then + if test -n "$$1"; then + pkg_cv_[]$1="$$1" + else + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + fi +else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES + +dnl +dnl External macros. +dnl + +m4_include([m4/ax_pthread.m4]) +m4_include([m4/ax_blas.m4]) +m4_include([m4/ax_blas_f77_func.m4]) +m4_include([m4/ax_lapack.m4]) diff -r 10f6727fbaa8 -r b67c2d580a25 missing --- a/missing Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,367 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2006-05-10.23 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program 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 2, or (at your option) -# any later version. - -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case $1 in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $1 in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -r 10f6727fbaa8 -r b67c2d580a25 mk-opts.pl --- a/mk-opts.pl Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1076 +0,0 @@ -#! /usr/bin/perl -w -# -# Copyright (C) 2002-2011 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 -# . - -# Generate option handling code from a simpler input files for -# Octave's functions like lsode, dassl, etc. - -# FIXME: -# -# * Improve default documentation and/or individual documentation -# in data files. -# -# * Fix print/show code to display/return something more informative -# for special values (for example, -1 ==> infinite in some cases). -# Probably need more information in the data files for this. - -# Input file format: -# -# CLASS = string -# FCN_NAME = string -# INCLUDE = file -# DOC_STRING doc END_DOC_STRING -# OPTION -# NAME = string -# DOC_ITEM doc END_DOC_ITEM -# TYPE = string -# SET_ARG_TYPE = string (optional, defaults to TYPE) -# INIT_VALUE = string | INIT_BODY code END_INIT_BODY -# SET_EXPR = string | SET_BODY code END_SET_BODY | SET_CODE code END_SET_CODE -# END_OPTION -# -# END_* must appear at beginning of line (whitespace ignored). - -################################################################################ -# Load packages to -# 1) process command line options -################################################################################ -use Getopt::Long; - -################################################################################ -# Extract command line arguments -&parse_options; - -$DEFN_FILE = shift @ARGV; -open (DEFN_FILE) or die "unable to open input definition file $DEFN_FILE"; - -################################################################################ -# Initialize variables -$BLANK_LINE = qr/^\s*$/; -$COMMENT = qr/^\s*#/; - -################################################################################ -# Process file -$OPT_NUM = 0; - -&parse_input; - -&process_data; - -# Produce desired style of output -&emit_opt_class_header if $opt_class_header; -&emit_opt_handler_fcns if $opt_handler_fcns; -&emit_options_debug if $opt_debug; - -# End of main code - -################################################################################ -# Subroutines -################################################################################ - -sub parse_input -{ - LINE: while () - { - next LINE if /$BLANK_LINE/; - next LINE if /$COMMENT/; - - if (/^\s*OPTION\s*$/) - { - &parse_option_block; - } - elsif (/^\s*CLASS\s*=\s*"(\w+)"\s*$/) - { - die "duplicate CLASS" if defined $CLASS; - $CLASS = $1; - $CLASS_NAME = "${CLASS}_options"; - $STRUCT_NAME = "${CLASS_NAME}_struct"; - $STATIC_TABLE_NAME = "${CLASS_NAME}_table"; - } - elsif (/^\s*FCN_NAME\s*=\s*"(\w+)"\s*$/) - { - die "duplicate FCN_NAME" if defined $FCN_NAME; - $FCN_NAME = $1; - } - elsif (/^\s*INCLUDE\s*=\s*"(\S+)"\s*$/) - { - $INCLUDE .= "#include <$1>\n"; - } - elsif (/^\s*DOC_STRING\s*$/) - { - die "duplicate DOC_STRING" if defined $DOC_STRING; - while (defined ($_ = ) and not /^\s*END_DOC_STRING\s*$/) - { - $DOC_STRING .= $_; - } - $DOC_STRING =~ s/\n/\\n\\\n/g; - } - else - { - die "mk-opts.pl: unknown command: $_\n" - } - } - $INCLUDE = "" if not defined $INCLUDE; # Initialize value if required -} - -sub parse_option_block -{ - while () - { - next if /$BLANK_LINE/; - - die "missing END_OPTION" if /^\s*OPTION\s*$/; - - last if /^\s*END_OPTION\s*$/; - - if (/^\s*NAME\s*=\s*"(.*)"\s*$/) - { - die "duplicate NAME" if defined $NAME[$OPT_NUM]; - $NAME[$OPT_NUM] = $1; - ($OPT[$OPT_NUM] = $NAME[$OPT_NUM]) =~ s/\s+/_/g; - $OPTVAR[$OPT_NUM] = 'x_' . $OPT[$OPT_NUM]; - $KW_TOK[$OPT_NUM] = [ split (' ', $NAME[$OPT_NUM]) ]; - $N_TOKS[$OPT_NUM] = @{$KW_TOK[$OPT_NUM]}; - } - elsif (/^\s*DOC_ITEM\s*$/) - { - die "duplicate DOC_ITEM" if defined $DOC_ITEM[$OPT_NUM]; - while (defined ($_ = ) and not /^\s*END_DOC_ITEM\s*$/) - { - $DOC_ITEM[$OPT_NUM] .= $_; - } - $DOC_ITEM[$OPT_NUM] =~ s/\n/\\n\\\n/g; - } - elsif (/^\s*TYPE\s*=\s*"(.*)"\s*$/) - { - die "duplicate TYPE" if defined $TYPE[$OPT_NUM]; - $TYPE[$OPT_NUM] = $1; - } - elsif (/^\s*SET_ARG_TYPE\s*=\s*"(.*)"\s*$/) - { - die "duplicate SET_ARG_TYPE" if defined $SET_ARG_TYPE[$OPT_NUM]; - $SET_ARG_TYPE[$OPT_NUM] = $1; - } - elsif (/^\s*INIT_VALUE\s*=\s*"(.*)"\s*$/) - { - die "duplicate INIT_VALUE" if defined $INIT_VALUE[$OPT_NUM]; - $INIT_VALUE[$OPT_NUM] = $1; - } - elsif (/^\s*SET_EXPR\s*=\s*"(.*)"\s*$/) - { - die "duplicate SET_EXPR" if defined $SET_EXPR[$OPT_NUM]; - $SET_EXPR[$OPT_NUM] = $1; - } - elsif (/^\s*INIT_BODY\s*$/) - { - die "duplicate INIT_BODY" if defined $INIT_BODY[$OPT_NUM]; - while (defined ($_ = ) and not /^\s*END_INIT_BODY\s*$/) - { - $INIT_BODY[$OPT_NUM] .= $_; - } - } - elsif (/^\s*SET_BODY\s*$/) - { - die "duplicate SET_BODY" if defined $INIT_BODY[$OPT_NUM]; - while (defined ($_ = ) and not /^\s*END_SET_BODY\s*$/) - { - $SET_BODY[$OPT_NUM] .= $_; - } - } - elsif (/^\s*SET_CODE\s*$/) - { - die "duplicate SET_CODE" if defined $SET_CODE[$OPT_NUM]; - while (defined ($_ = ) and not /^\s*END_SET_CODE\s*$/) - { - $SET_CODE[$OPT_NUM] .= $_; - } - } - } - - if (not defined $SET_ARG_TYPE[$OPT_NUM]) - { - $SET_ARG_TYPE[$OPT_NUM] = $TYPE[$OPT_NUM]; - } - else - { - $SET_ARG_TYPE[$OPT_NUM] - = substopt ($SET_ARG_TYPE[$OPT_NUM], $OPTVAR[$OPT_NUM], - $OPT[$OPT_NUM], $TYPE[$OPT_NUM]); - } - - $OPT_NUM++; -} - -sub process_data -{ - $MAX_TOKENS = max (@N_TOKS); - - &get_min_match_len_info; - - $FCN_NAME = lc ($CLASS) if not defined $FCN_NAME; - - $OPT_FCN_NAME = "${FCN_NAME}_options" if not defined $OPT_FCN_NAME; - - $STATIC_OBJECT_NAME = "${FCN_NAME}_opts"; - - if (not defined $DOC_STRING) - { - $DOC_STRING = "Query or set options for the function \@code{$FCN_NAME}.\\n\\ -When called with no arguments, the names of all available options and\\n\\ -their current values are displayed.\\n\\ -Given one argument, return the value of the corresponding option.\\n\\ -When called with two arguments, \@code{$OPT_FCN_NAME} set the option\\n\\ -\@var{opt} to value \@var{val}."; - } -} - -#FIXME: What does this routine do? And can it be simpler to understand? -sub get_min_match_len_info -{ - my ($i, $j, $k); - - for ($i = 0; $i < $OPT_NUM; $i++) - { - for ($j = 0; $j < $MAX_TOKENS; $j++) - { - $MIN_TOK_LEN_TO_MATCH[$i][$j] = 0; - } - - $MIN_TOKS_TO_MATCH[$i] = 1; - - L1: for ($k = 0; $k < $OPT_NUM; $k++) - { - my $duplicate = 1; - - if ($i != $k) - { - L2: for ($j = 0; $j < $MAX_TOKENS; $j++) - { - if ($j < $N_TOKS[$i]) - { - if ($KW_TOK[$i][$j] eq $KW_TOK[$k][$j]) - { - if ($MIN_TOK_LEN_TO_MATCH[$i][$j] == 0) - { - $MIN_TOK_LEN_TO_MATCH[$i][$j] = 1; - } - - $MIN_TOKS_TO_MATCH[$i]++; - } - else - { - $duplicate = 0; - - if ($MIN_TOK_LEN_TO_MATCH[$i][$j] == 0) - { - $MIN_TOK_LEN_TO_MATCH[$i][$j] = 1; - } - - my @s = split (//, $KW_TOK[$i][$j]); - my @t = split (//, $KW_TOK[$k][$j]); - - my ($n, $ii); - $n = scalar (@s); - $n = scalar (@t) if (@t < $n); - - for ($ii = 0; $ii < $n; $ii++) - { - if ("$s[$ii]" eq "$t[$ii]") - { - if ($ii + 2 > $MIN_TOK_LEN_TO_MATCH[$i][$j]) - { - $MIN_TOK_LEN_TO_MATCH[$i][$j]++; - } - } - else - { - last L2; - } - } - - last L1; - } - } - else - { - die qq|ambiguous options "$NAME[$i]" and "$NAME[$k]"| if $duplicate; - } - } - } - } - } -} # end of get_min_match_len_info - - -sub emit_copy_body -{ - my ($pfx, $var) = @_; - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - print "${pfx}$OPTVAR[$i] = ${var}.$OPTVAR[$i];\n"; - } - - print "${pfx}reset = ${var}.reset;\n"; -} - -## To silence GCC warnings, we create an initialization list even -## though the init function actually does the work of initialization. - -sub emit_default_init_list -{ - my ($prefix) = @_; - - print "$OPTVAR[0] (),\n" unless ($OPT_NUM == 0); - - for (my $i = 1; $i < $OPT_NUM; $i++) - { - print "${prefix}$OPTVAR[$i] (),\n"; - } - - print "${prefix}reset ()\n"; -} - -sub emit_copy_ctor_init_list -{ - my ($prefix, $var) = @_; - - print "$OPTVAR[0] ($var.$OPTVAR[0]),\n" unless ($OPT_NUM == 0); - - for (my $i = 1; $i < $OPT_NUM; $i++) - { - print "${prefix}$OPTVAR[$i] ($var.$OPTVAR[$i]),\n"; - } - - print "${prefix}reset ($var.reset)\n"; -} - -sub emit_opt_class_header -{ - my ($i, $s); - - print <<"_END_EMIT_OPT_CLASS_HEADER_"; -// DO NOT EDIT! -// Generated automatically from $DEFN_FILE. - -#if !defined (octave_${CLASS_NAME}_h) -#define octave_${CLASS_NAME}_h 1 - -#include -#include - -$INCLUDE - -class -$CLASS_NAME -{ -public: - - $CLASS_NAME (void) -_END_EMIT_OPT_CLASS_HEADER_ - - print ' : '; - emit_default_init_list (" "); - - print " { - init (); - } - - $CLASS_NAME (const ${CLASS_NAME}& opt) - : "; - - emit_copy_ctor_init_list (" ", "opt"); - - print " { } - - ${CLASS_NAME}& operator = (const ${CLASS_NAME}& opt) - { - if (this != &opt) - {\n"; - - emit_copy_body (' ', 'opt'); - - print " } - - return *this; - } - - ~$CLASS_NAME (void) { }\n"; - - print "\n void init (void)\n {\n"; - - for ($i = 0; $i < $OPT_NUM; $i++) - { - if ($INIT_VALUE[$i]) - { - print " $OPTVAR[$i] = $INIT_VALUE[$i];\n"; - } - elsif ($INIT_BODY[$i]) - { - $s = substopt ($INIT_BODY[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); - chomp ($s); - $s =~ s/^\s*/ /g; - $s =~ s/\n\s*/\n /g; - print $s,"\n"; - } - } - - print " reset = true;\n", - " }\n"; - - ## For backward compatibility and because set_options is probably - ## a better name in some contexts: - - print "\n void set_options (const ${CLASS_NAME}& opt)\n", - " {\n"; - - emit_copy_body (' ', 'opt'); - - print " }\n\n void set_default_options (void) { init (); }\n"; - - for ($i = 0; $i < $OPT_NUM; $i++) - { - if ($SET_EXPR[$i]) - { - emit_set_decl ($i); - - print "\n { $OPTVAR[$i] = $SET_EXPR[$i]; reset = true; }\n"; - } - elsif ($SET_BODY[$i]) - { - emit_set_decl ($i); - - $s = substopt ($SET_BODY[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); - chomp ($s); - $s = ' ' . $s; - $s =~ s/\n/\n /g; - print "\n {\n$s\n reset = true;\n }\n"; - } - elsif ($SET_CODE[$i]) - { - $s = substopt ($SET_CODE[$i], $OPTVAR[$i], $OPT[$i], $TYPE[$i]); - chomp ($s); - $s =~ s/^ //g; - $s =~ s/\n /\n/g; - print "\n",$s,"\n"; - } - } - - for ($i = 0; $i < $OPT_NUM; $i++) - { - print " $TYPE[$i] $OPT[$i] (void) const\n { return $OPTVAR[$i]; }\n\n"; - } - - print "private:\n\n"; - - for ($i = 0; $i < $OPT_NUM; $i++) - { - print " $TYPE[$i] $OPTVAR[$i];\n"; - } - - print "\nprotected:\n\n bool reset;\n};\n\n#endif\n"; -} - -sub emit_set_decl -{ - my ($i) = @_; - - print "\n void set_$OPT[$i] ($SET_ARG_TYPE[$i] val)"; -} - -sub emit_opt_handler_fcns -{ - my $header = $DEFN_FILE; - $header =~ s/[.]\w*$/.h/; # replace .in with .h - $header =~ s|^.*/([^/]*)$|$1|; # strip directory part - - print <<"_END_EMIT_OPT_HANDLER_FCNS_"; -// DO NOT EDIT! -// Generated automatically from $DEFN_FILE. - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "$header" - -#include "defun-dld.h" -#include "pr-output.h" - -#include "oct-obj.h" -#include "utils.h" -#include "pager.h" - -static $CLASS_NAME $STATIC_OBJECT_NAME; - -_END_EMIT_OPT_HANDLER_FCNS_ - - &emit_struct_decl; - - &emit_struct_def; - - &emit_print_function; - - &emit_set_functions; - - &emit_show_function; - - &emit_options_function; -} - -sub emit_struct_decl -{ - print <<"_END_PRINT_STRUCT_DECL_"; -#define MAX_TOKENS $MAX_TOKENS - -struct $STRUCT_NAME -{ - const char *keyword; - const char *kw_tok[MAX_TOKENS + 1]; - int min_len[MAX_TOKENS + 1]; - int min_toks_to_match; -}; - -_END_PRINT_STRUCT_DECL_ -} - -sub emit_struct_def -{ - my $i; - - print "#define NUM_OPTIONS $OPT_NUM\n\n"; - - print "static $STRUCT_NAME $STATIC_TABLE_NAME [] =\n{\n"; - - for ($i = 0; $i < ($OPT_NUM - 1); $i++) - { - emit_option_table_entry ($i, 0); - print "\n"; - } - emit_option_table_entry ($i, 0); - - print "};\n\n"; -} - -sub emit_option_table_entry -{ - my ($i, $empty) = @_; - - my $k; - - if ($empty) - { - print " { 0,\n"; - } - else - { - print " { \"$NAME[$i]\",\n"; - } - - my $n = scalar $#{$KW_TOK[$i]}; - print " {"; - for $k (0 .. $MAX_TOKENS) - { - if ($empty or $k > $n) - { - print " 0,"; - } - else - { - print " \"$KW_TOK[$i][$k]\","; - } - } - print " },\n"; - - print " {"; - for $k (0 .. $MAX_TOKENS) - { - if ($empty or $k > $n) - { - print " 0,"; - } - else - { - print " $MIN_TOK_LEN_TO_MATCH[$i][$k],"; - } - } - print " }, $MIN_TOKS_TO_MATCH[$i], "; - - print "},\n"; -} - -sub emit_print_function -{ - ## FIXME -- determine the width of the table automatically. - - print qq|static void -print_$CLASS_NAME (std::ostream& os) -{ - std::ostringstream buf; - - os << "\\n" - << "Options for $CLASS include:\\n\\n" - << " keyword value\\n" - << " ------- -----\\n"; - - $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n|; - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - print qq| {\n os << " " - << std::setiosflags (std::ios::left) << std::setw (50) - << list[$i].keyword - << std::resetiosflags (std::ios::left) - << " ";\n\n|; - - if ($TYPE[$i] eq "double") - { - print qq| double val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| os << val << "\\n";\n|; - } - elsif ($TYPE[$i] eq "float") - { - print qq| float val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| os << val << "\\n";\n|; - } - elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") - { - print qq| int val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| os << val << "\\n";\n|; - } - elsif ($TYPE[$i] eq "std::string") - { - print qq| os << $STATIC_OBJECT_NAME.$OPT[$i] () << "\\n";\n|; - } - elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") - { - my $elt_type; - if ($TYPE[$i] eq "Array") - { - $elt_type = "int"; - } - else - { - $elt_type = "octave_idx_type"; - } - print qq| Array<$elt_type> val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| if (val.length () == 1) - { - os << val(0) << "\\n"; - } - else - { - os << "\\n\\n"; - octave_idx_type len = val.length (); - Matrix tmp (len, 1); - for (octave_idx_type i = 0; i < len; i++) - tmp(i,0) = val(i); - octave_print_internal (os, tmp, false, 2); - os << "\\n\\n"; - }\n|; - } - elsif ($TYPE[$i] eq "Array") - { - print qq| Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| if (val.length () == 1) - { - os << val(0) << "\\n"; - } - else - { - os << "\\n\\n"; - Matrix tmp = Matrix (ColumnVector (val)); - octave_print_internal (os, tmp, false, 2); - os << "\\n\\n"; - }\n|; - } - elsif ($TYPE[$i] eq "Array") - { - print qq| Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n|; - print qq| if (val.length () == 1) - { - os << val(0) << "\\n"; - } - else - { - os << "\\n\\n"; - FloatMatrix tmp = FloatMatrix (FloatColumnVector (val)); - octave_print_internal (os, tmp, false, 2); - os << "\\n\\n"; - }\n|; - } - else - { - die ("unknown type $TYPE[$i]"); - } - - print " }\n\n"; - } - - print qq| os << "\\n";\n}\n\n|; -} - -sub emit_set_functions -{ - print "static void -set_$CLASS_NAME (const std::string& keyword, const octave_value& val) -{ - $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n"; - - my $iftok = "if"; - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - $iftok = "else if" if ($i > 0); - - print " $iftok (keyword_almost_match (list[$i].kw_tok, list[$i].min_len, - keyword, list[$i].min_toks_to_match, MAX_TOKENS)) - {\n"; - - if ($TYPE[$i] eq "double") - { - print " double tmp = val.double_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "float") - { - print " float tmp = val.float_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") - { - print " int tmp = val.int_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "std::string") - { - print " std::string tmp = val.string_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") - { - print " Array tmp = val.int_vector_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "Array") - { - print " Array tmp = val.vector_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - elsif ($TYPE[$i] eq "Array") - { - print " Array tmp = val.float_vector_value ();\n\n"; - print " if (! error_state) - $STATIC_OBJECT_NAME.set_$OPT[$i] (tmp);\n"; - } - else - { - die ("unknown type $TYPE[$i]"); - } - - print " }\n"; - } - - print qq| else - { - warning ("$OPT_FCN_NAME: no match for `%s'", keyword.c_str ()); - } -}\n\n|; -} - -sub emit_show_function -{ - print "static octave_value_list -show_$CLASS_NAME (const std::string& keyword) -{ - octave_value retval; - - $STRUCT_NAME *list = $STATIC_TABLE_NAME;\n\n"; - - my $iftok = "if"; - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - $iftok = "else if" if ($i > 0); - - print " $iftok (keyword_almost_match (list[$i].kw_tok, list[$i].min_len, - keyword, list[$i].min_toks_to_match, MAX_TOKENS)) - {\n"; - - if ($TYPE[$i] eq "double") - { - print " double val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " retval = val;\n"; - } - elsif ($TYPE[$i] eq "float") - { - print " float val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " retval = val;\n"; - } - elsif ($TYPE[$i] eq "int" or $TYPE[$i] eq "octave_idx_type") - { - print " int val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " retval = static_cast (val);\n"; - } - elsif ($TYPE[$i] eq "std::string") - { - print " retval = $STATIC_OBJECT_NAME.$OPT[$i] ();\n"; - } - elsif ($TYPE[$i] eq "Array" or $TYPE[$i] eq "Array") - { - my $elt_type; - if ($TYPE[$i] eq "Array") - { - $elt_type = "int"; - } - else - { - $elt_type = "octave_idx_type"; - } - print " Array<$elt_type> val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " if (val.length () == 1) - { - retval = static_cast (val(0)); - } - else - { - octave_idx_type len = val.length (); - ColumnVector tmp (len); - for (octave_idx_type i = 0; i < len; i++) - tmp(i) = val(i); - retval = tmp; - }\n"; - } - elsif ($TYPE[$i] eq "Array") - { - print " Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " if (val.length () == 1) - { - retval = val(0); - } - else - { - retval = ColumnVector (val); - }\n"; - } - elsif ($TYPE[$i] eq "Array") - { - print " Array val = $STATIC_OBJECT_NAME.$OPT[$i] ();\n\n"; - print " if (val.length () == 1) - { - retval = val(0); - } - else - { - retval = FloatColumnVector (val); - }\n"; - } - else - { - die ("unknown type $TYPE[$i]"); - } - - print " }\n"; - } - - print qq| else - { - warning ("$OPT_FCN_NAME: no match for `%s'", keyword.c_str ()); - } - - return retval;\n}\n\n|; -} - -sub emit_options_function -{ - print <<"_END_EMIT_OPTIONS_FUNCTION_HDR_"; -DEFUN_DLD ($OPT_FCN_NAME, args, , - "-*- texinfo -*-\\n\\ -\@deftypefn {Loadable Function} {} $OPT_FCN_NAME ()\\n\\ -\@deftypefnx {Loadable Function} {val =} $OPT_FCN_NAME (\@var{opt})\\n\\ -\@deftypefnx {Loadable Function} {} $OPT_FCN_NAME (\@var{opt}, \@var{val})\\n\\ -$DOC_STRING\\n\\ -\\n\\ -Options include\\n\\ -\\n\\ -\@table \@code\\n\\ -_END_EMIT_OPTIONS_FUNCTION_HDR_ -# FIXME: Add extra newline above - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - print '@item \"', $NAME[$i], '\"\n\\', "\n"; - print $DOC_ITEM[$i] if $DOC_ITEM[$i]; - } - - print <<"_END_EMIT_OPTIONS_FUNCTION_BODY_"; -\@end table\\n\\ -\@end deftypefn") -{ - octave_value_list retval; - - int nargin = args.length (); - - if (nargin == 0) - { - print_$CLASS_NAME (octave_stdout); - } - else if (nargin == 1 || nargin == 2) - { - std::string keyword = args(0).string_value (); - - if (! error_state) - { - if (nargin == 1) - retval = show_$CLASS_NAME (keyword); - else - set_$CLASS_NAME (keyword, args(1)); - } - else - error ("$OPT_FCN_NAME: expecting keyword as first argument"); - } - else - print_usage (); - - return retval; -} -_END_EMIT_OPTIONS_FUNCTION_BODY_ - -} - -sub emit_options_debug -{ - print qq|CLASS = "$CLASS"\n|; - - for (my $i = 0; $i < $OPT_NUM; $i++) - { - print "\nOPTION\n"; - print qq| NAME = "$NAME[$i]"\n|; - print qq| TYPE = "$TYPE[$i]"\n|; - if ($SET_ARG_TYPE[$i]) - { - print eval ("\" SET_ARG_TYPE = \\\"$SET_ARG_TYPE[$i]\\\"\"") . "\n"; - } - if ($INIT_VALUE[$i]) - { - print qq| INIT_VALUE = "$INIT_VALUE[$i]"\n|; - } - if ($INIT_BODY[$i]) - { - print " INIT_BODY\n"; - print &substopt ($INIT_BODY[$i]); - print " END_INIT_BODY\n"; - } - if ($SET_EXPR[$i]) - { - print qq| SET_EXPR = "$SET_EXPR[$i]"\n|; - } - if ($SET_BODY[$i]) - { - print " SET_BODY\n"; - print &substopt ($SET_BODY[$i]); - print " END_SET_BODY\n"; - } - if ($SET_CODE[$i]) - { - print " SET_CODE\n"; - print &substopt ($SET_CODE[$i]); - print " END_SET_CODE\n"; - } - print "END_OPTION\n"; - } -} - -sub substopt -{ - my ($string, $optvar, $opt, $type) = @_; - - $string =~ s/\$OPTVAR/$optvar/g; - $string =~ s/\$OPT/$opt/g; - $string =~ s/\$TYPE/$type/g; - - return $string; -} - -sub max -{ - my $max = shift; - - foreach (@_) - { - $max = $_ if $max < $_; - } - - return $max; -} - -################################################################################ -# Subroutine processes any command line arguments -################################################################################ -sub parse_options -{ - my $result; - - $opt_help = 0; - $opt_class_header = 0; - $opt_handler_fcns = 0; - $opt_debug = 0; - - $result = GetOptions ("opt-class-header" => \$opt_class_header, - "opt-handler-fcns" => \$opt_handler_fcns, - "debug" => \$opt_debug, - "help" => \$opt_help); - - # give user info if options incorrect or -h(elp) given - &usage_info if (!$result or (@ARGV != 1) or $opt_help); - if ($opt_class_header and $opt_handler_fcns) - { - die "Only one of [-opt-class-header | -opt-handler-fcns ] may be specified"; - } - -} - -################################################################################ -# Subroutine displays usage information -################################################################################ -sub usage_info -{ - warn <<_END_OF_USAGE_; -////////////////////////////////////////////////////////////////////////////// -USAGE : mk-opts.pl -opt-class-header|-opt-handler-fcns [-debug] [-help] DEFN_FILE -////////////////////////////////////////////////////////////////////////////// - -Automatically generate C++ code for option handling code (DASSL, DASRT, etc.) -from definition file. - -See the head of mk-opts.pl for a description of the format that is parsed. -_END_OF_USAGE_ - - exit(1); # exit with error code -} - diff -r 10f6727fbaa8 -r b67c2d580a25 mkinstalldirs --- a/mkinstalldirs Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -#!/bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Last modified: Wed Jan 25 09:35:21 1995 -# Public domain - -errstatus=0 - -dirmode=0755 - -for file in ${1+"$@"} ; do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d in ${1+"$@"} ; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - mkdir "$pathcomp" || errstatus=$? - echo "chmod $dirmode $pathcomp" 1>&2 - chmod $dirmode "$pathcomp" || errstatus=$? - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff -r 10f6727fbaa8 -r b67c2d580a25 mkoctfile.cc.in --- a/mkoctfile.cc.in Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,778 +0,0 @@ -/* - -Copyright (C) 2008-2011 Michael Goffioul - -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 -. - -*/ - -#if defined (HAVE_CONFIG_H) -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) -#include -#ifdef _MSC_VER -#define popen _popen -#define pclose _pclose -#endif -#endif - -using namespace std; - -static bool initialized = false; -static map vars; - -static string OCTAVE_VERSION = %OCTAVE_CONF_VERSION%; - -static std::string -substitute_prefix (const std::string& s, const std::string& prefix, - const std::string& new_prefix) -{ - std::string retval = s; - - if (!prefix.empty () && new_prefix != prefix) - { - int len = prefix.length (); - if (retval.find (prefix) == 0) - retval.replace (0, len, new_prefix); - } - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) - std::replace (retval.begin (), retval.end (), '/', '\\'); -#endif - - return retval; -} - -static string -get_line (FILE *fp) -{ - static vector buf (100); - int idx = 0; - char c; - - while (true) - { - c = static_cast (fgetc (fp)); - if (c == '\n' || c == EOF) - break; - if (buf.size () <= idx) - buf.resize (buf.size () + 100); - buf[idx++] = c; - } - if (idx == 0) - return string (""); - else - return string (&buf[0], idx); -} - - -static string -get_variable (const char *name, const string& defval) -{ - const char *val = getenv (name); - if (val == NULL || val[0] == '\0') - return defval; - else - return string (val); -} - -static string -quote_path (const string& s) -{ - if (s.find (' ') != string::npos && s[0] != '"') - return "\"" + s + "\""; - else - return s; -} - -static void -initialize (void) -{ - if (initialized) - return; - - initialized = true; - - vars["OCTAVE_HOME"] = get_variable ("OCTAVE_HOME", ""); - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) - int n = 1024; - - std::string bin_dir (n, '\0'); - - while (true) - { - int status = GetModuleFileName (0, &bin_dir[0], n); - - if (status < n) - { - bin_dir.resize (status); - break; - } - else - { - n *= 2; - bin_dir.resize (n); - } - } - - if (! bin_dir.empty ()) - { - size_t pos = bin_dir.rfind ("\\bin\\"); - - if (pos != string::npos) - vars["OCTAVE_HOME"] = bin_dir.substr (0, pos); - } -#endif - - vars["SED"] = get_variable ("SED", %OCTAVE_CONF_SED%); - - vars["OCTAVE_PREFIX"] = %OCTAVE_CONF_PREFIX%; - - std::string DEFAULT_OCTINCLUDEDIR = %OCTAVE_CONF_OCTINCLUDEDIR%; - std::string DEFAULT_INCLUDEDIR = %OCTAVE_CONF_INCLUDEDIR%; - std::string DEFAULT_LIBDIR = %OCTAVE_CONF_LIBDIR%; - std::string DEFAULT_OCTLIBDIR = %OCTAVE_CONF_OCTLIBDIR%; - - if (! vars["OCTAVE_HOME"].empty ()) - { - DEFAULT_OCTINCLUDEDIR - = substitute_prefix (DEFAULT_OCTINCLUDEDIR, vars["OCTAVE_PREFIX"], - vars["OCTAVE_HOME"]); - - DEFAULT_INCLUDEDIR - = substitute_prefix (DEFAULT_INCLUDEDIR, vars["OCTAVE_PREFIX"], - vars["OCTAVE_HOME"]); - - DEFAULT_LIBDIR - = substitute_prefix (DEFAULT_LIBDIR, vars["OCTAVE_PREFIX"], - vars["OCTAVE_HOME"]); - - DEFAULT_OCTLIBDIR - = substitute_prefix (DEFAULT_OCTLIBDIR, vars["OCTAVE_PREFIX"], - vars["OCTAVE_HOME"]); - } - - vars["OCTINCLUDEDIR"] = get_variable ("OCTINCLUDEDIR", DEFAULT_OCTINCLUDEDIR); - vars["INCLUDEDIR"] = get_variable ("INCLUDEDIR", DEFAULT_INCLUDEDIR); - vars["LIBDIR"] = get_variable ("LIBDIR", DEFAULT_LIBDIR); - vars["OCTLIBDIR"] = get_variable ("OCTLIBDIR", DEFAULT_OCTLIBDIR); - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) - std::string DEFAULT_INCFLAGS - = "-I" + quote_path (vars["OCTINCLUDEDIR"] + "\\..") - + " -I" + quote_path (vars["OCTINCLUDEDIR"]); -#else - std::string DEFAULT_INCFLAGS - = "-I" + quote_path (vars["OCTINCLUDEDIR"] + "/..") - + " -I" + quote_path (vars["OCTINCLUDEDIR"]); -#endif - if (vars["INCLUDEDIR"] != "/usr/include") - DEFAULT_INCFLAGS += " -I" + quote_path (vars["INCLUDEDIR"]); - - std::string DEFAULT_LFLAGS = "-L" + quote_path (vars["OCTLIBDIR"]); - if (vars["LIBDIR"] != "/usr/lib") - DEFAULT_LFLAGS += " -L" + quote_path (vars["LIBDIR"]); - - vars["CPPFLAGS"] = get_variable ("CPPFLAGS", %OCTAVE_CONF_CPPFLAGS%); - vars["INCFLAGS"] = get_variable ("INCFLAGS", DEFAULT_INCFLAGS); - vars["F77"] = get_variable ("F77", %OCTAVE_CONF_F77%); - vars["FFLAGS"] = get_variable ("FFLAGS", %OCTAVE_CONF_FFLAGS%); - vars["FPICFLAG"] = get_variable ("FPICFLAG", %OCTAVE_CONF_FPICFLAG%); - vars["CC"] = get_variable ("CC", %OCTAVE_CONF_CC%); - vars["CFLAGS"] = get_variable ("CFLAGS", %OCTAVE_CONF_CFLAGS%); - vars["CPICFLAG"] = get_variable ("CPICFLAG", %OCTAVE_CONF_CPICFLAG%); - vars["CXX"] = get_variable ("CXX", %OCTAVE_CONF_CXX%); - vars["CXXFLAGS"] = get_variable ("CXXFLAGS", %OCTAVE_CONF_CXXFLAGS%); - vars["CXXPICFLAG"] = get_variable ("CXXPICFLAG", %OCTAVE_CONF_CXXPICFLAG%); - vars["XTRA_CFLAGS"] = get_variable ("XTRA_CFLAGS", %OCTAVE_CONF_XTRA_CFLAGS%); - vars["XTRA_CXXFLAGS"] = get_variable ("XTRA_CXXFLAGS", %OCTAVE_CONF_XTRA_CXXFLAGS%); - - vars["DEPEND_FLAGS"] = get_variable ("DEPEND_FLAGS", %OCTAVE_CONF_DEPEND_FLAGS%); - vars["DEPEND_EXTRA_SED_PATTERN"] = get_variable ("DEPEND_EXTRA_SED_PATTERN", %OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%); - - vars["DL_LD"] = get_variable ("DL_LD", %OCTAVE_CONF_DL_LD%); - vars["DL_LDFLAGS"] = get_variable ("DL_LDFLAGS", %OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%); - - vars["RLD_FLAG"] = get_variable ("RLD_FLAG", %OCTAVE_CONF_RLD_FLAG%); - vars["RDYNAMIC_FLAG"] = get_variable ("RDYNAMIC_FLAG", %OCTAVE_CONF_RDYNAMIC_FLAG%); - vars["LIBOCTAVE"] = "-loctave"; - vars["LIBOCTINTERP"] = "-loctinterp"; - vars["READLINE_LIBS"] = "-lreadline"; - vars["LIBCRUFT"] = "-lcruft"; - vars["LAPACK_LIBS"] = get_variable ("LAPACK_LIBS", %OCTAVE_CONF_LAPACK_LIBS%); - vars["BLAS_LIBS"] = get_variable ("BLAS_LIBS", %OCTAVE_CONF_BLAS_LIBS%); - vars["FFTW3_LDFLAGS"] = get_variable ("FFTW3_LDFLAGS", %OCTAVE_CONF_FFTW3_LDFLAGS%); - vars["FFTW3_LIBS"] = get_variable ("FFTW3_LIBS", %OCTAVE_CONF_FFTW3_LIBS%); - vars["FFTW3F_LDFLAGS"] = get_variable ("FFTW3F_LDFLAGS", %OCTAVE_CONF_FFTW3F_LDFLAGS%); - vars["FFTW3F_LIBS"] = get_variable ("FFTW3F_LIBS", %OCTAVE_CONF_FFTW3F_LIBS%); - vars["LIBS"] = get_variable ("LIBS", %OCTAVE_CONF_LIBS%); - vars["FLIBS"] = get_variable ("FLIBS", %OCTAVE_CONF_FLIBS%); - vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_LD_CXX%); - vars["LDFLAGS"] = get_variable ("LDFLAGS", %OCTAVE_CONF_LDFLAGS%); - vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG", %OCTAVE_CONF_LD_STATIC_FLAG%); - vars["LFLAGS"] = get_variable ("LFLAGS", DEFAULT_LFLAGS); - vars["F77_INTEGER8_FLAG"] = get_variable ("F77_INTEGER8_FLAG", %OCTAVE_CONF_F77_INTEGER_8_FLAG%); - - vars["ALL_FFLAGS"] = vars["FFLAGS"] + " " + vars["F77_INTEGER8_FLAG"]; - - vars["ALL_CFLAGS"] = vars["INCFLAGS"] + " " + vars["XTRA_CFLAGS"] - + " " + vars["CFLAGS"]; - - vars["ALL_CXXFLAGS"] = vars["INCFLAGS"] + " " + vars["XTRA_CXXFLAGS"] - + " " + vars["CXXFLAGS"]; - - vars["ALL_LDFLAGS"] = vars["LD_STATIC_FLAG"] + " " + vars["CPICFLAG"] - + " " + vars["LDFLAGS"]; - - vars["OCTAVE_LIBS"] = vars["LIBOCTINTERP"] + " " + vars["LIBOCTAVE"] - + " " + vars["SPECIAL_MATH_LIB"] + " " + vars["LIBCRUFT"]; - - vars["FFTW_LIBS"] = vars["FFTW3_LDFLAGS"] + " " + vars["FFTW3_LIBS"] - + " " + vars["FFTW3F_LDFLAGS"] + " " + vars["FFTW3F_LIBS"]; -} - -static string usage_msg = "usage: mkoctfile [options] file ..."; -static string version_msg = "mkoctfile, version " + OCTAVE_VERSION; -static bool debug = false; -static string help_msg = -"\n" -"Options:\n" -"\n" -" -h, -?, --help Print this message.\n" -"\n" -" -IDIR Add -IDIR to compile commands.\n" -"\n" -" -idirafter DIR Add -idirafter DIR to compile commands.\n" -"\n" -" -DDEF Add -DDEF to compile commands.\n" -"\n" -" -lLIB Add library LIB to link command.\n" -"\n" -" -LDIR Add -LDIR to link command.\n" -"\n" -" -M, --depend Generate dependency files (.d) for C and C++\n" -" source files.\n" -"\n" -" -RDIR Add -RDIR to link command.\n" -"\n" -" -Wl,... Pass flags though the linker like -Wl,-rpath=...\n" -"\n" -" -W... Pass flags though the compiler like -Wa,OPTION.\n" -"\n" -" -c, --compile Compile, but do not link.\n" -"\n" -" -o FILE, --output FILE Output file name. Default extension is .oct\n" -" (or .mex if --mex is specified) unless linking\n" -" a stand-alone executable.\n" -"\n" -" -g Enable debugging options for compilers.\n" -"\n" -" -p VAR, --print VAR Print configuration variable VAR. Recognized\n" -" variables are:\n" -"\n" -" ALL_CFLAGS FLIBS\n" -" ALL_CXXFLAGS FPICFLAG\n" -" ALL_FFLAGS INCFLAGS\n" -" ALL_LDFLAGS LAPACK_LIBS\n" -" BLAS_LIBS LDFLAGS\n" -" CC LD_CXX\n" -" CFLAGS LD_STATIC_FLAG\n" -" CPICFLAG LFLAGS\n" -" CPPFLAGS LIBCRUFT\n" -" CXX LIBOCTAVE\n" -" CXXFLAGS LIBOCTINTERP\n" -" CXXPICFLAG LIBS\n" -" DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS\n" -" DEPEND_FLAGS RDYNAMIC_FLAG\n" -" DL_LD READLINE_LIBS\n" -" DL_LDFLAGS RLD_FLAG\n" -" F77 SED\n" -" FFLAGS XTRA_CFLAGS\n" -" FFTW_LIBS XTRA_CXXFLAGS\n" -"\n" -" --link-stand-alone Link a stand-alone executable file.\n" -"\n" -" --mex Assume we are creating a MEX file. Set the\n" -" default output extension to \".mex\".\n" -"\n" -" -s, --strip Strip output file.\n" -"\n" -" -v, --verbose Echo commands as they are executed.\n" -"\n" -" FILE Compile or link FILE. Recognized file types are:\n" -"\n" -" .c C source\n" -" .cc C++ source\n" -" .C C++ source\n" -" .cpp C++ source\n" -" .f Fortran source (fixed form)\n" -" .F Fortran source (fixed form)\n" -" .f90 Fortran source (free form)\n" -" .F90 Fortran source (free form)\n" -" .o object file\n" -" .a library file\n" -#ifdef _MSC_VER -" .lib library file\n" -#endif -"\n"; - -static string -basename (const string& s, bool strip_path = false) -{ - size_t pos = s.rfind ('.'); - string retval; - - if (pos == string::npos) - retval = s; - else - retval = s.substr (0, pos); - if (strip_path) - { - size_t p1 = retval.rfind ('/'), p2 = retval.rfind ('\\'); - pos = (p1 != string::npos && p2 != string::npos - ? max (p1, p2) : (p2 != string::npos ? p2 : p1)); - if (pos != string::npos) - retval = retval.substr (0, pos); - } - return retval; -} - -inline bool -starts_with (const string& s, const string& prefix) -{ - return (s.length () >= prefix.length () && s.find (prefix) == 0); -} - -inline bool -ends_with (const string& s, const string& suffix) -{ - return (s.length () >= suffix.length () - && s.rfind (suffix) == s.length () - suffix.length ()); -} - -static int -run_command (const string& cmd) -{ - if (debug) - cout << cmd << endl; - return system (cmd.c_str ()); -} - -int -main (int argc, char **argv) -{ - initialize (); - - string file, output_option; - list cfiles, ccfiles, f77files; - int result = 0; - - string objfiles = ""; - string libfiles = ""; - string octfile = ""; - string outputfile = ""; - string incflags = ""; - string defs = ""; - string ldflags = ""; - string pass_on_options = ""; - bool strip = false; - bool no_oct_file_strip_on_this_platform = %NO_OCT_FILE_STRIP%; - bool link = true; - bool link_stand_alone = false; - string output_ext = ".oct"; - bool depend = false; - bool compile = true; - - if (argc == 1) - { - cout << usage_msg << endl; - return 1; - } - - if (argc == 2 && (!strcmp (argv[1], "-v") - || !strcmp (argv[1], "-version") - || !strcmp (argv[1], "--version"))) - { - cout << version_msg << endl; - return 0; - } - - for (int i = 1; i < argc; i++) - { - string arg = argv[i]; - size_t len = arg.length (); - - if (ends_with (arg, ".c")) - { - file = arg; - cfiles.push_back (file); - } - else if (ends_with (arg, ".cc") || ends_with (arg, ".C") - || ends_with (arg, ".cpp")) - { - file = arg; - ccfiles.push_back (file); - } - else if (ends_with (arg, ".f") || ends_with (arg, ".F") - || ends_with (arg, "f90") || ends_with (arg, ".F90")) - { - file = arg; - f77files.push_back (file); - } - else if (ends_with (arg, ".o") || ends_with (arg, ".obj")) - { - file = arg; - objfiles += (" " + quote_path (arg)); - } - else if (ends_with (arg, ".lib") || ends_with (arg, ".a")) - { - file = arg; - libfiles += (" " + quote_path (arg)); - } - else if (arg == "-d" || arg == "-debug" || arg == "--debug" - || arg == "-v" || arg == "-verbose" || arg == "--verbose") - { - debug = true; - if (vars["CC"] == "cc-msvc") - vars["CC"] += " -d"; - if (vars["CXX"] == "cc-msvc") - vars["CXX"] += " -d"; - if (vars["DL_LD"] == "cc-msvc") - vars["DL_LD"] += " -d"; - } - else if (arg == "-h" || arg == "-?" || arg == "-help" || arg == "--help") - { - cout << usage_msg << endl; - cout << help_msg << endl; - return 0; - } - else if (starts_with (arg, "-I")) - { - incflags += (" " + quote_path (arg)); - } - else if (arg == "-idirafter") - { - if (i < argc-1) - { - arg = argv[++i]; - incflags += (" -idirafter " + arg); - } - else - cerr << "mkoctfile: include directory name missing" << endl; - } - else if (starts_with (arg, "-D")) - { - defs += (" " + arg); - } - else if (starts_with (arg, "-Wl,") || starts_with (arg, "-l") - || starts_with (arg, "-L") || starts_with (arg, "-R")) - { - ldflags += (" " + arg); - } - else if (arg == "-M" || arg == "-depend" || arg == "--depend") - { - depend = true; - compile = false; - } - else if (arg == "-o" || arg == "-output" || arg == "--output") - { - if (i < argc-1) - { - arg = argv[++i]; - outputfile = arg; - } - else - cerr << "mkoctfile: output file name missing" << endl; - } - else if (arg == "-p" || arg == "-print" || arg == "--print") - { - if (i < argc-1) - { - arg = argv[++i]; - cout << vars[arg] << endl; - return 0; - } - else - cerr << "mkoctfile: --print requires argument" << endl; - } - else if (arg == "-s" || arg == "-strip" || arg == "--strip") - { - if (no_oct_file_strip_on_this_platform) - cerr << "mkoctfile: stripping disabled on this platform" << endl; - else - strip = true; - } - else if (arg == "-c" || arg == "-compile" || arg == "--compile") - { - link = false; - } - else if (arg == "-g") - { - vars["ALL_CFLAGS"] += " -g"; - vars["ALL_CXXFLAGS"] += " -g"; - vars["ALL_FFLAGS"] += " -g"; - } - else if (arg == "-link-stand-alone" || arg == "--link-stand-alone") - { - link_stand_alone = true; - } - else if (arg == "-mex" || arg == "--mex") - { - incflags += " -I."; -#ifdef _MSC_VER - ldflags += " -Wl,-export:mexFunction"; -#endif - output_ext = ".mex"; - } - else if (starts_with (arg, "-W")) - { - pass_on_options += (" " + arg); - } - else - { - cerr << "mkoctfile: unrecognized argument " << arg; - return 1; - } - - if (!file.empty () && octfile.empty ()) - octfile = file; - } - - if (link_stand_alone) - { - if (!outputfile.empty ()) - output_option = "-o " + outputfile; - } - else - { - if (!outputfile.empty ()) - { - octfile = outputfile; - size_t len = octfile.length (); - size_t len_ext = output_ext.length (); - if (octfile.substr (len-len_ext) != output_ext) - octfile += output_ext; - } - else - octfile = basename (octfile, true) + output_ext; - } - - list::const_iterator it; - - if (depend) - { - for (it = cfiles.begin (); it != cfiles.end (); ++it) - { - string f = *it, dfile = basename (f, true) + ".d", line; - - unlink (dfile.c_str ()); - string cmd = vars["CC"] + " " + vars["DEPEND_FLAGS"] + " " - + vars["CPPFLAGS"] + " " + vars["ALL_CFLAGS"] + " " - + incflags + " " + defs + " " + quote_path (f); - - FILE *fd = popen (cmd.c_str (), "r"); - ofstream fo (dfile.c_str ()); - int pos; - while (!feof (fd)) - { - line = get_line (fd); - if ((pos = line.rfind (".o:")) != string::npos) - { - int spos = line.rfind ('/', pos); - string ofile = (spos == string::npos ? line.substr (0, pos+2) : line.substr (spos+1, pos-spos+1)); - fo << "pic/" << ofile << " " << ofile << " " << dfile << line.substr (pos) << endl; - } - else - fo << line << endl; - } - pclose (fd); - fo.close (); - } - - for (it = ccfiles.begin (); it != ccfiles.end (); ++it) - { - string f = *it, dfile = basename (f, true) + ".d", line; - - unlink (dfile.c_str ()); - string cmd = vars["CC"] + " " + vars["DEPEND_FLAGS"] + " " - + vars["CPPFLAGS"] + " " + vars["ALL_CXXFLAGS"] + " " - + incflags + " " + defs + " " + quote_path (f); - - FILE *fd = popen (cmd.c_str (), "r"); - ofstream fo (dfile.c_str ()); - int pos; - while (!feof (fd)) - { - line = get_line (fd); - if ((pos = line.rfind (".o:")) != string::npos) - { - int spos = line.rfind ('/', pos); - string ofile = (spos == string::npos ? line.substr (0, pos+2) : line.substr (spos+1, pos-spos+1)); - fo << "pic/" << ofile << " " << ofile << " " << dfile << line.substr (pos+2) << endl; - } - else - fo << line << endl; - } - pclose (fd); - fo.close (); - } - - return 0; - } - - for (it = f77files.begin (); it != f77files.end (); ++it) - { - string f = *it, b = basename (f, true); - if (!vars["F77"].empty ()) - { - string o; - if (!outputfile.empty ()) - { - if (link) - o = b + ".o"; - else - o = outputfile; - } - else - o = b + ".o"; - objfiles += (" " + o); - string cmd = vars["F77"] + " -c " + vars["FPICFLAG"] + " " - + vars["ALL_FFLAGS"] + " " + incflags + " " + defs + " " - + pass_on_options + " " + f + " -o " + o; - result = run_command (cmd); - } - else - { - cerr << "mkoctfile: no way to compile Fortran file " << f << endl; - return 1; - } - } - - for (it = cfiles.begin (); it != cfiles.end (); ++it) - { - string f = *it; - if (!vars["CC"].empty ()) - { - string b = basename (f, true), o; - if (!outputfile.empty ()) - { - if (link) - o = b + ".o"; - else - o = outputfile; - } - else - o = b + ".o"; - objfiles += (" " + o); - string cmd = vars["CC"] + " -c " + vars["CPPFLAGS"] + " " - + vars["CPICFLAG"] + " " + vars["ALL_CFLAGS"] + " " - + pass_on_options + " " + incflags + " " + defs + " " - + quote_path (f) + " -o " + quote_path (o); - result = run_command (cmd); - } - else - { - cerr << "mkoctfile: no way to compile C file " << f << endl; - return 1; - } - } - - for (it = ccfiles.begin (); it != ccfiles.end (); ++it) - { - string f = *it; - if (!vars["CXX"].empty ()) - { - string b = basename (f, true), o; - if (!outputfile.empty ()) - { - if (link) - o = b + ".o"; - else - o = outputfile; - } - else - o = b + ".o"; - objfiles += (" " + o); - string cmd = vars["CXX"] + " -c " + vars["CPPFLAGS"] + " " - + vars["CXXPICFLAG"] + " " + vars["ALL_CXXFLAGS"] + " " - + pass_on_options + " " + incflags + " " + defs + " " - + quote_path (f) + " -o " + quote_path (o); - result = run_command (cmd); - } - else - { - cerr << "mkoctfile: no way to compile C++ file " << f << endl; - return 1; - } - } - - if (link && !objfiles.empty ()) - { - if (link_stand_alone) - { - if (!vars["LD_CXX"].empty ()) - { - string cmd = vars["LD_CXX"] + " " + vars["CPPFLAGS"] + " " - + vars["ALL_CXXFLAGS"] + " " + vars["RDYNAMIC_FLAG"] - + " " + vars["ALL_LDFLAGS"] + " " + pass_on_options - + " " + output_option + " " + objfiles + " " + libfiles - + " " + ldflags + " " + vars["LFLAGS"] + " " - + vars["RLD_FLAG"] + " " + vars["OCTAVE_LIBS"] + " " - + vars["LAPACK_LIBS"] + " " + vars["BLAS_LIBS"] + " " - + vars["FFTW_LIBS"] + " " + vars["READLINE_LIBS"] + " " - + vars["LIBS"] + " " + vars["FLIBS"]; - result = run_command (cmd); - } - else - { - cerr << "mkoctfile: no way to link stand-alone executable file" - << endl; - return 1; - } - } - else - { - string LINK_DEPS = vars["LFLAGS"] + " " + vars["OCTAVE_LIBS"] - + " " + vars["LDFLAGS"] + " " + vars["BLAS_LIBS"] + " " - + vars["FFTW_LIBS"] + " " + vars["LIBS"] + " " + vars["FLIBS"]; - string cmd = vars["DL_LD"] + " " + vars["DL_LDFLAGS"] + " " - + pass_on_options + " -o " + octfile + " " + objfiles + " " - + libfiles + " " + ldflags + " " + LINK_DEPS; - result = run_command (cmd); - } - - if (strip) - { - string cmd = "strip " + octfile; - result = run_command (cmd); - } - } - - return result; -} diff -r 10f6727fbaa8 -r b67c2d580a25 mkoctfile.in --- a/mkoctfile.in Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,555 +0,0 @@ -#! /bin/sh -## -## mkoctfile -- create a .oct file suitable for dynamic linking by -## Octave. -## -## Copyright (C) 1996-2011 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 -## . - -# Exit immediately on any error. - -set -e - -: ${SED=%OCTAVE_CONF_SED%} - -OCTAVE_VERSION=%OCTAVE_CONF_VERSION% -OCTAVE_PREFIX=%OCTAVE_CONF_PREFIX% - -DEFAULT_BINDIR=%OCTAVE_BINDIR% -DEFAULT_INCLUDEDIR=%OCTAVE_CONF_INCLUDEDIR% -DEFAULT_LIBDIR=%OCTAVE_CONF_LIBDIR% -DEFAULT_OCTINCLUDEDIR=%OCTAVE_CONF_OCTINCLUDEDIR% -DEFAULT_OCTLIBDIR=%OCTAVE_CONF_OCTLIBDIR% - -if [ -n "$OCTAVE_HOME" ]; then - DEFAULT_BINDIR="`echo $DEFAULT_BINDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" - DEFAULT_INCLUDEDIR="`echo $DEFAULT_INCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" - DEFAULT_LIBDIR="`echo $DEFAULT_LIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" - DEFAULT_OCTINCLUDEDIR="`echo $DEFAULT_OCTINCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" - DEFAULT_OCTLIBDIR="`echo $DEFAULT_OCTLIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" -fi - -: ${BINDIR=$DEFAULT_BINDIR} -: ${INCLUDEDIR=$DEFAULT_INCLUDEDIR} -: ${LIBDIR=$DEFAULT_LIBDIR} -: ${OCTINCLUDEDIR=$DEFAULT_OCTINCLUDEDIR} -: ${OCTLIBDIR=$DEFAULT_OCTLIBDIR} - -DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR" -if [ "$INCLUDEDIR" != /usr/include ]; then - DEFAULT_INCFLAGS="$DEFAULT_INCFLAGS -I$INCLUDEDIR" -fi - -DEFAULT_LFLAGS="-L$OCTLIBDIR" -if [ "$LIBDIR" != /usr/lib ]; then - DEFAULT_LFLAGS="$DEFAULT_LFLAGS -L$LIBDIR" -fi - -# Default values for these variables are filled in when Octave is -# compiled. - -: ${EXEEXT=%OCTAVE_CONF_EXEEXT%} - -: ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%} -: ${INCFLAGS=$DEFAULT_INCFLAGS} -: ${F77=%OCTAVE_CONF_F77%} -: ${FFLAGS=%OCTAVE_CONF_FFLAGS%} -: ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%} -: ${CC=%OCTAVE_CONF_CC%} -: ${CFLAGS=%OCTAVE_CONF_CFLAGS%} -: ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%} -: ${CXX=%OCTAVE_CONF_CXX%} -: ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%} -: ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%} -: ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%} -: ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%} - -: ${DEPEND_FLAGS=%OCTAVE_CONF_DEPEND_FLAGS%} -: ${DEPEND_EXTRA_SED_PATTERN=%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%} - -: ${DL_LD=%OCTAVE_CONF_DL_LD%} -: ${DL_LDFLAGS=%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%} - -: ${RLD_FLAG=%OCTAVE_CONF_RLD_FLAG%} -: ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%} -: ${LIBOCTAVE=-loctave} -: ${LIBOCTINTERP=-loctinterp} -: ${READLINE_LIBS=-lreadline} -: ${LIBCRUFT=-lcruft} -: ${LAPACK_LIBS=%OCTAVE_CONF_LAPACK_LIBS%} -: ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%} -: ${FFTW3_LDFLAGS=%OCTAVE_CONF_FFTW3_LDFLAGS%} -: ${FFTW3_LIBS=%OCTAVE_CONF_FFTW3_LIBS%} -: ${FFTW3F_LDFLAGS=%OCTAVE_CONF_FFTW3F_LDFLAGS%} -: ${FFTW3F_LIBS=%OCTAVE_CONF_FFTW3F_LIBS%} -: ${LIBS=%OCTAVE_CONF_LIBS%} -: ${FLIBS=%OCTAVE_CONF_FLIBS%} -: ${LD_CXX=%OCTAVE_CONF_LD_CXX%} -: ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%} -: ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%} -: ${LFLAGS=$DEFAULT_LFLAGS} -: ${F77_INTEGER_8_FLAG=%OCTAVE_CONF_F77_INTEGER_8_FLAG%} - -: ${ALL_FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"} - -: ${ALL_CFLAGS="$INCFLAGS $XTRA_CFLAGS $CFLAGS"} - -: ${ALL_CXXFLAGS="$INCFLAGS $XTRA_CXXFLAGS $CXXFLAGS"} - -: ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"} - -: ${OCTAVE_LIBS="$LIBOCTINTERP $LIBOCTAVE $SPECIAL_MATH_LIB $LIBCRUFT"} - -# Local variables. - -FFTW_LIBS="$FFTW3_LDFLAGS $FFTW3_LIBS $FFTW3F_LDFLAGS $FFTW3F_LIBS" - -usage_msg="usage: mkoctfile [options] file ..." - -version_msg="mkoctfile, version $OCTAVE_VERSION" - -cfiles= -ccfiles= -f77files= -objfiles= -libfiles= -octfiles= -octfile= -outputfile= -incflags= -defs= -ldflags= -dbg=: -pass_on_options= -strip=false -no_oct_file_strip_on_this_platform=%NO_OCT_FILE_STRIP% -link=true -link_stand_alone=false -output_ext=".oct" -depend=false -compile=true - -if [ $# -eq 0 ]; then - echo $usage_msg 1>&2 - exit 1 -fi - -if [ $# -eq 1 ]; then - case "$1" in - -v | -version | --version) - echo $version_msg 1>&2 - exit 0 - ;; - esac -fi - -while [ $# -gt 0 ]; do - file= - case "$1" in - *.c) - file=$1 - cfiles="$cfiles $file" - ;; - *.cc | *.C | *.cpp) - file=$1 - ccfiles="$ccfiles $file" - ;; - *.f | *.F | *.f90 | *.F90) - file=$1 - f77files="$f77files $file" - ;; - *.o) - file=$1 - objfiles="$objfiles $file" - ;; - *.a) - file=$1 - libfiles="$libfiles $file" - ;; - -d | -debug | --debug | -v | -verbose | --verbose) - dbg=echo - ;; - -h | -\? | -help | --help) - echo $usage_msg 1>&2 - cat << EOF - -Options: - - -h, -?, --help Print this message. - - -IDIR Add -IDIR to compile commands. - - -idirafter DIR Add -idirafter DIR to compile commands. - - -DDEF Add -DDEF to compile commands. - - -lLIB Add -lLIB to link command. - - -LDIR Add -LDIR to link command. - - -RDIR Add -RDIR to link command. - - -g Enable debugging option for all compilers. - - -pthread Add -pthread to link command. - - -W... Pass flags to the compiler such as -Wa,OPTION. - - -Wl,... Pass flags to the linker such as -Wl,-rpath=... - - -M, --depend Generate dependency files (.d) for C and C++ - source files. - - -c, --compile Compile, but do not link. - - --link-stand-alone Link a stand-alone executable file. - - -s, --strip Strip output file. - - --mex Create a MEX file. - Set the default output extension to ".mex". - - -o FILE, --output FILE Output file name. Default extension is .oct - (or .mex if --mex is specified) unless linking - a stand-alone executable. - - -p VAR, --print VAR Print configuration variable VAR. Recognized - variables are: - - ALL_CFLAGS FFTW3F_LDFLAGS - ALL_CXXFLAGS FFTW3F_LIBS - ALL_FFLAGS FLIBS - ALL_LDFLAGS FPICFLAG - BLAS_LIBS INCFLAGS - CC LAPACK_LIBS - CFLAGS LDFLAGS - CPICFLAG LD_CXX - CPPFLAGS LD_STATIC_FLAG - CXX LFLAGS - CXXFLAGS LIBCRUFT - CXXPICFLAG LIBOCTAVE - DEPEND_EXTRA_SED_PATTERN LIBOCTINTERP - DEPEND_FLAGS LIBS - DL_LD OCTAVE_LIBS - DL_LDFLAGS RDYNAMIC_FLAG - EXEEXT READLINE_LIBS - F77 RLD_FLAG - F77_INTEGER_8_FLAG SED - FFLAGS XTRA_CFLAGS - FFTW3_LDFLAGS XTRA_CXXFLAGS - FFTW3_LIBS - - -v, --verbose Echo commands as they are executed. - - FILE Compile or link FILE. Recognized file types are: - - .c C source - .cc C++ source - .C C++ source - .cpp C++ source - .f Fortran source (fixed form) - .F Fortran source (fixed form) - .f90 Fortran source (free form) - .F90 Fortran source (free form) - .o object file - .a library file - -EOF - exit 0 - ;; - -I*) - incflags="$incflags $1" - ;; - -idirafter) - shift - if [ $# -gt 0 ]; then - incflags="$incflags -idirafter $1" - else - echo "mkoctfile: include directory name missing" 1>&2 - fi - ;; - -D*) - defs="$defs $1" - ;; - -[lLR]* | -Wl,*) - ldflags="$ldflags $1" - ;; - -pthread) - ldflags="$ldflags $1" - ;; - -M | -depend | --depend) - depend=true - compile=false - ;; - -o | -ouput | --output) - shift - if [ $# -gt 0 ]; then - outputfile="$1" - else - echo "mkoctfile: output file name missing" 1>&2 - fi - ;; - -p | -print | --print) - shift - if [ $# -gt 0 ]; then - eval echo \${$1} - exit 0 - else - echo "mkoctfile: --print requires argument" 1>&2 - exit 1 - fi - ;; - -s | -strip | --strip) - if $no_oct_file_strip_on_this_platform; then - echo "mkoctfile: stripping disabled on this platform" 1>&2 - else - strip=true - fi - ;; - -c | -compile | --compile) - link=false - ;; - -g) - ALL_CFLAGS="$ALL_CFLAGS -g" - ALL_CXXFLAGS="$ALL_CXXFLAGS -g" - ALL_FFLAGS="$ALL_FFLAGS -g" - ;; - -link-stand-alone | --link-stand-alone) - link_stand_alone=true - ;; - -mex | --mex) - incflags="$incflags -I." - output_ext=".mex" - ;; - -W,*) - pass_on_options="$pass_on_options ${1:3}" - ;; - *) - echo "mkoctfile: unrecognized argument $1" 1>&2 - exit 1 - ;; - esac - if [ -n "$file" ]; then - if [ -z "$octfile" ]; then - octfile="$file" - fi - fi - shift -done - -if $link_stand_alone; then - if [ -n "$outputfile" ]; then - output_option="-o $outputfile" - fi -else - if [ -n "$outputfile" ]; then - octfile="$outputfile" - case "$octfile" in - *$output_ext) - ;; - *) - octfile="$octfile$output_ext" - ;; - esac - else - octfile=`basename $octfile` - octfile=`echo $octfile | $SED 's,\.[^.]*$,,'`$output_ext - fi -fi - -# Generate dependency files for C and C++ files. - -if $depend; then - if [ -n "$cfiles" ]; then - for f in $cfiles; do - b=`echo $f | $SED 's,\.c$,,'` - d=$b.d - cmd="rm -f $d" - $dbg $cmd - eval $cmd - cmd="$CC $DEPEND_FLAGS $CPPFLAGS $ALL_CFLAGS $incflags $def $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d" - $dbg $cmd - eval $cmd - done - fi - - if [ -n "$ccfiles" ]; then - for f in $ccfiles; do - case $f in - *.cc) - b=`echo $f | $SED 's,\.cc$,,'` - ;; - *.C) - b=`echo $f | $SED 's,\.C$,,'` - ;; - *.cpp) - b=`echo $f | $SED 's,\.cpp$,,'` - ;; - esac - d=$b.d - cmd="rm -f $d" - $dbg $cmd - eval $cmd - cmd="$CXX $DEPEND_FLAGS $CPPFLAGS $ALL_CXXFLAGS $incflags $defs $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d" - $dbg $cmd - eval $cmd - done - fi - # If generating dependencies, that's all we do. - exit 0 -fi - -# Compile Fortran, C, and C++ files. Add the name of each object file -# that is produced to the overall list of object files. - -if [ -n "$f77files" ]; then - for f in $f77files; do - case $f in - *.f) - b=`echo $f | $SED 's,.*/,,; s,\.f$,,'` - ;; - *.F) - b=`echo $f | $SED 's,.*/,,; s,\.F$,,'` - ;; - *.f90) - b=`echo $f | $SED 's,.*/,,; s,\.f90$,,'` - ;; - *.F90) - b=`echo $f | $SED 's,.*/,,; s,\.F90$,,'` - ;; - esac - if [ -n "$F77" ]; then - if [ -n "$outputfile" ]; then - if $link; then - o=$b.o - else - o=$outputfile - fi - else - o=$b.o - fi - objfiles="$objfiles $o" - cmd="$F77 -c $FPICFLAG $ALL_FFLAGS $incflags $defs $pass_on_options $f -o $o" - $dbg $cmd - eval $cmd - else - echo "mkoctfile: no way to compile Fortran file $f" 1>&2 - fi - done -fi - -if [ -n "$cfiles" ]; then - for f in $cfiles; do - if [ -n "$CC" ]; then - b=`echo $f | $SED 's,.*/,,; s,\.c$,,'` - if [ -n "$outputfile" ]; then - if $link; then - o=$b.o - else - o=$outputfile - fi - else - o=$b.o - fi - objfiles="$objfiles $o" - cmd="$CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $pass_on_options $incflags $defs $f -o $o" - $dbg $cmd - eval $cmd - else - echo "mkoctfile: no way to compile C++ file $f" 1>&2 - fi - done -fi - -if [ -n "$ccfiles" ]; then - for f in $ccfiles; do - if [ -n "$CXX" ]; then - case $f in - *.cc) - b=`echo $f | $SED 's,.*/,,; s,\.cc$,,'` - ;; - *.C) - b=`echo $f | $SED 's,.*/,,; s,\.C$,,'` - ;; - *.cpp) - b=`echo $f | $SED 's,.*/,,; s,\.cpp$,,'` - ;; - esac - if [ -n "$outputfile" ]; then - if $link; then - o=$b.o - else - o=$outputfile - fi - else - o=$b.o - fi - objfiles="$objfiles $o" - cmd="$CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $pass_on_options $incflags $defs $f -o $o" - $dbg $cmd - eval $cmd - else - echo "mkoctfile: no way to compile C++ file $f" 1>&2 - fi - done -fi - -## Uncomment the following group of lines if you get `Text file busy' -## errors from ld. This may happen if the .oct file is currently -## running while you are trying to recompile it. We try moving first, -## since on some systems (HP-UX, maybe others) it is possible to -## rename running programs but not remove them. - -## if [ -f "$octfile" ]; then -## cmd="mv $octfile $octfile.bak" -## $dbg $cmd -## eval $cmd -## cmd="rm -f $octfile.bak" -## $dbg $cmd -## eval $cmd -## fi - -# Link all the object files. - -if $link && [ -n "$objfiles" ]; then - if $link_stand_alone; then - if [ -n "$LD_CXX" ]; then - cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS $pass_on_options $output_option $objfiles $libfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $LAPACK_LIBS $BLAS_LIBS $FFTW_LIBS $READLINE_LIBS $LIBS $FLIBS" - $dbg $cmd - eval $cmd - else - echo "mkoctfile: no way to link stand-alone executable file" 1>&2 - exit 1 - fi - else - LINK_DEPS="$LFLAGS $OCTAVE_LIBS $LDFLAGS $LAPACK_LIBS $BLAS_LIBS $FFTW_LIBS $LIBS $FLIBS" - cmd="$DL_LD $DL_LDFLAGS $pass_on_options -o $octfile $objfiles $libfiles $ldflags $LINK_DEPS" - $dbg $cmd - eval $cmd - fi - -# Maybe strip it. - - if $strip; then - cmd="strip $octfile" - $dbg $cmd - eval $cmd - fi -fi - -exit 0 diff -r 10f6727fbaa8 -r b67c2d580a25 move-if-change --- a/move-if-change Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -#!/bin/sh -# -# Like mv $1 $2, but if the files are the same, just delete $1. -# Status is 0 if $2 is changed, 1 otherwise. - -if test -r $2; then - if cmp $1 $2 > /dev/null; then - echo $2 is unchanged - rm -f $1 - else - mv -f $1 $2 - fi -else - mv -f $1 $2 -fi diff -r 10f6727fbaa8 -r b67c2d580a25 octave-config.cc.in --- a/octave-config.cc.in Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,224 +0,0 @@ -/* - -Copyright (C) 2008-2011 Michael Goffioul - -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 -. - -*/ - -#if defined (HAVE_CONFIG_H) -#include -#endif - -#include -#include -#include -#include -#include - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) -#include -#endif - -static bool initialized = false; -static std::map vars; -static std::string OCTAVE_HOME, PREFIX; -static std::string usage_msg = "usage: octave-config [options]"; -static std::string help_msg = -"\n" -"Options:\n" -"\n" -" -h, -?, --help Print this message.\n" -"\n" -" --m-site-dir Print the name of the directory where Octave\n" -" expects to find locally installed .m files.\n" -"\n" -" --oct-site-dir Print the name of the directory where Octave\n" -" expects to find locally installed .oct files.\n" -"\n" -" -p VAR, --print VAR Print the value of the given configuration\n" -" variable VAR. Recognized variables are:\n" -"\n" -" API_VERSION LOCALAPIARCHLIBDIR\n" -" CANONICAL_HOST_TYPE LOCALAPIFCNFILEDIR\n" -" DEFAULT_PAGER LOCALAPIOCTFILEDIR\n" -" ARCHLIBDIR LOCALARCHLIBDIR\n" -" BINDIR LOCALFCNFILEDIR\n" -" DATADIR LOCALOCTFILEDIR\n" -" DATAROOTDIR LOCALSTARTUPFILEDIR\n" -" EXEC_PREFIX LOCALVERARCHLIBDIR\n" -" FCNFILEDIR LOCALVERFCNFILEDIR\n" -" LOCALVEROCTFILEDIR MAN1DIR\n" -" IMAGEDIR MANDIR\n" -" MAN1EXT OCTFILEDIR\n" -" INCLUDEDIR OCTINCLUDEDIR\n" -" INFODIR OCTLIBDIR\n" -" INFOFILE PREFIX\n" -" LIBDIR STARTUPFILEDIR\n" -" LIBEXECDIR VERSION\n" -"\n" -" -v, --version Print the Octave version number.\n" -"\n"; - -static std::string -substitute_prefix (const std::string& s, const std::string& prefix, - const std::string new_prefix) -{ - std::string retval = s; - - if (!prefix.empty () && new_prefix != prefix) - { - int len = prefix.length (); - if (retval.find (prefix) == 0) - retval.replace (0, len, new_prefix); - } - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) - std::replace (retval.begin (), retval.end (), '/', '\\'); -#endif - - return retval; -} - -static void -initialize (void) -{ - if (initialized) - return; - - initialized = true; - - const char *homestr = getenv ("OCTAVE_HOME"); - OCTAVE_HOME = (homestr ? homestr : ""); - PREFIX = %OCTAVE_PREFIX%; - -#if defined (__WIN32__) && ! defined (_POSIX_VERSION) - int n = 1024; - - std::string bin_dir (n, '\0'); - - while (true) - { - int status = GetModuleFileName (0, &bin_dir[0], n); - - if (status < n) - { - bin_dir.resize (status); - break; - } - else - { - n *= 2; - bin_dir.resize (n); - } - } - - if (! bin_dir.empty ()) - { - size_t pos = bin_dir.rfind ("\\bin\\"); - - if (pos != std::string::npos) - OCTAVE_HOME = bin_dir.substr (0, pos); - } -#endif - - vars["API_VERSION"] = %OCTAVE_API_VERSION%; - vars["CANONICAL_HOST_TYPE"] = %OCTAVE_CANONICAL_HOST_TYPE%; - vars["DEFAULT_PAGER"] = %OCTAVE_DEFAULT_PAGER%; - vars["ARCHLIBDIR"] = substitute_prefix (%OCTAVE_ARCHLIBDIR%, PREFIX, OCTAVE_HOME); - vars["BINDIR"] = substitute_prefix (%OCTAVE_BINDIR%, PREFIX, OCTAVE_HOME); - vars["DATADIR"] =substitute_prefix (%OCTAVE_DATADIR%, PREFIX, OCTAVE_HOME); - vars["DATAROOTDIR"] =substitute_prefix (%OCTAVE_DATAROOTDIR%, PREFIX, OCTAVE_HOME); - vars["EXEC_PREFIX"] =substitute_prefix (%OCTAVE_EXEC_PREFIX%, PREFIX, OCTAVE_HOME); - vars["FCNFILEDIR"] =substitute_prefix (%OCTAVE_FCNFILEDIR%, PREFIX, OCTAVE_HOME); - vars["IMAGEDIR"] =substitute_prefix (%OCTAVE_IMAGEDIR%, PREFIX, OCTAVE_HOME); - vars["INCLUDEDIR"] =substitute_prefix (%OCTAVE_INCLUDEDIR%, PREFIX, OCTAVE_HOME); - vars["INFODIR"] =substitute_prefix (%OCTAVE_INFODIR%, PREFIX, OCTAVE_HOME); - vars["INFOFILE"] =substitute_prefix (%OCTAVE_INFOFILE%, PREFIX, OCTAVE_HOME); - vars["LIBDIR"] =substitute_prefix (%OCTAVE_LIBDIR%, PREFIX, OCTAVE_HOME); - vars["LIBEXECDIR"] =substitute_prefix (%OCTAVE_LIBEXECDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALAPIARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALAPIARCHLIBDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALAPIFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIFCNFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALAPIOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIOCTFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALARCHLIBDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALFCNFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALOCTFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALSTARTUPFILEDIR"] =substitute_prefix (%OCTAVE_LOCALSTARTUPFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALVERARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALVERARCHLIBDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALVERFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVERFCNFILEDIR%, PREFIX, OCTAVE_HOME); - vars["LOCALVEROCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVEROCTFILEDIR%, PREFIX, OCTAVE_HOME); - vars["MAN1DIR"] =substitute_prefix (%OCTAVE_MAN1DIR%, PREFIX, OCTAVE_HOME); - vars["MAN1EXT"] = %OCTAVE_MAN1EXT%; - vars["MANDIR"] =substitute_prefix (%OCTAVE_MANDIR%, PREFIX, OCTAVE_HOME); - vars["OCTFILEDIR"] =substitute_prefix (%OCTAVE_OCTFILEDIR%, PREFIX, OCTAVE_HOME); - vars["OCTINCLUDEDIR"] =substitute_prefix (%OCTAVE_OCTINCLUDEDIR%, PREFIX, OCTAVE_HOME); - vars["OCTLIBDIR"] =substitute_prefix (%OCTAVE_OCTLIBDIR%, PREFIX, OCTAVE_HOME); - vars["PREFIX"] = (OCTAVE_HOME.empty() ? PREFIX : OCTAVE_HOME); - vars["STARTUPFILEDIR"] =substitute_prefix (%OCTAVE_STARTUPFILEDIR%, PREFIX, OCTAVE_HOME); - vars["VERSION"] = %OCTAVE_VERSION%; -} - -int -main (int argc, char **argv) -{ - initialize (); - - if (argc == 1) - { - std::cout << usage_msg << std::endl; - return 1; - } - - for (int i = 1; i < argc; i++) - { - std::string arg (argv[i]); - - if (arg == "-h" || arg == "-?" || arg == "--help") - { - std::cout << usage_msg << std::endl; - std::cout << help_msg; - return 0; - } - else if (arg == "--m-site-dir") - std::cout << vars["LOCALVERFCNFILEDIR"] << std::endl; - else if (arg == "--oct-site-dir") - std::cout << vars["LOCALVEROCTFILEDIR"] << std::endl; - else if (arg == "-v" || arg == "--version") - std::cout << vars["VERSION"] << std::endl; - else if (arg == "-p" || arg == "--print") - { - if (i < argc-1) - { - arg = argv[++i]; - std::cout << vars[arg] << std::endl; - } - else - { - std::cerr << "octave-config: " << arg - << " options requires argument" << std::endl; - return 1; - } - } - else - { - std::cerr << "octave-config: unrecognized argument " << arg << std::endl; - return 1; - } - } - - return 0; -} diff -r 10f6727fbaa8 -r b67c2d580a25 octave-config.in --- a/octave-config.in Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,168 +0,0 @@ -#! /bin/sh - -## -## octave-config - reports some configuration values for Octave -## -## Copyright (C) 2001-2011 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 -## . -## -## Original version by Rafael Laboissiere -## distributed as free software in the public domain. - -API_VERSION=%OCTAVE_API_VERSION% -CANONICAL_HOST_TYPE=%OCTAVE_CANONICAL_HOST_TYPE% -DEFAULT_PAGER=%OCTAVE_DEFAULT_PAGER% -ARCHLIBDIR=%OCTAVE_ARCHLIBDIR% -BINDIR=%OCTAVE_BINDIR% -DATADIR=%OCTAVE_DATADIR% -DATAROOTDIR=%OCTAVE_DATAROOTDIR% -EXEC_PREFIX=%OCTAVE_EXEC_PREFIX% -FCNFILEDIR=%OCTAVE_FCNFILEDIR% -IMAGEDIR=%OCTAVE_IMAGEDIR% -INCLUDEDIR=%OCTAVE_INCLUDEDIR% -INFODIR=%OCTAVE_INFODIR% -INFOFILE=%OCTAVE_INFOFILE% -LIBDIR=%OCTAVE_LIBDIR% -LIBEXECDIR=%OCTAVE_LIBEXECDIR% -LOCALAPIARCHLIBDIR=%OCTAVE_LOCALAPIARCHLIBDIR% -LOCALAPIFCNFILEDIR=%OCTAVE_LOCALAPIFCNFILEDIR% -LOCALAPIOCTFILEDIR=%OCTAVE_LOCALAPIOCTFILEDIR% -LOCALARCHLIBDIR=%OCTAVE_LOCALARCHLIBDIR% -LOCALFCNFILEDIR=%OCTAVE_LOCALFCNFILEDIR% -LOCALOCTFILEDIR=%OCTAVE_LOCALOCTFILEDIR% -LOCALSTARTUPFILEDIR=%OCTAVE_LOCALSTARTUPFILEDIR% -LOCALVERARCHLIBDIR=%OCTAVE_LOCALVERARCHLIBDIR% -LOCALVERFCNFILEDIR=%OCTAVE_LOCALVERFCNFILEDIR% -LOCALVEROCTFILEDIR=%OCTAVE_LOCALVEROCTFILEDIR% -MAN1DIR=%OCTAVE_MAN1DIR% -MAN1EXT=%OCTAVE_MAN1EXT% -MANDIR=%OCTAVE_MANDIR% -OCTFILEDIR=%OCTAVE_OCTFILEDIR% -OCTINCLUDEDIR=%OCTAVE_OCTINCLUDEDIR% -OCTLIBDIR=%OCTAVE_OCTLIBDIR% -PREFIX=%OCTAVE_PREFIX% -STARTUPFILEDIR=%OCTAVE_STARTUPFILEDIR% -VERSION=%OCTAVE_VERSION% - -if [ -n "$OCTAVE_HOME" ]; then - ARCHLIBDIR="`echo $ARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - BINDIR="`echo $BINDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - DATADIR="`echo $DATADIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - DATAROOTDIR="`echo $DATAROOTDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - EXEC_PREFIX="`echo $EXEC_PREFIX | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - FCNFILEDIR="`echo $FCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - IMAGEDIR="`echo $IMAGEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - INCLUDEDIR="`echo $INCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - INFODIR="`echo $INFODIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - INFOFILE="`echo $INFOFILE | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LIBDIR="`echo $LIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LIBEXECDIR="`echo $LIBEXECDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALAPIARCHLIBDIR="`echo $LOCALAPIARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALAPIFCNFILEDIR="`echo $LOCALAPIFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALAPIOCTFILEDIR="`echo $LOCALAPIOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALARCHLIBDIR="`echo $LOCALARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALFCNFILEDIR="`echo $LOCALFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALOCTFILEDIR="`echo $LOCALOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALSTARTUPFILEDIR="`echo $LOCALSTARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALVERARCHLIBDIR="`echo $LOCALVERARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALVERFCNFILEDIR="`echo $LOCALVERFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - LOCALVEROCTFILEDIR="`echo $LOCALVEROCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - MAN1DIR="`echo $MAN1DIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - MANDIR="`echo $MANDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - OCTFILEDIR="`echo $OCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - OCTINCLUDEDIR="`echo $OCTINCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - OCTLIBDIR="`echo $OCTLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - STARTUPFILEDIR="`echo $STARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" - - PREFIX="$OCTAVE_HOME" -fi - -usage_msg="usage: octave-config [options]" - -if [ $# -eq 0 ]; then - echo "$usage_msg" 1>&2 - exit 1 -fi - -while [ $# -gt 0 ] -do - case "$1" in - -h | -\? | --help) - echo "$usage_msg" - cat << EOF - -Options: - - -h, -?, --help Print this message. - - --m-site-dir Print the name of the directory where Octave - expects to find locally installed .m files. - - --oct-site-dir Print the name of the directory where Octave - expects to find locally installed .oct files. - - -p VAR, --print VAR Print the value of the given configuration - variable VAR. Recognized variables are: - - API_VERSION LOCALAPIOCTFILEDIR - ARCHLIBDIR LOCALARCHLIBDIR - BINDIR LOCALFCNFILEDIR - CANONICAL_HOST_TYPE LOCALOCTFILEDIR - DATADIR LOCALSTARTUPFILEDIR - DATAROOTDIR LOCALVERARCHLIBDIR - DEFAULT_PAGER LOCALVERFCNFILEDIR - EXEC_PREFIX LOCALVEROCTFILEDIR - FCNFILEDIR MAN1DIR - IMAGEDIR MAN1EXT - INCLUDEDIR MANDIR - INFODIR OCTFILEDIR - INFOFILE OCTINCLUDEDIR - LIBDIR OCTLIBDIR - LIBEXECDIR PREFIX - LOCALAPIARCHLIBDIR STARTUPFILEDIR - LOCALAPIFCNFILEDIR VERSION - - -v, --version Print the Octave version number. - -EOF - exit 0 - ;; - --m-site-dir) - echo $LOCALVERFCNFILEDIR - ;; - --oct-site-dir) - echo $LOCALVEROCTFILEDIR - ;; - -v | --version) - echo $VERSION - ;; - -p | --print) - opt="$1" - shift - if [ $# -eq 0 ]; then - echo "octave-config: $opt option requires argument" 1>&2 - exit 1 - fi - eval echo \${$1} - ;; - *) - echo "octave-config: unrecognized argument $1" 2>&1 - exit 1 - ;; - esac - shift -done diff -r 10f6727fbaa8 -r b67c2d580a25 octave-sh --- a/octave-sh Fri Jun 10 11:26:07 2011 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -#!/bin/sh -# -# Wrapper for octave for binary installations that can't install -# octave in /usr/local/bin. -# -# The real binary should be installed in as octave.bin, and this file -# should be installed in the same directory as octave. - -if test -n "$LD_LIBRARY_PATH"; then - LD_LIBRARY_PATH="@LD_LIBRARY_PATH@:$LD_LIBRARY_PATH" -else - LD_LIBRARY_PATH="@LD_LIBRARY_PATH@" -fi -export LD_LIBRARY_PATH - -OCTAVE_HOME=@OCTAVE_HOME@ -export OCTAVE_HOME - -exec $OCTAVE_HOME/bin/octave.bin $* diff -r 10f6727fbaa8 -r b67c2d580a25 scripts/Makefile.am --- a/scripts/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/scripts/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk AUTOMAKE_OPTIONS = subdir-objects @@ -324,7 +324,7 @@ fi @echo "creating .DOCSTRINGS from .m script files" @$(srcdir)/mkdoc "$(srcdir)" $(FCN_FILES) -- $(GEN_FCN_FILES) > $@ - $(top_srcdir)/move-if-change $@ DOCSTRINGS + $(top_srcdir)/build-aux/move-if-change $@ DOCSTRINGS touch $@ $(GEN_FCN_FILES) : %.m : %.in Makefile diff -r 10f6727fbaa8 -r b67c2d580a25 src/DLD-FUNCTIONS/config-module.sh --- a/src/DLD-FUNCTIONS/config-module.sh Fri Jun 10 11:26:07 2011 -0400 +++ b/src/DLD-FUNCTIONS/config-module.sh Fri Jun 10 14:35:42 2011 -0400 @@ -10,8 +10,10 @@ top_srcdir="../.." fi +move_if_change="$top_srcdir/build-aux/move-if-change" + dld_dir=$top_srcdir/src/DLD-FUNCTIONS $AWK -f $dld_dir/config-module.awk < $dld_dir/module-files > $dld_dir/module.mk-t -$top_srcdir/move-if-change $dld_dir/module.mk-t $dld_dir/module.mk +$move_if_change $dld_dir/module.mk-t $dld_dir/module.mk diff -r 10f6727fbaa8 -r b67c2d580a25 src/Makefile.am --- a/src/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/src/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk AM_CPPFLAGS = \ @CPPFLAGS@ -I../libgnu -I$(top_srcdir)/libgnu \ @@ -30,10 +30,35 @@ octlib_LTLIBRARIES = liboctinterp.la +if AMCOND_BUILD_COMPILED_AUX_PROGRAMS +bin_PROGRAMS = \ + mkoctfile \ + octave \ + octave-config + +mkoctfile_SOURCES = +nodist_mkoctfile_SOURCES = mkoctfile.cc + +octave_config_SOURCES = +nodist_octave_config_SOURCES = octave-config.cc + +BUILT_SOURCES_EXTRA = \ + mkoctfile.cc \ + octave-config.cc +else +bin_PROGRAMS = \ + octave + +bin_SCRIPTS = \ + mkoctfile \ + octave-config +endif + ## Order matters here. Leave builtins.cc last, because it depends on ## $(DEF_FILES), and building those requires all the sources ## (except builtins.cc) to be available. BUILT_SOURCES = \ + $(BUILT_SOURCES_EXTRA) \ defaults.h \ graphics.h \ graphics-props.cc \ @@ -79,10 +104,14 @@ mkbuiltins \ mkdefs \ mkgendoc \ + mkoctfile.cc.in \ + mkoctfile.in \ mkops \ mxarray.h.in \ oct-conf.h.in \ oct-errno.cc.in \ + octave-config.cc.in \ + octave-config.in \ octave.gperf \ version.h.in \ $(BUILT_DISTFILES) @@ -654,8 +683,6 @@ DLD_FUNCTIONS_fftw_la_LIBADD += $(FFTW_XLDFLAGS) $(FFTW_XLIBS) -bin_PROGRAMS = octave - octave_SOURCES = main.c octave_LDADD = $(OCTAVE_LIBS) @@ -749,8 +776,8 @@ fi mv $@-t $@ -$(OPT_HANDLERS) : %.cc : $(top_srcdir)/liboctave/%.in $(top_srcdir)/mk-opts.pl - $(PERL) $(top_srcdir)/mk-opts.pl --opt-handler-fcns $< > $@-t +$(OPT_HANDLERS) : %.cc : $(top_srcdir)/liboctave/%.in $(top_srcdir)/build-aux/mk-opts.pl + $(PERL) $(top_srcdir)/build-aux/mk-opts.pl --opt-handler-fcns $< > $@-t mv $@-t $@ $(OPT_INC) : %.h : %.in @@ -776,7 +803,7 @@ fi @echo "creating .DOCSTRINGS from .cc source files" @./gendoc > $@ - $(top_srcdir)/move-if-change $@ DOCSTRINGS + $(top_srcdir)/build-aux/move-if-change $@ DOCSTRINGS touch $@ doc-files: $(ALL_DEF_FILES) @@ -793,6 +820,22 @@ all-local: $(OCT_STAMP_FILES) DLD-FUNCTIONS/PKG_ADD .DOCSTRINGS +if AMCOND_BUILD_COMPILED_AUX_PROGRAMS +octave-config.cc: octave-config.cc.in Makefile + @$(do_subst_default_vals) + +mkoctfile.cc: mkoctfile.cc.in Makefile + @$(do_subst_config_vals) +else +octave-config: octave-config.in Makefile + @$(do_subst_default_vals) + chmod a+rx $@ + +mkoctfile: mkoctfile.in Makefile + @$(do_subst_config_vals) + chmod a+rx $@ +endif + install-exec-hook: make-version-links install-data-hook: install-oct @@ -811,7 +854,7 @@ if AMCOND_ENABLE_DYNAMIC_LINKING install-oct: - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(octfiledir) + $(top_srcdir)/build-aux/mkinstalldirs $(DESTDIR)$(octfiledir) if [ -n "`cat DLD-FUNCTIONS/PKG_ADD`" ]; then \ $(INSTALL_DATA) DLD-FUNCTIONS/PKG_ADD $(DESTDIR)$(octfiledir)/PKG_ADD; \ fi diff -r 10f6727fbaa8 -r b67c2d580a25 src/mkoctfile.cc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mkoctfile.cc.in Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,778 @@ +/* + +Copyright (C) 2008-2011 Michael Goffioul + +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 +. + +*/ + +#if defined (HAVE_CONFIG_H) +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) +#include +#ifdef _MSC_VER +#define popen _popen +#define pclose _pclose +#endif +#endif + +using namespace std; + +static bool initialized = false; +static map vars; + +static string OCTAVE_VERSION = %OCTAVE_CONF_VERSION%; + +static std::string +substitute_prefix (const std::string& s, const std::string& prefix, + const std::string& new_prefix) +{ + std::string retval = s; + + if (!prefix.empty () && new_prefix != prefix) + { + int len = prefix.length (); + if (retval.find (prefix) == 0) + retval.replace (0, len, new_prefix); + } + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) + std::replace (retval.begin (), retval.end (), '/', '\\'); +#endif + + return retval; +} + +static string +get_line (FILE *fp) +{ + static vector buf (100); + int idx = 0; + char c; + + while (true) + { + c = static_cast (fgetc (fp)); + if (c == '\n' || c == EOF) + break; + if (buf.size () <= idx) + buf.resize (buf.size () + 100); + buf[idx++] = c; + } + if (idx == 0) + return string (""); + else + return string (&buf[0], idx); +} + + +static string +get_variable (const char *name, const string& defval) +{ + const char *val = getenv (name); + if (val == NULL || val[0] == '\0') + return defval; + else + return string (val); +} + +static string +quote_path (const string& s) +{ + if (s.find (' ') != string::npos && s[0] != '"') + return "\"" + s + "\""; + else + return s; +} + +static void +initialize (void) +{ + if (initialized) + return; + + initialized = true; + + vars["OCTAVE_HOME"] = get_variable ("OCTAVE_HOME", ""); + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) + int n = 1024; + + std::string bin_dir (n, '\0'); + + while (true) + { + int status = GetModuleFileName (0, &bin_dir[0], n); + + if (status < n) + { + bin_dir.resize (status); + break; + } + else + { + n *= 2; + bin_dir.resize (n); + } + } + + if (! bin_dir.empty ()) + { + size_t pos = bin_dir.rfind ("\\bin\\"); + + if (pos != string::npos) + vars["OCTAVE_HOME"] = bin_dir.substr (0, pos); + } +#endif + + vars["SED"] = get_variable ("SED", %OCTAVE_CONF_SED%); + + vars["OCTAVE_PREFIX"] = %OCTAVE_CONF_PREFIX%; + + std::string DEFAULT_OCTINCLUDEDIR = %OCTAVE_CONF_OCTINCLUDEDIR%; + std::string DEFAULT_INCLUDEDIR = %OCTAVE_CONF_INCLUDEDIR%; + std::string DEFAULT_LIBDIR = %OCTAVE_CONF_LIBDIR%; + std::string DEFAULT_OCTLIBDIR = %OCTAVE_CONF_OCTLIBDIR%; + + if (! vars["OCTAVE_HOME"].empty ()) + { + DEFAULT_OCTINCLUDEDIR + = substitute_prefix (DEFAULT_OCTINCLUDEDIR, vars["OCTAVE_PREFIX"], + vars["OCTAVE_HOME"]); + + DEFAULT_INCLUDEDIR + = substitute_prefix (DEFAULT_INCLUDEDIR, vars["OCTAVE_PREFIX"], + vars["OCTAVE_HOME"]); + + DEFAULT_LIBDIR + = substitute_prefix (DEFAULT_LIBDIR, vars["OCTAVE_PREFIX"], + vars["OCTAVE_HOME"]); + + DEFAULT_OCTLIBDIR + = substitute_prefix (DEFAULT_OCTLIBDIR, vars["OCTAVE_PREFIX"], + vars["OCTAVE_HOME"]); + } + + vars["OCTINCLUDEDIR"] = get_variable ("OCTINCLUDEDIR", DEFAULT_OCTINCLUDEDIR); + vars["INCLUDEDIR"] = get_variable ("INCLUDEDIR", DEFAULT_INCLUDEDIR); + vars["LIBDIR"] = get_variable ("LIBDIR", DEFAULT_LIBDIR); + vars["OCTLIBDIR"] = get_variable ("OCTLIBDIR", DEFAULT_OCTLIBDIR); + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) + std::string DEFAULT_INCFLAGS + = "-I" + quote_path (vars["OCTINCLUDEDIR"] + "\\..") + + " -I" + quote_path (vars["OCTINCLUDEDIR"]); +#else + std::string DEFAULT_INCFLAGS + = "-I" + quote_path (vars["OCTINCLUDEDIR"] + "/..") + + " -I" + quote_path (vars["OCTINCLUDEDIR"]); +#endif + if (vars["INCLUDEDIR"] != "/usr/include") + DEFAULT_INCFLAGS += " -I" + quote_path (vars["INCLUDEDIR"]); + + std::string DEFAULT_LFLAGS = "-L" + quote_path (vars["OCTLIBDIR"]); + if (vars["LIBDIR"] != "/usr/lib") + DEFAULT_LFLAGS += " -L" + quote_path (vars["LIBDIR"]); + + vars["CPPFLAGS"] = get_variable ("CPPFLAGS", %OCTAVE_CONF_CPPFLAGS%); + vars["INCFLAGS"] = get_variable ("INCFLAGS", DEFAULT_INCFLAGS); + vars["F77"] = get_variable ("F77", %OCTAVE_CONF_F77%); + vars["FFLAGS"] = get_variable ("FFLAGS", %OCTAVE_CONF_FFLAGS%); + vars["FPICFLAG"] = get_variable ("FPICFLAG", %OCTAVE_CONF_FPICFLAG%); + vars["CC"] = get_variable ("CC", %OCTAVE_CONF_CC%); + vars["CFLAGS"] = get_variable ("CFLAGS", %OCTAVE_CONF_CFLAGS%); + vars["CPICFLAG"] = get_variable ("CPICFLAG", %OCTAVE_CONF_CPICFLAG%); + vars["CXX"] = get_variable ("CXX", %OCTAVE_CONF_CXX%); + vars["CXXFLAGS"] = get_variable ("CXXFLAGS", %OCTAVE_CONF_CXXFLAGS%); + vars["CXXPICFLAG"] = get_variable ("CXXPICFLAG", %OCTAVE_CONF_CXXPICFLAG%); + vars["XTRA_CFLAGS"] = get_variable ("XTRA_CFLAGS", %OCTAVE_CONF_XTRA_CFLAGS%); + vars["XTRA_CXXFLAGS"] = get_variable ("XTRA_CXXFLAGS", %OCTAVE_CONF_XTRA_CXXFLAGS%); + + vars["DEPEND_FLAGS"] = get_variable ("DEPEND_FLAGS", %OCTAVE_CONF_DEPEND_FLAGS%); + vars["DEPEND_EXTRA_SED_PATTERN"] = get_variable ("DEPEND_EXTRA_SED_PATTERN", %OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%); + + vars["DL_LD"] = get_variable ("DL_LD", %OCTAVE_CONF_DL_LD%); + vars["DL_LDFLAGS"] = get_variable ("DL_LDFLAGS", %OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%); + + vars["RLD_FLAG"] = get_variable ("RLD_FLAG", %OCTAVE_CONF_RLD_FLAG%); + vars["RDYNAMIC_FLAG"] = get_variable ("RDYNAMIC_FLAG", %OCTAVE_CONF_RDYNAMIC_FLAG%); + vars["LIBOCTAVE"] = "-loctave"; + vars["LIBOCTINTERP"] = "-loctinterp"; + vars["READLINE_LIBS"] = "-lreadline"; + vars["LIBCRUFT"] = "-lcruft"; + vars["LAPACK_LIBS"] = get_variable ("LAPACK_LIBS", %OCTAVE_CONF_LAPACK_LIBS%); + vars["BLAS_LIBS"] = get_variable ("BLAS_LIBS", %OCTAVE_CONF_BLAS_LIBS%); + vars["FFTW3_LDFLAGS"] = get_variable ("FFTW3_LDFLAGS", %OCTAVE_CONF_FFTW3_LDFLAGS%); + vars["FFTW3_LIBS"] = get_variable ("FFTW3_LIBS", %OCTAVE_CONF_FFTW3_LIBS%); + vars["FFTW3F_LDFLAGS"] = get_variable ("FFTW3F_LDFLAGS", %OCTAVE_CONF_FFTW3F_LDFLAGS%); + vars["FFTW3F_LIBS"] = get_variable ("FFTW3F_LIBS", %OCTAVE_CONF_FFTW3F_LIBS%); + vars["LIBS"] = get_variable ("LIBS", %OCTAVE_CONF_LIBS%); + vars["FLIBS"] = get_variable ("FLIBS", %OCTAVE_CONF_FLIBS%); + vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_LD_CXX%); + vars["LDFLAGS"] = get_variable ("LDFLAGS", %OCTAVE_CONF_LDFLAGS%); + vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG", %OCTAVE_CONF_LD_STATIC_FLAG%); + vars["LFLAGS"] = get_variable ("LFLAGS", DEFAULT_LFLAGS); + vars["F77_INTEGER8_FLAG"] = get_variable ("F77_INTEGER8_FLAG", %OCTAVE_CONF_F77_INTEGER_8_FLAG%); + + vars["ALL_FFLAGS"] = vars["FFLAGS"] + " " + vars["F77_INTEGER8_FLAG"]; + + vars["ALL_CFLAGS"] = vars["INCFLAGS"] + " " + vars["XTRA_CFLAGS"] + + " " + vars["CFLAGS"]; + + vars["ALL_CXXFLAGS"] = vars["INCFLAGS"] + " " + vars["XTRA_CXXFLAGS"] + + " " + vars["CXXFLAGS"]; + + vars["ALL_LDFLAGS"] = vars["LD_STATIC_FLAG"] + " " + vars["CPICFLAG"] + + " " + vars["LDFLAGS"]; + + vars["OCTAVE_LIBS"] = vars["LIBOCTINTERP"] + " " + vars["LIBOCTAVE"] + + " " + vars["SPECIAL_MATH_LIB"] + " " + vars["LIBCRUFT"]; + + vars["FFTW_LIBS"] = vars["FFTW3_LDFLAGS"] + " " + vars["FFTW3_LIBS"] + + " " + vars["FFTW3F_LDFLAGS"] + " " + vars["FFTW3F_LIBS"]; +} + +static string usage_msg = "usage: mkoctfile [options] file ..."; +static string version_msg = "mkoctfile, version " + OCTAVE_VERSION; +static bool debug = false; +static string help_msg = +"\n" +"Options:\n" +"\n" +" -h, -?, --help Print this message.\n" +"\n" +" -IDIR Add -IDIR to compile commands.\n" +"\n" +" -idirafter DIR Add -idirafter DIR to compile commands.\n" +"\n" +" -DDEF Add -DDEF to compile commands.\n" +"\n" +" -lLIB Add library LIB to link command.\n" +"\n" +" -LDIR Add -LDIR to link command.\n" +"\n" +" -M, --depend Generate dependency files (.d) for C and C++\n" +" source files.\n" +"\n" +" -RDIR Add -RDIR to link command.\n" +"\n" +" -Wl,... Pass flags though the linker like -Wl,-rpath=...\n" +"\n" +" -W... Pass flags though the compiler like -Wa,OPTION.\n" +"\n" +" -c, --compile Compile, but do not link.\n" +"\n" +" -o FILE, --output FILE Output file name. Default extension is .oct\n" +" (or .mex if --mex is specified) unless linking\n" +" a stand-alone executable.\n" +"\n" +" -g Enable debugging options for compilers.\n" +"\n" +" -p VAR, --print VAR Print configuration variable VAR. Recognized\n" +" variables are:\n" +"\n" +" ALL_CFLAGS FLIBS\n" +" ALL_CXXFLAGS FPICFLAG\n" +" ALL_FFLAGS INCFLAGS\n" +" ALL_LDFLAGS LAPACK_LIBS\n" +" BLAS_LIBS LDFLAGS\n" +" CC LD_CXX\n" +" CFLAGS LD_STATIC_FLAG\n" +" CPICFLAG LFLAGS\n" +" CPPFLAGS LIBCRUFT\n" +" CXX LIBOCTAVE\n" +" CXXFLAGS LIBOCTINTERP\n" +" CXXPICFLAG LIBS\n" +" DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS\n" +" DEPEND_FLAGS RDYNAMIC_FLAG\n" +" DL_LD READLINE_LIBS\n" +" DL_LDFLAGS RLD_FLAG\n" +" F77 SED\n" +" FFLAGS XTRA_CFLAGS\n" +" FFTW_LIBS XTRA_CXXFLAGS\n" +"\n" +" --link-stand-alone Link a stand-alone executable file.\n" +"\n" +" --mex Assume we are creating a MEX file. Set the\n" +" default output extension to \".mex\".\n" +"\n" +" -s, --strip Strip output file.\n" +"\n" +" -v, --verbose Echo commands as they are executed.\n" +"\n" +" FILE Compile or link FILE. Recognized file types are:\n" +"\n" +" .c C source\n" +" .cc C++ source\n" +" .C C++ source\n" +" .cpp C++ source\n" +" .f Fortran source (fixed form)\n" +" .F Fortran source (fixed form)\n" +" .f90 Fortran source (free form)\n" +" .F90 Fortran source (free form)\n" +" .o object file\n" +" .a library file\n" +#ifdef _MSC_VER +" .lib library file\n" +#endif +"\n"; + +static string +basename (const string& s, bool strip_path = false) +{ + size_t pos = s.rfind ('.'); + string retval; + + if (pos == string::npos) + retval = s; + else + retval = s.substr (0, pos); + if (strip_path) + { + size_t p1 = retval.rfind ('/'), p2 = retval.rfind ('\\'); + pos = (p1 != string::npos && p2 != string::npos + ? max (p1, p2) : (p2 != string::npos ? p2 : p1)); + if (pos != string::npos) + retval = retval.substr (0, pos); + } + return retval; +} + +inline bool +starts_with (const string& s, const string& prefix) +{ + return (s.length () >= prefix.length () && s.find (prefix) == 0); +} + +inline bool +ends_with (const string& s, const string& suffix) +{ + return (s.length () >= suffix.length () + && s.rfind (suffix) == s.length () - suffix.length ()); +} + +static int +run_command (const string& cmd) +{ + if (debug) + cout << cmd << endl; + return system (cmd.c_str ()); +} + +int +main (int argc, char **argv) +{ + initialize (); + + string file, output_option; + list cfiles, ccfiles, f77files; + int result = 0; + + string objfiles = ""; + string libfiles = ""; + string octfile = ""; + string outputfile = ""; + string incflags = ""; + string defs = ""; + string ldflags = ""; + string pass_on_options = ""; + bool strip = false; + bool no_oct_file_strip_on_this_platform = %NO_OCT_FILE_STRIP%; + bool link = true; + bool link_stand_alone = false; + string output_ext = ".oct"; + bool depend = false; + bool compile = true; + + if (argc == 1) + { + cout << usage_msg << endl; + return 1; + } + + if (argc == 2 && (!strcmp (argv[1], "-v") + || !strcmp (argv[1], "-version") + || !strcmp (argv[1], "--version"))) + { + cout << version_msg << endl; + return 0; + } + + for (int i = 1; i < argc; i++) + { + string arg = argv[i]; + size_t len = arg.length (); + + if (ends_with (arg, ".c")) + { + file = arg; + cfiles.push_back (file); + } + else if (ends_with (arg, ".cc") || ends_with (arg, ".C") + || ends_with (arg, ".cpp")) + { + file = arg; + ccfiles.push_back (file); + } + else if (ends_with (arg, ".f") || ends_with (arg, ".F") + || ends_with (arg, "f90") || ends_with (arg, ".F90")) + { + file = arg; + f77files.push_back (file); + } + else if (ends_with (arg, ".o") || ends_with (arg, ".obj")) + { + file = arg; + objfiles += (" " + quote_path (arg)); + } + else if (ends_with (arg, ".lib") || ends_with (arg, ".a")) + { + file = arg; + libfiles += (" " + quote_path (arg)); + } + else if (arg == "-d" || arg == "-debug" || arg == "--debug" + || arg == "-v" || arg == "-verbose" || arg == "--verbose") + { + debug = true; + if (vars["CC"] == "cc-msvc") + vars["CC"] += " -d"; + if (vars["CXX"] == "cc-msvc") + vars["CXX"] += " -d"; + if (vars["DL_LD"] == "cc-msvc") + vars["DL_LD"] += " -d"; + } + else if (arg == "-h" || arg == "-?" || arg == "-help" || arg == "--help") + { + cout << usage_msg << endl; + cout << help_msg << endl; + return 0; + } + else if (starts_with (arg, "-I")) + { + incflags += (" " + quote_path (arg)); + } + else if (arg == "-idirafter") + { + if (i < argc-1) + { + arg = argv[++i]; + incflags += (" -idirafter " + arg); + } + else + cerr << "mkoctfile: include directory name missing" << endl; + } + else if (starts_with (arg, "-D")) + { + defs += (" " + arg); + } + else if (starts_with (arg, "-Wl,") || starts_with (arg, "-l") + || starts_with (arg, "-L") || starts_with (arg, "-R")) + { + ldflags += (" " + arg); + } + else if (arg == "-M" || arg == "-depend" || arg == "--depend") + { + depend = true; + compile = false; + } + else if (arg == "-o" || arg == "-output" || arg == "--output") + { + if (i < argc-1) + { + arg = argv[++i]; + outputfile = arg; + } + else + cerr << "mkoctfile: output file name missing" << endl; + } + else if (arg == "-p" || arg == "-print" || arg == "--print") + { + if (i < argc-1) + { + arg = argv[++i]; + cout << vars[arg] << endl; + return 0; + } + else + cerr << "mkoctfile: --print requires argument" << endl; + } + else if (arg == "-s" || arg == "-strip" || arg == "--strip") + { + if (no_oct_file_strip_on_this_platform) + cerr << "mkoctfile: stripping disabled on this platform" << endl; + else + strip = true; + } + else if (arg == "-c" || arg == "-compile" || arg == "--compile") + { + link = false; + } + else if (arg == "-g") + { + vars["ALL_CFLAGS"] += " -g"; + vars["ALL_CXXFLAGS"] += " -g"; + vars["ALL_FFLAGS"] += " -g"; + } + else if (arg == "-link-stand-alone" || arg == "--link-stand-alone") + { + link_stand_alone = true; + } + else if (arg == "-mex" || arg == "--mex") + { + incflags += " -I."; +#ifdef _MSC_VER + ldflags += " -Wl,-export:mexFunction"; +#endif + output_ext = ".mex"; + } + else if (starts_with (arg, "-W")) + { + pass_on_options += (" " + arg); + } + else + { + cerr << "mkoctfile: unrecognized argument " << arg; + return 1; + } + + if (!file.empty () && octfile.empty ()) + octfile = file; + } + + if (link_stand_alone) + { + if (!outputfile.empty ()) + output_option = "-o " + outputfile; + } + else + { + if (!outputfile.empty ()) + { + octfile = outputfile; + size_t len = octfile.length (); + size_t len_ext = output_ext.length (); + if (octfile.substr (len-len_ext) != output_ext) + octfile += output_ext; + } + else + octfile = basename (octfile, true) + output_ext; + } + + list::const_iterator it; + + if (depend) + { + for (it = cfiles.begin (); it != cfiles.end (); ++it) + { + string f = *it, dfile = basename (f, true) + ".d", line; + + unlink (dfile.c_str ()); + string cmd = vars["CC"] + " " + vars["DEPEND_FLAGS"] + " " + + vars["CPPFLAGS"] + " " + vars["ALL_CFLAGS"] + " " + + incflags + " " + defs + " " + quote_path (f); + + FILE *fd = popen (cmd.c_str (), "r"); + ofstream fo (dfile.c_str ()); + int pos; + while (!feof (fd)) + { + line = get_line (fd); + if ((pos = line.rfind (".o:")) != string::npos) + { + int spos = line.rfind ('/', pos); + string ofile = (spos == string::npos ? line.substr (0, pos+2) : line.substr (spos+1, pos-spos+1)); + fo << "pic/" << ofile << " " << ofile << " " << dfile << line.substr (pos) << endl; + } + else + fo << line << endl; + } + pclose (fd); + fo.close (); + } + + for (it = ccfiles.begin (); it != ccfiles.end (); ++it) + { + string f = *it, dfile = basename (f, true) + ".d", line; + + unlink (dfile.c_str ()); + string cmd = vars["CC"] + " " + vars["DEPEND_FLAGS"] + " " + + vars["CPPFLAGS"] + " " + vars["ALL_CXXFLAGS"] + " " + + incflags + " " + defs + " " + quote_path (f); + + FILE *fd = popen (cmd.c_str (), "r"); + ofstream fo (dfile.c_str ()); + int pos; + while (!feof (fd)) + { + line = get_line (fd); + if ((pos = line.rfind (".o:")) != string::npos) + { + int spos = line.rfind ('/', pos); + string ofile = (spos == string::npos ? line.substr (0, pos+2) : line.substr (spos+1, pos-spos+1)); + fo << "pic/" << ofile << " " << ofile << " " << dfile << line.substr (pos+2) << endl; + } + else + fo << line << endl; + } + pclose (fd); + fo.close (); + } + + return 0; + } + + for (it = f77files.begin (); it != f77files.end (); ++it) + { + string f = *it, b = basename (f, true); + if (!vars["F77"].empty ()) + { + string o; + if (!outputfile.empty ()) + { + if (link) + o = b + ".o"; + else + o = outputfile; + } + else + o = b + ".o"; + objfiles += (" " + o); + string cmd = vars["F77"] + " -c " + vars["FPICFLAG"] + " " + + vars["ALL_FFLAGS"] + " " + incflags + " " + defs + " " + + pass_on_options + " " + f + " -o " + o; + result = run_command (cmd); + } + else + { + cerr << "mkoctfile: no way to compile Fortran file " << f << endl; + return 1; + } + } + + for (it = cfiles.begin (); it != cfiles.end (); ++it) + { + string f = *it; + if (!vars["CC"].empty ()) + { + string b = basename (f, true), o; + if (!outputfile.empty ()) + { + if (link) + o = b + ".o"; + else + o = outputfile; + } + else + o = b + ".o"; + objfiles += (" " + o); + string cmd = vars["CC"] + " -c " + vars["CPPFLAGS"] + " " + + vars["CPICFLAG"] + " " + vars["ALL_CFLAGS"] + " " + + pass_on_options + " " + incflags + " " + defs + " " + + quote_path (f) + " -o " + quote_path (o); + result = run_command (cmd); + } + else + { + cerr << "mkoctfile: no way to compile C file " << f << endl; + return 1; + } + } + + for (it = ccfiles.begin (); it != ccfiles.end (); ++it) + { + string f = *it; + if (!vars["CXX"].empty ()) + { + string b = basename (f, true), o; + if (!outputfile.empty ()) + { + if (link) + o = b + ".o"; + else + o = outputfile; + } + else + o = b + ".o"; + objfiles += (" " + o); + string cmd = vars["CXX"] + " -c " + vars["CPPFLAGS"] + " " + + vars["CXXPICFLAG"] + " " + vars["ALL_CXXFLAGS"] + " " + + pass_on_options + " " + incflags + " " + defs + " " + + quote_path (f) + " -o " + quote_path (o); + result = run_command (cmd); + } + else + { + cerr << "mkoctfile: no way to compile C++ file " << f << endl; + return 1; + } + } + + if (link && !objfiles.empty ()) + { + if (link_stand_alone) + { + if (!vars["LD_CXX"].empty ()) + { + string cmd = vars["LD_CXX"] + " " + vars["CPPFLAGS"] + " " + + vars["ALL_CXXFLAGS"] + " " + vars["RDYNAMIC_FLAG"] + + " " + vars["ALL_LDFLAGS"] + " " + pass_on_options + + " " + output_option + " " + objfiles + " " + libfiles + + " " + ldflags + " " + vars["LFLAGS"] + " " + + vars["RLD_FLAG"] + " " + vars["OCTAVE_LIBS"] + " " + + vars["LAPACK_LIBS"] + " " + vars["BLAS_LIBS"] + " " + + vars["FFTW_LIBS"] + " " + vars["READLINE_LIBS"] + " " + + vars["LIBS"] + " " + vars["FLIBS"]; + result = run_command (cmd); + } + else + { + cerr << "mkoctfile: no way to link stand-alone executable file" + << endl; + return 1; + } + } + else + { + string LINK_DEPS = vars["LFLAGS"] + " " + vars["OCTAVE_LIBS"] + + " " + vars["LDFLAGS"] + " " + vars["BLAS_LIBS"] + " " + + vars["FFTW_LIBS"] + " " + vars["LIBS"] + " " + vars["FLIBS"]; + string cmd = vars["DL_LD"] + " " + vars["DL_LDFLAGS"] + " " + + pass_on_options + " -o " + octfile + " " + objfiles + " " + + libfiles + " " + ldflags + " " + LINK_DEPS; + result = run_command (cmd); + } + + if (strip) + { + string cmd = "strip " + octfile; + result = run_command (cmd); + } + } + + return result; +} diff -r 10f6727fbaa8 -r b67c2d580a25 src/mkoctfile.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mkoctfile.in Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,555 @@ +#! /bin/sh +## +## mkoctfile -- create a .oct file suitable for dynamic linking by +## Octave. +## +## Copyright (C) 1996-2011 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 +## . + +# Exit immediately on any error. + +set -e + +: ${SED=%OCTAVE_CONF_SED%} + +OCTAVE_VERSION=%OCTAVE_CONF_VERSION% +OCTAVE_PREFIX=%OCTAVE_CONF_PREFIX% + +DEFAULT_BINDIR=%OCTAVE_BINDIR% +DEFAULT_INCLUDEDIR=%OCTAVE_CONF_INCLUDEDIR% +DEFAULT_LIBDIR=%OCTAVE_CONF_LIBDIR% +DEFAULT_OCTINCLUDEDIR=%OCTAVE_CONF_OCTINCLUDEDIR% +DEFAULT_OCTLIBDIR=%OCTAVE_CONF_OCTLIBDIR% + +if [ -n "$OCTAVE_HOME" ]; then + DEFAULT_BINDIR="`echo $DEFAULT_BINDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" + DEFAULT_INCLUDEDIR="`echo $DEFAULT_INCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" + DEFAULT_LIBDIR="`echo $DEFAULT_LIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" + DEFAULT_OCTINCLUDEDIR="`echo $DEFAULT_OCTINCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" + DEFAULT_OCTLIBDIR="`echo $DEFAULT_OCTLIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`" +fi + +: ${BINDIR=$DEFAULT_BINDIR} +: ${INCLUDEDIR=$DEFAULT_INCLUDEDIR} +: ${LIBDIR=$DEFAULT_LIBDIR} +: ${OCTINCLUDEDIR=$DEFAULT_OCTINCLUDEDIR} +: ${OCTLIBDIR=$DEFAULT_OCTLIBDIR} + +DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR" +if [ "$INCLUDEDIR" != /usr/include ]; then + DEFAULT_INCFLAGS="$DEFAULT_INCFLAGS -I$INCLUDEDIR" +fi + +DEFAULT_LFLAGS="-L$OCTLIBDIR" +if [ "$LIBDIR" != /usr/lib ]; then + DEFAULT_LFLAGS="$DEFAULT_LFLAGS -L$LIBDIR" +fi + +# Default values for these variables are filled in when Octave is +# compiled. + +: ${EXEEXT=%OCTAVE_CONF_EXEEXT%} + +: ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%} +: ${INCFLAGS=$DEFAULT_INCFLAGS} +: ${F77=%OCTAVE_CONF_F77%} +: ${FFLAGS=%OCTAVE_CONF_FFLAGS%} +: ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%} +: ${CC=%OCTAVE_CONF_CC%} +: ${CFLAGS=%OCTAVE_CONF_CFLAGS%} +: ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%} +: ${CXX=%OCTAVE_CONF_CXX%} +: ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%} +: ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%} +: ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%} +: ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%} + +: ${DEPEND_FLAGS=%OCTAVE_CONF_DEPEND_FLAGS%} +: ${DEPEND_EXTRA_SED_PATTERN=%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%} + +: ${DL_LD=%OCTAVE_CONF_DL_LD%} +: ${DL_LDFLAGS=%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%} + +: ${RLD_FLAG=%OCTAVE_CONF_RLD_FLAG%} +: ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%} +: ${LIBOCTAVE=-loctave} +: ${LIBOCTINTERP=-loctinterp} +: ${READLINE_LIBS=-lreadline} +: ${LIBCRUFT=-lcruft} +: ${LAPACK_LIBS=%OCTAVE_CONF_LAPACK_LIBS%} +: ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%} +: ${FFTW3_LDFLAGS=%OCTAVE_CONF_FFTW3_LDFLAGS%} +: ${FFTW3_LIBS=%OCTAVE_CONF_FFTW3_LIBS%} +: ${FFTW3F_LDFLAGS=%OCTAVE_CONF_FFTW3F_LDFLAGS%} +: ${FFTW3F_LIBS=%OCTAVE_CONF_FFTW3F_LIBS%} +: ${LIBS=%OCTAVE_CONF_LIBS%} +: ${FLIBS=%OCTAVE_CONF_FLIBS%} +: ${LD_CXX=%OCTAVE_CONF_LD_CXX%} +: ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%} +: ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%} +: ${LFLAGS=$DEFAULT_LFLAGS} +: ${F77_INTEGER_8_FLAG=%OCTAVE_CONF_F77_INTEGER_8_FLAG%} + +: ${ALL_FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"} + +: ${ALL_CFLAGS="$INCFLAGS $XTRA_CFLAGS $CFLAGS"} + +: ${ALL_CXXFLAGS="$INCFLAGS $XTRA_CXXFLAGS $CXXFLAGS"} + +: ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"} + +: ${OCTAVE_LIBS="$LIBOCTINTERP $LIBOCTAVE $SPECIAL_MATH_LIB $LIBCRUFT"} + +# Local variables. + +FFTW_LIBS="$FFTW3_LDFLAGS $FFTW3_LIBS $FFTW3F_LDFLAGS $FFTW3F_LIBS" + +usage_msg="usage: mkoctfile [options] file ..." + +version_msg="mkoctfile, version $OCTAVE_VERSION" + +cfiles= +ccfiles= +f77files= +objfiles= +libfiles= +octfiles= +octfile= +outputfile= +incflags= +defs= +ldflags= +dbg=: +pass_on_options= +strip=false +no_oct_file_strip_on_this_platform=%NO_OCT_FILE_STRIP% +link=true +link_stand_alone=false +output_ext=".oct" +depend=false +compile=true + +if [ $# -eq 0 ]; then + echo $usage_msg 1>&2 + exit 1 +fi + +if [ $# -eq 1 ]; then + case "$1" in + -v | -version | --version) + echo $version_msg 1>&2 + exit 0 + ;; + esac +fi + +while [ $# -gt 0 ]; do + file= + case "$1" in + *.c) + file=$1 + cfiles="$cfiles $file" + ;; + *.cc | *.C | *.cpp) + file=$1 + ccfiles="$ccfiles $file" + ;; + *.f | *.F | *.f90 | *.F90) + file=$1 + f77files="$f77files $file" + ;; + *.o) + file=$1 + objfiles="$objfiles $file" + ;; + *.a) + file=$1 + libfiles="$libfiles $file" + ;; + -d | -debug | --debug | -v | -verbose | --verbose) + dbg=echo + ;; + -h | -\? | -help | --help) + echo $usage_msg 1>&2 + cat << EOF + +Options: + + -h, -?, --help Print this message. + + -IDIR Add -IDIR to compile commands. + + -idirafter DIR Add -idirafter DIR to compile commands. + + -DDEF Add -DDEF to compile commands. + + -lLIB Add -lLIB to link command. + + -LDIR Add -LDIR to link command. + + -RDIR Add -RDIR to link command. + + -g Enable debugging option for all compilers. + + -pthread Add -pthread to link command. + + -W... Pass flags to the compiler such as -Wa,OPTION. + + -Wl,... Pass flags to the linker such as -Wl,-rpath=... + + -M, --depend Generate dependency files (.d) for C and C++ + source files. + + -c, --compile Compile, but do not link. + + --link-stand-alone Link a stand-alone executable file. + + -s, --strip Strip output file. + + --mex Create a MEX file. + Set the default output extension to ".mex". + + -o FILE, --output FILE Output file name. Default extension is .oct + (or .mex if --mex is specified) unless linking + a stand-alone executable. + + -p VAR, --print VAR Print configuration variable VAR. Recognized + variables are: + + ALL_CFLAGS FFTW3F_LDFLAGS + ALL_CXXFLAGS FFTW3F_LIBS + ALL_FFLAGS FLIBS + ALL_LDFLAGS FPICFLAG + BLAS_LIBS INCFLAGS + CC LAPACK_LIBS + CFLAGS LDFLAGS + CPICFLAG LD_CXX + CPPFLAGS LD_STATIC_FLAG + CXX LFLAGS + CXXFLAGS LIBCRUFT + CXXPICFLAG LIBOCTAVE + DEPEND_EXTRA_SED_PATTERN LIBOCTINTERP + DEPEND_FLAGS LIBS + DL_LD OCTAVE_LIBS + DL_LDFLAGS RDYNAMIC_FLAG + EXEEXT READLINE_LIBS + F77 RLD_FLAG + F77_INTEGER_8_FLAG SED + FFLAGS XTRA_CFLAGS + FFTW3_LDFLAGS XTRA_CXXFLAGS + FFTW3_LIBS + + -v, --verbose Echo commands as they are executed. + + FILE Compile or link FILE. Recognized file types are: + + .c C source + .cc C++ source + .C C++ source + .cpp C++ source + .f Fortran source (fixed form) + .F Fortran source (fixed form) + .f90 Fortran source (free form) + .F90 Fortran source (free form) + .o object file + .a library file + +EOF + exit 0 + ;; + -I*) + incflags="$incflags $1" + ;; + -idirafter) + shift + if [ $# -gt 0 ]; then + incflags="$incflags -idirafter $1" + else + echo "mkoctfile: include directory name missing" 1>&2 + fi + ;; + -D*) + defs="$defs $1" + ;; + -[lLR]* | -Wl,*) + ldflags="$ldflags $1" + ;; + -pthread) + ldflags="$ldflags $1" + ;; + -M | -depend | --depend) + depend=true + compile=false + ;; + -o | -ouput | --output) + shift + if [ $# -gt 0 ]; then + outputfile="$1" + else + echo "mkoctfile: output file name missing" 1>&2 + fi + ;; + -p | -print | --print) + shift + if [ $# -gt 0 ]; then + eval echo \${$1} + exit 0 + else + echo "mkoctfile: --print requires argument" 1>&2 + exit 1 + fi + ;; + -s | -strip | --strip) + if $no_oct_file_strip_on_this_platform; then + echo "mkoctfile: stripping disabled on this platform" 1>&2 + else + strip=true + fi + ;; + -c | -compile | --compile) + link=false + ;; + -g) + ALL_CFLAGS="$ALL_CFLAGS -g" + ALL_CXXFLAGS="$ALL_CXXFLAGS -g" + ALL_FFLAGS="$ALL_FFLAGS -g" + ;; + -link-stand-alone | --link-stand-alone) + link_stand_alone=true + ;; + -mex | --mex) + incflags="$incflags -I." + output_ext=".mex" + ;; + -W,*) + pass_on_options="$pass_on_options ${1:3}" + ;; + *) + echo "mkoctfile: unrecognized argument $1" 1>&2 + exit 1 + ;; + esac + if [ -n "$file" ]; then + if [ -z "$octfile" ]; then + octfile="$file" + fi + fi + shift +done + +if $link_stand_alone; then + if [ -n "$outputfile" ]; then + output_option="-o $outputfile" + fi +else + if [ -n "$outputfile" ]; then + octfile="$outputfile" + case "$octfile" in + *$output_ext) + ;; + *) + octfile="$octfile$output_ext" + ;; + esac + else + octfile=`basename $octfile` + octfile=`echo $octfile | $SED 's,\.[^.]*$,,'`$output_ext + fi +fi + +# Generate dependency files for C and C++ files. + +if $depend; then + if [ -n "$cfiles" ]; then + for f in $cfiles; do + b=`echo $f | $SED 's,\.c$,,'` + d=$b.d + cmd="rm -f $d" + $dbg $cmd + eval $cmd + cmd="$CC $DEPEND_FLAGS $CPPFLAGS $ALL_CFLAGS $incflags $def $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d" + $dbg $cmd + eval $cmd + done + fi + + if [ -n "$ccfiles" ]; then + for f in $ccfiles; do + case $f in + *.cc) + b=`echo $f | $SED 's,\.cc$,,'` + ;; + *.C) + b=`echo $f | $SED 's,\.C$,,'` + ;; + *.cpp) + b=`echo $f | $SED 's,\.cpp$,,'` + ;; + esac + d=$b.d + cmd="rm -f $d" + $dbg $cmd + eval $cmd + cmd="$CXX $DEPEND_FLAGS $CPPFLAGS $ALL_CXXFLAGS $incflags $defs $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d" + $dbg $cmd + eval $cmd + done + fi + # If generating dependencies, that's all we do. + exit 0 +fi + +# Compile Fortran, C, and C++ files. Add the name of each object file +# that is produced to the overall list of object files. + +if [ -n "$f77files" ]; then + for f in $f77files; do + case $f in + *.f) + b=`echo $f | $SED 's,.*/,,; s,\.f$,,'` + ;; + *.F) + b=`echo $f | $SED 's,.*/,,; s,\.F$,,'` + ;; + *.f90) + b=`echo $f | $SED 's,.*/,,; s,\.f90$,,'` + ;; + *.F90) + b=`echo $f | $SED 's,.*/,,; s,\.F90$,,'` + ;; + esac + if [ -n "$F77" ]; then + if [ -n "$outputfile" ]; then + if $link; then + o=$b.o + else + o=$outputfile + fi + else + o=$b.o + fi + objfiles="$objfiles $o" + cmd="$F77 -c $FPICFLAG $ALL_FFLAGS $incflags $defs $pass_on_options $f -o $o" + $dbg $cmd + eval $cmd + else + echo "mkoctfile: no way to compile Fortran file $f" 1>&2 + fi + done +fi + +if [ -n "$cfiles" ]; then + for f in $cfiles; do + if [ -n "$CC" ]; then + b=`echo $f | $SED 's,.*/,,; s,\.c$,,'` + if [ -n "$outputfile" ]; then + if $link; then + o=$b.o + else + o=$outputfile + fi + else + o=$b.o + fi + objfiles="$objfiles $o" + cmd="$CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $pass_on_options $incflags $defs $f -o $o" + $dbg $cmd + eval $cmd + else + echo "mkoctfile: no way to compile C++ file $f" 1>&2 + fi + done +fi + +if [ -n "$ccfiles" ]; then + for f in $ccfiles; do + if [ -n "$CXX" ]; then + case $f in + *.cc) + b=`echo $f | $SED 's,.*/,,; s,\.cc$,,'` + ;; + *.C) + b=`echo $f | $SED 's,.*/,,; s,\.C$,,'` + ;; + *.cpp) + b=`echo $f | $SED 's,.*/,,; s,\.cpp$,,'` + ;; + esac + if [ -n "$outputfile" ]; then + if $link; then + o=$b.o + else + o=$outputfile + fi + else + o=$b.o + fi + objfiles="$objfiles $o" + cmd="$CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $pass_on_options $incflags $defs $f -o $o" + $dbg $cmd + eval $cmd + else + echo "mkoctfile: no way to compile C++ file $f" 1>&2 + fi + done +fi + +## Uncomment the following group of lines if you get `Text file busy' +## errors from ld. This may happen if the .oct file is currently +## running while you are trying to recompile it. We try moving first, +## since on some systems (HP-UX, maybe others) it is possible to +## rename running programs but not remove them. + +## if [ -f "$octfile" ]; then +## cmd="mv $octfile $octfile.bak" +## $dbg $cmd +## eval $cmd +## cmd="rm -f $octfile.bak" +## $dbg $cmd +## eval $cmd +## fi + +# Link all the object files. + +if $link && [ -n "$objfiles" ]; then + if $link_stand_alone; then + if [ -n "$LD_CXX" ]; then + cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS $pass_on_options $output_option $objfiles $libfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $LAPACK_LIBS $BLAS_LIBS $FFTW_LIBS $READLINE_LIBS $LIBS $FLIBS" + $dbg $cmd + eval $cmd + else + echo "mkoctfile: no way to link stand-alone executable file" 1>&2 + exit 1 + fi + else + LINK_DEPS="$LFLAGS $OCTAVE_LIBS $LDFLAGS $LAPACK_LIBS $BLAS_LIBS $FFTW_LIBS $LIBS $FLIBS" + cmd="$DL_LD $DL_LDFLAGS $pass_on_options -o $octfile $objfiles $libfiles $ldflags $LINK_DEPS" + $dbg $cmd + eval $cmd + fi + +# Maybe strip it. + + if $strip; then + cmd="strip $octfile" + $dbg $cmd + eval $cmd + fi +fi + +exit 0 diff -r 10f6727fbaa8 -r b67c2d580a25 src/octave-config.cc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/octave-config.cc.in Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,224 @@ +/* + +Copyright (C) 2008-2011 Michael Goffioul + +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 +. + +*/ + +#if defined (HAVE_CONFIG_H) +#include +#endif + +#include +#include +#include +#include +#include + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) +#include +#endif + +static bool initialized = false; +static std::map vars; +static std::string OCTAVE_HOME, PREFIX; +static std::string usage_msg = "usage: octave-config [options]"; +static std::string help_msg = +"\n" +"Options:\n" +"\n" +" -h, -?, --help Print this message.\n" +"\n" +" --m-site-dir Print the name of the directory where Octave\n" +" expects to find locally installed .m files.\n" +"\n" +" --oct-site-dir Print the name of the directory where Octave\n" +" expects to find locally installed .oct files.\n" +"\n" +" -p VAR, --print VAR Print the value of the given configuration\n" +" variable VAR. Recognized variables are:\n" +"\n" +" API_VERSION LOCALAPIARCHLIBDIR\n" +" CANONICAL_HOST_TYPE LOCALAPIFCNFILEDIR\n" +" DEFAULT_PAGER LOCALAPIOCTFILEDIR\n" +" ARCHLIBDIR LOCALARCHLIBDIR\n" +" BINDIR LOCALFCNFILEDIR\n" +" DATADIR LOCALOCTFILEDIR\n" +" DATAROOTDIR LOCALSTARTUPFILEDIR\n" +" EXEC_PREFIX LOCALVERARCHLIBDIR\n" +" FCNFILEDIR LOCALVERFCNFILEDIR\n" +" LOCALVEROCTFILEDIR MAN1DIR\n" +" IMAGEDIR MANDIR\n" +" MAN1EXT OCTFILEDIR\n" +" INCLUDEDIR OCTINCLUDEDIR\n" +" INFODIR OCTLIBDIR\n" +" INFOFILE PREFIX\n" +" LIBDIR STARTUPFILEDIR\n" +" LIBEXECDIR VERSION\n" +"\n" +" -v, --version Print the Octave version number.\n" +"\n"; + +static std::string +substitute_prefix (const std::string& s, const std::string& prefix, + const std::string new_prefix) +{ + std::string retval = s; + + if (!prefix.empty () && new_prefix != prefix) + { + int len = prefix.length (); + if (retval.find (prefix) == 0) + retval.replace (0, len, new_prefix); + } + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) + std::replace (retval.begin (), retval.end (), '/', '\\'); +#endif + + return retval; +} + +static void +initialize (void) +{ + if (initialized) + return; + + initialized = true; + + const char *homestr = getenv ("OCTAVE_HOME"); + OCTAVE_HOME = (homestr ? homestr : ""); + PREFIX = %OCTAVE_PREFIX%; + +#if defined (__WIN32__) && ! defined (_POSIX_VERSION) + int n = 1024; + + std::string bin_dir (n, '\0'); + + while (true) + { + int status = GetModuleFileName (0, &bin_dir[0], n); + + if (status < n) + { + bin_dir.resize (status); + break; + } + else + { + n *= 2; + bin_dir.resize (n); + } + } + + if (! bin_dir.empty ()) + { + size_t pos = bin_dir.rfind ("\\bin\\"); + + if (pos != std::string::npos) + OCTAVE_HOME = bin_dir.substr (0, pos); + } +#endif + + vars["API_VERSION"] = %OCTAVE_API_VERSION%; + vars["CANONICAL_HOST_TYPE"] = %OCTAVE_CANONICAL_HOST_TYPE%; + vars["DEFAULT_PAGER"] = %OCTAVE_DEFAULT_PAGER%; + vars["ARCHLIBDIR"] = substitute_prefix (%OCTAVE_ARCHLIBDIR%, PREFIX, OCTAVE_HOME); + vars["BINDIR"] = substitute_prefix (%OCTAVE_BINDIR%, PREFIX, OCTAVE_HOME); + vars["DATADIR"] =substitute_prefix (%OCTAVE_DATADIR%, PREFIX, OCTAVE_HOME); + vars["DATAROOTDIR"] =substitute_prefix (%OCTAVE_DATAROOTDIR%, PREFIX, OCTAVE_HOME); + vars["EXEC_PREFIX"] =substitute_prefix (%OCTAVE_EXEC_PREFIX%, PREFIX, OCTAVE_HOME); + vars["FCNFILEDIR"] =substitute_prefix (%OCTAVE_FCNFILEDIR%, PREFIX, OCTAVE_HOME); + vars["IMAGEDIR"] =substitute_prefix (%OCTAVE_IMAGEDIR%, PREFIX, OCTAVE_HOME); + vars["INCLUDEDIR"] =substitute_prefix (%OCTAVE_INCLUDEDIR%, PREFIX, OCTAVE_HOME); + vars["INFODIR"] =substitute_prefix (%OCTAVE_INFODIR%, PREFIX, OCTAVE_HOME); + vars["INFOFILE"] =substitute_prefix (%OCTAVE_INFOFILE%, PREFIX, OCTAVE_HOME); + vars["LIBDIR"] =substitute_prefix (%OCTAVE_LIBDIR%, PREFIX, OCTAVE_HOME); + vars["LIBEXECDIR"] =substitute_prefix (%OCTAVE_LIBEXECDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALAPIARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALAPIARCHLIBDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALAPIFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIFCNFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALAPIOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIOCTFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALARCHLIBDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALFCNFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALOCTFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALSTARTUPFILEDIR"] =substitute_prefix (%OCTAVE_LOCALSTARTUPFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALVERARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALVERARCHLIBDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALVERFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVERFCNFILEDIR%, PREFIX, OCTAVE_HOME); + vars["LOCALVEROCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVEROCTFILEDIR%, PREFIX, OCTAVE_HOME); + vars["MAN1DIR"] =substitute_prefix (%OCTAVE_MAN1DIR%, PREFIX, OCTAVE_HOME); + vars["MAN1EXT"] = %OCTAVE_MAN1EXT%; + vars["MANDIR"] =substitute_prefix (%OCTAVE_MANDIR%, PREFIX, OCTAVE_HOME); + vars["OCTFILEDIR"] =substitute_prefix (%OCTAVE_OCTFILEDIR%, PREFIX, OCTAVE_HOME); + vars["OCTINCLUDEDIR"] =substitute_prefix (%OCTAVE_OCTINCLUDEDIR%, PREFIX, OCTAVE_HOME); + vars["OCTLIBDIR"] =substitute_prefix (%OCTAVE_OCTLIBDIR%, PREFIX, OCTAVE_HOME); + vars["PREFIX"] = (OCTAVE_HOME.empty() ? PREFIX : OCTAVE_HOME); + vars["STARTUPFILEDIR"] =substitute_prefix (%OCTAVE_STARTUPFILEDIR%, PREFIX, OCTAVE_HOME); + vars["VERSION"] = %OCTAVE_VERSION%; +} + +int +main (int argc, char **argv) +{ + initialize (); + + if (argc == 1) + { + std::cout << usage_msg << std::endl; + return 1; + } + + for (int i = 1; i < argc; i++) + { + std::string arg (argv[i]); + + if (arg == "-h" || arg == "-?" || arg == "--help") + { + std::cout << usage_msg << std::endl; + std::cout << help_msg; + return 0; + } + else if (arg == "--m-site-dir") + std::cout << vars["LOCALVERFCNFILEDIR"] << std::endl; + else if (arg == "--oct-site-dir") + std::cout << vars["LOCALVEROCTFILEDIR"] << std::endl; + else if (arg == "-v" || arg == "--version") + std::cout << vars["VERSION"] << std::endl; + else if (arg == "-p" || arg == "--print") + { + if (i < argc-1) + { + arg = argv[++i]; + std::cout << vars[arg] << std::endl; + } + else + { + std::cerr << "octave-config: " << arg + << " options requires argument" << std::endl; + return 1; + } + } + else + { + std::cerr << "octave-config: unrecognized argument " << arg << std::endl; + return 1; + } + } + + return 0; +} diff -r 10f6727fbaa8 -r b67c2d580a25 src/octave-config.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/octave-config.in Fri Jun 10 14:35:42 2011 -0400 @@ -0,0 +1,168 @@ +#! /bin/sh - +## +## octave-config - reports some configuration values for Octave +## +## Copyright (C) 2001-2011 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 +## . +## +## Original version by Rafael Laboissiere +## distributed as free software in the public domain. + +API_VERSION=%OCTAVE_API_VERSION% +CANONICAL_HOST_TYPE=%OCTAVE_CANONICAL_HOST_TYPE% +DEFAULT_PAGER=%OCTAVE_DEFAULT_PAGER% +ARCHLIBDIR=%OCTAVE_ARCHLIBDIR% +BINDIR=%OCTAVE_BINDIR% +DATADIR=%OCTAVE_DATADIR% +DATAROOTDIR=%OCTAVE_DATAROOTDIR% +EXEC_PREFIX=%OCTAVE_EXEC_PREFIX% +FCNFILEDIR=%OCTAVE_FCNFILEDIR% +IMAGEDIR=%OCTAVE_IMAGEDIR% +INCLUDEDIR=%OCTAVE_INCLUDEDIR% +INFODIR=%OCTAVE_INFODIR% +INFOFILE=%OCTAVE_INFOFILE% +LIBDIR=%OCTAVE_LIBDIR% +LIBEXECDIR=%OCTAVE_LIBEXECDIR% +LOCALAPIARCHLIBDIR=%OCTAVE_LOCALAPIARCHLIBDIR% +LOCALAPIFCNFILEDIR=%OCTAVE_LOCALAPIFCNFILEDIR% +LOCALAPIOCTFILEDIR=%OCTAVE_LOCALAPIOCTFILEDIR% +LOCALARCHLIBDIR=%OCTAVE_LOCALARCHLIBDIR% +LOCALFCNFILEDIR=%OCTAVE_LOCALFCNFILEDIR% +LOCALOCTFILEDIR=%OCTAVE_LOCALOCTFILEDIR% +LOCALSTARTUPFILEDIR=%OCTAVE_LOCALSTARTUPFILEDIR% +LOCALVERARCHLIBDIR=%OCTAVE_LOCALVERARCHLIBDIR% +LOCALVERFCNFILEDIR=%OCTAVE_LOCALVERFCNFILEDIR% +LOCALVEROCTFILEDIR=%OCTAVE_LOCALVEROCTFILEDIR% +MAN1DIR=%OCTAVE_MAN1DIR% +MAN1EXT=%OCTAVE_MAN1EXT% +MANDIR=%OCTAVE_MANDIR% +OCTFILEDIR=%OCTAVE_OCTFILEDIR% +OCTINCLUDEDIR=%OCTAVE_OCTINCLUDEDIR% +OCTLIBDIR=%OCTAVE_OCTLIBDIR% +PREFIX=%OCTAVE_PREFIX% +STARTUPFILEDIR=%OCTAVE_STARTUPFILEDIR% +VERSION=%OCTAVE_VERSION% + +if [ -n "$OCTAVE_HOME" ]; then + ARCHLIBDIR="`echo $ARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + BINDIR="`echo $BINDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + DATADIR="`echo $DATADIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + DATAROOTDIR="`echo $DATAROOTDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + EXEC_PREFIX="`echo $EXEC_PREFIX | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + FCNFILEDIR="`echo $FCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + IMAGEDIR="`echo $IMAGEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + INCLUDEDIR="`echo $INCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + INFODIR="`echo $INFODIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + INFOFILE="`echo $INFOFILE | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LIBDIR="`echo $LIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LIBEXECDIR="`echo $LIBEXECDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALAPIARCHLIBDIR="`echo $LOCALAPIARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALAPIFCNFILEDIR="`echo $LOCALAPIFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALAPIOCTFILEDIR="`echo $LOCALAPIOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALARCHLIBDIR="`echo $LOCALARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALFCNFILEDIR="`echo $LOCALFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALOCTFILEDIR="`echo $LOCALOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALSTARTUPFILEDIR="`echo $LOCALSTARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALVERARCHLIBDIR="`echo $LOCALVERARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALVERFCNFILEDIR="`echo $LOCALVERFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + LOCALVEROCTFILEDIR="`echo $LOCALVEROCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + MAN1DIR="`echo $MAN1DIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + MANDIR="`echo $MANDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + OCTFILEDIR="`echo $OCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + OCTINCLUDEDIR="`echo $OCTINCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + OCTLIBDIR="`echo $OCTLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + STARTUPFILEDIR="`echo $STARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`" + + PREFIX="$OCTAVE_HOME" +fi + +usage_msg="usage: octave-config [options]" + +if [ $# -eq 0 ]; then + echo "$usage_msg" 1>&2 + exit 1 +fi + +while [ $# -gt 0 ] +do + case "$1" in + -h | -\? | --help) + echo "$usage_msg" + cat << EOF + +Options: + + -h, -?, --help Print this message. + + --m-site-dir Print the name of the directory where Octave + expects to find locally installed .m files. + + --oct-site-dir Print the name of the directory where Octave + expects to find locally installed .oct files. + + -p VAR, --print VAR Print the value of the given configuration + variable VAR. Recognized variables are: + + API_VERSION LOCALAPIOCTFILEDIR + ARCHLIBDIR LOCALARCHLIBDIR + BINDIR LOCALFCNFILEDIR + CANONICAL_HOST_TYPE LOCALOCTFILEDIR + DATADIR LOCALSTARTUPFILEDIR + DATAROOTDIR LOCALVERARCHLIBDIR + DEFAULT_PAGER LOCALVERFCNFILEDIR + EXEC_PREFIX LOCALVEROCTFILEDIR + FCNFILEDIR MAN1DIR + IMAGEDIR MAN1EXT + INCLUDEDIR MANDIR + INFODIR OCTFILEDIR + INFOFILE OCTINCLUDEDIR + LIBDIR OCTLIBDIR + LIBEXECDIR PREFIX + LOCALAPIARCHLIBDIR STARTUPFILEDIR + LOCALAPIFCNFILEDIR VERSION + + -v, --version Print the Octave version number. + +EOF + exit 0 + ;; + --m-site-dir) + echo $LOCALVERFCNFILEDIR + ;; + --oct-site-dir) + echo $LOCALVEROCTFILEDIR + ;; + -v | --version) + echo $VERSION + ;; + -p | --print) + opt="$1" + shift + if [ $# -eq 0 ]; then + echo "octave-config: $opt option requires argument" 1>&2 + exit 1 + fi + eval echo \${$1} + ;; + *) + echo "octave-config: unrecognized argument $1" 2>&1 + exit 1 + ;; + esac + shift +done diff -r 10f6727fbaa8 -r b67c2d580a25 test/Makefile.am --- a/test/Makefile.am Fri Jun 10 11:26:07 2011 -0400 +++ b/test/Makefile.am Fri Jun 10 14:35:42 2011 -0400 @@ -18,7 +18,7 @@ # along with Octave; see the file COPYING. If not, see # . -include $(top_srcdir)/common.mk +include $(top_srcdir)/build-aux/common.mk FCN_FILES = \ fntests.m \