annotate PROJECTS @ 3713:0c7f2dda1d1a

[project @ 2000-08-23 05:17:48 by jwe]
author jwe
date Wed, 23 Aug 2000 05:17:48 +0000
parents 996bb7ea4507
children a816be1d1626
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
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
6 Check with bug-octave@bevo.che.wisc.edu for a possibly more current
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
7 copy. Also, if you start working steadily on a project, please let
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
8 bug-octave@bevo.che.wisc.edu know. We might have information that
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
9 could help you; we'd also like to send you the GNU coding standards.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
10
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
11 This list is not exclusive -- there are many other things that might
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
12 be good projects, but it might instead be something we already have,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
13 so check with bug-octave@bevo.che.wisc.edu before you start.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
14
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
15 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
16 Numerical:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
17 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
18
3174
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 3167
diff changeset
19 * Allow sum, prod, cumsum, and cumprod to take a second argument
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 3167
diff changeset
20 that specifies the dimension over which to operate.
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 3167
diff changeset
21
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
22 * Merge control stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
23
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
24 * Improve logm, and sqrtm.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
25
3713
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
26 * 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
27 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
28 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
29 and Powell, Clarendon Press, Oxford, 1987) for explicit
0c7f2dda1d1a [project @ 2000-08-23 05:17:48 by jwe]
jwe
parents: 3465
diff changeset
30 trigonometric formulae.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
31
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
32 * 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
33 values for extreme args or other undefined cases.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
34
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
35 * Handle complex values in fread and fwrite.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
36
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
37 * Support for lp_solve for linear programming problems.
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 * Free QP solver.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
40
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
41 * Free NLP solver.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
42
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
43 * Support for sparse matrices.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
44
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
45 * Fix CollocWt to handle Laguerre polynomials. Make it easy to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
46 extend it to other polynomial types.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
47
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
48 * Make filter faster (perhaps by calling BLAS functions).
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
49
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
50 * 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
51 Legendre polynomials.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
52
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
53 * 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
54 problem, and to solve for eigenvalues and eigenvectors without
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
55 performing a balancing step first.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
56
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
57 * 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
58
2477
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
59 * 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
60 g++ supports static member templates.
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
61
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
62 * Implement the following functions:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
63 -- ppval -- cross -- dot
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
64
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
65 * When constructing NLConst (and other) objects, make sure that
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
66 there are sufficient checks to ensure that the dimensions all
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
67 conform.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
68
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
69 * Allow parameters to be passed through the call to fsolve() to the
2777
d741b18efb63 [project @ 1997-03-01 21:09:32 by jwe]
jwe
parents: 2746
diff changeset
70 user-supplied function for Matlab compatibility. Don't place an
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
71 upper limit on the number of arguments.
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
72
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
73 * Check matrix classes for proper handling of empty matrices.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
74
2602
9cbbbcf5b6f5 [project @ 1997-01-07 06:18:23 by jwe]
jwe
parents: 2601
diff changeset
75 * Force all empty matrices to be 0x0 even when other dimensions have
9cbbbcf5b6f5 [project @ 1997-01-07 06:18:23 by jwe]
jwe
parents: 2601
diff changeset
76 been speicified, for compatibility with Matlab, at least when some
9cbbbcf5b6f5 [project @ 1997-01-07 06:18:23 by jwe]
jwe
parents: 2601
diff changeset
77 preference variable is set.
9cbbbcf5b6f5 [project @ 1997-01-07 06:18:23 by jwe]
jwe
parents: 2601
diff changeset
78
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
79 * Make operations with empty matrices produce empty matrices, for
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
80 compatibility with Matlab (but only if Matlab 5 still does things
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
81 this way). For example: [1, 2] * [] ==> [].
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
82
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
83 * Should any ([]) return [] or 0? What about all ([])?
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
84
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
85 * Improve design of ODE, DAE, classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
86
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
87 * Make it possible to specify a time which dassl and lsode should
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
88 not integrate past.
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
89
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
90 * Add interface to daspk (new version of dassl).
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
91
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
92 * Extend meaning of .* to include v .* M or M .* v (where v is a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
93 column vector with the same number of rows as M) to scale rows of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
94 M by elements of v. Similarly, if w is a row vector with as many
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
95 columns as M, then either w .* M or M .* w scales the columns of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
96 M.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
97
2787
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
98 * Add support for +=, -=, etc.
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
99
2497
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
100 * Given two vectors x and y of length m and n, implement a function
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
101 outer (x, y, f) that returns an m-by-n matrix with entries
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
102 f (x(i), y(j)). If f is omitted, multiplication is the default.
2506
3b8598be273e [project @ 1996-11-13 04:26:39 by jwe]
jwe
parents: 2497
diff changeset
103 Should probably work for any vectors, not just if x is a column
3b8598be273e [project @ 1996-11-13 04:26:39 by jwe]
jwe
parents: 2497
diff changeset
104 vector and y is a row vector.
2497
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
105
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
106 * Make it possible to solve b = L \ x efficiently, either by
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
107 providing an explicit function call, or by automatically
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
108 determining that L is triangular. If it is done automatically,
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
109 provide some means for determining whether Octave has actually
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
110 detected that the matrix is triangular.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
111
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
112 * The polyfit function uses the economy QR factorization, but even
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
113 that can take a lot of time for large datasets. Consider an
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
114 option to compute the result with inv (A' * A) * A' * y or some
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
115 other faster method.d Possibly just switch to this method if the
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
116 dataset is larger than some value.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
117
3141
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
118 * 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
119 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
120 lapack code yet).
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3136
diff changeset
121
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
122 * Consider making the behavior of the / and \ operators for
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
123 non-square systems compatible with Matlab.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
124
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
125 --------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
126 Graphics:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
127 --------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
128
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
129 * Make plotting with plplot work.
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 * Fix interface with gnuplot to wait for gnuplot to output any text
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
132 before octave returns a prompt. Possible by implementing two
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
133 way communication between gnuplot and Octave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
134
3136
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
135 * Handle gnuplot ranges correctly for parametric modes (accept 3
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
136 ranges for 2d plots and 5 ranges for 3d plots).
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
137
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
138 * Make gsave (and possibly gload) work. Implement gsave by having it
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
139 also alter the plot command to not use temporary files (perhaps
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
140 with some user-specified template for naming them) and then
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
141 sending a `save' command to gnuplot.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
142
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
143 * It would be nice to be able to check that a plot is currently
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
144 being displayed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
145
2422
327f65b8ea0c [project @ 1996-10-18 20:22:17 by jwe]
jwe
parents: 2378
diff changeset
146 * Implement clf, gcf, get, set, orient, print, close, etc. in
327f65b8ea0c [project @ 1996-10-18 20:22:17 by jwe]
jwe
parents: 2378
diff changeset
147 Matlab-compatible ways.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
148
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
149 * Make it possible to check the current graphics terminal type.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
150
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
151 * If possible, pass data to gnuplot without using temporary files.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
152
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
153 * If using temporary files, delete them when gnuplot exits.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
154
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
155 * If possible, pass binary data to gnuplot to speed things up.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
156
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
157 * If using gnuplot, consider setting a smaller default for the
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
158 `zero' value (e.g., set zero sqrt (realmin) or something).
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
159
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
160 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
161 Strings:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
162 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
163
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
164 * Improve performance of string functions, particularly for
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
165 searching and replacing.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
166
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
167 * Provide some regex matching functions.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
168
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
169 * Convert string functions to work on string arrays.
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 * Make find work for strings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
172
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
173 * 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
174 representation for unprintable characters instead of sending them
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
175 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
176
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
177 * 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
178 to NUL.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
179
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
180 * Consider making ["test", []] ==> "test", for compatibility with
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
181 Matlab, at least when some set of preferences are set.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
182
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
183 ----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
184 Other Data Types:
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
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
187 * New types (char, short, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
188
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
189 * 3d matrix stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
190
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
191 * Template functions for mixed-type ops.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
192
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
193 * Stuff for arithmetic using charMatrix, intMatrix, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
194
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
195 ------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
196 Graphical User Interface:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
197 ------------------------
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 * In an X11 or other windowing environment, allow the user to pop up
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
200 windows for menus and other purposes. A good place to start might
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
201 be Tk, as long as Tcl is avoided.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
202
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
203 * Add a way to handle events, like alarms, mouse clicks, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
204
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
205 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
206 Input/Output:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
207 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
208
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
209 * Make fread and fwrite work for complex data. Iostreams based
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
210 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
211 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
212 specifications (integer*2, etc.).
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 * Make load and save work for structures.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
215
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
216 * Make load and save look for <file>.mat if only given <file>.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
217
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
218 Potential sticky points:
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
219
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
220 - For load, if both foo and foo.mat exist, should it prefer foo
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
221 or foo.mat? Should the preference depend on the arguments to
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
222 load? I think it should only prefer .mat files if the
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
223 -mat-binary option is supplied, or if the file foo.mat exists
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
224 but the file foo does not.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
225
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
226 - For save, should it prefer to create foo or foo.mat? Should
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
227 the preference depend on the arguments to save? Should the
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
228 default_save_format imply a default preference? I think it
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
229 should only create .mat files if it is writing Matlab
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
230 compatible files.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
231
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
232 * Move some pr-output stuff to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
233
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
234 * Make the cutoff point for changing to packed storage a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
235 user-preference variable with default value 8192.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
236
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
237 * Save image data in binary format to save space.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
238
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
239 * Make it possible to load other image formats (ppm, pbm, etc. would
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
240 probably be best since there are already filters to convert to
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
241 these formats from others.)
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
242
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
243 * Use HDF for binary data.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
244
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
245 * Make ascii load and save work for Inf and NaN. (This is really a
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
246 problem with the functions for reading floats in the GNU iolib.)
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
247
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
248 * 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
249 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
250 writing data).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
251
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
252 * Make it possible to tie arbitrary input and output streams
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
253 together, similar to the way iostreams can be tied together.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
254
3105
f936c7f5074f [project @ 1997-11-19 04:36:17 by jwe]
jwe
parents: 3092
diff changeset
255 * Allow comments in number-only data files.
f936c7f5074f [project @ 1997-11-19 04:36:17 by jwe]
jwe
parents: 3092
diff changeset
256
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
257 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
258 Interpreter:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
259 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
260
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
261 * Allow customization of the debug prompt.
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
262
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
263 * For the keyboard function, parse return (or quit) more
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
264 intelligently so that something like
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
265
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
266 debug> x = 1; return
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
267
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
268 will work as expected.
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
269
2601
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
270 * Fix the parser so that
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
271
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
272 function foo ()
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
273 implicit_str_to_num_ok = 1;
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
274 '#' + 0;
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
275 endfunction
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
276
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
277 succeeds, even when implicit_str_to_num_ok is 0 at the time the
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
278 function is parsed.
3723512a827a [project @ 1997-01-06 05:43:16 by jwe]
jwe
parents: 2575
diff changeset
279
3081
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
280 * Fix the parser so that
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
281
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
282 if (expr) 'this is a string' end
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
283
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
284 is parsed as IF expr STRING END.
8c779ed7979b [project @ 1997-08-25 15:51:20 by jwe]
jwe
parents: 3069
diff changeset
285
2893
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
286 * For indexing operations, allow `$' to indicate the last element.
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
287 For example, b = a (3:$, 1:$-1). This means b is a, except for
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
288 its first 2 rows and last column. Note that `$' must be able to
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
289 appear in arbitrarily complex expressions, so copying the the
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
290 current implementation of `:' won't work.
9fd1df4b464a [project @ 1997-04-28 02:07:38 by jwe]
jwe
parents: 2862
diff changeset
291
2569
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
292 * If foo.oct and foo.m both exist in the LOADPATH, Octave will
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
293 always find foo.oct, even if foo.m appears earlier in the list of
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
294 directories. This should be fixed (in the kpathsearch library) to
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
295 find the first .oct or .m file in the path, and only prefer .oct
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
296 over .m if both files are in the same directory.
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
297
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
298 * Consider grouping all preference variables in a structure instead
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
299 of further polluting the namespace. Maybe `Octave_options.xxx'?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
300
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
301 * Rewrite functions in input.cc to do the right thing in all cases
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
302 of using readline, forced interactive behavior, echoing of input,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
303 etc.
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 * Make it possible to redefine built-in variables and functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
306 (Fix whatever it is that is happening with clear for built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
307 variables.)
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 * Make it possible to check if a variable is complex.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
310
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
311 * Consider making linspace() and logspace() return the value
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
312 corresponding to the first argument if the number of requested
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
313 points is 1.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
314
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
315 * 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
316 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
317 string that can currently be added with `document'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
318
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
319 * 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
320 variables (--echo-commands, etc.).
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 * Allow `octave -c STRING' to execute commands from STRING then
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
323 exit.
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 * Make the interpreter run faster.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
326
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
327 * Make it possible to disable or enable all warnings on an
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
328 individual basis from the command line or via some built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
329 structure variable.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
330
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
331 * Make warnings also give some indication about the location of the
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
332 code that triggers the warning.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
333
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
334 * Warn about complex comparisons? Could just use double_value() or
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
335 matrix_value() instead of explicit conversions to real types. For
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
336 this to really be useful, some additional information must be
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
337 available to point to the location of the code that triggers the
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
338 warning.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
339
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
340 * Consider making it possible to have arrays of structures, and some
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
341 way of indexing them.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
342
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
343 * Allow arbitrary lower bounds for array indexing. (Watch out for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
344 the additional conflict with zero-one style indexing.)
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 * Recursive problems.
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 * 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
349 selecting by individual directories or functions.
2330
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 * Make it possible to ask exist() to only look for certain classes
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
352 of variables, functions, files, etc. rather than always looking for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
353 everything.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
354
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
355 * 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
356 checking and not execute statements.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
357
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
358 * Is it necessary for do_binary_op and do_unary_op to be friends of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
359 the tree_constant class.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
360
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
361 * Clean up symtab and variable stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
362
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
363 * Input stream class for parser files -- must manage buffers for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
364 flex and context for global variable settings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
365
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
366 * 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
367 compiling functions, etc.
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
368
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
369 * 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
370 parse_error() to print?
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 * Make it possible to clear dynamically loaded functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
373
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
374 * 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
375
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
376 alias fun function_with_a_very_long_name
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 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
379 `fun'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
380
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
381 * What should is_global() return when called for built-in variables?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
382
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
383 * 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
384 is currently possible with unwind_protect. For example,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
385
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
386 function f ()
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
387 local prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
388 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
389 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
390
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
391 would be equivalent to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
392
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
393 function f ()
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
394 unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
395 save_prefer_column_vectors = prefer_column_vectors;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
396 prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
397 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
398 unwind_protect_cleanup
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
399 prefer_column_vectors = save_prefer_column_vectors;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
400 end_unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
401 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
402
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
403 * 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
404 types of input arguments, wrong number of output arguments).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
405
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
406 * Reduce the memory and time required to parse very large matrix
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
407 lists.
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
408
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
409 * Handle options for built-in functions more consistently.
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 * 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
412 done to improve performance?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
413
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
414 * 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
415 make it look better.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
416
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
417 * 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
418 passed through the pager.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
419
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
420 * Attempt to recognize common subexpressions in the parser.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
421
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
422 * Remove the buffer size limit in octave_read() in input.cc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
423
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
424 * Handle arrays with more than two dimensions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
425
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
426 * Consider making assignment statements like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
427
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
428 M (i_idx, j_idx) = RHS
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
429
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
430 produce the value of RHS instead of the value of M.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
431
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
432 * 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
433 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
434 must be zero...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
435
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
436 * Eliminate force_numeric and make_numeric functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
437
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
438 * Is Matrix::fortran_vec() really necessary?
2862
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
439
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
440 * print_usage() should set error_state in most cases?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
441
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
442 * Make statements like this
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
443
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
444 foo bar baz
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 turn into function calls like this:
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 foo ("bar", "baz")
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
449
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
450 This is pretty ugly and introduces some conflicts.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
451
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
452 * Add a command that works like bash's `builtin' command.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
453
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
454 * Handle comments in parse trees for use with the type command.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
455
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
456 * Make the type command handle script files too, by just reading and
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
457 printing them.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
458
3174
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 3167
diff changeset
459 * The which and type commands should distinguish between dynamically
3059
f2a34a28d9c5 [project @ 1997-06-20 20:25:29 by jwe]
jwe
parents: 3044
diff changeset
460 linked functions and built-in functions. For dynamically linked
f2a34a28d9c5 [project @ 1997-06-20 20:25:29 by jwe]
jwe
parents: 3044
diff changeset
461 functions, the location of the .oct file should be displayed.
f2a34a28d9c5 [project @ 1997-06-20 20:25:29 by jwe]
jwe
parents: 3044
diff changeset
462
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
463 * Clean up eye, eval, feval, keyboard, input, ones, zeros.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
464
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
465 * It would be nice to have an interactive debugger.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
466
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
467 * Make whos report total memory used by variables (and functions?).
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
468
2746
c51575839b21 [project @ 1997-02-26 08:22:45 by jwe]
jwe
parents: 2702
diff changeset
469 * 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
470 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
471 whos as M-files.
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
472
3125
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
473 * Make whos work for structure elements:
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
474
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
475 prot type rows cols name
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
476 ==== ==== ==== ==== ====
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
477 wd matrix m n struct.x
dcc6c985d72d [project @ 1998-01-16 05:08:21 by jwe]
jwe
parents: 3105
diff changeset
478
3249
60866c521b92 [project @ 1999-07-13 03:44:16 by jwe]
jwe
parents: 3174
diff changeset
479 * Allow who to return information as a list of strings.
60866c521b92 [project @ 1999-07-13 03:44:16 by jwe]
jwe
parents: 3174
diff changeset
480
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
481 * 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
482 enable the printing of warning messages.
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2789
diff changeset
483
2862
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
484 * 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
485
3060
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
486 * Provide a built-in function for applying a scalar function to an
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
487 array. Be sure to note in the manual that this is not the
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
488 preferred way to write a function that can handle vector/matrix
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
489 arguments because there is a significant overhead for function
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
490 calls. If you are really looking to make a function work for
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
491 vector/matrix arguments and you want it to run fast, you should
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
492 write it in terms of the existing vector/matrix operators as much
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
493 as possible.
9c6cd52f3f5a [project @ 1997-06-25 18:30:40 by jwe]
jwe
parents: 3059
diff changeset
494
3092
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
495 * 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
496 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
497 generating a second copy of the data.
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
498
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
499 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
500 History:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
501 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
502
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
503 * 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
504 history list.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
505
3092
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
506 * The history command should accept two numeric arguments to
4bb976b250bf [project @ 1997-10-17 07:48:48 by jwe]
jwe
parents: 3081
diff changeset
507 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
508
2862
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
509 * Add an option to include information about the Octave session in
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
510 the history list. Possibly a time/date stamp and the current
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
511 Octave line number, appended as a comment (users should probably
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
512 be able to control the format).
95e85daad148 [project @ 1997-04-15 22:00:57 by jwe]
jwe
parents: 2848
diff changeset
513
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
514 * Fix history problems -- core dump if multiple processes are
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
515 writing to the same history file?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
516
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
517 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
518 Configuration and Installation:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
519 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
520
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
521 * Make Octave as independent of the particular readline version as
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
522 possible.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
523
2473
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
524 * Add an --enable-pathsearch option to configure to make it possible
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
525 to configure and run without kpathsea.
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
526
2811
1dd37f97364a [project @ 1997-03-12 23:06:13 by jwe]
jwe
parents: 2799
diff changeset
527 * Make configure take more defaults from the environment. It should
1dd37f97364a [project @ 1997-03-12 23:06:13 by jwe]
jwe
parents: 2799
diff changeset
528 definitely pay attention to CFLAGS, CXXFLAGS, FFLAGS, etc.
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2454
diff changeset
529
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
530 * Should --enable-lite-kernel imply --enable-shared?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
531
3069
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
532 * Should --enable-dl imply --enable-shared?
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
533
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
534 * Makefile changes:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
535 -- eliminate for loops
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
536 -- define shell commands or eliminate them
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
537 -- verify distclean
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
538 -- consolidate targets
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
539
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
540 * Make it possible to configure so that installed binaries and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
541 shared libraries are stripped.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
542
3069
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
543 * Create a docs-only distribution?
db6d57d718f7 [project @ 1997-07-10 23:34:03 by jwe]
jwe
parents: 3060
diff changeset
544
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
545 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
546 Documentation and On-Line Help:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
547 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
548
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
549 * Document new features.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
550 -- history-search-{back,for}ward.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
551 -- try/catch.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
552 -- Other stuff mentioned in the NEWS file.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
553
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
554 * Improve the Texinfo Documentation for the interpreter. It would
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
555 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
556 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
557
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
558 * The docs should mention something about efficiency and that using
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
559 array operations is almost always a good idea for speed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
560
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
561 * Texinfo documentation for the C++ classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
562
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
563 * Support multiple info files, perhaps allowing one or more in each
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
564 directory in the LOADPATH, so that local collections of M-files
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
565 could be documented with Info.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
566
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
567 * Figure out a good way to have functions and variables documented
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
568 in only one place.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
569
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
570 * Improve help messages for operators and keywords in help.cc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
571
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
572 * 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
573
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
574 * 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
575
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
576 * Allow help for local additions to be accessible with help -i.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
577
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
578 * Make the arrow keys work in the info reader.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
579
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
580 * Update Info to be based on the current Texinfo release.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
581
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
582 * Should info/terminal.c include definitions for PC, BC, UP, and
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
583 ospeed on all systems?
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
584
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
585 * Clean up help stuff.
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3125
diff changeset
586
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
587 * Demo files.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
588
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
589 * As the number of m-files with octave grows perhaps a 'Contents.m'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
590 file for each toolbox (directory) would be appropriate so one
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
591 knows exactly what functions are in a toolbox with a quick look.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
592 It would be best to generate information for each function directly
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
593 from the M-files, so that the information doesn't have to be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
594 duplicated, and will remain current if the M-files change. It
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
595 would also be best to do as much of this as possible in an M-file,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
596 though I wouldn't mind adding some basic support for listing the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
597 names of all the directories in the LOADPATH, and the names of all
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
598 the M-files in a given directory if that is needed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
599
2787
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
600 Also make it possible to recursively search for Contents files:
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
601
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
602 help dir -- Contents from dir
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
603 help dir// -- Contents from dir and all its subdirectories
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
604 help dir1/dir2 -- Contents from dir2 which is under dir1
650ab15f8954 [project @ 1997-03-03 21:42:25 by jwe]
jwe
parents: 2777
diff changeset
605
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
606 * Some sort of blurb (2-3 pages) describing Octave in a reasonably
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
607 coherent way, where to get it etc., perhaps formatted pretty,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
608 i.e. not just text. Maybe start with the latest Announce file.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
609
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
610 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
611 Tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
612 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
613
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
614 * Improved set of tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
615
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
616 -- 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
617 corresponding to every function.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
618
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
619 -- Tests for element by element operators:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
620 + - .* ./ .\ .^ | & < <= == >= > != !
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
621
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
622 -- Tests for boolean operators: && ||
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
623
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
624 -- Tests for other operators: * / \ ' .'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
625
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
626 -- Tests from bug reports.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
627
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
628 -- Tests for indexed assignment. Need to consider the following:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
629 o fortran-style indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
630 o zero-one indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
631 o assignment of empty matrix as well as values
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
632 o resizing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
633
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
634 * Tests for all internal functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
635
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
636 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
637 Programming:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
638 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
639
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
640 * Move toward using more stuff from standard C++ library.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
641
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
642 * More C++/Fortran cleanups.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
643
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
644 * It is likely that there are still some memory leaks. Hunt then down
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
645 and plug them.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
646
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
647 * Better error messages for missing operators?
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
648
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
649 * 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
650
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
651 * 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
652 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
653 for the underlying classes.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
654
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
655 * 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
656 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
657 do the right thing in more cases.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
658
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
659 * 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
660 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
661 so easy to figure out.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
662
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
663 * GNU coding standards:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
664
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
665 -- Add a `Makefile' target to the Makefiles.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
666 -- Comments on #else and #endif preprocessor commands.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
667 -- Change error message format to match standards everywhere.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
668
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
669 * Use STL stuff instead of libg++ lists, maps, and stacks.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
670
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
671 * Eliminate more global variables.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
672
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
673 * Encapsulate readline in a class. Include interface to stuff like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
674 blink_matching_paren.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
675
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
676 * Encapsulate resource stuff in a class.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
677
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
678 * Move procstream to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
679
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
680 * Replace more C-style vectors with Array<T> stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
681
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
682 * Use references and classes in more places.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
683
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
684 * Share more code among the various *_options functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
685
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
686 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
687 Miscellaneous:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
688 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
689
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
690 * Implement some functions for interprocess communication: bind,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
691 accept, connect, gethostbyname, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
692
2454
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
693 * The installation process should also install octave.el. This
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
694 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
695 byte-compile the .el file. Following GNU Emacs philosophy,
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
696 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
697 default, but it should be selectable.
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
698
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
699 * The ability to transparently handle very large files:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
700
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
701 Juhana K Kouhia <kouhia@nic.funet.fi> wrote:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
702
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
703 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
704 Mbytes, then what are my choices to operate with it:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
705
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
706 * I have to split the data
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
707 * 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
708 worry about the splitting.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
709
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
710 If I split the data, then my easily programmed processing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
711 programs will become hard to program.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
712
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
713 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
714 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
715 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
716 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
717 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
718 access).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
719
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
720 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
721
3136
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
722 * An interface to gdb.
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
723
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
724 Michael Smolsky <fnsiguc@weizmann.weizmann.ac.il> wrote:
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
725
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
726 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
727 in my numerical simulation work. It is an interconnection
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
728 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
729 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
730 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
731 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
732 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
733 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
734 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
735 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
736 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
737 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
738 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
739 with a convenient matlab/octave syntax, similar to
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
740 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
741 memory of my c code.
af7ec9d3a5e6 [project @ 1998-02-01 20:11:06 by jwe]
jwe
parents: 3130
diff changeset
742
2789
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
743 * 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
744 (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
745 information about lgrind.)
e68dcf8ffd33 [project @ 1997-03-04 20:44:59 by jwe]
jwe
parents: 2787
diff changeset
746
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
747 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
748 Always:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
749 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
750
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
751 * Squash bugs.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
752
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
753 --30--
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
754 </pre>
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3141
diff changeset
755 </html>