Mercurial > forge
view TODO @ 2673:1477664152bf octave-forge
Initial commit into CVS.
author | sis-sou |
---|---|
date | Fri, 13 Oct 2006 13:41:50 +0000 |
parents | 7c9463cf15d4 |
children | 672dab6d01b0 |
line wrap: on
line source
Bugs ==== * ausave -> auload changes the data Admin ===== * Include support for more tests in the makefile. * Maintain global TODO document by automatically extracting ## TODO: comments from all of the scripts. Update all functions to include compatibility notes (aka missing features) in these comments. Some function specific notes in matcompat/compat.dat belong in TODO comments. * make doc subdirectory for each script directory for ancillary docs and use install to put them in a reasonable place; ideally they should piece-wise construct a manual describing the available functions and the relationships between them. Alternatively, each package could have an index.html which is installed in /usr/share/doc/octave-forge/package.html * Use ../../Makeconf for engine functions. Engine functions are not installed; figure out how and where to install them (presumably as a shared library in /usr/local/lib). * extra/ver20 is not presently installed, but it could be if we detected an octave version of 2.0.x rather than 2.1.x * nonfree/gpc uses its own configure script and build process * consider -enable/disable on a package by package basis as a way to override the NOINSTALL files on some of the directories; maybe just an -enable-all option? * how to "chmod a+x octinst.sh" from configure? Currently I do it in the makefile during install. All functions ============= * Use texinfo in the function descriptions. Call makeinfo to preformat the descriptions when installing for version 2.0.x. * Add test and demo scripts for each function. Should we use extra/testfun, or should we use name_test.m and name_demo.m? * Replace x(find(cond)) with x(cond) since it is faster and cleaner. Remove unwind_protect blocks for do_fortran_indexing, since most instances will be covered by this. For the 2.0.x version of the function you will need to either use find() or set prefer_zero_one_indexing to 1 inside an unwind_protect block. * For 2.0.x, be sure x(:,ones(n,1)) uses prefer_zero_one_indexing = 0. * Replace max(max(x)) with max(x(:)), and so on for min, sum, etc. This will be faster when using version >2.1.31 Specific functions ================== * Use newer version of QHull. * Define idx=lookup(table, y, k) which guarantees that the window of width k will lie fully within the table. Maybe this is equivalent to lookup (table (1+k : length (table)-k), y) + floor(k/2); * Consider defining lookup as table(idx) < y <= table(idx+1) rather than table(idx) <= y < table(idx+1) This could be a compatibility issue. * Maybe recode lookup() in C++. Use binary search for small y and sort-merge for large y. * merge plot/dhbar with Octave's bar; add preference variable for 'filled'; add control for bar width * split FIXES/freqz into FIXES/freqz and FIXES/freqz_plot so that a non-gnuplot based plot package can override freqz's plot. * Give ginput a "number of inputs" parameter. Redefine gtext as an m-file which calls ginput(1) to get the text location. * Give ginput a rubber-banding facility, maybe with number of inputs = -1 ? Redefine gzoom as an m-file which calls ginput(-1) to get the region. * Have ginput return the key/mouse button used to exit.