annotate PROJECTS @ 8924:3c3cbe8f18e0 ss-3-1-54

bump version info for snapshot
author John W. Eaton <jwe@octave.org>
date Sat, 07 Mar 2009 13:28:03 -0500
parents b672260d14e7
children 1052a66078cf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
1 <html>
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
2 <pre>
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
3 Octave PROJECTS -*- text -*-
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
4 ===============
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
5
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
6 Look in the Octave source archive on Savannah for a possibly more
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
7 current copy. Also, if you start working steadily on a project,
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
8 please let maintainers@octave.org know. We might have information
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
9 that could help you. You should also read the Contributing Guidelines
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
10 chapter in the Octave manual.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
11
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
12 This list is not exclusive -- there are many other things that might
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
13 be good projects, but it might instead be something we already have.
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
14 Also, some of the following items may not actually be considered good
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
15 ideas now. So please check with maintainers@octave.org before you
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
16 start working on some large project.
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
17
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
18
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
19 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
20 Numerical:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
21 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
22
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
23 * Improve logm, and sqrtm.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
24
3713
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
25 * Improve complex mapper functions. See W. Kahan, ``Branch Cuts for
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
26 Complex Elementary Functions, or Much Ado About Nothing's Sign
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
27 Bit'' (in The State of the Art in Numerical Analysis, eds. Iserles
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
28 and Powell, Clarendon Press, Oxford, 1987) for explicit
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
29 trigonometric formulae.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
30
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
31 * Make functions like gamma() return the right IEEE Inf or NaN
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
32 values for extreme args or other undefined cases.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
33
6628
d88d66f8cab6 [project @ 2007-05-16 15:11:14 by jwe]
jwe
parents: 6627
diff changeset
34 * Improve sqp.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
35
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
36 * Fix CollocWt to handle Laguerre polynomials. Make it easy to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
37 extend it to other polynomial types.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
38
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
39 * Add optional arguments to colloc so that it's not restricted to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
40 Legendre polynomials.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
41
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
42 * Fix eig to also be able to solve the generalized eigenvalue
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
43 problem, and to solve for eigenvalues and eigenvectors without
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
44 performing a balancing step first.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
45
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
46 * Move rand, eye, xpow, xdiv, etc., functions to the matrix classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
47
2477
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
48 * Use octave_allocator for memory management in Array classes once
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
49 g++ supports static member templates.
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
50
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
51 * Improve design of ODE, DAE, classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
52
3141
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
53 * Make QR more memory efficient for large matrices when not all the
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
54 columns of Q are required (apparently this is not handled by the
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
55 lapack code yet).
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
56
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
57 ---------------
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
58 Sparse Matrices:
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
59 ---------------
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
60
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents: 5506
diff changeset
61 * Improve QR factorization functions, using idea based on CSPARSE
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents: 5506
diff changeset
62 cs_dmsol.m
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
63
5610
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents: 5506
diff changeset
64 * Implement fourth argument to the sprand and sprandn, and addition
9761b7d24e9e [project @ 2006-02-09 09:12:02 by dbateman]
dbateman
parents: 5506
diff changeset
65 arguments to sprandsym that the leading brand implements.
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
66
5282
5bdc3f24cd5f [project @ 2005-04-14 22:17:26 by dbateman]
dbateman
parents: 5228
diff changeset
67 * Sparse logical indexing in idx_vector class so that something like
5bdc3f24cd5f [project @ 2005-04-14 22:17:26 by dbateman]
dbateman
parents: 5228
diff changeset
68 "a=sprandn(1e6,1e6,1e-6); a(a<1) = 0" won't cause a memory overflow.
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
69
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
70 * Make spalloc (r, c, n) actually create an empty sparse with n
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
71 non-zero elements? This allows something like
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
72
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
73 sm = spalloc (r, c, n)
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
74 for j=1:c
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
75 for i=1:r
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
76 tmp = foo (i,j);
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
77 if (tmp != 0.)
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
78 sm (i,j) = tmp;
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
79 endif
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
80 endfor
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
81 endfor
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
82
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
83 actually make sense. Otherwise the above will cause massive amounts
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
84 of memory reallocation.
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
85
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
86 The fact is that this doesn't make sense in any case as the assign
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
87 function makes another copy of the sparse matrix. So although spalloc
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
88 might easily be made to have the correct behaviour, the first assign
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
89 will cause the matrix to be resized! There seems to be no simple
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
90 way to treat this but a complete rewrite of the sparse assignment
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
91 functions...
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
92
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
93 * Other missing Functions
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
94 - symmmd Superseded by symamd
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
95 - colmmd Superseded by colamd
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
96 - cholinc
6627
37dcb57b80f6 [project @ 2007-05-16 15:02:13 by jwe]
jwe
parents: 6342
diff changeset
97 - bicg Can this be taken from octave-forge?
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
98 - cgs
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
99 - gmres
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
100 - lsqr
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
101 - minres
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
102 - qmr
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
103 - symmlq
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5041
diff changeset
104
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
105 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
106 Strings:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
107 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
108
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
109 * Improve performance of string functions, particularly for
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
110 searching and replacing.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
111
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
112 * Make find work for strings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
113
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
114 * Consider making octave_print_internal() print some sort of text
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
115 representation for unprintable characters instead of sending them
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
116 directly to the terminal. (But don't do this for fprintf!)
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
117
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
118 * Consider changing the default value of `string_fill_char' from SPC
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
119 to NUL.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
120
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
121 ----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
122 Other Data Types:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
123 ----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
124
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
125 * Template functions for mixed-type ops.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
126
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7787
diff changeset
127 * Convert other functions for use with the floating point type
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
128 including quad, dasrt, daspk, etc.
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7787
diff changeset
129
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
130 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
131 Input/Output:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
132 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
133
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
134 * Make fread and fwrite work for complex data. Iostreams based
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
135 versions of these functions would also be nice, and if you are
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
136 working on them, it would be good to support other size
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
137 specifications (integer*2, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
138
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
139 * Move some pr-output stuff to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
140
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
141 * Make the cutoff point for changing to packed storage a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
142 user-preference variable with default value 8192.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
143
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
144 * Complain if there is not enough disk space available (I think
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
145 there is simply not enough error checking in the code that handles
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
146 writing data).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
147
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
148 * Make it possible to tie arbitrary input and output streams
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
149 together, similar to the way iostreams can be tied together.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
150
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
151 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
152 Interpreter:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
153 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
154
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
155 * Allow customization of the debug prompt.
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
156
2601
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
157 * Fix the parser so that
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
158
3081
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
159 if (expr) 'this is a string' end
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
160
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
161 is parsed as IF expr STRING END.
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
162
6628
d88d66f8cab6 [project @ 2007-05-16 15:11:14 by jwe]
jwe
parents: 6627
diff changeset
163 * Clean up functions in input.cc that handle user input (there
d88d66f8cab6 [project @ 2007-05-16 15:11:14 by jwe]
jwe
parents: 6627
diff changeset
164 currently seems to be some unnecessary duplication of code and it
d88d66f8cab6 [project @ 2007-05-16 15:11:14 by jwe]
jwe
parents: 6627
diff changeset
165 seems overly complex).
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
166
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
167 * Consider allowing an arbitrary property list to be attached to any
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
168 variable. This could be a more general way to handle the help
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
169 string that can currently be added with `document'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
170
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
171 * Allow more command line options to be accessible as built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
172 variables (--echo-commands, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
173
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
174 * Make the interpreter run faster.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
175
4325
f30803e587ac [project @ 2003-02-15 04:54:57 by jwe]
jwe
parents: 3759
diff changeset
176 * Allow arbitrary lower bounds for array indexing.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
177
4325
f30803e587ac [project @ 2003-02-15 04:54:57 by jwe]
jwe
parents: 3759
diff changeset
178 * Improve performance of recursive function calls.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
179
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
180 * Improve the way ignore_function_time_stamp works to allow
3167
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3162
diff changeset
181 selecting by individual directories or functions.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
182
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
183 * Add a command-line option to tell Octave to just do syntax
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
184 checking and not execute statements.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
185
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
186 * Clean up symtab and variable stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
187
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
188 * Input stream class for parser files -- must manage buffers for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
189 flex and context for global variable settings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
190
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
191 * make parser do more semantic checking, continue after errors when
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
192 compiling functions, etc.
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
193
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
194 * Make LEXICAL_ERROR have a value that is the error message for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
195 parse_error() to print?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
196
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
197 * Add a run-time alias mechanism that would allow things like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
198
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
199 alias fun function_with_a_very_long_name
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
200
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
201 so that `function_with_a_very_long_name' could be invoked as
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
202 `fun'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
203
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
204 * Allow local changes to variables to be written more compactly than
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
205 is currently possible with unwind_protect. For example,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
206
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
207 function f ()
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
208 local prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
209 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
210 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
211
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
212 would be equivalent to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
213
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
214 function f ()
3758
a816be1d1626 [project @ 2000-12-15 19:47:29 by jwe]
jwe
parents: 3713
diff changeset
215 save_prefer_column_vectors = prefer_column_vectors;
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
216 unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
217 prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
218 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
219 unwind_protect_cleanup
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
220 prefer_column_vectors = save_prefer_column_vectors;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
221 end_unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
222 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
223
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
224 * Fix all function files to check for bogus inputs (wrong number or
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
225 types of input arguments, wrong number of output arguments).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
226
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
227 * Handle options for built-in functions more consistently.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
228
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
229 * Too much time is spent allocating and freeing memory. What can be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
230 done to improve performance?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
231
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
232 * Error output from Fortran code is ugly. Something should be done to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
233 make it look better.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
234
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
235 * It would be nice if output from the Fortran routines could be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
236 passed through the pager.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
237
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
238 * Attempt to recognize common subexpressions in the parser.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
239
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
240 * Consider making it possible to specify an empty matrix with a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
241 syntax like [](e1, e2). Of course at least one of the expressions
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
242 must be zero...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
243
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
244 * Is Matrix::fortran_vec() really necessary?
2862
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
245
2746
c51575839b21 [project @ 1997-02-26 08:22:45 by jwe]
jwe
parents: 2702
diff changeset
246 * Rewrite whos and the symbol_record_info class. Write a built-in
c51575839b21 [project @ 1997-02-26 08:22:45 by jwe]
jwe
parents: 2702
diff changeset
247 function that gives all the basic information, then write who and
c51575839b21 [project @ 1997-02-26 08:22:45 by jwe]
jwe
parents: 2702
diff changeset
248 whos as M-files.
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
249
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
250 * On systems that support matherr(), make it possible for users to
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
251 enable the printing of warning messages.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
252
2862
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
253 * Make it possible to mark variables and functions as read-only.
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
254
3092
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
255 * Make it possible to write a function that gets a reference to a
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
256 matrix in memory and change one or more elements without
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
257 generating a second copy of the data.
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
258
5228
189fe4f85c77 [project @ 2005-03-21 20:25:39 by jwe]
jwe
parents: 5164
diff changeset
259 * Use nanosleep instead of usleep if it is available? Apparently
189fe4f85c77 [project @ 2005-03-21 20:25:39 by jwe]
jwe
parents: 5164
diff changeset
260 nanosleep is to be preferred over usleep on Solaris systems.
189fe4f85c77 [project @ 2005-03-21 20:25:39 by jwe]
jwe
parents: 5164
diff changeset
261
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
262 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
263 History:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
264 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
265
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
266 * Add an option to allow saving input from script files in the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
267 history list.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
268
3092
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
269 * The history command should accept two numeric arguments to
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
270 indicate a range of history entries to display, save or read.
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
271
5026
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
272 * Avoid writing the history file if the history list has not
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
273 changed.
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
274
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
275 * Avoid permission errors if the history file cannot be opened for
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
276 writing.
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5008
diff changeset
277
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
278 * Fix history problems -- core dump if multiple processes are
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
279 writing to the same history file?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
280
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
281 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
282 Configuration and Installation:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
283 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
284
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
285 * Split config.h into a part for Octave-specific configuration
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
286 things (this part can be installed) and the generic HAVE_X type of
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
287 configure information that should not be installed.
2473
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
288
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
289 * Makefile changes:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
290 -- eliminate for loops
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
291 -- define shell commands or eliminate them
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
292 -- consolidate targets
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
293
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
294 * Make it possible to configure so that installed binaries and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
295 shared libraries are stripped.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
296
3069
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
297 * Create a docs-only distribution?
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
298
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
299 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
300 Documentation and On-Line Help:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
301 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
302
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
303 * Document new features.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
304
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
305 * Improve the Texinfo Documentation for the interpreter. It would
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
306 be useful to have lots more examples, to not have so many forward
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
307 references, and to not have very many simple lists of functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
308
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
309 * The docs should mention something about efficiency and that using
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
310 array operations is almost always a good idea for speed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
311
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
312 * Texinfo documentation for the C++ classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
313
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
314 * Make index entries more consistent to improve behavior of `help -i'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
315
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
316 * Make `help -i' try to find a whole word match first.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
317
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
318 * Clean up help stuff.
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
319
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
320 * Demo files.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
321
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
322 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
323 Tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
324 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
325
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
326 * Improved set of tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
327
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
328 -- Tests for various functions. Would be nice to have a test file
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
329 corresponding to every function.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
331 -- Tests for element by element operators:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
332 + - .* ./ .\ .^ | & < <= == >= > != !
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
333
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
334 -- Tests for boolean operators: && ||
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
335
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
336 -- Tests for other operators: * / \ ' .'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
337
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
338 -- Tests from bug reports.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
339
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
340 -- Tests for indexed assignment. Need to consider the following:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
341 o fortran-style indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
342 o zero-one indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
343 o assignment of empty matrix as well as values
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
344 o resizing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
345
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
346 * Tests for all internal functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
347
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
348 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
349 Programming:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
350 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
351
8921
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
352 * C++ namespace for Octave library functions.
b672260d14e7 update PROJECTS file
John W. Eaton <jwe@octave.org>
parents: 7789
diff changeset
353
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
354 * Better error messages for missing operators?
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
355
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
356 * Eliminate duplicate enums in pt-exp.cc, pt-const.cc, and ov.cc.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
357
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
358 * Handle octave_print_internal() stuff at the liboctave level. Then
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
359 the octave_value classes could just call on the print() methods
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
360 for the underlying classes.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
361
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
362 * As much as possible, eliminate explicit checks for the types of
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
363 octave_value objects so that user-defined types will automatically
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
364 do the right thing in more cases.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
365
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
366 * Only include config.h in files that actually need it, instead of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
367 including it in every .cc file. Unfortunately, this might not be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
368 so easy to figure out.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
369
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
370 * GNU coding standards:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
371
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
372 -- Add a `Makefile' target to the Makefiles.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
373 -- Comments on #else and #endif preprocessor commands.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
374 -- Change error message format to match standards everywhere.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
375
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
376 * Eliminate more global variables.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
377
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
378 * Move procstream to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
379
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
380 * Use references and classes in more places.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
381
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
382 * Share more code among the various *_options functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
383
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
384 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
385 Miscellaneous:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
386 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
387
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
388 * Implement some functions for interprocess communication: bind,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
389 accept, connect, gethostbyname, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
390
2454
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
391 * The installation process should also install octave.el. This
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
392 needs to detect the appropriate Emacs binary to use to
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
393 byte-compile the .el file. Following GNU Emacs philosophy,
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
394 installation would be into $(prefix)/share/emacs/site-lisp by
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
395 default, but it should be selectable.
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
396
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
397 * The ability to transparently handle very large files:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
398
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
399 Juhana K Kouhia <kouhia@nic.funet.fi> wrote:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
400
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
401 If I have a one-dimensional signal data with the size 400
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
402 Mbytes, then what are my choices to operate with it:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
403
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
404 * I have to split the data
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
405 * Octave has a virtual memory on its own and I don't have to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
406 worry about the splitting.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
407
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
408 If I split the data, then my easily programmed processing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
409 programs will become hard to program.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
410
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
411 If possible, I would like to have the virtual memory system in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
412 Octave i.e. the all big files, the user see as one big array or
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
413 such. There could be several user selectable models to do the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
414 virtual memory depending on what kind of data the user have (1d,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
415 2d) and in what order they are processed (stream or random
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
416 access).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
417
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
418 Perhaps this can be done entirely with a library of M-files.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
419
3136
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
420 * An interface to gdb.
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
421
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
422 Michael Smolsky <fnsiguc@weizmann.weizmann.ac.il> wrote:
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
423
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
424 I was thinking about a tool, which could be very useful for me
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
425 in my numerical simulation work. It is an interconnection
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
426 between gdb and octave. We are often managing very large arrays
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
427 of data in our fortran or c codes, which might be studied with
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
428 the help of octave at the algorithm development stages. Assume
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
429 you're coding, say, wave equation. And want to debug the
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
430 code. It would be great to pick some array from the memory of
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
431 the code you're develloping, fft it and see the image as a
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
432 log-log plot of the spectral density. I'm facing similar
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
433 problems now. To avoid high c-development cost, I develop in
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
434 matlab/octave, and then rewrite into c. It might be so much
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
435 easier, if I could off-load a c array right from the debugger
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
436 into octave, study it, and, perhaps, change some [many] values
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
437 with a convenient matlab/octave syntax, similar to
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
438 a(:,50:250)=zeros(100,200), and then store it back into the
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
439 memory of my c code.
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
440
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
441 * Add a definition to lgrind so that it supports Octave.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
442 (See http://www.tex.ac.uk/tex-archive/support/lgrind/ for more
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
443 information about lgrind.)
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
444
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
445 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
446 Always:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
447 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
448
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
449 * Squash bugs.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
450
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
451 --30--
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
452 </pre>
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
453 </html>